Home liberachat/#haskell: Logs Calendar

Logs on 2023-06-21 (liberachat/#haskell)

00:04:59 × gurkenglas quits (~user@dynamic-089-204-130-184.89.204.130.pool.telefonica.de) (Ping timeout: 246 seconds)
00:10:12 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 240 seconds)
00:13:21 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
00:13:21 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
00:13:21 wroathe joins (~wroathe@user/wroathe)
00:14:48 diod joins (~diod@bras-base-london140cw-grc-07-142-112-183-155.dsl.bell.ca)
00:14:57 diod parts (~diod@bras-base-london140cw-grc-07-142-112-183-155.dsl.bell.ca) ()
00:22:30 × siers quits (~ij@user/ij) (Server closed connection)
00:22:51 siers joins (~ij@user/ij)
00:23:59 justsomeguy joins (~justsomeg@user/justsomeguy)
00:24:08 × Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
00:32:00 × thegeekinside quits (~thegeekin@189.180.9.45) (Ping timeout: 240 seconds)
00:45:05 × dsrt^ quits (~dsrt@c-71-204-38-59.hsd1.ga.comcast.net) (Remote host closed the connection)
00:47:51 × catch22 quits (~catch22@2406:3400:418:d7e0:67c:16ff:fe3e:b769) (Quit: Leaving)
00:48:05 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
00:48:35 × robertm quits (robertm@lattice.rojoma.com) (Server closed connection)
00:48:54 robertm joins (robertm@lattice.rojoma.com)
01:05:44 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
01:06:57 ec joins (~ec@gateway/tor-sasl/ec)
01:08:00 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds)
01:11:18 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:12:33 × xff0x_ quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 246 seconds)
01:17:25 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:17:36 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
01:20:20 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
01:39:23 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:347f:c197:daa9:fd59)
01:40:28 <Athas> I really could use a Trifunctor... I guess maybe that's a sign I'm doing something dumb.
01:42:20 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 240 seconds)
01:43:05 <dsal> What's that do?
01:43:32 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:347f:c197:daa9:fd59) (Ping timeout: 240 seconds)
01:50:26 <Axman6> Trifunctor f where fmap3 :: (a -> b) -> (i -> j) -> (y -> z) -> f a i y -> f b j z?
01:54:07 <probie> Can we jam in some covariant/contravariant markers so we don't risk needing 8 different classes? :p
01:54:50 <Axman6> jackdk: Does the FunctorOf stuff help with ^ ?
02:01:08 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 240 seconds)
02:01:57 <jackdk> Axman6: yes, because it just boils down to a functor from (->) to transformations between bifunctors (which could further get boiled down; this is why Iceland_Jack's stuff also wants some idea of "type class backends")
02:02:05 <jackdk> s/just//
02:06:33 <probie> If I have two functions which are equivalent (up to functional extensionality), but in some situations I know one is preferable over the other because of some rewrite rules that may fire, is it absurd to go `f = pickDef (def1, def2)` with `pickDef (x,_) = x` (with immediate inlining on `f` and late inlining on `pickDef` so it can be detected by rewrite rules)?
02:07:11 × rf quits (~rf@2605:59c8:179c:f610:fdc:f9e0:5115:df48) (Ping timeout: 260 seconds)
02:07:58 rf joins (~rf@2605:59c8:179c:f610:2cda:5953:da36:7a10)
02:08:04 benjaminbellick joins (~user@ool-4575ce40.dyn.optonline.net)
02:08:56 <Axman6> Sounds like it could be fragile
02:15:27 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
02:15:48 <Axman6> Reminds me of some of the work I did on GHC, changing the LLVM backend to using the HDoc type for more efficient file generation - the trick there to make sure things were fast was to include SPECIALISE pragmas for both SDoc and HDoc
02:17:08 <probie> It's already relying on other rewrite rules, so we're in a fragile space to begin with. The problem is that I have two classes of functions, let's call them A and B. I can cheaply compose 2 As, or 2 Bs or an A with a B, but not a B with an A
02:18:02 × gentauro quits (~gentauro@user/gentauro) (Ping timeout: 252 seconds)
02:20:38 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:20:38 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:20:38 finn_elija is now known as FinnElija
02:20:53 <probie> There's also a third class C, which can compose with anything without issue, but I think we can just ignore that
02:24:53 gentauro joins (~gentauro@user/gentauro)
02:26:44 × phma quits (phma@2001:5b0:211f:2f08:1cac:200:a297:82b8) (Read error: Connection reset by peer)
02:27:10 phma joins (~phma@host-67-44-208-160.hnremote.net)
02:27:14 falafel joins (~falafel@2607:fb91:86c:d890:a3d3:8ef4:9c53:4539)
02:27:30 jargon joins (~jargon@32.sub-174-205-224.myvzw.com)
02:29:56 × dtman34 quits (~dtman34@2601:447:d000:93c9:49a3:2ee1:9e07:c081) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
02:35:38 × td_ quits (~td@i53870919.versanet.de) (Ping timeout: 252 seconds)
02:36:07 dtman34 joins (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net)
02:37:35 td_ joins (~td@i5387092F.versanet.de)
02:38:46 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:291c:968d:11e3:9e1a)
02:41:34 eggplant_ joins (~Eggplanta@2600:1700:38c5:d800:89b:a33a:757:b886)
02:43:21 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:291c:968d:11e3:9e1a) (Ping timeout: 260 seconds)
02:44:19 xff0x_ joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
02:45:30 × eggplant_ quits (~Eggplanta@2600:1700:38c5:d800:89b:a33a:757:b886) (Ping timeout: 240 seconds)
02:46:56 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
02:49:10 <Axman6> Hey haskellers... does anyone know what the python name for concat is? relying on my IDE is not working out after using [ ... ].<tab> :')
02:49:24 <dsal> join?
02:50:10 <dsal> I've managed to avoid python long enough that none of my python scripts work anymore and I don't know how to fix them.
02:50:54 <Axman6> yeah I thought that too, but doesn't seem to be a thing
02:51:09 <dsal> I think join is backwards in python
02:51:50 <jackdk> It's a method on the delimiter, not the container: `':'.join(['a', 'b', 'c'])`
02:52:06 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:89b:a33a:757:b886)
02:52:30 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
02:55:30 <probie> Axman6: list(itertools.chain(*someList))
03:03:36 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
03:05:38 srk- joins (~sorki@user/srk)
03:06:11 srk| joins (~sorki@user/srk)
03:07:32 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 240 seconds)
03:08:18 systemhalted joins (~systemhal@103.252.216.58)
03:09:01 × srk quits (~sorki@user/srk) (Ping timeout: 260 seconds)
03:09:22 srk| is now known as srk
03:09:52 × srk- quits (~sorki@user/srk) (Ping timeout: 240 seconds)
03:11:08 × systemhalted quits (~systemhal@103.252.216.58) (Remote host closed the connection)
03:13:12 × bilegeek quits (~bilegeek@79.sub-174-209-41.myvzw.com) (Quit: Leaving)
03:18:32 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
03:20:52 × aforemny quits (~aforemny@i59F516E1.versanet.de) (Ping timeout: 240 seconds)
03:21:49 srk- joins (~sorki@user/srk)
03:21:55 aforemny joins (~aforemny@i59F516E6.versanet.de)
03:22:12 × jero98772 quits (~jero98772@2800:484:1d7f:5d36::2) (Ping timeout: 240 seconds)
03:22:56 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Ping timeout: 240 seconds)
03:25:20 cafkafk joins (~cafkafk@fsf/member/cafkafk)
03:25:32 × srk quits (~sorki@user/srk) (Ping timeout: 240 seconds)
03:25:32 srk- is now known as srk
03:26:57 × mtjm quits (~mutantmel@2604:a880:2:d0::208b:d001) (Remote host closed the connection)
03:27:51 mtjm joins (~mutantmel@2604:a880:2:d0::208b:d001)
03:32:56 × rf quits (~rf@2605:59c8:179c:f610:2cda:5953:da36:7a10) (Ping timeout: 260 seconds)
03:34:25 jero98772 joins (~jero98772@2800:484:1d7f:5d36::2)
03:38:46 × dtman34 quits (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
03:45:33 <glguy> ijqq: are you doing your toml dev on a public repo?
03:47:41 <davean> Someone is doing toml work? I've been wanting better toml handling.
03:49:16 <glguy> davean: I've build building a library https://glguy.net/gitea/glguy/toml - what better handling do you have in mind?
03:49:51 × jero98772 quits (~jero98772@2800:484:1d7f:5d36::2) (Remote host closed the connection)
03:49:51 <glguy> I have an old one that wasn't complete and I wanted to go back and redo it to fit the 1.0.0 spec tightly
03:50:16 <glguy> and then ijqq happened to be using toml as a project for learning parsing, I think
03:53:40 <glguy> My initial goals were to figure out what was needed to actually lex toml with alex and then to get a solid understanding of what toml's actual rules for defining tables are. I don't find it very intuitive and doing the implementation helped there
03:56:24 <davean> glguy: so its been a while since I last tried to use it - when I did I ran into several issues. I don't have a list handy ATM.
03:57:55 <glguy> anyway, I don't think my library is anything ground breaking, but it's been a fun distraction
04:02:03 <davean> I look forward to trying it.
04:02:32 × hugo quits (znc@2001:6b0:17:f0a0::17) (Ping timeout: 240 seconds)
04:04:32 hdggxin joins (~hdggxin@122.175.41.19)
04:04:52 × ft quits (~ft@p4fc2afc9.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
04:06:19 × anthezium quits (~ted@97-120-70-39.ptld.qwest.net) (Ping timeout: 260 seconds)
04:08:09 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
04:12:52 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
04:13:10 × bontaq quits (~user@ool-45779b84.dyn.optonline.net) (Ping timeout: 252 seconds)
04:16:03 hugo joins (znc@verdigris.lysator.liu.se)
04:16:16 arrowhead joins (~arrowhead@2603-7000-9b3f-6934-a971-d3cb-1596-4118.res6.spectrum.com)
04:16:30 Inst_ joins (~Inst@c-76-101-10-131.hsd1.fl.comcast.net)
04:17:16 × Inst quits (~Inst@2601:6c4:4081:2fc0:9dc5:964c:79f7:7570) (Ping timeout: 260 seconds)
04:20:30 × arrowhead quits (~arrowhead@2603-7000-9b3f-6934-a971-d3cb-1596-4118.res6.spectrum.com) (Ping timeout: 240 seconds)
04:20:51 <Axman6> probie: yeah that's what the internet said too and it makes me very sad needing an import for concat
04:21:24 <Axman6> probie: there's also this... hack: sum(xxs,[])
04:22:46 dtman34 joins (~dtman34@c-76-156-89-180.hsd1.mn.comcast.net)
04:24:30 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
04:30:04 × jargon quits (~jargon@32.sub-174-205-224.myvzw.com) (Remote host closed the connection)
04:31:57 trev joins (~trev@user/trev)
04:32:55 anthezium joins (~ted@75.164.14.110)
04:46:55 × xerox quits (~edi@user/edi) (Server closed connection)
04:47:03 xerox joins (~edi@user/edi)
04:50:56 × azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
05:00:35 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
05:03:00 × falafel quits (~falafel@2607:fb91:86c:d890:a3d3:8ef4:9c53:4539) (Ping timeout: 240 seconds)
05:07:39 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
05:08:16 × ijqq quits (uid603979@id-603979.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
05:12:32 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Remote host closed the connection)
05:16:24 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
05:16:59 × theodorc quits (theodorc@cassarossa.samfundet.no) (Server closed connection)
05:17:23 theodorc joins (theodorc@cassarossa.samfundet.no)
05:18:44 cafkafk joins (~cafkafk@fsf/member/cafkafk)
05:19:33 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
05:19:59 mmhat joins (~mmh@p200300f1c702b0fdee086bfffe095315.dip0.t-ipconnect.de)
05:20:12 × chromoblob quits (~user@37.113.180.121) (Ping timeout: 240 seconds)
05:20:16 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:25:08 × ddellaco1 quits (~ddellacos@143.244.47.100) (Ping timeout: 240 seconds)
05:34:30 × stallmanator quits (~stallmana@user/stallmanator) (Server closed connection)
05:34:52 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
05:34:56 stallmanator joins (~stallmana@user/stallmanator)
05:37:59 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
05:39:46 × m1dnight quits (~christoph@78-22-4-67.access.telenet.be) (Ping timeout: 240 seconds)
05:40:55 chromoblob joins (~user@37.113.180.121)
05:42:53 × kimiamania6 quits (~6790af62@user/kimiamania) (Quit: Ping timeout (120 seconds))
05:42:57 × mmhat quits (~mmh@p200300f1c702b0fdee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8)
05:43:40 jonathan joins (~jonathan@c83-252-3-92.bredband.tele2.se)
05:45:53 × hyvoid quits (~hyenavoid@222-0-178-69.static.gci.net) (Ping timeout: 265 seconds)
05:46:10 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Remote host closed the connection)
05:46:40 cafkafk joins (~cafkafk@fsf/member/cafkafk)
05:46:50 hyvoid joins (~hyenavoid@222-0-178-69.static.gci.net)
05:47:06 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 260 seconds)
05:49:41 × hyvoid quits (~hyenavoid@222-0-178-69.static.gci.net) (Client Quit)
05:49:55 hyvoid joins (~hyenavoid@222-0-178-69.static.gci.net)
05:51:53 michalz joins (~michalz@185.246.207.217)
05:56:20 acidjnk joins (~acidjnk@p200300d6e7072f41dcd5446dd0ee4e5a.dip0.t-ipconnect.de)
05:59:31 gurkenglas joins (~user@dynamic-089-204-130-184.89.204.130.pool.telefonica.de)
06:07:50 lortabac joins (~lortabac@2a01:e0a:541:b8f0:1e1c:e5dd:2e78:d325)
06:10:38 <sm> hey all. Why would the max residency reported by +RTS -s be quite a bit (eg 3x) smaller than the max Real Mem usage observed with mac activity monitor ?
06:13:32 × mauke quits (~mauke@user/mauke) (Ping timeout: 240 seconds)
06:19:30 × pointlessslippe1 quits (~pointless@212.82.82.3) (Ping timeout: 240 seconds)
06:22:40 × taupiqueur2 quits (~taupiqueu@2a02-8440-2440-b664-9c72-b816-0500-13c5.rev.sfr.net) (Ping timeout: 265 seconds)
06:23:39 <int-e> sm: residency counts live data on the heap *after* each garbage collection
06:25:12 <int-e> So it doesn't account for having a from-space, a to-space, and the actual garbage that wasn't copied during (copying) GC.
06:25:56 <int-e> So I think a factor of 2-3 is actually expected with the copying garbage collector.
06:26:32 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds)
06:27:21 × shapr quits (~user@2600:1700:c640:3100:c563:6739:a435:1e16) (Ping timeout: 260 seconds)
06:27:54 <int-e> "each garbage collection" - I guess that's only for major collections.
06:28:48 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
06:29:42 × tubogram44711 quits (~tubogram@user/tubogram) (Ping timeout: 240 seconds)
06:36:39 taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net)
06:38:17 <sm> int-e: ah, thanks!
06:38:56 <sm> it would be nice if RTS could report the actual max memory used.. much more convenient than trying to watch it with top
06:39:34 × noctux1 quits (hFX4m9Jjsv@user/noctux) (Server closed connection)
06:39:54 noctux1 joins (88FTKVRINY@user/noctux)
06:41:36 × taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 258 seconds)
06:42:54 × yaroot quits (~yaroot@p3136152-ipngn5601souka.saitama.ocn.ne.jp) (Remote host closed the connection)
06:43:41 yaroot joins (~yaroot@2400:4052:ac0:d900:1cf4:2aff:fe51:c04c)
06:43:55 × bsima quits (~bsima@2604:a880:400:d0::19f1:7001) (Server closed connection)
06:44:14 bsima joins (~bsima@143.198.118.179)
06:45:29 <jade[m]1> I wonder whether this would better to represent with a state monad that collects the intermediate states... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/51118610c5107520de0520939442e1f4a89cf628>)
06:49:22 × shailangsa quits (~shailangs@host86-186-142-69.range86-186.btcentralplus.com) (Ping timeout: 252 seconds)
06:50:52 <Axman6> Hmmm, does a type level for loop make much sense? I want to secify some type parameters as a type level list, and then run some code with with each set of those types...
06:52:46 × exeo quits (~exeo@97-119-96-49.omah.qwest.net) (Remote host closed the connection)
06:52:56 <probie> a loop as opposed to just a regular map?
06:52:56 tubogram44711 joins (~tubogram@user/tubogram)
06:53:09 exeo joins (~Ozymandia@97-119-96-49.omah.qwest.net)
06:53:23 taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net)
06:55:23 <jackdk> Like bringing a typelevel list of `Symbol` down to value level, and then doing something with the result? sure, why not?
06:57:42 × tubogram44711 quits (~tubogram@user/tubogram) (Ping timeout: 240 seconds)
06:57:52 × taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 240 seconds)
07:01:15 × user___ quits (~user@162.255.84.96) (Server closed connection)
07:01:38 user___ joins (~user@162.255.84.96)
07:04:09 <Axman6> I can't quite figure out in my head how to do it. Will need to have a play another day. I feel I want something like... forEachOf @(size,showDoThing) @[(1,True),(4,False)] (someThing :: Foo size doSomething => m something)
07:04:52 <Axman6> uh, showDoThing = doSomething
07:05:09 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
07:05:30 × euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 252 seconds)
07:05:39 <Axman6> My specific usecase is working with Clash, and I'd love to be able to write testbenches where you can run them with a bunch of different type level params
07:06:21 fendor joins (~fendor@2a02:8388:1640:be00:7aca:a77a:4a28:631a)
07:08:46 euandreh joins (~Thunderbi@189.6.18.7)
07:09:43 taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net)
07:10:29 × exeo quits (~Ozymandia@97-119-96-49.omah.qwest.net) (Quit: Leaving)
07:13:25 × troydm quits (~troydm@user/troydm) (Ping timeout: 240 seconds)
07:13:52 × taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 240 seconds)
07:16:11 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
07:20:05 ripspin joins (~chatzilla@1.145.245.25)
07:20:44 sap joins (~sap@169.84-49-96.nextgentel.com)
07:20:52 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
07:21:28 × sap quits (~sap@169.84-49-96.nextgentel.com) (Client Quit)
07:21:40 sap joins (~sap@169.84-49-96.nextgentel.com)
07:24:19 × sap quits (~sap@169.84-49-96.nextgentel.com) (Read error: Connection reset by peer)
07:25:00 <jackdk> Axman6: try a HList of singletons
07:29:48 × econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
07:30:53 <Lears> That or a helper class like `class For (c :: k -> Constraint) (ts :: [k]) where forTypes :: (forall proxy a. c a => proxy a -> r) -> [r]`.
07:32:33 Co0kie joins (~Jura@145.224.73.17)
07:33:33 sap joins (~sap@169.84-49-96.nextgentel.com)
07:35:14 troydm joins (~troydm@user/troydm)
07:35:32 × sap quits (~sap@169.84-49-96.nextgentel.com) (Read error: Connection reset by peer)
07:43:27 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
07:44:01 taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net)
07:44:07 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
07:47:16 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:49:13 × taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 256 seconds)
07:50:32 × mxs quits (~mxs@user/mxs) (Ping timeout: 240 seconds)
07:51:08 × APic quits (apic@apic.name) (Ping timeout: 240 seconds)
07:51:33 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
07:53:10 mc47 joins (~mc47@xmonad/TheMC47)
07:53:13 bgs joins (~bgs@212-85-160-171.dynamic.telemach.net)
07:57:19 × ggVGc quits (~ggVGc@a.lowtech.earth) (Server closed connection)
07:57:41 ggVGc joins (~ggVGc@a.lowtech.earth)
07:59:58 Pickchea joins (~private@user/pickchea)
08:01:54 taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net)
08:06:12 × taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 240 seconds)
08:10:19 × perrierjouet quits (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Server closed connection)
08:10:42 perrierjouet joins (~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
08:14:54 × Katarushisu quits (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Server closed connection)
08:15:11 Katarushisu joins (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net)
08:17:35 pointlessslippe1 joins (~pointless@212.82.82.3)
08:18:25 × cheater quits (~Username@user/cheater) (Read error: Connection reset by peer)
08:20:27 cheater joins (~Username@user/cheater)
08:21:44 × califax quits (~califax@user/califx) (Ping timeout: 240 seconds)
08:23:50 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
08:28:11 cfricke joins (~cfricke@user/cfricke)
08:35:28 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:89b:a33a:757:b886) (Remote host closed the connection)
08:35:32 × Co0kie quits (~Jura@145.224.73.17) (Ping timeout: 240 seconds)
08:39:27 califax joins (~califax@user/califx)
08:44:45 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
08:44:59 × Fangs quits (sid141280@id-141280.hampstead.irccloud.com) (Server closed connection)
08:45:14 Fangs joins (sid141280@id-141280.hampstead.irccloud.com)
08:46:07 danse-nr3_ joins (~francesco@151.46.135.20)
08:50:54 taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net)
08:53:51 gehmehgeh joins (~user@user/gehmehgeh)
08:59:00 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
08:59:57 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
09:02:16 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
09:04:47 oneeyedalien_ joins (~oneeyedal@user/oneeyedalien)
09:05:41 Midjak joins (~Midjak@82.66.147.146)
09:06:30 × oneeyedalien quits (~oneeyedal@user/oneeyedalien) (Ping timeout: 252 seconds)
09:07:23 × Inst[m] quits (~instrmatr@2001:470:69fc:105::1:903e) (Remote host closed the connection)
09:08:06 enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
09:09:46 × phma quits (~phma@host-67-44-208-160.hnremote.net) (Read error: Connection reset by peer)
09:10:11 phma joins (phma@2001:5b0:211f:2f08:cc02:19f0:c9b8:d000)
09:12:29 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
09:12:52 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds)
09:13:01 × chromoblob quits (~user@37.113.180.121) (Ping timeout: 258 seconds)
09:15:00 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
09:15:00 Lord_of_Life_ is now known as Lord_of_Life
09:17:34 ubert joins (~Thunderbi@2a02:8109:abc0:6434:8a6c:e7c0:d456:af5)
09:19:39 × Boarders___ quits (sid425905@id-425905.lymington.irccloud.com) (Server closed connection)
09:20:00 Boarders___ joins (sid425905@id-425905.lymington.irccloud.com)
09:22:10 m1dnight joins (~christoph@78-22-4-67.access.telenet.be)
09:24:31 cfricke_ joins (~cfricke@user/cfricke)
09:26:25 hugo joins (znc@verdigris.lysator.liu.se)
09:26:25 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 240 seconds)
09:28:08 × gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 240 seconds)
09:28:35 ddellaco1 joins (~ddellacos@146.70.168.10)
09:35:58 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:89b:a33a:757:b886)
09:36:12 gehmehgeh joins (~user@user/gehmehgeh)
09:36:19 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 256 seconds)
09:38:00 × yaroot quits (~yaroot@2400:4052:ac0:d900:1cf4:2aff:fe51:c04c) (Ping timeout: 240 seconds)
09:40:26 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:89b:a33a:757:b886) (Ping timeout: 260 seconds)
09:40:36 × gurkenglas quits (~user@dynamic-089-204-130-184.89.204.130.pool.telefonica.de) (Ping timeout: 252 seconds)
09:41:58 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
09:42:45 yaroot joins (~yaroot@p3438127-ipngn9401souka.saitama.ocn.ne.jp)
09:44:00 hugo joins (znc@verdigris.lysator.liu.se)
09:44:56 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
09:47:01 nefercheprure is now known as TMA
09:49:12 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds)
09:50:52 × hyvoid quits (~hyenavoid@222-0-178-69.static.gci.net) (Ping timeout: 252 seconds)
09:51:47 hyvoid joins (~hyenavoid@222-0-178-69.static.gci.net)
09:52:28 gurkenglas joins (~user@dynamic-089-204-130-184.89.204.130.pool.telefonica.de)
09:56:59 hugo joins (znc@verdigris.lysator.liu.se)
10:01:26 danse-nr3__ joins (~francesco@151.44.193.186)
10:01:27 × danse-nr3_ quits (~francesco@151.46.135.20) (Read error: Connection reset by peer)
10:02:45 <kuribas> ugh, cassava is failing because there is no trailing newline in the csv file.
10:02:59 × carter quits (sid14827@id-14827.helmsley.irccloud.com) (Server closed connection)
10:03:07 <Hecate> kuribas: that sucks but also CSV is a mine field of oddities :D
10:03:24 <kuribas> that's why I'd expect a CSV parser to be very lenient.
10:03:28 carter joins (sid14827@id-14827.helmsley.irccloud.com)
10:04:16 × texasmynsted quits (~username@99.96.221.112) (Server closed connection)
10:04:39 texasmynsted joins (~username@99.96.221.112)
10:06:27 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
10:06:38 × xff0x_ quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 252 seconds)
10:07:24 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Ping timeout: 265 seconds)
10:07:50 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
10:11:16 ceoarrrrrrrrrrrr joins (~ceoarrrrr@c-71-204-38-59.hsd1.ga.comcast.net)
10:15:59 × truckasaurus quits (sid457088@id-457088.helmsley.irccloud.com) (Server closed connection)
10:16:08 truckasaurus joins (sid457088@id-457088.helmsley.irccloud.com)
10:20:19 × Guest2244 quits (~m-mzmz6l@vmi833741.contaboserver.net) (Server closed connection)
10:20:36 root joins (~m-mzmz6l@vmi833741.contaboserver.net)
10:21:00 root is now known as Guest5986
10:22:03 × phma quits (phma@2001:5b0:211f:2f08:cc02:19f0:c9b8:d000) (Read error: Connection reset by peer)
10:22:27 phma joins (phma@2001:5b0:211f:2f08:cc02:19f0:c9b8:d000)
10:22:51 <Guillaum[m]> I had success with -fbreak-on-exceptions + :trace to locate exception source in GHCI only for small functions. Trying it on a complexe task (including threads) does not work (i.e. it never breaks on the exception, which are then caught by the local handler). Is this a known limitation (I cannot find anything on the issue tracker), or do I miss something obvious?
10:24:21 × smalltalkman quits (uid545680@id-545680.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
10:29:07 tom__ joins (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684)
10:32:52 × tom_ quits (~tom@2a00:23c8:970c:4801:c75:579a:9201:4dd9) (Ping timeout: 240 seconds)
10:37:31 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
10:38:20 __monty__ joins (~toonn@user/toonn)
10:42:16 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
10:46:08 × DigitalKiwi quits (~kiwi@2604:a880:400:d0::1ca0:e001) (Quit: quite.)
10:49:36 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:fdcc:20d2:cb27:c10f)
10:54:00 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:fdcc:20d2:cb27:c10f) (Ping timeout: 240 seconds)
10:55:20 × gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 240 seconds)
10:55:37 gehmehgeh joins (~user@user/gehmehgeh)
10:57:14 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
11:00:56 × ddellaco1 quits (~ddellacos@146.70.168.10) (Ping timeout: 260 seconds)
11:04:32 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Ping timeout: 240 seconds)
11:07:15 × Vq quits (~vq@90-227-195-9-no77.tbcn.telia.com) (Read error: Connection reset by peer)
11:07:33 Vq joins (~vq@90-227-195-9-no77.tbcn.telia.com)
11:07:36 xff0x_ joins (~xff0x@ai098135.d.east.v6connect.net)
11:08:09 cafkafk joins (~cafkafk@fsf/member/cafkafk)
11:12:58 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
11:13:58 gmg_ joins (~user@user/gehmehgeh)
11:14:56 × gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 240 seconds)
11:15:35 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
11:17:40 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
11:18:42 × Vq quits (~vq@90-227-195-9-no77.tbcn.telia.com) (Read error: Connection reset by peer)
11:21:10 × Helle quits (~helle@user/Helle) (Server closed connection)
11:21:17 Helle joins (~helle@user/Helle)
11:21:31 gemmaro joins (~user@240f:74:d1f0:1:ba1:e787:c9e:b1dc)
11:22:32 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
11:27:29 Vq joins (~vq@90-227-195-9-no77.tbcn.telia.com)
11:29:29 × taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 258 seconds)
11:29:39 × kawzeg quits (kawzeg@2a01:7e01::f03c:92ff:fee2:ec34) (Server closed connection)
11:29:58 kawzeg joins (kawzeg@2a01:7e01::f03c:92ff:fee2:ec34)
11:30:31 misterfish joins (~misterfis@84-53-85-146.bbserv.nl)
11:32:00 × Vq quits (~vq@90-227-195-9-no77.tbcn.telia.com) (Read error: Connection reset by peer)
11:32:28 Vq joins (~vq@90-227-195-9-no77.tbcn.telia.com)
11:33:27 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
11:37:10 SoF joins (~skius@user/skius)
11:37:36 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
11:37:52 × Pickchea quits (~private@user/pickchea) (Ping timeout: 240 seconds)
11:42:07 taupiqueur2 joins (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b)
11:42:55 × ncf quits (~n@monade.li) (Server closed connection)
11:43:14 ncf joins (~n@monade.li)
11:43:43 APic joins (apic@185.203.114.119)
11:46:45 × taupiqueur2 quits (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b) (Ping timeout: 246 seconds)
11:49:05 <merijn> I have no idea how that's implemented
11:49:40 <merijn> Guillaum[m]: fyi, if you build with profiling and run with the -xc RTS option you will get tracebacks for every thrown (annoyingly also caught ones, but oh well) on stderr
11:51:15 <Guillaum[m]> merijn: rebuilding in profiling is 20 minutes, when starting the repl and loading all module is 2 minutes here ;) But yes, that's the other option I have. Thank you.
11:52:14 × Inst_ quits (~Inst@c-76-101-10-131.hsd1.fl.comcast.net) (Ping timeout: 252 seconds)
11:52:15 <merijn> Guillaum[m]: on the bright side, that's mostly the first time (because it needs to build and install the profiled versions of your dependencies)
11:52:38 <danse-nr3__> kuribas, there seems to already be an issue about that https://github.com/haskell-hvr/cassava/issues/121, you could chime in to give it more weight
11:53:09 <kuribas> danse-nr3__: thanks, I will!
11:53:17 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:d523:1039:6a67:e484)
11:53:22 Inst joins (~Inst@c-76-101-10-131.hsd1.fl.comcast.net)
11:53:24 × APic quits (apic@185.203.114.119) (Ping timeout: 246 seconds)
11:53:28 <merijn> Guillaum[m]: After that initial build it should take meaningfully longer to build profiling than non-profiling (unless your regular rebuilds also take 20 minutes, in which case it's probably time to fix that instead ;))
11:53:57 <kuribas> danse-nr3__: ah no, that one is about an extra trailing newline. My issue is that there is no trailing newline in the end of the file.
11:54:21 <merijn> kuribas: cassava also breaks on CSVs exported by MS Office due to the utf8 BOM
11:54:30 <merijn> cassava is not very robust, imo
11:54:33 <danse-nr3__> kuribas, oh, sorry
11:54:42 × gemmaro quits (~user@240f:74:d1f0:1:ba1:e787:c9e:b1dc) (Remote host closed the connection)
11:55:13 <danse-nr3__> merijn, do you know of any better alternative?
11:55:54 <kuribas> merijn: indeed
11:56:32 <merijn> danse-nr3__: Crying :)
11:56:36 <merijn> + whiskey
11:56:41 <danse-nr3__> XD
11:56:41 <dminuoso> I should write
11:56:49 <dminuoso> A flatparse based csv parser.
11:57:02 <merijn> danse-nr3__: tbh, my better alternative would be "not using CSV files" :p
11:57:13 <danse-nr3__> gosh quite a price to pay
11:57:24 <dminuoso> It's a negative price.
11:57:30 <dminuoso> You get paid in warm feelings.
11:57:36 <merijn> I didn't say it was a practical alternative :P
11:57:40 <Guillaum[m]> merijn: 20 minutes is the build of the 1k+ modules in 200 packages we have. I'm not including the hackage dependencies ;) There may be a bit of possible improvment in the build (such as removing edges), but that's unfortunately slow. "no profiling" build takes 7 minutes.
11:57:51 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:d523:1039:6a67:e484) (Ping timeout: 258 seconds)
11:57:59 <dminuoso> danse-nr3__: But seriously, just handroll a parser in whatever parsing library you fancy.
11:57:59 <merijn> Wait
11:58:08 <merijn> Why is the profiling build over 2x slower??
11:58:08 <probie> One doesn't pick the format of data they're given
11:58:14 taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net)
11:58:14 <merijn> That smells like a bug
11:58:15 <dminuoso> CSV is not hard, especially if you dont care about all kinds of CSV varieties.
11:58:35 bontaq joins (~user@ool-45779b84.dyn.optonline.net)
11:58:47 <kuribas> merijn: so ... excell?
11:59:31 <Guillaum[m]> merijn: I'm interested here, because profiling build had always been slower from my point of view since I'm using haskell, but maybe I'm doing something stupid. Note that it was 30x time slower since recently when I removed `-fexternal-interpreter` and instead moved to "double build" (i.e. static + dynamic) for profiling and template haskell.
11:59:44 <danse-nr3__> yea dminuoso but if we do not contribute to what already exists it will hardly ever get better ... :P
11:59:45 <merijn> Guillaum[m]: I mean, 1k modules in 200 packages that somehow always evolve in lockstep sounds like "someone fucked up the architecture design" :)
11:59:53 <dminuoso> danse-nr3__: cassava is beyond repair.
11:59:59 <danse-nr3__> XD
11:59:59 × tolt quits (~weechat-h@li219-154.members.linode.com) (Server closed connection)
12:00:28 tolt joins (~weechat-h@li219-154.members.linode.com)
12:00:32 <merijn> Guillaum[m]: At any rate, I don't think profiling builds should be meaninfully slower than regular ones, so that might be worth asking about in #ghc whether you should make a ghc issue
12:01:14 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
12:02:23 <dminuoso> danse-nr3__: No but seriously, cassava isnt really bad. It's just a very simplistic and minimalistic library.
12:02:55 × taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 265 seconds)
12:02:58 <dminuoso> It comes at the price of having almost entirely useless errors.
12:03:05 <kuribas> dminuoso: no, it's bad. It has some weird error handling behaviour with empty cells.
12:03:35 <dminuoso> kuribas: Right, because its a very simple and naive attoparsec parser.
12:03:41 <Guillaum[m]> merijn: that's a 10+ years old codebase which survived a change from make + cabal to stack to bazel to nix, so maybe some stuff are indeed poorly architectured. However, except from trying to change the way packages are split in order to reduce the amount of rebuild after a change in some "hot" files, I have no idea about what a good architecture can be. Do you have a reference for that?
12:03:41 <Guillaum[m]> I've already reported the performances problem with -fexternal-interpreter years ago, but definitiely, I could maybe open a ticket and do some more robust benchmarks.
12:03:50 mxs joins (~mxs@user/mxs)
12:03:51 <kuribas> dminuoso: and minimalistic for me would mean "just load CSV" into a nested list strings.
12:04:48 <danse-nr3__> kuribas, that would not provide the type safety one expects?
12:04:52 <dminuoso> kuribas: I think part of the problem is something as mundane as "here turn this string an int/float/whatever" is somewhat annoying in Haskell.
12:05:09 <dminuoso> So a list of strings wouldnt be comfortable to use
12:05:26 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
12:06:03 <kuribas> dminuoso: not nearly as annoying as the ad-hoc conversion in python or clojure.
12:06:30 <kuribas> But yeah, I'd want a parsing step after getting the strings.
12:06:33 <dminuoso> Dunno, being able to say `int("1")` is quite comfortable.
12:06:58 <dminuoso> It's the reality of purity that an equivalent isnt as much fun.
12:07:06 <dminuoso> The correct equivalent would be readIO
12:07:20 <dminuoso> i.e. `readIO :: Read a => String -> IO a`
12:07:23 <kuribas> dminuoso: what about int(3.2)?
12:07:29 <merijn> Guillaum[m]: I realise that with giant legacy code getting things "optimal" can be hard (or not feasible to make time for), but the main thing is minimising the dependencies. In principle packages should only rebuild if one of their dependency packages changes, which should only happen if they recompile due to code changes
12:07:53 <dminuoso> kuribas: If it useful to 90% of users, its useful to all of them.
12:08:03 <danse-nr3__> kuribas, maybe you can define your type as being made of strings and parse them afterwards
12:08:04 <kuribas> oh, and: int("3.2") => ValueError: invalid literal for int() with base 10: '3.2'
12:08:07 <merijn> Guillaum[m]: One thing I can imagine is that, if you have quite some hackage dependencies, then new hackage releases can cause new build plans causing your core libraries to recompile and cascading through the entire thing
12:08:22 <dminuoso> kuribas: They are reasonable behaviors.
12:08:30 <kuribas> dminuoso: it's incosistent.
12:08:45 <dminuoso> If the goal is to do just "one singular type of conversion", Im not so sure.
12:08:50 × Xe quits (~cadey@tailscale/xe) (Server closed connection)
12:09:01 <merijn> Guillaum[m]: if that's the case, you could try generating some freeze files for hackage dependencies so churn on hackage doesn't continually invalidate your builds
12:09:03 <kuribas> int(float("3.2")) => 3
12:09:07 <dminuoso> I mean I would be pissed if `int("3.2")` produced 3.
12:09:13 <dminuoso> That'd be PHP level of insanity.
12:09:15 Xe joins (~cadey@tailscale/xe)
12:09:33 <kuribas> but int(3.2) can produce 3 ?
12:09:39 <merijn> Guillaum[m]: if that's not the issue, then the churn is from within your own packages and then the question would be can you figure out/eliminate why those are rebuilding
12:09:42 <dminuoso> Sure because type(3.2) == <type 'float'>
12:09:49 <danse-nr3__> oh kuribas there is also https://hackage.haskell.org/package/cassava-0.5.3.0/docs/Data-Csv.html#g:6
12:10:01 <dminuoso> Of course it begs the question of what int(<float>) even does
12:10:05 <merijn> Guillaum[m]: because in principle cabal is pretty decent at making no-op builds fast
12:10:19 <kuribas> dminuoso: in other words, if you use `int`, it will silently truncate floats.
12:10:19 <Guillaum[m]> merijn: our hackage dependencies are strictly pinned with nix, so usually that's not the problem. But actually, you are right, some packages deep in the dependency tree could be split between a package for type and a package for some operations in order to avoid recompiling too much.
12:10:30 <kuribas> dminuoso: in csv, or other formats.
12:10:56 <dminuoso> kuribas: Under the assumption that you are being handed a list of strings, int() wouldnt do magic truncation.
12:11:17 <merijn> Guillaum[m]: yeah if you have a types module that everything depends on (and is relatively stable) and functionality that changes a lot, minimising the packages/modules that import/touch the functionality can save you a lot of time
12:11:17 <kuribas> dminuoso: that assumption doesn't hold in python.
12:11:18 <dminuoso> It would just fail if the csv contained a fractional number
12:11:44 × gmg_ quits (~user@user/gehmehgeh) (Ping timeout: 240 seconds)
12:11:55 <kuribas> oh well, for csv it does: "Each row read from the csv file is returned as a list of strings. "
12:12:02 <Guillaum[m]> merijn: thank you for the discussion, by the way a cleaning of the dependency tree is something I've scheduled for our next "consolidation week" (one week where we are not working on feature, but on "general quality" of the codebase).
12:13:08 <kuribas> dminuoso: IMO it would be more consistent if int is strict, and you use round or floor for truncating.
12:13:32 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
12:13:51 <dminuoso> I dont like the name `round` honestly, because it seems to suggest there is one singular authoritative method of rounding
12:13:54 <dminuoso> But sure.
12:15:02 <dminuoso> Unless we had `round :: (RealFrac a, Integral b) => RoundingStrategy -> a -> b`
12:15:30 gmg_ joins (~user@user/gehmehgeh)
12:16:13 <dminuoso> Ill just make the blind assumption that `int(<float>)` in Python will just floor. *shrugs*
12:16:21 <kuribas> in p ython: "if two multiples are equally close, rounding is done toward the even choice"
12:16:41 <kuribas> I think this is the most common? At least python documented it :)
12:16:51 <dminuoso> Most common really depends on who you ask.
12:17:05 <dminuoso> In finance the bankers method is most commonly used.
12:17:17 <dminuoso> That doesnt make it useful as an implicit default though.
12:18:18 <dminuoso> Also its the default behavior in IEEE 754
12:18:20 <merijn> Guillaum[m]: I managed to cut down my compile times by about half, simply from flatting/reducing dependencies on central core modules in the past
12:18:56 <dminuoso> Perhaps thats actually another argument why int(<float>) isnt too bad, if it follows IEEE 754.
12:21:55 × AndreasK quits (sid320732@id-320732.uxbridge.irccloud.com) (Server closed connection)
12:22:07 AndreasK joins (sid320732@id-320732.uxbridge.irccloud.com)
12:24:21 × misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 260 seconds)
12:27:59 <Guillaum[m]> merijn: I do have a module which takes, alone, 3 minutes to compile (lot and lot of deriving instances) and it depends on everything. But actually it only depends on types which are rarelly changing, so this is one of the first step.
12:28:12 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
12:28:33 <merijn> Guillaum[m]: Yeah, that sounds like an easy win
12:28:44 APic joins (apic@apic.name)
12:28:45 × danse-nr3__ quits (~francesco@151.44.193.186) (Ping timeout: 240 seconds)
12:30:38 danse-nr3__ joins (~francesco@151.44.193.186)
12:30:59 taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net)
12:33:26 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
12:35:32 × taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 240 seconds)
12:36:22 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
12:42:50 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
12:43:15 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
12:48:00 × danse-nr3__ quits (~francesco@151.44.193.186) (Ping timeout: 246 seconds)
12:49:16 fweht joins (uid404746@id-404746.lymington.irccloud.com)
12:50:18 gensyst joins (~gensyst@user/gensyst)
12:51:26 <gensyst> How could my tasty test be failing suddenly at one point? It just silently fails and aborts and reports FAIL. putStrLns reveal the point at which it aborts and FAILs. and onException doesn't catch any exception at all!
12:51:33 <gensyst> what could be going on?
12:52:41 <gensyst> the funny part is, if I run with --quickcheck-tests=1 over and over again, each 1 test PASSes fine.
12:52:55 <gensyst> but when I run with --quickcheck-tests=2 then the second test always FAILs (as I described)
12:53:20 <gensyst> I can't think of anything that would cause the 2nd test to be dependent on the 1st (and even if they did, i can't think of anything that would make onException not trigger at all)
12:53:45 × cafkafk quits (~cafkafk@fsf/member/cafkafk) (Remote host closed the connection)
12:56:20 danse-nr3__ joins (~francesco@151.44.193.186)
12:59:01 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
12:59:34 <gensyst> I can't think of anything that would cause the 2nd test to be dependent on the 1st (and even if they did, i can't think of anything that would make onException not trigger at all)
12:59:40 cafkafk joins (~cafkafk@fsf/member/cafkafk)
12:59:41 <gensyst> my bad, sorry for repeat
13:00:01 <gensyst> (and never mind, think i solved it already...)
13:00:30 <ryantrinkle> monochrom, c_wraith: this is my code:
13:00:30 <ryantrinkle> something :: (forall x. Typeable x => Proxy x -> k) -> k
13:00:30 <ryantrinkle> something f = f Proxy
13:00:46 <ryantrinkle> No instance for (Typeable x0) arising from a use of ‘f’
13:01:05 <ryantrinkle> because there isn't actually any concrete type that's getting instantiated there
13:01:37 <ryantrinkle> so what i was hoping to do was to effectively wish a fresh Typeable instance into existence at runtime
13:03:01 taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net)
13:06:54 oo_miguel joins (~Thunderbi@78.11.179.96)
13:08:00 × taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 240 seconds)
13:08:42 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
13:09:54 <gensyst> ryantrinkle, is obsidian still all-in on haskell?
13:10:11 <gensyst> (and nix/nixos/postgres etc.)
13:10:32 <gensyst> (and of course reflex/obelisk)
13:11:24 <dminuoso> ryantrinkle: I think you must bury the dictionary in a GADT.
13:11:36 <dminuoso> Like `constraints` does
13:11:57 <Lears> ryantrinkle: Is `something \p -> ...` just a trick to introduce a fresh type `x` with `Typeable`? If so, the implementation can just instantiate `x` as `()`, or anything else; it actually doesn't matter.
13:12:13 misterfish joins (~misterfis@84-53-85-146.bbserv.nl)
13:12:23 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
13:12:44 L29Ah joins (~L29Ah@wikipedia/L29Ah)
13:13:39 × edm quits (sid147314@id-147314.hampstead.irccloud.com) (Server closed connection)
13:13:55 × snek quits (sid280155@id-280155.lymington.irccloud.com) (Server closed connection)
13:14:10 <Lears> Oh... maybe precisely because it's Typeable, it does matter. Hmm, ignore me for now.
13:14:29 edm joins (sid147314@2a03:5180:f:4::2:3f72)
13:14:31 snek joins (sid280155@2a03:5180:f:2::4:465b)
13:16:21 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
13:18:22 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
13:20:20 taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net)
13:25:15 × taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 256 seconds)
13:27:18 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
13:31:32 × acidjnk quits (~acidjnk@p200300d6e7072f41dcd5446dd0ee4e5a.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
13:31:52 × mustafa__ quits (sid502723@id-502723.hampstead.irccloud.com) ()
13:32:31 mustafa_ joins (sid502723@rockylinux/releng/mustafa)
13:34:19 mustafa_ is now known as mustafa
13:35:22 michals joins (~user@cfeld-pcx40162.desy.de)
13:35:30 × kmein quits (~weechat@user/kmein) (Server closed connection)
13:36:16 kmein joins (~weechat@user/kmein)
13:37:24 taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net)
13:41:44 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
13:41:44 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
13:41:44 wroathe joins (~wroathe@user/wroathe)
13:42:31 × taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 260 seconds)
13:46:47 × cfricke_ quits (~cfricke@user/cfricke) (Ping timeout: 256 seconds)
13:49:45 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds)
13:52:45 waleee joins (~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
13:53:36 × danse-nr3__ quits (~francesco@151.44.193.186) (Remote host closed the connection)
13:54:00 danse-nr3__ joins (~francesco@151.44.193.186)
13:54:33 taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net)
13:56:32 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 240 seconds)
13:57:26 chexum joins (~quassel@gateway/tor-sasl/chexum)
13:57:50 Inst_ joins (~Inst@2601:6c4:4081:2fc0:61ec:e42a:c603:c093)
13:58:53 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
13:58:53 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
13:58:53 wroathe joins (~wroathe@user/wroathe)
13:58:59 × Inst quits (~Inst@c-76-101-10-131.hsd1.fl.comcast.net) (Ping timeout: 258 seconds)
13:59:00 × taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 240 seconds)
14:01:30 danse-nr3_ joins (~francesco@151.46.172.229)
14:01:56 × danse-nr3__ quits (~francesco@151.44.193.186) (Read error: Connection reset by peer)
14:02:43 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176)
14:07:11 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) (Ping timeout: 256 seconds)
14:07:18 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
14:07:41 jpds joins (~jpds@gateway/tor-sasl/jpds)
14:08:09 <Lears> ryantrinkle: If you can suffer the monadic interface: https://gist.github.com/LSLeary/f1268e8b4fca2c7747baf4536127d38c
14:08:38 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds)
14:11:24 taupiqueur2 joins (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b)
14:14:58 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:1e1c:e5dd:2e78:d325) (Quit: WeeChat 2.8)
14:15:32 × taupiqueur2 quits (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b) (Ping timeout: 240 seconds)
14:21:37 <c_wraith> Lears: that seems like the type of withFresh could tell the caller more. In particular, the caller should know that x will always be a Z with some number of S constructors wrapping it, but the type isn't communicating that.
14:23:31 <Lears> The `Z` and `S`s are implementation details, only exposed by the Typeable dictionary because it can't be helped. I don't see why they should show up in the interface.
14:24:48 <c_wraith> I suppose that makes sense if the only thing you want the Typeable dictionary to communicate is that it's not the same as any other invocation within the scope of some runFresh
14:24:52 Phytolizer joins (~Phytolize@139.138.137.75)
14:24:55 Phytolizer parts (~Phytolize@139.138.137.75) ()
14:25:19 <Lears> Yeah, that's the intention.
14:25:21 <c_wraith> But that's not what people usually expect when they see Typeable. They expect that they're supposed to branch on the type.
14:25:32 <c_wraith> So the use of Typeable is sort of misleading
14:26:16 <Lears> Can't you still branch on this? I haven't thought too much about it...
14:27:41 <c_wraith> you can only branch on equality with other Typeable dictionaries if you don't know about S and Z
14:28:46 acidjnk joins (~acidjnk@p200300d6e7072f41682e2ef333aef3bc.dip0.t-ipconnect.de)
14:31:56 × dcoutts_ quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 240 seconds)
14:40:30 × Arsen quits (arsen@gentoo/developer/managarm.dev.Arsen) (Server closed connection)
14:40:52 Arsen joins (arsen@gentoo/developer/managarm.dev.Arsen)
14:40:54 × natto quits (~natto@140.238.225.67) (Server closed connection)
14:43:00 × misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 240 seconds)
14:43:15 natto joins (~natto@140.238.225.67)
14:45:03 misterfish joins (~misterfis@84-53-85-146.bbserv.nl)
14:45:57 taupiqueur2 joins (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b)
14:50:12 × taupiqueur2 quits (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b) (Ping timeout: 240 seconds)
14:50:43 dcoutts_ joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
14:58:30 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
15:12:07 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
15:12:48 azimut joins (~azimut@gateway/tor-sasl/azimut)
15:15:00 ai5lk joins (~ai5lk@209-188-121-236.taosnet.com)
15:15:31 ai5lk is now known as shef
15:16:35 exeo__ joins (~Ozymandia@97-119-96-49.omah.qwest.net)
15:18:20 × exeo__ quits (~Ozymandia@97-119-96-49.omah.qwest.net) (Client Quit)
15:19:11 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
15:20:46 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
15:21:46 taupiqueur2 joins (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b)
15:22:06 Sgeo joins (~Sgeo@user/sgeo)
15:23:04 kupi_ joins (uid212005@2a03:5180:f:4::3:3c25)
15:23:48 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
15:24:54 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
15:25:52 × taupiqueur2 quits (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b) (Ping timeout: 240 seconds)
15:26:41 × michals quits (~user@cfeld-pcx40162.desy.de) (Quit: ERC (IRC client for Emacs 26.3))
15:31:22 × misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 258 seconds)
15:34:21 barcisz joins (~barcisz@public-gprs530047.centertel.pl)
15:37:00 × ByronJohnson quits (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) (Ping timeout: 252 seconds)
15:38:24 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
15:39:00 L29Ah joins (~L29Ah@wikipedia/L29Ah)
15:39:18 taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net)
15:40:17 × EvanR quits (~EvanR@user/evanr) (Read error: Connection reset by peer)
15:40:42 EvanR joins (~EvanR@user/evanr)
15:42:06 × gurkenglas quits (~user@dynamic-089-204-130-184.89.204.130.pool.telefonica.de) (Read error: Connection reset by peer)
15:42:50 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 265 seconds)
15:43:15 <carbolymer> why `print z` hangs here? https://bpa.st/RIC7E
15:43:51 × taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 260 seconds)
15:45:48 <carbolymer> is it trying to compute whole left part of the tree and then do the z?
15:48:22 × barcisz quits (~barcisz@public-gprs530047.centertel.pl) (Quit: Connection closed)
15:49:39 × zups quits (~meow@2a01:4f9:c010:6036::1) (Server closed connection)
15:49:52 <EvanR> right, what should it print?
15:50:25 zups joins (~meow@2a01:4f9:c010:6036::1)
15:50:26 <ryantrinkle> gensyst: yep pretty much
15:50:51 <ryantrinkle> we use Haskell, Nix, and Postgres for pretty much everything
15:50:59 <ryantrinkle> we do write embedded software in Rust now
15:52:14 <ryantrinkle> Lears: oh yeah that is an interesting approach
15:52:24 <ryantrinkle> I could probably keep an IORef Nat somewhere and then lift that
15:52:25 misterfish joins (~misterfis@84-53-85-146.bbserv.nl)
15:52:29 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
15:53:16 <ryantrinkle> gensyst: i'm also finally hitting the talk circuit again lol https://munihac.de/2023.html#speakers
15:55:44 mauke joins (~mauke@user/mauke)
15:56:55 taupiqueur2 joins (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net)
15:59:36 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
16:01:39 × taupiqueur2 quits (~taupiqueu@2a02-842a-8180-4601-2db0-0a0e-5cae-f87b.rev.sfr.net) (Ping timeout: 256 seconds)
16:04:06 zaidhaan joins (~zai@2001:f40:960:1c54:3c0f:370:d2d1:4fb9)
16:04:32 × erisco quits (~erisco@d24-141-66-165.home.cgocable.net) (Server closed connection)
16:04:52 erisco joins (~erisco@d24-141-66-165.home.cgocable.net)
16:07:44 ddellacosta joins (~ddellacos@146.70.166.166)
16:07:48 falafel joins (~falafel@2607:fb91:86c:d890:f891:31c0:6626:dee4)
16:09:50 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
16:13:32 <gensyst> ryantrinkle, great to hear :)
16:13:56 mmhat joins (~mmh@2003:f1:c702:b0fd:ee08:6bff:fe09:5315)
16:14:32 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds)
16:15:15 codaraxis joins (~codaraxis@user/codaraxis)
16:16:26 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
16:18:51 × ubert quits (~Thunderbi@2a02:8109:abc0:6434:8a6c:e7c0:d456:af5) (Remote host closed the connection)
16:21:19 × danse-nr3_ quits (~francesco@151.46.172.229) (Remote host closed the connection)
16:22:03 danse-nr3_ joins (~francesco@151.46.172.229)
16:22:15 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
16:27:15 × elkcl quits (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru) (Read error: Connection reset by peer)
16:31:51 taupiqueur2 joins (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b)
16:35:52 × taupiqueur2 quits (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b) (Ping timeout: 240 seconds)
16:37:01 × mmhat quits (~mmh@2003:f1:c702:b0fd:ee08:6bff:fe09:5315) (Quit: WeeChat 3.8)
16:37:58 elkcl joins (~elkcl@broadband-37-110-27-252.ip.moscow.rt.ru)
16:38:36 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
16:39:28 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176)
16:42:30 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
16:43:01 × zaidhaan quits (~zai@2001:f40:960:1c54:3c0f:370:d2d1:4fb9) (Read error: Connection reset by peer)
16:43:36 zaidhaan joins (~zai@2001:f40:960:1c54:3c0f:370:d2d1:4fb9)
16:47:31 Guest87 joins (~Guest87@mob-31-158-213-218.net.vodafone.it)
16:47:50 × Guest87 quits (~Guest87@mob-31-158-213-218.net.vodafone.it) (Client Quit)
16:55:19 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 258 seconds)
16:56:31 kritzefitz joins (~kritzefit@debian/kritzefitz)
16:57:10 hisa38 joins (~hisa38@104-181-102-238.lightspeed.wepbfl.sbcglobal.net)
16:57:23 × acarrico quits (~acarrico@dhcp-68-142-49-163.greenmountainaccess.net) (Quit: Leaving.)
16:58:21 acarrico joins (~acarrico@dhcp-68-142-49-163.greenmountainaccess.net)
17:02:40 user_____ joins (~user@x5271795e.dyn.telefonica.de)
17:02:44 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 240 seconds)
17:03:30 × Cale quits (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) (Server closed connection)
17:03:53 Cale joins (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com)
17:06:52 × danse-nr3_ quits (~francesco@151.46.172.229) (Ping timeout: 240 seconds)
17:09:25 ByronJohnson joins (~bairyn@50.250.232.19)
17:12:01 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Remote host closed the connection)
17:12:23 rf joins (~rf@2605:59c8:179c:f610:29c8:b31f:9422:dd37)
17:13:30 kritzefitz joins (~kritzefit@debian/kritzefitz)
17:13:44 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
17:14:09 danse-nr3_ joins (~francesco@151.46.172.229)
17:16:36 ec joins (~ec@gateway/tor-sasl/ec)
17:18:54 justsomeguy joins (~justsomeg@user/justsomeguy)
17:19:34 × justsomeguy quits (~justsomeg@user/justsomeguy) (Client Quit)
17:22:25 × shef quits (~ai5lk@209-188-121-236.taosnet.com) (Quit: WeeChat 3.8)
17:22:44 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 240 seconds)
17:27:16 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
17:27:41 kritzefitz joins (~kritzefit@debian/kritzefitz)
17:32:12 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
17:32:32 × danse-nr3_ quits (~francesco@151.46.172.229) (Ping timeout: 240 seconds)
17:34:37 EvanR_ joins (~EvanR@user/evanr)
17:34:48 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 258 seconds)
17:35:27 kritzefitz joins (~kritzefit@debian/kritzefitz)
17:35:49 × EvanR quits (~EvanR@user/evanr) (Read error: Connection reset by peer)
17:36:43 × misterfish quits (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 258 seconds)
17:36:44 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
17:37:13 EvanR_ is now known as EvanR
17:37:44 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
17:41:39 pat67 joins (~pat67@89.187.175.5)
17:42:05 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 258 seconds)
17:43:07 gmg_ is now known as gmg
17:43:12 kritzefitz joins (~kritzefit@debian/kritzefitz)
17:44:02 pat_ joins (~pat67@pool-100-36-172-241.washdc.fios.verizon.net)
17:44:31 pat__ joins (~pat67@pool-100-36-172-241.washdc.fios.verizon.net)
17:44:37 ijqq joins (uid603979@2a03:5180:f:1::9:374b)
17:45:13 chromoblob joins (~user@37.113.180.121)
17:45:57 <jade[m]1> I'm trying to find a paper but I can't remember what it's called
17:46:17 taupiqueur2 joins (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b)
17:46:20 <jade[m]1> I think it was constructor ???? and talked about kinds of typeclass parameters
17:47:52 × pat67 quits (~pat67@89.187.175.5) (Ping timeout: 240 seconds)
17:48:16 × pat_ quits (~pat67@pool-100-36-172-241.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
17:48:39 <ijqq> http://sprunge.us/ZEh9Dy is there a better way of writing this function?
17:48:47 taupiqueur3 joins (~taupiqueu@2a02-842a-8180-4601-e0bc-b2a7-45f7-a4fd.rev.sfr.net)
17:49:08 <ijqq> i feel like it fits a pattern
17:49:41 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 246 seconds)
17:49:43 <Nosrep> that's just replicateM isnt it
17:49:51 × chromoblob quits (~user@37.113.180.121) (Ping timeout: 260 seconds)
17:49:56 <ncf> yes https://hackage.haskell.org/package/parser-combinators-1.3.0/docs/Control-Applicative-Combinators.html#v:count
17:50:12 × taupiqueur2 quits (~taupiqueu@2a02:842a:8180:4601:2db0:a0e:5cae:f87b) (Ping timeout: 240 seconds)
17:51:15 × aweinstock quits (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com) (Server closed connection)
17:51:27 aweinstock joins (~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com)
17:51:55 <ijqq> oh cool, thank you
17:52:36 kritzefitz joins (~kritzefit@debian/kritzefitz)
17:53:12 <EvanR> @src replicateM
17:53:12 <lambdabot> replicateM n x = sequence (replicate n x)
17:53:34 <ijqq> also what is the naming scheme for the letters?
17:53:52 <jade[m]1> you mean the M
17:54:08 <jade[m]1> that's just because it is inside the monad
17:54:11 <ijqq> like i see there is msum and asum and I assume a is for applicative and m for monad. but there what is the m meaning because it works for applicative?
17:54:26 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
17:54:34 <EvanR> it requires Monad powers in this case
17:54:56 <jade[m]1> I think it's back from when there was no applicative typeclass
17:55:06 × taupiqueur3 quits (~taupiqueu@2a02-842a-8180-4601-e0bc-b2a7-45f7-a4fd.rev.sfr.net) (Ping timeout: 260 seconds)
17:55:18 <jade[m]1> and monads were defined by their own without the hierarchy
17:55:18 <EvanR> :t replicateM
17:55:19 <lambdabot> Applicative m => Int -> m a -> m [a]
17:55:22 <EvanR> I'm wrong!
17:55:42 <Nosrep> i just assumed it's some leftover quirk from long time ago
17:55:55 <ijqq> oh interesting. so there used to be monad and functor but no applicative?
17:56:03 taupiqueur3 joins (~taupiqueu@2a02:842a:8180:4601:7129:fa0f:75f4:74d9)
17:56:08 <EvanR> and before that there was no monad
17:56:18 <EvanR> you had lazy list I/O
17:56:23 <jade[m]1> yes, the discovery of applicative as an "in between" and the hierarchy was not always there
17:56:33 <ijqq> oh cool
17:56:49 <ijqq> btw how long ago was this? How long have guys been using haskell?
17:56:55 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Remote host closed the connection)
17:57:03 <ijqq> must be cool using it and then seeing lots of new features coming out in real time
17:57:15 <jade[m]1> I just know this from hearsay, I've been seriously using haskell for like uhh a year?
17:57:26 <jade[m]1> serious being not so serious actually
17:57:29 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
17:57:30 × rf quits (~rf@2605:59c8:179c:f610:29c8:b31f:9422:dd37) (Ping timeout: 240 seconds)
17:57:33 <jade[m]1> just like, more often
17:57:51 ec joins (~ec@gateway/tor-sasl/ec)
17:58:29 <Nosrep> maybe it was a pre https://wiki.haskell.org/Functor-Applicative-Monad_Proposal thing
17:59:04 kritzefitz joins (~kritzefit@debian/kritzefitz)
17:59:07 <EvanR> applicative programming started getting formalized out of folklore around 2004
17:59:42 <ncf> the naming scheme is a huge mess
18:00:06 <EvanR> the changes to the class hierarchy came much later
18:00:33 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
18:00:37 <ncf> look at traverse/mapM/sequenceA/sequence/for/forM
18:01:12 <EvanR> Monads for Functional Programming Phil Wadler 1992
18:01:17 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
18:01:42 <ijqq> interesting
18:01:46 azimut joins (~azimut@gateway/tor-sasl/azimut)
18:01:55 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net)
18:02:29 <EvanR> we're about due for another seismic event, category theory programming pattern to be discovered and change the whole stdlib xD
18:02:55 <EvanR> Arrow kind of fizzled
18:02:57 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
18:03:36 <jade[m]1> EvanR: I honestly doubt that
18:03:41 <jade[m]1> but also, I know nothing
18:03:52 <ijqq> i was reading about some standards to formally there is haskell 98 and 2010? and are there any plans for anything after that?
18:04:31 <Nosrep> there were plans but they kinda died
18:04:40 <Nosrep> look up haskell-prime or haskell 2020 or something
18:04:48 <ncf> GHC2021 :p
18:04:57 <EvanR> standards would be helpful if it were remotely possible to have anything other than GHC
18:05:09 <jade[m]1> JHC?
18:05:13 <EvanR> but the causation isn't going the other way
18:06:23 <EvanR> other haskell compilers can strive for haskell98 or 2010
18:11:08 × falafel quits (~falafel@2607:fb91:86c:d890:f891:31c0:6626:dee4) (Ping timeout: 240 seconds)
18:14:14 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
18:14:39 <EvanR> Hugs still has some interest, it has a snazzy record system
18:15:04 <ijqq> yes i took out a book by graham hutton on haskell and it was referencing hugs
18:15:29 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
18:20:28 jero98772 joins (~jero98772@2800:484:1d7f:5d36::4)
18:20:37 × ripspin quits (~chatzilla@1.145.245.25) (Remote host closed the connection)
18:29:07 × zaidhaan quits (~zai@2001:f40:960:1c54:3c0f:370:d2d1:4fb9) (Quit: WeeChat 3.8)
18:32:06 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
18:33:54 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net) (Remote host closed the connection)
18:35:20 × witcher quits (~witcher@wiredspace.de) (Remote host closed the connection)
18:35:36 witcher joins (~witcher@wiredspace.de)
18:37:07 __monty__ joins (~toonn@user/toonn)
18:37:25 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
18:38:55 × defanor quits (~defanor@tart.uberspace.net) (Server closed connection)
18:39:11 defanor joins (~defanor@tart.uberspace.net)
18:42:18 × user_____ quits (~user@x5271795e.dyn.telefonica.de) (Read error: Connection reset by peer)
18:44:26 × gensyst quits (~gensyst@user/gensyst) (Quit: Leaving)
18:52:20 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 240 seconds)
18:52:51 candlestick joins (~tls@179.152.251.228)
18:52:57 candlestick parts (~tls@179.152.251.228) ()
18:54:42 Sgeo joins (~Sgeo@user/sgeo)
18:55:09 kritzefitz joins (~kritzefit@debian/kritzefitz)
19:04:30 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
19:04:39 × YoungFrog quits (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Server closed connection)
19:04:59 YoungFrog joins (~youngfrog@2a02:a03f:ca07:f900:9506:825b:e271:15c3)
19:05:26 Square joins (~Square@user/square)
19:06:00 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 240 seconds)
19:07:42 Sgeo joins (~Sgeo@user/sgeo)
19:11:27 user_____ joins (~user@82.113.121.94)
19:12:00 <monochrom> jade[m]1: Are you look for "MP Jones. A system of constructor classes: overloading and implicit higher-order polymorphism. Journal of Functional Programming, 5(1):1–36, January 1995."? (I found in Haskell 2020 Report, Bibliography [8] :) )
19:12:43 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Remote host closed the connection)
19:13:03 <jade[m]1> I was indeed, thank you very much :D
19:13:09 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
19:13:25 <monochrom> Err Haskell 2010! I was living in an ideal world.
19:13:50 <Nosrep> :(
19:14:05 <monochrom> An ideal world in which Haskell had a 2020 standard, and C stopped at C11.
19:14:07 kritzefitz joins (~kritzefit@debian/kritzefitz)
19:14:32 <Square> Anyone know of a Haskell conference this autumn? September or later.
19:15:17 <monochrom> Maybe Haskell Love again.
19:15:18 <[exa]> Square: well ICFP is happening sometime in september, right?
19:16:16 <Square> I'm not a researcher. I'm more into Haskell for applications.
19:17:23 <jade[m]1> [exa]: In Seattle, damn
19:17:37 <jade[m]1> I think I just missed everything going on in europe haha
19:17:48 <jade[m]1> s/just/just barely/
19:18:19 × enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
19:19:40 enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
19:20:42 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
19:20:51 Pickchea joins (~private@user/pickchea)
19:23:14 <Square> monochrom, That looks like it fits my bill. Hope it happens this year too.
19:25:35 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 258 seconds)
19:26:55 lortabac joins (~lortabac@2a01:e0a:541:b8f0:dcc4:bf2d:7f23:5ca4)
19:27:32 chromoblob joins (~user@37.113.180.121)
19:35:41 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) (Remote host closed the connection)
19:38:37 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 258 seconds)
19:40:11 kritzefitz joins (~kritzefit@debian/kritzefitz)
19:47:11 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 256 seconds)
19:47:57 kritzefitz joins (~kritzefit@debian/kritzefitz)
19:48:18 × EvanR quits (~EvanR@user/evanr) (Read error: Connection reset by peer)
19:48:35 EvanR joins (~EvanR@user/evanr)
19:52:51 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 256 seconds)
19:55:43 kritzefitz joins (~kritzefit@debian/kritzefitz)
19:59:18 shapr joins (~user@2600:1700:c640:3100:d4c2:f56d:9cf0:2080)
19:59:20 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
20:02:47 vgtw_ joins (~vgtw@user/vgtw)
20:02:50 × vgtw quits (~vgtw@user/vgtw) (Ping timeout: 252 seconds)
20:03:10 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
20:03:45 × waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 246 seconds)
20:08:49 ft joins (~ft@p4fc2afc9.dip0.t-ipconnect.de)
20:10:43 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
20:14:12 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
20:14:52 <EvanR> monochrom, or C stopped at 89 which was technically just in time for haskell
20:22:59 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:dcc4:bf2d:7f23:5ca4) (Quit: WeeChat 2.8)
20:23:28 × mc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 258 seconds)
20:25:11 arrowhead joins (~arrowhead@2603-7000-9b3f-6934-6cb3-bb7b-d4df-ef98.res6.spectrum.com)
20:29:26 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:36:03 × califax quits (~califax@user/califx) (Remote host closed the connection)
20:36:14 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 265 seconds)
20:39:04 EvanR_ joins (~EvanR@user/evanr)
20:39:36 × EvanR quits (~EvanR@user/evanr) (Ping timeout: 260 seconds)
20:40:14 × jrm quits (~jrm@user/jrm) (Server closed connection)
20:41:35 jrm joins (~jrm@user/jrm)
20:42:19 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
20:49:16 × jonathan quits (~jonathan@c83-252-3-92.bredband.tele2.se) (Ping timeout: 265 seconds)
20:49:17 × arrowhead quits (~arrowhead@2603-7000-9b3f-6934-6cb3-bb7b-d4df-ef98.res6.spectrum.com) (Read error: Connection reset by peer)
20:50:12 × kmein quits (~weechat@user/kmein) (Ping timeout: 240 seconds)
20:50:16 rf joins (~rf@2605:59c8:179c:f610:1ba8:9082:34c2:6f4b)
20:50:55 arrowhead joins (~arrowhead@74.66.76.151)
20:53:36 califax joins (~califax@user/califx)
20:53:52 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 240 seconds)
20:55:32 × user_____ quits (~user@82.113.121.94) (Ping timeout: 240 seconds)
20:56:00 × dcoutts_ quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 252 seconds)
20:58:44 dcoutts_ joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
21:00:23 × bontaq quits (~user@ool-45779b84.dyn.optonline.net) (Ping timeout: 265 seconds)
21:00:39 codaraxis__ joins (~codaraxis@user/codaraxis)
21:02:21 × kupi_ quits (uid212005@2a03:5180:f:4::3:3c25) (Quit: Connection closed for inactivity)
21:03:52 × codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 240 seconds)
21:07:10 exeo joins (~Ozymandia@97-119-96-49.omah.qwest.net)
21:09:23 coot joins (~coot@89.69.206.216)
21:11:17 × acidjnk quits (~acidjnk@p200300d6e7072f41682e2ef333aef3bc.dip0.t-ipconnect.de) (Remote host closed the connection)
21:12:24 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
21:13:19 Midjak joins (~Midjak@82.66.147.146)
21:15:30 × farn quits (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (Ping timeout: 255 seconds)
21:15:45 EvanR joins (~EvanR@user/evanr)
21:16:19 × EvanR_ quits (~EvanR@user/evanr) (Read error: Connection reset by peer)
21:17:01 farn joins (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505)
21:18:06 <ddrone[m]> TIL about Clerk, the "notebook"-style tool for Clojure that takes just plain source with comments and then renders the result in the browser: https://clerk.vision/
21:18:13 <ddrone[m]> Does anything similar exist for Haskell?
21:18:31 <Rembane> Literate programming + pandoc maybe?
21:19:05 <Rembane> Oh. This one too! https://github.com/IHaskell/IHaskell
21:22:10 <ddrone[m]> IHaskell is just Jupyter kernel, which isn't exactly the workflow that Clerk has
21:22:32 <ddrone[m]> Clerk just takes plain source file and then processes it, without having to use any sort of specialized UI
21:23:59 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
21:24:02 <EvanR> is it for visualizing random code, or is it for crafting presentable documents
21:27:14 <ddrone[m]> I'd say second
21:27:16 <ddrone[m]> Here's an example https://snapshots.nextjournal.com/clerk-demo/build/f8112d44fa742cd0913dcbd370919eca249cbcd9/notebooks/rule_30.html
21:27:55 <ddrone[m]> I guess another thing this reminds me of is Racket's Scribble documentation system
21:28:00 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 240 seconds)
21:28:46 <EvanR> it's like literate programming but with pictures
21:29:04 × coot quits (~coot@89.69.206.216) (Quit: coot)
21:29:16 <EvanR> looks good
21:29:19 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
21:31:54 <ddrone[m]> Yeah
21:31:56 × dcoutts_ quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 240 seconds)
21:32:22 <ddrone[m]> This video has even more demos (which I can't find published online) with animations that have parameters one can control in the browser via sliders https://www.youtube.com/watch?v=B9kqD8vBuwU
21:33:55 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
21:33:57 <chromoblob> is unsafePerformIO in the standard?
21:34:34 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176)
21:36:34 × adium quits (adium@user/adium) (Server closed connection)
21:36:37 <geekosaur> not that I see
21:36:39 <dolio> No.
21:37:30 adium joins (adium@user/adium)
21:37:30 <EvanR> unsafeNonstandardPerformIO
21:37:40 <dolio> There is `unsafeLocalState`, which is for calling pure foreign functions that pass arguments via pointers and such. And only a few IO actions are well defined within it.
21:38:57 <chromoblob> phew
21:39:07 <chromoblob> hehe
21:39:45 <chromoblob> a paper is posted on HN that mentions "Haskell's (standard) unsafePerformIO"
21:39:59 <chromoblob> author is misinformed
21:40:16 × rf quits (~rf@2605:59c8:179c:f610:1ba8:9082:34c2:6f4b) (Ping timeout: 260 seconds)
21:40:25 <EvanR> that makes it sound like the secret sauce behind how haskell does anything
21:40:28 <geekosaur> even the documentation for unsafePerformIO specifies that behavior may differ between implementations
21:40:31 <EvanR> bog standard unsafePerformIO everywhere
21:40:46 <dolio> Well, unsafeLocalState has the same type signature. But a lot of things that people think are okay to do are officially "undefined behavior."
21:40:53 × michalz quits (~michalz@185.246.207.217) (Remote host closed the connection)
21:41:19 × phma quits (phma@2001:5b0:211f:2f08:cc02:19f0:c9b8:d000) (Read error: Connection reset by peer)
21:41:23 <geekosaur> accursedUnutterablePerformIO
21:41:43 phma joins (~phma@host-67-44-208-160.hnremote.net)
21:41:59 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
21:42:50 jargon joins (~jargon@174.205.224.32)
21:43:26 <chromoblob> dolio: is it in the standard?
21:43:35 × fendor quits (~fendor@2a02:8388:1640:be00:7aca:a77a:4a28:631a) (Remote host closed the connection)
21:43:36 <darkling> thatPerformIOYouMetOnceAtAParty
21:43:41 <dolio> Yes.
21:45:14 × trev quits (~trev@user/trev) (Quit: trev)
21:46:12 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 240 seconds)
21:47:59 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
21:48:48 <geekosaur> https://www.haskell.org/onlinereport/haskell2010/haskellch8.html doesn't seem to say anything about it
21:49:54 <dolio> It's in chapter 30.
21:51:25 <monochrom> The Haskell Report needs an index for questions like this. :)
21:51:34 <sm> just curious.. 1 / 72.35 has a repeating periodic cycle of 1446 decimals. What haskell type/library would let me print as many of these as I want ?
21:51:42 monochrom re-tells himself the Aesop tale of the world conference of mice
21:52:19 <sm> Eg Double shows about 16, Decimal shows 255
21:53:01 <sm> so if I wanted to print say 10000 decimal places to search for cycles, I'd use.... ?
21:53:41 <EvanR> > showFFloat (Just 2000) (1/72.35) ""
21:53:42 <lambdabot> "0.0138217000691085010000000000000000000000000000000000000000000000000000000...
21:53:51 <EvanR> ok not Double
21:54:10 <EvanR> you can use a long division loop
21:54:37 <EvanR> on the number 1000 / 7235 to keep it simple
21:54:49 <EvanR> 100 / 7235
21:55:28 sm wants Mathematica in haskell
21:55:56 <glguy> sm: https://hackage.haskell.org/package/scientific-0.3.7.0/docs/Data-Scientific.html#v:fromRationalRepetend
21:56:00 user____ joins (~user@x5271795e.dyn.telefonica.de)
21:56:27 <sm> nice!
21:56:28 <monochrom> Yeah actually printing out unlimited digits still does not tell you the period. You really need to do long division and watch for a remainder that shows up for the 2nd time.
21:56:29 <glguy> If that's not the answer see if the answer is elsewhere in that module. I'm lobbing this in from my phone
21:56:53 <sm> looks good to me, I'm calling this solved
21:57:13 <monochrom> For example suppose you have merely seen 336336. You still do not know whether it's 336-repeated or it's 336336337-repeated
21:57:34 <glguy> monochrom: I stopped counting at 33...
21:57:41 <monochrom> :)
21:57:59 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
21:58:13 <monochrom> There is some halting problem lurking somewhere in there.
21:58:43 <EvanR> long division on integers uses a finite amount of state, so it must repeat
22:00:12 <monochrom> That is equivalent to: Every provable sentence has a finite-length proof, so just try every string that qualifies as a proof of something.
22:00:27 rf joins (~rf@2605:59c8:179c:f610:b924:5d99:d3fe:ccc6)
22:00:28 <EvanR> unlike long square root whose state keeps growing
22:01:10 <monochrom> Which is also equivalent to: Every terminating program terminates in a finite number of steps, so it must terminate.
22:01:57 <monochrom> The problem is in all cases you still can't predict how many steps / what length you have to check and call it a day.
22:02:01 <EvanR> what, no
22:02:27 <sm> fromRationalRepetend works beautifully
22:02:48 <monochrom> Although, the bright side is at least they are not not-enumerable.
22:02:54 <EvanR> there is an upper limit, namely, 2^bits in your state space. You can't take more steps than that before looping
22:03:09 <EvanR> turing was using infinite tape to work with
22:03:56 × exeo quits (~Ozymandia@97-119-96-49.omah.qwest.net) (Ping timeout: 240 seconds)
22:03:58 <EvanR> any given turing machine might use all of it
22:04:15 <hpc> there's a really cool busy-beaver idea based on monochrom's comment
22:04:34 <monochrom> Are you assuming that every rational number is of the form <integer>/<natural number that has only 64 bits> ?
22:04:35 <hpc> where you construct a program that terminates iff $some_property
22:05:02 <hpc> like the consistency of zfc
22:05:03 <EvanR> the amount of state you need is bounded, but the bound is different for each pair of numbers
22:05:13 <EvanR> it's not a mystery
22:06:16 <monochrom> OK I see, you are given "it's 1/72.33".
22:07:33 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
22:07:52 × oo_miguel quits (~Thunderbi@78.11.179.96) (Ping timeout: 240 seconds)
22:08:04 chexum joins (~quassel@gateway/tor-sasl/chexum)
22:09:19 <EvanR> after each step make sure the remainder for that step is less than the divisor (i.e. you didn't mess up) -- so this gives the bound of 'the divisor' for any given problem
22:13:48 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
22:14:18 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
22:18:08 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 252 seconds)
22:19:12 × taupiqueur3 quits (~taupiqueu@2a02:842a:8180:4601:7129:fa0f:75f4:74d9) (Ping timeout: 240 seconds)
22:23:05 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) (Remote host closed the connection)
22:26:06 EvanR_ joins (~EvanR@user/evanr)
22:27:00 × EvanR quits (~EvanR@user/evanr) (Ping timeout: 240 seconds)
22:27:29 finn joins (~finn@176-151-21-224.abo.bbox.fr)
22:30:03 × nicole quits (ilbelkyr@libera/staff/ilbelkyr) (*.net *.split)
22:32:10 <finn> after building ghc, why git status shows a diff --git a/libraries/unix b/libraries/unix
22:32:26 <Hecate> because it's a submodule
22:32:30 <Hecate> a git submodule
22:32:33 <Hecate> and these are the devil
22:32:46 <finn> -Subproject commit 720debbf5b89366007bac473e8d7fd18e4114f1a
22:32:48 <finn> +Subproject commit 720debbf5b89366007bac473e8d7fd18e4114f1a-dirty
22:33:03 <Hecate> aye
22:33:33 <finn> i sometimes have trouble git pull from such a dirty directory
22:33:54 <finn> why it's the devil ?
22:35:09 × Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
22:36:12 × enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
22:41:26 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
22:42:10 × bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
22:48:40 taupiqueur3 joins (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net)
22:48:56 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
22:49:31 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
22:50:03 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
22:51:36 <geekosaur> because of this among other things
22:52:52 <geekosaur> seems like I always have to nuke and refetch that submodule in particular
22:53:00 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds)
22:53:07 <geekosaur> git doesn't handle submodules very well
22:53:32 × taupiqueur3 quits (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net) (Ping timeout: 245 seconds)
22:56:12 sm prudently sticking with manual subrepos still
22:58:32 segfaultfizzbuzz joins (~segfaultf@12.172.217.142)
23:00:40 × finn quits (~finn@176-151-21-224.abo.bbox.fr) (Ping timeout: 252 seconds)
23:04:00 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
23:07:37 enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
23:22:36 nate2 joins (~nate@98.45.169.16)
23:22:48 <hpc> there have even been cves related to submodules in the past
23:22:54 EvanR joins (~EvanR@user/evanr)
23:23:35 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176)
23:24:01 × EvanR_ quits (~EvanR@user/evanr) (Ping timeout: 258 seconds)
23:24:47 × enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
23:26:52 × nate2 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds)
23:27:24 × jakesyl____ quits (sid56879@id-56879.hampstead.irccloud.com) (Server closed connection)
23:27:56 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) (Ping timeout: 240 seconds)
23:28:20 jakesyl____ joins (sid56879@2a03:5180:f:4::de2f)
23:38:09 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176)
23:40:03 × user____ quits (~user@x5271795e.dyn.telefonica.de) (Read error: Connection reset by peer)
23:44:14 pavonia joins (~user@user/siracusa)
23:48:14 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) (Remote host closed the connection)
23:48:33 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176)
23:51:47 mauke_ joins (~mauke@user/mauke)
23:51:52 × segfaultfizzbuzz quits (~segfaultf@12.172.217.142) (Ping timeout: 240 seconds)
23:52:11 × jargon quits (~jargon@174.205.224.32) (Remote host closed the connection)
23:53:28 × mauke quits (~mauke@user/mauke) (Ping timeout: 252 seconds)
23:53:28 mauke_ is now known as mauke
23:55:05 jargon joins (~jargon@32.sub-174-205-224.myvzw.com)
23:55:27 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
23:57:59 Guest|99 joins (~Guest|99@ip5f5bebe3.dynamic.kabel-deutschland.de)
23:58:14 × Guest|99 quits (~Guest|99@ip5f5bebe3.dynamic.kabel-deutschland.de) (Client Quit)
23:58:31 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:38f8:4900:37c0:4176) (Remote host closed the connection)
23:59:03 taupiqueur3 joins (~taupiqueu@2a02-842a-8180-4601-7129-fa0f-75f4-74d9.rev.sfr.net)

All times are in UTC on 2023-06-21.