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.