Home liberachat/#haskell: Logs Calendar

Logs on 2023-05-01 (liberachat/#haskell)

00:01:30 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
00:04:15 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
00:04:15 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
00:04:15 wroathe joins (~wroathe@user/wroathe)
00:12:59 × falafel quits (~falafel@2603-8000-d700-115c-a6c7-5a73-c391-763a.res6.spectrum.com) (Ping timeout: 248 seconds)
00:13:01 × gurkenglas quits (~gurkengla@dynamic-046-114-179-053.46.114.pool.telefonica.de) (Ping timeout: 276 seconds)
00:13:40 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 276 seconds)
00:14:24 × pyook quits (~puke@user/puke) (Remote host closed the connection)
00:14:35 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
00:14:45 pyook joins (~puke@user/puke)
00:30:46 × Guest3954 quits (~ix@2a02:8012:281f:0:d65d:64ff:fe52:5efe) (Quit: WeeChat 3.8)
00:31:23 ix joins (~ix@2a02:8012:281f:0:d65d:64ff:fe52:5efe)
00:33:49 × anpad quits (~pandeyan@user/anpad) (Read error: Connection reset by peer)
00:35:50 anpad joins (~pandeyan@user/anpad)
00:42:43 xff0x_ joins (~xff0x@160.86.227.171)
00:42:56 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
00:44:43 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 265 seconds)
00:47:13 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 250 seconds)
00:47:17 nate1 joins (~nate@98.45.169.16)
00:49:35 justsomeguy joins (~justsomeg@user/justsomeguy)
00:49:56 × tremon quits (~tremon@83.80.159.219) (Quit: getting boxed in)
00:55:49 Lycurgus joins (~juan@user/Lycurgus)
01:09:21 bilegeek joins (~bilegeek@2600:1008:b089:7d02:e67a:f767:a7e8:1fa6)
01:11:11 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:11:13 chexum_ joins (~quassel@gateway/tor-sasl/chexum)
01:11:23 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
01:12:08 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:d4d0:8bd2:d805:7ab6) (Remote host closed the connection)
01:15:16 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
01:16:24 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
01:17:06 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 265 seconds)
01:17:19 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:19:43 × pyook quits (~puke@user/puke) (Read error: Connection reset by peer)
01:19:56 pyook joins (~puke@user/puke)
01:22:52 × puke quits (~puke@user/puke) (Quit: puke)
01:26:05 hugo joins (znc@verdigris.lysator.liu.se)
01:33:08 gehmehgeh joins (~user@user/gehmehgeh)
01:33:36 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 250 seconds)
01:33:44 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 240 seconds)
01:37:14 <remexre> ought this program be able to typecheck? https://paste.sr.ht/~remexre/ac84eebe1b25892447ac582df8927d88c11ef088
01:37:23 × Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
01:37:25 <remexre> or no because skolems count too?
01:37:40 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
01:49:52 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 276 seconds)
01:50:46 Inst joins (~Inst@2601:6c4:4081:2fc0:5c3a:8a0b:648e:de5a)
01:51:41 <ski> i suspect that'll not work, since it'd need induction on `N'
01:52:30 <ski> (not that that'd be logically wrong, but i don't think the instance resolution machinery can handle that)
01:53:10 <int-e> it's also operationall challenging... I mean, imagine doing that with a class that's not empty.
01:54:23 <int-e> Then the code would have to generate the right instance according to the given `n`, but I expect that that's erased during compilation.
01:54:57 <ski> hm, i guess a `forall'ed constraint would be parametric in that type variable, not requiring type-passing
01:55:07 <ski> yea
01:57:23 <int-e> I guess the other question is, how are you going to use that constraint?
01:57:41 <remexre> No use-case in mind, I was just wondering
01:57:58 Guest|14 joins (~Guest|14@mobile-107-77-208-79.mobile.att.net)
02:01:15 × JScript quits (~JScript@103.137.12.21) (Ping timeout: 248 seconds)
02:02:18 <Guest|14> Hi, I was having some trouble getting ghcup working.
02:02:36 <Guest|14> here is the error report.
02:02:36 <Guest|14> [GHCup-00841] Process "make" with arguments ["DESTDIR=/home/username/.ghcup/tmp/ghcup-b6036eaa6efe29c2",
02:02:37 <Guest|14> [ ... ] "install"] failed with exit code 2.
02:03:06 <jackdk> That's just the final failure, and doesn't say what originally went wrong to make things abort. @where paste
02:03:12 <jackdk> @where paster
02:03:12 <lambdabot> I know nothing about paster.
02:03:19 <jackdk> @where paste
02:03:19 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
02:08:10 <Guest|14> https://paste.tomsmeding.com/TDRRJjqK
02:08:47 <remexre> > copyFile: resource exhausted (No space left on device)
02:08:49 <lambdabot> error: Variable not in scope: copyFileerror:
02:08:49 <lambdabot> Variable not in scope: resource :: t0 -> t1 -> [a]error: Variable not in...
02:08:49 <lambdabot> • Data constructor not in scope:
02:08:56 <remexre> oops
02:09:11 <remexre> Guest|14: any chance you ran out of disk space during the install?
02:09:33 <Guest|14> possible, have 4 gb left
02:09:46 <Guest|14> is it expected to take up that much
02:10:42 <Guest|14> will clear up and see if that fixes
02:11:41 <remexre> i'd be unsurprised if it did, especially including temporary files that the installer creates
02:12:36 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:94bc:6ee2:e2a3:4361)
02:16:56 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:94bc:6ee2:e2a3:4361) (Ping timeout: 250 seconds)
02:17:38 <monochrom> It basically does double buffering. You need 6GB. Or a little bit more.
02:18:08 <monochrom> Well, you need 6GB at the peak, it will drop back to 2-3GB at the end.
02:20:40 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
02:23:59 <Guest|14> I cleared for up to 6.6 gb
02:24:07 <Guest|14> got this error next
02:24:08 <Guest|14> https://paste.tomsmeding.com/CJRKhctw
02:27:50 × mud quits (~mud@user/kadoban) (Remote host closed the connection)
02:28:22 notzmv joins (~zmv@user/notzmv)
02:34:35 <Guest|14> The package is installed on computer.
02:35:20 <Guest|14> I'm seeing fedora in the installation, however mine is debian.
02:35:28 falafel joins (~falafel@2603-8000-d700-115c-a5bf-978f-35b4-956b.res6.spectrum.com)
02:36:01 <Guest|14> Might this be the problem?
02:37:18 × xff0x_ quits (~xff0x@160.86.227.171) (Ping timeout: 265 seconds)
02:37:18 <jackdk> Guest|14: I believe that is provided by package `libtinfo6`; you could try installing it manually?
02:40:11 × [Leary] quits (~Leary]@user/Leary/x-0910699) (Remote host closed the connection)
02:41:37 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds)
02:44:15 szkl joins (uid110435@2a03:5180:f:5::1:af63)
02:47:58 <Guest|14> Tried to reinstall libtinfo6
02:47:59 <Guest|14> https://paste.tomsmeding.com/Bd84Gjpw
02:48:03 <Guest|14> seems all is well
02:48:25 <Guest|14> attempted a manual install of ghcup but received same error
02:50:27 [Leary] joins (~Leary]@user/Leary/x-0910699)
02:52:16 × td_ quits (~td@i53870931.versanet.de) (Ping timeout: 276 seconds)
02:53:20 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds)
02:53:50 td_ joins (~td@i53870907.versanet.de)
02:55:38 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
03:05:08 <monochrom> I believe you need libtinfo-dev instead.
03:05:43 <monochrom> But supposedly ghcup chooses the fedora build precisely because it would not need libtinfo.
03:08:10 × jero98772 quits (~jero98772@2800:484:1d84:9000::3) (Remote host closed the connection)
03:12:04 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
03:12:58 puke joins (~puke@user/puke)
03:14:28 krskrft joins (~textual@24-220-240-23-static.midco.net)
03:21:50 Fischmiep joins (~Fischmiep@user/Fischmiep)
03:27:11 <Guest|14> I checked and libtinfo-dev is also installed,
03:27:11 <Guest|14> though I reinstalled that and then tried installing ghcup.
03:27:12 <Guest|14> received the libtinfo.so.6 error once more.
03:27:12 <Guest|14> https://paste.tomsmeding.com/CJRKhctw
03:32:20 janus parts (janus@anubis.0x90.dk) ()
03:41:46 × swamp_ quits (~zmt00@user/zmt00) (Quit: Leaving)
03:43:36 × falafel quits (~falafel@2603-8000-d700-115c-a5bf-978f-35b4-956b.res6.spectrum.com) (Ping timeout: 250 seconds)
03:46:44 zmt00 joins (~zmt00@user/zmt00)
03:47:40 falafel joins (~falafel@2603-8000-d700-115c-fa70-5732-b900-a0ec.res6.spectrum.com)
03:51:32 JScript joins (~JScript@103.137.12.20)
03:51:34 × JScript quits (~JScript@103.137.12.20) (Max SendQ exceeded)
03:53:26 × bilegeek quits (~bilegeek@2600:1008:b089:7d02:e67a:f767:a7e8:1fa6) (Quit: Leaving)
03:55:27 JScript joins (~JScript@103.137.12.20)
04:00:44 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds)
04:08:05 × JScript quits (~JScript@103.137.12.20) (Ping timeout: 240 seconds)
04:08:39 × Guest|14 quits (~Guest|14@mobile-107-77-208-79.mobile.att.net) (Quit: Connection closed)
04:10:54 × ystael quits (~ystael@user/ystael) (Ping timeout: 250 seconds)
04:11:07 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
04:12:50 ystael joins (~ystael@user/ystael)
04:17:16 JScript joins (~JScript@103.137.12.22)
04:27:10 × JScript quits (~JScript@103.137.12.22) (Ping timeout: 276 seconds)
04:42:32 × finsternis quits (~X@23.226.237.192) (Ping timeout: 250 seconds)
04:42:40 × heartburn quits (~gass@2a00:d880:3:1::b1e4:b241) (Ping timeout: 248 seconds)
04:43:12 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
04:43:13 finsternis joins (~X@23.226.237.192)
04:43:23 heartburn joins (~gass@2a00:d880:3:1::b1e4:b241)
04:46:22 Guest7 joins (~Guest7@47.243.176.7)
04:47:27 × Guest7 quits (~Guest7@47.243.176.7) (Client Quit)
04:47:44 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 250 seconds)
04:48:30 ryantrinkle joins (~ryantrink@944c68d2.cst.lightpath.net)
05:04:12 × szkl quits (uid110435@2a03:5180:f:5::1:af63) (Quit: Connection closed for inactivity)
05:05:29 × Square quits (~Square@user/square) (Ping timeout: 250 seconds)
05:11:55 Me-me joins (~Me-me@user/me-me)
05:18:44 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
05:19:23 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-d5f7-1d09-2f8d-3550.rev.sfr.net) (Ping timeout: 245 seconds)
05:24:32 trev joins (~trev@user/trev)
05:25:26 × krskrft quits (~textual@24-220-240-23-static.midco.net) (Quit: Textual IRC Client: www.textualapp.com)
05:31:55 × flukiluke quits (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Ping timeout: 260 seconds)
05:32:15 flukiluke joins (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962)
05:32:23 Inst_ joins (~Inst@2601:6c4:4081:2fc0:9bc:3427:db1e:1d7e)
05:35:44 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
05:36:17 × Inst quits (~Inst@2601:6c4:4081:2fc0:5c3a:8a0b:648e:de5a) (Ping timeout: 246 seconds)
05:36:46 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-e9a3-93a7-d78d-61c4.rev.sfr.net)
05:40:22 × trev quits (~trev@user/trev) (Quit: trev)
05:40:51 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
05:40:51 trev joins (~trev@user/trev)
05:41:03 img joins (~img@user/img)
05:45:48 × anpad quits (~pandeyan@user/anpad) (Ping timeout: 250 seconds)
05:46:14 nate1 joins (~nate@98.45.169.16)
05:46:50 anpad joins (~pandeyan@user/anpad)
05:51:40 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 276 seconds)
05:54:44 × anpad quits (~pandeyan@user/anpad) (Read error: Connection reset by peer)
05:57:11 anpad joins (~pandeyan@user/anpad)
05:57:30 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 250 seconds)
06:02:20 hugo joins (znc@verdigris.lysator.liu.se)
06:03:33 × falafel quits (~falafel@2603-8000-d700-115c-fa70-5732-b900-a0ec.res6.spectrum.com) (Ping timeout: 250 seconds)
06:05:47 × pharonix71 quits (~pharonix7@user/pharonix71) (Remote host closed the connection)
06:06:17 pharonix71 joins (~pharonix7@user/pharonix71)
06:11:11 gurkenglas joins (~gurkengla@dynamic-046-114-179-053.46.114.pool.telefonica.de)
06:14:35 × ryantrinkle quits (~ryantrink@944c68d2.cst.lightpath.net) (Ping timeout: 248 seconds)
06:14:49 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:14:49 mechap joins (~mechap@user/mechap)
06:17:36 × fr33domlover quits (~fr33domlo@towards.vision) (Ping timeout: 248 seconds)
06:19:30 fr33domlover joins (~fr33domlo@towards.vision)
06:21:34 × mei quits (~mei@user/mei) (Ping timeout: 276 seconds)
06:25:06 mei joins (~mei@user/mei)
06:37:50 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
07:00:47 <maerwald> they installed libc6, not libtinfo6
07:10:24 acidjnk joins (~acidjnk@p200300d6e715c464285fef55bd00a3c3.dip0.t-ipconnect.de)
07:14:35 <Axman6> those don'e seem to be the same thing to me...
07:14:39 <Axman6> don't*
07:14:45 gehmehgeh is now known as gmg
07:15:04 × yaroot quits (~yaroot@2400:4052:ac0:d900:1cf4:2aff:fe51:c04c) (Remote host closed the connection)
07:15:47 yaroot joins (~yaroot@2400:4052:ac0:d900:1cf4:2aff:fe51:c04c)
07:19:24 × gurkenglas quits (~gurkengla@dynamic-046-114-179-053.46.114.pool.telefonica.de) (Ping timeout: 250 seconds)
07:20:17 JScript joins (~JScript@103.137.12.22)
07:20:33 × JScript quits (~JScript@103.137.12.22) (Max SendQ exceeded)
07:22:50 cyphase_eviltwin is now known as cyphase
07:27:08 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
07:28:00 × zer0bitz quits (~zer0bitz@2001:2003:f443:d600:878:5e67:f0ac:a07d) (Ping timeout: 248 seconds)
07:28:31 zer0bitz joins (~zer0bitz@2001:2003:f443:d600:799d:b077:ccea:4521)
07:28:47 Inst__ joins (~Inst@2601:6c4:4081:2fc0:984:5bea:8459:33e9)
07:28:56 JScript joins (~JScript@103.137.12.22)
07:28:58 × JScript quits (~JScript@103.137.12.22) (Max SendQ exceeded)
07:29:35 JScript joins (~JScript@103.137.12.22)
07:29:38 × JScript quits (~JScript@103.137.12.22) (Max SendQ exceeded)
07:32:49 × Inst_ quits (~Inst@2601:6c4:4081:2fc0:9bc:3427:db1e:1d7e) (Ping timeout: 250 seconds)
07:33:47 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
07:35:28 titibandit joins (~titibandi@user/titibandit)
07:44:36 <maerwald> correct
07:45:21 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:48:18 falafel joins (~falafel@2603-8000-d700-115c-a910-fa27-90fe-abc2.res6.spectrum.com)
07:49:51 <Inst__> got my first knight's tour solver done in Haskell
07:49:55 Inst__ is now known as Inst
07:49:57 merijn joins (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
07:50:00 <Inst> ludicrously unperformant, as you'd expect
07:50:40 JScript joins (~JScript@103.137.12.22)
07:50:51 × JScript quits (~JScript@103.137.12.22) (Max SendQ exceeded)
07:53:44 JScript joins (~JScript@103.137.12.22)
07:54:23 × JScript quits (~JScript@103.137.12.22) (Max SendQ exceeded)
07:55:39 <Axman6> well, if you know it works, then you also know it's not exponentially bad at least :)
07:56:50 <Inst> sort of the problem is that i'm generating ALL possible knight's tours
07:56:52 <Inst> and outputting them
07:57:53 <Inst> and Axman6: I'm not arguing that Haskell should be strict, it just looks like that in certain applications (NRI, etc), it lowers the skill requirement, especially when they don't have a professional Haskell engineer to teach the newbies how not to space leak themselves to death
07:58:06 <jade[m]> that'll get out of hand for larger boards haha
07:58:17 JScript joins (~JScript@103.137.12.22)
07:58:46 × JScript quits (~JScript@103.137.12.22) (Max SendQ exceeded)
07:59:07 <Inst> well, it's already stalling out at 6, and the configuration right now is set for a single starting point
07:59:30 <jade[m]> yep
08:00:10 <jade[m]> reading the wikipedia article it seems like you can divide & conquer the board
08:00:17 <jade[m]> using subboards and solving it for those
08:00:51 <Inst> i'm not that interested in the problem; i was just wondering what someone meant on Reddit when they said they learned all they needed to learn about for loops etc
08:01:02 <Inst> when it was the capstone project for their intro to programming with C class
08:01:07 <Inst> I have no idea how you'd do this in C
08:01:17 <Inst> but then again, maybe my Haskell solution isn't recursive enough
08:01:19 JScript joins (~JScript@103.137.12.22)
08:01:25 <Inst> https://paste.tomsmeding.com/jhuTGyyR
08:01:39 <jade[m]> fair enough
08:02:02 <jade[m]> there seems to be a heuristic approach where you greedily go to the square with the least choices in the future
08:02:08 <jade[m]> that's interesting
08:02:19 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 276 seconds)
08:02:25 × JScript quits (~JScript@103.137.12.22) (Max SendQ exceeded)
08:02:48 xff0x_ joins (~xff0x@fsa056e3ab.kytj202.ap.nuro.jp)
08:03:11 <Inst> Shouldn't we have a function for this?
08:03:11 <Inst> fmap (clamp (1, gridSize)) [column, row] == [column, row]
08:03:36 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
08:03:52 <jade[m]> I have an interesting idea for a brute force algorithm that would take like 3 lines of haskell
08:03:59 <jade[m]> let me try to write it down
08:05:53 JScript joins (~JScript@103.137.12.22)
08:05:55 × JScript quits (~JScript@103.137.12.22) (Max SendQ exceeded)
08:06:29 <Inst> https://media.discordapp.net/attachments/968989726633779215/1102506256914202655/image.png?width=2192&height=394
08:06:32 <Inst> i love you, laziness
08:06:34 JScript joins (~JScript@103.137.12.22)
08:06:40 × JScript quits (~JScript@103.137.12.22) (Max SendQ exceeded)
08:07:09 JScript joins (~JScript@103.137.12.22)
08:07:12 × JScript quits (~JScript@103.137.12.22) (Max SendQ exceeded)
08:10:32 JScript joins (~JScript@103.137.12.22)
08:10:53 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
08:11:39 × JScript quits (~JScript@103.137.12.22) (Max SendQ exceeded)
08:15:56 JScript joins (~JScript@103.137.12.22)
08:15:59 × JScript quits (~JScript@103.137.12.22) (Max SendQ exceeded)
08:17:23 jade[m] uploaded an image: (20KiB) < https://libera.ems.host/_matrix/media/v3/download/matrix.org/VLKvObixnSPrJPcriMHrwDHF/image.png >
08:17:24 <jade[m]> ooooookay
08:18:03 <tomsmeding> that went down with a crash
08:20:41 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
08:24:21 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
08:37:50 JScript joins (~JScript@103.137.12.22)
08:38:56 azimut joins (~azimut@gateway/tor-sasl/azimut)
08:39:38 × falafel quits (~falafel@2603-8000-d700-115c-a910-fa27-90fe-abc2.res6.spectrum.com) (Ping timeout: 246 seconds)
08:40:38 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
08:44:08 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
08:58:52 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
09:00:38 × merijn quits (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
09:04:33 enva2712 joins (~enva2712@c-73-220-46-13.hsd1.ca.comcast.net)
09:04:55 × caryhartline quits (~caryhartl@2600:1700:2d0:8d30:9843:3567:836:49e9) (Quit: caryhartline)
09:05:29 × hrberg quits (~quassel@171.79-160-161.customer.lyse.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
09:05:48 hrberg joins (~quassel@171.79-160-161.customer.lyse.net)
09:06:46 <Inst> btw, ummm, can i ask
09:07:14 <Inst> how idiomatic is it these days to abuse either and a custom data type for your function?
09:07:22 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
09:07:42 <Inst> like, you have a bunch of verifications on the input, you have a bunch of exceptions via either
09:10:23 <jade[m]> how is that abusing it? Isn't that sort of the intended purpose?
09:10:23 <somerandomnick[m> when all the verifications are of Either you may use join. Using Left to match errors is very common, very idiomatic. But beyond I would create my own data constructor, a good opportunity to make the code more expressive
09:11:02 <somerandomnick[m> because the name you use for the data constructor turns up in pattern matches
09:11:11 <somerandomnick[m> so make it count
09:16:40 <somerandomnick[m> @run join . join $ Right (Right (Left "error"))
09:16:41 <lambdabot> Left "error"
09:17:00 <somerandomnick[m> @run join . join $ Right (Right (Right 2))
09:17:02 <lambdabot> Right 2
09:17:09 Bocaneri joins (~sauvin@user/Sauvin)
09:17:32 Bocaneri is now known as Guest7706
09:19:29 <somerandomnick[m> The error type must be shared for this to work. eg Either ErrorDataType is instance of Monad
09:19:44 × jpds2 quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
09:19:55 × Sauvin quits (~sauvin@user/Sauvin) (Ping timeout: 265 seconds)
09:19:56 jpds2 joins (~jpds@gateway/tor-sasl/jpds)
09:22:01 <somerandomnick[m> @run join . join . join $ Right (Left "error")
09:22:03 <lambdabot> Left "error"
09:22:17 enva2712 parts (~enva2712@c-73-220-46-13.hsd1.ca.comcast.net) ()
09:23:11 <somerandomnick[m> @type join . join . join
09:23:12 <lambdabot> Monad m => m (m (m (m a))) -> m a
09:24:04 Guest7706 is now known as Sauvin
09:30:51 × xff0x_ quits (~xff0x@fsa056e3ab.kytj202.ap.nuro.jp) (Ping timeout: 248 seconds)
09:33:04 Guest42 joins (~Guest42@ip5f5be7a8.dynamic.kabel-deutschland.de)
09:33:54 <somerandomnick[m> @type bimap show id
09:33:55 <lambdabot> (Bifunctor p, Show a) => p a d -> p String d
09:36:32 <geekosaur> could you experiment in /query, please? (DM in element)
09:37:12 <somerandomnick[m> I have my own lambdabot, I am trying to show smth here
09:38:17 <somerandomnick[m> you can tell by the errors not happening ;-)
09:47:46 nate1 joins (~nate@98.45.169.16)
09:52:21 <Helle> you know, Haskell has one property that it shares with Ruby, it is actually useful to pop open the source of libraries and the like for a reference if you are getting fancy
09:52:29 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 246 seconds)
09:52:39 <Helle> because most libraries are actually well laid out, but the documentation is a bit uuuuh, sparse
09:53:06 <geekosaur> lots of people believe the types are all you need. sometimes that's even true
09:53:17 merijn joins (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
09:53:18 <Helle> mood
09:53:51 <Helle> geekosaur: I mean that is kinda the dream, but sometimes figuring out how the author intended those to be stuck together is non-obvious
09:54:35 <geekosaur> (sonetimes the functions are just binding to someone else's library and you're expected to refer to the docs for that. X11 for example does that. I still find it frustrating at times(
09:55:06 <mauke> ah, PHP style
09:56:12 <mauke> that's one of the things I miss from Perl: a strong documentation and testing culture
09:57:17 <Helle> mauke: that is a mood
09:57:30 <Helle> I mean I write in like a dozen languages on the regular, so I get to make some comparisons
09:59:14 <Helle> anyway, I need to mess with some setting up for vim so I can get some type information on the fly, but reality is, I just hit a ghci or browser for it now
09:59:23 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:fdd9:cd01:9100:d00b)
10:05:13 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:fdd9:cd01:9100:d00b) (Ping timeout: 256 seconds)
10:10:52 × titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection)
10:17:44 tremon joins (~tremon@83.80.159.219)
10:22:14 <Rembane> Helle: Have you taken a look at ghcid? https://github.com/ndmitchell/ghcid It's quite useful if one tableflips the editor configuration.
10:31:00 gurkenglas joins (~gurkengla@dynamic-046-114-179-053.46.114.pool.telefonica.de)
10:41:36 × Guest42 quits (~Guest42@ip5f5be7a8.dynamic.kabel-deutschland.de) (Quit: Connection closed)
10:43:08 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-e9a3-93a7-d78d-61c4.rev.sfr.net) (Ping timeout: 245 seconds)
10:46:41 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-109b-bb02-a548-f50a.rev.sfr.net)
10:49:00 paul_j joins (~user@2001:8b0:dea0:f3c9:cd47:c8b0:d6:5463)
10:56:03 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-109b-bb02-a548-f50a.rev.sfr.net) (Ping timeout: 245 seconds)
10:59:00 × cyphase quits (~cyphase@user/cyphase) (Ping timeout: 265 seconds)
11:04:11 cyphase joins (~cyphase@user/cyphase)
11:27:43 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-0504-91f2-c755-48f0.rev.sfr.net)
11:36:58 Inst_ joins (~Inst@2601:6c4:4081:2fc0:d143:23:251b:8863)
11:40:04 gemmaro joins (~user@240f:74:d1f0:1:ba1:e787:c9e:b1dc)
11:40:16 × Inst quits (~Inst@2601:6c4:4081:2fc0:984:5bea:8459:33e9) (Ping timeout: 250 seconds)
11:44:12 × bw_ quits (sid2730@user/betawaffle) ()
11:45:07 bw_ joins (sid2730@user/betawaffle)
11:46:10 bw_ is now known as betawaffle
11:47:06 betawaffle is now known as bw
11:49:01 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
11:49:13 tibamita joins (~tibamita@169.139.0.21)
11:49:55 tibamita parts (~tibamita@169.139.0.21) ()
11:50:00 Guest13 joins (~Guest13@firewall1a.robinson.cam.ac.uk)
11:51:14 radiance joins (~tibamita@169.139.0.21)
11:51:23 <radiance> hey guys
11:51:53 <radiance> im trying to get into haskell but im confused on what it's actually used for
11:52:13 <radiance> like, why should i learn it? what does it do
11:52:26 × Guest13 quits (~Guest13@firewall1a.robinson.cam.ac.uk) (Client Quit)
11:57:02 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds)
11:57:20 <radiance> i guess i shouldn't learn it
11:57:26 <radiance> damn..
11:57:43 <Helle> have fun
11:58:10 <radiance> why should i
11:59:06 <jade[m]> ask the same question about any other language
11:59:21 <jade[m]> haskell is general purpose, you can use it for anything
11:59:56 <jade[m]> Haskell is functional and declarative, so the compiler helps you to write safe and modular code
11:59:56 <radiance> not helpful
12:00:00 × radiance quits (~tibamita@169.139.0.21) (Quit: Client closed)
12:00:24 <jade[m]> wow, why did you even come to this room in the first place?
12:01:06 <jade[m]> It sounds like you don't want to learn Haskell, in which case I'd advice you to spend your time elsewhere
12:02:27 <hpc> just keep learning the same language over and over again - you already know it's useful so you're not wasting your time :D
12:02:47 Helle looks at her mental repository of languages
12:02:56 <Helle> yes, you only need one language and it is uuuuuh
12:03:32 <jade[m]> brainfuck
12:04:07 <darkling> Mondrian. :)
12:06:44 xff0x_ joins (~xff0x@fsa056e3ab.kytj202.ap.nuro.jp)
12:07:09 caryhartline joins (~caryhartl@2600:1700:2d0:8d30:7403:252e:76f:b28b)
12:15:22 <Rembane> INTERCAL <3
12:20:38 Inst__ joins (~Inst@2601:6c4:4081:2fc0:d8b3:dee1:3160:b47d)
12:23:47 Inst joins (~Inst@2601:6c4:4081:2fc0:2587:5a44:82b3:c91)
12:24:27 × Inst_ quits (~Inst@2601:6c4:4081:2fc0:d143:23:251b:8863) (Ping timeout: 250 seconds)
12:26:20 × Inst__ quits (~Inst@2601:6c4:4081:2fc0:d8b3:dee1:3160:b47d) (Ping timeout: 260 seconds)
12:35:14 bontaq joins (~user@ool-45779b84.dyn.optonline.net)
12:35:29 × caryhartline quits (~caryhartl@2600:1700:2d0:8d30:7403:252e:76f:b28b) (Quit: caryhartline)
12:35:51 <Helle> is "intText = toStrict . toLazyText . buildInt
12:36:07 <Helle> " really the most simple way to turn an Int into Text ?
12:36:39 × bontaq quits (~user@ool-45779b84.dyn.optonline.net) (Remote host closed the connection)
12:37:31 <ncf> pack . show ?
12:39:43 bontaq joins (~user@69.119.155.132)
12:39:56 <Helle> I was told to not use show for that, but I may be overly cautious
12:40:55 <Helle> Now I am unable to find /why/
12:41:57 Joao003 joins (~Joao003@2804:840:8311:b700:9d7c:6e92:45f4:155)
12:44:59 <[exa]> Helle: show is not very configurable w.r.t. how you want the integer to look in the end
12:45:28 <[exa]> as in, if you're ok with the show "specification" that very informally say "haskell can parse it back", it's OK
12:45:53 <merijn> I mean, I would agree with "don't use show for numbers", but that's mostly because show is, indeed, not configurable :p
12:47:04 <[exa]> technically there's no logical barrier that would stop `show` from rendering 42 as 0b101010 or so
12:47:18 × mechap quits (~mechap@user/mechap) (Ping timeout: 265 seconds)
12:48:08 mechap joins (~mechap@user/mechap)
12:48:33 <Helle> I mean I guess "intText = toStrict . toLazyText . decimal" the only silliness is that I can't just straight up get it as a text, instead of a lazy text
12:49:07 <Helle> (I have Text.Lazy.Builder around anyway for a different format, so it's not like it adds any hassle with that)
12:49:26 <[exa]> Helle: my very rough guess on that situation is that there's no reason for having 2 implementations of `decimal` as lazy and strict text, and AFAIK the overhead should disappear
12:50:54 <merijn> Helle: Well, that's mostly due to builder being for building large amounts of text, which only makes sense lazily
12:51:02 <Helle> So I am doing this to a LOT of int's and uuuh, pack . show is slower.....
12:51:05 <Helle> just did a comparison
12:51:32 <merijn> Helle: Yes, but if you are making lots of ints into text, you probably want to instead make 1 giant Builder then convert at the end
12:51:44 <[exa]> is that the strict pack or lazy pack?
12:51:50 <Helle> strict
12:51:57 <merijn> Helle: The goal of builder is to give fast, incremental construction of Text
12:52:23 × Me-me quits (~Me-me@user/me-me) (Quit: Something has gone terribly, terribly wrong, that being that I'm not here any more.)
12:52:27 <Helle> merijn: sadly jamming them into XML, I may have to switch to a streaming XML library because my memory load is not entirely happy
12:52:50 <Helle> (it's also not too horrendous, but still)
12:53:22 <merijn> Helle: How much is it using then?
12:54:27 <Helle> merijn: well, degenerate test cases, realistically, it should only briefly double memory
12:54:34 <Helle> worst case
12:54:40 <Helle> err, realistic case
12:55:41 <Helle> so everything ran in a 200MiB and generating the XML pushed it to over 2GiB, which is honestly still not too horrendous
12:56:05 <Helle> wait, I am reading these numbers wrong
12:56:13 <Helle> let me rerun it with the correct benchmarking setup
12:56:22 <Helle> the time is accurate, the memory was not
13:03:36 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:fdd9:cd01:9100:d00b)
13:08:13 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:fdd9:cd01:9100:d00b) (Ping timeout: 250 seconds)
13:10:15 × driib quits (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat)
13:12:02 driib joins (~driib@vmi931078.contaboserver.net)
13:12:14 cheater joins (~Username@user/cheater)
13:16:03 <Joao003> > 1 + - 1
13:16:05 <lambdabot> error:
13:16:05 <lambdabot> Precedence parsing error
13:16:05 <lambdabot> cannot mix ‘+’ [infixl 6] and prefix `-' [infixl 6] in the same infi...
13:16:09 <Joao003> > 1 + (- 1)
13:16:10 <lambdabot> 0
13:16:15 <Joao003> How many people hate that?
13:16:53 <merijn> Joao003: Not nearly as much as I hate "-1" written as "- 1" :p
13:17:16 <Joao003> > 1 + -1
13:17:17 <lambdabot> error:
13:17:17 <lambdabot> Precedence parsing error
13:17:17 <lambdabot> cannot mix ‘+’ [infixl 6] and prefix `-' [infixl 6] in the same infi...
13:17:41 <Joao003> Ugh. That looks like 1 + -1 should be 0, but no, we need parentheses.
13:17:58 <ncf> there is a NegativeLiterals extension
13:18:14 <Joao003> How to toggle?
13:18:24 <geekosaur> @let {-# LANGUAGE NegativeLiterals #-}
13:18:25 <lambdabot> Defined.
13:18:29 <merijn> I think the current grammatical handling of - is a mistake, but that's not something fixable now
13:18:33 <geekosaur> > 1 + -1
13:18:34 <lambdabot> error:
13:18:34 <lambdabot> Precedence parsing error
13:18:35 <lambdabot> cannot mix ‘+’ [infixl 6] and prefix `-' [infixl 6] in the same infi...
13:18:38 <merijn> ncf: Does that actually fix this problem, though?
13:18:45 <geekosaur> nope
13:18:48 <ncf> guess not
13:19:03 <ncf> @let {-# LANGUAGE LexicalNegation #-}
13:19:04 <lambdabot> Defined.
13:19:06 <ncf> > 1 + -1
13:19:08 <lambdabot> error:
13:19:08 <lambdabot> Precedence parsing error
13:19:08 <lambdabot> cannot mix ‘+’ [infixl 6] and prefix `-' [infixl 6] in the same infi...
13:19:17 <merijn> I'm not sure @let works like that?
13:19:23 <geekosaur> it does
13:19:29 <merijn> % :set -XNegativeLiterals
13:19:29 <yahb2> <no output>
13:19:32 <merijn> % 1 + -1
13:19:32 <yahb2> 0
13:19:35 <geekosaur> it just adds a line to L.hs and makes sure the result compiles
13:19:48 <merijn> geekosaur: yahb disagrees :p
13:19:54 <geekosaur> hm
13:19:55 <ncf> are extensions from L.hs actually carried on to the evaluation though
13:20:03 <merijn> ncf: Shouldn't be
13:20:05 <geekosaur> they're supposed to be
13:20:13 <merijn> geekosaur: In ghci they're not
13:20:30 <merijn> geekosaur: I'm not sure what mueval does, but it is not unreasonable to do the same
13:20:40 <merijn> geekosaur: There's a reason :set and :seti are distinct
13:21:07 <merijn> Extensions in loaded source files are not supposed to affect the ghci prompt
13:21:23 <merijn> So I can certainly see extensions in L.hs not affecting mueval
13:22:44 <geekosaur> hm. but actually it did affect it
13:23:12 <geekosaur> it's a syntax error without the extension, not a precedence error
13:23:42 <geekosaur> LexicalNegation is another question but I think LB is actually too old for that one
13:24:22 <geekosaur> yahb is running a newer ghc and has it
13:25:39 <geekosaur> iirc the one is 9.0 anmd the other 9.2)
13:25:44 × califax quits (~califax@user/califx) (Ping timeout: 240 seconds)
13:25:48 califax_ joins (~califax@user/califx)
13:26:41 <geekosaur> and the reason ghci has the distinction is yiu can focus ghci on multiple source files and it'd be bad or at least confusing for the current language to change with them
13:26:57 <geekosaur> but in mueval's case you'll never be focused on anything but L.hs
13:27:08 califax_ is now known as califax
13:30:45 <geekosaur> plus you don't have :seti at all in mueval's case so you need to do it somehow
13:34:21 kuttenbrunzer joins (~kuttenbru@2a02:8108:8b80:1d48:70:260a:bcd3:34c9)
13:44:47 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-0504-91f2-c755-48f0.rev.sfr.net) (Remote host closed the connection)
13:45:36 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-0504-91f2-c755-48f0.rev.sfr.net)
13:49:18 nate1 joins (~nate@98.45.169.16)
13:54:25 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds)
14:01:16 emanuellee joins (~emanuelle@197.240.208.84)
14:02:45 × ddellacosta quits (~ddellacos@146.70.168.100) (Ping timeout: 240 seconds)
14:05:02 ddellacosta joins (~ddellacos@146.70.165.230)
14:09:44 × emanuellee quits (~emanuelle@197.240.208.84) (Quit: Connection closed)
14:14:21 jero98772 joins (~jero98772@2800:484:1d84:9000::3)
14:15:05 × ddellacosta quits (~ddellacos@146.70.165.230) (Ping timeout: 240 seconds)
14:17:24 ddellacosta joins (~ddellacos@146.70.165.166)
14:18:13 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
14:20:19 × kuttenbrunzer quits (~kuttenbru@2a02:8108:8b80:1d48:70:260a:bcd3:34c9) (Read error: Connection reset by peer)
14:20:34 dontdieych joins (~alarm@132.226.169.184)
14:24:01 × acidbong quits (6e5528b381@198.108.77.94) (Quit: Gateway shutdown)
14:24:01 × mesaoptimizer|dn quits (34cef275bb@198.108.77.94) (Quit: Gateway shutdown)
14:28:28 × jero98772 quits (~jero98772@2800:484:1d84:9000::3) (Remote host closed the connection)
14:28:47 Sgeo joins (~Sgeo@user/sgeo)
14:41:28 × sudden quits (~cat@user/sudden) (Read error: Connection reset by peer)
14:42:18 sudden joins (~cat@user/sudden)
14:42:54 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:46:35 <Joao003> Does anyone use rational numbers?
14:46:59 <Joao003> > (1 % 2) + (1 % 3)
14:47:01 <lambdabot> 5 % 6
14:47:11 Guest|14 joins (~Guest|14@mobile-107-77-207-220.mobile.att.net)
14:47:34 <Joao003> I mean, if you don't want to have float precision errors, I guess you can use them
14:51:23 × Guest|14 quits (~Guest|14@mobile-107-77-207-220.mobile.att.net) (Client Quit)
14:53:25 <geekosaur> I have one program that uses them extensively, but you generally wouldn't notice because Rational has a Fractional instance so all the numeric literals look like doubles
14:54:33 <geekosaur> you wouldn't even tell by looking at the types because I use a type alias which I switched between Double, Rational, and CReal until I decided Rational was good enough
14:56:19 <Joao003> > 0.1+0.2/=0.3
14:56:20 <lambdabot> True
14:56:28 <Joao003> > (0.1+0.2)/=0.3
14:56:29 <lambdabot> True
14:56:33 <Joao003> Ugh
14:56:44 <merijn> > 0.1 + 0.2 :: Rational
14:56:46 <lambdabot> 3 % 10
14:56:50 <Joao003> > 1 % 10 + 2 % 10 == 3 % 10
14:56:52 <lambdabot> True
14:57:04 <ski> > 0.1 + 0.2 == (0.3 :: Rational)
14:57:05 <lambdabot> True
14:57:52 <Joao003> > 0.1 + 0.2
14:57:53 <lambdabot> 0.30000000000000004
14:58:12 <Joao003> > (0.1+0.2) :: Rational
14:58:12 <geekosaur> this is why people use Rational
14:58:14 <lambdabot> 3 % 10
14:58:46 <Joao003> > length $ show (0.1+0.2)
14:58:48 <lambdabot> 19
14:59:12 <ski> is anything unclear ?
14:59:31 <Joao003> > 30000000000000004 % (10^18)
14:59:33 <lambdabot> 7500000000000001 % 250000000000000000
15:00:58 Square joins (~Square@user/square)
15:01:29 <Joao003> > (0.5) % (1)
15:01:30 <lambdabot> error:
15:01:31 <lambdabot> • Ambiguous type variable ‘a0’ arising from a use of ‘show_M200312366393...
15:01:31 <lambdabot> prevents the constraint ‘(Show a0)’ from being solved.
15:01:56 <ski> @type (%)
15:01:57 <lambdabot> Integral a => a -> a -> Ratio a
15:02:02 <Joao003> >:D
15:02:18 <ski> `Double's not an instance of `Integral'
15:02:38 mokee joins (~mokee@37.228.215.215)
15:03:28 × JScript quits (~JScript@103.137.12.22) (Ping timeout: 248 seconds)
15:17:01 justsomeguy joins (~justsomeg@user/justsomeguy)
15:17:14 × mechap quits (~mechap@user/mechap) (Ping timeout: 246 seconds)
15:18:30 mechap joins (~mechap@user/mechap)
15:19:15 × mechap quits (~mechap@user/mechap) (Client Quit)
15:20:32 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
15:21:00 mechap joins (~mechap@user/mechap)
15:23:09 × mokee quits (~mokee@37.228.215.215) (Quit: off)
15:24:51 <fr33domlover> o/ How do I turn a small piece of data, a single Haskell record, into an ACID persistent single-value micro-database? No need for concurrent writes (often not even concurrent reads), I just want a "TVar that is stored to disk and can be safely restored, even after s crash"
15:25:44 <fr33domlover> (I'm aware of TCache and acid-state, looking for people who have good experience with them (or with other tools) and can recommend them)
15:26:37 <merijn> fr33domlover: Honestly: SQLite
15:26:55 <merijn> fr33domlover: The acid part of acid-state is more...aspirational than reality
15:27:19 <merijn> And produces corrupted state more frequently than you'd like
15:27:36 <merijn> fr33domlover: OTOH, after extensively using SQLite my main conclusion is: I need to use more SQLite
15:28:10 <merijn> fr33domlover: Probably overkill for the problem you describe, otoh it is easy and you're 100% certain you'll not run into problems if you ever need more than a tiny bit of info stored ;)
15:29:56 × xff0x_ quits (~xff0x@fsa056e3ab.kytj202.ap.nuro.jp) (Ping timeout: 250 seconds)
15:30:27 <fr33domlover> merijn: SQLite even if I just want to store a single little Haskell record? I suppose it's possible and safe indeed, I was just really hoping that some magical Haskellish option would appear "^_^ I suppose I could write my own little wrapper for a single-record SQLite database
15:31:36 <merijn> fr33domlover: getting actual ACID is *hard*, so if you truly care about that, then that's the way I'd go, tbh
15:32:50 <nitrix> It's never just one record. Once you open Pandora's box... x]
15:33:20 <fr33domlover> Thank you merijn! Yeah, I want something that can really survives crashes etc. just like a SQL database, except for a single row. I'm going with SQLite then :)
15:33:50 <merijn> And yeah, as nitrix says: Inevitably you will wanna store more :p
15:34:01 fr33domlover still wonders why acid-state couldn't copy sqlite's implementation of ACIDity... oh well
15:34:20 <merijn> fr33domlover: Oh, let me give you one pro-tip/trick I learned
15:34:43 <merijn> fr33domlover: https://www.sqlite.org/pragma.html#pragma_user_version
15:34:45 <fr33domlover> (I'm implementing an actor system so it's per-actor storage, that's why it'll often be small)
15:35:12 <nitrix> merijn, For migrations?
15:35:16 <merijn> nitrix: yeah
15:35:21 <nitrix> Neat.
15:35:37 <merijn> The ability to have a specific schema version inside the database is great
15:35:49 <merijn> So you can change your schema later and easily detect it
15:36:05 <nitrix> "SQLite automatically increments the schema-version whenever the schema changes."
15:36:19 <nitrix> "As each SQL statement runs, the schema version is checked to ensure that the schema has not changed since the SQL statement was prepared."
15:36:20 × gurkenglas quits (~gurkengla@dynamic-046-114-179-053.46.114.pool.telefonica.de) (Ping timeout: 268 seconds)
15:36:41 <nitrix> That can both be a huge advantage and a surprise I guess.
15:37:35 <[exa]> surprise? why
15:37:50 gurkenglas joins (~gurkengla@dynamic-046-114-182-194.46.114.pool.telefonica.de)
15:38:00 <[exa]> (except for if your dbms relies on permanently changing the schema, at which point the dbms is the surprise...)
15:38:41 <geekosaur> you add a view that shouldn't affect your running app (e.g. for reporting), your app breaks
15:39:30 <monochrom> Perhaps never use prepared statements. >:)
15:39:57 <geekosaur> gotta prepare them before executing them. and keeping around prepared statements is often a win for common queries
15:40:48 × Alex_test quits (~al_test@178.34.150.15) (Ping timeout: 248 seconds)
15:40:48 × AlexZenon quits (~alzenon@178.34.150.15) (Ping timeout: 248 seconds)
15:41:21 <Helle> me the last 5 times trying to solve a problem "I am sure pattern matching isn't this powerful" and then of course it actually is
15:41:47 <jade[m]> yeah
15:42:00 <merijn> geekosaur: I'm not sure why that would break anything?
15:42:17 <merijn> geekosaur: It mostly "Just Works" for me
15:42:39 <geekosaur> see what noitrix said about enabling automatic schema versioning
15:42:43 <merijn> Anyway, the schema_version doesn't really seem like something most users should be bothering with
15:42:46 <geekosaur> *nitrix
15:42:57 <jade[m]> not to mention that everything is technically a pattern match - any control structure like guards or if-else are simply `case expr of True -> foo; False -> bar`
15:43:25 <merijn> geekosaur: That was a quote of what pragma does, but yeah, I wouldn't use that for versioning anyway, the user_version one is explicitly only for you and lets you do that just fine
15:46:06 AlexZenon joins (~alzenon@178.34.150.15)
15:46:08 Alex_test joins (~al_test@178.34.150.15)
15:46:11 <geekosaur> right; someone asked why it might be a surprise, I gave an example
15:53:25 <monochrom> Yeah I just meant don't keep prepared statements or unrefridged food overnight :)
15:54:13 × merijn quits (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
15:55:34 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
15:59:53 × Joao003 quits (~Joao003@2804:840:8311:b700:9d7c:6e92:45f4:155) (Quit: Leaving)
16:01:41 × cyphase quits (~cyphase@user/cyphase) (Ping timeout: 246 seconds)
16:05:43 merijn joins (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
16:07:13 × ddellacosta quits (~ddellacos@146.70.165.166) (Ping timeout: 276 seconds)
16:08:07 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
16:08:44 ddellacosta joins (~ddellacos@146.70.171.166)
16:08:53 × gurkenglas quits (~gurkengla@dynamic-046-114-182-194.46.114.pool.telefonica.de) (Remote host closed the connection)
16:10:09 × merijn quits (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
16:11:45 heraldo joins (~heraldo@user/heraldo)
16:13:22 <Helle> *sigh* reworking code, someone was being too smart with types and now I can't use 2 code paths on the same data as ofcourse that is mutually exclusive due to type....
16:13:37 <Helle> not saying they made a bad choice to begin with, but they did create more work now
16:15:43 <monochrom> @quote monochrom debates
16:15:43 <lambdabot> monochrom says: All pointless debates can be settled by going polymorphic.
16:16:42 ski idly wonders in which fashion they were being too smart with types
16:20:06 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:fdd9:cd01:9100:d00b)
16:20:10 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
16:30:44 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
16:30:53 × gemmaro quits (~user@240f:74:d1f0:1:ba1:e787:c9e:b1dc) (Remote host closed the connection)
16:31:45 econo joins (uid147250@user/econo)
16:33:43 × mei quits (~mei@user/mei) (Remote host closed the connection)
16:33:50 nick4 joins (~nick@50.86.118.19)
16:36:25 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-0504-91f2-c755-48f0.rev.sfr.net) (Remote host closed the connection)
16:37:14 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-0504-91f2-c755-48f0.rev.sfr.net)
16:38:18 × nick4 quits (~nick@50.86.118.19) (Ping timeout: 265 seconds)
16:41:20 × rbancroft quits (~ryan@d104-205-58-199.abhsia.telus.net) (Remote host closed the connection)
16:41:22 mei joins (~mei@user/mei)
16:47:04 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 250 seconds)
16:47:37 × jpds2 quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
16:48:01 jpds2 joins (~jpds@gateway/tor-sasl/jpds)
16:53:43 × pharonix71 quits (~pharonix7@user/pharonix71) (Remote host closed the connection)
16:54:09 pharonix71 joins (~pharonix7@user/pharonix71)
16:59:08 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds)
16:59:40 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
17:01:16 marinelli joins (~weechat@gateway/tor-sasl/marinelli)
17:02:47 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
17:06:25 gurkenglas joins (~gurkengla@dynamic-046-114-182-194.46.114.pool.telefonica.de)
17:12:44 × heraldo quits (~heraldo@user/heraldo) (Ping timeout: 246 seconds)
17:13:48 heraldo joins (~heraldo@user/heraldo)
17:15:13 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
17:18:42 × heraldo quits (~heraldo@user/heraldo) (Ping timeout: 268 seconds)
17:28:29 × nek0 quits (~nek0@2a01:4f8:222:2b41::12) (Quit: The Lounge - https://thelounge.chat)
17:34:43 heraldo joins (~heraldo@user/heraldo)
17:35:00 enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
17:41:28 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-0504-91f2-c755-48f0.rev.sfr.net) (Ping timeout: 245 seconds)
17:48:38 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-5d8c-8b3d-ea84-cebb.rev.sfr.net)
17:50:27 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
17:50:49 nate1 joins (~nate@98.45.169.16)
17:52:47 elain4 joins (~textual@static-71-251-226-194.rcmdva.fios.verizon.net)
17:53:24 CyberSoul joins (~ray@2405:201:680a:b174:7b30:abcb:1d56:b23)
17:54:25 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
17:55:44 × heraldo quits (~heraldo@user/heraldo) (Quit: heraldo)
17:55:55 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds)
18:02:06 <CyberSoul> Hello Everyone
18:02:19 <[exa]> o/
18:02:32 <CyberSoul> do you guys think ghcup could be packaged for debian ?
18:03:12 <monochrom> Do you mean that the debian repo should have a deb for ghcup?
18:03:13 <CyberSoul> so debian and its derivatives could use the latest toolset
18:03:17 <CyberSoul> yes
18:03:58 <monochrom> Oh IMO the debian repo should have much more than that. Or rather, should have much newer versions across the board in the first place.
18:04:32 <monochrom> But I guess my opinion is in direct conflict with the whole point of debian, so meh.
18:05:15 <monochrom> Well, taking in ghcup is a good compromise. So official packages can still be old, but there is a convenient program for fetching new ones.
18:05:52 <monochrom> But now the tug war is merely moved to: which outdated version of ghcup should be in the debian repo haha.
18:06:36 <[exa]> there were lots of tradeoffs in "debian folks manage to update everything in time" vs "pandoc from the .deb still works"
18:06:50 <CyberSoul> haha yes they should have newer packages
18:07:01 <monochrom> Plus ghcup has a self-update command that conflicts with distro package monopoly. That one will be a thorny issue i.e. should it be disabled or what should it do instead.
18:07:26 <[exa]> the self-update isn't a big deal (you can patch it out)
18:07:43 <dsal> That defeats "so debian and its derivatives could use the latest toolset"
18:07:47 <CyberSoul> and exactly if ghcup can be included the tools it manages would be so much easier to get
18:08:11 <monochrom> Oh disabling it is easy. Changing it to fit into the distro context is also easy.
18:08:28 <monochrom> The thorny issue is once again people will debate forever which one to do.
18:08:41 <CyberSoul> ghcup would be simpler to package than incrementally packaging continuosly outdated packages
18:08:41 <monochrom> And half of the people will always be unhappy.
18:09:12 <monochrom> Right? Even in Haskell, adopting any real record system is easy, the hard part is which one to choose from. >:)
18:09:16 Joao003 joins (~Joao003@2804:840:8311:b700:9d7c:6e92:45f4:155)
18:10:04 × elain4 quits (~textual@static-71-251-226-194.rcmdva.fios.verizon.net) (Remote host closed the connection)
18:10:05 ski . o O ( perhaps there's a way to get the worst of all worlds )
18:10:10 <monochrom> For now I take the route of "getting ghcup from ghcup's website is easy" and be complacent and recommend doing nothing.
18:15:20 <[exa]> CyberSoul: actually you might try this right on the ghcup repo https://hackage.haskell.org/package/cabal-debian
18:20:51 <tomsmeding> CyberSoul: simpler to package sure, but that wouldn't help debian at all: there are a whole bunch of packages in the debian repos depending on haskell libraries, and they'd all have to work with whatever toolchain you're installing with ghcup
18:21:14 <tomsmeding> the package system works because the package system controls all versions
18:21:45 bjobjo joins (~bjobjo@user/bjobjo)
18:21:53 <Clint> [exa]: the dependencies would have to be done first
18:21:57 <tomsmeding> and if debian would hard-install a particular ghc version with ghcup in order to support the other haskell-based packages in the repos, then you're back in precisely the same spot as we currently are, except the same outdated ghc version is now installed using ghcup
18:21:58 <tomsmeding> which is not a win
18:22:24 <tomsmeding> putting ghcup in the debian repos would purely be for users, not for system packages
18:23:50 <[exa]> Clint: yeah I was just trying to figure out what was the problem last time, and looks like some packages are still missing
18:24:23 <[exa]> haskus stuff and yaml-streamly, among other
18:25:00 <[exa]> (and streamly in general)
18:26:43 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
18:26:44 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
18:26:44 wroathe joins (~wroathe@user/wroathe)
18:28:55 <monochrom> Moral of the story: Monopolies and dictatorships work. >:)
18:29:20 <monochrom> Wait, how do those work in the plural?! haha
18:32:21 cyphase joins (~cyphase@user/cyphase)
18:33:26 nek0 joins (~nek0@2a01:4f8:222:2b41::12)
18:33:53 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-5d8c-8b3d-ea84-cebb.rev.sfr.net) (Remote host closed the connection)
18:34:12 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-5d8c-8b3d-ea84-cebb.rev.sfr.net)
18:39:47 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
18:55:26 Inst_ joins (~Inst@2601:6c4:4081:2fc0:95de:ea8b:4618:4a8d)
18:58:08 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:fdd9:cd01:9100:d00b) (Remote host closed the connection)
18:59:15 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 260 seconds)
18:59:30 × Inst quits (~Inst@2601:6c4:4081:2fc0:2587:5a44:82b3:c91) (Ping timeout: 260 seconds)
19:13:39 × enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
19:21:50 michalz joins (~michalz@185.246.207.205)
19:24:42 wootehfoot joins (~wootehfoo@user/wootehfoot)
19:25:42 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
19:26:06 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-5d8c-8b3d-ea84-cebb.rev.sfr.net) (Remote host closed the connection)
19:26:30 × Joao003 quits (~Joao003@2804:840:8311:b700:9d7c:6e92:45f4:155) (Quit: Leaving)
19:26:59 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-5d8c-8b3d-ea84-cebb.rev.sfr.net)
19:32:38 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:fdd9:cd01:9100:d00b)
19:36:20 × marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
19:37:09 marinelli joins (~weechat@gateway/tor-sasl/marinelli)
19:44:37 × trev quits (~trev@user/trev) (Quit: trev)
19:45:35 pavonia joins (~user@user/siracusa)
19:47:40 × Ellenor quits (ellenor@callbox.trd.is) (Quit: Bye Open Projects!)
20:06:18 jumper149 joins (~jumper149@base.felixspringer.xyz)
20:07:07 zeenk joins (~zeenk@2a02:2f04:a20f:5200::7fe)
20:07:23 krskrft joins (~textual@24-220-240-23-static.midco.net)
20:08:07 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:fdd9:cd01:9100:d00b) (Remote host closed the connection)
20:20:46 Ellenor joins (~Ellenor@callbox.trd.is)
20:25:17 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
20:31:48 × tired quits (~tired@user/tired) (Quit: /)
20:33:35 tired joins (~tired@user/tired)
20:50:01 ubert joins (~Thunderbi@p200300ecdf15588e8ba3eaebe9e1d757.dip0.t-ipconnect.de)
20:50:53 waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
20:58:24 × lottaquestions quits (~nick@2607:fa49:503f:6d00:b69d:225e:2844:c837) (Quit: Konversation terminated!)
21:05:16 ub joins (~Thunderbi@p548c9793.dip0.t-ipconnect.de)
21:06:11 × ubert quits (~Thunderbi@p200300ecdf15588e8ba3eaebe9e1d757.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
21:06:11 ub is now known as ubert
21:08:08 × TonyStone quits (~TonyStone@cpe-74-76-57-186.nycap.res.rr.com) (Quit: Leaving)
21:08:36 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
21:12:50 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
21:18:52 jero98772 joins (~jero98772@2800:484:1d84:9000::3)
21:32:51 Joao003 joins (~Joao003@2804:840:8311:b700:41a1:fe85:9a5f:a01e)
21:32:58 × Joao003 quits (~Joao003@2804:840:8311:b700:41a1:fe85:9a5f:a01e) (Read error: Connection reset by peer)
21:36:39 × krskrft quits (~textual@24-220-240-23-static.midco.net) (Quit: Textual IRC Client: www.textualapp.com)
21:40:04 × biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer)
21:42:18 o-90 joins (~o-90@gateway/tor-sasl/o-90)
21:42:35 × o-90 quits (~o-90@gateway/tor-sasl/o-90) (Remote host closed the connection)
21:43:42 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
21:44:29 × waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 268 seconds)
21:44:33 × tired quits (~tired@user/tired) (Quit: /)
21:45:11 tired joins (~tired@user/tired)
21:50:53 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
21:51:35 × inversed quits (~inversed@bcdcac82.skybroadband.com) (Ping timeout: 260 seconds)
21:52:20 nate1 joins (~nate@98.45.169.16)
21:54:45 biberu joins (~biberu@user/biberu)
21:55:37 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds)
21:56:24 waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
21:57:26 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds)
22:00:47 × marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
22:08:30 × michalz quits (~michalz@185.246.207.205) (Remote host closed the connection)
22:08:33 emmanuelux joins (~emmanuelu@user/emmanuelux)
22:08:34 jmdaemon joins (~jmdaemon@user/jmdaemon)
22:14:13 × Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
22:14:29 × jumper149 quits (~jumper149@base.felixspringer.xyz) (Quit: WeeChat 3.8)
22:19:05 JustPassingBy joins (~DontMindM@188.132.236.106)
22:19:37 Me-me joins (~Me-me@user/me-me)
22:19:48 falafel joins (~falafel@2603-8000-d700-115c-156a-c6f3-3ee5-b716.res6.spectrum.com)
22:21:05 × falafel quits (~falafel@2603-8000-d700-115c-156a-c6f3-3ee5-b716.res6.spectrum.com) (Remote host closed the connection)
22:21:27 falafel joins (~falafel@2603-8000-d700-115c-6c3b-389e-7e69-f43f.res6.spectrum.com)
22:32:17 × acidjnk quits (~acidjnk@p200300d6e715c464285fef55bd00a3c3.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
22:35:22 × JustPassingBy quits (~DontMindM@188.132.236.106) (Quit: Client closed)
22:36:33 × tremon quits (~tremon@83.80.159.219) (Quit: getting boxed in)
22:40:31 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-5d8c-8b3d-ea84-cebb.rev.sfr.net) (Remote host closed the connection)
22:41:15 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-5d8c-8b3d-ea84-cebb.rev.sfr.net)
22:46:12 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
22:46:34 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
22:48:23 × gurkenglas quits (~gurkengla@dynamic-046-114-182-194.46.114.pool.telefonica.de) (Ping timeout: 260 seconds)
22:57:17 × biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer)
22:57:37 biberu joins (~biberu@user/biberu)
22:59:01 × dextaa quits (~DV@user/dextaa) (Quit: Ping timeout (120 seconds))
22:59:27 dextaa joins (~DV@user/dextaa)
23:04:01 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
23:18:59 × Xe quits (~cadey@tailscale/xe) (Ping timeout: 265 seconds)
23:20:01 justsomeguy joins (~justsomeg@user/justsomeguy)
23:20:54 Xe joins (~cadey@tailscale/xe)
23:32:50 azimut joins (~azimut@gateway/tor-sasl/azimut)
23:34:06 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
23:34:06 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
23:34:06 wroathe joins (~wroathe@user/wroathe)
23:36:48 mauke_ joins (~mauke@user/mauke)
23:38:05 × mauke quits (~mauke@user/mauke) (Ping timeout: 240 seconds)
23:38:06 mauke_ is now known as mauke
23:49:59 × falafel quits (~falafel@2603-8000-d700-115c-6c3b-389e-7e69-f43f.res6.spectrum.com) (Ping timeout: 260 seconds)
23:55:23 × zeenk quits (~zeenk@2a02:2f04:a20f:5200::7fe) (Quit: Konversation terminated!)

All times are in UTC on 2023-05-01.