2020/12/16

2020-12-16 00:46:24 +0100wonko7(~wonko7@lns-bzn-55-82-255-183-4.adsl.proxad.net) (Ping timeout: 260 seconds)
2020-12-16 00:50:37 +0100wonko7(~wonko7@2a01:e35:2ffb:7040:4535:f480:7dff:b3b5)
2020-12-16 01:01:17 +0100wonko7(~wonko7@2a01:e35:2ffb:7040:4535:f480:7dff:b3b5) (Ping timeout: 260 seconds)
2020-12-16 01:09:52 +0100notis(~notis@185.51.134.229) (Ping timeout: 246 seconds)
2020-12-16 01:25:38 +0100xaltsc(~xaltsc@unaffiliated/xaltsc)
2020-12-16 02:19:15 +0100 <Liskni_si> Solid: btw there was another person yesterday complaining in #xmonad:matrix.org about xmonad leaving the state file around, I feel like it can be related to these directory issues
2020-12-16 02:19:23 +0100 <Liskni_si> or maybe they have an old version or something
2020-12-16 02:20:08 +0100 <Liskni_si> (I've been fighting systemd all day so only skimmed the discussion here)
2020-12-16 02:21:01 +0100 <Liskni_si> but I managed to have compton managed by it in multiple X sessions!
2020-12-16 02:21:59 +0100 <Liskni_si> and in the process found that picom 8.2 is noticeable slower than compton 7.4, and found a bug in bash that I need to report :-)
2020-12-16 02:28:46 +0100rabliatu(~quassel@199.58.187.144) (Remote host closed the connection)
2020-12-16 02:34:08 +0100al3x27(~plovs@85.254.75.80) (Quit: WeeChat 2.9)
2020-12-16 02:42:45 +0100xaltsc(~xaltsc@unaffiliated/xaltsc) (Ping timeout: 240 seconds)
2020-12-16 02:55:25 +0100rabliatu(~quassel@107.158.96.43)
2020-12-16 03:39:21 +0100psamim(samimpmatr@gateway/shell/matrix.org/x-tnbwcntwhxafximz) (Ping timeout: 268 seconds)
2020-12-16 03:43:08 +0100psamim(samimpmatr@gateway/shell/matrix.org/x-vsfkhpcmdjixlzby)
2020-12-16 03:53:38 +0100burp(~quassel@2001:41d0:2:a512::1) (Ping timeout: 260 seconds)
2020-12-16 03:54:52 +0100burp(~quassel@2001:41d0:2:a512::1)
2020-12-16 04:12:03 +0100PsillyCybinHash
2020-12-16 04:15:56 +0100growpotk-(~growpotki@130-45-30-154.dyn.grandenetworks.net)
2020-12-16 04:20:37 +0100theDon(~td@94.134.91.212) (Ping timeout: 246 seconds)
2020-12-16 04:22:32 +0100theDon(~td@94.134.91.88)
2020-12-16 04:25:19 +0100xaltsc(~xaltsc@unaffiliated/xaltsc)
2020-12-16 04:36:10 +0100growpotk-(~growpotki@130-45-30-154.dyn.grandenetworks.net) (Ping timeout: 256 seconds)
2020-12-16 04:43:27 +0100schweby(~quassel@lxqflm.schwe.by) (Quit: Das ist möglich, also tun wir es. Später.)
2020-12-16 04:46:29 +0100schweby(~quassel@lxqflm.schwe.by)
2020-12-16 05:26:31 +0100rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com)
2020-12-16 05:30:26 +0100rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Remote host closed the connection)
2020-12-16 05:30:51 +0100rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com)
2020-12-16 05:50:42 +0100rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 268 seconds)
2020-12-16 06:05:37 +0100ddellacosta(dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 264 seconds)
2020-12-16 06:10:55 +0100xaltsc(~xaltsc@unaffiliated/xaltsc) (Quit: WeeChat 3.0)
2020-12-16 07:12:30 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in)
2020-12-16 07:55:38 +0100palo(~weechat@c-base/crew/palo) (Ping timeout: 256 seconds)
2020-12-16 08:13:48 +0100 <Solid> Liskni_si: you are truly a bug magnet :D
2020-12-16 08:14:03 +0100 <Solid> The most important information should be contained in https://github.com/xmonad/xmonad/issues/256
2020-12-16 08:14:14 +0100 <Solid> I tried to keep it updated as the conversation went on
2020-12-16 08:30:23 +0100Hash(~Hash@unaffiliated/hash) (Quit: WeeChat 2.9)
2020-12-16 08:46:01 +0100skapazzo(~skapazzo@host-80-21-130-163.business.telecomitalia.it)
2020-12-16 09:13:48 +0100Hash(~Hash@unaffiliated/hash)
2020-12-16 09:13:48 +0100Hash(~Hash@unaffiliated/hash) (Client Quit)
2020-12-16 09:14:52 +0100cfricke(~cfricke@unaffiliated/cfricke)
2020-12-16 09:16:14 +0100Hash(~Hash@unaffiliated/hash)
2020-12-16 09:17:00 +0100Hash(~Hash@unaffiliated/hash) (Client Quit)
2020-12-16 09:18:51 +0100Hash(~Hash@unaffiliated/hash)
2020-12-16 09:20:00 +0100notis(~notis@185.51.134.230)
2020-12-16 09:31:15 +0100Hash(~Hash@unaffiliated/hash) (Quit: WeeChat 3.0)
2020-12-16 09:34:03 +0100Hash(~Hash@unaffiliated/hash)
2020-12-16 09:39:59 +0100Hash(~Hash@unaffiliated/hash) (Quit: WeeChat 3.0)
2020-12-16 09:41:22 +0100Hash(~Hash@unaffiliated/hash)
2020-12-16 09:45:32 +0100Hash(~Hash@unaffiliated/hash) (Client Quit)
2020-12-16 09:48:47 +0100Hash(~Hash@unaffiliated/hash)
2020-12-16 09:52:23 +0100cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0)
2020-12-16 09:56:50 +0100cfricke(~cfricke@unaffiliated/cfricke)
2020-12-16 10:12:48 +0100thc202(~thc202@unaffiliated/thc202)
2020-12-16 10:22:58 +0100wonko7(~wonko7@2a01:e35:2ffb:7040:4535:f480:7dff:b3b5)
2020-12-16 11:00:39 +0100mrbirkov(uid453780@gateway/web/irccloud.com/x-crdbltzhauqylyky)
2020-12-16 12:03:46 +0100gazler(~gazler@2001:8b0:b165:a8d2:1553:5c63:3022:700e) (Read error: Connection reset by peer)
2020-12-16 12:54:42 +0100oxide(~lambda@unaffiliated/mclaren)
2020-12-16 12:55:08 +0100 <oxide> hi, i've found that pasting from clipboard doesn't work in xmonad search prompts
2020-12-16 12:55:15 +0100 <oxide> any fix for this?
2020-12-16 13:19:01 +0100thc202(~thc202@unaffiliated/thc202) (Ping timeout: 268 seconds)
2020-12-16 13:36:00 +0100al3x27(~plovs@85.254.75.80)
2020-12-16 14:01:52 +0100geekosaur(ac3a56a4@172.58.86.164)
2020-12-16 14:01:58 +0100thc202(~thc202@unaffiliated/thc202)
2020-12-16 14:03:14 +0100 <geekosaur> mm, log's down
2020-12-16 14:04:04 +0100 <Liskni_si> geekosaur: I can hardlink my weechat log into public_html if you want a backup :-)
2020-12-16 14:08:26 +0100mrbirkov(uid453780@gateway/web/irccloud.com/x-crdbltzhauqylyky) (Quit: Connection closed for inactivity)
2020-12-16 14:18:55 +0100gazler(~gazler@2001:8b0:b165:a8d2:1553:5c63:3022:700e)
2020-12-16 14:38:16 +0100palo(~weechat@c-base/crew/palo)
2020-12-16 15:04:59 +0100berberman(~berberman@unaffiliated/berberman)
2020-12-16 15:05:03 +0100berberman_(~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
2020-12-16 15:56:08 +0100 <al3x27> Liskni_si: xmonad is one of the few projects where old info is still useful, I've been surprised how many old configurations still actually work
2020-12-16 15:57:25 +0100 <Liskni_si> al3x27: is that related to "maybe they have an old version" or do you also want to see my old irc log?
2020-12-16 15:58:34 +0100 <Liskni_si> I'm not entirely sure it's ethical to publish chat logs going back to 2009 without consent
2020-12-16 15:59:33 +0100 <al3x27> Liskni_si: I would like to (see the logs), but your probably correct saying it wouldn't be right
2020-12-16 15:59:34 +0100geekosaur(ac3a56a4@172.58.86.164) (Remote host closed the connection)
2020-12-16 16:22:00 +0100batdog(~batdog@lnsq.elkins.co) (Quit: Bye)
2020-12-16 16:23:52 +0100batdog(~batdog@lnsq.elkins.co)
2020-12-16 16:26:34 +0100 <vrs> oxide: many people tend to use dmenu or rofi instead of xmonad prompts
2020-12-16 16:32:50 +0100 <Solid> speak for yourself :P
2020-12-16 16:33:09 +0100 <Solid> though I'm pretty sure dmenu can't do that either by default (maybe some patch exists, I don't know)
2020-12-16 16:37:44 +0100seschwar(~seschwar@unaffiliated/seschwar)
2020-12-16 17:02:15 +0100skapazzo(~skapazzo@host-80-21-130-163.business.telecomitalia.it) (Read error: No route to host)
2020-12-16 17:12:55 +0100growpotkin(~growpotki@130-45-30-154.dyn.grandenetworks.net)
2020-12-16 17:13:09 +0100 <vrs> I stopped using dmenu a year ago or so, but rofi definitely can do it
2020-12-16 17:36:12 +0100lambdabot(~lambdabot@haskell/bot/lambdabot) (Disconnected by services)
2020-12-16 17:38:54 +0100lambdabot(~lambdabot@haskell/bot/lambdabot)
2020-12-16 17:38:55 +0100ChanServ+v lambdabot
2020-12-16 17:51:00 +0100malook(~Thunderbi@5.110.184.12)
2020-12-16 17:57:41 +0100malook(~Thunderbi@5.110.184.12) (Quit: malook)
2020-12-16 18:03:48 +0100geekosaur(42d52137@66.213.33.55)
2020-12-16 18:16:43 +0100hexo(~hexo@gateway/tor-sasl/hexo) (Ping timeout: 240 seconds)
2020-12-16 18:20:07 +0100mc47(~yecinem@89.246.239.190)
2020-12-16 18:38:12 +0100hexo(~hexo@gateway/tor-sasl/hexo)
2020-12-16 19:09:04 +0100al3x27(~plovs@85.254.75.80) (Quit: WeeChat 2.9)
2020-12-16 19:09:31 +0100al3x27(~plovs@85.254.75.80)
2020-12-16 19:41:22 +0100al3x27(~plovs@85.254.75.80) (Quit: WeeChat 2.9)
2020-12-16 19:53:15 +0100elkowar(3e9d26c7@p3e9d26c7.dip0.t-ipconnect.de)
2020-12-16 19:56:39 +0100 <elkowar> trying to build xmonad-extras currently, but compiling c2hs fails with "File name does not match module name: Saw: 'Main', Expected: 'C2HS.Gen.Header'" and a couple other errors of the same form.... is the dependency just broken currently?
2020-12-16 19:56:49 +0100 <elkowar> (trying to build via stack, if that makes a difference, idk)
2020-12-16 19:57:09 +0100geekosaur(42d52137@66.213.33.55) (Ping timeout: 245 seconds)
2020-12-16 20:00:48 +0100 <vrs> apt lists libghc-xmonad-extras as "third party extensions for xmonad with wacky dependencies" so I wouldn't be too surprised
2020-12-16 20:01:18 +0100 <vrs> I don't even have it installed
2020-12-16 20:01:27 +0100 <elkowar> i mean, yea, that's why i'm asking :D I want to play around with XMonad.Prompt.Eval (i know, sounds stupid, but also very fun xD)
2020-12-16 20:02:55 +0100 <Liskni_si> elkowar: the easiest workaround for that is to install c2hs from the distro
2020-12-16 20:03:21 +0100 <Liskni_si> you don't need bleeding edge c2hs, it's not a very exciting thing that changes a lot
2020-12-16 20:03:24 +0100berberman_(~berberman@unaffiliated/berberman)
2020-12-16 20:03:33 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 268 seconds)
2020-12-16 20:05:09 +0100malook(~Thunderbi@5.110.184.12)
2020-12-16 20:06:08 +0100 <elkowar> eh, the main reason why i'm using stack is to avoid having everything managed by the system PM, to keep it easy to port over to another system, etc,.... If possible i'd love to avoid that
2020-12-16 20:06:49 +0100 <Liskni_si> no ideas then
2020-12-16 20:11:36 +0100 <Solid> elkowar: could it be this https://github.com/haskell/c2hs/issues/260 problem?
2020-12-16 20:11:47 +0100elkowar(3e9d26c7@p3e9d26c7.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-12-16 20:11:55 +0100 <Solid> rip
2020-12-16 20:12:19 +0100ElKowar(~Srain@p3e9d26c7.dip0.t-ipconnect.de)
2020-12-16 20:12:45 +0100 <Solid> 20:11 <Solid> elkowar: could it be this https://github.com/haskell/c2hs/issues/260 problem?
2020-12-16 20:12:48 +0100 <Solid> in case you didn't get that
2020-12-16 20:13:24 +0100 <ElKowar> Thanks! Looks like that is the issue. I'll see if the extra-deps thingy works
2020-12-16 20:15:20 +0100 <Solid> that eval prompt sounds hilarious though :D thanks for showing me that
2020-12-16 20:22:46 +0100oxide(~lambda@unaffiliated/mclaren) (Quit: oxide)
2020-12-16 20:24:20 +0100 <ElKowar> should genuinely be really nice for debugging and testing stuff
2020-12-16 20:32:04 +0100al3x27(~plovs@85.254.75.80)
2020-12-16 20:34:27 +0100weechat_1(~mingc@2400:8902::f03c:91ff:feb7:8e82)
2020-12-16 20:34:45 +0100arzano_(~arzano@gentoo/developer/arzano)
2020-12-16 20:37:33 +0100weechat_2(~mingc@2400:8902::f03c:91ff:feb7:8e82) (*.net *.split)
2020-12-16 20:37:33 +0100arzano(~arzano@gentoo/developer/arzano) (*.net *.split)
2020-12-16 20:39:42 +0100 <ElKowar> hmmmmmm, getting 'GhcException: "could not execute: gcc"' from the eval thingy,.... might that also be related to me not having anything installed on the system level?
2020-12-16 20:39:46 +0100geekosaur(42d52137@66.213.33.55)
2020-12-16 20:51:13 +0100arzano_arzano
2020-12-16 20:51:23 +0100malook(~Thunderbi@5.110.184.12) (Quit: malook)
2020-12-16 20:52:46 +0100cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0)
2020-12-16 20:53:52 +0100 <geekosaur> you're going to have all sorts of problems getting XMonad.Prompt.Eval to behave, yes.
2020-12-16 20:54:22 +0100 <geekosaur> and then you'll find it's not very useful because it can't access or modify the state of the running xmonad, only a copy of it
2020-12-16 20:54:50 +0100 <geekosaur> (Haskell doesn't have the kind of introspection that would be needed to do what you'd like)
2020-12-16 20:57:41 +0100 <ElKowar> wait i can't even _read_ the state? oooofff...
2020-12-16 20:58:33 +0100 <geekosaur> I don't think it pops a copy into the ghci session it instantiates
2020-12-16 20:59:23 +0100 <ElKowar> hmmm sad
2020-12-16 21:00:09 +0100 <ElKowar> i would have thought that System.Eval actually does some magic to dynamically link in the code it just compiled and run it directly in the containing application
2020-12-16 21:00:58 +0100 <geekosaur> as I just said, Haskell doesn't have that level of introspection. (it'd completely break purity, for one)
2020-12-16 21:02:43 +0100 <ElKowar> i mean, it has unsafePerformIO, haskell isn't super strict about not breaking purity when you very explicitly tell it to
2020-12-16 21:03:38 +0100 <ElKowar> but yea, i was surprised by it's existance too, so i guess it makes sense that it isn't as powerful as i would have maybe hoped
2020-12-16 21:05:13 +0100 <geekosaur> oh, surely it'll let you if you're explicit enough, but you get to keep all the pieces when it breaks. and making your window manager dump core is not the best of ideas
2020-12-16 21:05:38 +0100 <geekosaur> unsafePerformIO being one of the rare ways to convince a Haskell app to segfault
2020-12-16 21:05:50 +0100wonko7(~wonko7@2a01:e35:2ffb:7040:4535:f480:7dff:b3b5) (Ping timeout: 268 seconds)
2020-12-16 21:09:17 +0100 <ElKowar> fair point i guess :D would have still been fun to play around with, but yea, it _really_ wouldn't fit the haskell way
2020-12-16 21:14:33 +0100 <Liskni_si> geekosaur: we're speaking about a Haskell app with FFI to Xlib
2020-12-16 21:14:43 +0100 <Liskni_si> you wish unsafePerformIO was one of the rare ways :-)
2020-12-16 21:14:58 +0100 <geekosaur> you have a point :)
2020-12-16 21:15:29 +0100 <Liskni_si> 16181ce6e7 comes to mind
2020-12-16 21:15:46 +0100 <Liskni_si> (https://github.com/liskin/xmonad-contrib/commit/16181ce6e708f0111cde1cff565fa5eaa93ac3a4 for those without a git clone on hand)
2020-12-16 21:17:00 +0100 <geekosaur> how about the whole XGetWindowAttributes mess?
2020-12-16 21:17:58 +0100 <Liskni_si> that didn't segv, but it's still mighty annoying
2020-12-16 21:18:18 +0100 <Liskni_si> to this days xmonad logs errors from it on every closed window :-(
2020-12-16 21:18:32 +0100 <geekosaur> at one point it did segv, the cbits deferenced NULL instead of checking for it and producing Nothing
2020-12-16 21:18:41 +0100 <Liskni_si> oh
2020-12-16 21:19:33 +0100 <geekosaur> I don't recall what change to the core made it suddenly start happening every time a window closed
2020-12-16 21:20:30 +0100 <Liskni_si> the one that started all this, I think
2020-12-16 21:22:02 +0100 <Liskni_si> https://github.com/liskin/xmonad/commit/202e239ea48d56882bb4ad226ad3a4042ebf12bd#diff-923e7c74cfed…
2020-12-16 21:22:02 +0100 <geekosaur> that one actually happened to us twice, because we fixed it on xmonad/X11 master and then the Arch xmonad maintainer pulled up just the X11 change without the matching xmonad change
2020-12-16 21:22:40 +0100 <geekosaur> so we had a wave of git crashes, then a few months later a wave of Arch crashes
2020-12-16 21:23:06 +0100wonko7(~wonko7@lns-bzn-55-82-255-183-4.adsl.proxad.net)
2020-12-16 21:23:32 +0100 <geekosaur> and I yelled a bt about not changing it to a Maybe type at the same time so that kind of thing would be caught
2020-12-16 21:24:29 +0100 <Liskni_si> yesh, using exceptions for what is a totally expectable exception, ugh.
2020-12-16 21:24:39 +0100 <Liskni_si> no changing the past, tho
2020-12-16 21:28:38 +0100 <ElKowar> exceptions in haskell become super confusing in general. i had spent hours trying to understand a crash, bcos i _was_ trying to catch exceptions but, well,... lazyness.....
2020-12-16 21:29:18 +0100 <geekosaur> I'm still firmly of the opinion that a way should be found to get rid of all synchronous exceptions. like, openFile should produce an error instead of throwing an exception on e.g. file not found
2020-12-16 21:29:51 +0100 <geekosaur> but this is difficult because mtl is not part of base and can't be, so the obvious candidate (ExceptT) isn't available
2020-12-16 21:30:40 +0100 <Liskni_si> and then you also have undefined, error, and all the autogenerated errors from nonexhaustive pattern matches and failed irrefutable patterns and whatnot :-/
2020-12-16 21:31:19 +0100 <Liskni_si> and the lolz of no safe list indexing being in Prelude/Data.List
2020-12-16 21:31:24 +0100 <ElKowar> yea, i fear that this isn't a fixable problem without throwing pragmatism out of the window,... it's just abused quite commonly.
2020-12-16 21:31:40 +0100 <ElKowar> I've been planning to migrate my stuff over to relude for quite a while, i should really just do that _now_
2020-12-16 21:32:12 +0100 <Liskni_si> snoyberg's been mentioning this recently in his "Haskell the bad parts" posts lately
2020-12-16 21:33:14 +0100 <ElKowar> what's that?
2020-12-16 21:34:53 +0100 <Liskni_si> https://www.snoyman.com/blog/2020/10/haskell-bad-parts-1, https://www.snoyman.com/blog/2020/11/haskell-bad-parts-2, https://www.snoyman.com/blog/2020/12/haskell-bad-parts-3
2020-12-16 21:36:00 +0100 <ElKowar> Ahh, nice, thanks!
2020-12-16 21:36:05 +0100 <ElKowar> i have some reading to do!
2020-12-16 21:37:53 +0100 <Solid> he's a bit heavy on the rust evangelism though :>
2020-12-16 21:38:01 +0100 <Liskni_si> I think it's somewhat related to the Haskell Foundation activities
2020-12-16 21:38:13 +0100 <Liskni_si> like people have high hopes again or something
2020-12-16 21:38:20 +0100 <Liskni_si> Solid: that was my feeling as well
2020-12-16 21:39:11 +0100 <Liskni_si> he's arguing for some things that would make Haskell better for production-level code but more difficult for quick hacks
2020-12-16 21:39:39 +0100 <Liskni_si> as someone who's written a bit of Haskell with cold hands on a mobile phone in the night (puzzle hints), that makes me sad
2020-12-16 21:39:49 +0100 <Liskni_si> *hunts
2020-12-16 21:39:53 +0100 <ElKowar> i mean, haskell really isn't the language for quick hacks in general imo. it's just not the intended usecase
2020-12-16 21:40:26 +0100 <Liskni_si> I mean a different kind of quick hacks
2020-12-16 21:40:41 +0100 <Solid> anything with a functioning interpreter is a joy to use for quick hacks
2020-12-16 21:40:47 +0100 <Liskni_si> not the quick hacks you usually use python or perl for
2020-12-16 21:41:16 +0100 <Liskni_si> but hacking together a project euler solution or advent of code or something like that
2020-12-16 21:41:45 +0100 <ElKowar> fair, but even there i'd argue that if you're using haskell, you kind of _want_ to be forced to do things correctly.. no?
2020-12-16 21:41:46 +0100 <Liskni_si> you want the types because it's just a tiny bit bigger than your working memory
2020-12-16 21:42:13 +0100 <Liskni_si> but you don't want to be bothered with using conduits-like machinery where lazy lists will do
2020-12-16 21:42:36 +0100 <Liskni_si> (working memory meaning the memory of your brain, not the computer)
2020-12-16 21:42:44 +0100 <ElKowar> I've been doing AOC in Prolog/curry this year (trying both pretty much for the first time, not actually doing all challenges) and the non-determinism of curry still really fascinates me. It's a very interesting idea to just say "partial functions don't crash, they just don't return a possible value" and then making that the foundation of a lot of the language
2020-12-16 21:43:49 +0100 <ElKowar> the best possible, but also very very infeasable future would be that we somehow manage to do a type deduction system that can pretty much find arbitrary invariants and variants, and thus provide a dependent type system with next to 0 overhead for the programmer. that would be perfect,... but also very infeasable
2020-12-16 21:44:40 +0100 <Solid> at that point I would expect my compiler to write the code for me ;)
2020-12-16 21:45:29 +0100 <ElKowar> i mean, you'd still have to tell it what the code should do. in a sufficiently high level language, that's literally what programming is
2020-12-16 21:45:35 +0100 <ElKowar> logic programming seems to actually be pretty close to that
2020-12-16 21:45:44 +0100 <ElKowar> just,... not close enough, and not without a TON of problems
2020-12-16 21:46:14 +0100 <ElKowar> AOC day 1 in prolog was beautiful tho. it really is just "state the problem" and it then finds the solution for you, without you ever writing any actual logic to find a solution
2020-12-16 21:46:45 +0100 <Solid> I mean with a type system that advanced you should just be able to write down the type and the compiler will do the rest
2020-12-16 21:46:47 +0100 <ElKowar> (note that for that problem, problem description and solution algorithm are already very close, but the way u express it in logic programming feels a lot moire fun)
2020-12-16 21:46:53 +0100 <Solid> idris can already do it for small examples
2020-12-16 21:49:19 +0100 <ElKowar> coming back to bad parts of haskell: The number one, absolutely indiscussable biggest issue when it comes to actual production code is,.... the record system. everything in haskell is designed in a pretty ergonomic way - until you see the record system. i still can't get over it, after having used purescript for a short while
2020-12-16 21:50:07 +0100 <Solid> there's always lens
2020-12-16 21:50:16 +0100 <Solid> which solves this pretty convincingly
2020-12-16 21:50:28 +0100 <Solid> and RecordDotSyntax (or something) got merged a while ago afaik
2020-12-16 21:52:47 +0100 <ElKowar> meh, my issue is that the whole idea of accessor functions, the way they are in haskell, just causes TONS of issues, everywhere. not being able to have a record with a field named "name" in a module if i also want to have a function argument be named "name" is just ridiculous. Lens and RecordDotSyntax are nice workarounds, with RecordDotSyntax being an absolute bare minimum of usability,... but the whole system is flawed inherently
2020-12-16 21:54:15 +0100 <ElKowar> have you tried purescript? The Row-type polymorphism (<- abstract nonsense-ish for "structural typing but fancier") system is genuinely brilliant to work with, it's a ton of fun. They not only solved ALL issues i have with haskells record system, but doing that, created THE nicest bit of type system i have worked with, yet.
2020-12-16 21:55:08 +0100 <Solid> I have not tried purescript but I remember reading some papers on row-type polymorphism
2020-12-16 21:55:14 +0100 <Solid> that is indeed *very* cool
2020-12-16 21:55:23 +0100 <ElKowar> yea
2020-12-16 21:56:09 +0100 <ElKowar> IIRC they still have accessor functions simmilar to how we do, just that it's `.name` (or was it `_.name`, actually don't remember rn)
2020-12-16 21:56:16 +0100 <ElKowar> they don't really loose anything, but gain a ton
2020-12-16 21:57:28 +0100 <Solid> btw, I do like how "row polymorphism" is abstract nonsense for you, but "structural typing" is fine :P
2020-12-16 21:57:33 +0100 <ElKowar> i mean
2020-12-16 21:57:49 +0100 <ElKowar> structural typing is a word used in the general field of PLDT
2020-12-16 21:58:09 +0100 <ElKowar> whereas i have only heard "row polymorphism" in the realm of purescript and similar languages
2020-12-16 21:58:26 +0100 <ElKowar> like, typescript and go feature structural typing, the word is pretty widely understood
2020-12-16 21:59:42 +0100 <Solid> I don't know either of these languages; for me row polymorphism sounds more natural :>
2020-12-16 22:00:53 +0100 <Solid> though abstract nonsense is usually referred to category theory stuff; row polymorphism doesn't really fit into that
2020-12-16 22:01:14 +0100 <ElKowar> fair i guess xD yea, "abstract nonsense" was definitely more of a joke than anything else xD
2020-12-16 22:01:19 +0100 <Solid> :)
2020-12-16 22:06:42 +0100 <ElKowar> on a completely unrelated note: I've been thinking about a possible abstraction over layouts that could allow for hiding some of the background-work, and allow for a more high-level definition of layouts which all support some basics like resizing, maybe even mouse-drag based resizing, etc. Has anyone ever attempted anything like that? The way that layouts are very much "separated" in a sense kind of annoys me,... as in, defining a layout
2020-12-16 22:06:42 +0100 <ElKowar> may require reimplementing quite a lot stuff, depending on what you want it to support
2020-12-16 22:06:54 +0100 <ElKowar> specifically things like mouse-support are just very rare, which i'd love to fix
2020-12-16 22:07:46 +0100 <geekosaur> if you can make it work without breaking everything else, go for it
2020-12-16 22:12:09 +0100 <ElKowar> i mean, i'd make it a separate module that stuff would have to be reimplented for, most likely,... don't really have any concrete plans on how to do it yet, just some things i'd love to be able to achieve
2020-12-16 22:14:55 +0100 <Liskni_si> I'm not aware of anything either but you may want to check if perhaps waymonad or similar projects (if there are any) attempted to redesign these things
2020-12-16 22:16:09 +0100 <Liskni_si> oh and make you sure you search xmonad-contrib thoroughly, there are hidden gems there :-)
2020-12-16 22:16:36 +0100 <Liskni_si> like two different implementations of sublayouts and two not so differnet impls of trackfloating :-)
2020-12-16 22:16:40 +0100 <ElKowar> uhh that may be interesting, yea. A friend of mine is working on a WM where he's trying to implement what he calls a "limit tree", which is gonna be a tree structure that can describe arbitrary window layout formats given some "limits" (i.e. a node has two children max, with the left node being a leaf and the right node being a vertical stack of unlimited amounts of windows -----> XMonad.Layout.Tall). I'm gonna look into designing somethi
2020-12-16 22:16:40 +0100 <ElKowar> ng like this
2020-12-16 22:17:05 +0100 <ElKowar> yea, XMonad-contrib definitely has a lot of unnecessary repetition tbh,.. i have scrolled through pretty much everything, i think
2020-12-16 22:17:18 +0100 <geekosaur> bsp?
2020-12-16 22:17:29 +0100 <ElKowar> there's a good bit of very "non-documented" modules, too. i'm still unsure if i really get the point of the WindowArrangement stuff
2020-12-16 22:18:38 +0100 <ElKowar> tree structure simmilar to BSP, but rather than being binary space all the time, allowing for user-defined constraints on a not-necesarily-binary tree
2020-12-16 22:47:35 +0100geekosaur(42d52137@66.213.33.55) (Remote host closed the connection)
2020-12-16 22:48:37 +0100al3x27(~plovs@85.254.75.80) (Quit: WeeChat 2.9)
2020-12-16 22:51:18 +0100geekosaur(42d52137@66.213.33.55)
2020-12-16 22:52:21 +0100ddellacosta(dd@gateway/vpn/mullvad/ddellacosta)
2020-12-16 22:57:26 +0100geekosaur(42d52137@66.213.33.55) (Remote host closed the connection)
2020-12-16 23:15:44 +0100eyenx(~eyenxeyen@unaffiliated/eye/x-1653358) (Quit: Bridge terminating on SIGTERM)
2020-12-16 23:19:42 +0100jaren999(~cyr4x3@139.47.121.51)
2020-12-16 23:19:56 +0100eyenx(~eyenxeyen@unaffiliated/eye/x-1653358)
2020-12-16 23:28:31 +0100jaren999(~cyr4x3@139.47.121.51) (Quit: WeeChat 1.6)
2020-12-16 23:35:59 +0100eyenx(~eyenxeyen@unaffiliated/eye/x-1653358) (Remote host closed the connection)
2020-12-16 23:41:30 +0100eyenx(~eyenxeyen@unaffiliated/eye/x-1653358)
2020-12-16 23:43:13 +0100mc47(~yecinem@89.246.239.190) (Remote host closed the connection)
2020-12-16 23:57:15 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com) (Quit: ZNC 1.8.2 - https://znc.in)
2020-12-16 23:58:03 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com)