Logs on 2023-01-03 (liberachat/#haskell)
| 00:13:20 | → | merijn joins (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
| 00:16:02 | → | Blightmain joins (~Blightmai@203.29.154.219) |
| 00:18:23 | × | sterni quits (~lukas@user/sterni) (Ping timeout: 255 seconds) |
| 00:18:48 | → | sterni joins (~lukas@user/sterni) |
| 00:18:50 | × | merijn quits (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds) |
| 00:21:12 | <jackdk> | intelligent_boat: a lot of application code is fundamentally in a `ExceptT e (ReaderT r IO)` monad for particular choices of `r` and `e`. |
| 00:21:49 | × | nasrudin__ quits (~nasrudin_@81.171.62.8) (Ping timeout: 252 seconds) |
| 00:27:15 | × | tremon quits (~tremon@83-85-213-108.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in) |
| 00:29:57 | → | merijn joins (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
| 00:36:34 | × | merijn quits (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds) |
| 00:37:33 | → | nasrudin__ joins (~nasrudin_@174.78.13.58) |
| 00:44:03 | <unit73e> | intelligent_boat, to transformer monads count or no? I've used Get a lot but that's because I've been working on binary parsers. |
| 00:47:33 | <unit73e> | my use case is a bit of a niche. other thanthat yeah the usual, read/write/state |
| 00:49:54 | <unit73e> | for a beginner I think it's more important to understand the point of monads / monad transformers, and start with simple useful ones. because otherwise it will be hard to compose much. unless the beginner wants to go around passing a giant train of arguments. |
| 00:50:37 | <unit73e> | is that a form of train wreck, but in purely functional? |
| 00:54:25 | <talismanick> | `join bimap (\x -> on compare x to best) (damageTo from, power . group, initiative . group)` errors out with "can't match type Ordering with Side -> Maybe Int" |
| 00:54:43 | <talismanick> | (want to map the lambda over a tuple) |
| 00:55:27 | <talismanick> | It's in the head of a case expression, to clarify |
| 00:55:59 | <talismanick> | should behave as if I wrote (compare ... to best, compare ... to best, compare ... to best) |
| 00:56:22 | <talismanick> | err, prefix that compare with on |
| 00:57:26 | <talismanick> | I guess I could use a list and <$>, given that the functions are all of the same type... |
| 00:58:08 | × | Lycurgus quits (~juan@user/Lycurgus) (Ping timeout: 260 seconds) |
| 00:59:53 | × | unit73e quits (~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) (Ping timeout: 260 seconds) |
| 01:01:33 | <talismanick> | Still, do wish the starting point of the language was hlists and everything else was shorthand for special cases |
| 01:02:27 | <talismanick> | I take that back - that's a wish fit for a monkey's paw |
| 01:03:09 | <nasrudin__> | follow-up on my earlier recursion schemes question: |
| 01:03:27 | <nasrudin__> | can anyone explain generalized apomorphisms either in terms of zygomorphisms or apomorphisms? |
| 01:04:02 | <nasrudin__> | Ican see why `gapo` is dual to `zygo` |
| 01:04:21 | <nasrudin__> | I can see why `gapo` generalizes `apo` |
| 01:04:26 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 01:04:37 | <nasrudin__> | I don't follow how `gapo` computes or what it computes |
| 01:10:14 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:11:28 | <jackdk> | talismanick: `join bimap` is only going to map over the final two slots in the tuple |
| 01:12:29 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 01:12:29 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 01:12:29 | → | wroathe joins (~wroathe@user/wroathe) |
| 01:13:10 | <jackdk> | talismanick: Also, I think GHC is trying to infer a single type for your lambda, when it probably needs something with foralls in it. |
| 01:13:22 | <nasrudin__> | Given `gapo :: forall {t} {b} {a}. Corecursive t => (b -> Base t b) -> (a -> Base t (Either b a)) -> a -> t` |
| 01:13:22 | <nasrudin__> | in `gapo f g a0` |
| 01:13:23 | <nasrudin__> | 1) what's the significance of `g` sometimes producing an `a` vs. sometimes producing a `b` value? |
| 01:13:23 | <nasrudin__> | 2) how do we combine the outputs from `f` and `g`? |
| 01:15:23 | × | acidjnk quits (~acidjnk@p200300d6e7137a57e4469cf2ea7b5c7c.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 01:16:22 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:23:40 | → | Batzy joins (~quassel@user/batzy) |
| 01:24:49 | → | xff0x joins (~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) |
| 01:26:47 | × | freeside quits (~mengwong@103.252.202.159) (Ping timeout: 255 seconds) |
| 01:28:08 | × | fizbin quits (~fizbin@user/fizbin) (Ping timeout: 252 seconds) |
| 01:30:35 | → | ddellacosta joins (~ddellacos@143.244.47.81) |
| 01:30:50 | → | freeside joins (~mengwong@103.252.202.159) |
| 01:32:36 | × | notzmv quits (~zmv@user/notzmv) (Read error: Connection reset by peer) |
| 01:34:06 | → | thongpv87 joins (~thongpv87@2402:9d80:3f6:6d60:8cc6:b5a1:ed72:1f2a) |
| 01:35:28 | × | freeside quits (~mengwong@103.252.202.159) (Ping timeout: 260 seconds) |
| 01:37:20 | → | fizbin joins (~fizbin@user/fizbin) |
| 01:39:54 | × | nasrudin__ quits (~nasrudin_@174.78.13.58) (Ping timeout: 272 seconds) |
| 01:40:19 | → | nasrudin__ joins (~nasrudin_@174.78.13.58) |
| 01:42:52 | → | dsrt^ joins (~dsrt@76.145.185.103) |
| 01:44:55 | × | Batzy quits (~quassel@user/batzy) (Quit: No Ping reply in 180 seconds.) |
| 01:46:17 | × | cameron_ quits (~quassel@050-089-109-059.res.spectrum.com) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 01:46:22 | → | Batzy joins (~quassel@user/batzy) |
| 01:47:04 | × | thongpv87 quits (~thongpv87@2402:9d80:3f6:6d60:8cc6:b5a1:ed72:1f2a) (Ping timeout: 252 seconds) |
| 01:49:10 | → | freeside joins (~mengwong@103.252.202.159) |
| 01:50:40 | × | nasrudin__ quits (~nasrudin_@174.78.13.58) (Ping timeout: 272 seconds) |
| 01:55:18 | × | xff0x quits (~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 260 seconds) |
| 01:56:07 | × | hyperbolic-dg quits (~quassel@i577AA562.versanet.de) (Quit: https://quassel-irc.org - Komfortabler Chat. Überall.) |
| 01:58:47 | → | razetime joins (~Thunderbi@49.207.222.244) |
| 02:04:49 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a4db:1d71:f389:6df6) |
| 02:05:06 | × | Batzy quits (~quassel@user/batzy) (Quit: No Ping reply in 180 seconds.) |
| 02:06:32 | → | Batzy joins (~quassel@user/batzy) |
| 02:09:04 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a4db:1d71:f389:6df6) (Ping timeout: 252 seconds) |
| 02:10:08 | → | thongpv87 joins (~thongpv87@14.246.240.163) |
| 02:10:31 | × | wroathe quits (~wroathe@user/wroathe) (Quit: leaving) |
| 02:10:46 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 02:10:46 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 02:10:46 | → | wroathe joins (~wroathe@user/wroathe) |
| 02:11:00 | → | notzmv joins (~zmv@user/notzmv) |
| 02:15:15 | → | Lycurgus joins (~juan@98.4.112.204) |
| 02:15:15 | × | Lycurgus quits (~juan@98.4.112.204) (Changing host) |
| 02:15:15 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 02:17:25 | → | AlaiNaaa_turkey joins (~GmIRC@95.70.234.213) |
| 02:22:36 | × | AlaiNaaa_turkey quits (~GmIRC@95.70.234.213) (Quit: Geveze mIRC � www.Geveze.Org �) |
| 02:28:02 | × | ddellacosta quits (~ddellacos@143.244.47.81) (Ping timeout: 272 seconds) |
| 02:32:28 | → | cameron_ joins (~quassel@050-089-109-059.res.spectrum.com) |
| 02:32:30 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 02:37:22 | → | xff0x joins (~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) |
| 02:47:36 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35) |
| 02:50:34 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 02:56:55 | → | ddellacosta joins (~ddellacos@static-198-44-136-50.cust.tzulo.com) |
| 02:58:31 | × | xff0x quits (~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 260 seconds) |
| 02:58:56 | → | notzmv- joins (~zmv@user/notzmv) |
| 02:59:35 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 264 seconds) |
| 03:05:09 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:05:09 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 03:05:09 | finn_elija | is now known as FinnElija |
| 03:05:25 | → | nasrudin__ joins (~nasrudin_@174.78.10.145) |
| 03:07:06 | × | jero98772 quits (~jero98772@190.158.28.44) (Remote host closed the connection) |
| 03:07:18 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds) |
| 03:07:38 | → | v0id_ptr joins (~adrift@user/ptr-frac7al/x-0038398) |
| 03:10:34 | × | panovia quits (~user@user/siracusa) (Read error: Connection reset by peer) |
| 03:14:16 | × | td_ quits (~td@83.135.9.63) (Ping timeout: 272 seconds) |
| 03:15:52 | → | td_ joins (~td@83.135.9.22) |
| 03:18:49 | → | sh1n joins (~sh1n@181.229.121.151) |
| 03:18:52 | → | panovia joins (~user@user/siracusa) |
| 03:19:16 | × | sh1n quits (~sh1n@181.229.121.151) (Client Quit) |
| 03:21:54 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 03:26:39 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 260 seconds) |
| 03:31:12 | × | Blightmain quits (~Blightmai@203.29.154.219) (Remote host closed the connection) |
| 03:33:10 | → | d34df00d joins (~d34df00d@2600:1702:4f1b:7c10::48) |
| 03:33:17 | <d34df00d> | Hi! |
| 03:33:52 | <d34df00d> | What's the advised way to "just" download a remote file into a ByteString, without caring about cookies / HTTP pipelining / etc? |
| 03:34:00 | <d34df00d> | s/remote/HTTP(s)/ |
| 03:34:23 | <d34df00d> | Googling "haskell download file library" is not exactly enlightening as about the most widely used/common/etc way. |
| 03:37:45 | <jackdk> | d34df00d: ignore the misleading package name, but I'd go with `http-conduit`'s `Network.HTTP.Simple.httpBS` |
| 03:39:38 | <d34df00d> | jackdk: that looks nice, thanks! |
| 03:40:59 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 264 seconds) |
| 03:41:42 | × | beefbambi quits (~beefbambi@183.82.26.189) (Read error: Connection reset by peer) |
| 03:42:20 | × | terrorjack quits (~terrorjac@2a01:4f8:1c1e:4e8c::) (Quit: The Lounge - https://thelounge.chat) |
| 03:42:59 | × | Lycurgus quits (~juan@user/Lycurgus) (Ping timeout: 260 seconds) |
| 03:43:45 | → | terrorjack joins (~terrorjac@2a01:4f8:1c1e:4e8c::) |
| 03:44:59 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 03:46:54 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 03:47:29 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 03:47:50 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 03:48:41 | → | thongpv joins (~thongpv87@2001:ee0:54ae:c1f0:e4db:e7f4:3cf0:5fe4) |
| 03:48:57 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 03:50:22 | × | thongpv87 quits (~thongpv87@14.246.240.163) (Ping timeout: 272 seconds) |
| 03:50:45 | → | beefbambi joins (~beefbambi@183.82.28.205) |
| 03:51:00 | → | morb joins (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) |
| 03:53:54 | <dsal> | I use conduit when I need simple http bs |
| 03:54:20 | × | nasrudin__ quits (~nasrudin_@174.78.10.145) (Ping timeout: 246 seconds) |
| 03:55:15 | × | notzmv- quits (~zmv@user/notzmv) (Ping timeout: 252 seconds) |
| 03:56:59 | × | freeside quits (~mengwong@103.252.202.159) (Ping timeout: 260 seconds) |
| 03:59:11 | → | jinsun joins (~jinsun@user/jinsun) |
| 04:01:10 | <d34df00d> | jackdk: just curious, how do you catch its errors, just for a better user error message? Will `catchError` do? |
| 04:02:36 | <d34df00d> | Or `catch`, really. |
| 04:04:32 | <jackdk> | I assume it throws exceptions, so probably the stuff in Control.Exception |
| 04:06:05 | <d34df00d> | Ok cool, that makes sense. |
| 04:09:20 | → | freeside joins (~mengwong@103.252.202.159) |
| 04:09:22 | × | ddellacosta quits (~ddellacos@static-198-44-136-50.cust.tzulo.com) (Ping timeout: 272 seconds) |
| 04:13:17 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 04:14:32 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 04:24:49 | × | morb quits (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Quit: Leaving...) |
| 04:28:21 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds) |
| 04:37:58 | → | asivitz joins (uid178348@id-178348.tinside.irccloud.com) |
| 04:47:16 | × | beefbambi quits (~beefbambi@183.82.28.205) (Read error: Connection reset by peer) |
| 04:48:08 | → | beefbambi joins (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) |
| 04:50:15 | × | beefbambi quits (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer) |
| 04:50:34 | → | beefbambi joins (~beefbambi@183.82.28.205) |
| 04:53:36 | × | beefbambi quits (~beefbambi@183.82.28.205) (Read error: Connection reset by peer) |
| 04:54:01 | → | beefbambi joins (~beefbambi@183.82.28.205) |
| 04:56:51 | × | beefbambi quits (~beefbambi@183.82.28.205) (Read error: Connection reset by peer) |
| 04:58:06 | → | beefbambi joins (~beefbambi@183.82.28.205) |
| 05:00:20 | × | beefbambi quits (~beefbambi@183.82.28.205) (Read error: Connection reset by peer) |
| 05:00:53 | → | beefbambi joins (~beefbambi@183.82.28.205) |
| 05:03:32 | → | merijn joins (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
| 05:07:09 | × | wroathe quits (~wroathe@user/wroathe) (Quit: leaving) |
| 05:07:37 | × | thongpv quits (~thongpv87@2001:ee0:54ae:c1f0:e4db:e7f4:3cf0:5fe4) (Ping timeout: 256 seconds) |
| 05:09:32 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 272 seconds) |
| 05:20:41 | → | instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net) |
| 05:25:22 | × | instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 272 seconds) |
| 05:30:54 | × | beefbambi quits (~beefbambi@183.82.28.205) (Ping timeout: 260 seconds) |
| 05:33:25 | → | beefbambi joins (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) |
| 05:37:11 | × | merijn quits (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds) |
| 05:37:39 | <maerwald[m]> | dminuoso: https://github.com/brendanhay/amazonka/issues/866#issuecomment-1369408280 |
| 05:38:20 | → | trev joins (~trev@user/trev) |
| 05:56:39 | → | thongpv joins (~thongpv87@14.246.240.163) |
| 05:58:43 | <maerwald[m]> | Apparently UTC offset for PST is defined in RFC2822 |
| 06:04:22 | → | notzmv joins (~zmv@user/notzmv) |
| 06:06:08 | → | Feuermagier joins (~Feuermagi@user/feuermagier) |
| 06:07:13 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds) |
| 06:16:58 | <jackdk> | and RFC5322 too, also under the `obs-zone` grammar rule. |
| 06:23:53 | → | xff0x joins (~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) |
| 06:32:55 | × | mizlan quits (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 268 seconds) |
| 06:33:09 | → | Lumia joins (~Lumia@user/Lumia) |
| 06:39:56 | → | mizlan joins (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) |
| 07:05:12 | × | xff0x quits (~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 255 seconds) |
| 07:05:13 | → | Lycurgus joins (~juan@98.4.112.204) |
| 07:05:13 | × | Lycurgus quits (~juan@98.4.112.204) (Changing host) |
| 07:05:13 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 07:08:24 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 252 seconds) |
| 07:10:03 | × | jinsun quits (~jinsun@user/jinsun) (Ping timeout: 260 seconds) |
| 07:15:13 | × | Lumia quits (~Lumia@user/Lumia) (Quit: ,-) |
| 07:16:28 | → | iqubic joins (~avi@2601:602:9502:c70:3dee:aba8:ea3d:300b) |
| 07:16:34 | × | razetime quits (~Thunderbi@49.207.222.244) (Quit: razetime) |
| 07:28:10 | → | cheater_ joins (~Username@user/cheater) |
| 07:29:47 | × | cheater quits (~Username@user/cheater) (Ping timeout: 248 seconds) |
| 07:29:56 | cheater_ | is now known as cheater |
| 07:33:20 | → | igghibu joins (~igghibu@178.249.211.70) |
| 07:33:32 | → | merijn joins (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
| 07:35:03 | × | cameron_ quits (~quassel@050-089-109-059.res.spectrum.com) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 07:41:54 | <[exa]> | intelligent_boat: parser monads are IMO a haskell killer feature. And LogicT is lovely. |
| 07:45:06 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 07:45:46 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 07:45:47 | × | mizlan quits (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
| 07:51:15 | → | mizlan joins (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) |
| 07:55:34 | × | mizlan quits (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
| 07:56:10 | × | v0id_ptr quits (~adrift@user/ptr-frac7al/x-0038398) (Ping timeout: 268 seconds) |
| 08:02:14 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 08:06:41 | × | thongpv quits (~thongpv87@14.246.240.163) (Remote host closed the connection) |
| 08:07:24 | → | xff0x joins (~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) |
| 08:07:44 | × | merijn quits (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
| 08:07:59 | → | thongpv joins (~thongpv87@14.246.240.163) |
| 08:11:16 | → | fserucas joins (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) |
| 08:11:26 | × | califax quits (~califax@user/califx) (Ping timeout: 255 seconds) |
| 08:14:52 | → | mbuf joins (~Shakthi@49.205.80.42) |
| 08:16:20 | × | hpc quits (~juzz@ip98-169-35-163.dc.dc.cox.net) (Ping timeout: 260 seconds) |
| 08:16:42 | → | califax joins (~califax@user/califx) |
| 08:17:20 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:3054:ac62:76b7:6154) |
| 08:17:49 | → | hpc joins (~juzz@ip98-169-35-163.dc.dc.cox.net) |
| 08:24:14 | × | panovia quits (~user@user/siracusa) (Quit: Bye!) |
| 08:29:35 | × | freeside quits (~mengwong@103.252.202.159) (Ping timeout: 264 seconds) |
| 08:31:13 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 08:31:44 | → | merijn joins (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
| 08:33:25 | → | mizlan joins (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) |
| 08:33:27 | → | freeside joins (~mengwong@103.252.202.159) |
| 08:37:31 | × | mizlan quits (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 248 seconds) |
| 08:40:03 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 08:40:58 | → | cheater_ joins (~Username@user/cheater) |
| 08:41:25 | → | gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de) |
| 08:41:52 | → | nschoe joins (~q@2a01:e0a:8e:a190:79dc:4967:2fb4:bf93) |
| 08:44:14 | × | cheater quits (~Username@user/cheater) (Ping timeout: 272 seconds) |
| 08:44:23 | cheater_ | is now known as cheater |
| 08:46:46 | → | avicenzi joins (~avicenzi@2a00:ca8:a1f:b004::c32) |
| 08:49:18 | × | mncheckm quits (~mncheck@193.224.205.254) (Remote host closed the connection) |
| 08:49:34 | → | mncheckm joins (~mncheck@193.224.205.254) |
| 08:51:33 | → | acidjnk joins (~acidjnk@p200300d6e7137a39e4469cf2ea7b5c7c.dip0.t-ipconnect.de) |
| 08:54:11 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 264 seconds) |
| 09:02:48 | → | boxscape_ joins (~boxscape_@213.52.37.155) |
| 09:03:18 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 09:23:59 | → | v0id_ptr joins (~adrift@user/ptr-frac7al/x-0038398) |
| 09:24:08 | × | xff0x quits (~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 272 seconds) |
| 09:26:37 | × | igghibu quits (~igghibu@178.249.211.70) (Quit: igghibu) |
| 09:28:06 | → | cheater_ joins (~Username@user/cheater) |
| 09:30:53 | × | cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds) |
| 09:31:01 | cheater_ | is now known as cheater |
| 09:34:50 | × | v0id_ptr quits (~adrift@user/ptr-frac7al/x-0038398) (Ping timeout: 268 seconds) |
| 09:37:44 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:50:13 | → | mechsp joins (~mechsp@82-64-66-157.subs.proxad.net) |
| 09:51:11 | × | mechsp quits (~mechsp@82-64-66-157.subs.proxad.net) (Client Quit) |
| 09:54:45 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 10:01:48 | × | cheater quits (~Username@user/cheater) (Ping timeout: 260 seconds) |
| 10:09:27 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35) (Remote host closed the connection) |
| 10:11:29 | × | Lycurgus quits (~juan@user/Lycurgus) (Ping timeout: 255 seconds) |
| 10:25:17 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 246 seconds) |
| 10:31:26 | → | mizlan joins (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) |
| 10:32:21 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 10:35:32 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 10:35:53 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds) |
| 10:36:40 | × | boxscape_ quits (~boxscape_@213.52.37.155) (Quit: Connection closed) |
| 10:38:01 | <zzz> | > let f = const 'a' . join seq in f undefined |
| 10:38:03 | <lambdabot> | 'a' |
| 10:38:19 | Lord_of_Life_ | is now known as Lord_of_Life |
| 10:38:28 | <zzz> | > let f = flip seq 'a' in f undefined |
| 10:38:30 | <lambdabot> | *Exception: Prelude.undefined |
| 10:40:44 | <zzz> | > let f x = 'a' in f undefined |
| 10:40:46 | <lambdabot> | 'a' |
| 10:40:50 | <zzz> | > let f !x = 'a' in f undefined |
| 10:40:52 | <lambdabot> | *Exception: Prelude.undefined |
| 10:42:28 | <mauke> | exercise: write a strict function that does not evaluate its argument |
| 10:43:08 | × | pyrex quits (~pyrex@user/pyrex) (Ping timeout: 246 seconds) |
| 10:43:27 | <ncf> | const undefined ? |
| 10:44:08 | <mauke> | :-) |
| 10:44:18 | → | pyrex joins (~pyrex@user/pyrex) |
| 10:44:19 | → | __monty__ joins (~toonn@user/toonn) |
| 10:45:22 | <zzz> | > const 'a' $ const undefined undefined |
| 10:45:24 | <lambdabot> | 'a' |
| 10:48:22 | × | thongpv quits (~thongpv87@14.246.240.163) (Ping timeout: 272 seconds) |
| 10:52:16 | → | marinelli joins (~marinelli@gateway/tor-sasl/marinelli) |
| 10:52:53 | × | marinelli quits (~marinelli@gateway/tor-sasl/marinelli) (Quit: marinelli) |
| 10:53:17 | → | marinelli joins (~marinelli@gateway/tor-sasl/marinelli) |
| 10:55:24 | <mauke> | > let unconst = fix in unconst (const a) |
| 10:55:25 | <lambdabot> | a |
| 10:57:30 | → | mmhat joins (~mmh@p200300f1c7235b63ee086bfffe095315.dip0.t-ipconnect.de) |
| 10:57:31 | × | mmhat quits (~mmh@p200300f1c7235b63ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit) |
| 10:57:37 | → | Guest74 joins (~Guest74@dyndsl-037-138-067-145.ewe-ip-backbone.de) |
| 10:57:49 | → | cheater joins (~Username@user/cheater) |
| 10:59:41 | → | Typedfern joins (~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net) |
| 11:02:40 | → | unit73e joins (~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) |
| 11:05:21 | → | MajorBiscuit joins (~MajorBisc@c-001-021-035.client.tudelft.eduvpn.nl) |
| 11:06:32 | → | thongpv joins (~thongpv87@2402:9d80:3f6:6d60:f56c:22a9:c5fd:d3ca) |
| 11:06:38 | <Jadesheit[m]> | that's so cursed |
| 11:09:55 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35) |
| 11:12:15 | × | acidjnk quits (~acidjnk@p200300d6e7137a39e4469cf2ea7b5c7c.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 11:14:02 | → | xsperry joins (~xs@86.32.66.142) |
| 11:14:09 | ← | xsperry parts (~xs@86.32.66.142) () |
| 11:14:22 | → | xsperry joins (~xs@user/xsperry) |
| 11:14:30 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35) (Ping timeout: 255 seconds) |
| 11:14:36 | → | king_gs joins (~Thunderbi@2806:103e:29:45ac:af0:afaf:29e7:dd60) |
| 11:15:34 | × | marinelli quits (~marinelli@gateway/tor-sasl/marinelli) (Remote host closed the connection) |
| 11:15:50 | → | marinelli joins (~marinelli@gateway/tor-sasl/marinelli) |
| 11:16:28 | × | Guest74 quits (~Guest74@dyndsl-037-138-067-145.ewe-ip-backbone.de) (Ping timeout: 260 seconds) |
| 11:17:38 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds) |
| 11:19:06 | <zzz> | i'll give you cursed |
| 11:19:14 | <zzz> | @type fix flip |
| 11:19:15 | <lambdabot> | a -> a -> c |
| 11:21:03 | × | unit73e quits (~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) (Ping timeout: 256 seconds) |
| 11:27:28 | → | xff0x joins (~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) |
| 11:28:06 | <zzz> | enjoy the rest of your day |
| 11:30:19 | <[exa]> | thank you for the curse |
| 11:30:30 | → | v0id_ptr joins (~adrift@user/ptr-frac7al/x-0038398) |
| 11:33:08 | × | mizlan quits (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
| 11:35:10 | × | Typedfern quits (~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net) (Remote host closed the connection) |
| 11:35:21 | → | enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
| 11:35:22 | <dminuoso> | maerwald[m]: Ah okay |
| 11:35:28 | → | cheater_ joins (~Username@user/cheater) |
| 11:36:16 | <dminuoso> | [exa]: Honestly, I view them with a double edged sword. The common parser libraries have pretty poor diagnostics or control thereof. |
| 11:36:31 | <dminuoso> | It's frequently very hard to emit good and legible errors |
| 11:36:44 | → | Typedfern joins (~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net) |
| 11:37:18 | <dminuoso> | And it's even more annoying to have a very inconsistent and poorly documented behavior as to which combinators freely backtrack and which ones dont. |
| 11:39:13 | × | cheater quits (~Username@user/cheater) (Ping timeout: 260 seconds) |
| 11:39:23 | cheater_ | is now known as cheater |
| 11:40:04 | × | enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
| 11:41:05 | × | xff0x quits (~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 260 seconds) |
| 11:42:52 | × | Typedfern quits (~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net) (Remote host closed the connection) |
| 11:49:48 | → | cheater_ joins (~Username@user/cheater) |
| 11:53:00 | → | xff0x joins (~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) |
| 11:53:11 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 11:53:13 | cheater_ | is now known as cheater |
| 11:55:38 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 12:00:48 | × | v0id_ptr quits (~adrift@user/ptr-frac7al/x-0038398) (Ping timeout: 260 seconds) |
| 12:03:18 | → | mizlan joins (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) |
| 12:08:31 | × | mizlan quits (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Remote host closed the connection) |
| 12:08:51 | → | acidjnk joins (~acidjnk@p54ad5adb.dip0.t-ipconnect.de) |
| 12:09:15 | → | mizlan joins (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) |
| 12:11:25 | → | boxscape_ joins (~boxscape_@213.52.37.155) |
| 12:15:45 | → | Blightmain joins (~Blightmai@203.29.154.219) |
| 12:16:00 | → | Blightmain_ joins (~Blightmai@203.29.154.219) |
| 12:21:31 | × | freeside quits (~mengwong@103.252.202.159) (Ping timeout: 248 seconds) |
| 12:24:17 | × | Blightmain_ quits (~Blightmai@203.29.154.219) (Quit: Leaving) |
| 12:24:17 | × | Blightmain quits (~Blightmai@203.29.154.219) (Quit: Leaving) |
| 12:31:37 | → | v0id_ptr joins (~adrift@user/ptr-frac7al/x-0038398) |
| 12:32:49 | → | Lycurgus joins (~juan@98.4.112.204) |
| 12:32:49 | × | Lycurgus quits (~juan@98.4.112.204) (Changing host) |
| 12:32:49 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 12:34:50 | → | Guest74 joins (~Guest74@dyndsl-037-138-067-145.ewe-ip-backbone.de) |
| 12:37:48 | → | Typedfern joins (~Typedfern@60.red-83-37-32.dynamicip.rima-tde.net) |
| 12:38:15 | → | use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:3d84:4b82:86a6:1821) |
| 12:40:30 | → | califax_ joins (~califax@user/califx) |
| 12:41:41 | × | gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 12:42:22 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 12:42:23 | califax_ | is now known as califax |
| 12:43:23 | × | v0id_ptr quits (~adrift@user/ptr-frac7al/x-0038398) (Ping timeout: 264 seconds) |
| 12:44:44 | × | use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:3d84:4b82:86a6:1821) (Quit: use-value) |
| 12:47:05 | → | freeside joins (~mengwong@103.252.202.159) |
| 12:54:51 | × | ChaiTRex quits (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex) |
| 12:55:15 | → | CiaoSen joins (~Jura@p200300c9571bac002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 13:07:53 | × | Guest74 quits (~Guest74@dyndsl-037-138-067-145.ewe-ip-backbone.de) (Ping timeout: 260 seconds) |
| 13:22:22 | → | razetime joins (~Thunderbi@49.207.222.244) |
| 13:23:32 | × | mizlan quits (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 272 seconds) |
| 13:28:20 | × | xff0x quits (~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 246 seconds) |
| 13:35:10 | → | smallArray joins (~smallArra@85.83.249.158) |
| 13:36:34 | × | king_gs quits (~Thunderbi@2806:103e:29:45ac:af0:afaf:29e7:dd60) (Ping timeout: 252 seconds) |
| 13:37:16 | <mauke> | > flip undefined `seq` () |
| 13:37:17 | <lambdabot> | () |
| 13:37:35 | <smallArray> | Hello! I saw that (ArrayArray# a) was removed in favor of having (Array# (Array# a)) do the same thing. Is the same true with SmallArray#? In my case, I am hoping to have a (SmallArray# (SmallArray# ByteArray#)) and I wanted to ask about it before trying to upgrade my GHC version. |
| 13:37:59 | × | boxscape_ quits (~boxscape_@213.52.37.155) (Quit: Connection closed) |
| 13:38:32 | <merijn> | smallArray: I think that's a #ghc or a mailing list question :p |
| 13:38:53 | <smallArray> | Okay, I'll try there. Thank you! |
| 13:39:39 | × | shapr quits (~user@68.54.166.125) (Ping timeout: 268 seconds) |
| 13:40:57 | × | marinelli quits (~marinelli@gateway/tor-sasl/marinelli) (Quit: marinelli) |
| 13:42:51 | <smallArray> | Do you know how to see the levity annotations on Array# by chance? I'm not sure how to find that in the source code. |
| 13:42:59 | → | ystael joins (~ystael@user/ystael) |
| 13:43:07 | <smallArray> | If I can find it on Array# I can just look at SmallArray# myself! |
| 13:43:56 | <smallArray> | Ah, I found it! |
| 13:43:58 | <smallArray> | https://downloads.haskell.org/~ghc/9.4.4/docs/users_guide/9.4.1-notes.html#ghc-prim-library |
| 13:45:25 | <zzz> | @type flip undefined |
| 13:45:26 | <lambdabot> | b -> a -> c |
| 13:45:29 | <zzz> | what? |
| 13:46:01 | <zzz> | oh i get it |
| 13:46:15 | <zzz> | @type undefined :: a -> b |
| 13:46:16 | <lambdabot> | a -> b |
| 13:46:20 | <zzz> | ... |
| 13:46:41 | <mauke> | :t flip id |
| 13:46:42 | <lambdabot> | b -> (b -> c) -> c |
| 13:47:29 | <zzz> | stop |
| 13:47:57 | <ncf> | > fix error |
| 13:47:59 | <lambdabot> | "*Exception: *Exception: *Exception: *Exception: *Exception: *Exception: *Ex... |
| 13:48:41 | zzz | sighs |
| 13:49:54 | <mauke> | :t (.) (.) (.) |
| 13:49:55 | <lambdabot> | (b -> c) -> (a1 -> a2 -> b) -> a1 -> a2 -> c |
| 13:50:59 | → | mizlan joins (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) |
| 13:51:04 | ← | smallArray parts (~smallArra@85.83.249.158) () |
| 13:55:11 | × | mizlan quits (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
| 13:55:15 | <Jadesheit[m]> | that's so cursed |
| 13:55:26 | <zzz> | mauke: that's the total recall combinator |
| 13:55:31 | <Jadesheit[m]> | > fix (.) |
| 13:55:32 | <lambdabot> | error: |
| 13:55:32 | <lambdabot> | • Occurs check: cannot construct the infinite type: c ~ a -> c |
| 13:55:32 | <lambdabot> | Expected type: ((a -> b) -> a -> c) -> (a -> b) -> a -> c |
| 13:55:52 | <ncf> | aka fmap fmap fmap |
| 13:56:19 | <Jadesheit[m]> | > fix ((.) (.)) |
| 13:56:20 | <lambdabot> | error: |
| 13:56:20 | <lambdabot> | • Occurs check: cannot construct the infinite type: b ~ a1 -> b |
| 13:56:20 | <lambdabot> | Expected type: (a -> (a1 -> b) -> a1 -> c) |
| 13:57:39 | <ncf> | :t fmap fmap fmap fmap fmap fmap fmap fmap |
| 13:57:41 | <lambdabot> | (Functor f1, Functor f2, Functor f3) => (a -> b) -> f1 (f2 (f3 a)) -> f1 (f2 (f3 b)) |
| 13:58:27 | <Jadesheit[m]> | > fix fmap |
| 13:58:29 | <lambdabot> | error: |
| 13:58:29 | <lambdabot> | • Occurs check: cannot construct the infinite type: b ~ f b |
| 13:58:29 | <lambdabot> | Expected type: (f a -> f b) -> f a -> f b |
| 14:04:13 | → | jero98772 joins (~jero98772@190.158.28.44) |
| 14:05:06 | <ncf> | if it ain't broke... |
| 14:09:25 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 14:09:31 | → | mizlan joins (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) |
| 14:10:25 | × | Ranhir quits (~Ranhir@157.97.53.139) (Read error: Connection reset by peer) |
| 14:11:40 | → | shriekingnoise joins (~shrieking@186.137.175.87) |
| 14:12:42 | → | Ranhir joins (~Ranhir@157.97.53.139) |
| 14:21:18 | → | Guest9918 joins (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 14:24:26 | <Guest9918> | How to teach beginners how to update list element? e.g.: update the 2nd element? |
| 14:25:01 | <Guest9918> | either build a new list or using the lens library |
| 14:25:18 | <Guest9918> | but it seems complicated |
| 14:25:34 | <Guest9918> | the lens lib is very heavy |
| 14:26:31 | <geekosaur> | there is microlems… but lens-like libraries are kinda wasted on lists |
| 14:26:44 | <geekosaur> | and really the correct answer is lists are not meant to be updated |
| 14:26:59 | <geekosaur> | you want Vector or Array for that |
| 14:27:25 | <Guest9918> | so mutable vector or array, right? |
| 14:27:33 | <geekosaur> | yeh |
| 14:28:02 | <Guest9918> | i see thanks |
| 14:32:09 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz) |
| 14:32:55 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 14:32:56 | <geekosaur> | in fact, generally this is a good point to introduce data structures |
| 14:33:36 | <geekosaur> | we have not only immutable and mutable Array and Vector but also Map, HashMap, priority queues, etc. |
| 14:34:12 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 14:37:38 | <geekosaur> | alsi, lists are loops encoded as data. and "…encoded as data" is a thing you do a lot in functional programming |
| 14:39:49 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:39:51 | × | acidjnk quits (~acidjnk@p54ad5adb.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 14:40:14 | → | acidjnk joins (~acidjnk@p200300d6e7137a131414127c3bff1106.dip0.t-ipconnect.de) |
| 14:46:58 | <Guest9918> | loops encoded as data, this will take some time to absorb its meaning |
| 14:54:52 | <[exa]> | Guest9918: perhaps "generators" could be a closer concept from python&co. Lists usually do not really materialize unless you need them to, because of laziness. So `map (+1) [1..10]` can be naively viewed as a generator that asks for inputs from the generator [1..10] and adds 1 to that. |
| 14:55:15 | <geekosaur> | yeh, it's a pretty big leap from procedural or OO if you're used to those |
| 14:56:28 | <[exa]> | IIRC, in python you can do something that is technically very similar as `for i in range(10): yield i+1` |
| 14:57:09 | <mauke> | does python have something like generator comprehensions? |
| 14:57:24 | <jean-paul[m]> | yes, eg (i + 1 for i in range(10)) |
| 14:57:55 | <jean-paul[m]> | a significant difference between lazy lists and generators is that realizing the value of a generator mutates it and consumes the values, though |
| 14:58:12 | <mauke> | > take 5 [ i + 1 | i <- [1 ..] ] |
| 14:58:14 | <lambdabot> | [2,3,4,5,6] |
| 15:03:39 | <eldritchcookie[4> | i am getting a error message saying an instance overlaps with itself |
| 15:04:09 | <eldritchcookie[4> | Overlapping instances for P.PMonad Cont... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/98088d774a7abd2da5c93949e7075ec157fae7d0>) |
| 15:05:25 | <eldritchcookie[4> | any idea what could be causing this |
| 15:05:27 | <eldritchcookie[4> | ? |
| 15:15:45 | × | mizlan quits (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
| 15:18:36 | ← | ryantrinkle parts (~ryantrink@209.91.238.110) () |
| 15:21:55 | × | MajorBiscuit quits (~MajorBisc@c-001-021-035.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.6) |
| 15:23:05 | → | MajorBiscuit joins (~MajorBisc@83.22.42.172.ipv4.supernova.orange.pl) |
| 15:23:14 | <c_wraith> | eldritchcookie[4: any chance you've got that module as a source dependency two different ways? |
| 15:24:48 | × | MajorBiscuit quits (~MajorBisc@83.22.42.172.ipv4.supernova.orange.pl) (Client Quit) |
| 15:26:27 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1) |
| 15:26:31 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 15:29:55 | → | mizlan joins (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) |
| 15:30:32 | <eldritchcookie[4> | no idea what caused that rerunning hpack fixed it |
| 15:30:54 | <geekosaur> | yet another reason not to trust hpack… |
| 15:30:54 | <eldritchcookie[4> | when should i use normal unit tests? |
| 15:32:10 | <eldritchcookie[4> | basically i want to test my library testing properties makes sense to me but when should i use a unit test? |
| 15:32:43 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
| 15:33:04 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 15:33:40 | → | tremon joins (~tremon@83-85-213-108.cable.dynamic.v4.ziggo.nl) |
| 15:39:35 | → | kee joins (~~kee@user/wizzwizz4) |
| 15:40:43 | <kee> | Is there a simple web server that doesn't require {-# LANGUAGE OverloadedStrings #-} ? |
| 15:41:07 | <lyxia> | eldritchcookie[4: you can use docspec to make examples that double as unit tests |
| 15:41:44 | <mauke> | doesn't OverloadedStrings just add a method call that you could write manually? |
| 15:42:09 | <lyxia> | yes that's all it does |
| 15:42:46 | <kee> | Huh. Thanks. |
| 15:43:03 | <kee> | fromString? |
| 15:44:04 | <lyxia> | eldritchcookie[4: also, the properties may not constrain the implementation enough. If you test a Semigroup instance only for associativity, you can trivially do x <> _ = x and satisfy associativity. |
| 15:45:25 | <merijn> | kee: You probably just want to use Data.Text.pack over fromString, but yes |
| 15:50:40 | <[exa]> | I guess fromString saves a dependency |
| 15:50:51 | <[exa]> | (direct one) |
| 15:51:27 | <kritzefitz> | eldritchcookie[4: Unit test can be useful to implement regression tests that would be hard to implement as properties. |
| 15:52:16 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 15:54:54 | × | Guest9918 quits (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 272 seconds) |
| 15:56:09 | → | potash joins (~foghorn@user/foghorn) |
| 15:56:27 | → | mechap1 joins (~mechap@user/mechap) |
| 15:57:41 | → | ddellacosta joins (~ddellacos@143.244.47.100) |
| 15:59:09 | × | mechap quits (~mechap@user/mechap) (Ping timeout: 260 seconds) |
| 16:00:11 | × | mechap1 quits (~mechap@user/mechap) (Client Quit) |
| 16:00:32 | → | mechap joins (~mechap@user/mechap) |
| 16:00:37 | × | mei_ quits (~mei@user/mei) (Quit: mei_) |
| 16:00:53 | → | mei joins (~mei@user/mei) |
| 16:05:09 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 16:06:23 | × | CiaoSen quits (~Jura@p200300c9571bac002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 16:10:26 | → | CiaoSen joins (~Jura@p549cb938.dip0.t-ipconnect.de) |
| 16:11:51 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 16:11:52 | × | mei quits (~mei@user/mei) (Quit: mei) |
| 16:20:18 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 16:22:36 | × | razetime quits (~Thunderbi@49.207.222.244) (Quit: razetime) |
| 16:25:39 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 16:27:11 | × | freeside quits (~mengwong@103.252.202.159) (Ping timeout: 264 seconds) |
| 16:33:40 | × | jmorris quits (uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 16:35:59 | → | underlap joins (~user@79-73-232-86.dynamic.dsl.as9105.com) |
| 16:36:04 | × | mizlan quits (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 272 seconds) |
| 16:37:11 | → | chele joins (~chele@user/chele) |
| 16:40:57 | <underlap> | Hi there. I've been using Rust and now now trying to learn Haskell more seriously. Can I embed hspec test modules in the same files as the runtime code I want to test? You see having parallel source and test directory trees feels old hat and reminds me of Java. I'd like hspec to be able to find and run all the test modules automatically. |
| 16:41:03 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 265 seconds) |
| 16:41:20 | <merijn> | underlap: Not really, tbh |
| 16:41:36 | <underlap> | Ok, I'll have to live with it then. Thanks. |
| 16:49:59 | → | mizlan joins (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) |
| 16:53:11 | → | jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 16:56:27 | <eldritchcookie[4> | use template haskell you can put arbitrary io actions inside template haskell |
| 16:57:15 | <monochrom> | Sure. I joked about playing a movie when waiting for compiling. |
| 16:57:50 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Client Quit) |
| 16:58:03 | <geekosaur> | some test engines have the ability to be embedded though |
| 16:58:23 | <EvanR> | TH which spawns a video player? |
| 16:58:38 | <monochrom> | I should have joked about mining bitcoins when waiting for compiling. >:) |
| 16:58:42 | <eldritchcookie[4> | if you want sure |
| 16:59:32 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 17:01:03 | → | malc joins (~malc@109-252-130-144.dynamic.spd-mgts.ru) |
| 17:01:28 | → | freeside joins (~mengwong@103.252.202.159) |
| 17:01:34 | ← | malc parts (~malc@109-252-130-144.dynamic.spd-mgts.ru) (ERC 5.4.1 (IRC client for GNU Emacs 29.0.50)) |
| 17:02:29 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 246 seconds) |
| 17:02:49 | → | thongpv87 joins (~thongpv87@2402:9d80:3b5:d7b1:6629:a35e:8066:b5e3) |
| 17:03:40 | <eldritchcookie[4> | i want to formally prove properties of my programs, specifically for proofs and considering my experience with haskell is agda or coq better? agda seems less focused on proofs but it is similar to haskell, however the wikipedia proof assistant page says it doesn't have proof automation so i am hesitant to waste time learning it, just to find out i have to write proofs by hand. |
| 17:03:42 | × | td_ quits (~td@83.135.9.22) (Ping timeout: 255 seconds) |
| 17:04:44 | × | nschoe quits (~q@2a01:e0a:8e:a190:79dc:4967:2fb4:bf93) (Ping timeout: 265 seconds) |
| 17:05:29 | × | thongpv quits (~thongpv87@2402:9d80:3f6:6d60:f56c:22a9:c5fd:d3ca) (Ping timeout: 255 seconds) |
| 17:06:11 | × | underlap quits (~user@79-73-232-86.dynamic.dsl.as9105.com) (Remote host closed the connection) |
| 17:06:24 | → | underlap joins (~user@79-73-232-86.dynamic.dsl.as9105.com) |
| 17:09:31 | → | nschoe joins (~q@2a01:e0a:8e:a190:667f:85b9:e241:9bc7) |
| 17:10:42 | → | td_ joins (~td@83.135.9.22) |
| 17:11:19 | × | nschoe quits (~q@2a01:e0a:8e:a190:667f:85b9:e241:9bc7) (Client Quit) |
| 17:12:37 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 17:15:39 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 17:17:28 | → | titibandit joins (~titibandi@xdsl-89-0-163-79.nc.de) |
| 17:20:40 | <underlap> | TH looks very interesting, but since I might like to share my code with students doing their first functional programming module, I'd better not stray too far off piste. |
| 17:23:52 | <dolio> | eldritchcookie[4: There's some new Agda stuff specifically designed for clean mapping back to Haskell, so that you can take advantage of moderately fancier features of Agda, but still get readable Haskell out. |
| 17:24:00 | <dolio> | It depends a lot on what you want to do, though. |
| 17:24:51 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:3054:ac62:76b7:6154) (Quit: WeeChat 2.8) |
| 17:25:35 | <geekosaur> | huh. wasn't agda the one that compiled to haskell more or less by wrapping everything in `unsafeCoerce`? |
| 17:25:55 | <dolio> | Yes, I think that's how the older compiler works. |
| 17:26:24 | <dolio> | But there's a new one that restricts the Agda features you're allowed to use so that there's a more obvious mapping back to Haskell, just by erasing certain things. |
| 17:26:40 | <dolio> | https://jesper.sikanda.be/files/reasonable-agda-is-correct-haskell.pdf |
| 17:29:33 | → | nut joins (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 17:31:31 | × | xsperry quits (~xs@user/xsperry) (Ping timeout: 268 seconds) |
| 17:34:39 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 17:35:27 | → | king_gs joins (~Thunderbi@187.201.110.169) |
| 17:37:46 | → | ian2 joins (~ian@2607:fea8:2d1f:8400::55bd) |
| 17:38:02 | → | Tuplanolla joins (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) |
| 17:38:05 | ian2 | is now known as qutebrowsershill |
| 17:42:38 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35) |
| 17:42:53 | × | raym quits (~ray@user/raym) (Quit: leaving) |
| 17:43:56 | × | mbuf quits (~Shakthi@49.205.80.42) (Quit: Leaving) |
| 17:49:44 | × | iteratee_ quits (~kyle@162.218.222.107) (Ping timeout: 246 seconds) |
| 17:52:57 | → | iteratee joins (~kyle@162.218.222.107) |
| 17:53:17 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 17:57:20 | × | merijn quits (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds) |
| 17:57:39 | × | qutebrowsershill quits (~ian@2607:fea8:2d1f:8400::55bd) (Quit: WeeChat 3.7.1) |
| 18:00:19 | × | avicenzi quits (~avicenzi@2a00:ca8:a1f:b004::c32) (Ping timeout: 265 seconds) |
| 18:00:30 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 18:01:37 | × | dsrt^ quits (~dsrt@76.145.185.103) (Remote host closed the connection) |
| 18:03:32 | × | mechap quits (~mechap@user/mechap) (Ping timeout: 255 seconds) |
| 18:03:55 | × | king_gs quits (~Thunderbi@187.201.110.169) (Read error: Connection reset by peer) |
| 18:05:23 | → | mechap joins (~mechap@user/mechap) |
| 18:05:32 | × | CiaoSen quits (~Jura@p549cb938.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 18:05:53 | → | king_gs joins (~Thunderbi@2806:103e:29:45ac:af0:afaf:29e7:dd60) |
| 18:06:44 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 18:06:51 | × | bsima quits (~bsima@143.198.118.179) (Quit: ZNC 1.8.2 - https://znc.in) |
| 18:07:30 | → | bsima joins (~bsima@143.198.118.179) |
| 18:10:25 | <underlap> | Looking at an example repo from hspec, I see it uses hpack rather than vanilla Cabal. Which is the commonly accepted best practice for a package format? |
| 18:11:59 | <geekosaur> | you can install hpack by itself and run it to produce a cabal file |
| 18:12:33 | <geekosaur> | although these days stack users are actively encouraged to distribute a cabal file rather than require that of users |
| 18:12:45 | <sclv> | yep, even when people use hspec its recommended they also check in the generated cabal file |
| 18:13:24 | <sclv> | and as far as "commonly accepted" people do it both ways, but i'd say its only a minority of packages that use hspec -- cabal files themselves provide nearly all feature extensions hspec has these days |
| 18:13:47 | <geekosaur> | do you mean hpack there (twice)? |
| 18:13:52 | <geekosaur> | 3 times |
| 18:13:55 | <sclv> | oh yep, lmao |
| 18:14:19 | × | troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 252 seconds) |
| 18:14:25 | <underlap> | phew, that was getting confusing |
| 18:15:33 | <underlap> | So perhaps a decent approach is to use hpack to get started, generate a cabal file, and then delete the hpack stuff and maintain the cabal file? |
| 18:16:01 | <geekosaur> | or hold onto hpack in case this comes up again later |
| 18:16:46 | <sclv> | i mean i'd advocate just using a cabal file directly, no reason to use hspec imho |
| 18:16:56 | <sclv> | `cabal init` gives you a nice cabal file with lots of comments |
| 18:16:59 | <underlap> | I was assuming hpack doesn't do a good job of merging changes into the cabal file and I was trying to avoid dual maintenance. |
| 18:17:13 | <sclv> | it doesn't merge changes in! it just generates a new one. |
| 18:17:24 | <sclv> | any edits you make to the cabal file get stomped when you run hpack again |
| 18:18:12 | → | troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua) |
| 18:18:49 | <underlap> | Right - as expected. My only reason for considering using hpack is newbieness and not knowing all the ins and outs of cabal files just yet. I need to set up src and test directories and line up the modules for hspec-discover and I feel I could waste some time discovering conventions which hpack might automate. |
| 18:19:15 | → | nasrudin__ joins (~nasrudin_@107-132-214-117.lightspeed.sndgca.sbcglobal.net) |
| 18:20:31 | → | econo joins (uid147250@user/econo) |
| 18:21:40 | <sclv> | fair dos. i don't recall the details of hspec-discover but i don't think its that tricky. my advice as a newb is to not mess with it at all though and just use the bog standard stuff until you feel more comfortable. no reason to learn too many things at once, even if it saves a little boilerplate. |
| 18:23:03 | <sclv> | for testing, i recommend not to use something like hspec directly, but instead an integrated test framework like tasty, whose syntax may also be a bit less clunky https://hackage.haskell.org/package/tasty |
| 18:23:22 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 18:24:24 | → | merijn joins (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
| 18:24:25 | <underlap> | That's good advice. I'm new to haskell, but an old lag at development, so I don't like writing/maintaining excess boilerplate. I looked at tasty earlier, but am put off because it supports multiple test frameworks. I'd prefer to pick one, like hspec, and stick with it. I've used similar frameworks to hspec in the past, so I like the style. |
| 18:25:26 | <sclv> | even for one framework alone, i think tasty has nice ergonomics and a good runner. but i'd also really recommend trying quickcheck-style tests if you haven't used them yet, they're really a game changer |
| 18:26:01 | <underlap> | Ok, I'll certainly bear that in mind, thanks! Gotta run off and cook... |
| 18:27:11 | → | CiaoSen joins (~Jura@p200300c9572e35002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 18:30:49 | × | underlap quits (~user@79-73-232-86.dynamic.dsl.as9105.com) (Ping timeout: 260 seconds) |
| 18:32:48 | × | CiaoSen quits (~Jura@p200300c9572e35002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 18:33:47 | × | freeside quits (~mengwong@103.252.202.159) (Ping timeout: 264 seconds) |
| 18:34:33 | × | mizlan quits (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
| 18:39:51 | <Inst__> | can someone help me with layout rules in Haskell? |
| 18:39:56 | <Inst__> | I'm trying to translate everything to explicit braces |
| 18:40:20 | <Inst__> | the problem is, I can't get names to assume a brace form |
| 18:41:11 | <geekosaur> | I don't understand what you mean by the problem |
| 18:42:35 | <geekosaur> | > do { let { a = 5 }; print a } -- which won't print but shows how this works |
| 18:42:36 | <lambdabot> | <IO ()> |
| 18:44:10 | nckx | is now known as guix |
| 18:44:18 | guix | is now known as nck |
| 18:44:19 | nck | is now known as nckx |
| 18:45:25 | <Inst__> | main = print "Hello World!" works, but main = {print "Hello World!"} isn't |
| 18:45:35 | <Inst__> | {main = print "Hello World!"} doesn't work either |
| 18:45:38 | <Inst__> | except in GHCI |
| 18:46:01 | <geekosaur> | because layout requires a layout-introducing keyword such as `let` or `do` or `case` |
| 18:46:15 | <Inst__> | or where, in particular |
| 18:46:20 | <geekosaur> | braces elsewhere are understood as record syntax |
| 18:46:28 | <geekosaur> | yes, `where` also introduces layout |
| 18:46:39 | <Inst__> | i guess the better way to think of it is that all names are one-liners fundamentally |
| 18:46:46 | <geekosaur> | so `main = do { print "Hello World!" } is valid |
| 18:48:08 | <Inst__> | the idea is that i want to be able to teach whitespace layout rules via braces |
| 18:48:28 | <geekosaur> | then you need to know what introduces layout |
| 18:48:29 | × | johnw quits (~johnw@2600:1700:cf00:db0:bccc:cdbd:ef47:1293) (Quit: ZNC - http://znc.in) |
| 18:48:39 | <Inst__> | "module Main where" |
| 18:49:13 | → | freeside joins (~mengwong@103.252.202.159) |
| 18:49:38 | <[exa]> | I always read that as a question |
| 18:49:47 | <geekosaur> | ``The layout (or “off-side”) rule takes effect whenever the open brace is omitted after the keyword where, let, do, or of.`` |
| 18:50:06 | <geekosaur> | the open brace must immediately follow the `where` in that case |
| 18:50:24 | <geekosaur> | you can't have type signatures, eimports, etc. before it |
| 18:50:54 | <geekosaur> | in particular, you also can't have a newline because that switches it to layout mode |
| 18:54:36 | → | mizlan joins (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) |
| 18:56:19 | <mauke> | the newline bit would surprise me |
| 18:56:24 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 18:56:47 | <geekosaur> | why? at that point it has to look for indentation to see how the layout block is defined |
| 18:57:16 | <geekosaur> | it's committed and can't go back |
| 18:57:53 | × | merijn quits (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds) |
| 18:59:01 | <mauke> | ^ works here |
| 18:59:02 | mauke | sent a haskell code block: https://libera.ems.host/_matrix/media/v3/download/libera.chat/a1c6f39a2bb6b8cf94af2da4831ecab7ccf7b1da |
| 19:01:22 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35) (Remote host closed the connection) |
| 19:01:55 | <geekosaur> | Inst__, can you show the full module which triggers your error with the braces? |
| 19:04:15 | <mauke> | "I guess the better way to think of it is that all names are one-liners fundamentally" <- or in other words, names are bound to (single) expressions |
| 19:04:26 | <Inst__> | i think i tossed mine |
| 19:04:48 | <mauke> | do notation ultimately turns into a simple expression, too |
| 19:05:04 | <Inst__> | yeah, i know |
| 19:05:14 | <Inst__> | was expecting to be able to show every term as its own brace-set |
| 19:05:56 | <mauke> | ah |
| 19:06:05 | <mauke> | yeah, that's not how the syntax works |
| 19:06:06 | × | sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
| 19:06:48 | × | fizbin quits (~fizbin@user/fizbin) (Ping timeout: 272 seconds) |
| 19:07:22 | → | sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
| 19:09:27 | → | merijn joins (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
| 19:11:25 | <mauke> | I guess do notation is "weird" in that (like the other layout keywords) it desugars formatting into braces and semicolons, but then (unlike the others) it gets rid of the braces/semicolons again |
| 19:12:28 | <mauke> | for the other layout keywords, braces/semicolons are the real syntax; it is just do that is entirely sugar |
| 19:13:28 | × | beefbambi quits (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer) |
| 19:13:32 | <monochrom> | https://www.haskell.org/onlinereport/haskell2010/haskellch10.html#x17-17800010.3 teaches layout rules by braces. |
| 19:14:07 | × | merijn quits (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds) |
| 19:15:06 | → | beefbambi joins (~beefbambi@183.82.178.237) |
| 19:15:41 | → | beteigeuze joins (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
| 19:23:13 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 19:23:19 | × | beefbambi quits (~beefbambi@183.82.178.237) (Ping timeout: 260 seconds) |
| 19:23:42 | → | beefbambi joins (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) |
| 19:25:04 | × | beefbambi quits (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer) |
| 19:25:21 | → | beefbambi joins (~beefbambi@183.82.178.237) |
| 19:27:58 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35) |
| 19:28:32 | → | notzmv joins (~zmv@user/notzmv) |
| 19:28:52 | × | titibandit quits (~titibandi@xdsl-89-0-163-79.nc.de) (Remote host closed the connection) |
| 19:29:48 | → | titibandit joins (~titibandi@xdsl-89-0-163-79.nc.de) |
| 19:31:36 | → | cheater_ joins (~Username@user/cheater) |
| 19:34:47 | × | cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds) |
| 19:34:52 | cheater_ | is now known as cheater |
| 19:36:33 | → | son0p joins (~ff@2604:3d08:5b7f:5540:98a9:2169:15a1:4c7f) |
| 19:42:03 | × | beefbambi quits (~beefbambi@183.82.178.237) (Read error: Connection reset by peer) |
| 19:42:22 | → | beefbambi joins (~beefbambi@37.19.205.149) |
| 19:44:56 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 19:46:41 | → | panovia joins (~user@user/siracusa) |
| 19:52:26 | → | unit73e joins (~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) |
| 20:06:22 | × | vulpine quits (xfnw@tilde.team) (Quit: Connection reset by purr) |
| 20:10:36 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35) (Remote host closed the connection) |
| 20:12:44 | → | tvandinther joins (~tvandinth@2404:4408:872e:6000:e419:79c8:af6:d84c) |
| 20:14:02 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35) |
| 20:16:42 | <VOID[m]> | Fellas I have a problem with stack build, is it ok to ask here, or is there some more specific channel? |
| 20:17:06 | <geekosaur> | here is fine |
| 20:17:12 | <VOID[m]> | Stack cannot build, gives me linking error /usr/bin/ld.gold: error: HSasn1-types-0.3.4-KIoPqxccKSq8AWVhQf2suX: malformed archive header at 8 |
| 20:17:28 | <geekosaur> | there is #haskell-stack but I don't think it's very active |
| 20:18:25 | <geekosaur> | that sounds very wrong |
| 20:19:36 | <geekosaur> | it sounds like somehow the linker has been passed the package directory instead of the archive file within it |
| 20:19:52 | <geekosaur> | (the file name should end in `.a` or `.so`) |
| 20:20:30 | <geekosaur> | hm, except that wouldn't have `HS` prefix |
| 20:20:59 | <VOID[m]> | I have no idea what to do with that or how to debug it... cabal build seems to work, when run in the same directory, which is even more surprising (unless I don't understand something) |
| 20:21:00 | <VOID[m]> | I don't think it is foreign, I thought asn1-types is pure Haskell? |
| 20:21:18 | × | king_gs quits (~Thunderbi@2806:103e:29:45ac:af0:afaf:29e7:dd60) (Quit: king_gs) |
| 20:21:28 | <geekosaur> | it's trying to link a Haskell library, certainly |
| 20:21:35 | <geekosaur> | but the library is corrupt |
| 20:22:18 | <VOID[m]> | I think it's all part of http-client, the tls part uses asn1-types |
| 20:22:33 | <VOID[m]> | that's basically all I was able to debug by myself :P |
| 20:22:37 | <geekosaur> | it should start with `#<arch>\n` |
| 20:23:21 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 20:24:03 | <geekosaur> | sadly I don't seem to have asn1-types built locally so I don't have much else to go on |
| 20:24:16 | <VOID[m]> | I can give you more logs, lemme just strip some names from them |
| 20:24:43 | × | beefbambi quits (~beefbambi@37.19.205.149) (Ping timeout: 248 seconds) |
| 20:25:03 | × | unit73e quits (~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) (Ping timeout: 256 seconds) |
| 20:25:06 | → | werneta joins (~werneta@137.79.225.119) |
| 20:25:33 | → | beefbambi joins (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) |
| 20:25:56 | VOID[m] | sent a code block: https://libera.ems.host/_matrix/media/v3/download/libera.chat/86b7151e316a961e960a57909bcc90746570df6f |
| 20:25:57 | <VOID[m]> | How is it possible, that cabal build works but stack build doesn't? |
| 20:25:58 | × | beefbambi quits (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer) |
| 20:26:00 | <VOID[m]> | I thought cabal stuff in the project is generated from stack stuff? |
| 20:26:16 | → | beefbambi joins (~beefbambi@183.82.178.237) |
| 20:26:55 | <geekosaur> | that's not the point here. the point is your `asn1-types` package in stack's store is corrupt |
| 20:26:55 | nckx | is now known as jeffbezos |
| 20:27:02 | jeffbezos | is now known as nckx |
| 20:27:19 | <geekosaur> | the one in cabal's store (which is different) isn't |
| 20:27:33 | <VOID[m]> | can I clean it? redownload? recompile? anything like that? I tried stack clean --full |
| 20:27:53 | <VOID[m]> | Can I replace it with the cabal one by hand maybe? Or find a difference? |
| 20:27:56 | <VOID[m]> | What are the steps to debug that... |
| 20:28:14 | <geekosaur> | I don't know stack well enough to say anything beyond removing all of `~/.stack` which is probably overkill |
| 20:28:36 | <geekosaur> | and no, you can't replace it with the one in `~/.cabal/store` |
| 20:28:55 | × | jrm quits (~jrm@user/jrm) (Quit: ciao) |
| 20:28:57 | <geekosaur> | anything linked against stack's version will break |
| 20:29:14 | → | jrm joins (~jrm@user/jrm) |
| 20:30:01 | <geekosaur> | granting anything linked against stack's version is broken now, but you can force rebuilds by removing `~/.stack` or something underneath it; dropping in an incompatible build will not be detected or fixed |
| 20:30:53 | <VOID[m]> | am trying rm -rf ~/.stack |
| 20:31:19 | × | jrm quits (~jrm@user/jrm) (Client Quit) |
| 20:31:41 | → | jrm joins (~jrm@user/jrm) |
| 20:31:43 | × | jrm quits (~jrm@user/jrm) (Remote host closed the connection) |
| 20:32:58 | <geekosaur> | you should have saved the config file first |
| 20:33:26 | <VOID[m]> | I haven't modified anything in that dir ever by hand, so that should not be a problem, should it? |
| 20:33:40 | <geekosaur> | hm, maybe it's okay |
| 20:33:54 | → | jrm joins (~jrm@user/jrm) |
| 20:34:10 | <VOID[m]> | Well too late to backup anything in there now anyway :P |
| 20:35:05 | × | jrm quits (~jrm@user/jrm) (Client Quit) |
| 20:35:53 | × | tvandinther quits (~tvandinth@2404:4408:872e:6000:e419:79c8:af6:d84c) (Ping timeout: 260 seconds) |
| 20:36:17 | → | jrm joins (~jrm@user/jrm) |
| 20:37:01 | × | jrm quits (~jrm@user/jrm) (Remote host closed the connection) |
| 20:40:01 | → | jrm joins (~jrm@user/jrm) |
| 20:41:08 | <VOID[m]> | geekosaur: it worked |
| 20:41:27 | <VOID[m]> | I am surprised stack clean --full doesn't clean all cleanable things... |
| 20:41:44 | <geekosaur> | you generally don't want it to nuke everything you've built |
| 20:41:55 | <geekosaur> | you will be doing a lot of rebuilding in that case |
| 20:41:59 | <VOID[m]> | That's why I used --full :P |
| 20:42:09 | × | jrm quits (~jrm@user/jrm) (Client Quit) |
| 20:42:27 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:4dbe:e8ec:bab1:6e35) (Remote host closed the connection) |
| 20:42:59 | <VOID[m]> | I am pretty sure by default it's shallow, not full |
| 20:44:06 | → | coot joins (~coot@213.134.171.3) |
| 20:44:40 | × | phma quits (phma@2001:5b0:211b:f318:7482:d8c2:3f03:7c4c) (Read error: Connection reset by peer) |
| 20:44:50 | <dmj`> | is anyone aware of any research related to a dependently type lambda calculus that also has row types? sounds interesting |
| 20:45:17 | → | jrm joins (~jrm@user/jrm) |
| 20:45:24 | × | jrm quits (~jrm@user/jrm) (Remote host closed the connection) |
| 20:45:33 | → | phma joins (phma@2001:5b0:2144:7708:13f:34e:4754:4d0e) |
| 20:48:33 | → | jrm joins (~jrm@user/jrm) |
| 20:49:03 | × | mizlan quits (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
| 20:49:36 | × | perrierjouet quits (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.7.1) |
| 20:50:38 | → | perrierjouet joins (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) |
| 20:50:44 | → | vulpine joins (xfnw@tilde.team) |
| 20:55:46 | × | freeside quits (~mengwong@103.252.202.159) (Ping timeout: 265 seconds) |
| 21:03:02 | <eldritchcookie[4> | with callCC is there any way to escape with the exception continuation? |
| 21:06:01 | × | jrm quits (~jrm@user/jrm) (Quit: ciao) |
| 21:06:24 | → | jrm joins (~jrm@user/jrm) |
| 21:06:33 | → | cheater_ joins (~Username@user/cheater) |
| 21:07:48 | → | freeside joins (~mengwong@103.252.202.159) |
| 21:09:31 | × | cheater quits (~Username@user/cheater) (Ping timeout: 248 seconds) |
| 21:09:40 | cheater_ | is now known as cheater |
| 21:09:45 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 21:09:50 | × | cheater quits (~Username@user/cheater) (Client Quit) |
| 21:10:29 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 21:11:34 | × | nut quits (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 272 seconds) |
| 21:13:08 | × | werneta quits (~werneta@137.79.225.119) (Ping timeout: 246 seconds) |
| 21:14:59 | → | infty joins (~infty@80-62-117-240-mobile.dk.customer.tdc.net) |
| 21:15:03 | → | Guest9918 joins (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 21:15:09 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 21:16:21 | <infty> | Hello channel! I'm trying to learn some Haskell so I'll probably ask questions here in the near future, so I thought I'd start with greetings |
| 21:16:45 | <geekosaur> | hello! |
| 21:16:57 | × | jrm quits (~jrm@user/jrm) (Quit: ciao) |
| 21:17:16 | → | jrm joins (~jrm@user/jrm) |
| 21:17:43 | <yushyin> | hi and welcome infty :) |
| 21:17:53 | <eldritchcookie[4> | hello |
| 21:18:28 | × | fserucas quits (~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Ping timeout: 260 seconds) |
| 21:18:31 | <jle``> | iqubic: ah yeah you can't really directly convert an infinite haskell list into a mutable list using the mutable library, but the library basically gives you poitner manipulation so you can create a linked list with a cycle which is infinite if you iterate over it. i'm not sure if it will freeze properly though |
| 21:18:33 | <jle``> | infty: welcome :) |
| 21:18:41 | × | jle`` quits (~jusle@user/jle/x-3894663) (Quit: WeeChat 3.6) |
| 21:19:17 | <iqubic> | jle``: The library is actually broken, due to Vinyl being updated eventually. |
| 21:20:01 | → | cheater joins (~Username@user/cheater) |
| 21:22:20 | <sm> | VOID: I hear that, but clean is for cleaning a stack project, not the machine's stack installation. (And --full is a silly wart IMHO) |
| 21:23:11 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 21:23:14 | <sm> | stack manages projects, ghcup/brew/apt/... manages stack |
| 21:23:44 | <geekosaur> | aren't there tools to manage stack's package store? I know there are a few for cabal |
| 21:24:01 | <VOID[m]> | sm: It feels like there should be some command for cleaning stack cache, clean would be intuitive |
| 21:24:10 | <sm> | right, and yet another tool manages stack's data... stack-clean-old is one |
| 21:24:31 | <sm> | should that be built in to stack ? Yes I think you're right |
| 21:24:35 | <sm> | it should |
| 21:25:03 | <geekosaur> | cabal-extras even has a tool to detect and optionally remove broken packages, iirc |
| 21:25:13 | <geekosaur> | which is what would have been useful here |
| 21:25:56 | <sm> | aha, I remember making a shell/ghc-pkg script for that years ago, my first haskell-related script :) |
| 21:27:31 | <sm> | https://gist.github.com/simonmichael/1185421 :) should still work inside cabal exec -- or stack exec -- |
| 21:30:12 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 21:31:14 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 21:31:21 | → | mizlan joins (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) |
| 21:33:41 | × | elkcl quits (~elkcl@broadband-188-255-19-11.ip.moscow.rt.ru) (Ping timeout: 255 seconds) |
| 21:34:02 | → | elkcl joins (~elkcl@broadband-188-255-19-11.ip.moscow.rt.ru) |
| 21:34:45 | × | trev quits (~trev@user/trev) (Remote host closed the connection) |
| 21:35:53 | × | mizlan quits (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 265 seconds) |
| 21:36:47 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 21:37:12 | → | gmg joins (~user@user/gehmehgeh) |
| 21:44:03 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 21:45:16 | → | ulvarref` joins (~user@185.24.53.152) |
| 21:45:52 | → | mizlan joins (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) |
| 21:47:26 | × | ulvarrefr quits (~user@188.124.56.153) (Ping timeout: 268 seconds) |
| 21:50:48 | × | infty quits (~infty@80-62-117-240-mobile.dk.customer.tdc.net) (Quit: Lost terminal) |
| 21:50:50 | × | Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 272 seconds) |
| 21:52:46 | × | perrierjouet quits (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.7.1) |
| 21:52:57 | × | liskin quits (~liskin@xmonad/liskin) (Quit: liskin) |
| 21:54:56 | → | perrierjouet joins (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) |
| 21:56:04 | × | nasrudin__ quits (~nasrudin_@107-132-214-117.lightspeed.sndgca.sbcglobal.net) (Ping timeout: 268 seconds) |
| 21:58:21 | × | coot quits (~coot@213.134.171.3) (Quit: coot) |
| 21:58:35 | → | liskin joins (~liskin@xmonad/liskin) |
| 21:58:35 | × | ulvarref` quits (~user@185.24.53.152) (Ping timeout: 248 seconds) |
| 22:00:23 | → | nabaiste^ joins (~nabaiste@76.145.185.103) |
| 22:03:39 | → | unit73e joins (~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) |
| 22:07:34 | → | nasrudin__ joins (~nasrudin_@174.78.12.234) |
| 22:10:35 | → | ChaiTRex joins (~ChaiTRex@user/chaitrex) |
| 22:16:59 | <talismanick> | Using HLS with Emacs lsp-mode. Why might applying hlint suggested edits be failing? |
| 22:17:35 | <talismanick> | lsp-workspace-command-execute: ‘workspace/executeCommand’ with ‘23955:hlint:applyOne’ failed. |
| 22:18:38 | <talismanick> | I can still apply code actions like "add signature to function" or disable the warning with a pragma, but hlint suggestions, specifically, fail as such |
| 22:24:01 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 22:28:35 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 255 seconds) |
| 22:36:49 | → | Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net) |
| 22:43:43 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1) |
| 22:49:06 | × | mizlan quits (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 268 seconds) |
| 22:51:05 | × | ddellacosta quits (~ddellacos@143.244.47.100) (Ping timeout: 255 seconds) |
| 22:55:10 | → | emmanuelux joins (~emmanuelu@user/emmanuelux) |
| 23:05:58 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 23:09:17 | → | mizlan joins (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) |
| 23:11:59 | × | nasrudin__ quits (~nasrudin_@174.78.12.234) (Ping timeout: 260 seconds) |
| 23:12:58 | → | nasrudin__ joins (~nasrudin_@174.78.12.234) |
| 23:16:11 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 23:17:00 | <unit73e> | talismanick, what do you mean? apply a suggestion? |
| 23:17:11 | × | freeside quits (~mengwong@103.252.202.159) (Ping timeout: 255 seconds) |
| 23:17:13 | <unit73e> | I think that's not implemented in HLS |
| 23:17:48 | <unit73e> | but I use neovim so who knows? |
| 23:18:59 | <unit73e> | but if it's that, idk how to do with emacs, but I just go inside the window, copy the suggestion, and paste |
| 23:19:00 | <talismanick> | unit73e: Weeeeell, it worked in the past. Not sure what changed, but it doesn't work now. |
| 23:19:09 | <unit73e> | hum ok |
| 23:19:40 | → | merijn joins (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
| 23:19:48 | <unit73e> | so you use ghcup btw? because that works better than some distros official packages... arch... coff |
| 23:20:22 | <talismanick> | yeah, ofc |
| 23:20:40 | <talismanick> | latest version on everything - use ghcup + cabal-install for everything |
| 23:20:53 | <zzz> | what's the criteria for the *recommended* flag in ghup? |
| 23:21:07 | <unit73e> | hum, that could be your problem. I use recommended. No idea what the criteria is but I guess stability? |
| 23:21:57 | <talismanick> | zzz: I've wondered this myself. As far as I gather, it's "where most libraries are". |
| 23:22:20 | <talismanick> | The newer versions being there to play catchup |
| 23:22:27 | <unit73e> | it has to do with stack, apparently |
| 23:22:41 | <unit73e> | so whatever stack decides it's stable |
| 23:22:43 | <talismanick> | So, latest stable snapshot? |
| 23:24:06 | × | Guest9918 quits (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 23:24:48 | <unit73e> | looks like it, but there's no good description of the criteria. stack could just be one of the criteria. |
| 23:25:06 | <unit73e> | your problem could be a specific version of HLS or Emacs LSP |
| 23:25:46 | → | mncheck-m joins (~mncheck@193.224.205.254) |
| 23:25:46 | <unit73e> | usually HLS spits a log |
| 23:27:26 | <geekosaur> | note that hls 1.9.0 came out recently |
| 23:28:34 | × | mncheckm quits (~mncheck@193.224.205.254) (Ping timeout: 268 seconds) |
| 23:28:59 | <monochrom> | ghcup's recommended flag is from ghcup authors+maintainers' estimate of libraries-on-hackage readiness and lack of GHC showstoppers. |
| 23:30:34 | × | phma quits (phma@2001:5b0:2144:7708:13f:34e:4754:4d0e) (Read error: Connection reset by peer) |
| 23:30:57 | <unit73e> | so a good guesstimate |
| 23:31:01 | → | phma joins (~phma@host-67-44-208-6.hnremote.net) |
| 23:31:07 | <unit73e> | worked for me so far |
| 23:31:32 | × | mizlan quits (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 272 seconds) |
| 23:32:15 | <monochrom> | Questions like "is version X recommended?" are social questions by nature, not technical, given that library readiness and bug severity are social, not technical. |
| 23:32:27 | <monochrom> | Social questions are best answered by social solutions. |
| 23:32:37 | → | freeside joins (~mengwong@103.252.202.159) |
| 23:34:27 | × | mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.7.1) |
| 23:35:44 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds) |
| 23:38:41 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 23:42:44 | → | johnw joins (~johnw@2600:1700:cf00:db0:8dba:ab59:f976:a533) |
| 23:48:00 | → | mechap joins (~mechap@user/mechap) |
| 23:48:25 | → | mizlan joins (~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) |
| 23:53:33 | → | jusle joins (~jusle@user/jle/x-3894663) |
| 23:53:56 | <jusle> | /go 1 |
| 23:54:18 | jusle | is now known as jle`` |
| 23:54:20 | × | merijn quits (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds) |
| 23:54:24 | × | d34df00d quits (~d34df00d@2600:1702:4f1b:7c10::48) (Read error: Connection reset by peer) |
| 23:59:57 | → | caryhartline joins (~caryhartl@2600:1700:2d0:8d30:ddb1:814:b62d:1133) |
All times are in UTC on 2023-01-03.