2020-12-16 00:46:24 +0100 | wonko7 | (~wonko7@lns-bzn-55-82-255-183-4.adsl.proxad.net) (Ping timeout: 260 seconds) |
2020-12-16 00:50:37 +0100 | wonko7 | (~wonko7@2a01:e35:2ffb:7040:4535:f480:7dff:b3b5) |
2020-12-16 01:01:17 +0100 | wonko7 | (~wonko7@2a01:e35:2ffb:7040:4535:f480:7dff:b3b5) (Ping timeout: 260 seconds) |
2020-12-16 01:09:52 +0100 | notis | (~notis@185.51.134.229) (Ping timeout: 246 seconds) |
2020-12-16 01:25:38 +0100 | xaltsc | (~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 +0100 | rabliatu | (~quassel@199.58.187.144) (Remote host closed the connection) |
2020-12-16 02:34:08 +0100 | al3x27 | (~plovs@85.254.75.80) (Quit: WeeChat 2.9) |
2020-12-16 02:42:45 +0100 | xaltsc | (~xaltsc@unaffiliated/xaltsc) (Ping timeout: 240 seconds) |
2020-12-16 02:55:25 +0100 | rabliatu | (~quassel@107.158.96.43) |
2020-12-16 03:39:21 +0100 | psamim | (samimpmatr@gateway/shell/matrix.org/x-tnbwcntwhxafximz) (Ping timeout: 268 seconds) |
2020-12-16 03:43:08 +0100 | psamim | (samimpmatr@gateway/shell/matrix.org/x-vsfkhpcmdjixlzby) |
2020-12-16 03:53:38 +0100 | burp | (~quassel@2001:41d0:2:a512::1) (Ping timeout: 260 seconds) |
2020-12-16 03:54:52 +0100 | burp | (~quassel@2001:41d0:2:a512::1) |
2020-12-16 04:12:03 +0100 | PsillyCybin | Hash |
2020-12-16 04:15:56 +0100 | growpotk- | (~growpotki@130-45-30-154.dyn.grandenetworks.net) |
2020-12-16 04:20:37 +0100 | theDon | (~td@94.134.91.212) (Ping timeout: 246 seconds) |
2020-12-16 04:22:32 +0100 | theDon | (~td@94.134.91.88) |
2020-12-16 04:25:19 +0100 | xaltsc | (~xaltsc@unaffiliated/xaltsc) |
2020-12-16 04:36:10 +0100 | growpotk- | (~growpotki@130-45-30-154.dyn.grandenetworks.net) (Ping timeout: 256 seconds) |
2020-12-16 04:43:27 +0100 | schweby | (~quassel@lxqflm.schwe.by) (Quit: Das ist möglich, also tun wir es. Später.) |
2020-12-16 04:46:29 +0100 | schweby | (~quassel@lxqflm.schwe.by) |
2020-12-16 05:26:31 +0100 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
2020-12-16 05:30:26 +0100 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Remote host closed the connection) |
2020-12-16 05:30:51 +0100 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) |
2020-12-16 05:50:42 +0100 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 268 seconds) |
2020-12-16 06:05:37 +0100 | ddellacosta | (dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 264 seconds) |
2020-12-16 06:10:55 +0100 | xaltsc | (~xaltsc@unaffiliated/xaltsc) (Quit: WeeChat 3.0) |
2020-12-16 07:12:30 +0100 | growpotkin | (~growpotki@130-45-30-154.dyn.grandenetworks.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2020-12-16 07:55:38 +0100 | palo | (~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 +0100 | Hash | (~Hash@unaffiliated/hash) (Quit: WeeChat 2.9) |
2020-12-16 08:46:01 +0100 | skapazzo | (~skapazzo@host-80-21-130-163.business.telecomitalia.it) |
2020-12-16 09:13:48 +0100 | Hash | (~Hash@unaffiliated/hash) |
2020-12-16 09:13:48 +0100 | Hash | (~Hash@unaffiliated/hash) (Client Quit) |
2020-12-16 09:14:52 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-12-16 09:16:14 +0100 | Hash | (~Hash@unaffiliated/hash) |
2020-12-16 09:17:00 +0100 | Hash | (~Hash@unaffiliated/hash) (Client Quit) |
2020-12-16 09:18:51 +0100 | Hash | (~Hash@unaffiliated/hash) |
2020-12-16 09:20:00 +0100 | notis | (~notis@185.51.134.230) |
2020-12-16 09:31:15 +0100 | Hash | (~Hash@unaffiliated/hash) (Quit: WeeChat 3.0) |
2020-12-16 09:34:03 +0100 | Hash | (~Hash@unaffiliated/hash) |
2020-12-16 09:39:59 +0100 | Hash | (~Hash@unaffiliated/hash) (Quit: WeeChat 3.0) |
2020-12-16 09:41:22 +0100 | Hash | (~Hash@unaffiliated/hash) |
2020-12-16 09:45:32 +0100 | Hash | (~Hash@unaffiliated/hash) (Client Quit) |
2020-12-16 09:48:47 +0100 | Hash | (~Hash@unaffiliated/hash) |
2020-12-16 09:52:23 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0) |
2020-12-16 09:56:50 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2020-12-16 10:12:48 +0100 | thc202 | (~thc202@unaffiliated/thc202) |
2020-12-16 10:22:58 +0100 | wonko7 | (~wonko7@2a01:e35:2ffb:7040:4535:f480:7dff:b3b5) |
2020-12-16 11:00:39 +0100 | mrbirkov | (uid453780@gateway/web/irccloud.com/x-crdbltzhauqylyky) |
2020-12-16 12:03:46 +0100 | gazler | (~gazler@2001:8b0:b165:a8d2:1553:5c63:3022:700e) (Read error: Connection reset by peer) |
2020-12-16 12:54:42 +0100 | oxide | (~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 +0100 | thc202 | (~thc202@unaffiliated/thc202) (Ping timeout: 268 seconds) |
2020-12-16 13:36:00 +0100 | al3x27 | (~plovs@85.254.75.80) |
2020-12-16 14:01:52 +0100 | geekosaur | (ac3a56a4@172.58.86.164) |
2020-12-16 14:01:58 +0100 | thc202 | (~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 +0100 | mrbirkov | (uid453780@gateway/web/irccloud.com/x-crdbltzhauqylyky) (Quit: Connection closed for inactivity) |
2020-12-16 14:18:55 +0100 | gazler | (~gazler@2001:8b0:b165:a8d2:1553:5c63:3022:700e) |
2020-12-16 14:38:16 +0100 | palo | (~weechat@c-base/crew/palo) |
2020-12-16 15:04:59 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2020-12-16 15:05:03 +0100 | berberman_ | (~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 +0100 | geekosaur | (ac3a56a4@172.58.86.164) (Remote host closed the connection) |
2020-12-16 16:22:00 +0100 | batdog | (~batdog@lnsq.elkins.co) (Quit: Bye) |
2020-12-16 16:23:52 +0100 | batdog | (~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 +0100 | seschwar | (~seschwar@unaffiliated/seschwar) |
2020-12-16 17:02:15 +0100 | skapazzo | (~skapazzo@host-80-21-130-163.business.telecomitalia.it) (Read error: No route to host) |
2020-12-16 17:12:55 +0100 | growpotkin | (~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 +0100 | lambdabot | (~lambdabot@haskell/bot/lambdabot) (Disconnected by services) |
2020-12-16 17:38:54 +0100 | lambdabot | (~lambdabot@haskell/bot/lambdabot) |
2020-12-16 17:38:55 +0100 | ChanServ | +v lambdabot |
2020-12-16 17:51:00 +0100 | malook | (~Thunderbi@5.110.184.12) |
2020-12-16 17:57:41 +0100 | malook | (~Thunderbi@5.110.184.12) (Quit: malook) |
2020-12-16 18:03:48 +0100 | geekosaur | (42d52137@66.213.33.55) |
2020-12-16 18:16:43 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Ping timeout: 240 seconds) |
2020-12-16 18:20:07 +0100 | mc47 | (~yecinem@89.246.239.190) |
2020-12-16 18:38:12 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) |
2020-12-16 19:09:04 +0100 | al3x27 | (~plovs@85.254.75.80) (Quit: WeeChat 2.9) |
2020-12-16 19:09:31 +0100 | al3x27 | (~plovs@85.254.75.80) |
2020-12-16 19:41:22 +0100 | al3x27 | (~plovs@85.254.75.80) (Quit: WeeChat 2.9) |
2020-12-16 19:53:15 +0100 | elkowar | (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 +0100 | geekosaur | (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 +0100 | berberman_ | (~berberman@unaffiliated/berberman) |
2020-12-16 20:03:33 +0100 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 268 seconds) |
2020-12-16 20:05:09 +0100 | malook | (~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 +0100 | elkowar | (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 +0100 | ElKowar | (~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 +0100 | oxide | (~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 +0100 | al3x27 | (~plovs@85.254.75.80) |
2020-12-16 20:34:27 +0100 | weechat_1 | (~mingc@2400:8902::f03c:91ff:feb7:8e82) |
2020-12-16 20:34:45 +0100 | arzano_ | (~arzano@gentoo/developer/arzano) |
2020-12-16 20:37:33 +0100 | weechat_2 | (~mingc@2400:8902::f03c:91ff:feb7:8e82) (*.net *.split) |
2020-12-16 20:37:33 +0100 | arzano | (~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 +0100 | geekosaur | (42d52137@66.213.33.55) |
2020-12-16 20:51:13 +0100 | arzano_ | arzano |
2020-12-16 20:51:23 +0100 | malook | (~Thunderbi@5.110.184.12) (Quit: malook) |
2020-12-16 20:52:46 +0100 | cfricke | (~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 +0100 | wonko7 | (~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 +0100 | wonko7 | (~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 +0100 | geekosaur | (42d52137@66.213.33.55) (Remote host closed the connection) |
2020-12-16 22:48:37 +0100 | al3x27 | (~plovs@85.254.75.80) (Quit: WeeChat 2.9) |
2020-12-16 22:51:18 +0100 | geekosaur | (42d52137@66.213.33.55) |
2020-12-16 22:52:21 +0100 | ddellacosta | (dd@gateway/vpn/mullvad/ddellacosta) |
2020-12-16 22:57:26 +0100 | geekosaur | (42d52137@66.213.33.55) (Remote host closed the connection) |
2020-12-16 23:15:44 +0100 | eyenx | (~eyenxeyen@unaffiliated/eye/x-1653358) (Quit: Bridge terminating on SIGTERM) |
2020-12-16 23:19:42 +0100 | jaren999 | (~cyr4x3@139.47.121.51) |
2020-12-16 23:19:56 +0100 | eyenx | (~eyenxeyen@unaffiliated/eye/x-1653358) |
2020-12-16 23:28:31 +0100 | jaren999 | (~cyr4x3@139.47.121.51) (Quit: WeeChat 1.6) |
2020-12-16 23:35:59 +0100 | eyenx | (~eyenxeyen@unaffiliated/eye/x-1653358) (Remote host closed the connection) |
2020-12-16 23:41:30 +0100 | eyenx | (~eyenxeyen@unaffiliated/eye/x-1653358) |
2020-12-16 23:43:13 +0100 | mc47 | (~yecinem@89.246.239.190) (Remote host closed the connection) |
2020-12-16 23:57:15 +0100 | evanjs | (~evanjs@075-129-098-007.res.spectrum.com) (Quit: ZNC 1.8.2 - https://znc.in) |
2020-12-16 23:58:03 +0100 | evanjs | (~evanjs@075-129-098-007.res.spectrum.com) |