2024/02/10

2024-02-10 00:00:31 +0100coot(~coot@89.69.206.216) (Quit: coot)
2024-02-10 00:01:20 +0100haskellbridge(~haskellbr@069-135-003-034.biz.spectrum.com) (Ping timeout: 252 seconds)
2024-02-10 00:01:47 +0100haskellbridge(~haskellbr@069-135-003-034.biz.spectrum.com)
2024-02-10 00:01:47 +0100ChanServ+v haskellbridge
2024-02-10 00:05:54 +0100ell15(~ellie@user/ellie)
2024-02-10 00:05:56 +0100michalz(~michalz@185.246.207.197) (Quit: ZNC 1.8.2 - https://znc.in)
2024-02-10 00:06:07 +0100ell1(~ellie@user/ellie) (Ping timeout: 272 seconds)
2024-02-10 00:06:07 +0100ell15ell1
2024-02-10 00:08:11 +0100ell1(~ellie@user/ellie) (Client Quit)
2024-02-10 00:09:07 +0100ell15(~ellie@user/ellie)
2024-02-10 00:09:31 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2024-02-10 00:10:01 +0100ec(~ec@gateway/tor-sasl/ec)
2024-02-10 00:12:45 +0100[_](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2024-02-10 00:13:25 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2024-02-10 00:14:59 +0100arahael(~arahael@119-18-0-146.771200.syd.nbn.aussiebb.net) (Ping timeout: 264 seconds)
2024-02-10 00:15:20 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2024-02-10 00:15:36 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2024-02-10 00:16:02 +0100arahael(~arahael@119-18-0-146.771200.syd.nbn.aussiebb.net)
2024-02-10 00:16:11 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 252 seconds)
2024-02-10 00:18:28 +0100 <energizer> is it possible to write a function like this python one that randomly returns either an int or float? `def f(): return 1 if (random() < .5) else 1.0`
2024-02-10 00:19:35 +0100probie(cc0b34050a@user/probie) (Ping timeout: 256 seconds)
2024-02-10 00:19:48 +0100 <haskellbridge> <J​ade> `data IntOrFloat = AnInt Int | AFloat Float`
2024-02-10 00:20:09 +0100Ankhers(e99e97ef8e@2a03:6000:1812:100::2a2) (Ping timeout: 256 seconds)
2024-02-10 00:20:14 +0100bsima1(9d7e39c8ad@2a03:6000:1812:100::dd) (Ping timeout: 264 seconds)
2024-02-10 00:20:43 +0100samhh(7569f027cf@2a03:6000:1812:100::e4) (Ping timeout: 256 seconds)
2024-02-10 00:20:43 +0100kuruczgy(55b66dd3ae@2a03:6000:1812:100::127f) (Ping timeout: 256 seconds)
2024-02-10 00:20:43 +0100arcadewise(52968ed80d@2a03:6000:1812:100::3df) (Ping timeout: 256 seconds)
2024-02-10 00:20:43 +0100jakzale(6291399afa@user/jakzale) (Ping timeout: 256 seconds)
2024-02-10 00:20:44 +0100fgaz_(1ff9197ed6@2a03:6000:1812:100::11ea) (Ping timeout: 256 seconds)
2024-02-10 00:20:44 +0100filwisher(2e6936c793@2a03:6000:1812:100::170) (Ping timeout: 256 seconds)
2024-02-10 00:20:45 +0100samhh_samhh
2024-02-10 00:20:49 +0100chaitlatte0(ea29c0bb16@user/chaitlatte0) (Ping timeout: 264 seconds)
2024-02-10 00:20:49 +0100sus(1b7af6299f@user/zeromomentum) (Ping timeout: 264 seconds)
2024-02-10 00:20:49 +0100henrytill(e0180937c3@2a03:6000:1812:100::e8c) (Ping timeout: 264 seconds)
2024-02-10 00:20:49 +0100aniketd(32aa4844cd@2a03:6000:1812:100::dcb) (Ping timeout: 264 seconds)
2024-02-10 00:20:53 +0100lockywolf(~lockywolf@public.lockywolf.net) (Ping timeout: 240 seconds)
2024-02-10 00:21:17 +0100fluffyballoon(45ce440a48@2a03:6000:1812:100::e2) (Ping timeout: 256 seconds)
2024-02-10 00:21:17 +0100eso(a0662dfd5e@2a03:6000:1812:100::1266) (Ping timeout: 256 seconds)
2024-02-10 00:21:17 +0100whereiseveryone(206ba86c98@2a03:6000:1812:100::2e4) (Ping timeout: 256 seconds)
2024-02-10 00:21:17 +0100shreyasminocha(51fdc93eda@user/shreyasminocha) (Ping timeout: 256 seconds)
2024-02-10 00:21:17 +0100cpli(77fc530071@2a03:6000:1812:100::252) (Ping timeout: 256 seconds)
2024-02-10 00:21:17 +0100jkoshy(99b9359beb@user/jkoshy) (Ping timeout: 256 seconds)
2024-02-10 00:21:17 +0100ggb(a62ffbaf4f@2a03:6000:1812:100::3ac) (Ping timeout: 256 seconds)
2024-02-10 00:21:25 +0100rselim(ce261f06ff@user/milesrout) (Ping timeout: 264 seconds)
2024-02-10 00:21:25 +0100b0o(0e4a0bf4c9@2a03:6000:1812:100::1bf) (Ping timeout: 264 seconds)
2024-02-10 00:21:25 +0100akspecs(00cc8321af@sourcehut/user/akspecs) (Ping timeout: 264 seconds)
2024-02-10 00:21:25 +0100brettgilio(a35ba67324@2a03:6000:1812:100::260) (Ping timeout: 264 seconds)
2024-02-10 00:21:25 +0100lane(809450f172@2a03:6000:1812:100::1300) (Ping timeout: 264 seconds)
2024-02-10 00:21:54 +0100Ankhers(e99e97ef8e@2a03:6000:1812:100::2a2)
2024-02-10 00:21:55 +0100filwisher(2e6936c793@2a03:6000:1812:100::170)
2024-02-10 00:21:55 +0100jakzale(6291399afa@user/jakzale)
2024-02-10 00:21:55 +0100kuruczgy(55b66dd3ae@2a03:6000:1812:100::127f)
2024-02-10 00:21:58 +0100sus(1b7af6299f@user/zeromomentum)
2024-02-10 00:22:01 +0100mesaoptimizer(~mesaoptim@user/PapuaHardyNet) (Ping timeout: 264 seconds)
2024-02-10 00:22:03 +0100aniketd(32aa4844cd@2a03:6000:1812:100::dcb)
2024-02-10 00:22:11 +0100fluffyballoon(45ce440a48@2a03:6000:1812:100::e2)
2024-02-10 00:22:17 +0100fgaz_(1ff9197ed6@2a03:6000:1812:100::11ea)
2024-02-10 00:22:20 +0100henrytill(e0180937c3@2a03:6000:1812:100::e8c)
2024-02-10 00:22:43 +0100samhh_(7569f027cf@2a03:6000:1812:100::e4)
2024-02-10 00:22:46 +0100arcadewise(52968ed80d@2a03:6000:1812:100::3df)
2024-02-10 00:22:50 +0100chaitlatte0(ea29c0bb16@user/chaitlatte0)
2024-02-10 00:23:37 +0100probie(cc0b34050a@user/probie)
2024-02-10 00:23:38 +0100jkoshy(99b9359beb@user/jkoshy)
2024-02-10 00:23:43 +0100ggb(a62ffbaf4f@2a03:6000:1812:100::3ac)
2024-02-10 00:23:44 +0100shreyasminocha(51fdc93eda@user/shreyasminocha)
2024-02-10 00:23:44 +0100whereiseveryone(206ba86c98@2a03:6000:1812:100::2e4)
2024-02-10 00:23:48 +0100eso(a0662dfd5e@2a03:6000:1812:100::1266)
2024-02-10 00:23:48 +0100lane(809450f172@2a03:6000:1812:100::1300)
2024-02-10 00:23:49 +0100cpli(77fc530071@2a03:6000:1812:100::252)
2024-02-10 00:23:50 +0100brettgilio(a35ba67324@2a03:6000:1812:100::260)
2024-02-10 00:23:50 +0100rselim(ce261f06ff@user/milesrout)
2024-02-10 00:23:50 +0100akspecs(00cc8321af@sourcehut/user/akspecs)
2024-02-10 00:23:51 +0100b0o(0e4a0bf4c9@2a03:6000:1812:100::1bf)
2024-02-10 00:24:50 +0100lockywolf(~lockywolf@public.lockywolf.net)
2024-02-10 00:28:42 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-02-10 00:31:24 +0100mesaoptimizer(~mesaoptim@user/PapuaHardyNet)
2024-02-10 00:34:26 +0100bsima1(9d7e39c8ad@2a03:6000:1812:100::dd)
2024-02-10 00:34:54 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2024-02-10 00:35:11 +0100jargon(~jargon@157.sub-174-205-162.myvzw.com)
2024-02-10 00:37:31 +0100lockywolf(~lockywolf@public.lockywolf.net) (Ping timeout: 255 seconds)
2024-02-10 00:37:32 +0100eso(a0662dfd5e@2a03:6000:1812:100::1266) (Ping timeout: 255 seconds)
2024-02-10 00:37:32 +0100jkoshy(99b9359beb@user/jkoshy) (Ping timeout: 255 seconds)
2024-02-10 00:37:32 +0100probie(cc0b34050a@user/probie) (Ping timeout: 255 seconds)
2024-02-10 00:37:58 +0100rselim(ce261f06ff@user/milesrout) (Ping timeout: 255 seconds)
2024-02-10 00:37:58 +0100akspecs(00cc8321af@sourcehut/user/akspecs) (Ping timeout: 255 seconds)
2024-02-10 00:37:58 +0100ggb(a62ffbaf4f@2a03:6000:1812:100::3ac) (Ping timeout: 255 seconds)
2024-02-10 00:38:25 +0100mesaoptimizer(~mesaoptim@user/PapuaHardyNet) (Ping timeout: 255 seconds)
2024-02-10 00:38:25 +0100b0o(0e4a0bf4c9@2a03:6000:1812:100::1bf) (Ping timeout: 255 seconds)
2024-02-10 00:38:26 +0100cpli(77fc530071@2a03:6000:1812:100::252) (Ping timeout: 255 seconds)
2024-02-10 00:38:26 +0100shreyasminocha(51fdc93eda@user/shreyasminocha) (Ping timeout: 255 seconds)
2024-02-10 00:38:26 +0100whereiseveryone(206ba86c98@2a03:6000:1812:100::2e4) (Ping timeout: 255 seconds)
2024-02-10 00:38:52 +0100brettgilio(a35ba67324@2a03:6000:1812:100::260) (Ping timeout: 255 seconds)
2024-02-10 00:39:06 +0100bsima1(9d7e39c8ad@2a03:6000:1812:100::dd) (Ping timeout: 268 seconds)
2024-02-10 00:39:19 +0100lane(809450f172@2a03:6000:1812:100::1300) (Ping timeout: 255 seconds)
2024-02-10 00:43:29 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds)
2024-02-10 00:45:10 +0100 <dmj`> @def { intFloat = print =<< do generate arbitrary :: IO (Either Int Float) }
2024-02-10 00:45:12 +0100 <lambdabot> Defined.
2024-02-10 00:45:16 +0100 <dmj`> > intFloat
2024-02-10 00:45:17 +0100 <lambdabot> <IO ()>
2024-02-10 00:45:35 +0100mima(~mmh@aftr-62-216-211-164.dynamic.mnet-online.de) (Ping timeout: 264 seconds)
2024-02-10 00:51:05 +0100acidjnk_new(~acidjnk@p200300d6e737e760e9733025647b8ff6.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2024-02-10 00:54:45 +0100lockywolf(~lockywolf@public.lockywolf.net)
2024-02-10 00:54:59 +0100k_hachig(~k_hachig@138-51-84-217-lsn-2.nat.utoronto.ca) (Ping timeout: 260 seconds)
2024-02-10 00:55:53 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2024-02-10 00:57:08 +0100k_hachig(~k_hachig@138-51-84-217-lsn-2.nat.utoronto.ca)
2024-02-10 00:59:08 +0100qqq(~qqq@92.43.167.61) (Remote host closed the connection)
2024-02-10 01:01:42 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2024-02-10 01:01:55 +0100k_hachig(~k_hachig@138-51-84-217-lsn-2.nat.utoronto.ca) (Ping timeout: 276 seconds)
2024-02-10 01:09:00 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 268 seconds)
2024-02-10 01:12:51 +0100 <energizer> i guess that's a no
2024-02-10 01:13:22 +0100eso(a0662dfd5e@2a03:6000:1812:100::1266)
2024-02-10 01:13:23 +0100rselim(ce261f06ff@user/milesrout)
2024-02-10 01:13:25 +0100cpli(77fc530071@2a03:6000:1812:100::252)
2024-02-10 01:13:38 +0100akspecs(00cc8321af@sourcehut/user/akspecs)
2024-02-10 01:13:43 +0100b0o(0e4a0bf4c9@2a03:6000:1812:100::1bf)
2024-02-10 01:13:51 +0100ggb(a62ffbaf4f@2a03:6000:1812:100::3ac)
2024-02-10 01:13:54 +0100probie(cc0b34050a@user/probie)
2024-02-10 01:13:55 +0100shreyasminocha(51fdc93eda@user/shreyasminocha)
2024-02-10 01:13:58 +0100whereiseveryone(206ba86c98@2a03:6000:1812:100::2e4)
2024-02-10 01:14:00 +0100 <energizer> cuz that returns an IntOrFloat, not an int or a float
2024-02-10 01:14:05 +0100brettgilio(a35ba67324@2a03:6000:1812:100::260)
2024-02-10 01:14:15 +0100bsima1(9d7e39c8ad@2a03:6000:1812:100::dd)
2024-02-10 01:14:25 +0100lane(809450f172@2a03:6000:1812:100::1300)
2024-02-10 01:14:37 +0100 <ski> what would the type of the operation be ?
2024-02-10 01:15:05 +0100jkoshy(99b9359beb@user/jkoshy)
2024-02-10 01:15:53 +0100 <ski> you can have it produce a `Dynamic', if you want to ..
2024-02-10 01:16:20 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-02-10 01:16:50 +0100 <energizer> does Dynamic know that it can only be an int or a float, or does it think the result could be anything?
2024-02-10 01:17:29 +0100 <ski> > fromDynamic (toDyn (1 :: Int)) :: Maybe Int
2024-02-10 01:17:31 +0100 <lambdabot> Just 1
2024-02-10 01:17:43 +0100 <ski> > fromDynamic (toDyn False) :: Maybe Bool
2024-02-10 01:17:45 +0100 <lambdabot> Just False
2024-02-10 01:18:19 +0100 <ski> but you don't know that, statically, in Python, either
2024-02-10 01:18:45 +0100 <energizer> depends which type system you're using
2024-02-10 01:18:46 +0100rvalue(~rvalue@user/rvalue)
2024-02-10 01:19:13 +0100 <ski> if you want guarantee to only have an `Int' or `Float', then `Either' seems reasonable to me
2024-02-10 01:19:36 +0100 <ski> (or `IntOrFloat')
2024-02-10 01:20:45 +0100 <ski> there is no "check type of result", in Haskell. you must already know which type the result is, to be able to get information out of it
2024-02-10 01:21:55 +0100 <ski> ("types don't exist at run-time", is the usual way to express this)
2024-02-10 01:22:19 +0100Tuplanolla(~Tuplanoll@91-159-68-95.elisa-laajakaista.fi) (Quit: Leaving.)
2024-02-10 01:22:28 +0100 <haskellbridge> <m​agic_rb> Id ask, when would, the python ecample you gave, be useful? Having a variable be either a float or int randomly sounds like a nightmare (even in python)
2024-02-10 01:24:19 +0100mikoto-chan(~mikoto-ch@85-76-79-5-nat.elisa-mobile.fi) (Ping timeout: 255 seconds)
2024-02-10 01:25:09 +0100 <energizer> that is of course just a minimal proof of concept demo
2024-02-10 01:26:25 +0100 <ski> (there is no guarantee that the machine representation for `Int' is disjoint, non-overlapping, from the one for `Float'. iow, there could conceivably be a value of type `Int', and a value of type `Float', which would be represented exactly the same, at the machine level. in that case, it would, even thinking at the level of what's possible in machine code, be impossible to tell those two apart)
2024-02-10 01:26:52 +0100 <ski> it's unclear what you want to express, really
2024-02-10 01:27:10 +0100 <ski> (including how to use it, in that)
2024-02-10 01:27:21 +0100k_hachig(~k_hachig@38.147.245.17)
2024-02-10 01:31:41 +0100k_hachig(~k_hachig@38.147.245.17) (Ping timeout: 256 seconds)
2024-02-10 01:33:17 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2024-02-10 01:36:15 +0100pounce(~pounce@user/cute/pounce) (Remote host closed the connection)
2024-02-10 01:36:33 +0100pounce(~pounce@user/cute/pounce)
2024-02-10 01:40:53 +0100JordiGH(~jordi@user/jordigh) (Ping timeout: 240 seconds)
2024-02-10 01:40:54 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2024-02-10 01:49:48 +0100akegalj(~akegalj@93.139.213.76) (Quit: leaving)
2024-02-10 02:08:43 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 260 seconds)
2024-02-10 02:10:41 +0100bilegeek(~bilegeek@2600:1008:b095:d28b:f78d:21a3:76eb:796a)
2024-02-10 02:24:37 +0100Erutuon(~Erutuon@user/erutuon)
2024-02-10 02:29:05 +0100average(uid473595@user/average)
2024-02-10 02:29:12 +0100JordiGH(~jordi@user/jordigh)
2024-02-10 02:35:45 +0100k_hachig(~k_hachig@38.147.245.17)
2024-02-10 02:40:10 +0100k_hachig(~k_hachig@38.147.245.17) (Ping timeout: 256 seconds)
2024-02-10 02:42:16 +0100mikoto-chan(~mikoto-ch@85-76-79-5-nat.elisa-mobile.fi)
2024-02-10 02:44:21 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2024-02-10 02:44:42 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
2024-02-10 02:45:43 +0100Lord_of_Life_Lord_of_Life
2024-02-10 02:48:30 +0100Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Quit: o/)
2024-02-10 02:49:01 +0100JordiGH(~jordi@user/jordigh) (Ping timeout: 264 seconds)
2024-02-10 02:50:08 +0100Square(~Square@user/square) (Ping timeout: 268 seconds)
2024-02-10 02:51:07 +0100puke(~puke@user/puke) (Ping timeout: 276 seconds)
2024-02-10 02:51:17 +0100Sciencentistguy(~sciencent@hacksoc/ordinary-member)
2024-02-10 02:53:32 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2024-02-10 03:01:11 +0100arahael(~arahael@119-18-0-146.771200.syd.nbn.aussiebb.net) (Ping timeout: 264 seconds)
2024-02-10 03:09:25 +0100tabemann(~tabemann@2600:1700:7990:24e0:2256:a66a:95f3:ce25) (Quit: Leaving)
2024-02-10 03:09:33 +0100tabemann(~tabemann@2600:1700:7990:24e0:5d57:406e:8f63:35e6)
2024-02-10 03:14:54 +0100 <meejah> energizer: at some point, you have to "use the thing" -- that's presumably when you care whether it's a Float or Int, right? (So, at that point you decide ... whether haskell or python)
2024-02-10 03:19:21 +0100otto_s(~user@p4ff27c46.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2024-02-10 03:21:13 +0100otto_s(~user@p5b04400d.dip0.t-ipconnect.de)
2024-02-10 03:22:54 +0100k_hachig(~k_hachig@38.147.245.17)
2024-02-10 03:25:03 +0100boukenshaou(~Boukensha@223.178.86.127) (Remote host closed the connection)
2024-02-10 03:27:35 +0100k_hachig(~k_hachig@38.147.245.17) (Ping timeout: 264 seconds)
2024-02-10 03:32:07 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 255 seconds)
2024-02-10 03:33:53 +0100tessier(~treed@ec2-184-72-149-67.compute-1.amazonaws.com)
2024-02-10 03:37:53 +0100 <energizer> meejah: do i? print(x) works either way
2024-02-10 03:41:47 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-02-10 03:49:01 +0100mikoto-chan(~mikoto-ch@85-76-79-5-nat.elisa-mobile.fi) (Ping timeout: 264 seconds)
2024-02-10 03:53:32 +0100k_hachig(~k_hachig@38.147.245.17)
2024-02-10 03:55:18 +0100 <monochrom> That is why when my university decided to switch from Python to C for a 1st-year course, I supported it.
2024-02-10 03:56:19 +0100 <monochrom> Python simply has too many of these magics that you can take for granted and stop needing critical thinking and become anti-ready for the rest of CS.
2024-02-10 03:56:24 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2024-02-10 03:58:11 +0100k_hachig(~k_hachig@38.147.245.17) (Ping timeout: 264 seconds)
2024-02-10 03:58:42 +0100 <meejah> energizer: well, so would print in haskell .. but what's the point of the example if you don't care about the type?
2024-02-10 03:59:19 +0100 <energizer> and so would printf in C
2024-02-10 04:02:09 +0100JordiGH(~jordi@user/jordigh)
2024-02-10 04:04:27 +0100Achylles_(~Achylles_@45.182.57.103) (Ping timeout: 260 seconds)
2024-02-10 04:04:29 +0100 <energizer> meejah: the example shows a function that returns an instance of either of two types, and continues the program without me having to branch like i would have to for a discriminated union
2024-02-10 04:04:34 +0100 <geekosaur> printf in C very much cares
2024-02-10 04:08:13 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
2024-02-10 04:09:50 +0100derpyxdhs(~Thunderbi@user/derpyxdhs)
2024-02-10 04:10:42 +0100derpyxdhs(~Thunderbi@user/derpyxdhs) (Client Quit)
2024-02-10 04:11:05 +0100derpyxdhs(~Thunderbi@user/derpyxdhs)
2024-02-10 04:11:43 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 276 seconds)
2024-02-10 04:12:10 +0100 <monochrom> On the dark side, I recently made an assignment question that said "return true if condition foo, otherwise return a pair of numbers". >:)
2024-02-10 04:13:02 +0100 <monochrom> The question asked for pseudocode only, so I felt that we could be lax about that.
2024-02-10 04:13:21 +0100 <monochrom> But we had good students who asked "what madness is that????!!!" :)
2024-02-10 04:13:50 +0100 <int-e> data DarkerBool = True | False | Pair
2024-02-10 04:13:51 +0100 <monochrom> (So I felt like I brought up "C has union types..." haha)
2024-02-10 04:14:22 +0100 <int-e> . o O ( Or should I name the last one APair )
2024-02-10 04:14:54 +0100 <monochrom> Since there is no BPair, you don't need APair, just Pair. :)
2024-02-10 04:15:50 +0100 <int-e> But you wanted to return *a* pair.
2024-02-10 04:16:51 +0100 <energizer> i guess TAPL doesnt have union types
2024-02-10 04:16:54 +0100derpyxdhs(~Thunderbi@user/derpyxdhs) (Quit: derpyxdhs)
2024-02-10 04:18:15 +0100TonyStone(~TonyStone@074-076-057-186.res.spectrum.com) (Quit: Leaving)
2024-02-10 04:27:08 +0100Lycurgus(~georg@user/Lycurgus)
2024-02-10 04:35:17 +0100td_(~td@i53870913.versanet.de) (Ping timeout: 268 seconds)
2024-02-10 04:36:33 +0100td_(~td@i53870917.versanet.de)
2024-02-10 04:39:25 +0100JordiGH(~jordi@user/jordigh) (Ping timeout: 264 seconds)
2024-02-10 04:42:43 +0100JordiGH(~jordi@user/jordigh)
2024-02-10 04:46:49 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 255 seconds)
2024-02-10 04:48:35 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 264 seconds)
2024-02-10 04:58:48 +0100igemnace(~ian@user/igemnace)
2024-02-10 04:59:31 +0100JordiGH(~jordi@user/jordigh) (Ping timeout: 256 seconds)
2024-02-10 05:03:57 +0100EvanR(~EvanR@user/evanr) (Ping timeout: 268 seconds)
2024-02-10 05:06:44 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2024-02-10 05:07:58 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-02-10 05:12:02 +0100igemnace(~ian@user/igemnace) (Quit: WeeChat 4.2.1)
2024-02-10 05:12:49 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
2024-02-10 05:20:29 +0100sudden(~cat@user/sudden) (Ping timeout: 256 seconds)
2024-02-10 05:23:24 +0100 <haskellbridge> <m​aerwald> sm: I agree, why 'cabal install --lib' hasn't been killed with fire yet is beyond my understanding
2024-02-10 05:24:01 +0100 <haskellbridge> <m​aerwald> In general I find a lot of design decisions questionable. XDG was a disaster too.
2024-02-10 05:24:26 +0100 <haskellbridge> <m​aerwald> stackage support is half baked
2024-02-10 05:24:55 +0100 <haskellbridge> <m​aerwald> There's no clean replacement for cabal sandbox workflow
2024-02-10 05:25:03 +0100 <haskellbridge> <m​aerwald> There's no GC
2024-02-10 05:27:05 +0100 <haskellbridge> <m​aerwald> Installing libraries is one of the main use cases. But people keep saying "create a project and write a cabal.project file". Now you have to know about 'cabal install --lib --package-env=.' to avoid that unnecessary foo
2024-02-10 05:28:23 +0100mima(~mmh@aftr-62-216-211-201.dynamic.mnet-online.de)
2024-02-10 05:28:36 +0100 <haskellbridge> <m​aerwald> cabal.project format doesn't even have a specification. It's ad-hoc
2024-02-10 05:30:45 +0100 <sclv> we should improve env support until it is a clean sandbox replacement
2024-02-10 05:31:04 +0100sudden(~cat@user/sudden)
2024-02-10 05:32:11 +0100benjaminl(~benjaminl@user/benjaminl) (Remote host closed the connection)
2024-02-10 05:33:01 +0100benjaminl(~benjaminl@user/benjaminl)
2024-02-10 05:34:44 +0100 <haskellbridge> <s​m> should we though
2024-02-10 05:34:56 +0100 <haskellbridge> <m​aerwald> Since cabal is becoming more modular, I think it might make sense to write an alternative cli interface
2024-02-10 05:35:51 +0100ell15(~ellie@user/ellie) (Quit: Leaving)
2024-02-10 05:36:36 +0100 <haskellbridge> <s​m> or port the good bits (solver..) to stack ?
2024-02-10 05:36:52 +0100 <haskellbridge> <m​aerwald> That's something I thought about too
2024-02-10 05:37:14 +0100 <haskellbridge> <m​aerwald> But I don't like stacks defaults
2024-02-10 05:37:32 +0100 <haskellbridge> <s​m> well, that's two of us. It seems to be gaining ground :)
2024-02-10 05:38:10 +0100 <haskellbridge> <s​m> (the idea)
2024-02-10 05:38:15 +0100 <haskellbridge> <m​aerwald> In a sense, ghcup integrates better with stack now than with cabal ;)
2024-02-10 05:38:30 +0100 <haskellbridge> <m​aerwald> cabal still doesn't have any shell hooks
2024-02-10 05:38:41 +0100 <sclv> well my view is the lib approach is 90 percent there so lets make tickets enumerating the issues and fix them
2024-02-10 05:39:08 +0100 <sclv> and if you want a shell hook make a ticket for it, but i don’t know what we would want for it
2024-02-10 05:39:15 +0100 <sclv> or want it for
2024-02-10 05:39:37 +0100 <haskellbridge> <m​aerwald> There's already a ticket for it
2024-02-10 05:39:48 +0100ell15(~ellie@user/ellie)
2024-02-10 05:39:49 +0100 <haskellbridge> <m​aerwald> People have been asking about it many times
2024-02-10 05:39:57 +0100 <haskellbridge> <s​m> I realise you (both) know cabal much better than I, but do you think that's really possible ? It seems like people have been trying to get there for many years
2024-02-10 05:40:34 +0100 <haskellbridge> <m​aerwald> https://github.com/haskell/cabal/issues/7394
2024-02-10 05:41:20 +0100 <sclv> just saw that. i bet with the new cabal custom setup redesign they’re working on we can implement shell hooks as a library!
2024-02-10 05:43:23 +0100 <haskellbridge> <m​aerwald> sm: the thing is... I find contributing to stack easier, but cabal overall has more development traction
2024-02-10 05:44:27 +0100 <haskellbridge> <s​m> but is it reaching the goal of a clean inner & outer design and UX that makes users happy do you think
2024-02-10 05:45:07 +0100 <haskellbridge> <s​m> is tech debt going down or is it keeping pace
2024-02-10 05:45:21 +0100 <haskellbridge> <m​aerwald> The other problem is the disconnection between stack and Cabal (the library) development, leading to frequent issues
2024-02-10 05:45:56 +0100 <sclv> the tech debt is going down
2024-02-10 05:46:28 +0100 <sclv> its just that every fix has three knock on consequences to obscure use cases so its slow and painful
2024-02-10 05:46:58 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Quit: Leaving)
2024-02-10 05:47:14 +0100 <sclv> eg someone just did a super nice cleanup to a feature that seemed weird and unused and it turned out there was a single user — but it was hls! so it had to be reverted
2024-02-10 05:47:16 +0100 <haskellbridge> <m​aerwald> stack codebase is magnitudes cleaner than cabal-install imo. Most of the dragons are in pantry.
2024-02-10 05:47:27 +0100 <haskellbridge> <m​aerwald> I don't understand why they designed it at all
2024-02-10 05:47:31 +0100 <haskellbridge> <m​aerwald> It's overengineered
2024-02-10 05:47:52 +0100 <haskellbridge> <m​aerwald> cabal just uses files and that works well
2024-02-10 05:47:55 +0100 <sclv> pantry? yeh. there was a period where lots of people just fell in love with content addressable stores
2024-02-10 05:48:16 +0100 <sclv> they’re such a fun idea that people just want to put em everywhere
2024-02-10 05:48:29 +0100 <haskellbridge> <m​aerwald> That shit is really hard to understand how it interacts with Cabal
2024-02-10 05:48:49 +0100 <haskellbridge> <s​m> wasn't the point of that to improve caching and reuse of installed deps
2024-02-10 05:49:15 +0100 <haskellbridge> <m​aerwald> I'm not aware it actually made anything faster lol
2024-02-10 05:49:28 +0100 <sclv> pantry? it doesn’t do that. its just another store. it reinvents the filesystem
2024-02-10 05:49:30 +0100aforemny(~aforemny@2001:9e8:6cfa:c300:ed38:1b4d:cf6e:9f22)
2024-02-10 05:49:41 +0100aforemny_(~aforemny@i59F516EA.versanet.de) (Ping timeout: 240 seconds)
2024-02-10 05:49:42 +0100 <sclv> people don’t appreciate how well engineered filesystems are
2024-02-10 05:49:57 +0100 <haskellbridge> <m​aerwald> Agreed
2024-02-10 05:50:17 +0100 <haskellbridge> <s​m> I remember first experiencing proper reuse of deps with stack
2024-02-10 05:50:19 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-02-10 05:50:50 +0100 <haskellbridge> <s​m> so it did something right
2024-02-10 05:51:03 +0100 <sclv> stack existed without pantry for years. the cutover didn’t bring new features for end users
2024-02-10 05:51:18 +0100 <haskellbridge> <m​aerwald> They implemented nix style store earlier than cabal, that's all
2024-02-10 05:51:49 +0100 <sclv> its not nix style because its a single fixed set
2024-02-10 05:51:50 +0100 <haskellbridge> <s​m> when you say nix style.. this is shorthand for content-addressable style right
2024-02-10 05:52:13 +0100 <sclv> pantry actually postdates cabal v2
2024-02-10 05:52:34 +0100 <sclv> the store in cabal is for installed packages. pantry is a design for the package repo — the source
2024-02-10 05:53:25 +0100mima(~mmh@aftr-62-216-211-201.dynamic.mnet-online.de) (Ping timeout: 255 seconds)
2024-02-10 05:53:36 +0100 <haskellbridge> <m​aerwald> You can have different versions of one library installed with stack
2024-02-10 05:54:35 +0100 <haskellbridge> <m​aerwald> They even used to support the cabal sover via cli or something, but it was removed
2024-02-10 05:55:14 +0100 <haskellbridge> <s​m> yes, that was a pity but understandable at the time. Someone should add it back
2024-02-10 05:55:55 +0100 <sclv> right but the different versions are just.. different versions. not nix hashed as far as i know, just like a classic packagedb
2024-02-10 05:55:56 +0100 <haskellbridge> <m​aerwald> I'm guessing the API is mostly stable of cabal-install-solver sclv?
2024-02-10 05:56:23 +0100 <sclv> oh yeah solver api very stable and now its a standalone lib even
2024-02-10 05:57:02 +0100 <haskellbridge> <m​aerwald> I might take a look at it when I fall sick again and have too much free time 😂
2024-02-10 05:57:31 +0100hehelego(~hehelego@185.101.92.208)
2024-02-10 05:58:41 +0100Guest12(~Guest12@185.101.92.208)
2024-02-10 05:59:24 +0100 <haskellbridge> <s​m> hope you fall healthy and get a burst of energy instead!
2024-02-10 05:59:24 +0100 <haskellbridge> <m​aerwald> It's just the feature surface is so big of those tools. I wish it was more unix style pipeline of many small interfaces.
2024-02-10 06:00:14 +0100 <haskellbridge> <s​m> re cabal success.. if inner tech debt is going down that's good, but outer UX debt seems to change at glacial pace. From the outside cabal doesn't seem to take that seriously.
2024-02-10 06:00:26 +0100Guest12(~Guest12@185.101.92.208) (Client Quit)
2024-02-10 06:00:43 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 256 seconds)
2024-02-10 06:00:46 +0100 <haskellbridge> <m​aerwald> E.g. one executable to create an install plan, another to consume and execute it, etc
2024-02-10 06:00:56 +0100TheCoffeMaker_(~TheCoffeM@186.137.141.113)
2024-02-10 06:00:58 +0100 <sclv> we need good ux proposals and designs. we mainly get under designed wish lists
2024-02-10 06:01:16 +0100 <haskellbridge> <m​aerwald> More like FreeBSD does things, but that also has difficult sides
2024-02-10 06:01:31 +0100 <sclv> and we have engineers as devs, not enough ux contributers
2024-02-10 06:02:22 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
2024-02-10 06:04:50 +0100 <haskellbridge> <m​aerwald> sm: it's hard to change UX fundamentally for something that's in wide use... v1 vs v2 was such an attempt and it did indeed cause a lot of churn
2024-02-10 06:07:00 +0100 <haskellbridge> <m​aerwald> That's why I like the idea of alternative projects doing different interfaces. If it doesn't work, the project just dies, if it works, we can deprecate the other or just keep both
2024-02-10 06:07:25 +0100 <haskellbridge> <s​m> indeed, more experiments is good! faster evolution
2024-02-10 06:07:51 +0100 <haskellbridge> <m​aerwald> Trying to retrofit all sorts of ideas onto existing cabal-install UX is just hard
2024-02-10 06:07:57 +0100 <haskellbridge> <s​m> modularity++
2024-02-10 06:08:05 +0100 <haskellbridge> <m​aerwald> Yeah
2024-02-10 06:08:09 +0100k_hachig(~k_hachig@38.147.245.17)
2024-02-10 06:10:29 +0100phma(phma@2001:5b0:212a:9908:9016:d26e:e7d5:a1b0) (Read error: Connection reset by peer)
2024-02-10 06:11:24 +0100phma(phma@2001:5b0:210d:fe68:e240:a279:f60d:a263)
2024-02-10 06:13:01 +0100k_hachig(~k_hachig@38.147.245.17) (Ping timeout: 264 seconds)
2024-02-10 06:13:29 +0100haskellbridge<s​m> wonders if Cabal and cabal-install manuals should be split
2024-02-10 06:13:51 +0100 <sclv> i would love that
2024-02-10 06:24:27 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2024-02-10 06:25:22 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 255 seconds)
2024-02-10 06:25:35 +0100rosco(~rosco@175.136.156.77)
2024-02-10 06:26:22 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2024-02-10 06:26:54 +0100 <haskellbridge> <s​m> I would enjoy doing that, if it were my job. Too big for free work I think
2024-02-10 06:27:41 +0100rosco(~rosco@175.136.156.77) (Client Quit)
2024-02-10 06:50:07 +0100k_hachig(~k_hachig@38.147.245.17)
2024-02-10 06:51:21 +0100danza(~danza@151.46.176.186)
2024-02-10 06:57:31 +0100k_hachig(~k_hachig@38.147.245.17) (Ping timeout: 256 seconds)
2024-02-10 07:02:23 +0100mulk(~mulk@pd9514714.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2024-02-10 07:05:22 +0100mulk(~mulk@p5b2dc431.dip0.t-ipconnect.de)
2024-02-10 07:10:09 +0100takuan(~takuan@178.116.218.225)
2024-02-10 07:21:54 +0100mima(~mmh@89.207.171.141)
2024-02-10 07:28:22 +0100mima(~mmh@89.207.171.141) (Ping timeout: 255 seconds)
2024-02-10 07:29:24 +0100mima(~mmh@89.207.171.141)
2024-02-10 07:36:57 +0100mima(~mmh@89.207.171.141) (Ping timeout: 260 seconds)
2024-02-10 07:37:13 +0100finsternis(~X@23.226.237.192) (Remote host closed the connection)
2024-02-10 07:37:53 +0100mima(~mmh@89.207.171.141)
2024-02-10 07:44:49 +0100mima(~mmh@89.207.171.141) (Ping timeout: 264 seconds)
2024-02-10 07:45:05 +0100Raspbelly(~Raspbelly@host-213-235-142-6.ip.topnet.cz)
2024-02-10 07:45:27 +0100mima(~mmh@89.207.171.141)
2024-02-10 07:48:57 +0100bilegeek(~bilegeek@2600:1008:b095:d28b:f78d:21a3:76eb:796a) (Quit: Leaving)
2024-02-10 07:54:11 +0100k_hachig(~k_hachig@38.147.245.17)
2024-02-10 07:55:45 +0100mima(~mmh@89.207.171.141) (Ping timeout: 256 seconds)
2024-02-10 07:58:43 +0100k_hachig(~k_hachig@38.147.245.17) (Ping timeout: 256 seconds)
2024-02-10 08:21:23 +0100mima(~mmh@89.207.171.141)
2024-02-10 08:27:12 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2024-02-10 08:31:15 +0100kimiamania4648(~65804703@user/kimiamania) (Quit: PegeLinux)
2024-02-10 08:31:25 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2024-02-10 08:32:53 +0100kimiamania4648(~65804703@user/kimiamania)
2024-02-10 08:33:52 +0100arahael(~arahael@119.18.0.146)
2024-02-10 08:34:19 +0100img(~img@user/img)
2024-02-10 08:34:58 +0100mima(~mmh@89.207.171.141) (Ping timeout: 276 seconds)
2024-02-10 08:35:18 +0100mima(~mmh@89.207.171.141)
2024-02-10 08:36:39 +0100kimiamania46483(~65804703@user/kimiamania)
2024-02-10 08:40:24 +0100kimiamania4648(~65804703@user/kimiamania) (Ping timeout: 268 seconds)
2024-02-10 08:40:24 +0100kimiamania46483kimiamania4648
2024-02-10 08:43:25 +0100harveypwca(~harveypwc@2601:246:c201:d680:59a0:7761:1557:ead5)
2024-02-10 08:43:58 +0100mima(~mmh@89.207.171.141) (Ping timeout: 256 seconds)
2024-02-10 08:44:54 +0100mima(~mmh@89.207.171.141)
2024-02-10 08:47:12 +0100chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2024-02-10 08:48:29 +0100chiselfuse(~chiselfus@user/chiselfuse)
2024-02-10 08:51:13 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-02-10 08:52:29 +0100mima(~mmh@89.207.171.141) (Ping timeout: 240 seconds)
2024-02-10 08:53:27 +0100RaspbellySwirl(~Raspbelly@host-213-235-142-6.ip.topnet.cz)
2024-02-10 08:53:28 +0100mima(~mmh@89.207.171.141)
2024-02-10 08:57:04 +0100Raspbelly(~Raspbelly@host-213-235-142-6.ip.topnet.cz) (Ping timeout: 276 seconds)
2024-02-10 08:59:14 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-02-10 09:00:58 +0100mulk(~mulk@p5b2dc431.dip0.t-ipconnect.de) (Ping timeout: 276 seconds)
2024-02-10 09:01:02 +0100benkard(~mulk@p5b2dc3b4.dip0.t-ipconnect.de)
2024-02-10 09:01:26 +0100benkardmulk
2024-02-10 09:02:05 +0100mima(~mmh@89.207.171.141) (Ping timeout: 240 seconds)
2024-02-10 09:03:16 +0100mima(~mmh@89.207.171.141)
2024-02-10 09:06:52 +0100acidjnk_new(~acidjnk@p200300d6e737e7742d33f4d70f70ba9d.dip0.t-ipconnect.de)
2024-02-10 09:11:53 +0100mima(~mmh@89.207.171.141) (Ping timeout: 252 seconds)
2024-02-10 09:12:30 +0100econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-02-10 09:12:44 +0100mima(~mmh@89.207.171.141)
2024-02-10 09:18:03 +0100mima(~mmh@89.207.171.141) (Ping timeout: 256 seconds)
2024-02-10 09:29:08 +0100danza(~danza@151.46.176.186) (Read error: Connection reset by peer)
2024-02-10 09:29:18 +0100bilegeek(~bilegeek@2600:1008:b095:d28b:f78d:21a3:76eb:796a)
2024-02-10 09:34:24 +0100gmg(~user@user/gehmehgeh)
2024-02-10 09:35:38 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-02-10 09:39:44 +0100mima(~mmh@89.207.171.141)
2024-02-10 09:44:27 +0100danza(~danza@151.46.217.222)
2024-02-10 09:45:36 +0100harveypwca(~harveypwc@2601:246:c201:d680:59a0:7761:1557:ead5) (Quit: Leaving)
2024-02-10 09:50:07 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2024-02-10 09:50:56 +0100mima(~mmh@89.207.171.141) (Ping timeout: 252 seconds)
2024-02-10 09:51:41 +0100mima(~mmh@89.207.171.141)
2024-02-10 09:56:52 +0100_d0t(~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 255 seconds)
2024-02-10 09:59:45 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
2024-02-10 10:00:08 +0100Tuplanolla(~Tuplanoll@91-159-68-95.elisa-laajakaista.fi)
2024-02-10 10:02:00 +0100mima(~mmh@89.207.171.141) (Remote host closed the connection)
2024-02-10 10:02:17 +0100mima(~mmh@89.207.171.141)
2024-02-10 10:02:55 +0100_d0t(~{-d0t-}@user/-d0t-/x-7915216)
2024-02-10 10:04:16 +0100danza(~danza@151.46.217.222) (Ping timeout: 268 seconds)
2024-02-10 10:09:25 +0100mima(~mmh@89.207.171.141) (Ping timeout: 264 seconds)
2024-02-10 10:10:02 +0100AlexZenon(~alzenon@94.233.241.194) (Quit: ;-)
2024-02-10 10:10:11 +0100mima(~mmh@89.207.171.141)
2024-02-10 10:11:28 +0100AlexNoo(~AlexNoo@94.233.241.194) (Quit: Leaving)
2024-02-10 10:16:48 +0100kimiamania4648(~65804703@user/kimiamania) (Quit: PegeLinux)
2024-02-10 10:16:51 +0100mima(~mmh@89.207.171.141) (Ping timeout: 256 seconds)
2024-02-10 10:17:22 +0100kimiamania46483(~65804703@user/kimiamania)
2024-02-10 10:17:40 +0100mima(~mmh@89.207.171.141)
2024-02-10 10:21:49 +0100Katarushisu16(~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net)
2024-02-10 10:22:59 +0100Katarushisu1(~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Ping timeout: 272 seconds)
2024-02-10 10:22:59 +0100Katarushisu16Katarushisu1
2024-02-10 10:24:22 +0100AlexNoo(~AlexNoo@94.233.241.194)
2024-02-10 10:26:17 +0100AlexZenon(~alzenon@94.233.241.194)
2024-02-10 10:26:41 +0100mima(~mmh@89.207.171.141) (Ping timeout: 252 seconds)
2024-02-10 10:27:17 +0100mima(~mmh@89.207.171.141)
2024-02-10 10:33:50 +0100mima(~mmh@89.207.171.141) (Ping timeout: 252 seconds)
2024-02-10 10:37:18 +0100hehelego(~hehelego@185.101.92.208) (Ping timeout: 256 seconds)
2024-02-10 10:37:55 +0100hehelego(~hehelego@185.101.92.208)
2024-02-10 10:39:55 +0100mima(~mmh@89.207.171.141)
2024-02-10 10:46:54 +0100mima(~mmh@89.207.171.141) (Ping timeout: 260 seconds)
2024-02-10 10:47:39 +0100mima(~mmh@89.207.171.141)
2024-02-10 10:50:40 +0100mima(~mmh@89.207.171.141) (Client Quit)
2024-02-10 10:51:14 +0100 <tomsmeding> okay apparently one cannot unsafeCoerce# between Word# and Double#
2024-02-10 10:51:34 +0100 <tomsmeding> I'm getting ASSEMBLER errors from GHC, that it can't type-check the assembly it's generating
2024-02-10 10:52:03 +0100 <tomsmeding> er, not from GHC, from the assembler, I guess
2024-02-10 10:52:45 +0100 <tomsmeding> how _do_ I safely do this, though? I want to reinterpret the bits in a Double as a Word, and vice-versa
2024-02-10 10:53:01 +0100 <tomsmeding> must I alloca and write and read from a Ptr?
2024-02-10 10:56:19 +0100 <tomsmeding> look at this error and savor it https://paste.tomsmeding.com/AofqoE4E
2024-02-10 10:56:27 +0100 <c_wraith> stgWord64ToDouble ?
2024-02-10 10:56:42 +0100 <c_wraith> check out stuff in GHC.Float
2024-02-10 10:57:32 +0100 <tomsmeding> c_wraith: what's the difference between castWord64ToDouble and stgWord64ToDouble
2024-02-10 10:57:39 +0100 <tomsmeding> but thanks, seems that's what I was looking for
2024-02-10 10:57:40 +0100 <c_wraith> the #s
2024-02-10 10:57:45 +0100 <tomsmeding> _oh_
2024-02-10 10:58:01 +0100 <tomsmeding> yay
2024-02-10 10:58:32 +0100 <tomsmeding> it's not every day you fuck up your haskell code so thoroughly that the assembler won't accept ghc's output :p
2024-02-10 10:59:07 +0100 <c_wraith> IIRC, x86 has different registers for floating-point values. Even when using the modern extensions
2024-02-10 10:59:20 +0100 <tomsmeding> yes that's true
2024-02-10 10:59:25 +0100 <tomsmeding> so it makes sense on reflection
2024-02-10 11:01:45 +0100mulk(~mulk@p5b2dc3b4.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2024-02-10 11:01:56 +0100 <tomsmeding> (it's also visible in the error: %xmm1 is one of the SSE registers, also use for individual floats, and %rbx is an (integer) general-purpose register; 'cmp' is refusing to operate on mixed inputs here)
2024-02-10 11:02:18 +0100 <tomsmeding> s/cmp/cmpxchg/
2024-02-10 11:02:47 +0100mulk(~mulk@p5b2dc153.dip0.t-ipconnect.de)
2024-02-10 11:02:59 +0100foul_owl(~kerry@157.97.134.164) (Ping timeout: 252 seconds)
2024-02-10 11:03:21 +0100B-J(~BenziJuni@232-148-209-31.dynamic.hringdu.is) (Quit: ZNC 1.8.2 - https://znc.in)
2024-02-10 11:04:16 +0100 <tomsmeding> yay no more asm type errors
2024-02-10 11:05:20 +0100danza(~danza@151.46.219.119)
2024-02-10 11:05:38 +0100Benzi-Junior(~BenziJuni@232-148-209-31.dynamic.hringdu.is)
2024-02-10 11:06:34 +0100hehelego(~hehelego@185.101.92.208) (Quit: Konversation terminated!)
2024-02-10 11:07:29 +0100xff0x(~xff0x@ai099196.d.east.v6connect.net) (Ping timeout: 268 seconds)
2024-02-10 11:09:00 +0100xff0x(~xff0x@178.255.149.135)
2024-02-10 11:17:25 +0100foul_owl(~kerry@174-21-148-34.tukw.qwest.net)
2024-02-10 11:18:02 +0100 <probie> Even without the different register type issue, you can't safely `unsafeCoerce#` from `Word#` to `Double#`, since a `Word#` may only be 32 bits (e.g. on 32-bit x86 or armv7) but a `Double#` is _always_ 64 bits
2024-02-10 11:18:19 +0100 <tomsmeding> (I did check that sizeOf on Double and Word matches before)
2024-02-10 11:18:37 +0100 <tomsmeding> I specifically need Word because atomicCasWordAddr# is a Word operation
2024-02-10 11:19:42 +0100tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz)
2024-02-10 11:26:54 +0100sphynx(~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288) (Quit: brb)
2024-02-10 11:29:41 +0100sphynx(~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288)
2024-02-10 11:33:54 +0100bilegeek(~bilegeek@2600:1008:b095:d28b:f78d:21a3:76eb:796a) (Quit: Leaving)
2024-02-10 11:37:11 +0100xff0x(~xff0x@178.255.149.135) (Ping timeout: 264 seconds)
2024-02-10 11:37:45 +0100Lycurgus(~georg@user/Lycurgus) (Quit: leaving)
2024-02-10 11:38:39 +0100xff0x(~xff0x@ai099196.d.east.v6connect.net)
2024-02-10 11:43:11 +0100rscastilho2024(~rscastilh@189.61.140.215)
2024-02-10 11:43:15 +0100mulk(~mulk@p5b2dc153.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2024-02-10 11:47:36 +0100mulk(~mulk@p5b2dc1d9.dip0.t-ipconnect.de)
2024-02-10 11:48:42 +0100rscastilho2024(~rscastilh@189.61.140.215) (Remote host closed the connection)
2024-02-10 11:59:14 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2024-02-10 12:14:51 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2024-02-10 12:16:30 +0100mmhat(~mmh@p200300f1c740afa3ee086bfffe095315.dip0.t-ipconnect.de)
2024-02-10 12:20:36 +0100Square(~Square@user/square)
2024-02-10 12:21:57 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-02-10 12:25:14 +0100mesaoptimizer(~mesaoptim@user/PapuaHardyNet)
2024-02-10 12:25:36 +0100fendor(~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c)
2024-02-10 12:31:43 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2024-02-10 12:40:20 +0100Achylles(~Achylles_@45.182.57.38)
2024-02-10 12:40:51 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-02-10 12:41:59 +0100foul_owl(~kerry@174-21-148-34.tukw.qwest.net) (Ping timeout: 264 seconds)
2024-02-10 12:47:25 +0100Square(~Square@user/square) (Ping timeout: 246 seconds)
2024-02-10 12:54:11 +0100foul_owl(~kerry@185.219.141.164)
2024-02-10 12:59:44 +0100danza(~danza@151.46.219.119) (Read error: Connection reset by peer)
2024-02-10 13:02:57 +0100emad(~emad@156.214.147.198)
2024-02-10 13:10:20 +0100puke(~puke@user/puke)
2024-02-10 13:19:10 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2024-02-10 13:28:19 +0100ell15(~ellie@user/ellie) (Read error: Connection reset by peer)
2024-02-10 13:29:16 +0100ell15(~ellie@user/ellie)
2024-02-10 13:40:46 +0100fendor(~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) (Remote host closed the connection)
2024-02-10 13:42:16 +0100mikoto-chan(~mikoto-ch@ip-83-134-169-166.dsl.scarlet.be)
2024-02-10 13:43:04 +0100 <haskellbridge> <J​ade> what are the naming conventions for transformer stacks?
2024-02-10 13:43:36 +0100 <haskellbridge> <J​ade> I have `type WhatShouldINameThis e m = IputT (ExceptT e m)`
2024-02-10 13:43:47 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-02-10 13:43:48 +0100 <haskellbridge> <J​ade> s/Iput/Input/
2024-02-10 13:44:19 +0100ell15(~ellie@user/ellie) (Read error: Connection reset by peer)
2024-02-10 13:45:10 +0100 <int-e> Hmm, they tend to be newtypes rather than type aliases; they tend to end in T for "transformer", and the rest is up to you... the name reflects a purpose you're using it for.
2024-02-10 13:45:41 +0100ell15(~ellie@user/ellie)
2024-02-10 13:48:05 +0100erty(~user@122.161.51.171)
2024-02-10 13:49:46 +0100erty(~user@122.161.51.171) ()
2024-02-10 13:50:04 +0100erty(~user@user/aeroplane)
2024-02-10 13:51:12 +0100alexherbo2(~alexherbo@2a02-8440-3141-cee7-04bb-1e17-4e40-aeda.rev.sfr.net)
2024-02-10 13:51:58 +0100coot(~coot@89-69-206-216.dynamic.chello.pl)
2024-02-10 13:55:25 +0100 <tomsmeding> AppT
2024-02-10 14:02:00 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2024-02-10 14:03:51 +0100tremon(~tremon@83.80.159.219)
2024-02-10 14:15:14 +0100billchenchina(~billchenc@103.152.35.21)
2024-02-10 14:19:41 +0100emad(~emad@156.214.147.198) (Ping timeout: 260 seconds)
2024-02-10 14:22:13 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-02-10 14:46:01 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 264 seconds)
2024-02-10 15:08:22 +0100Square(~Square@user/square)
2024-02-10 15:09:29 +0100sprout_(~quassel@2a02-a448-3a80-0-55d5-d61-58e7-1351.fixed6.kpn.net)
2024-02-10 15:12:16 +0100erty(~user@user/aeroplane) (Remote host closed the connection)
2024-02-10 15:13:16 +0100sprout(~quassel@2a02-a448-3a80-0-345a-4cb5-664-8455.fixed6.kpn.net) (Ping timeout: 256 seconds)
2024-02-10 15:14:18 +0100Natch(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Remote host closed the connection)
2024-02-10 15:18:21 +0100erty(~user@user/aeroplane)
2024-02-10 15:18:26 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2024-02-10 15:19:16 +0100driib(~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat)
2024-02-10 15:20:38 +0100driib(~driib@vmi931078.contaboserver.net)
2024-02-10 15:23:21 +0100k_hachig(~k_hachig@67.69.41.242)
2024-02-10 15:29:03 +0100mmhat(~mmh@p200300f1c740afa3ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2024-02-10 15:29:25 +0100mmhat(~mmh@p200300f1c740af4dee086bfffe095315.dip0.t-ipconnect.de)
2024-02-10 15:41:36 +0100k_hachig(~k_hachig@67.69.41.242) (Ping timeout: 256 seconds)
2024-02-10 15:49:22 +0100JordiGH(~jordi@user/jordigh)
2024-02-10 15:50:55 +0100Marcel(~Midjak@82.66.147.146)
2024-02-10 15:53:49 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-02-10 15:56:13 +0100k_hachig(~k_hachig@67.69.41.242)
2024-02-10 16:00:01 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
2024-02-10 16:00:41 +0100Marcel(~Midjak@82.66.147.146) (Quit: Leaving)
2024-02-10 16:00:57 +0100k_hachig(~k_hachig@67.69.41.242) (Ping timeout: 256 seconds)
2024-02-10 16:01:19 +0100MarciZ(~Midjak@82.66.147.146)
2024-02-10 16:01:41 +0100MarciZ(~Midjak@82.66.147.146) (Client Quit)
2024-02-10 16:01:50 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2024-02-10 16:02:21 +0100Midjak(~MarciZ@82.66.147.146)
2024-02-10 16:02:53 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-02-10 16:04:04 +0100k_hachig(~k_hachig@67.69.41.242)
2024-02-10 16:04:05 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-02-10 16:06:37 +0100Midjak(~MarciZ@82.66.147.146) (Client Quit)
2024-02-10 16:09:25 +0100JordiGH(~jordi@user/jordigh) (Ping timeout: 264 seconds)
2024-02-10 16:09:34 +0100Achylles(~Achylles_@45.182.57.38) (Remote host closed the connection)
2024-02-10 16:11:47 +0100JordiGH(~jordi@user/jordigh)
2024-02-10 16:12:35 +0100waleee(~waleee@176.10.144.38)
2024-02-10 16:22:01 +0100__monty__(~toonn@user/toonn)
2024-02-10 16:23:12 +0100Goodbye_Vincent(cyvahl@freakshells.net) (Quit: )
2024-02-10 16:24:03 +0100Goodbye_Vincent(cyvahl@freakshells.net)
2024-02-10 16:24:09 +0100Natch(~natch@92.34.7.158)
2024-02-10 16:26:35 +0100alexherbo2(~alexherbo@2a02-8440-3141-cee7-04bb-1e17-4e40-aeda.rev.sfr.net) (Remote host closed the connection)
2024-02-10 16:27:54 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2024-02-10 16:28:46 +0100TheCoffeMaker_(~TheCoffeM@186.137.141.113) (Ping timeout: 268 seconds)
2024-02-10 16:29:13 +0100JordiGH(~jordi@user/jordigh) (Ping timeout: 264 seconds)
2024-02-10 16:35:29 +0100k_hachig(~k_hachig@67.69.41.242) (Ping timeout: 260 seconds)
2024-02-10 16:36:16 +0100noumenon(~noumenon@113.51-175-156.customer.lyse.net)
2024-02-10 16:38:29 +0100zer0bitz(~zer0bitz@user/zer0bitz) (Ping timeout: 240 seconds)
2024-02-10 16:40:32 +0100pastly(~pastly@gateway/tor-sasl/pastly) (Ping timeout: 255 seconds)
2024-02-10 16:41:14 +0100pastly(~pastly@gateway/tor-sasl/pastly)
2024-02-10 16:43:26 +0100zer0bitz(~zer0bitz@user/zer0bitz)
2024-02-10 16:43:52 +0100k_hachig(~k_hachig@67.69.41.242)
2024-02-10 17:01:10 +0100alexherbo2(~alexherbo@2a02-8440-3141-cee7-04bb-1e17-4e40-aeda.rev.sfr.net)
2024-02-10 17:05:16 +0100k_hachig(~k_hachig@67.69.41.242) (Ping timeout: 255 seconds)
2024-02-10 17:22:28 +0100erty(~user@user/aeroplane) (Read error: Connection reset by peer)
2024-02-10 17:26:27 +0100benkard(~mulk@pd95140ae.dip0.t-ipconnect.de)
2024-02-10 17:27:00 +0100mulk(~mulk@p5b2dc1d9.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2024-02-10 17:27:00 +0100benkardmulk
2024-02-10 17:33:44 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-02-10 17:41:00 +0100k_hachig(~k_hachig@67.69.41.242)
2024-02-10 17:45:25 +0100ph88(~ph88@2001:1c05:2427:8300:7bb4:2686:ea1f:c942)
2024-02-10 17:49:45 +0100k_hachig(~k_hachig@67.69.41.242) (Ping timeout: 256 seconds)
2024-02-10 17:54:10 +0100masterbuilder(~quassel@user/masterbuilder) (Ping timeout: 268 seconds)
2024-02-10 17:54:25 +0100masterbuilder(~quassel@user/masterbuilder)
2024-02-10 17:57:35 +0100erty(~user@user/aeroplane)
2024-02-10 18:00:21 +0100Erutuon(~Erutuon@user/erutuon)
2024-02-10 18:00:37 +0100 <haskellbridge> <m​agic_rb> AppT seems to be the go to for "application transformer stacks"
2024-02-10 18:05:58 +0100yoo(~yo0O0o@104.28.226.106)
2024-02-10 18:12:31 +0100yoo(~yo0O0o@104.28.226.106) (Changing host)
2024-02-10 18:12:31 +0100yoo(~yo0O0o@user/mobivme)
2024-02-10 18:14:44 +0100k_hachig(~k_hachig@67.69.41.242)
2024-02-10 18:16:12 +0100zetef(~quassel@95.77.17.251)
2024-02-10 18:23:07 +0100k_hachig(~k_hachig@67.69.41.242) (Ping timeout: 260 seconds)
2024-02-10 18:23:47 +0100zetef(~quassel@95.77.17.251) (Remote host closed the connection)
2024-02-10 18:24:14 +0100econo_(uid147250@id-147250.tinside.irccloud.com)
2024-02-10 18:33:23 +0100elkcl(~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru) (Ping timeout: 260 seconds)
2024-02-10 18:34:21 +0100JordiGH(~jordi@user/jordigh)
2024-02-10 18:34:31 +0100k_hachig(~k_hachig@67.69.41.242)
2024-02-10 18:36:11 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 252 seconds)
2024-02-10 18:37:37 +0100ph88(~ph88@2001:1c05:2427:8300:7bb4:2686:ea1f:c942) (Ping timeout: 264 seconds)
2024-02-10 18:39:29 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 252 seconds)
2024-02-10 18:40:27 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2024-02-10 18:46:31 +0100tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net)
2024-02-10 18:46:56 +0100TonyStone(~TonyStone@074-076-057-186.res.spectrum.com)
2024-02-10 18:50:59 +0100mikoto-chan(~mikoto-ch@ip-83-134-169-166.dsl.scarlet.be) (Ping timeout: 264 seconds)
2024-02-10 18:51:09 +0100erty(~user@user/aeroplane) (Remote host closed the connection)
2024-02-10 18:52:38 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-02-10 18:52:48 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2024-02-10 18:56:28 +0100coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2024-02-10 19:02:17 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2024-02-10 19:04:13 +0100coot(~coot@89-69-206-216.dynamic.chello.pl)
2024-02-10 19:08:16 +0100a51(a51@gateway/vpn/protonvpn/a51)
2024-02-10 19:08:55 +0100bzm3r(~bzm3r@d205-250-253-229.bchsia.telus.net)
2024-02-10 19:08:59 +0100mikoto-chan(~mikoto-ch@ip-83-134-169-166.dsl.scarlet.be)
2024-02-10 19:09:38 +0100 <bzm3r> What happened to the "Essential Haskell Compiler" project? Almost all of its links seem to be dead, except for a GitHub repoistory
2024-02-10 19:12:17 +0100 <bzm3r> Are there alternatives you'd recommend if I am interested in learning how to write a Haskell compiler in a sequence of small steps?
2024-02-10 19:13:55 +0100 <geekosaur> have you looked at https://smunix.github.io/dev.stephendiehl.com/fun/index.html ?
2024-02-10 19:13:58 +0100yoo(~yo0O0o@user/mobivme) (Ping timeout: 255 seconds)
2024-02-10 19:14:34 +0100elkcl(~elkcl@broadband-95-84-226-240.ip.moscow.rt.ru)
2024-02-10 19:26:20 +0100gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2024-02-10 19:26:20 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2024-02-10 19:27:03 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643)
2024-02-10 19:27:08 +0100gmg(~user@user/gehmehgeh)
2024-02-10 19:27:32 +0100boukenshaou(~Boukensha@223.178.86.127)
2024-02-10 19:34:06 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2024-02-10 19:35:05 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-02-10 19:35:22 +0100mikoto-chan(~mikoto-ch@ip-83-134-169-166.dsl.scarlet.be) (Ping timeout: 276 seconds)
2024-02-10 19:35:44 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-02-10 19:36:08 +0100k_hachig(~k_hachig@67.69.41.242) (Ping timeout: 252 seconds)
2024-02-10 19:42:37 +0100JordiGH(~jordi@user/jordigh) (Ping timeout: 260 seconds)
2024-02-10 19:43:49 +0100 <haasn> is there a way to avoid getting "cannot load module X, it is a member of the hidden package blabla. you can run :set -package bla" without having to manually run "cabal install --lib <nameofpackage>" after every single ghc upgrade?
2024-02-10 19:43:50 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2024-02-10 19:44:03 +0100 <haasn> it seems this happens even for packages that should be available system-wide (e.g. managed by system package manager)
2024-02-10 19:44:13 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 264 seconds)
2024-02-10 19:44:55 +0100 <haasn> and it's really rather annoying as I have to do this for 20-30+ packages in order for basic things like xmonad reloading its configuration or even just `ghci` loading my ~/.ghci configuration to work
2024-02-10 19:45:14 +0100 <haasn> I feel like I'm missing something obvious about how this is *supposed* to work
2024-02-10 19:45:47 +0100fun-safe-math(~fun-safe-@c-24-21-106-247.hsd1.or.comcast.net)
2024-02-10 19:47:10 +0100 <geekosaur> xmonad is what's missing it, it really wants cabal v1 semantics but that's a big footgun
2024-02-10 19:47:13 +0100coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2024-02-10 19:47:36 +0100 <haasn> but ghci has the same issue
2024-02-10 19:47:45 +0100 <geekosaur> prob ably the easiest way around it is to use a stack-based setup b ecause xmonad will see the stack.yaml and use it and stack will do the rest
2024-02-10 19:47:48 +0100 <haasn> I wish I could do something like echo ":set -package *" >> ~/.ghci
2024-02-10 19:50:38 +0100rvalue(~rvalue@user/rvalue)
2024-02-10 19:51:24 +0100 <geekosaur> That said this sounds weird, anything from the system package manager should be in the global package db and always visible
2024-02-10 19:52:31 +0100pastly(~pastly@gateway/tor-sasl/pastly) (Remote host closed the connection)
2024-02-10 19:52:43 +0100mulk(~mulk@pd95140ae.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2024-02-10 19:53:15 +0100 <haskellbridge> <s​m> you probably can do something like that but it will seriously screw up your projects in future when you have forgotten about it
2024-02-10 19:53:49 +0100 <haskellbridge> <s​m> ghci's eager inheritance of parent .ghci files is a flaw I think
2024-02-10 19:54:04 +0100pastly(~pastly@gateway/tor-sasl/pastly)
2024-02-10 19:54:21 +0100 <haskellbridge> <s​m> ghci is too eager to inherit from parent .ghci files I think
2024-02-10 19:54:47 +0100 <haskellbridge> <s​m> you probably can do something like that but it will seriously waste your time in future when you have forgotten about it
2024-02-10 19:55:26 +0100mulk(~mulk@p5b112297.dip0.t-ipconnect.de)
2024-02-10 19:56:47 +0100 <c_wraith> haasn: wait, after every *ghc* version change? Library code isn't shared between different versions of GHC, at all.
2024-02-10 19:58:00 +0100 <geekosaur> for cabal install --lib? yes, the environment file will only be valid for a particular ghc version since it points into that ghs version's store
2024-02-10 19:58:08 +0100 <geekosaur> *ghc
2024-02-10 19:58:22 +0100 <c_wraith> but why would it say anything about a hidden package in that case?
2024-02-10 19:58:24 +0100 <geekosaur> oh, I misread
2024-02-10 19:58:36 +0100 <c_wraith> the whole store is going to be for the wrong version of GHC
2024-02-10 19:58:39 +0100rscastilho2024(rscastilho@189.61.140.215)
2024-02-10 19:58:53 +0100 <geekosaur> I'm also thinking that mixing system-installed packages and cabal-installed packages is problematic
2024-02-10 19:58:53 +0100pavonia(~user@user/siracusa)
2024-02-10 19:59:21 +0100 <c_wraith> oh. If they meant "system-managed version of GHC updated"... yikes
2024-02-10 19:59:52 +0100 <geekosaur> (and in fact buggy, per a comment in https://github.com/haskell/cabal/pull/9683)
2024-02-10 19:59:56 +0100 <c_wraith> system-managed versions of GHC are only for building system-level haskell tools.
2024-02-10 20:01:13 +0100rscastilho2024(rscastilho@189.61.140.215) (Remote host closed the connection)
2024-02-10 20:04:23 +0100 <haasn> which ghci # /usr/bin/ghci
2024-02-10 20:06:51 +0100sprout_sprout
2024-02-10 20:10:36 +0100troydm(~troydm@user/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset)
2024-02-10 20:11:19 +0100troydm(~troydm@user/troydm)
2024-02-10 20:17:47 +0100Lycurgus(~georg@user/Lycurgus)
2024-02-10 20:19:21 +0100a51(a51@gateway/vpn/protonvpn/a51) (Quit: WeeChat 4.2.1)
2024-02-10 20:21:29 +0100ph88(~ph88@2001:1c05:2427:8300:6f40:b726:5a18:8483)
2024-02-10 20:23:32 +0100mikess(~mikess@user/mikess)
2024-02-10 20:26:29 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 240 seconds)
2024-02-10 20:26:40 +0100barak(~barak@2a0d:6fc2:68c1:2600:ba5c:5700:a75b:5c2d)
2024-02-10 20:28:55 +0100barak(~barak@2a0d:6fc2:68c1:2600:ba5c:5700:a75b:5c2d) (Remote host closed the connection)
2024-02-10 20:29:25 +0100boukenshaou(~Boukensha@223.178.86.127) (Remote host closed the connection)
2024-02-10 20:31:54 +0100ld(~ld@137.220.68.193)
2024-02-10 20:34:42 +0100ld(~ld@137.220.68.193) (Quit: ld)
2024-02-10 20:35:38 +0100ld(~ld@137.220.68.193)
2024-02-10 20:36:12 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2024-02-10 20:37:02 +0100 <energizer> is there a function like fmap but that doesn't necessarily preserve the exact type of the container?
2024-02-10 20:37:03 +0100ld(~ld@137.220.68.193) (Remote host closed the connection)
2024-02-10 20:37:47 +0100drumi(~drumi@137.220.68.193)
2024-02-10 20:38:26 +0100 <tomsmeding> energizer: how would that work
2024-02-10 20:38:56 +0100drumi(~drumi@137.220.68.193) (Remote host closed the connection)
2024-02-10 20:39:42 +0100drumi(~drumi@137.220.68.193)
2024-02-10 20:40:03 +0100 <bzm3r> geekosaur yeah, i have, although it seems to have burned out too :(
2024-02-10 20:40:29 +0100 <energizer> like for a unit-step range type (range 1 5) that represents 1,2,3,4,5 and `fleximap \x->x^2 (range 1 5)` that returns [1, 4, 9, 16, 25] because the `range` type can't handle non-uninform steps
2024-02-10 20:40:37 +0100drumi(~drumi@137.220.68.193) (Remote host closed the connection)
2024-02-10 20:41:22 +0100ld(~ld@137.220.68.193)
2024-02-10 20:41:31 +0100 <tomsmeding> energizer: with the danger of overfitting to the example: in your example it sounds like you really want to first 1. "weaken" the container to one with more inhabitants (range -> list), then 2. do a normal fmap
2024-02-10 20:42:02 +0100 <geekosaur> stopped being fun for him, I guess
2024-02-10 20:42:18 +0100ld(~ld@137.220.68.193) (Remote host closed the connection)
2024-02-10 20:43:02 +0100ld(~ld@137.220.68.193)
2024-02-10 20:43:18 +0100 <geekosaur> energizer, note that if the range type has a Foldable instance this would work automatically (since Foldable is basically toList)
2024-02-10 20:43:23 +0100 <tomsmeding> there is this https://www.microsoft.com/en-us/research/wp-content/uploads/1992/01/student.pdf
2024-02-10 20:43:31 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Quit: So long and thanks for all the fish)
2024-02-10 20:43:37 +0100 <tomsmeding> right
2024-02-10 20:43:39 +0100ski. o O ( `(Foldable f,Unfoldable g) => f a -> g a' )
2024-02-10 20:43:47 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2024-02-10 20:43:49 +0100 <tomsmeding> :t \f -> fmap f . Data.Foldable.toList
2024-02-10 20:43:51 +0100 <lambdabot> Foldable t => (a -> b) -> t a -> [b]
2024-02-10 20:44:29 +0100ld(~ld@137.220.68.193) (Client Quit)
2024-02-10 20:45:16 +0100azr4e1(~azr4e1@137.220.68.193)
2024-02-10 20:45:20 +0100target_i(~target_i@217.175.14.39)
2024-02-10 20:46:08 +0100 <energizer> that parses as `(fmap f) . Data.Foldable.toList`, i take it?
2024-02-10 20:46:13 +0100 <tomsmeding> yes
2024-02-10 20:46:17 +0100 <tomsmeding> fmap f (toList l)
2024-02-10 20:46:35 +0100azr4e1(~azr4e1@137.220.68.193) (Remote host closed the connection)
2024-02-10 20:46:52 +0100JordiGH(~jordi@user/jordigh)
2024-02-10 20:47:20 +0100azr4e1(~azr4e1@137.220.68.193)
2024-02-10 20:51:35 +0100azr4e1(~azr4e1@137.220.68.193) (Client Quit)
2024-02-10 20:52:18 +0100azr4e1(~azr4e1@137.220.68.193)
2024-02-10 20:53:14 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-02-10 20:54:52 +0100michalz(~michalz@185.246.207.221)
2024-02-10 20:54:53 +0100Erutuon(~Erutuon@user/erutuon)
2024-02-10 20:55:23 +0100 <monochrom> I would prefer overfitting than overgeneralizing.
2024-02-10 20:55:25 +0100yoo(~yo0O0o@104.28.226.106)
2024-02-10 20:55:36 +0100 <monochrom> Ugh English is hard. s/than/to/
2024-02-10 20:56:55 +0100 <monochrom> In a math channel I saw the ultimate epitome "Hi, how do I solve equations?" (Eventually, we found out that they just needed the likes of 3x+4=1)
2024-02-10 20:57:15 +0100 <monochrom> I would really rather they just said "3x+4=1" in the first place.
2024-02-10 20:58:06 +0100 <tomsmeding> well, they probably didn't know there was a world more in the word "equation" then they had seen yet :)
2024-02-10 20:58:25 +0100 <tomsmeding> *than
2024-02-10 21:00:04 +0100 <darkling> TBH, I'd probably have started from that point, as most people with more complicated equations to solve probably know enough to ask the more specific question. :)
2024-02-10 21:00:19 +0100 <monochrom> I can sympathize with that. The corollary is then we answerers never answer the 1st question. We always ask back "what do you really mean? do you have an example?"
2024-02-10 21:00:46 +0100 <monochrom> And then I would rather provide a solution that overfits that example than rabbit-hole generalize. KISS.
2024-02-10 21:00:49 +0100mikoto-chan(~mikoto-ch@ip-83-134-169-166.dsl.scarlet.be)
2024-02-10 21:00:53 +0100 <tomsmeding> is that bad?
2024-02-10 21:00:59 +0100 <tomsmeding> oh right, you weren't saying it is
2024-02-10 21:01:22 +0100 <[exa]> there's a very interesting interplay of that rule (very pragmatic!) with "don't ask to ask just ask" (also very pragmatic!)
2024-02-10 21:01:29 +0100 <tomsmeding> if they were really asking the question in full generality, you'll find out soon enough after asking for an example :p
2024-02-10 21:01:55 +0100 <monochrom> [exa]: Have you heard my "don't answer to answer, just don't answer"? >:)
2024-02-10 21:02:05 +0100monochromis great at dualities!
2024-02-10 21:02:26 +0100tomsmedingis unsure how to apply that one
2024-02-10 21:02:31 +0100billchenchina(~billchenc@103.152.35.21) (Remote host closed the connection)
2024-02-10 21:03:02 +0100 <monochrom> Oh that's easy. If someone asks "hi can I ask a question? ne1 here?", give them absolute silence.
2024-02-10 21:03:05 +0100 <[exa]> monochrom: lol
2024-02-10 21:03:48 +0100tomsmedingneeded like 20 seconds to parse 'ne1'
2024-02-10 21:04:23 +0100 <tomsmeding> my first mental fix was 'en1', but I quickly discarded that as inappropriate
2024-02-10 21:04:24 +0100 <monochrom> I guess all the kids who once wrote "ne1" are now grown-up and have real lives.
2024-02-10 21:04:58 +0100 <monochrom> Remember "a/s/l?"? >:)
2024-02-10 21:05:12 +0100tomsmedingis probably too young
2024-02-10 21:05:38 +0100 <monochrom> It meant "hi what's your age? gender? location?"
2024-02-10 21:05:39 +0100rscastilho2024(rscastilho@189.61.140.215)
2024-02-10 21:05:41 +0100 <geekosaur> I'm in a channel where it's still regularly used 🙂
2024-02-10 21:05:47 +0100 <geekosaur> (ne1, not asl)
2024-02-10 21:05:56 +0100ski's replied "lsr" to that
2024-02-10 21:05:57 +0100rscastilho2024(rscastilho@189.61.140.215) (Remote host closed the connection)
2024-02-10 21:06:05 +0100yoo(~yo0O0o@104.28.226.106) (Remote host closed the connection)
2024-02-10 21:06:23 +0100 <ski> ("arithmetical shift left","logical shift right")
2024-02-10 21:06:45 +0100 <tomsmeding> I've always seen those as sal and slr though
2024-02-10 21:07:03 +0100 <ski> 6502
2024-02-10 21:07:06 +0100 <tomsmeding> not that the acronyms make any sense that way, but who said that ISAs needed to make any sense
2024-02-10 21:07:08 +0100 <tomsmeding> ah
2024-02-10 21:07:39 +0100 <mauke> "my other car is a cdr"
2024-02-10 21:12:13 +0100mud(~mud@user/kadoban)
2024-02-10 21:14:23 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
2024-02-10 21:16:02 +0100yoo(~yo0O0o@104.28.194.104)
2024-02-10 21:17:46 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-02-10 21:20:54 +0100yoo(~yo0O0o@104.28.194.104) (Changing host)
2024-02-10 21:20:54 +0100yoo(~yo0O0o@user/mobivme)
2024-02-10 21:23:15 +0100michalz(~michalz@185.246.207.221) (Quit: ZNC 1.8.2 - https://znc.in)
2024-02-10 21:25:57 +0100michalz(~michalz@185.246.207.203)
2024-02-10 21:28:07 +0100califax(~califax@user/califx) (Remote host closed the connection)
2024-02-10 21:29:31 +0100califax(~califax@user/califx)
2024-02-10 21:29:37 +0100harveypwca(~harveypwc@2601:246:c201:d680:59a0:7761:1557:ead5)
2024-02-10 21:29:57 +0100mulk(~mulk@p5b112297.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2024-02-10 21:30:11 +0100mmhat(~mmh@p200300f1c740af4dee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 4.2.1)
2024-02-10 21:31:51 +0100mulk(~mulk@pd9514242.dip0.t-ipconnect.de)
2024-02-10 21:32:14 +0100sp1ff(~user@c-24-21-45-157.hsd1.wa.comcast.net) (Read error: Connection reset by peer)
2024-02-10 21:34:24 +0100yoo(~yo0O0o@user/mobivme) (Remote host closed the connection)
2024-02-10 21:35:34 +0100 <cheater> hello
2024-02-10 21:35:46 +0100 <cheater> can someone upload some interesting haskell blackboards https://www.reddit.com/r/Blackboards
2024-02-10 21:36:07 +0100sp1ff(~user@c-24-21-45-157.hsd1.wa.comcast.net)
2024-02-10 21:41:59 +0100yoo(~yo0O0o@130.105.134.88)
2024-02-10 21:42:10 +0100rscastilho2024(rscastilho@189.61.140.215)
2024-02-10 21:44:35 +0100califax(~califax@user/califx) (Remote host closed the connection)
2024-02-10 21:45:05 +0100yoo(~yo0O0o@130.105.134.88) (Changing host)
2024-02-10 21:45:05 +0100yoo(~yo0O0o@user/mobivme)
2024-02-10 21:46:12 +0100califax(~califax@user/califx)
2024-02-10 21:46:34 +0100rscastilho2024(rscastilho@189.61.140.215) (Remote host closed the connection)
2024-02-10 21:49:58 +0100yoo(~yo0O0o@user/mobivme) (Quit: ZNC 1.8.2+deb2build5 - https://znc.in)
2024-02-10 21:50:34 +0100yoo(~yo0O0o@130.105.134.88)
2024-02-10 21:50:34 +0100yoo(~yo0O0o@130.105.134.88) (Changing host)
2024-02-10 21:50:34 +0100yoo(~yo0O0o@user/mobivme)
2024-02-10 21:51:27 +0100gooba(~gooba@90-231-13-185-no3430.tbcn.telia.com) (Remote host closed the connection)
2024-02-10 21:53:26 +0100bzm3r(~bzm3r@d205-250-253-229.bchsia.telus.net) (Quit: Client closed)
2024-02-10 21:53:49 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-02-10 21:55:51 +0100mikoto-chan(~mikoto-ch@ip-83-134-169-166.dsl.scarlet.be) (Ping timeout: 272 seconds)
2024-02-10 21:56:43 +0100gooba(~gooba@90-231-13-185-no3430.tbcn.telia.com)
2024-02-10 22:00:18 +0100califax(~califax@user/califx) (Remote host closed the connection)
2024-02-10 22:00:38 +0100califax(~califax@user/califx)
2024-02-10 22:00:39 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-02-10 22:14:17 +0100RaspbellySwirl(~Raspbelly@host-213-235-142-6.ip.topnet.cz) (Ping timeout: 260 seconds)
2024-02-10 22:19:50 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2024-02-10 22:20:43 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2024-02-10 22:21:23 +0100mud(~mud@user/kadoban) (Quit: quit)
2024-02-10 22:34:15 +0100Achylles(~Achylles_@45.182.57.38)
2024-02-10 22:34:36 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2024-02-10 22:37:30 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2024-02-10 22:41:25 +0100ft(~ft@p508dbdf9.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2024-02-10 22:43:13 +0100ft(~ft@p508db2e6.dip0.t-ipconnect.de)
2024-02-10 22:54:53 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
2024-02-10 22:55:44 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-02-10 22:59:55 +0100Achylles(~Achylles_@45.182.57.38) (Quit: Leaving)
2024-02-10 23:00:30 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-02-10 23:08:13 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2024-02-10 23:10:33 +0100Sgeo(~Sgeo@user/sgeo)
2024-02-10 23:13:22 +0100CrunchyFlakes_(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Quit: ZNC 1.8.2 - https://znc.in)
2024-02-10 23:19:17 +0100 <energizer> what are some Functors that arent Foldable
2024-02-10 23:22:28 +0100 <dsal> IO
2024-02-10 23:23:00 +0100alexherbo2(~alexherbo@2a02-8440-3141-cee7-04bb-1e17-4e40-aeda.rev.sfr.net) (Ping timeout: 250 seconds)
2024-02-10 23:23:26 +0100 <ski> `(rho ->)',`Cont o',`Coyoneda f',`Codensity f'
2024-02-10 23:24:12 +0100 <energizer> anything more accessible ski
2024-02-10 23:24:25 +0100 <int-e> (r ->) is very accessible?
2024-02-10 23:25:29 +0100michalz(~michalz@185.246.207.203) (Quit: ZNC 1.8.2 - https://znc.in)
2024-02-10 23:26:42 +0100 <c_wraith> three of those are essentially the same thing - the type variable only appears in the result of a function stored in the data type
2024-02-10 23:27:14 +0100 <c_wraith> Coyoneda, on the other hand, is complicated existential nonsense :)
2024-02-10 23:27:38 +0100 <c_wraith> But that also brings up... State
2024-02-10 23:27:49 +0100 <c_wraith> And of course, Reader r is the same as (r ->)
2024-02-10 23:29:06 +0100 <int-e> c_wraith: (a -> r) -> r <-- I wouldn't say that `a` appears in the result here :P
2024-02-10 23:29:14 +0100 <int-e> (which is Cont r)
2024-02-10 23:29:32 +0100 <c_wraith> eh. it's positive, but sure.
2024-02-10 23:29:41 +0100 <ncf> Coyoneda f is Foldable iff f is, innit
2024-02-10 23:31:08 +0100 <ncf> also this is probably silly but what's wrong with Foldable (Cont o) where toList k = k (:[])
2024-02-10 23:32:05 +0100 <ncf> what are the Foldable laws again
2024-02-10 23:32:13 +0100 <int-e> ncf: it doesn't type-check
2024-02-10 23:32:26 +0100 <int-e> (you don't get to pick o)
2024-02-10 23:32:27 +0100 <ski> hm, i suppose that works, for `Coyoneda f'
2024-02-10 23:32:39 +0100 <ncf> oh right
2024-02-10 23:32:49 +0100 <ncf> what's the version where o is universal called
2024-02-10 23:33:32 +0100 <int-e> I'm not sure, would that be Codensity Id?
2024-02-10 23:33:36 +0100 <ncf> ye
2024-02-10 23:33:52 +0100 <int-e> s/Id/Identity/
2024-02-10 23:35:01 +0100 <c_wraith> Honestly, I think Reader and State are the best "simple" examples
2024-02-10 23:35:17 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-02-10 23:35:25 +0100 <ncf> or Yoneda Identity
2024-02-10 23:35:41 +0100 <ski> something like `Finite rho => Foldable (rho ->)' works, i suppose
2024-02-10 23:39:10 +0100 <ncf> i guess if Foldable doesn't have any laws then toList _ = [] always works...
2024-02-10 23:40:07 +0100 <int-e> > length (1,2,3)
2024-02-10 23:40:09 +0100 <lambdabot> error:
2024-02-10 23:40:09 +0100 <lambdabot> • No instance for (Foldable ((,,) Integer Integer))
2024-02-10 23:40:09 +0100 <lambdabot> arising from a use of ‘length’
2024-02-10 23:40:19 +0100 <int-e> ah.
2024-02-10 23:40:22 +0100 <int-e> > length (1,2)
2024-02-10 23:40:23 +0100 <lambdabot> 1
2024-02-10 23:40:52 +0100 <int-e> I forgot that that particular "madness" is limited.
2024-02-10 23:41:56 +0100 <ncf> i don't know why people think this is madness. surely you don't expect length ("a", 1) to be 2 if it is to work on a uniform container
2024-02-10 23:43:07 +0100 <ncf> python brain damage i suppose
2024-02-10 23:43:30 +0100 <int-e> ncf: I'd still rather have a type error.
2024-02-10 23:44:22 +0100 <ncf> why?
2024-02-10 23:44:42 +0100 <geekosaur> because it's pretty much never what I intend
2024-02-10 23:44:52 +0100 <int-e> Because while I understand how the length becomes 1, I see a pair as having length 2.
2024-02-10 23:45:04 +0100 <int-e> Or no length at all.
2024-02-10 23:45:48 +0100 <ncf> so should (e,) just not be Foldable? that's silly
2024-02-10 23:47:22 +0100 <geekosaur> I would be happier if it weren't, because from a practical as opposed to theoretical POV it's almost always a mistake
2024-02-10 23:47:23 +0100 <int-e> Well I don't have a use for that instance and it confuses me. YMMV.
2024-02-10 23:48:33 +0100 <geekosaur> if I want it for some reason I could import it, as with Text.Show.Functions etc.
2024-02-10 23:49:07 +0100 <int-e> (IIRC people find it useful in the context of lens, but I forgot why, or why they have to use (,) instead of a custom pair type)
2024-02-10 23:49:35 +0100 <int-e> Anyway. None of this will remove the existing instance... it's just an opinion.
2024-02-10 23:51:09 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2024-02-10 23:52:29 +0100target_i(~target_i@217.175.14.39) (Quit: leaving)
2024-02-10 23:52:33 +0100 <c_wraith> But I want to be able to traverse over a tuple. That's almost never a bug.
2024-02-10 23:53:45 +0100 <c_wraith> there's a tension there with no good resolution. Traversable is sufficient to implement Foldable, but it sometimes makes more sense than Foldable
2024-02-10 23:56:11 +0100 <ncf> no it doesn't
2024-02-10 23:57:27 +0100 <monochrom> I like the opt-in import-if-you-want idea.
2024-02-10 23:57:49 +0100ph88(~ph88@2001:1c05:2427:8300:6f40:b726:5a18:8483) (Quit: Leaving)