Home liberachat/#haskell: Logs Calendar

Logs on 2023-08-31 (liberachat/#haskell)

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

All times are in UTC on 2023-08-31.