Home liberachat/#haskell: Logs Calendar

Logs on 2022-12-26 (liberachat/#haskell)

00:01:06 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving)
00:07:16 money joins (~money@2601:40:c580:8530:c933:4206:9088:7219)
00:07:16 × money quits (~money@2601:40:c580:8530:c933:4206:9088:7219) (Client Quit)
00:08:09 money joins (~money@c-73-188-62-22.hsd1.pa.comcast.net)
00:08:33 money is now known as Guest1353
00:09:07 × Guest1353 quits (~money@c-73-188-62-22.hsd1.pa.comcast.net) (Client Quit)
00:12:14 polo is now known as Guest1587
00:12:14 polo joins (~money@user/polo)
00:16:05 × polo quits (~money@user/polo) (Client Quit)
00:21:44 money joins (~money@user/polo)
00:27:18 × cheater quits (~Username@user/cheater) (Read error: Connection reset by peer)
00:27:38 cheater joins (~Username@user/cheater)
00:34:06 jakalx parts (~jakalx@base.jakalx.net) ()
00:34:41 jakalx joins (~jakalx@base.jakalx.net)
00:38:58 × freeside quits (~mengwong@103.252.202.159) (Ping timeout: 265 seconds)
00:49:29 money is now known as Guest1101
00:49:29 Guest1587 is now known as money
00:50:28 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:9875:ba39:3caf:182f) (Remote host closed the connection)
00:52:00 freeside joins (~mengwong@103.252.202.159)
00:55:31 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:9875:ba39:3caf:182f)
00:59:02 × freeside quits (~mengwong@103.252.202.159) (Ping timeout: 272 seconds)
00:59:51 × Guest1101 quits (~money@user/polo) (Quit: late)
01:05:17 × tomokojun quits (~tomokojun@75.164.0.69) (Quit: じゃあね〜。)
01:06:23 money_ joins (~money@2601:40:c580:8530:c933:4206:9088:7219)
01:07:22 × ft quits (~ft@i59F54436.versanet.de) (Ping timeout: 268 seconds)
01:08:36 ft joins (~ft@i59F541CC.versanet.de)
01:10:52 freeside joins (~mengwong@103.252.202.159)
01:10:54 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:13:36 × bontaq quits (~user@71.27.75.65) (Ping timeout: 272 seconds)
01:13:37 × Tuplanolla quits (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.)
01:14:46 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1)
01:15:09 × Guest323 quits (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 260 seconds)
01:17:01 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:18:23 × unit73e quits (~emanuel@2001:818:e8dd:7c00:656:e5ff:fe72:9d36) (Quit: Leaving)
01:19:18 × gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
01:21:43 × money_ quits (~money@2601:40:c580:8530:c933:4206:9088:7219) (Changing host)
01:21:43 money_ joins (~money@user/polo)
01:22:20 × xff0x quits (~xff0x@ai071162.d.east.v6connect.net) (Ping timeout: 252 seconds)
01:22:54 money is now known as Guest5801
01:22:54 money_ is now known as money
01:23:55 × acidjnk_new quits (~acidjnk@p200300d6e7137a5055eba771b404a6a4.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
01:33:28 jargon joins (~jargon@174-22-197-118.phnx.qwest.net)
01:36:58 gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de)
01:39:12 × kjak quits (~kjak@pool-72-66-75-40.washdc.fios.verizon.net) (Remote host closed the connection)
01:39:27 kjak joins (~kjak@pool-72-66-75-40.washdc.fios.verizon.net)
01:42:32 thongpv joins (~thongpv87@2402:9d80:3b4:f1b6:bd80:10c8:c2bc:dc95)
01:43:50 × johnw quits (~johnw@2600:1700:cf00:db0:1909:8dee:7930:76a2) (Quit: ZNC - http://znc.in)
01:45:22 azimut joins (~azimut@gateway/tor-sasl/azimut)
01:50:30 × money quits (~money@user/polo) (Quit: late)
02:02:26 Guest1489 joins (~money@2601:40:c580:8530:c933:4206:9088:7219)
02:03:36 thongpv87 joins (~thongpv87@123.31.184.254)
02:04:12 × thongpv quits (~thongpv87@2402:9d80:3b4:f1b6:bd80:10c8:c2bc:dc95) (Read error: Connection reset by peer)
02:06:05 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
02:08:04 Guest5801 is now known as polo
02:13:33 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir)
02:15:40 × gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
02:17:12 × Guest1489 quits (~money@2601:40:c580:8530:c933:4206:9088:7219) (Changing host)
02:17:12 Guest1489 joins (~money@user/polo)
02:17:16 Guest1489 is now known as money
02:17:29 × Neuromancer quits (~Neuromanc@user/neuromancer) (Remote host closed the connection)
02:18:28 × money quits (~money@user/polo) (Remote host closed the connection)
02:27:26 polo is now known as money
02:28:23 money_ joins (~money@2601:40:c580:8530:c933:4206:9088:7219)
02:30:03 × money_ quits (~money@2601:40:c580:8530:c933:4206:9088:7219) (Client Quit)
02:33:05 × freeside quits (~mengwong@103.252.202.159) (Ping timeout: 268 seconds)
02:36:23 × poscat quits (~poscat@114.245.110.107) (Ping timeout: 246 seconds)
02:36:37 poscat joins (~poscat@114.245.110.107)
02:38:11 Sgeo_ joins (~Sgeo@user/sgeo)
02:38:15 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
02:41:07 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:9875:ba39:3caf:182f) (Remote host closed the connection)
02:44:31 johnw joins (~johnw@2600:1700:cf00:db0:e472:cc9e:6753:9e3c)
02:45:42 freeside joins (~mengwong@103.252.202.159)
02:48:55 × ddellacosta quits (~ddellacos@86.106.143.77) (Ping timeout: 252 seconds)
02:50:45 ddellacosta joins (~ddellacos@143.244.47.75)
02:54:54 × fizbin quits (~fizbin@user/fizbin) (Ping timeout: 260 seconds)
02:55:37 fizbin joins (~fizbin@user/fizbin)
02:55:46 rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
03:11:47 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:9875:ba39:3caf:182f)
03:12:24 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
03:12:24 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
03:12:24 finn_elija is now known as FinnElija
03:20:34 × fizbin quits (~fizbin@user/fizbin) (Ping timeout: 268 seconds)
03:21:32 <hololeap> what's a good logging lib? I don't need anything too complex. really, I just want a step up from calling "fail" in various places in my command line program
03:22:56 × td_ quits (~td@83.135.9.52) (Ping timeout: 246 seconds)
03:24:47 × rustisafungus quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds)
03:25:05 td_ joins (~td@83.135.9.49)
03:25:30 rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
03:26:57 <hololeap> @hackage co-log -- hm, this seems like it might fit my needs
03:26:57 <lambdabot> https://hackage.haskell.org/package/co-log -- hm, this seems like it might fit my needs
03:31:25 Guest65 joins (~Guest65@pool-72-88-174-206.nwrknj.fios.verizon.net)
03:31:59 × terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Ping timeout: 264 seconds)
03:33:25 <Guest65> what is the "inverse" of realToFrac? if i want to create a Real value from a Fractional value.  hoogle isn't helping
03:34:01 <Guest65> Data.Scientific has toRealFloat and says "Always prefer toRealFloat over realToFrac when converting from scientific numbers coming from an untrusted source." as if they had the same return type (constraints) but they don't
03:37:41 terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1)
03:38:51 × phma quits (phma@2001:5b0:212a:b4c8:981b:d6a4:8e9c:df66) (Read error: Connection reset by peer)
03:39:19 phma joins (phma@2001:5b0:212a:b4c8:981b:d6a4:8e9c:df66)
03:41:44 <Guest65> ultimately what i want to do is use exponentiation like (**) with fixed-precision decimals, accepting that i may need to convert to floating point first
03:42:53 <Guest65> essentially the haskell equivalent of https://docs.rs/rust_decimal/latest/rust_decimal/trait.MathematicalOps.html#tymethod.powd
03:52:18 × waleee quits (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Quit: WeeChat 3.7.1)
04:01:21 razetime joins (~quassel@49.207.230.181)
04:09:19 × son0p quits (~ff@2604:3d08:5b7f:5540::cfe6) (Ping timeout: 260 seconds)
04:14:13 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
04:15:50 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
04:18:42 × beefbambi quits (~beefbambi@183.82.207.45) (Read error: Connection reset by peer)
04:19:26 beefbambi joins (~beefbambi@183.82.207.45)
04:22:38 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 260 seconds)
04:37:32 × rustisafungus quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 272 seconds)
04:42:04 mbuf joins (~Shakthi@49.205.86.252)
04:43:49 × beefbambi quits (~beefbambi@183.82.207.45) (Ping timeout: 268 seconds)
04:44:26 × thongpv87 quits (~thongpv87@123.31.184.254) (Ping timeout: 268 seconds)
04:46:32 beefbambi joins (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377)
04:48:43 beefyran joins (~beefyran@76.139.224.68)
04:54:38 × freeside quits (~mengwong@103.252.202.159) (Ping timeout: 272 seconds)
04:55:19 <sm> is https://blog.plover.com/prog/haskell/numbers.html any help ?
05:00:11 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
05:06:22 freeside joins (~mengwong@103.252.202.159)
05:07:18 × Guest65 quits (~Guest65@pool-72-88-174-206.nwrknj.fios.verizon.net) (Ping timeout: 272 seconds)
05:13:00 × freeside quits (~mengwong@103.252.202.159) (Ping timeout: 272 seconds)
05:17:11 money is now known as polo
05:21:33 × beefyran quits (~beefyran@76.139.224.68) (Ping timeout: 260 seconds)
05:26:31 freeside joins (~mengwong@103.252.202.159)
05:35:00 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving)
05:40:17 money joins (~money@c-73-188-62-22.hsd1.pa.comcast.net)
05:40:27 money is now known as Guest1122
05:42:00 × Guest1122 quits (~money@c-73-188-62-22.hsd1.pa.comcast.net) (Client Quit)
05:46:10 azimut joins (~azimut@gateway/tor-sasl/azimut)
05:49:28 money joins (~money@c-73-188-62-22.hsd1.pa.comcast.net)
05:49:49 money is now known as Guest7991
05:51:13 Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net)
05:52:45 × Guest7991 quits (~money@c-73-188-62-22.hsd1.pa.comcast.net) (Client Quit)
06:07:17 money_ joins (~money@c-73-188-62-22.hsd1.pa.comcast.net)
06:10:22 × money_ quits (~money@c-73-188-62-22.hsd1.pa.comcast.net) (Client Quit)
06:11:18 money_ joins (~money@2601:40:c580:8530:c933:4206:9088:7219)
06:18:58 son0p joins (~ff@2604:3d08:5b7f:5540::417e)
06:23:44 × razetime quits (~quassel@49.207.230.181) (Ping timeout: 260 seconds)
06:25:00 × wroathe quits (~wroathe@user/wroathe) (Quit: Lost terminal)
06:32:29 × freeside quits (~mengwong@103.252.202.159) (Ping timeout: 260 seconds)
06:35:07 × money_ quits (~money@2601:40:c580:8530:c933:4206:9088:7219) (Ping timeout: 256 seconds)
06:45:28 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 272 seconds)
06:49:05 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds)
06:49:15 freeside joins (~mengwong@103.252.202.159)
06:49:57 ec_ joins (~ec@gateway/tor-sasl/ec)
06:52:44 razetime joins (~quassel@49.207.230.181)
07:00:15 money joins (~money@2601:40:c580:8530:99b8:3604:48ba:4828)
07:00:25 money is now known as Guest2626
07:00:32 × Guest2626 quits (~money@2601:40:c580:8530:99b8:3604:48ba:4828) (Changing host)
07:00:32 Guest2626 joins (~money@user/polo)
07:00:34 Guest2626 is now known as money
07:02:55 × money quits (~money@user/polo) (Remote host closed the connection)
07:07:38 × razetime quits (~quassel@49.207.230.181) (Ping timeout: 272 seconds)
07:26:28 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:51:16 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
08:04:03 money joins (~money@2601:40:c580:8530:d87d:a506:a35b:6387)
08:04:09 money is now known as Guest789
08:04:14 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
08:04:36 × Guest789 quits (~money@2601:40:c580:8530:d87d:a506:a35b:6387) (Changing host)
08:04:36 Guest789 joins (~money@user/polo)
08:04:41 Guest789 is now known as money
08:05:39 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
08:18:57 × money quits (~money@user/polo) (Quit: late)
08:19:30 money joins (~money@2601:40:c580:8530:d87d:a506:a35b:6387)
08:19:48 money is now known as Guest7983
08:24:20 cheater_ joins (~Username@user/cheater)
08:24:25 × cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds)
08:24:31 takuan joins (~takuan@178-116-218-225.access.telenet.be)
08:24:34 cheater_ is now known as cheater
08:38:19 × Guest7983 quits (~money@2601:40:c580:8530:d87d:a506:a35b:6387) (Quit: late)
08:40:35 money_ joins (~money@2601:40:c580:8530:d87d:a506:a35b:6387)
08:44:37 <[exa]> cheater: btw I was asking about the DSW possibilities and they have no funding to support that atm, but they will ask back when they get some
08:45:32 thongpv87 joins (~thongpv87@2402:9d80:3a3:1f17:c464:b8b0:3a4b:b784)
08:50:06 razetime joins (~quassel@49.207.230.181)
08:51:11 × money_ quits (~money@2601:40:c580:8530:d87d:a506:a35b:6387) (Quit: late)
08:52:19 <cheater> thanks [exa]
08:54:26 × freeside quits (~mengwong@103.252.202.159) (Ping timeout: 252 seconds)
08:56:12 × cheater quits (~Username@user/cheater) (Quit: Going offline, see ya! (www.adiirc.com))
08:57:38 gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de)
09:05:02 money joins (~money@2601:40:c580:8530:d035:e995:23e7:22d9)
09:05:15 money is now known as Guest8052
09:07:03 × Guest8052 quits (~money@2601:40:c580:8530:d035:e995:23e7:22d9) (Changing host)
09:07:03 Guest8052 joins (~money@user/polo)
09:07:06 Guest8052 is now known as money
09:07:42 freeside joins (~mengwong@103.252.202.159)
09:10:18 × money quits (~money@user/polo) (Quit: late)
09:14:21 × freeside quits (~mengwong@103.252.202.159) (Ping timeout: 256 seconds)
09:23:46 <markasoftware> If I have `data Foo a = Something a | SomethingElse Int`, how can I convert a `SomethingElse Int` from being a `Foo a` type to being a `Foo b` type?
09:24:18 <markasoftware> after pattern matching as `foo@(SomethingElse {})`
09:24:29 <markasoftware> or is the only way to call the whole type constructor again?
09:24:36 <markasoftware> and explicitly list out all arguments to the type constructor
09:24:47 <markasoftware> (because in my actual application `SomethingElse` has several fields)
09:25:44 <markasoftware> (the main idea here being that the `SomethingElse` constructor doesn't actually use the `a` type parameter, so it should be able to be cast to any `Foo a` after pattern matching on it
09:25:58 Tuplanolla joins (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi)
09:27:13 freeside joins (~mengwong@103.252.202.159)
09:32:51 <markasoftware> okay, i found data.coerce, i think that does what i want
09:36:13 <markasoftware> the only problem is data.coerce seems to have a bit of a runtime cost which shouldn't be necessary because I'm pattern matched already
09:37:38 × razetime quits (~quassel@49.207.230.181) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
09:44:50 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:9875:ba39:3caf:182f) (Remote host closed the connection)
09:46:41 × gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Remote host closed the connection)
09:46:54 gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de)
09:49:17 Inst joins (~Inst@2601:6c4:4081:54f0:488f:82a3:5a51:80a6)
09:49:19 <Inst> hi
09:49:26 <Inst> is there a way to get a typeclass to accept a non-type kind?
09:49:41 × mbuf quits (~Shakthi@49.205.86.252) (Ping timeout: 268 seconds)
09:49:50 <Inst> i'm using data kinds and i'm trying to port some toy julia code to Haskell, i.e, a dependently-typed fizzbuzz
09:49:59 × gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Client Quit)
09:50:07 gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de)
09:50:52 mbuf joins (~Shakthi@49.204.140.186)
09:52:12 money joins (~money@2601:40:c580:8530:79b9:1457:a4d2:2574)
09:52:16 money is now known as Guest2231
09:52:45 × Guest2231 quits (~money@2601:40:c580:8530:79b9:1457:a4d2:2574) (Changing host)
09:52:45 Guest2231 joins (~money@user/polo)
09:52:48 Guest2231 is now known as money
09:52:52 <int-e> markasoftware: Hmm. 1) I don't see how Data.Coerce.coerce applies here. 2) That function doesn't have a runtime cost (though it can influence optimizations) 3) There's a very late optimization in ghc that tries to re-use heap objects so that `case x of Something a -> Something b; SomethingElse n -> SomethingElse n` does not allocate anything in the second branch.
09:52:52 polo is now known as Guest5004
09:52:52 money is now known as polo
09:54:14 <int-e> (But I don't know how robust that optimization is.)
09:54:32 money joins (~money@2601:40:c580:8530:bd6f:6517:b24a:1f3f)
09:54:33 × gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Client Quit)
09:54:37 <markasoftware> hmm, but coerce throws runtime errors right?
09:54:43 <int-e> No
09:54:45 gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de)
09:54:50 <markasoftware> okay
09:54:56 money is now known as Guest4598
09:55:08 <markasoftware> i should have actually tried compiling it but i thought something like foo@(SomethingElse n) -> coerce foo might work
09:55:17 × Guest4598 quits (~money@2601:40:c580:8530:bd6f:6517:b24a:1f3f) (Changing host)
09:55:17 Guest4598 joins (~money@user/polo)
09:55:20 Guest4598 is now known as money
09:55:43 <int-e> "very late"... after STG, so either during translation to CMM or at the CMM level.
09:56:49 wootehfoot joins (~wootehfoo@user/wootehfoot)
09:57:39 <int-e> markasoftware: Yeah, that does not work, because of the first constructor (at the type level, the type parameter of `Foo` has a representational role, and that disallows `coerce` to change that type). `unsafeCoerce` would work but obviously that's allowed to crash if you misuse it.
09:57:59 × polo quits (~money@user/polo) (Ping timeout: 256 seconds)
09:59:08 <markasoftware> yeah that makes sense, just tried to compile it and got a reasonable error from ghc
09:59:25 <markasoftware> well thanks for your help, I guess I'll continue to write out the `SomethingElse n -> SomethingElse n` with all the arguments for now
10:00:29 <int-e> Yeah, as I said, there's a very good chance that this will reuse the original heap object.
10:00:37 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
10:06:45 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
10:07:19 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
10:07:30 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
10:08:38 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
10:09:03 × Franciman quits (~Franciman@mx1.fracta.dev) (Remote host closed the connection)
10:10:01 coot joins (~coot@213.134.171.3)
10:11:00 × califax quits (~califax@user/califx) (Remote host closed the connection)
10:11:41 Franciman joins (~Franciman@mx1.fracta.dev)
10:11:47 califax joins (~califax@user/califx)
10:12:04 jakalx joins (~jakalx@base.jakalx.net)
10:16:14 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 246 seconds)
10:17:05 shamelessshill joins (~shamlesss@user/shamelessshill)
10:17:07 × money quits (~money@user/polo) (Quit: late)
10:18:18 mc47 joins (~mc47@xmonad/TheMC47)
10:18:26 shamelessshill parts (~shamlesss@user/shamelessshill) ()
10:19:08 × hamster quits (~ham@user/ham) (Read error: Connection reset by peer)
10:19:18 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
10:19:27 acidjnk_new joins (~acidjnk@p200300d6e7137a50f9d3f0b86663ccbe.dip0.t-ipconnect.de)
10:19:32 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
10:21:01 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
10:21:37 × califax quits (~califax@user/califx) (Remote host closed the connection)
10:22:41 califax joins (~califax@user/califx)
10:24:42 Guest7967 joins (~money@c-73-188-62-22.hsd1.pa.comcast.net)
10:26:44 × Guest7967 quits (~money@c-73-188-62-22.hsd1.pa.comcast.net) (Client Quit)
10:27:44 fserucas joins (~fserucas@a85-138-107-42.cpe.netcabo.pt)
10:27:46 × mbuf quits (~Shakthi@49.204.140.186) (Ping timeout: 272 seconds)
10:28:33 mbuf joins (~Shakthi@49.205.80.99)
10:30:05 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds)
10:31:40 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
10:34:46 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
10:35:30 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
10:37:04 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
10:39:47 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
10:40:50 <Inst> it's impossible to convert an Integer into a Proxy value of type Proxy (k :: KnownNat), right?
10:41:26 <Inst> the stuff in typelits implies you can only convert it to some nat
10:43:14 <c_wraith> KnownNat is a class.
10:44:34 <c_wraith> https://hackage.haskell.org/package/base-4.17.0.0/docs/GHC-TypeLits.html#v:someNatVal
10:44:38 × Sgeo_ quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
10:45:18 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:9875:ba39:3caf:182f)
10:47:58 <Inst> k :: Natural
10:47:59 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
10:48:12 <Inst> i'm trying to build a DT fizzbuzz as a toy
10:48:15 <Inst> converting from Julia code
10:48:39 <Inst> where their multiple dispatch method is used to control the string return of the fizzbuzz function
10:49:29 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
10:50:10 <Inst> so, i have the FizzBuzz class ready, the FizzBuzz instances ready, I can borrow from GHC.TypeLits to do Mod n 5 / Mod n 3 onto a value of type Proxy n, just can't figure out how to convert between a value to a type
10:50:23 <Inst> it should be impossible because type information is lost at runtime, right?
10:50:35 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:9875:ba39:3caf:182f) (Ping timeout: 246 seconds)
10:51:42 <c_wraith> yes and no
10:52:50 <c_wraith> The types won't be known at runtime, but there are ways to leave behind some evidence of what the type once was
10:52:56 <c_wraith> someNatVal, for instance
10:53:06 × jargon quits (~jargon@174-22-197-118.phnx.qwest.net) (Ping timeout: 272 seconds)
10:54:43 <c_wraith> or, well. In the case of dynamic things, generate the same type of evidence that the compiler would have left behind
10:56:16 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
10:56:32 <Hecate> An interesting episode of Software Unscripted regarding the Zig compiler's bootstrapping process: It uses WASM! https://podcasts.apple.com/fr/podcast/software-unscripted/id1602572955?i=1000591301501
10:57:49 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
10:59:55 bgs joins (~bgs@212-85-160-171.dynamic.telemach.net)
11:04:07 fizbin joins (~fizbin@user/fizbin)
11:10:01 xff0x joins (~xff0x@ai071162.d.east.v6connect.net)
11:10:32 × fizbin quits (~fizbin@user/fizbin) (Ping timeout: 246 seconds)
11:11:57 __monty__ joins (~toonn@user/toonn)
11:16:29 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 246 seconds)
11:18:22 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
11:21:39 fizbin joins (~fizbin@user/fizbin)
11:22:19 CiaoSen joins (~Jura@p200300c9570d91002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
11:23:13 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
11:24:52 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
11:24:57 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:28:09 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
11:30:12 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 268 seconds)
11:30:32 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
11:36:10 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
11:37:03 money joins (~money@pool-100-11-18-203.phlapa.fios.verizon.net)
11:37:11 money is now known as Guest4009
11:37:52 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
11:38:13 × Guest4009 quits (~money@pool-100-11-18-203.phlapa.fios.verizon.net) (Changing host)
11:38:13 Guest4009 joins (~money@user/polo)
11:38:16 Guest4009 is now known as money
11:39:41 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
11:46:56 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
11:48:12 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
11:49:04 × money quits (~money@user/polo) (Read error: Connection reset by peer)
11:49:39 money joins (~money@64-145-79-171.jfk.as54203.net)
11:49:54 money is now known as Guest4687
11:52:02 × Guest4687 quits (~money@64-145-79-171.jfk.as54203.net) (Client Quit)
11:56:16 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1)
11:56:49 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
11:58:37 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
12:00:01 <jackdk> Inst: https://hackage.haskell.org/package/reflection-2.1.6/docs/Data-Reflection.html#v:reifyNat
12:01:29 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 260 seconds)
12:02:23 money_ joins (~money@pool-100-11-18-203.phlapa.fios.verizon.net)
12:03:13 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Ping timeout: 256 seconds)
12:05:50 × money_ quits (~money@pool-100-11-18-203.phlapa.fios.verizon.net) (Client Quit)
12:05:53 × jpds2 quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 255 seconds)
12:07:49 jpds2 joins (~jpds@gateway/tor-sasl/jpds)
12:21:54 × fserucas quits (~fserucas@a85-138-107-42.cpe.netcabo.pt) (Ping timeout: 260 seconds)
12:22:06 Guest5004 is now known as money
12:23:59 shamelessshill joins (~shamlesss@user/shamelessshill)
12:24:18 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
12:24:41 <shamelessshill> Hello folks, a small question about llvm bindings for Haskell. I see llvm-hs, but the last version supported seems to be LLVM 9, which is relatively ancient. Any alternatives?
12:25:09 king_gs joins (~Thunderbi@2806:103e:29:8c3:6dd8:4a70:6d40:37ea)
12:25:14 × king_gs quits (~Thunderbi@2806:103e:29:8c3:6dd8:4a70:6d40:37ea) (Client Quit)
12:25:44 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
12:26:55 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
12:30:40 n0den1te joins (~~.~@2401:4900:1cc8:c9b9:732b:ad8d:ebfd:9b2b)
12:33:02 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
12:33:36 shamelessshill parts (~shamlesss@user/shamelessshill) ()
12:37:31 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 248 seconds)
12:39:36 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
12:40:32 dextaa0 joins (~DV@user/dextaa)
12:42:48 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
12:42:54 × dextaa quits (~DV@user/dextaa) (Ping timeout: 260 seconds)
12:42:54 dextaa0 is now known as dextaa
12:43:23 mc47 joins (~mc47@xmonad/TheMC47)
12:45:43 img joins (~img@user/img)
12:48:58 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 252 seconds)
12:51:11 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
12:54:26 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
12:58:39 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
13:00:34 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
13:04:47 Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net)
13:09:29 jpds3 joins (~jpds@gateway/tor-sasl/jpds)
13:10:41 × jpds2 quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 255 seconds)
13:13:03 × pflanze quits (~pflanze@159.100.249.232) (Remote host closed the connection)
13:16:12 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
13:16:51 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
13:18:27 cheater joins (~Username@user/cheater)
13:18:56 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 246 seconds)
13:21:07 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
13:25:17 azimut joins (~azimut@gateway/tor-sasl/azimut)
13:26:45 × troydm quits (~troydm@host-176-37-124-197.b025.la.net.ua) (Ping timeout: 268 seconds)
13:31:45 × CiaoSen quits (~Jura@p200300c9570d91002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
13:34:09 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 268 seconds)
13:35:39 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
13:36:43 × jinsun quits (~jinsun@user/jinsun) (Ping timeout: 256 seconds)
13:37:06 Guest7 joins (~Guest7@dyndsl-037-138-068-082.ewe-ip-backbone.de)
13:39:39 <Guest7> @pl f s = "0123" !! (elemIndex s $ g f)
13:39:39 <lambdabot> f = fix ((("0123" !!) .) . flip elemIndex . g)
13:40:17 <Guest7> @pl f s = "0123" !! (findIndex s $ g f)
13:40:17 <lambdabot> f = fix ((("0123" !!) .) . flip findIndex . g)
13:41:35 jinsun joins (~jinsun@user/jinsun)
13:43:14 × jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer)
13:43:46 jinsun joins (~jinsun@user/jinsun)
13:43:48 × jpds3 quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
13:44:34 jpds3 joins (~jpds@gateway/tor-sasl/jpds)
13:44:49 cheater_ joins (~Username@user/cheater)
13:45:08 × jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer)
13:45:19 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
13:45:28 jinsun joins (~jinsun@user/jinsun)
13:45:56 × jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer)
13:46:32 × Guest7 quits (~Guest7@dyndsl-037-138-068-082.ewe-ip-backbone.de) (Quit: Client closed)
13:47:02 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
13:48:28 × cheater quits (~Username@user/cheater) (Ping timeout: 260 seconds)
13:48:34 cheater_ is now known as cheater
13:49:00 × cheater quits (~Username@user/cheater) (Read error: Connection reset by peer)
13:49:20 cheater joins (~Username@user/cheater)
13:50:00 cheater_ joins (~Username@user/cheater)
13:50:51 Guest7 joins (~Guest7@dyndsl-037-138-068-082.ewe-ip-backbone.de)
13:50:55 <Guest7> @pl f s="0332233123322323133223313"!!((elemIndices s$permutations"abcd")!!0)
13:50:55 <lambdabot> f = ("0332233123322323133223313" !!) . (!! 0) . ($ permutations "abcd") . elemIndices
13:52:51 <Guest7> @unpl f s="0332233123322323133223313"!!((elemIndices s$permutations"abcd")!!0)
13:52:51 <lambdabot> f s = "0332233123322323133223313" !! (elemIndices s (permutations "abcd") !! 0)
13:53:49 × lambdap237 quits (~lambdap@static.167.190.119.168.clients.your-server.de) (Quit: lambdap237)
13:54:14 × cheater quits (~Username@user/cheater) (Ping timeout: 272 seconds)
13:54:15 cheater_ is now known as cheater
13:54:31 lambdap237 joins (~lambdap@static.167.190.119.168.clients.your-server.de)
13:55:39 jinsun joins (~jinsun@user/jinsun)
13:57:18 mei joins (~mei@user/mei)
13:57:50 × jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer)
13:58:16 jinsun joins (~jinsun@user/jinsun)
13:58:36 × jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer)
13:58:38 motherfsck joins (~motherfsc@user/motherfsck)
13:58:56 jinsun joins (~jinsun@user/jinsun)
13:59:28 <Guest7> @unpl f s="0332233123322323133223313"!!head(elemIndices s$permutations"abcd"
13:59:28 <lambdabot> <unknown>.hs:1:4:Parse error: =
13:59:37 <Guest7> @unpl f s="0332233123322323133223313"!!head(elemIndices s$permutations"abcd")
13:59:37 <lambdabot> f s = "0332233123322323133223313" !! head (elemIndices s (permutations "abcd"))
13:59:45 <__monty__> Guest7: You can make use of lambdabot in private messages you know.
13:59:51 <__monty__> No need to spam the channel.
14:00:20 <Guest7> thanks, I didn't know that
14:00:29 <__monty__> And the command is called `pl` for pointless. Don't consider point-free style a goal.
14:01:10 <Guest7> I'm using it to get some ideas to save bytes for codegolf https://codegolf.stackexchange.com/questions/256034/normal-subgroups-of-s-4/256046#256046
14:01:12 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
14:01:24 fserucas joins (~fserucas@a85-138-107-42.cpe.netcabo.pt)
14:02:29 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
14:03:13 <geekosaur> you might note that most of its responses are longer than the original
14:03:23 <geekosaur> it's not real useful for code golf
14:03:53 <geekosaur> occasionally it'll show you something neat, but learning a little lmbda calculus will lead you to those just as quickly
14:03:58 <geekosaur> *lambda
14:04:14 × Guest7 quits (~Guest7@dyndsl-037-138-068-082.ewe-ip-backbone.de) (Quit: Client closed)
14:05:36 ryanbooker joins (uid4340@id-4340.hampstead.irccloud.com)
14:05:48 Guest323 joins (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
14:06:50 × gurkenglas quits (~gurkengla@p548ac72e.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
14:11:10 × jinsun quits (~jinsun@user/jinsun) (Quit: No Ping reply in 180 seconds.)
14:12:36 jinsun joins (~jinsun@user/jinsun)
14:14:13 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 252 seconds)
14:14:51 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds)
14:15:55 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
14:17:20 × jinsun quits (~jinsun@user/jinsun) (Client Quit)
14:18:47 jinsun joins (~jinsun@user/jinsun)
14:20:55 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds)
14:21:32 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
14:22:13 AlexNoo_ joins (~AlexNoo@178.34.150.35)
14:24:38 × AlexZenon quits (~alzenon@178.34.150.54) (Ping timeout: 272 seconds)
14:25:27 × Alex_test quits (~al_test@178.34.150.54) (Ping timeout: 256 seconds)
14:25:57 × AlexNoo quits (~AlexNoo@178.34.150.54) (Ping timeout: 265 seconds)
14:29:13 Alex_test joins (~al_test@178.34.150.35)
14:29:21 AlexZenon joins (~alzenon@178.34.150.35)
14:35:44 × mestre quits (~mestre@191.177.185.178) (Quit: Lost terminal)
14:36:17 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 246 seconds)
14:38:19 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
14:40:59 morb joins (~morb@pool-72-80-94-112.nycmny.fios.verizon.net)
14:45:18 × beefbambi quits (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer)
14:45:20 × morb quits (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
14:45:36 beefbambi joins (~beefbambi@183.82.205.14)
14:49:31 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:9875:ba39:3caf:182f)
14:52:59 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
14:53:55 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:9875:ba39:3caf:182f) (Ping timeout: 260 seconds)
14:54:48 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
15:00:13 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 260 seconds)
15:09:51 × iqubic quits (~avi@2601:602:9502:c70:4602:12a1:6697:a25f) (Ping timeout: 255 seconds)
15:10:56 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
15:12:35 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
15:14:27 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
15:16:10 jargon joins (~jargon@174-22-197-118.phnx.qwest.net)
15:17:03 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
15:19:44 jakalx parts (~jakalx@base.jakalx.net) ()
15:21:10 razetime joins (~quassel@49.207.230.181)
15:23:57 rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
15:25:39 × razetime quits (~quassel@49.207.230.181) (Ping timeout: 260 seconds)
15:25:41 jakalx joins (~jakalx@base.jakalx.net)
15:25:47 × mbuf quits (~Shakthi@49.205.80.99) (Quit: Leaving)
15:29:35 AlexNoo_ is now known as AlexNoo
15:32:18 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
15:32:20 × rustisafungus quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds)
15:34:00 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
15:35:31 justsomeguy joins (~justsomeg@user/justsomeguy)
15:45:50 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 255 seconds)
15:47:26 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
15:50:32 n0den1te parts (~~.~@2401:4900:1cc8:c9b9:732b:ad8d:ebfd:9b2b) ()
15:51:52 CiaoSen joins (~Jura@p200300c9570d91002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
15:53:17 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds)
15:58:02 kenran joins (~user@user/kenran)
15:58:04 × kenran quits (~user@user/kenran) (Remote host closed the connection)
15:58:34 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
15:59:50 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
16:00:05 × czuberion[m] quits (~czuberion@2001:470:69fc:105::2:bc47) (Quit: You have been kicked for being idle)
16:09:59 × dibblego quits (~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds)
16:11:40 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
16:13:22 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
16:14:38 dibblego joins (~dibblego@122-199-1-30.ip4.superloop.com)
16:14:38 × dibblego quits (~dibblego@122-199-1-30.ip4.superloop.com) (Changing host)
16:14:38 dibblego joins (~dibblego@haskell/developer/dibblego)
16:15:15 × beefbambi quits (~beefbambi@183.82.205.14) (Read error: Connection reset by peer)
16:15:42 beefbambi joins (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377)
16:16:47 × beefbambi quits (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer)
16:17:11 beefbambi joins (~beefbambi@183.82.205.14)
16:17:50 × beefbambi quits (~beefbambi@183.82.205.14) (Read error: Connection reset by peer)
16:18:19 beefbambi joins (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377)
16:18:20 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
16:18:36 cheater_ joins (~Username@user/cheater)
16:19:09 × beefbambi quits (~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer)
16:19:26 beefbambi joins (~beefbambi@183.82.205.14)
16:21:06 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
16:21:11 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 264 seconds)
16:21:31 × cheater quits (~Username@user/cheater) (Ping timeout: 260 seconds)
16:21:40 cheater_ is now known as cheater
16:22:44 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
16:28:39 cheater_ joins (~Username@user/cheater)
16:28:55 troydm joins (~troydm@host-176-37-124-197.b025.la.net.ua)
16:30:03 × Inst quits (~Inst@2601:6c4:4081:54f0:488f:82a3:5a51:80a6) (Ping timeout: 260 seconds)
16:32:02 × cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds)
16:32:04 cheater_ is now known as cheater
16:37:29 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
16:38:23 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 265 seconds)
16:40:01 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
16:45:52 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
16:46:00 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1)
16:46:07 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
16:50:18 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 272 seconds)
16:51:05 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:9875:ba39:3caf:182f)
16:51:26 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 246 seconds)
16:52:27 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
16:53:02 morb joins (~morb@pool-72-80-94-112.nycmny.fios.verizon.net)
16:54:27 × beefbambi quits (~beefbambi@183.82.205.14) (Read error: Connection reset by peer)
16:54:46 beefbambi joins (~beefbambi@37.19.205.196)
16:54:51 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
16:55:09 razetime joins (~quassel@49.207.230.181)
16:55:17 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:9875:ba39:3caf:182f) (Ping timeout: 246 seconds)
16:55:20 × ryanbooker quits (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
16:55:39 chexum joins (~quassel@gateway/tor-sasl/chexum)
16:58:34 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
17:00:08 × inversed quits (~inversed@bcdcac82.skybroadband.com) (Read error: Connection reset by peer)
17:01:19 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
17:01:38 inversed joins (~inversed@bcdcac82.skybroadband.com)
17:02:50 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
17:03:39 rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
17:04:26 × beefbambi quits (~beefbambi@37.19.205.196) (Ping timeout: 268 seconds)
17:04:40 beefbambi joins (~beefbambi@183.82.205.14)
17:07:16 × beefbambi quits (~beefbambi@183.82.205.14) (Read error: Connection reset by peer)
17:08:00 beefbambi joins (~beefbambi@183.82.205.14)
17:08:08 × rustisafungus quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
17:08:59 × morb quits (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Remote host closed the connection)
17:09:59 ubert joins (~Thunderbi@p200300ecdf264e0fa72579722f7ae10a.dip0.t-ipconnect.de)
17:10:40 × beefbambi quits (~beefbambi@183.82.205.14) (Read error: Connection reset by peer)
17:12:38 rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
17:13:07 morb joins (~morb@pool-72-80-94-112.nycmny.fios.verizon.net)
17:13:41 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 268 seconds)
17:14:08 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 255 seconds)
17:14:15 thegeekinside joins (~thegeekin@189.128.148.159)
17:14:35 chexum joins (~quassel@gateway/tor-sasl/chexum)
17:15:15 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
17:17:09 × rustisafungus quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 256 seconds)
17:17:09 beefbambi joins (~beefbambi@183.82.205.14)
17:17:15 × thegeekinside quits (~thegeekin@189.128.148.159) (Remote host closed the connection)
17:17:51 rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
17:21:09 iqubic joins (~avi@2601:602:9502:c70:7d73:32ff:58fe:6d27)
17:22:43 econo joins (uid147250@user/econo)
17:23:49 mauke[m] joins (~mauke@user/mauke)
17:25:08 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
17:31:45 × Ranhir quits (~Ranhir@157.97.53.139) (Read error: Connection reset by peer)
17:31:57 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
17:34:08 Ranhir joins (~Ranhir@157.97.53.139)
17:39:20 cheater_ joins (~Username@user/cheater)
17:42:11 × cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds)
17:42:15 cheater_ is now known as cheater
17:43:37 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 252 seconds)
17:44:22 Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net)
17:45:23 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
17:51:07 × Kaiepi quits (~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 260 seconds)
17:51:51 × gmg quits (~user@user/gehmehgeh) (Read error: Connection reset by peer)
17:52:07 gmg joins (~user@user/gehmehgeh)
17:53:59 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 256 seconds)
17:54:38 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
17:55:47 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 246 seconds)
17:56:14 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 268 seconds)
17:57:48 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
18:03:30 azimut joins (~azimut@gateway/tor-sasl/azimut)
18:03:46 × rustisafungus quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 272 seconds)
18:04:19 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
18:06:08 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
18:08:08 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
18:08:26 × dsrt^ quits (~dsrt@76.145.185.103) (Remote host closed the connection)
18:10:33 motherfsck joins (~motherfsc@user/motherfsck)
18:10:57 × razetime quits (~quassel@49.207.230.181) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
18:11:05 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
18:13:04 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
18:13:36 × CiaoSen quits (~Jura@p200300c9570d91002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
18:14:52 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
18:15:04 cheater_ joins (~Username@user/cheater)
18:16:59 × Guest323 quits (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds)
18:18:55 × cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds)
18:18:59 cheater_ is now known as cheater
18:20:14 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
18:20:16 Guest323 joins (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
18:21:32 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
18:22:57 × motherfsck quits (~motherfsc@user/motherfsck) (Quit: quit)
18:26:02 × thongpv87 quits (~thongpv87@2402:9d80:3a3:1f17:c464:b8b0:3a4b:b784) (Read error: Connection reset by peer)
18:26:04 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 252 seconds)
18:26:55 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
18:31:51 Kaiepi joins (~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net)
18:35:34 pennychase[m] joins (~pennychas@2001:470:69fc:105::1:3043)
18:36:04 × morb quits (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Remote host closed the connection)
18:42:33 morb joins (~morb@pool-72-80-94-112.nycmny.fios.verizon.net)
18:42:41 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 255 seconds)
18:44:25 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
18:49:49 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
18:50:38 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
19:03:39 × morb quits (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Remote host closed the connection)
19:06:24 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
19:08:08 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
19:13:26 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 272 seconds)
19:14:07 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
19:15:13 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
19:16:29 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
19:19:40 jero98772 joins (~jero98772@2800:484:1d80:d8ce:3490:26c5:1782:da8c)
19:26:48 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
19:27:43 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds)
19:28:03 rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
19:30:05 <kjlid[m]> https://paste.tomsmeding.com/2x70DaP0 <- Why is this pattern match non-exhaustive?
19:31:24 <geekosaur> did you type that into ghci?
19:32:04 <kjlid[m]> No. Will that give me more information?
19:32:26 × rustisafungus quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds)
19:32:42 <geekosaur> no. ghci doesn't group definitions together unless you bracket them with :{ and :}, so it's prone to throw such errors when putting a definition in a file wouldn't
19:33:18 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
19:33:22 <kjlid[m]> Alright
19:33:42 <geekosaur> and I asked because you apparently typed that in, because there's a typo in the error message (`Fehcted`)
19:34:04 <geekosaur> which makes me wonder what other context is missing
19:34:36 <kjlid[m]> ... No that is precisely why the pattern match is non-exhaustive
19:34:48 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
19:34:59 <geekosaur> oh, you typoed?
19:35:10 <geekosaur> oh right, there it is on line 3 🙂
19:35:10 <kjlid[m]> Dammit
19:35:11 <geekosaur> sorry
19:35:49 × fserucas quits (~fserucas@a85-138-107-42.cpe.netcabo.pt) (Ping timeout: 252 seconds)
19:36:02 jakalx joins (~jakalx@base.jakalx.net)
19:37:20 pavonia joins (~user@user/siracusa)
19:38:43 <kjlid[m]> https://impsyn.xyz/hpass/file?name=src/Security/Hpass/Add.hs&ci=tip does this look like something that is presentable?
19:40:29 <geekosaur> you probably want to swap those two error patterns at the end, as the catch-all will trigger before it can reach the SQLError case
19:42:31 <kjlid[m]> Which two do you mean?
19:43:28 <geekosaur> `Just hpe <- fromException e` catches everything, including the one that would be caught by `Just SQLError {sqlError = ErrorConstraint}`
19:43:47 <kjlid[m]> Just hpe and Just SQLError?
19:43:48 <kjlid[m]> I.e. line 55 and 56?
19:43:51 <geekosaur> yes
19:44:08 <kjlid[m]> That's interesting because it's actually catching the SQLError
19:44:18 <kjlid[m]> I'm getting an EntryAlreadyExists when I test this
19:44:19 <geekosaur> sorry, didn't spot the line numbers checkbox, or I'd have given line numbers
19:44:31 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
19:44:53 cheater_ joins (~Username@user/cheater)
19:44:58 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:9875:ba39:3caf:182f)
19:45:02 <kjlid[m]> Yeah I'm an idiot that forgot to send the link with the line numbers enabled so :P
19:46:36 <geekosaur> anyone else around, am I being dumb or would two lines differing only in the first being `Just hpe <- fromException e` vs. `Just SQLError {sqlError = ErrorConstraint} <- fromException e` overlap with the first winning?
19:47:55 × cheater quits (~Username@user/cheater) (Ping timeout: 248 seconds)
19:47:58 cheater_ is now known as cheater
19:49:05 <geekosaur> anyway I don't see anything else that stands out
19:49:18 × terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Ping timeout: 265 seconds)
19:50:44 <mauke[m]> fromException is a dynamic cast
19:51:06 <mauke[m]> it'll only return Just if the type matches
19:51:23 terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1)
19:51:28 <geekosaur> :t throwError
19:51:30 <lambdabot> MonadError e m => e -> m a
19:51:55 <geekosaur> okay, I guess
19:55:03 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
19:55:10 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
19:56:09 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
19:56:18 Sgeo joins (~Sgeo@user/sgeo)
19:59:57 zer0bitz joins (~zer0bitz@196.244.192.62)
20:07:40 justsomeguy joins (~justsomeg@user/justsomeguy)
20:08:22 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
20:12:02 <justsomeguy> I just wrote a small cli utility to rename files. I'm using stack, and have all of the logic in ./app/Main.hs. It works if I run ''stack run $list_of_paths''. What stack command do I run to output a static binary?
20:12:30 Inst joins (~Inst@2601:6c4:4081:54f0:650a:508e:a414:6c91)
20:14:18 <justsomeguy> Seems like stack path | grep '^bin-path: ' | cut -d: -f2 gets me the path to the binary that stack build creates.
20:14:51 <geekosaur> did you try `stack install`?
20:15:58 <justsomeguy> I'm not sure what stack install does. I don't want to place the binary in an existing location in my PATH variable, though, so I'm hesitant to run it.
20:16:22 justsomeguy reads up on stack install on the wiki
20:16:32 <geekosaur> it doesn't do what you want, then
20:16:51 <geekosaur> it should be building a static binary (at least with respect to Haskell libraries) by default
20:17:30 <geekosaur> if you also want system-provided libraries to be static, stack can't do it by itself; you need to build in a container using a static libc (probably musl)
20:17:53 × APic quits (apic@apic.name) (Quit: [TLS] Client upgrade)
20:18:33 APic joins (apic@apic.name)
20:22:10 <justsomeguy> To do this properly I'll have to look up a guide on doing static builds with stack. But for now, finding the binary that stack created will work -- the target system is a VM with the same version of Fedora Linux that I'm running on my dev machine.
20:22:23 × terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Ping timeout: 264 seconds)
20:24:00 terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1)
20:24:30 <justsomeguy> Distributing software with all of its dependencies has become a challenge for me recently -- in multiple programming languages.
20:25:18 <geekosaur> glibc really really does not like being linked statically
20:27:06 <geekosaur> unfortunately the linker does not have a "link everything except libc statically" flag, which makes it difficult to include (say) -lz static but not -lc
20:27:28 <davean> There are GHC options for static linking though
20:28:16 <geekosaur> right, but static is the default for Haskell libraries; as I said, it's the system libraries where this comes up
20:28:17 × CAT_S quits (apic@brezn3.muc.ccc.de) (Quit: [TLS] Client upgrade)
20:28:26 <davean> I'm specificly talking about system libraries
20:28:28 CAT_S joins (apic@brezn3.muc.ccc.de)
20:28:35 <geekosaur> unless you're on Arch using their broken install
20:28:44 <davean> I don't believe GHC has an option to staticize Haskell libs, only dynamicize them
20:29:16 <geekosaur> -static
20:29:22 <geekosaur> (see the option list_
20:29:24 <davean> Huh, interesting
20:29:24 <geekosaur> )
20:29:59 <davean> I'm specificly talking about -optl
20:30:25 <davean> Usually the solution is to link a very old glibc
20:30:45 <geekosaur> yeh, but that just passes the option to the linker. which again gets you into not being able to control which libraries, specifically including libc, it appliesa to
20:31:14 <geekosaur> so you end up with either an ancient glibc or something like musl
20:32:28 <davean> yah I mean the kernel interface isn't static either
20:32:31 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
20:32:43 <davean> which is one of 2 reasons you don't want to staticly link your libc
20:32:50 <davean> (the other being glibc specific)
20:35:26 <davean> I don't know of any issues you actually run into passing the static options though outside the kernel interface issue
20:35:58 <davean> You can tell it to use musl just fine
20:40:20 <davean> I've played with it a few times, just never used it. It doesn't seem to be a good way to solve any actual problems.
20:43:36 <geekosaur> a lot of people think they really need to bundle everything possible into their executables for use with multiple machines. I feel like at some point you're wasting your time because if the target machine isn't bare metal then it already has a libc and core libs like zlib etc.
20:43:53 <geekosaur> well, they're
20:44:53 <davean> well the problem there is you can't bundle the kernel
20:45:01 <geekosaur> exactly
20:45:08 <davean> and you need a libc that matches the kernel because thats where linux's stability line is
20:45:20 <geekosaur> and if you're not byundling the kernel them the system already has libc etc.
20:45:21 <davean> the linux kernel API isn't stable
20:46:52 <geekosaur> that said, glibc does stupid versioning things such that the stability line leaks into apps/libraries linked against it, such that you can't reliably copy them between e.g. debian and fedora
20:46:55 <davean> which is also why there is no such thing as static linking on linux - can't exist
20:47:17 <davean> even libc can't call the kernel staticly
20:47:25 <geekosaur> which is what people are trying to work around with static linking
20:48:40 <davean> You can link against a stripped down glibc if you're targetting glibc
20:48:52 <davean> though there's no reason to think your systems are glibc systems
20:48:59 <davean> or well a lot of systems don't jsut have one libc
20:49:05 <justsomeguy> So I guess I'm stuck creating containers for everything or testing against multiple versions of system-level libraries.
20:50:05 justsomeguy realizes that he only read half the conversation and understands even less
20:51:04 Umeaboy joins (~Umeaboy@94-255-145-133.cust.bredband2.com)
20:51:35 <justsomeguy> Yeah, just ignore my last two comments.
21:06:21 kenran joins (~user@user/kenran)
21:06:41 × kenran quits (~user@user/kenran) (Remote host closed the connection)
21:08:44 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
21:14:43 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
21:16:02 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
21:24:49 <ddellacosta> Can anyone tell me or point me at docs for how to convert a Dhall union (sum) type like this: let A = < Foo | Bar > into a Haskell data type using UnionDecoder? https://hackage.haskell.org/package/dhall-1.31.1/docs/Dhall.html#t:UnionDecoder Is there something obvious I'm missing in the docs? Because this seems fairly basic. And the tutorial suggests there is a way to do so, as it introduces an
21:24:51 <ddellacosta> `Empty` constructor--but I don't see how that is converted (https://hackage.haskell.org/package/dhall-1.41.2/docs/Dhall-Tutorial.html#g:13)
21:29:40 <mauke[m]> "the linux kernel API isn't stable" - since when?
21:31:39 <davean> mauke[m]: since ever
21:31:48 <__monty__> ddellacosta: Have you tried the example in the docs you linked?
21:33:01 <geekosaur> mauke[m], the documented API is stable but only because glibc patches over the ever-shifting kernel ABI. note that a new kernel always comes with the kernel-facing parts of glibc unless the distro doesn't use glibc at all
21:33:28 <geekosaur> at least it does on debianoids
21:33:46 <davean> Yah kernel calls are added and removed EVERY VERSION
21:34:00 <davean> plus its calling convention can even switch out per-boot
21:34:18 <geekosaur> but I recall RH being the same way, modulo that they tend to stick to a fixed kernel+abi and patch around it
21:34:58 <geekosaur> I've poked around enough in glibc to be pretty horrified at just how fragile the whole house of cards is
21:35:04 <mauke[m]> what are examples of removed system calls?
21:35:59 gurkenglas joins (~gurkengla@p548ac72e.dip0.t-ipconnect.de)
21:36:02 <davean> https://abi-laboratory.pro/?view=timeline&l=linux is some info
21:36:18 <geekosaur> usually not user exposed. he said "kernel calls" for a reason. the documented syscall interface via glibc stays the same, the implementation thereof flows like water
21:36:41 <davean> Right the ABI is specified *at the libc level* not the kernel level
21:36:45 <davean> and thats the core problem we're talking about!
21:36:54 <mauke[m]> I don't care about libc
21:37:25 <davean> mauke[m]: ok, well then theres no calls you can believe you have.
21:37:31 <davean> because all the specs are for libc
21:37:49 wootehfoot joins (~wootehfoo@user/wootehfoot)
21:37:52 <mauke[m]> those are kernel-internal APIs; irrelevant for user space (unless I'm reading this diagram wrong)
21:38:16 <mauke[m]> as a I user, I don't really care that there is no stable binary driver interface
21:38:42 <mauke[m]> what matters to me is that the syscall ABI is stable, so my static binaries keep working
21:39:12 <geekosaur> but even thoose have been known to change. see the history of the stat syscalls
21:39:26 <davean> right, the reason you don't see them is the ABI is at the *libc level*
21:39:39 <davean> its specified what *libc provides* not how libc gets that from the kernel
21:40:01 <mauke[m]> not if I call into the kernel from asm, which is what I'm talking about
21:40:09 <davean> You litterly can't
21:40:15 <davean> Thats not something you can do on linuix
21:40:18 <davean> Like, litterly
21:40:32 <davean> linux loads a dynamic lib that says how to call the kernel
21:40:37 <mauke[m]> why not?
21:40:42 <davean> linux-vdso.so.1
21:40:48 <mauke[m]> oh, that
21:40:57 <davean> You litterly can't call the kernel from ASM
21:41:01 <mauke[m]> yeah, that's a speed optimization
21:41:04 <davean> No its not
21:41:13 <mauke[m]> but also unrelated to libc
21:41:47 <davean> the kernel does not consistently provide a call system
21:41:54 <davean> you have to use linux-vdso.so.1
21:42:19 <davean> There are ASM implimentations that will work a decent bit of the time, but definately not reliably
21:42:33 <mauke[m]> except it does and I've used int $128
21:42:55 <davean> When int is enabled, sure - which it might or might not be
21:43:23 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
21:43:43 JhonPedroza[m] joins (~jfpedroza@2001:470:69fc:105::2:e2a4)
21:44:11 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 248 seconds)
21:45:17 <davean> seriously though, you can test this yourself, try to boot a modern user space with like a 2.4 kernel
21:45:21 <davean> watch it all break :-p
21:45:27 <davean> See how much you have to fix
21:45:53 <davean> like IIRC libnuma has changed a lot in 5.x
21:46:15 <davean> as has some of the statfs and mounting stuff
21:46:42 <mauke[m]> that sounds like the opposite problem
21:46:54 <mauke[m]> i.e. userspace stuff taking advantage of newer kernel features
21:47:31 <davean> Sure do it the other direction too
21:47:42 <davean> neither will work
21:48:14 <davean> been there, dealt with both
21:48:24 <davean> had to fix them by hand
21:51:10 <mauke[m]> how did it break?
21:51:20 jmdaemon joins (~jmdaemon@user/jmdaemon)
22:09:48 rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
22:16:15 × kraftwerk28 quits (~kraftwerk@178.62.210.83) (Quit: ZNC 1.8.2 - https://znc.in)
22:17:07 × sagax quits (~sagax_nb@user/sagax) (Read error: Connection reset by peer)
22:19:30 cheater_ joins (~Username@user/cheater)
22:19:55 libertyprime joins (~libertypr@203.96.203.167)
22:22:30 × cheater quits (~Username@user/cheater) (Ping timeout: 260 seconds)
22:22:34 cheater_ is now known as cheater
22:23:19 justsomeguy joins (~justsomeg@user/justsomeguy)
22:25:32 kraftwerk28 joins (~kraftwerk@178.62.210.83)
22:35:13 × rustisafungus quits (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
22:41:28 × bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
22:44:47 money is now known as polo
22:45:29 polo is now known as Gambino
22:45:49 rustisafungus joins (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net)
22:47:49 × coot quits (~coot@213.134.171.3) (Quit: coot)
22:48:09 × finsternis quits (~X@23.226.237.192) (Read error: Connection reset by peer)
22:49:57 × Tuplanolla quits (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.)
22:51:37 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1)
22:55:39 × fizbin quits (~fizbin@user/fizbin) (Ping timeout: 260 seconds)
23:06:00 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
23:08:24 × ubert quits (~Thunderbi@p200300ecdf264e0fa72579722f7ae10a.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
23:08:50 ubert joins (~Thunderbi@p200300ecdf264e48f1e1a643b8c2e2bd.dip0.t-ipconnect.de)
23:17:54 <EvanR> davean, it's not necessary to use vdso to make a linux system call, that's just for speed up of certain calls
23:18:21 <EvanR> you can even make real calls that vdso is usually used for, but it's just slower
23:19:23 <EvanR> where ASM = x86-64
23:24:10 fizbin joins (~fizbin@user/fizbin)
23:33:46 morb joins (~morb@pool-72-80-94-112.nycmny.fios.verizon.net)
23:34:52 finsternis joins (~X@23.226.237.192)
23:36:16 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
23:36:52 × morb quits (~morb@pool-72-80-94-112.nycmny.fios.verizon.net) (Remote host closed the connection)
23:37:03 mikoto-chan joins (~mikoto-ch@164.5.249.78)
23:45:10 × cheater quits (~Username@user/cheater) (Read error: Connection reset by peer)
23:45:34 jmorris joins (uid537181@id-537181.uxbridge.irccloud.com)
23:46:39 cheater joins (~Username@user/cheater)
23:51:32 × fizbin quits (~fizbin@user/fizbin) (Remote host closed the connection)
23:51:51 fizbin joins (~fizbin@user/fizbin)
23:56:35 × fizbin quits (~fizbin@user/fizbin) (Ping timeout: 264 seconds)
23:58:13 × cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds)

All times are in UTC on 2022-12-26.