2023/08/31

2023-08-31 00:07:26 +0000chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2023-08-31 00:07:57 +0000chiselfuse(~chiselfus@user/chiselfuse)
2023-08-31 00:18:28 +0000vglfr(~vglfr@2a0d:3344:148d:7a00:fdd5:1482:7428:6489) (Ping timeout: 246 seconds)
2023-08-31 00:19:29 +0000segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 246 seconds)
2023-08-31 00:19:54 +0000vglfr(~vglfr@cli-188-239-241-89.bbn.slav.dn.ua)
2023-08-31 00:25:39 +0000falafel(~falafel@181.68.6.51.dyn.plus.net)
2023-08-31 00:27:02 +0000segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-08-31 00:27:29 +0000falafel_(~falafel@233.68.6.51.dyn.plus.net) (Ping timeout: 246 seconds)
2023-08-31 00:28:07 +0000 <Inst> new ways to procrastinate, must resist
2023-08-31 00:28:13 +0000 <Inst> add pure' to base
2023-08-31 00:28:27 +0000 <Inst> well, too much trouble to write it to CLC
2023-08-31 00:35:26 +0000arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-31 00:40:10 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 00:43:56 +0000arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 248 seconds)
2023-08-31 00:43:59 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2023-08-31 00:44:53 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2023-08-31 00:50:33 +0000 <jackdk> https://hackage.haskell.org/package/base-4.18.0.0/docs/Prelude.html#v:pure ?????
2023-08-31 00:51:04 +0000 <jackdk> I'm not sure what you mean here.
2023-08-31 00:51:39 +0000 <int-e> I think they are thinking about pure' x = pure $! x which I'm pretty sure will never happen
2023-08-31 00:52:32 +0000grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 240 seconds)
2023-08-31 00:52:43 +0000 <Inst> deepseq in prelude though, what about that?
2023-08-31 00:52:52 +0000 <Inst> force, at least
2023-08-31 00:52:58 +0000 <int-e> lol
2023-08-31 00:53:10 +0000sm(~sm@plaintextaccounting/sm)
2023-08-31 00:54:20 +0000 <Inst> conflicts with vector
2023-08-31 00:54:39 +0000 <int-e> (lol because `force` is defined in terms of `deepseq`)
2023-08-31 00:54:52 +0000 <Inst> i know
2023-08-31 00:55:06 +0000 <Inst> or, at least i did, but it doesn't really matter because I don't use deepseq, I use force, like everyone else?
2023-08-31 00:55:20 +0000 <EvanR> need a function which just primes any function. (a -> b) -> a -> b
2023-08-31 00:55:22 +0000 <int-e> There will be strong resistance to adding anything to Prelude.
2023-08-31 00:55:26 +0000 <EvanR> :t ($!)
2023-08-31 00:55:27 +0000 <lambdabot> (a -> b) -> a -> b
2023-08-31 00:55:31 +0000 <int-e> or against, rather
2023-08-31 00:55:40 +0000 <Inst> bleh, w/e, just idle procrastination
2023-08-31 00:55:47 +0000 <EvanR> try ($!) pure
2023-08-31 00:56:00 +0000 <Inst> :t ($!) pure
2023-08-31 00:56:01 +0000 <lambdabot> Applicative f => a -> f a
2023-08-31 00:56:41 +0000 <Inst> i'd much rather XNoImplicitPrelude be added to GHC2025 or 2030 or something like that
2023-08-31 00:57:21 +0000 <int-e> breaks too much
2023-08-31 01:09:21 +0000 <c_wraith> Why would you want that? NoImplicitPrelude is for incredibly narrow use cases - when you want to change the desugaring of do notation, or something.
2023-08-31 01:09:59 +0000 <EvanR> Inst, shirley you can't be serious
2023-08-31 01:10:56 +0000 <Inst> i'm just nuts, thanks for taking me seriously
2023-08-31 01:11:01 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-08-31 01:11:19 +0000 <Inst> NoImplicitPrelude just encourages everyone to roll their own prelude or use some prelude alternative
2023-08-31 01:11:28 +0000 <c_wraith> If you really want to break stuff, add -XOverloadedStrings to GHC2025
2023-08-31 01:11:28 +0000 <Inst> it's a bad idea because it'll encourage community fragmentation
2023-08-31 01:11:56 +0000 <EvanR> haskell is pretty amazing at how much useful stuff is used by most everybody
2023-08-31 01:12:18 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 246 seconds)
2023-08-31 01:12:31 +0000dolio(~dolio@130.44.134.54) (Ping timeout: 245 seconds)
2023-08-31 01:12:35 +0000 <c_wraith> You don't need -XNoImplicitPrelude to use a custom Prelude. You only need it if you want to change how syntactic constructs that are compiled to calls to Prelude functions work.
2023-08-31 01:13:07 +0000dolio(~dolio@130.44.134.54)
2023-08-31 01:13:24 +0000 <c_wraith> Like, it changes do notation from desugaring to (Prelude.>>) and (Prelude.>>=) into calling whatever (>>) and (>>=) are in scope.
2023-08-31 01:13:37 +0000 <geekosaur> no, that's RebindableSyntax
2023-08-31 01:13:50 +0000 <c_wraith> Hmm. Shoot.
2023-08-31 01:14:41 +0000 <c_wraith> Oh. Right. NoImplicitPrelude just is the hard way to make your own Prelude.
2023-08-31 01:15:11 +0000 <c_wraith> fun fact! the implicit import of Prelude doesn't specify that it has to come from base!
2023-08-31 01:16:16 +0000 <c_wraith> (though if you want to make use of that, you need to make sure only one module named Prelude is in scope...)
2023-08-31 01:16:22 +0000ryanbooker(uid4340@id-4340.hampstead.irccloud.com)
2023-08-31 01:17:09 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-08-31 01:17:53 +0000 <dolio> So if you don't depend directly on base, you can depend on some other package with a Prelude module?
2023-08-31 01:18:10 +0000 <c_wraith> or if you use mixin support to rename base's Prelude module
2023-08-31 01:18:24 +0000 <dolio> Oh.
2023-08-31 01:18:42 +0000dove(~irc@2600:3c00:e000:287::1) (Ping timeout: 244 seconds)
2023-08-31 01:18:55 +0000 <Inst> does anyone actually use par monad?
2023-08-31 01:18:56 +0000 <c_wraith> But yeah, GHC treats the invisible "import Prelude" identically to how it treats any other import
2023-08-31 01:19:28 +0000dove(~irc@2600:3c00:e000:287::1)
2023-08-31 01:21:42 +0000 <c_wraith> Though I suppose for completeness, I should mention that if you *do* want to override do notation, QualifiedDo seems pretty nice.
2023-08-31 01:22:05 +0000 <c_wraith> and is much clearer in terms of scope and function.
2023-08-31 01:23:56 +0000nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-31 01:24:13 +0000 <Inst> btw, seriously, no one uses par monad here?
2023-08-31 01:24:29 +0000 <Inst> i'm getting zero sparks from it, but performance benchmarks as parallelized
2023-08-31 01:24:57 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 258 seconds)
2023-08-31 01:26:58 +0000 <EvanR> now I don't know if I can take you seriously anymore!
2023-08-31 01:28:13 +0000 <int-e> https://hackage.haskell.org/package/monad-par-0.3.5/docs/Control-Monad-Par.html "The default implementation is based on a work-stealing scheduler that divides the work as evenly as possible between the available processors at runtime."
2023-08-31 01:28:21 +0000 <int-e> No sparks.
2023-08-31 01:28:29 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-08-31 01:28:31 +0000falafel(~falafel@181.68.6.51.dyn.plus.net) (Ping timeout: 244 seconds)
2023-08-31 01:28:38 +0000 <int-e> But you can switch to a sparks-based implementation by changing the import.
2023-08-31 01:28:42 +0000int-eyawns.
2023-08-31 01:29:03 +0000 <int-e> Inst: Documentation, when available, is your friend.
2023-08-31 01:29:07 +0000nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-08-31 01:29:29 +0000 <int-e> (No I haven't used that package.)
2023-08-31 01:29:56 +0000 <Axman6> Alex, what is RTFM?
2023-08-31 01:30:06 +0000caryhartline(~caryhartl@168.182.58.169)
2023-08-31 01:30:12 +0000 <int-e> Read The Fine Manual
2023-08-31 01:30:36 +0000 <Axman6> Fine AF
2023-08-31 01:31:32 +0000chromoblob(~user@37.113.172.116) (Ping timeout: 246 seconds)
2023-08-31 01:31:42 +0000jero98772(~jero98772@2800:484:1d84:300::4)
2023-08-31 01:35:11 +0000emergence(emergence@2607:5300:60:5910:dcad:beff:feef:5bc) (Quit: Ping timeout (120 seconds))
2023-08-31 01:35:29 +0000 <dolio> Why are sparks bad but work stealing is okay?
2023-08-31 01:36:48 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 246 seconds)
2023-08-31 01:39:38 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-08-31 01:39:56 +0000 <Inst> can I be reasonably expected to manage work stealing? sparks are more under my control, though
2023-08-31 01:40:45 +0000Feuermagier(~Feuermagi@user/feuermagier)
2023-08-31 01:44:21 +0000 <Inst> like, to screw with sparks, i'll deliberately control chunk size, etc
2023-08-31 01:47:46 +0000 <hololeap> curious if anyone has experience with the prettyprinter packge. I'd like to use it to generate a type of file that uses tabs instead of spaces for indentation
2023-08-31 01:48:35 +0000bratwurst(~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8) (Ping timeout: 246 seconds)
2023-08-31 01:49:31 +0000nek0(~nek0@2a01:4f8:222:2b41::12)
2023-08-31 01:51:24 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 01:55:40 +0000otto_s(~user@p5de2f1e6.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2023-08-31 01:56:53 +0000grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-08-31 01:57:15 +0000otto_s(~user@p5de2fd75.dip0.t-ipconnect.de)
2023-08-31 02:00:15 +0000wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-08-31 02:00:15 +0000wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-08-31 02:00:15 +0000wroathe(~wroathe@user/wroathe)
2023-08-31 02:00:31 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2023-08-31 02:00:48 +0000chexum(~quassel@gateway/tor-sasl/chexum)
2023-08-31 02:01:54 +0000 <Inst> and sorry about not reading the docs, I just assumed Par was an easier interface than Eval, because that's what the book suggested, i.e, it was intended to be simpler and less flexible
2023-08-31 02:07:56 +0000tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection)
2023-08-31 02:08:09 +0000tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2023-08-31 02:15:06 +0000danza__(~francesco@151.43.246.29)
2023-08-31 02:15:09 +0000danza_(~francesco@151.43.229.34) (Read error: Connection reset by peer)
2023-08-31 02:16:50 +0000img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2023-08-31 02:16:51 +0000nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-31 02:18:22 +0000img(~img@user/img)
2023-08-31 02:19:59 +0000caryhartline(~caryhartl@168.182.58.169) (Quit: caryhartline)
2023-08-31 02:21:19 +0000td_(~td@i5387090D.versanet.de) (Ping timeout: 255 seconds)
2023-08-31 02:23:17 +0000td_(~td@i53870906.versanet.de)
2023-08-31 02:24:06 +0000xff0x(~xff0x@2405:6580:b080:900:9c90:a654:eded:3f9a) (Ping timeout: 245 seconds)
2023-08-31 02:24:28 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2023-08-31 02:31:27 +0000arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-31 02:33:06 +0000segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 244 seconds)
2023-08-31 02:33:43 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-08-31 02:33:43 +0000FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-08-31 02:38:01 +0000Inst(~liamzy@2601:6c4:4085:6d50::bd68) (Remote host closed the connection)
2023-08-31 02:38:17 +0000notzmv(~zmv@user/notzmv)
2023-08-31 02:38:19 +0000Inst(~liamzy@2601:6c4:4085:6d50::4272)
2023-08-31 02:45:17 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-08-31 02:46:20 +0000Inst(~liamzy@2601:6c4:4085:6d50::4272) (Ping timeout: 246 seconds)
2023-08-31 02:50:30 +0000waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 245 seconds)
2023-08-31 02:54:25 +0000jero98772(~jero98772@2800:484:1d84:300::4) (Remote host closed the connection)
2023-08-31 02:56:12 +0000grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 245 seconds)
2023-08-31 03:03:20 +0000segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-08-31 03:06:32 +0000 <int-e> well that was what it was originally - check out version 0.1 to see
2023-08-31 03:07:51 +0000 <int-e> Err, no, it already had its own scheduler then. I'm confused.
2023-08-31 03:11:18 +0000xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-08-31 03:16:55 +0000simpleauthority(~simpleaut@user/simpleauthority) (Quit: ZNC 1.8.2 - https://znc.in)
2023-08-31 03:17:16 +0000simpleauthority(~simpleaut@user/simpleauthority)
2023-08-31 03:17:17 +0000kitzman(~kitzman@user/dekenevs) (Quit: C-x C-c)
2023-08-31 03:17:17 +0000YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in)
2023-08-31 03:17:28 +0000manwithluck(~manwithlu@52.197.234.151) (Read error: Connection reset by peer)
2023-08-31 03:17:36 +0000manwithl-(manwithluc@ec2-52-197-234-151.ap-northeast-1.compute.amazonaws.com)
2023-08-31 03:17:37 +0000YoungFrog(~youngfrog@2a02:a03f:ca07:f900:f15e:5a48:ddbc:fdbc)
2023-08-31 03:18:16 +0000kitzman(~kitzman@user/dekenevs)
2023-08-31 03:19:22 +0000nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-08-31 03:24:19 +0000segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds)
2023-08-31 03:24:33 +0000aforemny_(~aforemny@i59F516DD.versanet.de)
2023-08-31 03:25:17 +0000aforemny(~aforemny@2001:9e8:6cd7:9700:69c9:4833:ea9a:b62d) (Ping timeout: 244 seconds)
2023-08-31 03:27:23 +0000razetime(~quassel@49.207.192.55)
2023-08-31 03:36:07 +0000gatekempt(~gatekempt@user/gatekempt) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2023-08-31 03:38:37 +0000libertyprime(~libertypr@203.96.203.44)
2023-08-31 03:40:39 +0000libertyprime(~libertypr@203.96.203.44) (Client Quit)
2023-08-31 03:41:26 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 03:52:20 +0000takuan(~takuan@178-116-218-225.access.telenet.be)
2023-08-31 03:54:28 +0000segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-08-31 03:57:06 +0000hpc(~juzz@ip98-169-35-163.dc.dc.cox.net) (Ping timeout: 245 seconds)
2023-08-31 04:05:29 +0000_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-08-31 04:09:00 +0000aaronv(~aaronv@user/aaronv)
2023-08-31 04:11:44 +0000thegeekinside(~thegeekin@189.180.81.59) (Ping timeout: 246 seconds)
2023-08-31 04:15:40 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2023-08-31 04:16:04 +0000ryanbooker(uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-31 04:17:32 +0000hpc(~juzz@ip98-169-35-163.dc.dc.cox.net)
2023-08-31 04:25:25 +0000vglfr(~vglfr@cli-188-239-241-89.bbn.slav.dn.ua) (Read error: Connection reset by peer)
2023-08-31 04:25:38 +0000vglfr(~vglfr@cli-188-239-241-89.bbn.slav.dn.ua)
2023-08-31 04:27:48 +0000danza__(~francesco@151.43.246.29) (Ping timeout: 244 seconds)
2023-08-31 04:35:46 +0000ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 245 seconds)
2023-08-31 04:35:59 +0000Inst(~liamzy@2601:6c4:4085:6d50::bd68)
2023-08-31 04:37:42 +0000ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-08-31 04:39:25 +0000danza(~francesco@151.57.245.63)
2023-08-31 04:46:26 +0000acidjnk(~acidjnk@p200300d6e7072f2058700104fa95aa5c.dip0.t-ipconnect.de)
2023-08-31 04:48:30 +0000Vajb(~Vajb@85-76-128-178-nat.elisa-mobile.fi)
2023-08-31 04:56:22 +0000 <Inst> what is the joke?
2023-08-31 04:56:23 +0000 <Inst> https://hackage.haskell.org/package/acme-all-monad
2023-08-31 04:56:31 +0000 <Inst> does Proxy compose?
2023-08-31 04:56:38 +0000 <Inst> *ProxyT
2023-08-31 04:57:09 +0000 <Inst> ah, so this is used in pipes unironically
2023-08-31 04:57:46 +0000 <dolio> This is the terminal monad. So all other monads 'interpret' into it.
2023-08-31 04:58:04 +0000 <Inst> oh wait, not the same thing
2023-08-31 04:59:52 +0000 <dolio> Like, you can make () an instance of all the numeric classes.
2023-08-31 05:00:32 +0000 <dolio> fromInteger _ = (); _ + _ = (); _ / _ = (); pi = (); ...
2023-08-31 05:02:41 +0000hgolden(~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com) (Remote host closed the connection)
2023-08-31 05:03:39 +0000 <monochrom> Also the simplest compression algorithm is to compress to () or write to /dev/null if no one asks you to uncompress.
2023-08-31 05:03:49 +0000 <dolio> Yep.
2023-08-31 05:04:46 +0000hgolden(~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com)
2023-08-31 05:06:11 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2023-08-31 05:12:36 +0000Inst(~liamzy@2601:6c4:4085:6d50::bd68) (Remote host closed the connection)
2023-08-31 05:12:59 +0000Inst(~liamzy@2601:6c4:4085:6d50::4272)
2023-08-31 05:13:21 +0000 <Inst> also, I did a bit of thinking, but tbh, I can see why you guys prefer spark-based parallelism to other forums
2023-08-31 05:13:26 +0000 <Inst> *forms
2023-08-31 05:13:37 +0000 <Inst> Spark is perhaps the wrong term, it's closer to rain
2023-08-31 05:14:13 +0000 <Inst> I built a program using Haskell parallelism on sparks a while back, and I just tried multi-threading in other languages. Like you said, theirs is usually a form of concurrency.
2023-08-31 05:14:40 +0000 <dolio> I don't use that stuff enough to have a strong opinion on what is nicest to use. I just didn't understand why your earlier complaints about sparks didn't apply to managing a bunch of work-stealing entries.
2023-08-31 05:14:51 +0000 <Inst> The thing is, the spark system, while often wasteful, can be immensely fine-grained in a way more conventional parallelism is hard pressed to be
2023-08-31 05:15:03 +0000 <Inst> maybe Go or Erlang's green threads
2023-08-31 05:15:15 +0000 <Inst> i had hundreds of thousands of sparks operating at one time
2023-08-31 05:15:22 +0000 <EvanR> that... is what forkIO threads are
2023-08-31 05:15:27 +0000 <EvanR> not sparks
2023-08-31 05:15:44 +0000nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-31 05:15:56 +0000 <Inst> no, i mean, i had a bunch of data structures with hundreds of thousands to millions of items to evaluate
2023-08-31 05:16:15 +0000 <Inst> i could just spark them all and forget about the details
2023-08-31 05:17:30 +0000 <Inst> am I wrong?
2023-08-31 05:17:37 +0000 <Inst> the way I understand it, sparks work on unevaluated data
2023-08-31 05:18:09 +0000 <EvanR> I mean green threads
2023-08-31 05:18:21 +0000 <Inst> I know forkIO threads are green, I forget how they compare to Erlang's
2023-08-31 05:18:38 +0000 <EvanR> erlang = processes
2023-08-31 05:18:56 +0000 <EvanR> good for concurrency but not parallelism
2023-08-31 05:19:33 +0000 <Inst> the one shame I think is that you can't spark on GPU... or was accelerate capable of doing that?
2023-08-31 05:20:52 +0000nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-08-31 05:24:58 +0000idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-08-31 05:29:03 +0000chromoblob(~user@37.113.172.116)
2023-08-31 05:32:32 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 05:33:12 +0000emmanuelux(~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
2023-08-31 05:33:57 +0000emmanuelux(~emmanuelu@user/emmanuelux)
2023-08-31 05:37:24 +0000fr33domlover(~fr33domlo@towards.vision) (Remote host closed the connection)
2023-08-31 05:38:05 +0000fr33domlover(~fr33domlo@towards.vision)
2023-08-31 05:38:41 +0000michalz(~michalz@185.246.207.201)
2023-08-31 05:39:08 +0000sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-31 05:39:12 +0000_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2023-08-31 05:43:40 +0000emmanuelux(~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
2023-08-31 05:43:40 +0000Inst(~liamzy@2601:6c4:4085:6d50::4272) (Ping timeout: 248 seconds)
2023-08-31 05:44:24 +0000emmanuelux(~emmanuelu@user/emmanuelux)
2023-08-31 05:46:11 +0000Vajb(~Vajb@85-76-128-178-nat.elisa-mobile.fi) (Ping timeout: 245 seconds)
2023-08-31 05:47:39 +0000Vajb(~Vajb@2001:999:50d:84d9:7bf6:f6be:1ebe:85c8)
2023-08-31 05:53:26 +0000briandaed(~briandaed@185.234.210.211)
2023-08-31 05:57:59 +0000sm(~sm@plaintextaccounting/sm)
2023-08-31 05:58:11 +0000sm(~sm@plaintextaccounting/sm) (Client Quit)
2023-08-31 06:00:00 +0000Inst(~liamzy@2601:6c4:4085:6d50::4272)
2023-08-31 06:01:12 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-31 06:06:13 +0000Inst(~liamzy@2601:6c4:4085:6d50::4272) (Read error: Connection reset by peer)
2023-08-31 06:06:14 +0000adanwan_(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2023-08-31 06:06:34 +0000adanwan(~adanwan@gateway/tor-sasl/adanwan)
2023-08-31 06:06:35 +0000paul_j(~user@67.26.169.217.in-addr.arpa) (Quit: Asta la vista)
2023-08-31 06:06:45 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2023-08-31 06:06:49 +0000Inst(~liamzy@2601:6c4:4085:6d50::4272)
2023-08-31 06:09:04 +0000libertyprime(~libertypr@203.96.203.44)
2023-08-31 06:09:16 +0000segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 248 seconds)
2023-08-31 06:13:45 +0000Square2(~Square4@user/square) (Ping timeout: 250 seconds)
2023-08-31 06:13:59 +0000Inst(~liamzy@2601:6c4:4085:6d50::4272) (Ping timeout: 246 seconds)
2023-08-31 06:14:51 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-31 06:19:47 +0000idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-08-31 06:22:53 +0000cafkafk(~cafkafk@fsf/member/cafkafk)
2023-08-31 06:22:56 +0000notzmv(~zmv@user/notzmv) (Ping timeout: 260 seconds)
2023-08-31 06:25:33 +0000coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-08-31 06:25:35 +0000mjrosenb(~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net)
2023-08-31 06:25:56 +0000 <mjrosenb> Did ghc change the RNG algorithm recently?
2023-08-31 06:27:26 +0000 <mjrosenb> and by 'RNG algorithm', I mean the thing you get with System.Random.mkStdGen 100000
2023-08-31 06:31:56 +0000 <Axman6> https://hackage.haskell.org/package/random-1.2.1.1/changelog has quite a lot of detail, including what looks like significant changes in 1.2.0
2023-08-31 06:32:35 +0000 <Axman6> "Fixed: changed algorithm to SplitMix, which provides a robust split operation"
2023-08-31 06:34:06 +0000 <Axman6> monochrom: I'm going to file a bug, when I cxompress to () it still takes up 8 bytes! I might submit a PR to target Void to avoid the pointer
2023-08-31 06:37:02 +0000gmg(~user@user/gehmehgeh)
2023-08-31 06:37:47 +0000neuroevolutus(~neuroevol@2a02:6ea0:d20c:2::b71e)
2023-08-31 06:41:47 +0000neuroevolutus(~neuroevol@2a02:6ea0:d20c:2::b71e) (Client Quit)
2023-08-31 06:58:52 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-31 07:03:18 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-08-31 07:06:34 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:c431:f4c7:e475:d84d) (Remote host closed the connection)
2023-08-31 07:09:35 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 07:13:48 +0000fendor(~fendor@2a02:8388:1640:be00:29b8:807b:7fa6:1bcf)
2023-08-31 07:14:19 +0000cfricke(~cfricke@user/cfricke)
2023-08-31 07:14:32 +0000pavonia(~user@user/siracusa) (Ping timeout: 245 seconds)
2023-08-31 07:16:52 +0000 <probie> Axman6: It has to take up at least 8 bytes, since `()` is a lifted type
2023-08-31 07:17:24 +0000dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-08-31 07:23:58 +0000fweht(uid404746@id-404746.lymington.irccloud.com)
2023-08-31 07:24:16 +0000pavonia(~user@user/siracusa)
2023-08-31 07:28:06 +0000Simikando(~Simikando@adsl-dyn1.91-127-51.t-com.sk)
2023-08-31 07:30:07 +0000fserucas__(~fserucas@46.50.115.39)
2023-08-31 07:40:01 +0000Simikando(~Simikando@adsl-dyn1.91-127-51.t-com.sk) (Remote host closed the connection)
2023-08-31 07:42:22 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:c431:f4c7:e475:d84d)
2023-08-31 07:44:00 +0000 <Axman6> yeah exactly
2023-08-31 07:44:10 +0000 <Axman6> what a waste
2023-08-31 07:53:16 +0000dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 248 seconds)
2023-08-31 07:54:40 +0000Inst(~liamzy@2601:6c4:4085:6d50::bd68)
2023-08-31 07:55:13 +0000Inst(~liamzy@2601:6c4:4085:6d50::bd68) (Remote host closed the connection)
2023-08-31 08:02:21 +0000robosexual(~spaceoyst@5.165.11.54)
2023-08-31 08:03:06 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-08-31 08:04:57 +0000arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-08-31 08:09:33 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:673c:157c:a5e6:b41c)
2023-08-31 08:10:49 +0000mima(~mmh@net-93-148-95-167.cust.dsl.teletu.it)
2023-08-31 08:12:28 +0000danza(~francesco@151.57.245.63) (Ping timeout: 248 seconds)
2023-08-31 08:13:06 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-31 08:13:55 +0000ubert(~Thunderbi@178.115.48.122.wireless.dyn.drei.com)
2023-08-31 08:15:12 +0000fendor(~fendor@2a02:8388:1640:be00:29b8:807b:7fa6:1bcf) (Remote host closed the connection)
2023-08-31 08:16:33 +0000fendor(~fendor@2a02:8388:1640:be00:29b8:807b:7fa6:1bcf)
2023-08-31 08:17:03 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-31 08:20:14 +0000danse-nr3(~francesco@151.57.245.63)
2023-08-31 08:24:53 +0000nyc(~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com) (Ping timeout: 246 seconds)
2023-08-31 08:29:32 +0000aaronv(~aaronv@user/aaronv) (Ping timeout: 248 seconds)
2023-08-31 08:30:21 +0000tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2023-08-31 08:36:26 +0000razetime(~quassel@49.207.192.55) (Remote host closed the connection)
2023-08-31 08:36:32 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-31 08:39:30 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-31 08:39:55 +0000dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-08-31 08:40:55 +0000danse-nr3_(~francesco@151.43.239.145)
2023-08-31 08:42:55 +0000danse-nr3(~francesco@151.57.245.63) (Read error: Connection reset by peer)
2023-08-31 08:43:32 +0000idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-08-31 08:43:46 +0000arahael(~arahael@1.145.98.65)
2023-08-31 08:52:47 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2023-08-31 08:57:40 +0000gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-08-31 09:03:42 +0000acidjnk(~acidjnk@p200300d6e7072f2058700104fa95aa5c.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2023-08-31 09:10:16 +0000acidjnk(~acidjnk@p200300d6e7072f20209f8ab558853b4c.dip0.t-ipconnect.de)
2023-08-31 09:14:20 +0000sm(~sm@plaintextaccounting/sm)
2023-08-31 09:17:13 +0000nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-31 09:17:57 +0000econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-31 09:19:05 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 09:19:09 +0000mmhat(~mmh@p200300f1c70419fdee086bfffe095315.dip0.t-ipconnect.de)
2023-08-31 09:22:22 +0000mmhat(~mmh@p200300f1c70419fdee086bfffe095315.dip0.t-ipconnect.de) (Client Quit)
2023-08-31 09:22:31 +0000nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-08-31 09:23:25 +0000ripspin(~chatzilla@1.145.161.49)
2023-08-31 09:25:35 +0000idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-08-31 09:28:38 +0000ripspin(~chatzilla@1.145.161.49) (Remote host closed the connection)
2023-08-31 09:31:23 +0000ft(~ft@p508db658.dip0.t-ipconnect.de) (Quit: leaving)
2023-08-31 09:42:06 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2023-08-31 09:47:56 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 09:53:00 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2023-08-31 09:58:50 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-31 10:03:34 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-31 10:08:45 +0000jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 248 seconds)
2023-08-31 10:09:51 +0000arahael(~arahael@1.145.98.65) (Read error: Connection reset by peer)
2023-08-31 10:13:49 +0000xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
2023-08-31 10:18:14 +0000mc47(~mc47@xmonad/TheMC47)
2023-08-31 10:23:35 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 10:26:23 +0000chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2023-08-31 10:28:20 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2023-08-31 10:29:39 +0000wootehfoot(~wootehfoo@user/wootehfoot)
2023-08-31 10:33:56 +0000acidjnk(~acidjnk@p200300d6e7072f20209f8ab558853b4c.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-08-31 10:41:48 +0000vglfr(~vglfr@cli-188-239-241-89.bbn.slav.dn.ua) (Ping timeout: 248 seconds)
2023-08-31 10:42:24 +0000vglfr(~vglfr@cli-188-239-241-89.bbn.slav.dn.ua)
2023-08-31 10:43:03 +0000Lycurgus(~juan@user/Lycurgus)
2023-08-31 10:43:56 +0000cfricke(~cfricke@user/cfricke) (Ping timeout: 248 seconds)
2023-08-31 10:54:10 +0000chiselfuse(~chiselfus@user/chiselfuse)
2023-08-31 10:58:17 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 11:00:55 +0000acidjnk(~acidjnk@p200300d6e7072f20209f8ab558853b4c.dip0.t-ipconnect.de)
2023-08-31 11:04:02 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2023-08-31 11:06:39 +0000xff0x(~xff0x@2405:6580:b080:900:eead:bb9a:e028:3953)
2023-08-31 11:07:14 +0000wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2023-08-31 11:08:24 +0000arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-31 11:13:53 +0000Lycurgus(~juan@user/Lycurgus) (Quit: Tschüss)
2023-08-31 11:14:32 +0000cfricke(~cfricke@user/cfricke)
2023-08-31 11:15:42 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 11:19:47 +0000danse-nr3_(~francesco@151.43.239.145) (Ping timeout: 246 seconds)
2023-08-31 11:21:09 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2023-08-31 11:33:06 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 11:33:19 +0000lzszt(~lzszt@ip-037-024-119-189.um08.pools.vodafone-ip.de)
2023-08-31 11:34:05 +0000danse-nr3_(~francesco@151.43.239.145)
2023-08-31 11:35:04 +0000 <bwe> how to snake case SumType with Aeson? aeson-casing doesn't do the job.
2023-08-31 11:37:18 +0000 <tomsmeding> bwe: if all else fails you could try writing a custom fieldLabelModifier
2023-08-31 11:37:35 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2023-08-31 11:39:21 +0000 <bwe> tomsmeding: done.
2023-08-31 11:43:57 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-31 11:50:01 +0000cfricke(~cfricke@user/cfricke) (Ping timeout: 250 seconds)
2023-08-31 11:50:12 +0000jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2023-08-31 11:50:41 +0000kenran(~user@user/kenran)
2023-08-31 11:55:12 +0000ulysses4ever(~artem@c-73-103-90-145.hsd1.in.comcast.net) (Ping timeout: 240 seconds)
2023-08-31 11:55:22 +0000ulysses4ever(~artem@c-73-103-90-145.hsd1.in.comcast.net)
2023-08-31 12:03:43 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-31 12:08:09 +0000acidjnk(~acidjnk@p200300d6e7072f20209f8ab558853b4c.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2023-08-31 12:11:52 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 12:17:08 +0000fweht(uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-31 12:20:48 +0000stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2023-08-31 12:21:12 +0000tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 245 seconds)
2023-08-31 12:21:13 +0000stiell_(~stiell@gateway/tor-sasl/stiell)
2023-08-31 12:22:31 +0000arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-08-31 12:29:43 +0000mima(~mmh@net-93-148-95-167.cust.dsl.teletu.it) (Ping timeout: 255 seconds)
2023-08-31 12:30:46 +0000crazazy(~user@130.89.171.133)
2023-08-31 12:40:48 +0000danse-nr3__(~francesco@151.19.232.83)
2023-08-31 12:41:04 +0000danse-nr3_(~francesco@151.43.239.145) (Read error: Connection reset by peer)
2023-08-31 12:46:04 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2023-08-31 12:46:31 +0000mikoto-chan(~mikoto-ch@ip-83-134-209-157.dsl.scarlet.be)
2023-08-31 12:46:48 +0000acidjnk(~acidjnk@p200300d6e7072f20209f8ab558853b4c.dip0.t-ipconnect.de)
2023-08-31 13:00:42 +0000sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-31 13:04:04 +0000gralp(~gralp@198.188.198.146.dyn.plus.net)
2023-08-31 13:04:47 +0000ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 246 seconds)
2023-08-31 13:05:24 +0000emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2023-08-31 13:06:37 +0000ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2023-08-31 13:06:53 +0000danse-nr3__(~francesco@151.19.232.83) (Remote host closed the connection)
2023-08-31 13:07:16 +0000danse-nr3__(~francesco@151.19.232.83)
2023-08-31 13:08:10 +0000wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-08-31 13:08:10 +0000wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-08-31 13:08:10 +0000wroathe(~wroathe@user/wroathe)
2023-08-31 13:18:59 +0000nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-31 13:19:27 +0000grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-08-31 13:20:50 +0000yoyofreeman(~yoyofreem@176.97.76.178)
2023-08-31 13:24:28 +0000nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 248 seconds)
2023-08-31 13:24:46 +0000CiaoSen(~Jura@2a05:5800:29a:4600:664b:f0ff:fe37:9ef)
2023-08-31 13:28:14 +0000Vajb(~Vajb@2001:999:50d:84d9:7bf6:f6be:1ebe:85c8) (Ping timeout: 246 seconds)
2023-08-31 13:28:39 +0000 <bwe> how do I map over a list concurrently? I want the equivalent to mapConcurrently for non-IO ops.
2023-08-31 13:32:53 +0000 <lortabac> bwe: there are various libraries for parallelism, all different from each other
2023-08-31 13:33:27 +0000 <lortabac> @hackage monad-par
2023-08-31 13:33:27 +0000 <lambdabot> https://hackage.haskell.org/package/monad-par
2023-08-31 13:33:29 +0000mikoto-chan(~mikoto-ch@ip-83-134-209-157.dsl.scarlet.be) (Quit: WeeChat 3.8)
2023-08-31 13:34:22 +0000 <lortabac> @hackage parallel
2023-08-31 13:34:22 +0000 <lambdabot> https://hackage.haskell.org/package/parallel
2023-08-31 13:34:36 +0000libertyprime(~libertypr@203.96.203.44) (Ping timeout: 248 seconds)
2023-08-31 13:37:26 +0000ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2023-08-31 13:37:37 +0000 <lortabac> Control.Parallel.Strategies.parMap should do what you are looking for
2023-08-31 13:37:48 +0000 <lortabac> @hackage repa
2023-08-31 13:37:48 +0000 <lambdabot> https://hackage.haskell.org/package/repa
2023-08-31 13:37:52 +0000ec(~ec@gateway/tor-sasl/ec)
2023-08-31 13:38:39 +0000nyc(~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com)
2023-08-31 13:40:38 +0000sm(~sm@plaintextaccounting/sm)
2023-08-31 13:41:59 +0000yoyofreeman(~yoyofreem@176.97.76.178) (Remote host closed the connection)
2023-08-31 13:42:14 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 246 seconds)
2023-08-31 13:50:38 +0000gralp(~gralp@198.188.198.146.dyn.plus.net) (Ping timeout: 246 seconds)
2023-08-31 13:50:41 +0000sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-31 13:51:38 +0000fserucas_(~fserucas@89.214.155.193)
2023-08-31 13:53:20 +0000arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-31 13:54:11 +0000fserucas__(~fserucas@46.50.115.39) (Ping timeout: 245 seconds)
2023-08-31 13:58:10 +0000arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-08-31 14:01:27 +0000segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-08-31 14:01:39 +0000ec(~ec@gateway/tor-sasl/ec) (Quit: ec)
2023-08-31 14:02:01 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 14:02:17 +0000ec(~ec@gateway/tor-sasl/ec)
2023-08-31 14:05:12 +0000ec(~ec@gateway/tor-sasl/ec) (Client Quit)
2023-08-31 14:06:05 +0000ec(~ec@gateway/tor-sasl/ec)
2023-08-31 14:07:53 +0000Sgeo(~Sgeo@user/sgeo)
2023-08-31 14:08:25 +0000lzszt(~lzszt@ip-037-024-119-189.um08.pools.vodafone-ip.de) (Quit: Client closed)
2023-08-31 14:15:04 +0000gralp(~gralp@198.188.198.146.dyn.plus.net)
2023-08-31 14:15:07 +0000gralp(~gralp@198.188.198.146.dyn.plus.net) (Client Quit)
2023-08-31 14:15:54 +0000ec(~ec@gateway/tor-sasl/ec) (Quit: ec)
2023-08-31 14:16:09 +0000ec(~ec@gateway/tor-sasl/ec)
2023-08-31 14:16:49 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2023-08-31 14:17:34 +0000ec(~ec@gateway/tor-sasl/ec) (Client Quit)
2023-08-31 14:17:46 +0000ec(~ec@gateway/tor-sasl/ec)
2023-08-31 14:18:57 +0000gatekempt(~gatekempt@user/gatekempt)
2023-08-31 14:20:31 +0000gatekempt(~gatekempt@user/gatekempt) (Client Quit)
2023-08-31 14:22:07 +0000gatekempt(~gatekempt@user/gatekempt)
2023-08-31 14:26:12 +0000thegeekinside(~thegeekin@189.180.81.59)
2023-08-31 14:26:17 +0000ec(~ec@gateway/tor-sasl/ec) (Quit: ec)
2023-08-31 14:28:26 +0000ec(~ec@gateway/tor-sasl/ec)
2023-08-31 14:28:29 +0000ec(~ec@gateway/tor-sasl/ec) (Client Quit)
2023-08-31 14:28:59 +0000ec(~ec@gateway/tor-sasl/ec)
2023-08-31 14:30:58 +0000ec(~ec@gateway/tor-sasl/ec) (Client Quit)
2023-08-31 14:33:12 +0000phma(~phma@2001:5b0:211b:8ab8:276e:326e:f44c:81b4) (Read error: Connection reset by peer)
2023-08-31 14:33:46 +0000phma(~phma@host-67-44-208-170.hnremote.net)
2023-08-31 14:40:23 +0000billchenchina(~billchenc@2a0c:b641:7a2:320:ee3e:47ca:6070:d71a)
2023-08-31 14:40:49 +0000gatekempt(~gatekempt@user/gatekempt) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2023-08-31 14:44:08 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 14:45:12 +0000gatekempt(~gatekempt@user/gatekempt)
2023-08-31 14:48:41 +0000caryhartline(~caryhartl@168.182.58.169)
2023-08-31 14:50:31 +0000hrberg(~quassel@171.79-160-161.customer.lyse.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2023-08-31 14:50:53 +0000hrberg(~quassel@171.79-160-161.customer.lyse.net)
2023-08-31 14:52:58 +0000gatekempt(~gatekempt@user/gatekempt) (Remote host closed the connection)
2023-08-31 14:54:57 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-31 14:55:17 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2023-08-31 14:59:03 +0000pavonia(~user@user/siracusa) (Quit: Bye!)
2023-08-31 15:03:50 +0000ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Quit: WeeChat 4.0.3)
2023-08-31 15:07:30 +0000ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-08-31 15:10:14 +0000gmg(~user@user/gehmehgeh)
2023-08-31 15:14:25 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:c431:f4c7:e475:d84d) (Remote host closed the connection)
2023-08-31 15:14:40 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:c431:f4c7:e475:d84d)
2023-08-31 15:18:17 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2023-08-31 15:21:37 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:673c:157c:a5e6:b41c) (Ping timeout: 245 seconds)
2023-08-31 15:23:43 +0000xmachina(~xmachina@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.4)
2023-08-31 15:23:44 +0000grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 246 seconds)
2023-08-31 15:29:10 +0000segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 246 seconds)
2023-08-31 15:31:11 +0000grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-08-31 15:31:27 +0000Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-08-31 15:32:13 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 15:32:19 +0000dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net)
2023-08-31 15:33:16 +0000thegeekinside(~thegeekin@189.180.81.59) (Ping timeout: 244 seconds)
2023-08-31 15:38:41 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2023-08-31 15:39:18 +0000econo_(uid147250@id-147250.tinside.irccloud.com)
2023-08-31 15:40:48 +0000xmachina(~xmachina@modemcable048.127-56-74.mc.videotron.ca)
2023-08-31 15:41:31 +0000Feuermagier(~Feuermagi@user/feuermagier) (Quit: Leaving)
2023-08-31 15:51:05 +0000bratwurst(~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8)
2023-08-31 15:51:43 +0000segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-08-31 15:56:47 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:c431:f4c7:e475:d84d) (Remote host closed the connection)
2023-08-31 15:58:12 +0000thegeekinside(~thegeekin@189.180.81.59)
2023-08-31 15:58:57 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:c431:f4c7:e475:d84d)
2023-08-31 15:59:41 +0000bratwurst(~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8) (Ping timeout: 248 seconds)
2023-08-31 16:05:05 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 16:07:04 +0000danse-nr3__(~francesco@151.19.232.83) (Ping timeout: 255 seconds)
2023-08-31 16:18:07 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 258 seconds)
2023-08-31 16:20:10 +0000_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-08-31 16:22:03 +0000dobblego(~dibblego@haskell/developer/dibblego)
2023-08-31 16:22:17 +0000dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 246 seconds)
2023-08-31 16:22:33 +0000dobblegodibblego
2023-08-31 16:27:22 +0000Vajb(~Vajb@85-76-82-193-nat.elisa-mobile.fi)
2023-08-31 16:28:58 +0000shaprhops quietly
2023-08-31 16:35:51 +0000Vajb(~Vajb@85-76-82-193-nat.elisa-mobile.fi) (Ping timeout: 245 seconds)
2023-08-31 16:36:52 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds)
2023-08-31 16:37:00 +0000Vajb(~Vajb@2001:999:60c:faff:dfbb:4d75:ed38:18d2)
2023-08-31 16:39:35 +0000thegeekinside(~thegeekin@189.180.81.59) (Ping timeout: 258 seconds)
2023-08-31 16:40:18 +0000thegeekinside(~thegeekin@189.180.94.136)
2023-08-31 16:42:50 +0000vglfr(~vglfr@cli-188-239-241-89.bbn.slav.dn.ua) (Ping timeout: 246 seconds)
2023-08-31 16:43:10 +0000 <Vq> shapr: I barely heard you hopping
2023-08-31 16:43:23 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-31 16:43:25 +0000 <shapr> yay, it was quiet!
2023-08-31 16:43:39 +0000 <Vq> Sure was :)
2023-08-31 16:44:00 +0000adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 246 seconds)
2023-08-31 16:44:51 +0000danza(~francesco@151.43.231.74)
2023-08-31 16:45:09 +0000adanwan(~adanwan@gateway/tor-sasl/adanwan)
2023-08-31 16:49:38 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 16:54:11 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2023-08-31 16:55:31 +0000L29Ah(~L29Ah@wikipedia/L29Ah) ()
2023-08-31 16:58:06 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:c431:f4c7:e475:d84d) (Remote host closed the connection)
2023-08-31 17:09:05 +0000grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 246 seconds)
2023-08-31 17:15:15 +0000wootehfoot(~wootehfoo@user/wootehfoot)
2023-08-31 17:15:22 +0000Me-me(~me-me@user/me-me) (Ping timeout: 245 seconds)
2023-08-31 17:15:32 +0000bratwurst(~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8)
2023-08-31 17:17:01 +0000tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2023-08-31 17:17:30 +0000mima(~mmh@net-93-148-95-167.cust.dsl.teletu.it)
2023-08-31 17:19:11 +0000ski(~ski@88.131.7.247)
2023-08-31 17:20:43 +0000nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-31 17:21:27 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:c431:f4c7:e475:d84d)
2023-08-31 17:24:01 +0000hyvoid(~hyenavoid@222-0-178-69.static.gci.net) (Ping timeout: 255 seconds)
2023-08-31 17:25:53 +0000nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2023-08-31 17:25:54 +0000hyvoid(~hyenavoid@222-0-178-69.static.gci.net)
2023-08-31 17:30:55 +0000dobblego(~dibblego@220.233.36.19)
2023-08-31 17:30:55 +0000dobblego(~dibblego@220.233.36.19) (Changing host)
2023-08-31 17:30:55 +0000dobblego(~dibblego@haskell/developer/dibblego)
2023-08-31 17:31:56 +0000dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 248 seconds)
2023-08-31 17:31:57 +0000dobblegodibblego
2023-08-31 17:36:20 +0000jinsun_(~jinsun@user/jinsun)
2023-08-31 17:36:20 +0000jinsunGuest951
2023-08-31 17:36:20 +0000Guest951(~jinsun@user/jinsun) (Killed (cadmium.libera.chat (Nickname regained by services)))
2023-08-31 17:36:20 +0000jinsun_jinsun
2023-08-31 17:42:30 +0000grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-08-31 17:42:41 +0000chromoblob(~user@37.113.172.116) (Ping timeout: 246 seconds)
2023-08-31 17:46:38 +0000fweht(uid404746@id-404746.lymington.irccloud.com)
2023-08-31 17:47:53 +0000 <monochrom> Axman6: Belated but (# #) may be preferable to Void :)
2023-08-31 17:48:57 +0000L29Ah(~L29Ah@wikipedia/L29Ah)
2023-08-31 17:52:06 +0000dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 246 seconds)
2023-08-31 17:52:54 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-31 17:57:50 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 17:59:04 +0000idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-08-31 17:59:58 +0000Lycurgus(~juan@user/Lycurgus)
2023-08-31 18:02:06 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2023-08-31 18:06:03 +0000 <Lycurgus> glguy, I take it ur not working on an hs irc daemon if ur doin solanum; looks like chris done abandonned one
2023-08-31 18:07:08 +0000ec(~ec@gateway/tor-sasl/ec)
2023-08-31 18:07:08 +0000bratwurst(~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8) (Ping timeout: 248 seconds)
2023-08-31 18:07:29 +0000 <glguy> I've got a Haskell client, I contribute to solanum, and I've got a C++/Lua client/tool
2023-08-31 18:10:07 +0000 <Lycurgus> the Done thing is a sketch he abandoned more than a decade ago as said took 4hrs
2023-08-31 18:10:35 +0000sm(~sm@plaintextaccounting/sm)
2023-08-31 18:10:45 +0000califax(~califax@user/califx)
2023-08-31 18:10:48 +0000 <Lycurgus> *and said
2023-08-31 18:12:16 +0000mima(~mmh@net-93-148-95-167.cust.dsl.teletu.it) (Ping timeout: 260 seconds)
2023-08-31 18:12:54 +0000azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 246 seconds)
2023-08-31 18:13:11 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-31 18:15:00 +0000caryhartline(~caryhartl@168.182.58.169) (Quit: caryhartline)
2023-08-31 18:15:43 +0000ec(~ec@gateway/tor-sasl/ec) (Quit: ec)
2023-08-31 18:17:11 +0000Lycurgus(~juan@user/Lycurgus) (Quit: Tschüss)
2023-08-31 18:18:17 +0000ec(~ec@gateway/tor-sasl/ec)
2023-08-31 18:19:01 +0000califax(~califax@user/califx) (Remote host closed the connection)
2023-08-31 18:23:25 +0000segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds)
2023-08-31 18:23:38 +0000[Leary](~Leary]@user/Leary/x-0910699) (Remote host closed the connection)
2023-08-31 18:23:52 +0000[Leary](~Leary]@user/Leary/x-0910699)
2023-08-31 18:24:40 +0000chromoblob(~user@37.113.172.116)
2023-08-31 18:24:43 +0000califax(~califax@user/califx)
2023-08-31 18:26:47 +0000CiaoSen(~Jura@2a05:5800:29a:4600:664b:f0ff:fe37:9ef) (Ping timeout: 246 seconds)
2023-08-31 18:27:14 +0000ec(~ec@gateway/tor-sasl/ec) (Quit: ec)
2023-08-31 18:28:14 +0000ec(~ec@gateway/tor-sasl/ec)
2023-08-31 18:29:34 +0000briandaed(~briandaed@185.234.210.211) (Remote host closed the connection)
2023-08-31 18:30:24 +0000califax(~califax@user/califx) (Ping timeout: 246 seconds)
2023-08-31 18:31:16 +0000Pickchea(~private@user/pickchea)
2023-08-31 18:31:36 +0000califax(~califax@user/califx)
2023-08-31 18:32:53 +0000ec(~ec@gateway/tor-sasl/ec) (Client Quit)
2023-08-31 18:33:12 +0000dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 240 seconds)
2023-08-31 18:33:16 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:c431:f4c7:e475:d84d) (Remote host closed the connection)
2023-08-31 18:33:16 +0000ec(~ec@gateway/tor-sasl/ec)
2023-08-31 18:34:23 +0000mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-08-31 18:34:27 +0000waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-08-31 18:35:10 +0000gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk)
2023-08-31 18:36:11 +0000 <ncf> hey glguy can your toml parser decode `foo = { "bar" = "baz" }` to a `data Config = { foo :: Map Text Text } deriving Generic` without me having to fill any paperwork and without leaving the quotes in "bar" unstripped
2023-08-31 18:36:19 +0000 <ncf> because that is apparently too much to ask of tomland
2023-08-31 18:37:57 +0000 <glguy> Leaving quotes in bar?
2023-08-31 18:38:10 +0000 <ncf> yeah it parses the key as "\"bar\""
2023-08-31 18:38:39 +0000dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2023-08-31 18:39:06 +0000 <glguy> And if you remove the ""s in the toml input it changes the output??
2023-08-31 18:39:29 +0000 <ncf> yes
2023-08-31 18:39:34 +0000 <ncf> i've reported the issue
2023-08-31 18:39:37 +0000 <glguy> Oh, you should
2023-08-31 18:39:39 +0000 <glguy> Yeah
2023-08-31 18:40:23 +0000 <glguy> I think toml-parser handles this, testing
2023-08-31 18:40:51 +0000ski(~ski@88.131.7.247) (Ping timeout: 260 seconds)
2023-08-31 18:41:36 +0000califax(~califax@user/califx) (Ping timeout: 246 seconds)
2023-08-31 18:42:36 +0000briandaed(~briandaed@185.234.210.211)
2023-08-31 18:43:13 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-31 18:43:27 +0000gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk) (Quit: WeeChat 4.0.4)
2023-08-31 18:44:15 +0000gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk)
2023-08-31 18:44:47 +0000califax(~califax@user/califx)
2023-08-31 18:44:48 +0000 <glguy> ncf: https://gist.github.com/glguy/03fb16d7ad91d0d294d857459168e9a7
2023-08-31 18:45:45 +0000 <ncf> fantastic
2023-08-31 18:47:25 +0000 <nyc> What does it mean for ExitSuccess to be raised as an exception & how do I find where it came from?
2023-08-31 18:48:42 +0000 <geekosaur> it's an exception because there's no other way for a Haskell program to transfer control non-locally. The RTS catches it, does cleanup, and `exit(0)`
2023-08-31 18:49:30 +0000 <geekosaur> it should be possible to use +RTS -xc to see where it is raised (this requires compiling with profiling)
2023-08-31 18:50:50 +0000 <EvanR> if you find the library throwing that, name names
2023-08-31 18:50:56 +0000 <geekosaur> (well, the RTS could just grab it directly but then nothing else gets to do cleanup)
2023-08-31 18:51:33 +0000 <monochrom> System.Exit.exitWith is implemented by throwing an exception, even if it's success.
2023-08-31 18:51:38 +0000 <geekosaur> and yes, regardless of language it's very bad form for a library to exit instead of returning some kind of "I'm done" code
2023-08-31 18:51:40 +0000 <monochrom> exitSuccess likewise.
2023-08-31 18:51:58 +0000aaronv(~aaronv@user/aaronv)
2023-08-31 18:52:02 +0000caryhartline(~caryhartl@168.182.58.169)
2023-08-31 18:52:05 +0000 <monochrom> But normally you wouldn't observe the difference unless in ghci
2023-08-31 18:52:12 +0000 <EvanR> I exit my own success thank you very much
2023-08-31 18:53:02 +0000 <monochrom> OK yeah libraries deciding to terminate your program are a little bit too presumptive.
2023-08-31 18:53:13 +0000 <monochrom> But programmers are control freaks.
2023-08-31 18:54:19 +0000 <monochrom> When I was on BBSes, every childish programmer were like "I want to write a program that reboots the user's computer".
2023-08-31 18:54:29 +0000wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-08-31 18:54:29 +0000wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-08-31 18:54:30 +0000wroathe(~wroathe@user/wroathe)
2023-08-31 18:56:19 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-31 18:57:53 +0000 <geekosaur> anyway, if you do catch it the correct thing to do is re-throw after doing any resource cleanup you might need to do (e.g. rollback and close a database)
2023-08-31 18:58:17 +0000 <nyc> I think what I'm seeing is a rendered form of the exception coming in over a socket that a thread of whatever's on the other end of it.
2023-08-31 18:58:37 +0000robosexual(~spaceoyst@5.165.11.54) (Quit: Konversation terminated!)
2023-08-31 18:58:47 +0000 <EvanR> rebooting is weak. Have the CD-ROM drive tray randomly deploy and retract
2023-08-31 18:59:02 +0000kenran(~user@user/kenran) (Remote host closed the connection)
2023-08-31 18:59:17 +0000kenran(~user@user/kenran)
2023-08-31 18:59:28 +0000 <geekosaur> not sure about monochrom's age, but when I was on BBSes there were no CDROMs
2023-08-31 18:59:41 +0000 <EvanR> ok laserdisc
2023-08-31 18:59:43 +0000 <nyc> Some layer is catching it & rendering it & now I have to go chase down where it happened.
2023-08-31 18:59:49 +0000 <geekosaur> or laserdiscs
2023-08-31 19:00:59 +0000 <monochrom> Yeah BBSes and CDROMs were pretty much mutually exclusive :)
2023-08-31 19:01:13 +0000 <monochrom> haha laserdisc OK
2023-08-31 19:02:02 +0000 <nyc> I was never on BBS's, though I was vaguely aware of their existence. I saw TRS-80's & Atari 2600's & Commodore PET's etc.
2023-08-31 19:02:41 +0000 <nyc> Apples were out there but I didn't see them as much for no obvious reason.
2023-08-31 19:02:44 +0000 <monochrom> Well at least you didn't say "why were people on BBSes instead of Facebook" hehe
2023-08-31 19:02:47 +0000 <erisco> so, punch cards, right? well what if we made the holes really small and spun it around real fast
2023-08-31 19:03:31 +0000 <erisco> a true faster horse
2023-08-31 19:04:09 +0000 <nyc> I was aware of FidoNet & UUCPNET but also didn't personally use them when they were live.
2023-08-31 19:04:13 +0000 <geekosaur> my parents' entertainment center had an 8-track player
2023-08-31 19:05:18 +0000 <ncf> glguy: i think toml-parser is missing a function of type FromValue a => Value -> Result String a ?
2023-08-31 19:05:19 +0000 <geekosaur> with that charming KerCHUNK! when it switched tracks
2023-08-31 19:05:36 +0000 <monochrom> Floppy diskettes also had a whole for the drive to optically know it is hitting sector 0. (Later, it was no longer used, but still stayed for a while.)
2023-08-31 19:05:47 +0000 <monochrom> s/whole/hole/
2023-08-31 19:05:50 +0000 <ncf> (i want to parse values from a bunch of places, merge them, and then deserialise the result)
2023-08-31 19:06:18 +0000 <ncf> also, maybe a Monad instance for Result e?
2023-08-31 19:06:22 +0000eggplantade(~Eggplanta@2600:1700:38c5:d800:c431:f4c7:e475:d84d)
2023-08-31 19:06:25 +0000 <geekosaur> oh, those newfangled ones? (unlike hard-sectored floppies which had a hole for each sector)
2023-08-31 19:06:36 +0000 <geekosaur> I apparently just missed those
2023-08-31 19:06:39 +0000 <monochrom> haha
2023-08-31 19:06:39 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 19:07:02 +0000 <monochrom> Yeah now I remember someone said there used to be like 8 holes for 8 sectors.
2023-08-31 19:07:17 +0000 <nyc> geekosaur: I remember 8-tracks too. My dad's Plymouth Gran Fury station wagon originally had an 8-track player in it, but I think he got it changed out for an aftermarket cassette player before he ended up trading it in for something else.
2023-08-31 19:09:08 +0000 <glguy> ncf: isn't that something like runMatcher . fromValue ?
2023-08-31 19:09:36 +0000 <ncf> plus error printing
2023-08-31 19:09:42 +0000 <monochrom> When I started using computers, it was already Apple IIe and 5.25-inch floppies, so there is a lot of history of 8-inch floppies that I have only heard of then forgot.
2023-08-31 19:10:36 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2023-08-31 19:11:01 +0000 <monochrom> OK ObHaskell: Haskell is why I don't root for travelling back to the past. How am I supposed to run Haskell on an Apple II ???!!!!
2023-08-31 19:11:02 +0000 <glguy> ncf: the Matcher is the place that error routing happens
2023-08-31 19:11:15 +0000 <ncf> i'm thinking there should be a ToValue class that parses Strings or Texts and does nothing to Values, à la Aeson
2023-08-31 19:11:17 +0000 <geekosaur> I'd been working with TRS-80 Model I and 3 which had 5¼ inch floppies, then became involved with "big iron" — a TRS-80 Model 16 running Xenix. WIth 8" floppies
2023-08-31 19:11:21 +0000xmachina(~xmachina@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.4)
2023-08-31 19:11:26 +0000 <geekosaur> I got to do backups for it for a while
2023-08-31 19:11:50 +0000 <geekosaur> lots of floppy shuffling, since for all their physical size they didn't hold much
2023-08-31 19:11:54 +0000 <glguy> ncf: there is a ToValue class
2023-08-31 19:11:59 +0000 <nyc> Hmm, something else is saying it blocked indefinitely in an MVar operation.
2023-08-31 19:12:12 +0000 <ncf> oh
2023-08-31 19:12:23 +0000 <[exa]> geekosaur: as a kid I was puzzled how come the 3.5" hold like 5x more data than 8", all math failed
2023-08-31 19:12:26 +0000 <glguy> ncf: I'm open to extensions if you can build an example use case I've not covered
2023-08-31 19:12:28 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-31 19:12:36 +0000 <ncf> ok
2023-08-31 19:13:14 +0000xmachina(~xmachina@modemcable048.127-56-74.mc.videotron.ca)
2023-08-31 19:13:20 +0000grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 246 seconds)
2023-08-31 19:14:28 +0000 <nyc> I don't remember ever seeing Xenix back in the day. At that point in time I didn't see them as much more than sort of overgrown combinations of typewriters & calculators.
2023-08-31 19:14:41 +0000 <erisco> [exa], I am puzzled today how 1TB can fit in a piece of plastic the size of my pinky nail
2023-08-31 19:14:44 +0000 <glguy> I think the library can do the things you've said so far, but perhaps not as seemlessly as we might want or maybe the documentation just needs to be elaborated
2023-08-31 19:15:10 +0000 <[exa]> erisco: atoms are many
2023-08-31 19:15:31 +0000 <EvanR> avagadro's number
2023-08-31 19:15:33 +0000 <monochrom> geekosaur: Does the computer also offer saving files to an audio jack (intended for cassette tapes)? Because you could connect that to a modern computer and save it on any modern medium. Even a WAV file on a 512GB USB stick beats fiddling with old floppies.
2023-08-31 19:15:46 +0000 <erisco> apparently atoms are getting too large for modern electronicals though :P
2023-08-31 19:16:01 +0000 <geekosaur> the Mod 16 didn't. my personal machine back then did though, and that was explicit
2023-08-31 19:16:01 +0000 <EvanR> avagardos number is an integer expressed as a float, chew on that for a minute
2023-08-31 19:16:02 +0000 <ncf> yeah runMatch returns a Result MatchMessage but i want a Result String
2023-08-31 19:16:03 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-08-31 19:16:06 +0000 <ncf> runMatcher*
2023-08-31 19:16:23 +0000 <EvanR> ok, it could fit in a double, not that weird
2023-08-31 19:16:44 +0000 <monochrom> I still have to resume my hobby project of decoding (demodulating) such an audio file.
2023-08-31 19:16:45 +0000 <geekosaur> except I didn't have a case, just a bare motherboard, so in fact it was just a pair of bell wires I stuck in holes 🙂
2023-08-31 19:17:15 +0000tcard_(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2023-08-31 19:17:16 +0000 <monochrom> haha
2023-08-31 19:17:53 +0000 <geekosaur> TRS-80 Model I at school, OSI SuperBoard II at home, TRS-80 Mod 16 downtown that I used via modem and helped out with occasionally in person
2023-08-31 19:17:59 +0000tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Read error: Connection reset by peer)
2023-08-31 19:18:27 +0000 <monochrom> ObHaskell I did wrote my own FFT in Haskell using the vector library.
2023-08-31 19:18:50 +0000 <monochrom> Not fast or optimized. I just felt like writing my own.
2023-08-31 19:19:14 +0000 <geekosaur> cassette interface on the SUperBoard was none too reliable, the system clock tick took noticeable amounts of time that interfered with audio encoding/decoding
2023-08-31 19:19:45 +0000 <glguy> ncf: you can get one today with: https://hackage.haskell.org/package/toml-parser-1.3.0.0/docs/Toml-Pretty.html#v:prettyMatchMessage
2023-08-31 19:20:17 +0000 <glguy> that doesn't preclude us from adding new helper functions, but you can do what you want with the current version
2023-08-31 19:20:22 +0000 <nyc> It would be easier to debug this if it weren't being caught & reported over some network socket.
2023-08-31 19:21:02 +0000 <dolio> EvanR: Quite a lot of floating point numbers are integers.
2023-08-31 19:22:10 +0000albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-08-31 19:23:19 +0000 <glguy> ncf: what are you doing that has you stitching together TOML documents before you process them?
2023-08-31 19:23:34 +0000segfaultfizzbuzz(~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
2023-08-31 19:25:26 +0000 <ncf> glguy: trying to split my config into a public part i can commit into git and a secret part i can store encrypted and decrypt with sops-nix
2023-08-31 19:25:43 +0000 <ncf> probably should just use environment variables for the secrets
2023-08-31 19:25:56 +0000 <ncf> i feel like i'm reinventing the wheel ;_;
2023-08-31 19:26:11 +0000 <glguy> ncf: I would have expected you to parse those two separately and get a PublicConfig and a PrivateConfig, or something
2023-08-31 19:26:24 +0000 <glguy> rather than merging them as TOML first and then processing them
2023-08-31 19:26:29 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-31 19:26:32 +0000 <ncf> idk that seems like a distinction my software shouldn't have to care about
2023-08-31 19:26:37 +0000 <ncf> the user decides what is private
2023-08-31 19:27:42 +0000 <glguy> order matters in toml, so it just seems tricky to stitch
2023-08-31 19:27:47 +0000 <ncf> yeah
2023-08-31 19:28:45 +0000 <ncf> i think yaml is "concatenative" in that way, but i really don't like yaml :|
2023-08-31 19:30:51 +0000szkl(uid110435@id-110435.uxbridge.irccloud.com)
2023-08-31 19:31:34 +0000 <glguy> You could do the merger at a single Config type?
2023-08-31 19:31:53 +0000 <ncf> i don't want to Maybe every field
2023-08-31 19:34:32 +0000billchenchina(~billchenc@2a0c:b641:7a2:320:ee3e:47ca:6070:d71a) (Remote host closed the connection)
2023-08-31 19:36:09 +0000 <monochrom> Hrm, docker docs have some discussion on how to do private secret contains-password-must-not-leak configs.
2023-08-31 19:38:18 +0000stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 246 seconds)
2023-08-31 19:38:25 +0000ubert1(~Thunderbi@91.141.56.232.wireless.dyn.drei.com)
2023-08-31 19:38:30 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2023-08-31 19:39:14 +0000stiell_(~stiell@gateway/tor-sasl/stiell)
2023-08-31 19:39:30 +0000 <glguy> ncf: well the Value stitching ought to work, it just wasn't an application I'd considered
2023-08-31 19:39:43 +0000ubert(~Thunderbi@178.115.48.122.wireless.dyn.drei.com) (Ping timeout: 244 seconds)
2023-08-31 19:39:43 +0000ubert1ubert
2023-08-31 19:40:20 +0000idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-08-31 19:42:31 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-31 19:43:32 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:b3dc:713f:9844:da8d)
2023-08-31 19:46:01 +0000Square(~Square@user/square)
2023-08-31 19:54:11 +0000wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 244 seconds)
2023-08-31 19:54:53 +0000thegeekinside(~thegeekin@189.180.94.136) (Remote host closed the connection)
2023-08-31 19:55:32 +0000wootehfoot(~wootehfoo@user/wootehfoot)
2023-08-31 19:55:52 +0000Simikando(~Simikando@adsl-dyn1.91-127-51.t-com.sk)
2023-08-31 20:00:09 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-31 20:02:10 +0000johnw(~johnw@69.62.242.138) (Quit: ZNC - http://znc.in)
2023-08-31 20:02:40 +0000johnw(~johnw@69.62.242.138)
2023-08-31 20:08:43 +0000lortabac(~lortabac@2a01:e0a:541:b8f0:b3dc:713f:9844:da8d) (Quit: WeeChat 2.8)
2023-08-31 20:09:48 +0000mikoto-chan(~mikoto-ch@ip-83-134-209-157.dsl.scarlet.be)
2023-08-31 20:10:51 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-31 20:15:41 +0000wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2023-08-31 20:15:43 +0000briandaed(~briandaed@185.234.210.211) (Remote host closed the connection)
2023-08-31 20:15:54 +0000fweht(uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-31 20:19:22 +0000_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2023-08-31 20:20:09 +0000ft(~ft@p508db658.dip0.t-ipconnect.de)
2023-08-31 20:22:36 +0000kjak(~kjak@pool-108-28-157-148.washdc.fios.verizon.net)
2023-08-31 20:24:38 +0000takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-08-31 20:25:36 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-31 20:33:48 +0000acidjnk(~acidjnk@p200300d6e7072f20209f8ab558853b4c.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
2023-08-31 20:35:50 +0000sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-08-31 20:37:16 +0000Simikando(~Simikando@adsl-dyn1.91-127-51.t-com.sk) (Quit: Leaving)
2023-08-31 20:37:35 +0000hanabi(~hanabi@dhcp-077-251-039-086.chello.nl)
2023-08-31 20:43:00 +0000shapr(~user@2600:1700:c640:3100:c5b6:6d9c:4fa1:59ed) (Remote host closed the connection)
2023-08-31 20:45:06 +0000danza_(~francesco@151.43.252.134)
2023-08-31 20:46:11 +0000danza(~francesco@151.43.231.74) (Read error: Connection reset by peer)
2023-08-31 20:55:32 +0000ubert(~Thunderbi@91.141.56.232.wireless.dyn.drei.com) (Remote host closed the connection)
2023-08-31 20:56:10 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 20:56:24 +0000fendor(~fendor@2a02:8388:1640:be00:29b8:807b:7fa6:1bcf) (Remote host closed the connection)
2023-08-31 21:01:08 +0000 <phma> I think I should submit a bug about the speed of a particular kind of operation on unboxed arrays.
2023-08-31 21:01:58 +0000zer0bitz(~zer0bitz@user/zer0bitz) (Read error: Connection reset by peer)
2023-08-31 21:02:29 +0000 <phma> I've found the GitLab site with the issues. Do I put all the code needed to reproduce it in one file, then create an issue?
2023-08-31 21:02:49 +0000bratwurst(~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8)
2023-08-31 21:02:58 +0000 <geekosaur> probably you want to ask in #ghc, but generally yes
2023-08-31 21:03:04 +0000kenran(~user@user/kenran) (Remote host closed the connection)
2023-08-31 21:03:24 +0000 <phma> okay
2023-08-31 21:03:52 +0000fweht(uid404746@id-404746.lymington.irccloud.com)
2023-08-31 21:06:23 +0000aaronv(~aaronv@user/aaronv) (Ping timeout: 246 seconds)
2023-08-31 21:09:43 +0000remedan(~remedan@ip-94-112-0-18.bb.vodafone.cz) (Ping timeout: 246 seconds)
2023-08-31 21:10:13 +0000sh1n(~sh1n@181.229.244.247)
2023-08-31 21:13:17 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-08-31 21:17:57 +0000mikoto-chan(~mikoto-ch@ip-83-134-209-157.dsl.scarlet.be) (Quit: WeeChat 3.8)
2023-08-31 21:22:28 +0000nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-08-31 21:22:29 +0000xmachina(~xmachina@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.4)
2023-08-31 21:23:15 +0000phma(~phma@host-67-44-208-170.hnremote.net) (Read error: Connection reset by peer)
2023-08-31 21:24:03 +0000phma(~phma@2001:5b0:211f:6e78:7432:d3ee:7ec9:c3b)
2023-08-31 21:28:16 +0000nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2023-08-31 21:29:17 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-31 21:30:17 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2023-08-31 21:31:46 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-08-31 21:32:08 +0000arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-31 21:34:33 +0000johnw(~johnw@69.62.242.138) (Quit: ZNC - http://znc.in)
2023-08-31 21:35:38 +0000masterbuilder(~masterbui@user/masterbuilder)
2023-08-31 21:35:54 +0000phmaphma_
2023-08-31 21:36:26 +0000phma_phma
2023-08-31 21:36:34 +0000libertyprime(~libertypr@203.96.203.44)
2023-08-31 21:37:01 +0000arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 260 seconds)
2023-08-31 21:37:41 +0000szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-08-31 21:41:01 +0000jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Read error: Connection reset by peer)
2023-08-31 21:43:21 +0000jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2023-08-31 21:44:42 +0000shapr(~user@2600:1700:c640:3100:3675:4cc6:3e07:2d29)
2023-08-31 21:49:28 +0000hanabi(~hanabi@dhcp-077-251-039-086.chello.nl) (Read error: Connection reset by peer)
2023-08-31 21:51:32 +0000tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-08-31 21:51:44 +0000michalz(~michalz@185.246.207.201) (Remote host closed the connection)
2023-08-31 21:51:50 +0000coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-08-31 22:04:04 +0000gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-08-31 22:05:25 +0000ursa-major(~ursa-majo@37.19.210.10) (Ping timeout: 244 seconds)
2023-08-31 22:07:35 +0000ursa-major(~ursa-majo@136.29.34.240)
2023-08-31 22:12:03 +0000remedan(~remedan@ip-94-112-0-18.bb.vodafone.cz)
2023-08-31 22:13:22 +0000machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds)
2023-08-31 22:16:13 +0000bratwurst(~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8) (Remote host closed the connection)
2023-08-31 22:16:31 +0000bratwurst(~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8)
2023-08-31 22:17:40 +0000zmt01(~zmt00@user/zmt00)
2023-08-31 22:21:32 +0000zmt00(~zmt00@user/zmt00) (Ping timeout: 248 seconds)
2023-08-31 22:22:00 +0000qqq(~qqq@92.43.167.61)
2023-08-31 22:28:06 +0000Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-08-31 22:34:25 +0000caryhartline(~caryhartl@168.182.58.169) (Quit: caryhartline)
2023-08-31 22:35:14 +0000bratwurst(~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8) (Quit: Leaving)
2023-08-31 22:36:46 +0000wroathe(~wroathe@user/wroathe)
2023-08-31 22:37:40 +0000oo_miguel(~Thunderbi@78-11-179-96.static.ip.netia.com.pl) (Ping timeout: 255 seconds)
2023-08-31 22:39:09 +0000aaronv(~aaronv@user/aaronv)
2023-08-31 22:40:34 +0000xmachina(~xmachina@modemcable048.127-56-74.mc.videotron.ca)
2023-08-31 22:43:25 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-08-31 22:43:45 +0000son0p(~ff@152.203.98.110) (Remote host closed the connection)
2023-08-31 22:44:42 +0000Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Ping timeout: 246 seconds)
2023-08-31 22:44:54 +0000 <wroathe> Odd question, but is it possible to model a list of constrained types as a phantom parameter? And then traverse that list?
2023-08-31 22:45:22 +0000 <chromoblob> "How am I supposed to run Haskell on an Apple II ???!!!!" hahaha
2023-08-31 22:45:45 +0000 <wroathe> Something like Foo b => data Foo a [b] = Foo a (I know this isn't valid syntax)
2023-08-31 22:46:01 +0000 <int-e> hugs might work?
2023-08-31 22:46:53 +0000 <int-e> (a small haskell interpreter for small systems that died before systems grew really big)
2023-08-31 22:46:55 +0000 <wroathe> Where I could do something then like Foo () :: Foo () [TypeA, TypeB, TypeC, ...]
2023-08-31 22:47:36 +0000hyvoid(~hyenavoid@222-0-178-69.static.gci.net) (Ping timeout: 260 seconds)
2023-08-31 22:49:25 +0000 <wroathe> Sorry, FooClass b
2023-08-31 22:50:14 +0000chromoblob(~user@37.113.172.116) ()
2023-08-31 22:52:59 +0000 <wroathe> Maybe I should be more specific. I'm tinkering with creating a sort of mini-Beam, and I was wondering if it's possible to do something like data Shipment = Shipment { order :: Constrained Int [References Order, NotNull] } where Constrained is a kind of type synonym for Int at the term level
2023-08-31 22:53:33 +0000 <wroathe> But where I can model constraints as types, and then generate DDL based on this type
2023-08-31 22:54:44 +0000 <wroathe> Constrained Int ... is a type synonym for Int *
2023-08-31 22:55:00 +0000 <g> wroathe: you can process a type-level-list using a type-class. Constrained wouldn't be a type synonym, though, it'd have to be at least a newtype
2023-08-31 22:55:37 +0000 <wroathe> g: Good to know. I figured making it a synonym was a long shot
2023-08-31 22:56:24 +0000 <g> You can make it a type synonym: type Constrained x y = x -- but then you'll immediately lose the constraints y as the type synonym will immediately "evaluate" away
2023-08-31 22:57:24 +0000 <wroathe> You mean when evaluating it in instances, right?
2023-08-31 22:57:35 +0000 <g> It's like how if you wrote the expression: const 42 [X,Y,Z], there's no way to pattern match to get that list out, it just evaluates away
2023-08-31 22:58:05 +0000 <wroathe> I've noticed that with GHC.Generics I don't get the synonym. I get the type it evaluates to
2023-08-31 22:58:15 +0000 <wroathe> So I think that must be one of the areas you're talking about
2023-08-31 22:59:53 +0000sh1n(~sh1n@181.229.244.247) (Quit: sh1n)
2023-08-31 23:00:12 +0000 <geekosaur> the synonym only exists in the typechecker
2023-08-31 23:00:47 +0000 <wroathe> geekosaur: How does that relate to instance evaluation though. I thought that was also done by the typechecker?
2023-08-31 23:01:10 +0000 <wroathe> Obviously type synonyms with instances just fully evaluate before being matched
2023-08-31 23:01:15 +0000 <geekosaur> that was a response to the comment about Generics; it can't know about synonyms
2023-08-31 23:01:33 +0000 <wroathe> Ah
2023-08-31 23:01:54 +0000 <g> wroathe: Type synonyms don't introduce "new" types, they're just aliases for existing types, they don't introduce anything new to match on
2023-08-31 23:02:08 +0000 <wroathe> How about type families? I'm still trying to wrap my head around them. Is there possibility for a synonym-like API here using those?
2023-08-31 23:02:13 +0000 <geekosaur> as to your Constrained, you can't make something which is an Int in all ways at value level but has extra type tags; the type tags necessarily affect the type of the term-level value, making it not an Int any more
2023-08-31 23:02:17 +0000 <wroathe> Or is the best I can do is at least newtypes around each field
2023-08-31 23:02:35 +0000aaronv(~aaronv@user/aaronv) (Ping timeout: 246 seconds)
2023-08-31 23:02:44 +0000 <wroathe> geekosaur: that makes sense
2023-08-31 23:03:01 +0000 <g> type families don't introduce new types, they're generalizations of type synonyms. data/newtype families do introduce new types, however
2023-08-31 23:03:02 +0000 <wroathe> Or GADTs for that matter. I'm just looking for tips on the path to pursue
2023-08-31 23:03:52 +0000 <geekosaur> and a phantom type affects values the same way (consider that `Nothing` has type `Maybe a` for some `a`; the `a` does not go away)
2023-08-31 23:04:41 +0000 <wroathe> Right, yeah. That makes sense.
2023-08-31 23:05:47 +0000 <geekosaur> > let foo :: Maybe Int -> Maybe Double; foo x@Nothing = x; foo (Just x) = Just (fromIntegral x) in foo (Just 3) -- wrong Nothing
2023-08-31 23:05:48 +0000 <lambdabot> error:
2023-08-31 23:05:48 +0000 <lambdabot> • Couldn't match type ‘Int’ with ‘Double’
2023-08-31 23:05:48 +0000 <lambdabot> Expected type: Maybe Double
2023-08-31 23:07:16 +0000 <wroathe> Yeah with a newtype I'd have to unwrap the value to make use of it
2023-08-31 23:07:18 +0000 <int-e> . o O ( `Nothing` really matters... )
2023-08-31 23:08:02 +0000 <g> wroathe, in the case of something like constraints, you definitely want a newtype where you have to wrap/unwrap it
2023-08-31 23:08:04 +0000 <wroathe> I was hoping I could get synonym-like behavior here, but at least now that I know that I can't that narrows down the possible approaches I can take
2023-08-31 23:08:13 +0000 <g> because that wrapping point is when you assert that you've checked the constraints
2023-08-31 23:08:26 +0000 <g> and the unwrap is when you throw the assertion away and get the int back
2023-08-31 23:09:05 +0000 <g> otherwise every Int someone has laying around would have the type Constrained Int [This,That,Theother] and the constraint would be useless
2023-08-31 23:09:52 +0000falafel(~falafel@62.175.113.194.dyn.user.ono.com)
2023-08-31 23:10:04 +0000 <wroathe> Well technically with this approach I'm thinking every Int would have Constrained Int [This, That Other], Constrained Int [Foo, Bar], Constrained Int [Baz] laying around
2023-08-31 23:10:09 +0000 <wroathe> But point taken
2023-08-31 23:10:23 +0000 <wroathe> Meaning there would be potentially lots of "aliases" for Int
2023-08-31 23:10:41 +0000 <wroathe> The point there just being to convey the constraint information to my code generator, and not really to create distinct types
2023-08-31 23:11:05 +0000 <wroathe> I.e. if it were possible to get those constraints back out with ScopedTypeVariables and Proxy
2023-08-31 23:11:06 +0000 <int-e> the point was, if those are all aliases of one another, the tags serve no purpose except possible being a cosmetic source code annotation
2023-08-31 23:11:23 +0000 <int-e> which the `Const` type alias *does* allow.
2023-08-31 23:11:26 +0000 <wroathe> int-e: That was actually the goal. I was just trying to use this as annotations for my field's type
2023-08-31 23:11:39 +0000 <int-e> emphasis on *cosmetic*
2023-08-31 23:11:57 +0000 <int-e> you'll see it, others can admire it, and the compiler will throw it away at the first opportunity.
2023-08-31 23:11:57 +0000 <wroathe> So that then I could traverse the type using something like Generic to generate code based on those annotations
2023-08-31 23:12:07 +0000 <wroathe> But it sounds like that's not possible
2023-08-31 23:13:02 +0000 <g> if it's for the compiler, then you can use newtypes and just tell the compiler to unwrap them
2023-08-31 23:13:15 +0000 <wroathe> Oh, you can auto-unwrap newtypes?
2023-08-31 23:13:20 +0000 <wroathe> How does that work?
2023-08-31 23:13:24 +0000 <g> It's your compiler, make it unwrap them
2023-08-31 23:13:29 +0000 <int-e> :t coerce
2023-08-31 23:13:30 +0000 <lambdabot> error:
2023-08-31 23:13:30 +0000 <lambdabot> • Variable not in scope: coerce
2023-08-31 23:13:30 +0000 <lambdabot> • Perhaps you meant ‘coerced’ (imported from Control.Lens)
2023-08-31 23:13:36 +0000 <int-e> :t Data.Coerce.coerce
2023-08-31 23:13:37 +0000 <lambdabot> Coercible a b => a -> b
2023-08-31 23:13:54 +0000caryhartline(~caryhartl@168.182.58.169)
2023-08-31 23:14:09 +0000 <g> coerce wouldn't add much here but some ambiguity and an extra typeclass resolution
2023-08-31 23:14:14 +0000 <int-e> (related because you can coerce a newtype to its contents if the constructor is in scope)
2023-08-31 23:14:24 +0000 <wroathe> g: To be clear you mean it would auto-coerce these newtypes into just regular old Int, so that I don't need to write unX order everywhere?
2023-08-31 23:14:33 +0000arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-08-31 23:14:38 +0000 <g> You don't need to write unX, you're making a compiler, just have it emit that
2023-08-31 23:14:57 +0000 <wroathe> Well it's compiling to SQL
2023-08-31 23:14:58 +0000 <int-e> also related: instance deriving via a newtype.
2023-08-31 23:15:10 +0000 <wroathe> So the code I write for this Haskell types -> SQL compiler would need to unwrap the newtypes
2023-08-31 23:15:50 +0000 <wroathe> Actually it woudln't really need to unX
2023-08-31 23:15:59 +0000 <wroathe> It would just need to (X a) everywhere
2023-08-31 23:16:06 +0000 <wroathe> In my instances
2023-08-31 23:16:25 +0000 <wroathe> But then when I use the Shipment value above at runtime to query the database I would need to unX order everywhere
2023-08-31 23:16:38 +0000 <int-e> hmm haven't people even come up with a type class for that (it would be class Unwrap a where type Base a; unwrap :: a -> Base a )
2023-08-31 23:16:39 +0000 <wroathe> when querying*
2023-08-31 23:16:47 +0000xmachina(~xmachina@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.4)
2023-08-31 23:16:59 +0000int-evaguely remembers seeing that somewhere, no clue where though
2023-08-31 23:17:00 +0000 <g> int-e: this? https://hackage.haskell.org/package/newtype-0.2.2.0/docs/Control-Newtype.html
2023-08-31 23:17:24 +0000 <int-e> g: close enough
2023-08-31 23:17:38 +0000merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2023-08-31 23:17:52 +0000 <int-e> (fundeps rather than associated type, that's okay)
2023-08-31 23:18:59 +0000 <jackdk> there's coerce, as well as the instances in lens
2023-08-31 23:19:28 +0000 <int-e> jackdk: no, the point here is tying a newtype to its base type; `coerce` doesn't do that for you
2023-08-31 23:19:31 +0000 <wroathe> Well thanks guys. Time to hit the gym and think about what I've learned here
2023-08-31 23:20:13 +0000 <int-e> jackdk: err, never mind. I misread `there's` as `that's`
2023-08-31 23:20:13 +0000 <jackdk> Ah, there's also https://hackage.haskell.org/package/generic-data-1.1.0.0/docs/Generic-Data-Internal-Newtype.html#t…
2023-08-31 23:22:22 +0000[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-08-31 23:22:31 +0000arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-08-31 23:26:04 +0000ursa-major(~ursa-majo@136.29.34.240) (Ping timeout: 248 seconds)
2023-08-31 23:28:23 +0000ursa-major(~ursa-majo@37.19.210.36)
2023-08-31 23:29:11 +0000wroathe(~wroathe@user/wroathe) (Ping timeout: 246 seconds)
2023-08-31 23:29:32 +0000crazazy(~user@130.89.171.133) (Ping timeout: 246 seconds)
2023-08-31 23:32:34 +0000lbseale(~quassel@user/ep1ctetus) (Ping timeout: 255 seconds)
2023-08-31 23:33:31 +0000lbseale(~quassel@user/ep1ctetus)
2023-08-31 23:48:32 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
2023-08-31 23:49:48 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-08-31 23:51:06 +0000artem(~artem@2601:249:4380:8950:f474:e3f8:9806:671)
2023-08-31 23:51:06 +0000ulysses4ever(~artem@c-73-103-90-145.hsd1.in.comcast.net) (Read error: Connection reset by peer)
2023-08-31 23:53:39 +0000johnw(~johnw@69.62.242.138)
2023-08-31 23:57:46 +0000ursa-major(~ursa-majo@37.19.210.36) (Ping timeout: 255 seconds)
2023-08-31 23:58:35 +0000xmachina(~xmachina@modemcable048.127-56-74.mc.videotron.ca)
2023-08-31 23:58:58 +0000mima(~mmh@net-93-148-95-167.cust.vodafonedsl.it)
2023-08-31 23:59:43 +0000ursa-major(~ursa-majo@136.29.34.240)
2023-08-31 23:59:51 +0000arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)