| 2022-12-18 00:00:14 +0000 | ksqsf | (~user@134.209.106.31) |
| 2022-12-18 00:02:32 +0000 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1) |
| 2022-12-18 00:06:13 +0000 | fizbin | (~fizbin@user/fizbin) |
| 2022-12-18 00:06:15 +0000 | Topsi | (~Topsi@dyndsl-095-033-228-128.ewe-ip-backbone.de) (Ping timeout: 255 seconds) |
| 2022-12-18 00:07:53 +0000 | <geekosaur> | you may be thinking of -fbytecode vs. -fobject-code, but someone could run ghci with -fobject-code |
| 2022-12-18 00:08:06 +0000 | pavonia | (~user@user/siracusa) |
| 2022-12-18 00:08:18 +0000 | <geekosaur> | and no, there is no CPP specific to ghci |
| 2022-12-18 00:09:10 +0000 | <glguy> | alexfmpe[m]: In the past when I had features that didn't work in GHCi, I added a flag to my package that would set a define and then would cpp ifdef that code that shouldn't appear in the ghci case |
| 2022-12-18 00:09:13 +0000 | <geekosaur> | sorry, -fbyte-code |
| 2022-12-18 00:09:58 +0000 | <glguy> | In my particular case it was to hide some foreign exports |
| 2022-12-18 00:10:03 +0000 | beefbambi | (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer) |
| 2022-12-18 00:10:21 +0000 | beefbambi | (~beefbambi@183.82.27.160) |
| 2022-12-18 00:10:33 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-12-18 00:14:14 +0000 | paulpaul1076 | (~textual@95-29-5-111.broadband.corbina.ru) |
| 2022-12-18 00:16:51 +0000 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 268 seconds) |
| 2022-12-18 00:21:53 +0000 | biberu | (~biberu@user/biberu) (Read error: Connection reset by peer) |
| 2022-12-18 00:23:55 +0000 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
| 2022-12-18 00:27:44 +0000 | biberu | (~biberu@user/biberu) |
| 2022-12-18 00:31:02 +0000 | ksqsf | (~user@134.209.106.31) (Remote host closed the connection) |
| 2022-12-18 00:37:50 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:b575:bbf6:df74:2100) |
| 2022-12-18 00:43:50 +0000 | <alexfmpe[m]> | I see thanks. Turns out for my use-case this might not actually be necessary (though it would be sufficient). The flag idea would probably work for the "debug version" scenario |
| 2022-12-18 00:45:13 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 2022-12-18 00:51:12 +0000 | <DigitalKiwi> | glguy: were you exporting cryptography |
| 2022-12-18 00:51:24 +0000 | beefbambi | (~beefbambi@183.82.27.160) (Read error: Connection reset by peer) |
| 2022-12-18 00:51:42 +0000 | <DigitalKiwi> | naughty naughty |
| 2022-12-18 00:52:01 +0000 | beefbambi | (~beefbambi@183.82.27.160) |
| 2022-12-18 00:56:13 +0000 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 2022-12-18 00:56:13 +0000 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 2022-12-18 00:56:13 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-12-18 00:57:06 +0000 | kenaryn | (~aurele@89-88-44-27.abo.bbox.fr) (Quit: leaving) |
| 2022-12-18 01:00:34 +0000 | <sm> | omg finally things are getting easy ? https://gilmi.me/blog/post/2022/12/17/sqlite-easy |
| 2022-12-18 01:10:39 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 2022-12-18 01:13:54 +0000 | j4cc3b | (~jeffreybe@pool-74-105-2-138.nwrknj.fios.verizon.net) (Ping timeout: 272 seconds) |
| 2022-12-18 01:14:42 +0000 | fizbin | (~fizbin@user/fizbin) (Ping timeout: 252 seconds) |
| 2022-12-18 01:16:47 +0000 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 2022-12-18 01:16:53 +0000 | fizbin | (~fizbin@user/fizbin) |
| 2022-12-18 01:24:17 +0000 | ksqsf | (~user@134.209.106.31) |
| 2022-12-18 01:30:50 +0000 | fizbin | (~fizbin@user/fizbin) (Ping timeout: 252 seconds) |
| 2022-12-18 01:32:02 +0000 | ksqsf | (~user@134.209.106.31) (Remote host closed the connection) |
| 2022-12-18 01:37:09 +0000 | <glguy> | Is easy easier than simple? Is it as light as lite? |
| 2022-12-18 01:41:06 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-12-18 01:42:48 +0000 | <EvanR> | diet sqlite easy simple no problem edition |
| 2022-12-18 01:47:54 +0000 | <dsal> | Who names their database "somethingdb.bin"? |
| 2022-12-18 01:51:49 +0000 | ksqsf | (~user@134.209.106.31) |
| 2022-12-18 01:55:14 +0000 | <monochrom> | I named my databases "something.db2" :) |
| 2022-12-18 02:10:44 +0000 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
| 2022-12-18 02:10:53 +0000 | ddellacosta | (~ddellacos@143.244.47.75) |
| 2022-12-18 02:11:02 +0000 | <ddellacosta> | maralorn: thanks, will check it out! |
| 2022-12-18 02:11:45 +0000 | Inst | (~Inst@2601:6c4:4081:54f0:8d82:4e66:2137:ab94) (Read error: Connection reset by peer) |
| 2022-12-18 02:12:00 +0000 | jero98772 | (~jero98772@2800:484:1d80:d8ce:3490:26c5:1782:da8c) (Ping timeout: 265 seconds) |
| 2022-12-18 02:15:13 +0000 | [Leary] | (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) |
| 2022-12-18 02:15:52 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 2022-12-18 02:19:46 +0000 | [Leary] | (~Leary]@user/Leary/x-0910699) |
| 2022-12-18 02:23:37 +0000 | jero98772 | (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
| 2022-12-18 02:26:21 +0000 | ksqsf | (~user@134.209.106.31) (Ping timeout: 268 seconds) |
| 2022-12-18 02:28:59 +0000 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Ping timeout: 260 seconds) |
| 2022-12-18 02:32:27 +0000 | xacktm | (~xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com) |
| 2022-12-18 02:32:40 +0000 | andreas303 | (andreas303@ip227.orange.bnc4free.com) (Quit: fBNC - https://bnc4free.com) |
| 2022-12-18 02:34:47 +0000 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Quit: So long and thanks for all the fish) |
| 2022-12-18 02:35:30 +0000 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
| 2022-12-18 02:45:43 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:b575:bbf6:df74:2100) (Remote host closed the connection) |
| 2022-12-18 02:51:18 +0000 | ksqsf | (~user@134.209.106.31) |
| 2022-12-18 02:52:43 +0000 | ksqsf | (~user@134.209.106.31) (Remote host closed the connection) |
| 2022-12-18 02:59:00 +0000 | xacktm | (~xacktm@user/xacktm) |
| 2022-12-18 03:01:04 +0000 | andreas303 | (andreas303@ip227.orange.bnc4free.com) |
| 2022-12-18 03:03:37 +0000 | wroathe | (~wroathe@user/wroathe) (Quit: Lost terminal) |
| 2022-12-18 03:10:59 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 260 seconds) |
| 2022-12-18 03:11:28 +0000 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 2022-12-18 03:11:28 +0000 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 2022-12-18 03:11:28 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-12-18 03:11:37 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-12-18 03:16:26 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
| 2022-12-18 03:24:27 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 2022-12-18 03:24:27 +0000 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
| 2022-12-18 03:24:27 +0000 | finn_elija | FinnElija |
| 2022-12-18 03:24:43 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:b575:bbf6:df74:2100) |
| 2022-12-18 03:32:57 +0000 | td_ | (~td@83.135.9.26) (Ping timeout: 268 seconds) |
| 2022-12-18 03:34:43 +0000 | td_ | (~td@83.135.9.47) |
| 2022-12-18 03:36:08 +0000 | wroathe | (~wroathe@user/wroathe) (Quit: Lost terminal) |
| 2022-12-18 03:37:13 +0000 | fizbin | (~fizbin@user/fizbin) |
| 2022-12-18 03:45:16 +0000 | ksqsf | (~user@134.209.106.31) |
| 2022-12-18 03:48:38 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
| 2022-12-18 03:48:40 +0000 | son0p | (~ff@2604:3d08:5b7f:5540::417e) (Ping timeout: 260 seconds) |
| 2022-12-18 03:49:41 +0000 | son0p | (~ff@2604:3d08:5b7f:5540::417e) |
| 2022-12-18 03:50:13 +0000 | ksqsf | (~user@134.209.106.31) (Ping timeout: 268 seconds) |
| 2022-12-18 03:50:59 +0000 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
| 2022-12-18 03:51:16 +0000 | jargon | (~jargon@174-22-192-24.phnx.qwest.net) |
| 2022-12-18 03:52:44 +0000 | jero98772 | (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection) |
| 2022-12-18 03:53:36 +0000 | xacktm | (~xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com) |
| 2022-12-18 03:53:38 +0000 | andreas303 | (andreas303@ip227.orange.bnc4free.com) (Quit: fBNC - https://bnc4free.com) |
| 2022-12-18 04:01:41 +0000 | tvandinther | (~tvandinth@101.98.118.246) |
| 2022-12-18 04:02:58 +0000 | <tvandinther> | Does anyone have tips for setting up auto-styling/formatting for source code files on save in VSCode? |
| 2022-12-18 04:03:22 +0000 | ksqsf | (~user@134.209.106.31) |
| 2022-12-18 04:04:53 +0000 | brettgilio | (~brettgili@x-irc.gq) |
| 2022-12-18 04:10:15 +0000 | iqubic | (~avi@2601:601:1100:edd0:8902:307c:9a5f:dd30) (Ping timeout: 260 seconds) |
| 2022-12-18 04:16:18 +0000 | Inst | (~Inst@2601:6c4:4081:54f0:f11e:46df:c907:e40e) |
| 2022-12-18 04:16:35 +0000 | <Inst> | erm, when it comes to testing a nested definition, there's no way to do so, right? |
| 2022-12-18 04:17:00 +0000 | <Inst> | I was wondering if there was some template Haskell metaprogramming way to access a definition within a definition |
| 2022-12-18 04:17:44 +0000 | <glguy> | It wouldn't make sense to access it in general as it might mention variables from the parent scope |
| 2022-12-18 04:21:26 +0000 | <Inst> | there's a pragmatic need, though |
| 2022-12-18 04:21:33 +0000 | <Inst> | if you're using where clausing to hide api |
| 2022-12-18 04:21:42 +0000 | <Inst> | i suppose you could do the same with modules, but that creates annoyances |
| 2022-12-18 04:23:22 +0000 | <EvanR> | you can define a piece of API that accesses the internal state, basically OOP |
| 2022-12-18 04:23:27 +0000 | xacktm | (~xacktm@user/xacktm) |
| 2022-12-18 04:24:14 +0000 | <EvanR> | but it's not something you could just do against uncooperative code |
| 2022-12-18 04:25:20 +0000 | iqubic | (~avi@2601:601:1100:edd0:4992:623a:6d6:39c5) |
| 2022-12-18 04:27:19 +0000 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 2022-12-18 04:27:56 +0000 | andreas303 | (andreas303@ip227.orange.bnc4free.com) |
| 2022-12-18 04:28:15 +0000 | tvandinther | (~tvandinth@101.98.118.246) (Quit: Client closed) |
| 2022-12-18 04:29:09 +0000 | ddellacosta | (~ddellacos@143.244.47.75) (Ping timeout: 260 seconds) |
| 2022-12-18 04:30:05 +0000 | iqubic | (~avi@2601:601:1100:edd0:4992:623a:6d6:39c5) (Ping timeout: 260 seconds) |
| 2022-12-18 04:36:31 +0000 | <glguy> | Is there a way to get haskell-language-server to show haddocks for stuff in my local cabal.project workspace? |
| 2022-12-18 04:36:52 +0000 | <glguy> | I only seem to get type signatures |
| 2022-12-18 04:37:10 +0000 | pflanze | (~pflanze@159.100.249.232) (Read error: Connection reset by peer) |
| 2022-12-18 04:38:28 +0000 | pflanze | (~pflanze@159.100.249.232) |
| 2022-12-18 04:39:18 +0000 | ksqsf` | (~user@134.209.106.31) |
| 2022-12-18 04:40:41 +0000 | ksqsf` | (~user@134.209.106.31) (Remote host closed the connection) |
| 2022-12-18 04:40:57 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-12-18 04:43:20 +0000 | ksqsf | (~user@134.209.106.31) (Ping timeout: 252 seconds) |
| 2022-12-18 04:45:47 +0000 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 2022-12-18 04:45:47 +0000 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 2022-12-18 04:45:47 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-12-18 05:03:32 +0000 | fr33domlover | (~fr33domlo@towards.vision) (Quit: The Lounge - https://thelounge.chat) |
| 2022-12-18 05:06:15 +0000 | fr33domlover | (~fr33domlo@towards.vision) |
| 2022-12-18 05:15:19 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 2022-12-18 05:15:35 +0000 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 2022-12-18 05:19:46 +0000 | iqubic | (~avi@2601:601:1100:edd0:23b0:d602:1b3e:8cff) |
| 2022-12-18 05:22:10 +0000 | wroathe | (~wroathe@user/wroathe) (Quit: Lost terminal) |
| 2022-12-18 05:22:16 +0000 | ksqsf` | (~user@134.209.106.31) |
| 2022-12-18 05:25:17 +0000 | rnat | (uid73555@id-73555.lymington.irccloud.com) |
| 2022-12-18 05:31:41 +0000 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 2022-12-18 05:31:41 +0000 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 2022-12-18 05:31:41 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-12-18 05:42:45 +0000 | money_ | (~money@2607:fb91:bd3c:6437:70a6:5c6e:bbfe:7955) |
| 2022-12-18 05:44:00 +0000 | money_ | (~money@2607:fb91:bd3c:6437:70a6:5c6e:bbfe:7955) (Client Quit) |
| 2022-12-18 05:53:22 +0000 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) |
| 2022-12-18 06:00:58 +0000 | ksqsf`` | (~user@134.209.106.31) |
| 2022-12-18 06:05:14 +0000 | ksqsf` | (~user@134.209.106.31) (Ping timeout: 272 seconds) |
| 2022-12-18 06:11:49 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-12-18 06:20:20 +0000 | razetime | (~quassel@49.207.230.181) |
| 2022-12-18 06:21:11 +0000 | ksqsf`` | ksqsf |
| 2022-12-18 06:22:45 +0000 | EvanR | (~EvanR@user/evanr) (Remote host closed the connection) |
| 2022-12-18 06:23:05 +0000 | EvanR | (~EvanR@user/evanr) |
| 2022-12-18 06:28:30 +0000 | son0p | (~ff@2604:3d08:5b7f:5540::417e) (Ping timeout: 260 seconds) |
| 2022-12-18 06:31:07 +0000 | Wolfram-Sigma | (~Wolfram-S@216-131-109-245.prg.as62651.net) |
| 2022-12-18 06:46:24 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds) |
| 2022-12-18 06:54:56 +0000 | wroathe | (~wroathe@user/wroathe) (Quit: Lost terminal) |
| 2022-12-18 07:03:34 +0000 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 2022-12-18 07:09:51 +0000 | dsrt^ | (~dsrt@76.145.185.103) (Remote host closed the connection) |
| 2022-12-18 07:10:30 +0000 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Ping timeout: 260 seconds) |
| 2022-12-18 07:10:38 +0000 | ksqsf | (~user@134.209.106.31) (Ping timeout: 268 seconds) |
| 2022-12-18 07:12:44 +0000 | ksqsf | (~user@134.209.106.31) |
| 2022-12-18 07:13:59 +0000 | ksqsf | (~user@134.209.106.31) (Remote host closed the connection) |
| 2022-12-18 07:21:09 +0000 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
| 2022-12-18 07:26:38 +0000 | ksqsf | (~user@134.209.106.31) |
| 2022-12-18 07:28:15 +0000 | ksqsf | (~user@134.209.106.31) (Remote host closed the connection) |
| 2022-12-18 07:28:40 +0000 | ksqsf | (~user@134.209.106.31) |
| 2022-12-18 07:30:34 +0000 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 2022-12-18 07:34:35 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:b575:bbf6:df74:2100) (Remote host closed the connection) |
| 2022-12-18 07:36:26 +0000 | beefbambi | (~beefbambi@183.82.27.160) (Ping timeout: 272 seconds) |
| 2022-12-18 07:37:23 +0000 | beefbambi | (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) |
| 2022-12-18 07:39:41 +0000 | freeside | (~mengwong@213.86.11.74) |
| 2022-12-18 07:42:42 +0000 | merijn | (~merijn@86.86.29.250) |
| 2022-12-18 07:47:05 +0000 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 2022-12-18 07:47:37 +0000 | beefbambi | (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer) |
| 2022-12-18 07:47:54 +0000 | beefbambi | (~beefbambi@183.82.204.70) |
| 2022-12-18 07:49:58 +0000 | beefbambi | (~beefbambi@183.82.204.70) (Read error: Connection reset by peer) |
| 2022-12-18 07:50:32 +0000 | beefbambi | (~beefbambi@183.82.204.70) |
| 2022-12-18 07:50:53 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2022-12-18 07:51:23 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit) |
| 2022-12-18 07:58:56 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2022-12-18 08:03:56 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Ping timeout: 256 seconds) |
| 2022-12-18 08:04:19 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2022-12-18 08:04:37 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
| 2022-12-18 08:08:36 +0000 | freeside | (~mengwong@213.86.11.74) (Ping timeout: 268 seconds) |
| 2022-12-18 08:14:46 +0000 | rnat | (uid73555@id-73555.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 2022-12-18 08:17:14 +0000 | merijn | (~merijn@86.86.29.250) (Ping timeout: 268 seconds) |
| 2022-12-18 08:17:49 +0000 | Tuplanolla | (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) |
| 2022-12-18 08:26:25 +0000 | califax | (~califax@user/califx) (Remote host closed the connection) |
| 2022-12-18 08:27:59 +0000 | califax | (~califax@user/califx) |
| 2022-12-18 08:35:05 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) |
| 2022-12-18 08:35:33 +0000 | trev | (~trev@user/trev) |
| 2022-12-18 08:36:25 +0000 | johnw | (~johnw@2600:1700:cf00:db0:6524:1c2a:8eda:bee4) |
| 2022-12-18 08:39:46 +0000 | son0p | (~ff@2604:3d08:5b7f:5540::417e) |
| 2022-12-18 08:40:35 +0000 | jakalx | (~jakalx@base.jakalx.net) () |
| 2022-12-18 08:40:55 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) (Ping timeout: 260 seconds) |
| 2022-12-18 08:49:55 +0000 | beefbambi | (~beefbambi@183.82.204.70) (Read error: Connection reset by peer) |
| 2022-12-18 08:50:42 +0000 | beefbambi | (~beefbambi@183.82.204.70) |
| 2022-12-18 08:54:15 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-12-18 09:00:05 +0000 | ted[m] | (~tedmatrix@2001:470:69fc:105::2:bf60) (Quit: You have been kicked for being idle) |
| 2022-12-18 09:01:02 +0000 | beefbambi | (~beefbambi@183.82.204.70) (Read error: Connection reset by peer) |
| 2022-12-18 09:06:13 +0000 | beefbambi | (~beefbambi@183.82.204.70) |
| 2022-12-18 09:09:02 +0000 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 268 seconds) |
| 2022-12-18 09:24:19 +0000 | gmg | (~user@user/gehmehgeh) |
| 2022-12-18 09:25:29 +0000 | ksqsf | (~user@134.209.106.31) (Ping timeout: 260 seconds) |
| 2022-12-18 09:28:24 +0000 | beefbambi | (~beefbambi@183.82.204.70) (Ping timeout: 260 seconds) |
| 2022-12-18 09:28:49 +0000 | beefbambi | (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) |
| 2022-12-18 09:36:37 +0000 | jakalx | (~jakalx@base.jakalx.net) |
| 2022-12-18 09:41:00 +0000 | danza | (~francesco@4.red-79-153-154.dynamicip.rima-tde.net) |
| 2022-12-18 09:44:06 +0000 | xacktm | (~xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com) |
| 2022-12-18 09:47:05 +0000 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2022-12-18 09:47:18 +0000 | andreas303 | (andreas303@ip227.orange.bnc4free.com) (Ping timeout: 252 seconds) |
| 2022-12-18 09:51:31 +0000 | ksqsf | (~user@134.209.106.31) |
| 2022-12-18 09:53:29 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Ping timeout: 255 seconds) |
| 2022-12-18 09:54:42 +0000 | beefbambi | (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer) |
| 2022-12-18 09:54:59 +0000 | beefbambi | (~beefbambi@183.82.204.70) |
| 2022-12-18 09:58:22 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 2022-12-18 10:03:04 +0000 | beefbambi | (~beefbambi@183.82.204.70) (Ping timeout: 252 seconds) |
| 2022-12-18 10:03:39 +0000 | beefbambi | (~beefbambi@183.82.204.70) |
| 2022-12-18 10:22:42 +0000 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
| 2022-12-18 10:23:06 +0000 | kenaryn | (~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr) |
| 2022-12-18 10:24:17 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds) |
| 2022-12-18 10:24:31 +0000 | danza | (~francesco@4.red-79-153-154.dynamicip.rima-tde.net) (Ping timeout: 265 seconds) |
| 2022-12-18 10:25:05 +0000 | Wolfram-Sigma | (~Wolfram-S@216-131-109-245.prg.as62651.net) (Quit: Client closed) |
| 2022-12-18 10:25:26 +0000 | Lord_of_Life_ | Lord_of_Life |
| 2022-12-18 10:35:36 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) |
| 2022-12-18 10:48:05 +0000 | allbery_b | (~geekosaur@xmonad/geekosaur) |
| 2022-12-18 10:48:05 +0000 | geekosaur | (~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b))) |
| 2022-12-18 10:48:08 +0000 | allbery_b | geekosaur |
| 2022-12-18 10:50:39 +0000 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 2022-12-18 10:50:42 +0000 | WarzoneCommand | Noinia |
| 2022-12-18 10:53:51 +0000 | gawen_ | (~gawen@user/gawen) (Quit: cya) |
| 2022-12-18 10:54:31 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-12-18 10:55:06 +0000 | Kaiepi | (~Kaiepi@108.175.84.104) (Ping timeout: 268 seconds) |
| 2022-12-18 10:56:33 +0000 | xacktm | (~xacktm@user/xacktm) |
| 2022-12-18 10:58:25 +0000 | andreas303 | (andreas303@ip227.orange.bnc4free.com) |
| 2022-12-18 10:59:00 +0000 | gawen | (~gawen@user/gawen) |
| 2022-12-18 10:59:06 +0000 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 2022-12-18 11:02:56 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2022-12-18 11:04:05 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2022-12-18 11:04:37 +0000 | kenaryn | (~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr) (Quit: leaving) |
| 2022-12-18 11:06:59 +0000 | Me-me | (~Me-me@user/me-me) (Quit: Going offline, see ya! (www.adiirc.com)) |
| 2022-12-18 11:10:15 +0000 | kritzefitz | (~kritzefit@debian/kritzefitz) (Remote host closed the connection) |
| 2022-12-18 11:13:40 +0000 | beefbambi | (~beefbambi@183.82.204.70) (Read error: Connection reset by peer) |
| 2022-12-18 11:13:53 +0000 | beefbambi | (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) |
| 2022-12-18 11:14:30 +0000 | beefbambi | (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer) |
| 2022-12-18 11:14:41 +0000 | beefbambi | (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) |
| 2022-12-18 11:14:45 +0000 | crazazy | (~user@130.89.171.62) |
| 2022-12-18 11:15:16 +0000 | Kaiepi | (~Kaiepi@108.175.84.104) |
| 2022-12-18 11:15:27 +0000 | beefbambi | (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer) |
| 2022-12-18 11:15:45 +0000 | beefbambi | (~beefbambi@183.82.204.70) |
| 2022-12-18 11:17:56 +0000 | beefbambi | (~beefbambi@183.82.204.70) (Read error: Connection reset by peer) |
| 2022-12-18 11:18:21 +0000 | beefbambi | (~beefbambi@183.82.204.70) |
| 2022-12-18 11:21:14 +0000 | jakalx | (~jakalx@base.jakalx.net) () |
| 2022-12-18 11:21:40 +0000 | jakalx | (~jakalx@base.jakalx.net) |
| 2022-12-18 11:22:29 +0000 | beefbambi | (~beefbambi@183.82.204.70) (Read error: Connection reset by peer) |
| 2022-12-18 11:23:19 +0000 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Ping timeout: 260 seconds) |
| 2022-12-18 11:24:07 +0000 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) |
| 2022-12-18 11:28:52 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds) |
| 2022-12-18 11:30:51 +0000 | haskl | (~haskl@user/haskl) (Read error: Connection reset by peer) |
| 2022-12-18 11:30:57 +0000 | kenaryn | (~aurele@89-88-44-27.abo.bbox.fr) |
| 2022-12-18 11:33:03 +0000 | haskl | (~haskl@user/haskl) |
| 2022-12-18 11:38:23 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) |
| 2022-12-18 11:39:37 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 2022-12-18 11:39:55 +0000 | oopzzozzo | (~Thunderbi@user/oopzzozzo) |
| 2022-12-18 11:42:47 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) (Ping timeout: 260 seconds) |
| 2022-12-18 11:44:12 +0000 | beefbambi | (~beefbambi@183.82.204.70) |
| 2022-12-18 11:47:08 +0000 | kritzefitz | (~kritzefit@debian/kritzefitz) |
| 2022-12-18 11:47:58 +0000 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
| 2022-12-18 11:52:37 +0000 | kritzefitz | (~kritzefit@debian/kritzefitz) (Remote host closed the connection) |
| 2022-12-18 11:59:32 +0000 | kritzefitz | (~kritzefit@debian/kritzefitz) |
| 2022-12-18 12:10:19 +0000 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 2022-12-18 12:13:58 +0000 | [Leary] | (~Leary]@user/Leary/x-0910699) (Remote host closed the connection) |
| 2022-12-18 12:19:11 +0000 | oopzzozzo | (~Thunderbi@user/oopzzozzo) (Ping timeout: 260 seconds) |
| 2022-12-18 12:25:04 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-12-18 12:26:30 +0000 | beefbambi | (~beefbambi@183.82.204.70) (Read error: Connection reset by peer) |
| 2022-12-18 12:26:40 +0000 | beefbambi | (~beefbambi@183.82.204.70) |
| 2022-12-18 12:29:05 +0000 | [Leary] | (~Leary]@user/Leary/x-0910699) |
| 2022-12-18 12:30:04 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds) |
| 2022-12-18 12:30:48 +0000 | gurkenglas | (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 2022-12-18 12:30:53 +0000 | <Jade[m]> | @pl f s = g s >> h |
| 2022-12-18 12:30:53 +0000 | <lambdabot> | f = (>> h) . g |
| 2022-12-18 12:38:10 +0000 | ksqsf | (~user@134.209.106.31) (Ping timeout: 252 seconds) |
| 2022-12-18 12:38:32 +0000 | brandonh | (brandonh@gateway/vpn/protonvpn/brandonh) |
| 2022-12-18 12:46:03 +0000 | <sayola> | whats ^>= in cabal deps? |
| 2022-12-18 12:46:48 +0000 | brandonh | (brandonh@gateway/vpn/protonvpn/brandonh) (Quit: brandonh) |
| 2022-12-18 12:47:31 +0000 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 2022-12-18 12:47:50 +0000 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) |
| 2022-12-18 12:47:52 +0000 | jinsun | (~jinsun@user/jinsun) (Quit: No Ping reply in 180 seconds.) |
| 2022-12-18 12:48:19 +0000 | <Jade[m]> | not bigger than or equal to? |
| 2022-12-18 12:48:20 +0000 | <Jade[m]> | not sure |
| 2022-12-18 12:53:14 +0000 | <geekosaur> | >= but obeying PVP bounds |
| 2022-12-18 12:54:05 +0000 | jinsun | (~jinsun@user/jinsun) |
| 2022-12-18 12:54:46 +0000 | <geekosaur> | so there's an implicit <= based on the appropriate PVP bound for the specified version |
| 2022-12-18 12:54:48 +0000 | <sayola> | so, thats the last two numbers of pvp then? |
| 2022-12-18 12:54:56 +0000 | <geekosaur> | usually |
| 2022-12-18 12:55:02 +0000 | <sayola> | which can change |
| 2022-12-18 12:55:05 +0000 | <sayola> | ok |
| 2022-12-18 12:55:38 +0000 | xff0x | (~xff0x@ai071162.d.east.v6connect.net) (Ping timeout: 272 seconds) |
| 2022-12-18 12:59:40 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds) |
| 2022-12-18 12:59:41 +0000 | beefbambi | (~beefbambi@183.82.204.70) (Read error: Connection reset by peer) |
| 2022-12-18 13:00:32 +0000 | beefbambi | (~beefbambi@183.82.204.70) |
| 2022-12-18 13:01:00 +0000 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 2022-12-18 13:01:52 +0000 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) (Ping timeout: 252 seconds) |
| 2022-12-18 13:02:56 +0000 | acidjnk | (~acidjnk@p200300d6e7137a3900a43338f23333fb.dip0.t-ipconnect.de) |
| 2022-12-18 13:03:36 +0000 | Topsi | (~Topsi@dialin-80-228-141-093.ewe-ip-backbone.de) |
| 2022-12-18 13:05:46 +0000 | instantaphex | (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 272 seconds) |
| 2022-12-18 13:07:19 +0000 | v0id_ptr | (~adrift@user/ptr-frac7al/x-0038398) |
| 2022-12-18 13:09:04 +0000 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) |
| 2022-12-18 13:09:27 +0000 | jakalx | (~jakalx@base.jakalx.net) (Error from remote client) |
| 2022-12-18 13:14:57 +0000 | kritzefitz | (~kritzefit@debian/kritzefitz) (Remote host closed the connection) |
| 2022-12-18 13:16:56 +0000 | v0id_ptr | (~adrift@user/ptr-frac7al/x-0038398) (Ping timeout: 268 seconds) |
| 2022-12-18 13:17:21 +0000 | jakalx | (~jakalx@base.jakalx.net) |
| 2022-12-18 13:18:28 +0000 | xff0x | (~xff0x@ai071162.d.east.v6connect.net) |
| 2022-12-18 13:18:51 +0000 | kritzefitz | (~kritzefit@debian/kritzefitz) |
| 2022-12-18 13:22:23 +0000 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
| 2022-12-18 13:22:48 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2022-12-18 13:23:30 +0000 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 272 seconds) |
| 2022-12-18 13:30:25 +0000 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 2022-12-18 13:32:48 +0000 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) (Ping timeout: 252 seconds) |
| 2022-12-18 13:34:20 +0000 | <Inst> | curious |
| 2022-12-18 13:34:25 +0000 | kenaryn | (~aurele@89-88-44-27.abo.bbox.fr) (Quit: leaving) |
| 2022-12-18 13:34:37 +0000 | <Inst> | would it be a good or a bad thing if OverloadedTypeclasses were a thing? |
| 2022-12-18 13:35:26 +0000 | beefbambi | (~beefbambi@183.82.204.70) (Ping timeout: 268 seconds) |
| 2022-12-18 13:35:34 +0000 | <geekosaur> | meaning what? |
| 2022-12-18 13:36:13 +0000 | Sciencentistguy | (~sciencent@hacksoc/ordinary-member) |
| 2022-12-18 13:36:15 +0000 | <Inst> | say, I don't like Num, I want to inject a new num in without dropping the default prelude, etc |
| 2022-12-18 13:36:41 +0000 | beefbambi | (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) |
| 2022-12-18 13:36:55 +0000 | <trev> | isn't that called "specialization"? |
| 2022-12-18 13:37:55 +0000 | <Inst> | just playing around with Julia a very little bit, and I'm thinking about limitations of Num, etc |
| 2022-12-18 13:37:56 +0000 | <geekosaur> | no, specialization is pregenerating code for a particular type, and applies to polymorphic code not to typeclasses |
| 2022-12-18 13:38:32 +0000 | <Inst> | is there something fundamentally preventing the overloading of typeclasses? |
| 2022-12-18 13:38:48 +0000 | <Inst> | (+) :: Num a => a -> a -> a |
| 2022-12-18 13:38:54 +0000 | <geekosaur> | as to your proposed overloading semantics, remember that values in Haskell are not objects and don't have vtables. so how does code in another module or library know about your overload? |
| 2022-12-18 13:39:25 +0000 | <Inst> | does code in another module or library need to know about my overload? |
| 2022-12-18 13:39:47 +0000 | <geekosaur> | right now they know because instances are global symbols and it can simply refer to $fNumType |
| 2022-12-18 13:39:59 +0000 | <geekosaur> | if you want that code to actually use it, yes |
| 2022-12-18 13:40:20 +0000 | <Inst> | How about, no? |
| 2022-12-18 13:40:37 +0000 | <Inst> | The idea is that I can get safe transition toward new Num typeclasses etc |
| 2022-12-18 13:40:53 +0000 | <geekosaur> | then whaqt's the point of the overload? and what happens when code using it encounters code that doesn't? |
| 2022-12-18 13:41:29 +0000 | <Inst> | the code that doesn't shouldn't interact with the code that does overload |
| 2022-12-18 13:41:38 +0000 | <Inst> | or if it does, it can't see the overloaded typeclasses |
| 2022-12-18 13:41:43 +0000 | <Inst> | unless the pragma is on in the module |
| 2022-12-18 13:41:55 +0000 | <geekosaur> | also I suspect you'd be fairly upset if something like `sum` doesn't use your overloaded (+) |
| 2022-12-18 13:42:22 +0000 | razetime | (~quassel@49.207.230.181) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 2022-12-18 13:42:38 +0000 | <Inst> | that's fine, what I'm more thinking of is figuring out how to syntactically enable typesafe (and possibly dependently typed) matrix multiplication with * |
| 2022-12-18 13:43:12 +0000 | <Inst> | since, well, by default, a matrix multiplication is not going to follow a -> a -> a, no? |
| 2022-12-18 13:43:34 +0000 | <Inst> | a -> b -> c |
| 2022-12-18 13:43:48 +0000 | <geekosaur> | that's going to require rather more than just overloading Num |
| 2022-12-18 13:44:06 +0000 | <Inst> | yeah, tbh, it's a complex matter |
| 2022-12-18 13:44:39 +0000 | phma | (phma@2001:5b0:211f:d528:ab67:ad29:6dde:4757) (Read error: Connection reset by peer) |
| 2022-12-18 13:44:44 +0000 | <geekosaur> | and yes, aiui it would have to be dependently typed, or at minimum size information at type level |
| 2022-12-18 13:44:55 +0000 | <hpc> | if you don't use Num, there's some other fun alternatives you might consider |
| 2022-12-18 13:44:59 +0000 | <geekosaur> | which in Haskell is a PITA |
| 2022-12-18 13:45:07 +0000 | <hpc> | for example, matrix multiplication is function composition of linear functions |
| 2022-12-18 13:45:22 +0000 | tok | (~user@mobile-access-d98cd1-96.dhcp.inet.fi) |
| 2022-12-18 13:45:30 +0000 | phma | (~phma@host-67-44-208-107.hnremote.net) |
| 2022-12-18 13:45:30 +0000 | <hpc> | and if you use data M w h, you can even get a type that looks like (.) |
| 2022-12-18 13:45:40 +0000 | <Inst> | and overloading a typeclass is still a bit of a headache either way; I don't think I've fully thought of the implications of such |
| 2022-12-18 13:45:53 +0000 | <hpc> | M a b -> M b c -> M a c |
| 2022-12-18 13:46:31 +0000 | <Inst> | I just want the ability to share the basic numeric operator symbols with a replacement, eventually a replacement that gets backed by GHC committees and phased in |
| 2022-12-18 13:48:28 +0000 | <geekosaur> | this would require more than just overloading Num; it requires splitting Num up |
| 2022-12-18 13:48:53 +0000 | <Inst> | well, yeah, that's what most plans for replacing Num look like, no? |
| 2022-12-18 13:49:00 +0000 | <geekosaur> | I mean Num itself |
| 2022-12-18 13:49:00 +0000 | <Inst> | get it to properly map a ring or something |
| 2022-12-18 13:49:10 +0000 | <sayola> | at the very least reimplementing Num that is then based on a more generic class for these ops |
| 2022-12-18 13:49:20 +0000 | <geekosaur> | (+) and (*) can no longer be part of the same typeclass |
| 2022-12-18 13:49:28 +0000 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds) |
| 2022-12-18 13:49:43 +0000 | <Inst> | which means dumping various Num methods elsewhere |
| 2022-12-18 13:50:11 +0000 | <Inst> | come to think of it, why wasn't this considered during FAM transition? |
| 2022-12-18 13:50:56 +0000 | <sayola> | i think its not that important, since you can still make more operators that are just one or two symbols longer, that do what you want. |
| 2022-12-18 13:51:00 +0000 | razetime | (~quassel@49.207.230.181) |
| 2022-12-18 13:51:06 +0000 | <Inst> | operators are a mess, though |
| 2022-12-18 13:51:16 +0000 | <Inst> | newbies get pissed off at all the $, <$>, >>=, etc |
| 2022-12-18 13:51:31 +0000 | <hpc> | sayola: like (++) and (**), brilliant! :D |
| 2022-12-18 13:51:47 +0000 | oopzzozzo | (~Thunderbi@user/oopzzozzo) |
| 2022-12-18 13:51:55 +0000 | <Inst> | which is the real argument for overloaded typeclasses, no? save the precious operator namespace |
| 2022-12-18 13:53:13 +0000 | <geekosaur[m]> | I think newbies have bigger problems than you're suggesting with the various operators |
| 2022-12-18 13:53:27 +0000 | <sayola> | tbh talking about new user experience, its probably better if Num and the ops stay as limited. its fairly complicated as is. generalizing makes it only worse. |
| 2022-12-18 13:53:32 +0000 | <geekosaur[m]> | Specifically that it's not what they already know. They have to learn new stuff |
| 2022-12-18 13:54:01 +0000 | <Inst> | I'm still not sure whether user-defined operators were a mistake |
| 2022-12-18 13:54:41 +0000 | <hpc> | Inst: having the option to make my own is worth it imo |
| 2022-12-18 13:54:41 +0000 | <sayola> | code would be a lot more verbose without them. i think that would be worse for understanding code. |
| 2022-12-18 13:54:51 +0000 | <Inst> | shouldn't overloaded typeclasses have been discussed before? |
| 2022-12-18 13:55:04 +0000 | <Inst> | tbh I sort of see operators as part of Haskell style |
| 2022-12-18 13:55:06 +0000 | <hpc> | plenty of other languages have made much pettier features that are dependent on discipline for readability |
| 2022-12-18 13:55:13 +0000 | acidjnk | (~acidjnk@p200300d6e7137a3900a43338f23333fb.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 2022-12-18 13:55:22 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-12-18 13:55:23 +0000 | <Inst> | the language would be more lisp-like, not necessarily a good thing |
| 2022-12-18 13:55:32 +0000 | <Inst> | without all the operators hanging around |
| 2022-12-18 13:55:54 +0000 | <hpc> | i had a lisp class in college that broke the 9 key on my keyboard, never doing that again |
| 2022-12-18 13:58:48 +0000 | unit73e | (~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) |
| 2022-12-18 13:59:25 +0000 | son0p | (~ff@2604:3d08:5b7f:5540::417e) (Ping timeout: 260 seconds) |
| 2022-12-18 13:59:26 +0000 | kenaryn | (~aurele@89-88-44-27.abo.bbox.fr) |
| 2022-12-18 14:02:04 +0000 | <Inst> | ahhh, is this the problem? I'm reading on Quora |
| 2022-12-18 14:02:10 +0000 | <Inst> | or rather stack exchange |
| 2022-12-18 14:02:24 +0000 | <albet70> | I have a cabal project, but I'd like to run two different files as Main.hs, how I set 'main-is' in my.cabal? |
| 2022-12-18 14:02:26 +0000 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds) |
| 2022-12-18 14:02:45 +0000 | <Inst> | C++-style overloading results in exponential time or undecidable type inference :( |
| 2022-12-18 14:03:14 +0000 | __monty__ | (~toonn@user/toonn) |
| 2022-12-18 14:03:21 +0000 | <hpc> | albet70: you can define multiple executables |
| 2022-12-18 14:03:24 +0000 | <geekosaur> | albet70, that usually means you want two executable sections, each with its own main-is: |
| 2022-12-18 14:04:08 +0000 | xacktm | (~xacktm@user/xacktm) (Ping timeout: 255 seconds) |
| 2022-12-18 14:05:23 +0000 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) |
| 2022-12-18 14:05:48 +0000 | andreas303 | (andreas303@ip227.orange.bnc4free.com) (Ping timeout: 252 seconds) |
| 2022-12-18 14:06:13 +0000 | <albet70> | hpc, geekosaur, but I run it with 'cabal v2-run my-project' which there is my-project/my-project.cabal, two sections in one cabal file, how I call it? |
| 2022-12-18 14:07:27 +0000 | <geekosaur> | generally you just name the exe. if it's not enough, myproject:exe:sectionname |
| 2022-12-18 14:09:53 +0000 | brandonh | (brandonh@gateway/vpn/protonvpn/brandonh) |
| 2022-12-18 14:10:25 +0000 | <unit73e> | cabal is often better understood by example imo |
| 2022-12-18 14:10:44 +0000 | <unit73e> | I don't have a multi module multi exe lying around though |
| 2022-12-18 14:12:41 +0000 | <unit73e> | wait, I actually do: https://gitlab.com/unit73e/sdl2-examples |
| 2022-12-18 14:12:47 +0000 | <unit73e> | forgot I was working on this |
| 2022-12-18 14:12:49 +0000 | <unit73e> | a long time ago |
| 2022-12-18 14:13:09 +0000 | <unit73e> | albet70, in that example you would run 'cabal run <executable>' |
| 2022-12-18 14:13:37 +0000 | <albet70> | unit73e , you're right, I just tested it |
| 2022-12-18 14:14:44 +0000 | brandonh | (brandonh@gateway/vpn/protonvpn/brandonh) (Client Quit) |
| 2022-12-18 14:17:47 +0000 | brandonh | (brandonh@gateway/vpn/protonvpn/brandonh) |
| 2022-12-18 14:19:21 +0000 | brandonh | (brandonh@gateway/vpn/protonvpn/brandonh) (Client Quit) |
| 2022-12-18 14:22:51 +0000 | unit73e | (~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) (Ping timeout: 260 seconds) |
| 2022-12-18 14:27:45 +0000 | jinsun | (~jinsun@user/jinsun) (Quit: No Ping reply in 180 seconds.) |
| 2022-12-18 14:28:47 +0000 | freeside | (~mengwong@213.86.11.74) |
| 2022-12-18 14:29:42 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 2022-12-18 14:33:21 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2022-12-18 14:33:29 +0000 | andreas303 | (andreas303@ip227.orange.bnc4free.com) |
| 2022-12-18 14:34:02 +0000 | jinsun | (~jinsun@user/jinsun) |
| 2022-12-18 14:36:04 +0000 | <Inst> | nice |
| 2022-12-18 14:36:05 +0000 | <Inst> | https://www.reddit.com/r/haskell/comments/znzat4/type_class_subsets/ |
| 2022-12-18 14:41:23 +0000 | pagnol | (~user@213-205-209-87.ftth.glasoperator.nl) |
| 2022-12-18 14:42:49 +0000 | xacktm | (~xacktm@user/xacktm) |
| 2022-12-18 14:42:52 +0000 | burakcank | (burakcank@has.arrived.and.is.ready-to.party) (Ping timeout: 256 seconds) |
| 2022-12-18 14:47:08 +0000 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds) |
| 2022-12-18 14:57:14 +0000 | tok | (~user@mobile-access-d98cd1-96.dhcp.inet.fi) (Ping timeout: 272 seconds) |
| 2022-12-18 14:57:57 +0000 | tok | (~user@mobile-access-d98cd1-96.dhcp.inet.fi) |
| 2022-12-18 14:57:58 +0000 | acidjnk | (~acidjnk@p200300d6e7137a39551177756a27c5e3.dip0.t-ipconnect.de) |
| 2022-12-18 14:58:46 +0000 | <pagnol> | why do I get a syntax error if when I try to import Debug.Trace? |
| 2022-12-18 14:59:43 +0000 | <geekosaur[m]> | Where did you put the import? |
| 2022-12-18 15:01:29 +0000 | oopzzozzo | (~Thunderbi@user/oopzzozzo) (Ping timeout: 260 seconds) |
| 2022-12-18 15:02:04 +0000 | <pagnol> | among the other imports |
| 2022-12-18 15:02:25 +0000 | <pagnol> | above the others and below the others with the same outcome |
| 2022-12-18 15:02:50 +0000 | <pagnol> | weird, now it compiles |
| 2022-12-18 15:04:13 +0000 | crazazy | (~user@130.89.171.62) (Remote host closed the connection) |
| 2022-12-18 15:04:26 +0000 | crazazy | (~user@130.89.171.62) |
| 2022-12-18 15:08:14 +0000 | __xor | (~xor@74.215.182.83) (Read error: Connection reset by peer) |
| 2022-12-18 15:09:02 +0000 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 2022-12-18 15:09:32 +0000 | burakcank | (burakcank@has.arrived.and.is.ready-to.party) |
| 2022-12-18 15:17:00 +0000 | beefbambi | (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Ping timeout: 260 seconds) |
| 2022-12-18 15:17:38 +0000 | beefbambi | (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) |
| 2022-12-18 15:20:30 +0000 | andreas303 | (andreas303@ip227.orange.bnc4free.com) (Quit: fBNC - https://bnc4free.com) |
| 2022-12-18 15:21:36 +0000 | jero98772 | (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
| 2022-12-18 15:21:49 +0000 | xacktm | (~xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com) |
| 2022-12-18 15:23:04 +0000 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 2022-12-18 15:25:35 +0000 | Inst | (~Inst@2601:6c4:4081:54f0:f11e:46df:c907:e40e) (Ping timeout: 255 seconds) |
| 2022-12-18 15:25:53 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-12-18 15:31:22 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 2022-12-18 15:35:16 +0000 | __xor | (~xor@74.215.182.83) |
| 2022-12-18 15:41:55 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) |
| 2022-12-18 15:44:04 +0000 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 260 seconds) |
| 2022-12-18 15:44:19 +0000 | Kaiepi | (~Kaiepi@108.175.84.104) (Ping timeout: 268 seconds) |
| 2022-12-18 15:46:10 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) (Ping timeout: 260 seconds) |
| 2022-12-18 15:46:39 +0000 | malte | (~malte@mal.tc) (Remote host closed the connection) |
| 2022-12-18 15:47:41 +0000 | malte | (~malte@mal.tc) |
| 2022-12-18 15:57:19 +0000 | jinsun | (~jinsun@user/jinsun) (Ping timeout: 252 seconds) |
| 2022-12-18 15:57:36 +0000 | jinsun | (~jinsun@user/jinsun) |
| 2022-12-18 15:57:56 +0000 | Kaiepi | (~Kaiepi@108.175.84.104) |
| 2022-12-18 15:59:50 +0000 | Red_Swan | (~jared@174-23-134-43.slkc.qwest.net) (Ping timeout: 252 seconds) |
| 2022-12-18 16:00:55 +0000 | rnat | (uid73555@id-73555.lymington.irccloud.com) |
| 2022-12-18 16:01:36 +0000 | malte | (~malte@mal.tc) (Remote host closed the connection) |
| 2022-12-18 16:02:31 +0000 | troydm | (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 2022-12-18 16:02:40 +0000 | malte | (~malte@mal.tc) |
| 2022-12-18 16:07:32 +0000 | waleee | (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 252 seconds) |
| 2022-12-18 16:07:35 +0000 | son0p | (~ff@2604:3d08:5b7f:5540:98a9:2169:15a1:4c7f) |
| 2022-12-18 16:16:32 +0000 | sayola1 | (~sayola@dslb-088-064-186-217.088.064.pools.vodafone-ip.de) |
| 2022-12-18 16:18:56 +0000 | sayola | (~sayola@dslb-088-064-186-217.088.064.pools.vodafone-ip.de) (Ping timeout: 272 seconds) |
| 2022-12-18 16:24:08 +0000 | ddellacosta | (~ddellacos@143.244.47.88) |
| 2022-12-18 16:27:49 +0000 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 2022-12-18 16:27:49 +0000 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 2022-12-18 16:27:49 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-12-18 16:28:38 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-12-18 16:34:16 +0000 | andreas303 | (andreas303@ip227.orange.bnc4free.com) |
| 2022-12-18 16:37:05 +0000 | xacktm | (~xacktm@user/xacktm) |
| 2022-12-18 16:37:16 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) |
| 2022-12-18 16:42:56 +0000 | fserucas | (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) |
| 2022-12-18 16:45:22 +0000 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 2022-12-18 16:45:40 +0000 | son0p | (~ff@2604:3d08:5b7f:5540:98a9:2169:15a1:4c7f) (Ping timeout: 252 seconds) |
| 2022-12-18 16:47:35 +0000 | acidjnk | (~acidjnk@p200300d6e7137a39551177756a27c5e3.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 2022-12-18 16:48:04 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 272 seconds) |
| 2022-12-18 16:49:47 +0000 | aeroplane | (~user@user/aeroplane) |
| 2022-12-18 16:58:54 +0000 | chexum | (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
| 2022-12-18 17:00:30 +0000 | chexum | (~quassel@gateway/tor-sasl/chexum) |
| 2022-12-18 17:01:22 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds) |
| 2022-12-18 17:02:20 +0000 | Kaiepi | (~Kaiepi@108.175.84.104) (Ping timeout: 255 seconds) |
| 2022-12-18 17:03:13 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
| 2022-12-18 17:05:52 +0000 | razetime | (~quassel@49.207.230.181) (Remote host closed the connection) |
| 2022-12-18 17:09:46 +0000 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 2022-12-18 17:19:33 +0000 | wroathe | (~wroathe@user/wroathe) (Quit: Lost terminal) |
| 2022-12-18 17:33:17 +0000 | morb | (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) |
| 2022-12-18 17:34:15 +0000 | nek0 | (~nek0@2a01:4f8:222:2b41::12) |
| 2022-12-18 17:34:26 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) (Remote host closed the connection) |
| 2022-12-18 17:36:40 +0000 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 2022-12-18 17:37:27 +0000 | ddellacosta | (~ddellacos@143.244.47.88) (Ping timeout: 260 seconds) |
| 2022-12-18 17:37:47 +0000 | freeside | (~mengwong@213.86.11.74) (Ping timeout: 256 seconds) |
| 2022-12-18 17:40:45 +0000 | yuribarros | (~yuribarro@2804:14c:65e4:865c::1000) |
| 2022-12-18 17:45:43 +0000 | morb | (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Ping timeout: 256 seconds) |
| 2022-12-18 17:47:20 +0000 | pie__ | (~pie_bnc@user/pie/x-2818909) () |
| 2022-12-18 17:47:47 +0000 | pie_ | (~pie_bnc@user/pie/x-2818909) |
| 2022-12-18 17:48:34 +0000 | pie_ | (~pie_bnc@user/pie/x-2818909) (Client Quit) |
| 2022-12-18 17:51:55 +0000 | econo | (uid147250@user/econo) |
| 2022-12-18 17:55:06 +0000 | pie_ | (~pie_bnc@user/pie/x-2818909) |
| 2022-12-18 17:56:08 +0000 | Kaiepi | (~Kaiepi@108.175.84.104) |
| 2022-12-18 17:56:52 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2022-12-18 17:57:29 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-12-18 17:57:52 +0000 | ddellacosta | (~ddellacos@86.106.143.155) |
| 2022-12-18 18:01:08 +0000 | tok | (~user@mobile-access-d98cd1-96.dhcp.inet.fi) (ERC 5.4 (IRC client for GNU Emacs 28.2)) |
| 2022-12-18 18:01:53 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2022-12-18 18:02:19 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds) |
| 2022-12-18 18:02:58 +0000 | Everything | (~Everythin@37.115.210.35) |
| 2022-12-18 18:13:58 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2022-12-18 18:15:02 +0000 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 2022-12-18 18:15:41 +0000 | califax | (~califax@user/califx) (Remote host closed the connection) |
| 2022-12-18 18:16:47 +0000 | califax | (~califax@user/califx) |
| 2022-12-18 18:23:18 +0000 | andreas303 | (andreas303@ip227.orange.bnc4free.com) (Quit: fBNC - https://bnc4free.com) |
| 2022-12-18 18:23:18 +0000 | xacktm | (~xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com) |
| 2022-12-18 18:26:07 +0000 | dfip^ | (~dfip@76.145.185.103) |
| 2022-12-18 18:32:07 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2022-12-18 18:34:57 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) |
| 2022-12-18 18:37:42 +0000 | AkechiShiro | (~licht@user/akechishiro) (Quit: WeeChat 3.7.1) |
| 2022-12-18 18:39:34 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) (Ping timeout: 252 seconds) |
| 2022-12-18 18:39:43 +0000 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 2022-12-18 18:44:58 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) |
| 2022-12-18 18:47:22 +0000 | phma | (~phma@host-67-44-208-107.hnremote.net) (Read error: Connection reset by peer) |
| 2022-12-18 18:48:17 +0000 | phma | (phma@2001:5b0:212a:e338:ae0d:e356:1f10:5820) |
| 2022-12-18 18:55:48 +0000 | son0p | (~ff@2604:3d08:5b7f:5540::417e) |
| 2022-12-18 18:58:00 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-12-18 19:03:23 +0000 | ddellacosta | (~ddellacos@86.106.143.155) (Ping timeout: 255 seconds) |
| 2022-12-18 19:05:12 +0000 | ddellacosta | (~ddellacos@143.244.47.88) |
| 2022-12-18 19:06:10 +0000 | crazazy` | (~user@130.89.173.127) |
| 2022-12-18 19:07:37 +0000 | Luj3 | (~Luj@2a01:e0a:5f9:9681:5880:c9ff:fe9f:3dfb) (Ping timeout: 252 seconds) |
| 2022-12-18 19:08:26 +0000 | crazazy | (~user@130.89.171.62) (Ping timeout: 268 seconds) |
| 2022-12-18 19:09:48 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2022-12-18 19:10:19 +0000 | son0p | (~ff@2604:3d08:5b7f:5540::417e) (Ping timeout: 260 seconds) |
| 2022-12-18 19:10:49 +0000 | perrierjouet | (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.7.1) |
| 2022-12-18 19:10:58 +0000 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 2022-12-18 19:11:31 +0000 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 268 seconds) |
| 2022-12-18 19:15:02 +0000 | jakalx | (~jakalx@base.jakalx.net) () |
| 2022-12-18 19:16:54 +0000 | jakalx | (~jakalx@base.jakalx.net) |
| 2022-12-18 19:20:50 +0000 | crazazy`` | (~user@130.89.171.62) |
| 2022-12-18 19:22:44 +0000 | crazazy` | (~user@130.89.173.127) (Ping timeout: 255 seconds) |
| 2022-12-18 19:25:19 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2022-12-18 19:29:28 +0000 | aeroplane | (~user@user/aeroplane) (Ping timeout: 260 seconds) |
| 2022-12-18 19:30:06 +0000 | iqubic | (~avi@2601:601:1100:edd0:23b0:d602:1b3e:8cff) (Remote host closed the connection) |
| 2022-12-18 19:32:02 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) |
| 2022-12-18 19:32:29 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 2022-12-18 19:39:36 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2022-12-18 19:40:32 +0000 | Me-me | (~Me-me@146.102.215.218.dyn.iprimus.net.au) |
| 2022-12-18 19:48:12 +0000 | Sgeo | (~Sgeo@user/sgeo) |
| 2022-12-18 19:49:45 +0000 | pagnol | (~user@213-205-209-87.ftth.glasoperator.nl) (Ping timeout: 255 seconds) |
| 2022-12-18 19:55:29 +0000 | buzzzzie | (~buzzzzie@ip-217-103-153-253.ip.prioritytelecom.net) |
| 2022-12-18 19:58:21 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2022-12-18 20:00:34 +0000 | morb | (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) |
| 2022-12-18 20:01:47 +0000 | wroathe | (~wroathe@50.205.197.50) |
| 2022-12-18 20:01:47 +0000 | wroathe | (~wroathe@50.205.197.50) (Changing host) |
| 2022-12-18 20:01:47 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-12-18 20:04:18 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) (Remote host closed the connection) |
| 2022-12-18 20:04:33 +0000 | buzzzzie | (~buzzzzie@ip-217-103-153-253.ip.prioritytelecom.net) (Quit: Client closed) |
| 2022-12-18 20:07:42 +0000 | fizbin | (~fizbin@user/fizbin) (Ping timeout: 252 seconds) |
| 2022-12-18 20:10:56 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2022-12-18 20:16:08 +0000 | beefbambi | (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer) |
| 2022-12-18 20:16:25 +0000 | beefbambi | (~beefbambi@183.82.30.144) |
| 2022-12-18 20:19:29 +0000 | rnat | (uid73555@id-73555.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 2022-12-18 20:22:15 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2022-12-18 20:24:16 +0000 | perrierjouet | (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) |
| 2022-12-18 20:26:33 +0000 | <sayola1> | what type do you guys use for a Writer monad, typically? |
| 2022-12-18 20:28:33 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-12-18 20:32:20 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) |
| 2022-12-18 20:33:48 +0000 | <EvanR> | other than Writer? |
| 2022-12-18 20:35:32 +0000 | <monochrom> | Perhaps you mean in "Writer Foo" what we use for Foo. |
| 2022-12-18 20:35:54 +0000 | <sayola1> | yep. i mean what type that is a monoid for w in WriterT w m a |
| 2022-12-18 20:36:03 +0000 | <monochrom> | When I'm lazy and it's unimportant I use a list. When it gets more serious I use Endo. |
| 2022-12-18 20:36:35 +0000 | <monochrom> | Or any data type that has efficient append-one-element. |
| 2022-12-18 20:37:17 +0000 | <monochrom> | Data.Sequence may be OK. |
| 2022-12-18 20:37:22 +0000 | <sayola1> | yeah was wondering what would fit and is simple. |
| 2022-12-18 20:37:28 +0000 | <EvanR> | it depends what you're trying to do, monochrom is answering what to use for logging it sounds like |
| 2022-12-18 20:37:37 +0000 | <EvanR> | which Writer sucks at |
| 2022-12-18 20:37:46 +0000 | <sayola1> | it sucks? |
| 2022-12-18 20:37:51 +0000 | andreas303 | (andreas303@ip227.orange.bnc4free.com) |
| 2022-12-18 20:38:05 +0000 | <c_wraith> | sort of, yeah. a good logger gets things onto disk as fast as possible |
| 2022-12-18 20:38:26 +0000 | <c_wraith> | Writer accumulates things and completes (or fails) the whole computation before logging anything |
| 2022-12-18 20:38:27 +0000 | <sayola1> | i just thought about using RWST for a thing and thought i should probably log anything too, without knowing yet whether and how much i need to |
| 2022-12-18 20:38:42 +0000 | <EvanR> | I discovered the XY problem! xD |
| 2022-12-18 20:38:48 +0000 | <int-e> | Endo [a] is convenient enough for me. (You can use dlist if you don't like the `tell (Endo (x:))` syntax.) |
| 2022-12-18 20:39:04 +0000 | xacktm | (~xacktm@user/xacktm) |
| 2022-12-18 20:39:16 +0000 | <c_wraith> | RST would be a lot more useful than RWST is |
| 2022-12-18 20:39:36 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2022-12-18 20:39:59 +0000 | <int-e> | Ah. Picking between Writer / RWST... well, it depends on whether I think I'll need the reader or state components. |
| 2022-12-18 20:40:32 +0000 | <int-e> | I do prefer RWST over stacking more than one of Reader, Writer, or State. |
| 2022-12-18 20:41:00 +0000 | <int-e> | (err, ReaderT, WriterT, or StateT) |
| 2022-12-18 20:42:24 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 272 seconds) |
| 2022-12-18 20:42:28 +0000 | <sayola1> | i only learned yesterday about Endo as a type, ironically. |
| 2022-12-18 20:43:52 +0000 | trev | (~trev@user/trev) (Remote host closed the connection) |
| 2022-12-18 20:43:54 +0000 | gabiruh_ | gabiruh |
| 2022-12-18 20:45:18 +0000 | wroathe | (~wroathe@50.205.197.50) |
| 2022-12-18 20:45:18 +0000 | wroathe | (~wroathe@50.205.197.50) (Changing host) |
| 2022-12-18 20:45:18 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-12-18 20:47:24 +0000 | <int-e> | c_wraith: FWIW, I've used the W component quite a bit in a couple of assembly-like DSLs; in that design, the reader is usually unused, the state tracks labels, and the writer collects generated code. And there's an mfix somewhere to tie the labels into a know so that they can be used before the label's declaration. |
| 2022-12-18 20:47:45 +0000 | <int-e> | know -> knot |
| 2022-12-18 20:49:02 +0000 | <int-e> | and EDSL, more specifically |
| 2022-12-18 20:50:48 +0000 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
| 2022-12-18 20:52:20 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2022-12-18 20:52:59 +0000 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 2022-12-18 20:53:42 +0000 | <EvanR> | yeah [(Int,String)] merging monoid |
| 2022-12-18 20:54:47 +0000 | acarrico | (~acarrico@dhcp-68-142-49-34.greenmountainaccess.net) |
| 2022-12-18 20:54:50 +0000 | morb | (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Remote host closed the connection) |
| 2022-12-18 20:55:19 +0000 | dfip^ | (~dfip@76.145.185.103) (Remote host closed the connection) |
| 2022-12-18 20:55:35 +0000 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) |
| 2022-12-18 20:56:17 +0000 | morb | (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) |
| 2022-12-18 20:57:38 +0000 | beefbambi | (~beefbambi@183.82.30.144) (Read error: Connection reset by peer) |
| 2022-12-18 20:58:12 +0000 | beefbambi | (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) |
| 2022-12-18 21:00:09 +0000 | beefbambi | (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer) |
| 2022-12-18 21:00:26 +0000 | beefbambi | (~beefbambi@183.82.30.144) |
| 2022-12-18 21:01:59 +0000 | lottaquestions | (~nick@2607:fa49:503e:7100:83b1:b98a:c83f:3b94) (Remote host closed the connection) |
| 2022-12-18 21:02:26 +0000 | lottaquestions | (~nick@2607:fa49:503e:7100:3634:992e:e32f:8e6c) |
| 2022-12-18 21:03:09 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds) |
| 2022-12-18 21:03:26 +0000 | morb | (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Remote host closed the connection) |
| 2022-12-18 21:03:53 +0000 | beefbambi | (~beefbambi@183.82.30.144) (Read error: Connection reset by peer) |
| 2022-12-18 21:04:37 +0000 | beefbambi | (~beefbambi@183.82.30.144) |
| 2022-12-18 21:06:32 +0000 | dsrt^ | (~dsrt@76.145.185.103) |
| 2022-12-18 21:06:33 +0000 | beefbambi | (~beefbambi@183.82.30.144) (Read error: Connection reset by peer) |
| 2022-12-18 21:06:53 +0000 | beefbambi | (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) |
| 2022-12-18 21:09:41 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2022-12-18 21:11:31 +0000 | Inst | (~Inst@2601:6c4:4081:54f0:38bc:71f6:776d:9675) |
| 2022-12-18 21:16:49 +0000 | beefbambi | (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer) |
| 2022-12-18 21:17:13 +0000 | beefbambi | (~beefbambi@183.82.30.144) |
| 2022-12-18 21:18:03 +0000 | acidjnk | (~acidjnk@p200300d6e7137a394052686d931fefc2.dip0.t-ipconnect.de) |
| 2022-12-18 21:18:50 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2022-12-18 21:19:58 +0000 | son0p | (~ff@2604:3d08:5b7f:5540::417e) |
| 2022-12-18 21:23:14 +0000 | Everything | (~Everythin@37.115.210.35) (Quit: leaving) |
| 2022-12-18 21:23:22 +0000 | <sayola1> | hmh i compared list vs endo in a simple test in performance and endo was not faster. |
| 2022-12-18 21:26:08 +0000 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 2022-12-18 21:26:12 +0000 | morb | (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) |
| 2022-12-18 21:30:13 +0000 | Luj3 | (~Luj@2a01:e0a:5f9:9681:3ebd:6349:a3e:563d) |
| 2022-12-18 21:31:50 +0000 | ardell | (~ardell@user/ardell) |
| 2022-12-18 21:32:09 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2022-12-18 21:38:26 +0000 | ardell | (~ardell@user/ardell) (Quit: Konversation terminated!) |
| 2022-12-18 21:39:46 +0000 | <EvanR> | for repeatedly appending to the end of a list and finally processing from the beginning, I haven't been able to get an argument for why Endo (or diff list) would be much better (at all better?) |
| 2022-12-18 21:40:19 +0000 | <EvanR> | diff list seems to win if you are combining strings in random ways like document formatting |
| 2022-12-18 21:41:25 +0000 | Patternmaster | (~georg@user/Patternmaster) (Ping timeout: 260 seconds) |
| 2022-12-18 21:43:52 +0000 | bjobjo | (~bjobjo@user/bjobjo) (Quit: leaving) |
| 2022-12-18 21:43:53 +0000 | <EvanR> | cons cons cons finally reverse, vs ([x] ++) . ([x] ++) . ([x] ++) and finally apply []. Both build up N somethings until you're ready to consume the stream |
| 2022-12-18 21:44:23 +0000 | <sayola1> | i fail to reason how ghc optimizes things. imo Endo would be faster, but ghc does things and then a list is just good enough. |
| 2022-12-18 21:44:40 +0000 | <EvanR> | why would Endo be faster? |
| 2022-12-18 21:46:09 +0000 | <sayola1> | endo isnt appending like ++ to an end, but maintains an incomplete list ending to which to append in O(1) afaik. |
| 2022-12-18 21:46:19 +0000 | <EvanR> | oh definitely don't do xs ++ [x] |
| 2022-12-18 21:46:53 +0000 | fizbin | (~fizbin@user/fizbin) |
| 2022-12-18 21:47:21 +0000 | <EvanR> | yeah f . ([x] ++) is O(1). But converting the chain of . into a normal list is not |
| 2022-12-18 21:49:32 +0000 | <geekosaur> | but if it can avoid repeatedly re-traversing then it's O(n) instead of O(n*m) where m is the number of segments |
| 2022-12-18 21:49:47 +0000 | <geekosaur> | sadly I'n to tired to figure if it actually does that |
| 2022-12-18 21:49:53 +0000 | <geekosaur> | *I'm |
| 2022-12-18 21:49:55 +0000 | <EvanR> | yes xs ++ [x] is extra bad |
| 2022-12-18 21:50:08 +0000 | johnw | (~johnw@2600:1700:cf00:db0:6524:1c2a:8eda:bee4) (Quit: ZNC - http://znc.in) |
| 2022-12-18 21:50:12 +0000 | <EvanR> | but O(n) results in a tie with "just reverse a backward list in the end" |
| 2022-12-18 21:50:28 +0000 | <sayola1> | solving the chain is optimized by ghc it seems |
| 2022-12-18 21:51:16 +0000 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 2022-12-18 21:51:16 +0000 | <EvanR> | stories we tell ourselves xD |
| 2022-12-18 21:53:19 +0000 | morb | (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Remote host closed the connection) |
| 2022-12-18 21:54:13 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 2022-12-18 21:54:26 +0000 | <sayola1> | i suck at testing, but thats what worked for me yesterday. i compared `f . (x:)` append vs front add and reverse. |
| 2022-12-18 21:55:21 +0000 | <EvanR> | sayola1, I support your first observation. I've compared just cons to a backward list and reverse at the end, vs endo list builder (for this specific purpose only, not stuff like blaze), and the dumb backward list was faster |
| 2022-12-18 21:57:06 +0000 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
| 2022-12-18 21:57:40 +0000 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Quit: Lost terminal) |
| 2022-12-18 21:57:53 +0000 | morb | (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) |
| 2022-12-18 21:59:03 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-12-18 22:00:40 +0000 | <sayola1> | welp |
| 2022-12-18 22:01:59 +0000 | j4cc3b | (~j4cc3b@pool-74-105-2-138.nwrknj.fios.verizon.net) |
| 2022-12-18 22:03:15 +0000 | morb | (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Remote host closed the connection) |
| 2022-12-18 22:06:15 +0000 | morb | (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) |
| 2022-12-18 22:06:43 +0000 | <j4cc3b> | I have been using advent of code to learn haskell. I am hard stuck on Day 7. I have parsed the input into a list of different options, but do not know of a haskell way to proceed. |
| 2022-12-18 22:07:17 +0000 | <j4cc3b> | In another language, i would make a loop and keep the complete path string in a local variable to the loop that i could adjust when the dir is changed, or files are listed |
| 2022-12-18 22:07:42 +0000 | <j4cc3b> | any pointers or concepts I should look into? |
| 2022-12-18 22:08:07 +0000 | <j4cc3b> | my (limited) intuition tells me I should make some sort of function that I can fold over my list of parsed inputs |
| 2022-12-18 22:08:33 +0000 | <j4cc3b> | but i dont know how to do that with stateful things, like the current path name and size of the directories |
| 2022-12-18 22:09:11 +0000 | <EvanR> | I just made a Map of path to contents |
| 2022-12-18 22:09:25 +0000 | goober | (~goober@90-231-13-185-no3430.tbcn.telia.com) (Remote host closed the connection) |
| 2022-12-18 22:09:48 +0000 | <EvanR> | you could also iteratively build a filesystem tree procedurally using a zipper, if you wanna get fancy |
| 2022-12-18 22:09:52 +0000 | <j4cc3b> | I haven't used map yet in haskell. How did you build a map out of the parsed inputs? just a self made recursive function? |
| 2022-12-18 22:10:08 +0000 | <sayola1> | i used a recursive function with the current path state as a function argument |
| 2022-12-18 22:10:25 +0000 | <j4cc3b> | i should be clearer. I haven't used Data.Map yet, not to be confused with regular map |
| 2022-12-18 22:10:45 +0000 | <j4cc3b> | okay. I'll try reading into Data.Map more. Thanks! |
| 2022-12-18 22:10:54 +0000 | <dsal> | I made a foldable structure `data Tree a = Tree { files :: a, subs :: Map String (Tree a) }` and then parsed it into a `Tree (Sum Int)` |
| 2022-12-18 22:10:57 +0000 | morb | (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Remote host closed the connection) |
| 2022-12-18 22:11:05 +0000 | <EvanR> | I foldl' over the commands |
| 2022-12-18 22:11:24 +0000 | <EvanR> | the path base and the Map are in the accumulator |
| 2022-12-18 22:12:42 +0000 | <j4cc3b> | wait, how did you place both the path and the whole Map into the accumulator? |
| 2022-12-18 22:12:54 +0000 | <sayola1> | two accumulators |
| 2022-12-18 22:12:57 +0000 | <EvanR> | a tuple with 2 components |
| 2022-12-18 22:13:02 +0000 | <j4cc3b> | OH SHIT |
| 2022-12-18 22:13:18 +0000 | <j4cc3b> | I never considered tuples as an accumulator |
| 2022-12-18 22:13:21 +0000 | <j4cc3b> | this is life changing |
| 2022-12-18 22:13:24 +0000 | <EvanR> | ikr |
| 2022-12-18 22:14:02 +0000 | blades | (~blades@204.48.29.163) (Quit: bye) |
| 2022-12-18 22:14:08 +0000 | <j4cc3b> | similar thinking: I can use a tuple anywhere a type signature has a generic like `a` or `b`? |
| 2022-12-18 22:14:35 +0000 | <EvanR> | implicitly, a or b is "any type" |
| 2022-12-18 22:14:42 +0000 | <EvanR> | and if c, d are types, (c,d) is a type |
| 2022-12-18 22:14:56 +0000 | <j4cc3b> | but a could be (c,d), right? |
| 2022-12-18 22:14:59 +0000 | <dsal> | :t id |
| 2022-12-18 22:15:00 +0000 | <lambdabot> | a -> a |
| 2022-12-18 22:15:01 +0000 | <EvanR> | yeah |
| 2022-12-18 22:15:04 +0000 | <dsal> | > id (1,2) |
| 2022-12-18 22:15:06 +0000 | <lambdabot> | (1,2) |
| 2022-12-18 22:15:08 +0000 | <j4cc3b> | i've never made this connection before. Wow, thanks a lot |
| 2022-12-18 22:18:59 +0000 | dixie | (~dixie@real.wilbury.sk) (Ping timeout: 260 seconds) |
| 2022-12-18 22:19:34 +0000 | TonyStone | (~TonyStone@cpe-74-76-57-186.nycap.res.rr.com) (Ping timeout: 252 seconds) |
| 2022-12-18 22:22:19 +0000 | TonyStone | (~TonyStone@cpe-74-76-57-186.nycap.res.rr.com) |
| 2022-12-18 22:22:32 +0000 | <dsal> | j4cc3b: in the example above, `a -> a` means there's no type the function can refuse. But also, there's not much it can do. |
| 2022-12-18 22:22:42 +0000 | bjobjo | (~bjobjo@user/bjobjo) |
| 2022-12-18 22:23:18 +0000 | j4cc3b | (~j4cc3b@pool-74-105-2-138.nwrknj.fios.verizon.net) (Ping timeout: 260 seconds) |
| 2022-12-18 22:32:13 +0000 | perrierjouet | (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.7.1) |
| 2022-12-18 22:33:19 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds) |
| 2022-12-18 22:34:50 +0000 | yuribarros | (~yuribarro@2804:14c:65e4:865c::1000) (Ping timeout: 265 seconds) |
| 2022-12-18 22:35:16 +0000 | perrierjouet | (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) |
| 2022-12-18 22:36:24 +0000 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) |
| 2022-12-18 22:38:06 +0000 | paulpaul1076 | (~textual@95-29-5-111.broadband.corbina.ru) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2022-12-18 22:38:56 +0000 | yuribarros | (~yuribarro@2804:14c:65e4:865c::1000) |
| 2022-12-18 22:39:17 +0000 | <EvanR> | I'm here to make you a type that you can't refuse |
| 2022-12-18 22:39:27 +0000 | TonyStone | (~TonyStone@cpe-74-76-57-186.nycap.res.rr.com) (Quit: Leaving) |
| 2022-12-18 22:39:51 +0000 | morb | (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) |
| 2022-12-18 22:40:04 +0000 | paulpaul1076 | (~textual@95-29-5-111.broadband.corbina.ru) |
| 2022-12-18 22:42:18 +0000 | <geekosaur> | isn't that more like `undefined :: a`? |
| 2022-12-18 22:42:19 +0000 | fizbin | (~fizbin@user/fizbin) (Ping timeout: 260 seconds) |
| 2022-12-18 22:42:44 +0000 | adium | (adium@user/adium) (Ping timeout: 272 seconds) |
| 2022-12-18 22:44:38 +0000 | morb | (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Ping timeout: 272 seconds) |
| 2022-12-18 22:44:55 +0000 | paulpaul1076 | (~textual@95-29-5-111.broadband.corbina.ru) (Ping timeout: 256 seconds) |
| 2022-12-18 22:46:05 +0000 | adium | (adium@user/adium) |
| 2022-12-18 22:46:16 +0000 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1) |
| 2022-12-18 22:47:02 +0000 | Patternmaster | (~georg@user/Patternmaster) |
| 2022-12-18 22:47:16 +0000 | <Inst> | can someone explain endofunctors to me in the legendary / infamous "Monads are just a monoid in the category of monads?" |
| 2022-12-18 22:47:39 +0000 | <Inst> | erm, category of endofunctors, not category of monads |
| 2022-12-18 22:47:45 +0000 | <EvanR> | do you know what a regular functor is, between two categories C -> D |
| 2022-12-18 22:47:55 +0000 | <Inst> | what is the category being discussed? |
| 2022-12-18 22:48:04 +0000 | <EvanR> | C and D are any two categories |
| 2022-12-18 22:48:05 +0000 | <Inst> | I have a working understanding of monads, i.e, they're eta and mu |
| 2022-12-18 22:48:12 +0000 | <Inst> | endofunctor is C -> C |
| 2022-12-18 22:48:17 +0000 | <EvanR> | there you go |
| 2022-12-18 22:48:26 +0000 | <Inst> | but what's C? |
| 2022-12-18 22:48:50 +0000 | <Inst> | it's considered a monoid because eta / mu, or join / pure form a monad by cancelling each other out to form an identity element |
| 2022-12-18 22:48:56 +0000 | <Inst> | and join is associative |
| 2022-12-18 22:49:03 +0000 | <EvanR> | it could be anything, e.g. Hask |
| 2022-12-18 22:49:13 +0000 | <Inst> | in a Haskell context, it's hask |
| 2022-12-18 22:49:24 +0000 | <Inst> | I've had people tell me Hask is not a category due to the presence of undefined / bottom |
| 2022-12-18 22:49:31 +0000 | <EvanR> | it's fine |
| 2022-12-18 22:49:44 +0000 | <Inst> | and other people tell me that the Hask is not a category folks are wrong |
| 2022-12-18 22:50:14 +0000 | <EvanR> | the quote you gave doesn't have much to do with haskell |
| 2022-12-18 22:50:26 +0000 | <EvanR> | so you don't even have to figure that part out xD |
| 2022-12-18 22:50:32 +0000 | <Inst> | also, the problem with monads is that we are unclear as to what we're referring to when we say monads, i.e, monadic patterned programming, monadic types, monad typeclass, cat theory monads |
| 2022-12-18 22:50:39 +0000 | <Inst> | also leibniz and greeks |
| 2022-12-18 22:51:05 +0000 | <EvanR> | also there's a cosmic entity in D&D called the monad or something |
| 2022-12-18 22:51:31 +0000 | perrierjouet | (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.7.1) |
| 2022-12-18 22:51:32 +0000 | <Inst> | for instance, if we say, promises are a monad (iirc, do they fail left identity or right identity), we seem to be discussing monadic patterened programming, but not a monadic type |
| 2022-12-18 22:51:33 +0000 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 2022-12-18 22:51:44 +0000 | <Inst> | as well as cat theory monads, afaik |
| 2022-12-18 22:51:49 +0000 | <EvanR> | "whatever is a monad" in haskell means it satisfies the Monad class and the laws |
| 2022-12-18 22:52:04 +0000 | <Inst> | yeah, the most common reference is "monadic datatype" |
| 2022-12-18 22:52:22 +0000 | <EvanR> | capital M Monad class helps avoid confusion |
| 2022-12-18 22:52:59 +0000 | <Inst> | https://hasura.io/blog/parser-combinators-walkthrough/#fn1 |
| 2022-12-18 22:53:14 +0000 | <Inst> | i'm oriented toward this guy's hill |
| 2022-12-18 22:54:27 +0000 | <EvanR> | sounds like you're well equipped to spot and autocorrect any lousy usage of monadic jargon |
| 2022-12-18 22:55:22 +0000 | <Inst> | functor / covariant functors seems confusing, though, as in |
| 2022-12-18 22:55:35 +0000 | <Inst> | a functor is supposed to lift a category in such a way that it's structure-preserving |
| 2022-12-18 22:55:47 +0000 | <Inst> | but obv, Proxy is a functor, but it seems to destroy structure |
| 2022-12-18 22:55:48 +0000 | <EvanR> | a functor lifts morphisms |
| 2022-12-18 22:55:48 +0000 | <geekosaur> | "endo" means within. so an endofunctor is a functor within a category |
| 2022-12-18 22:55:53 +0000 | <Inst> | ah |
| 2022-12-18 22:56:12 +0000 | <geekosaur> | C -> C as opposed to C -> D or C -> Foo or whatever |
| 2022-12-18 22:57:01 +0000 | <EvanR> | functors can e.g. map all objects to 1 thing and all morphisms to id : that -> that, not a problem |
| 2022-12-18 22:57:09 +0000 | bitdex_ | (~bitdex@gateway/tor-sasl/bitdex) |
| 2022-12-18 22:57:15 +0000 | <EvanR> | category theory people love that kind of thing |
| 2022-12-18 22:58:15 +0000 | <Inst> | TBH, I had an interesting talk with a Lisper |
| 2022-12-18 22:58:40 +0000 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2022-12-18 22:58:41 +0000 | <Inst> | Haskell is interesting and distinct from, say, Lisp, because it really privileges composition as a mode of programming |
| 2022-12-18 22:58:45 +0000 | <Inst> | true / false? |
| 2022-12-18 22:59:52 +0000 | <Inst> | probably false, since both Haskell and Lisp are based on lambda calculus, which is highly compositional |
| 2022-12-18 22:59:53 +0000 | <EvanR> | it privileges coding without 10,000 parentheses per page |
| 2022-12-18 23:00:04 +0000 | <geekosaur> | I'd say true because that even permeates the compiler, which tries to rewrite things into compositions and then rearranges those |
| 2022-12-18 23:00:18 +0000 | <geekosaur> | Lisp is also based on lambda callculus, but privileges a different aspect of it |
| 2022-12-18 23:00:24 +0000 | <Inst> | but haskell at least has ridiculous favoritism to composition as a mode of thinking etc within the compiler |
| 2022-12-18 23:00:38 +0000 | xacktm | (~xacktm@user/xacktm) (Quit: fBNC - https://bnc4free.com) |
| 2022-12-18 23:00:45 +0000 | andreas303 | (andreas303@ip227.orange.bnc4free.com) (Quit: fBNC - https://bnc4free.com) |
| 2022-12-18 23:01:18 +0000 | <Inst> | I'm only trivially familiar with Lisp, I'm thinking about picking up Racket just to get a hold of meta-programming, and because Haskell is hard when you want to do IO, to make productive, non-trivial programs |
| 2022-12-18 23:01:26 +0000 | <EvanR> | fusion basically requires thinking of stuff as compositions |
| 2022-12-18 23:01:59 +0000 | <EvanR> | the IO type is great |
| 2022-12-18 23:02:17 +0000 | <EvanR> | stash it in a data structure, send one through a channel, lol |
| 2022-12-18 23:02:23 +0000 | <Inst> | it's not, one, IO is not trivially decomposable, no? |
| 2022-12-18 23:02:24 +0000 | <geekosaur> | I don't find Haskell that hard. phrasing something well for the Haskell view of IO is hard, but usually worth it because it helps you separate concerns |
| 2022-12-18 23:02:38 +0000 | <Inst> | More specifically, I'm comfortable with readFile / writeFile |
| 2022-12-18 23:02:38 +0000 | <geekosaur> | you could sort of think of it as MVC taken to its limit |
| 2022-12-18 23:02:47 +0000 | <Inst> | but you need to understand IO libs |
| 2022-12-18 23:02:57 +0000 | <Inst> | then there's a preference for streaming IO over lazy IO / strict IO |
| 2022-12-18 23:03:19 +0000 | <EvanR> | isn't there a preference of streaming everywhere? |
| 2022-12-18 23:03:34 +0000 | <geekosaur> | and even more than composition, Haskell privileges continuations |
| 2022-12-18 23:03:44 +0000 | <Inst> | continuations I don't get, unfortunately |
| 2022-12-18 23:04:05 +0000 | <Inst> | Cont monad, I'm aware of, but don't really understand, nor do I understand how to program in CPS style |
| 2022-12-18 23:04:25 +0000 | <Inst> | especially since, afaik, CPS doesn't present substantial performance benefits in Haskell |
| 2022-12-18 23:04:34 +0000 | <geekosaur> | don't worry, almost nobody understands Cont 🙂 |
| 2022-12-18 23:04:40 +0000 | <Inst> | "mother of all monads" |
| 2022-12-18 23:04:45 +0000 | <Inst> | i.e, all monads can be generated from Contd |
| 2022-12-18 23:04:52 +0000 | <Inst> | ContT |
| 2022-12-18 23:04:52 +0000 | <EvanR> | CPS versions of many libs exist for performance basically |
| 2022-12-18 23:05:20 +0000 | <EvanR> | there's a CPS Writer monad |
| 2022-12-18 23:05:22 +0000 | <geekosaur> | and the compiler rewrites everything it can to CPS |
| 2022-12-18 23:05:33 +0000 | <Inst> | but the IO complaint basically comes down to, beyond IO readFile / writeFile, most IO is unergonomic / requires libraries to be ergonomic |
| 2022-12-18 23:05:43 +0000 | <Inst> | is CPS writer monad cancer? |
| 2022-12-18 23:05:46 +0000 | <Inst> | I'm told WriterT is cancer |
| 2022-12-18 23:06:02 +0000 | <Inst> | as of 2020, still space-leaking like a universe |
| 2022-12-18 23:06:12 +0000 | <geekosaur> | that's because of the limitations of WriterT |
| 2022-12-18 23:06:12 +0000 | <EvanR> | I/O is unergonomic, that's not haskell's fault xD |
| 2022-12-18 23:06:43 +0000 | <EvanR> | Writer is fine, but maybe the naming is to evocative |
| 2022-12-18 23:06:46 +0000 | <Inst> | but the reason I'm headed to Racket next is because most IO things you want to do are handled by IO libs |
| 2022-12-18 23:07:07 +0000 | <Inst> | and I find it very hard to "get" or master IO libs, in part because IO layer seems substantially harder to train / practice than pure layer |
| 2022-12-18 23:07:14 +0000 | <geekosaur> | and there's not a lot of pressure to fix it because nobody to speak of uses it, because of its limitations (which have less to do with space leaks than with an earlier discussion you missed) |
| 2022-12-18 23:07:33 +0000 | <geekosaur> | [18 20:38:05] <c_wraith> sort of, yeah. a good logger gets things onto disk as fast as possible |
| 2022-12-18 23:07:33 +0000 | <geekosaur> | [18 20:38:26] <c_wraith> Writer accumulates things and completes (or fails) the whole computation before logging anything |
| 2022-12-18 23:07:37 +0000 | <Inst> | I'm on Windows, and IIRc Hecate's working on GUI lib |
| 2022-12-18 23:07:54 +0000 | <Inst> | I honestly dislike Monads and would prefer a different effect system if possible, tbh |
| 2022-12-18 23:08:02 +0000 | <geekosaur> | but Writer looks like something for logging |
| 2022-12-18 23:08:13 +0000 | shailangsa | (~shailangs@host217-39-45-196.range217-39.btcentralplus.com) () |
| 2022-12-18 23:08:21 +0000 | <Inst> | whereas Writer keeps a log within pure code |
| 2022-12-18 23:08:32 +0000 | <EvanR> | no, it's not good for logging period |
| 2022-12-18 23:08:42 +0000 | <Inst> | then provides a dump of it on request |
| 2022-12-18 23:08:55 +0000 | <geekosaur> | you've come to an odd place if you dislike monads |
| 2022-12-18 23:08:57 +0000 | <EvanR> | you can't even do that with Writer xD |
| 2022-12-18 23:09:09 +0000 | <Hecate> | I am nowhere near completion wrt to ghcup's GTK interface |
| 2022-12-18 23:09:15 +0000 | <Hecate> | (help very much welcome btw) |
| 2022-12-18 23:09:21 +0000 | <Hecate> | (GTK is kicking my ass) |
| 2022-12-18 23:09:23 +0000 | <geekosaur> | and may be in trouble as the concept, if not the implementation, is making inroads in a number of languages |
| 2022-12-18 23:09:24 +0000 | <Inst> | wish I could help you |
| 2022-12-18 23:09:32 +0000 | <monochrom> | At this point I'm convinced that everyone disagree on what "logging" means. |
| 2022-12-18 23:09:32 +0000 | <dibblego> | I don't even know what it means to dislike monads |
| 2022-12-18 23:09:53 +0000 | <Inst> | dibblego: understanding / misunderstanding papers talking about limitations of monads |
| 2022-12-18 23:10:06 +0000 | <Hecate> | The Applicative zealots are back at it again |
| 2022-12-18 23:10:21 +0000 | <Inst> | the anti-monad argument comes as "monads are a transitional form of effect systems and there has to be a better way to do algebraic effects than with monads" |
| 2022-12-18 23:10:48 +0000 | <geekosaur> | sadly, nobody's actually found one yet |
| 2022-12-18 23:10:49 +0000 | <dibblego> | that argument is more to do with "effects" than monads |
| 2022-12-18 23:10:52 +0000 | <Inst> | I'd think it's just rare to hate monads for other reasons than "monads are hard" |
| 2022-12-18 23:10:59 +0000 | <Inst> | also, pure code isn't really pure ;) |
| 2022-12-18 23:11:03 +0000 | <Inst> | because they side effect space and time |
| 2022-12-18 23:11:10 +0000 | <EvanR> | monads aren't effect systems so that's an issue right there |
| 2022-12-18 23:11:15 +0000 | <Inst> | which is where mtl etc, barris alexis king's efforts, suck |
| 2022-12-18 23:11:18 +0000 | <dibblego> | "hate monads" invokes the same feeling as "hating the number 3" |
| 2022-12-18 23:11:25 +0000 | <Inst> | I love the number 9 |
| 2022-12-18 23:11:32 +0000 | <dibblego> | I don't, because it's not 8 |
| 2022-12-18 23:11:32 +0000 | <Inst> | because it's the first number in the multiplication table my mother taught me |
| 2022-12-18 23:11:57 +0000 | <monochrom> | 6 is very afraid. |
| 2022-12-18 23:12:16 +0000 | <EvanR> | (:[]) 6 |
| 2022-12-18 23:12:17 +0000 | Lycurgus | (~juan@user/Lycurgus) |
| 2022-12-18 23:12:19 +0000 | <Inst> | i wonder if people are, erm, what's the term? |
| 2022-12-18 23:12:26 +0000 | <dibblego> | one of the biggest limitations of 6 is that you cannot use it as an odd number |
| 2022-12-18 23:12:34 +0000 | <Inst> | synaesthetic with numbers |
| 2022-12-18 23:12:35 +0000 | <Lycurgus> | all good things are 3, monads, meh |
| 2022-12-18 23:12:37 +0000 | <dibblego> | gotta be a better way |
| 2022-12-18 23:13:04 +0000 | <Inst> | well, you can, by stapling it into a multiplication with an odd number, no? |
| 2022-12-18 23:13:27 +0000 | <dibblego> | yeah that's the 6 hack |
| 2022-12-18 23:14:04 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) (Remote host closed the connection) |
| 2022-12-18 23:14:56 +0000 | <geekosaur> | are we recapitulating that argument the other day which ended with "all primes are odd except 2, which makes it the oddest prime"? |
| 2022-12-18 23:15:10 +0000 | <dibblego> | haha I missed that |
| 2022-12-18 23:16:01 +0000 | <Inst> | the sad thing is, the many of the useful properties associated with the number 9 revolve around it being the largest single-digit number in base 10 |
| 2022-12-18 23:16:16 +0000 | LemanR | (~LemanR@2607:fb90:54b0:6e01:9403:ba62:4ea3:9eb9) |
| 2022-12-18 23:16:27 +0000 | perrierjouet | (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) |
| 2022-12-18 23:17:32 +0000 | <Inst> | btw, since people seem to be active |
| 2022-12-18 23:17:38 +0000 | <Inst> | if i have code embedded into a closure |
| 2022-12-18 23:17:51 +0000 | <Inst> | or rather, a definition within a definition as with where or let |
| 2022-12-18 23:17:58 +0000 | <Inst> | there is no way to access the code, right? |
| 2022-12-18 23:18:11 +0000 | <Inst> | since I tend to stuff crap into nested definitions these days |
| 2022-12-18 23:20:46 +0000 | xacktm | (~xacktm@user/xacktm) |
| 2022-12-18 23:20:48 +0000 | <dsal> | You're being a bit loose with terminology. What do you mean "to access the code" ? |
| 2022-12-18 23:21:46 +0000 | <Inst> | say, I have code nested within code to indicated organization |
| 2022-12-18 23:21:50 +0000 | Lycurgus | (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz) |
| 2022-12-18 23:22:01 +0000 | <Inst> | or to present an abstract interface denying access to the internals |
| 2022-12-18 23:22:13 +0000 | <Inst> | how do I access the internals, then, for testing purposes? |
| 2022-12-18 23:22:27 +0000 | <glguy> | You don't |
| 2022-12-18 23:22:33 +0000 | <Inst> | a particularly egregious example would be the time I built a closure to prevent passing around a 33 mb Map around |
| 2022-12-18 23:22:45 +0000 | <Inst> | can't you do something with template Haskell to take it out? |
| 2022-12-18 23:22:49 +0000 | <glguy> | nope |
| 2022-12-18 23:23:46 +0000 | morb | (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) |
| 2022-12-18 23:24:05 +0000 | <EvanR> | you can nest functions in a where clause that are then packed into a record that gets returned for poor man's OOP |
| 2022-12-18 23:24:48 +0000 | <EvanR> | if you don't actually want that but still want organization use modules |
| 2022-12-18 23:25:45 +0000 | oopzzozzo | (~Thunderbi@user/oopzzozzo) |
| 2022-12-18 23:27:02 +0000 | fserucas | (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Ping timeout: 246 seconds) |
| 2022-12-18 23:28:24 +0000 | Tuplanolla | (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Ping timeout: 260 seconds) |
| 2022-12-18 23:28:46 +0000 | <Inst> | yeah but closures, i.e, being able to refer to parameters given on higher level |
| 2022-12-18 23:29:05 +0000 | <dsal> | They can reach up, but you can't reach down. |
| 2022-12-18 23:29:18 +0000 | <Inst> | i was just wondering why no one has considered that because nesting etc, or at least sub-modules, enhances code organization and also hides APIs |
| 2022-12-18 23:29:36 +0000 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
| 2022-12-18 23:29:59 +0000 | <Inst> | since it is a complaint with FP that there are too many functions, some of them are useful in a modularized state |
| 2022-12-18 23:30:08 +0000 | <Inst> | some of them are merely convenience to enhance readability |
| 2022-12-18 23:30:14 +0000 | <dsal> | Who's complained that there are too many functions? |
| 2022-12-18 23:30:28 +0000 | <Inst> | people coming into FP from IP / mainstream programming |
| 2022-12-18 23:31:18 +0000 | oopzzozzo | (~Thunderbi@user/oopzzozzo) (Quit: oopzzozzo) |
| 2022-12-18 23:31:23 +0000 | andreas303 | (andreas303@ip227.orange.bnc4free.com) |
| 2022-12-18 23:31:31 +0000 | oopzzozzo | (~Thunderbi@user/oopzzozzo) |
| 2022-12-18 23:31:39 +0000 | <dsal> | I guess I've not seen that one. Mostly in other languages I see too many things that could be functions, but aren't so you have to learn some different behavior. |
| 2022-12-18 23:32:25 +0000 | <Inst> | https://chrisdone.com/posts/haskell-lisp-philosophy-difference/ |
| 2022-12-18 23:32:28 +0000 | <Inst> | which he's retracted |
| 2022-12-18 23:34:12 +0000 | LemanR | (~LemanR@2607:fb90:54b0:6e01:9403:ba62:4ea3:9eb9) (Quit: Client closed) |
| 2022-12-18 23:35:10 +0000 | <EvanR> | I think mainstream programming doesn't have enough functions |
| 2022-12-18 23:35:14 +0000 | <Inst> | w/e, i'll get off venting about Haskell for a day |
| 2022-12-18 23:35:25 +0000 | <Inst> | okay, maybe not |
| 2022-12-18 23:35:27 +0000 | slack1256 | (~slack1256@186.11.29.60) |
| 2022-12-18 23:36:15 +0000 | <Inst> | there are two cons of a FP approach (or, for that matter, a Lisp-like minimum syntax) |
| 2022-12-18 23:36:22 +0000 | <Inst> | first, too many functions lying around that you have to learn and memorize |
| 2022-12-18 23:36:25 +0000 | <EvanR> | for example, elixir has a function that maps a Map but only bringing the key along. Nothing built in to like fmap |
| 2022-12-18 23:36:44 +0000 | LemanR | (~LemanR@2607:fb90:54b0:6e01:9403:ba62:4ea3:9eb9) |
| 2022-12-18 23:36:51 +0000 | <Inst> | no typeclasses in Elixir, right? |
| 2022-12-18 23:37:06 +0000 | <EvanR> | you don't have to learn any functions, you can paste the code from those functions everywhere they would be used |
| 2022-12-18 23:37:38 +0000 | <EvanR> | that that just works is another benefit of functional programming |
| 2022-12-18 23:37:38 +0000 | <Inst> | which is less convenient than reading stuff, and arguably makes for less readable code |
| 2022-12-18 23:37:41 +0000 | <Inst> | it creates a scalability issue |
| 2022-12-18 23:38:15 +0000 | <Inst> | you can implement a MSP / IP-type minimum API with definition nesting, or for that matter, modules, but my experiment with modular layout was that there were too many modules |
| 2022-12-18 23:38:38 +0000 | <Inst> | definition nesting creates the issue that subfunctions are hard to test |
| 2022-12-18 23:38:54 +0000 | <EvanR> | yeah so why would you do it |
| 2022-12-18 23:39:06 +0000 | kenaryn | (~aurele@89-88-44-27.abo.bbox.fr) (Quit: leaving) |
| 2022-12-18 23:39:07 +0000 | <EvanR> | that's a problem in every language that has inner functions |
| 2022-12-18 23:39:41 +0000 | <Inst> | organization, i.e, i don't want a given function to be exposed to the public namespace |
| 2022-12-18 23:39:51 +0000 | <Inst> | but the problem with not being exposed to the public namespace is, well, can't test |
| 2022-12-18 23:40:12 +0000 | <EvanR> | namespace management is something you do at the module level |
| 2022-12-18 23:40:20 +0000 | <EvanR> | not inside a function |
| 2022-12-18 23:40:42 +0000 | <EvanR> | export or not what you want exported, or not |
| 2022-12-18 23:41:12 +0000 | <Inst> | but with single-file modules, you end up with problems |
| 2022-12-18 23:41:18 +0000 | <Inst> | from a UI perspective |
| 2022-12-18 23:41:24 +0000 | <Inst> | having to switch screens, create more tabs, so on so forth |
| 2022-12-18 23:41:53 +0000 | <EvanR> | I use bookmarks to go between parts of the same file or different files, seems the same |
| 2022-12-18 23:42:01 +0000 | <Inst> | i guess for *nixers, you have grep, so not being able to ctrl f isn't that much of a deal |
| 2022-12-18 23:42:26 +0000 | <Inst> | also, afaik, multi-modules, while supported in OCaml, aren't much used there |
| 2022-12-18 23:42:56 +0000 | <Inst> | easiest way, tbh, might be to have a different export syntax |
| 2022-12-18 23:43:02 +0000 | <EvanR> | probably because they actually want to be organized xD |
| 2022-12-18 23:43:49 +0000 | <Inst> | to access let expressions and where clauses |
| 2022-12-18 23:44:13 +0000 | <dsal> | I don't think I understand the problem. I use Haskell mostly because I find it easier to understand and refactor code vs. other stuff I've used. |
| 2022-12-18 23:44:24 +0000 | <EvanR> | 100% |
| 2022-12-18 23:44:44 +0000 | Kaiepi | (~Kaiepi@108.175.84.104) (Ping timeout: 260 seconds) |
| 2022-12-18 23:44:47 +0000 | <Inst> | i guess, for the time being, i've evolved toward a style that's way too dependent on nested definitions |
| 2022-12-18 23:45:04 +0000 | <EvanR> | yeah style takes time to figure out |
| 2022-12-18 23:45:07 +0000 | <Inst> | which is one way to express code organization, and i've stated the drawbacks of other ways to do so |
| 2022-12-18 23:45:26 +0000 | <Inst> | still, it's funny making 100 line functions in Haskell |
| 2022-12-18 23:45:37 +0000 | <EvanR> | that sounds awful |
| 2022-12-18 23:45:38 +0000 | <dsal> | It's not clear what it would even mean to "access a where" clause. My where clauses often close on values other where clauses defined from each other and params. In order to access one, you'd have to push a ton of state down. |
| 2022-12-18 23:45:53 +0000 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 2022-12-18 23:45:53 +0000 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 2022-12-18 23:45:53 +0000 | wroathe | (~wroathe@user/wroathe) |
| 2022-12-18 23:45:53 +0000 | morb | (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Remote host closed the connection) |
| 2022-12-18 23:46:03 +0000 | <EvanR> | maybe they want dynamic scoping xD |
| 2022-12-18 23:46:05 +0000 | <Inst> | dsal: the main drawback of abusing nesting is weak testing |
| 2022-12-18 23:46:10 +0000 | <Inst> | what is dynamic scoping? |
| 2022-12-18 23:46:30 +0000 | <EvanR> | it's the opposite of lexical scoping |
| 2022-12-18 23:46:32 +0000 | <dsal> | We've got things nearly that long in some work code, but that's because people mix in all kinds of tracing and logging and stuff. |
| 2022-12-18 23:46:47 +0000 | <EvanR> | i.e. impossible to understand |
| 2022-12-18 23:47:12 +0000 | <dsal> | Inst: One of the schools of testing argues that you should only test the API you present. |
| 2022-12-18 23:47:13 +0000 | <Inst> | this would be an example |
| 2022-12-18 23:47:14 +0000 | <Inst> | https://github.com/liamzee/Dicewarist/blob/master/app/Dicewarist.hs |
| 2022-12-18 23:47:47 +0000 | <geekosaur> | lexical scoping means you can access bindings you are nested within. dynamic scoping means you can access bindings you were called from |
| 2022-12-18 23:47:50 +0000 | fizbin | (~fizbin@user/fizbin) |
| 2022-12-18 23:48:28 +0000 | <geekosaur> | lexical scoping is therefore clean and easy to figure out, whereas dynamic scoping could lead to nasty surprises because it's all controlled by your caller(s) |
| 2022-12-18 23:48:34 +0000 | <EvanR> | imagine if you could "access" equations in a where clause, but the free variables suddenly point somewhere else xD |
| 2022-12-18 23:48:49 +0000 | <EvanR> | very "handy" |
| 2022-12-18 23:48:50 +0000 | <dsal> | I like that it imports `OK (OK)` |
| 2022-12-18 23:48:50 +0000 | <Inst> | the idea is that you're not actually supposed to program with it |
| 2022-12-18 23:50:13 +0000 | <dsal> | Inst: Is there something in here you're wanting to fix? |
| 2022-12-18 23:50:34 +0000 | <dsal> | My general approach is to write the tests I think I need and then look at a coverage report. |
| 2022-12-18 23:51:12 +0000 | Kaiepi | (~Kaiepi@108.175.84.104) |
| 2022-12-18 23:51:32 +0000 | <Inst> | i mean wouldn't it be standard Haskell style to take out some of the where clausing? |
| 2022-12-18 23:51:56 +0000 | <dsal> | For what reason? |
| 2022-12-18 23:52:16 +0000 | <Inst> | because the where clausing isn't necessary |
| 2022-12-18 23:52:19 +0000 | <Inst> | it improves readability |
| 2022-12-18 23:52:33 +0000 | <dsal> | I find this super readable, so I need you to walk me a little bit. |
| 2022-12-18 23:52:55 +0000 | <dsal> | "get rid of where clause" isn't helpful to me. Which ones? Why? |
| 2022-12-18 23:53:41 +0000 | <Inst> | well, at least, expose functions to testing |
| 2022-12-18 23:54:00 +0000 | <Inst> | this whole whereclausing thing, tbh, is a miracle |
| 2022-12-18 23:54:40 +0000 | <dsal> | It's super hard to understand where you're coming from. I don't like naming things because naming things is hard, but why is naming things inherently a problem? |
| 2022-12-18 23:56:42 +0000 | <Inst> | that's more like an aside, i.e, where clausing in Haskell is a key advantage of haskell code over other languages code |
| 2022-12-18 23:56:57 +0000 | <Inst> | but it has the drawback that stuff defined within where clauses is not accessible to testing, but that's about it |
| 2022-12-18 23:57:21 +0000 | <Inst> | i guess in another language, wherein larger and less modularized functions is a norm, there's no real trade-off, so the idea wouldn't be apparent |
| 2022-12-18 23:57:27 +0000 | <Inst> | because you can't modularize in this way in other languages |
| 2022-12-18 23:57:36 +0000 | <dsal> | "where clausing" sounds really bizarre. nobody says that. Just say "naming things" |
| 2022-12-18 23:57:37 +0000 | <Inst> | it's inconvenient to do so |
| 2022-12-18 23:57:54 +0000 | <dsal> | You can name things in most languages. |
| 2022-12-18 23:57:56 +0000 | <Inst> | where makes it more specific to the where syntactical sugar |
| 2022-12-18 23:58:09 +0000 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6111:8f0f:4f2:4e8d) |
| 2022-12-18 23:58:37 +0000 | <Inst> | w/e, i don't want to cause frustration, and it's getting late |
| 2022-12-18 23:58:41 +0000 | <Inst> | thanks for humoring me |
| 2022-12-18 23:58:53 +0000 | crazazy`` | (~user@130.89.171.62) (Ping timeout: 268 seconds) |
| 2022-12-18 23:58:55 +0000 | <dsal> | Heh. Sure. That particular example can be written in almost any language. |