Home liberachat/#haskell: Logs Calendar

Logs on 2023-04-07 (liberachat/#haskell)

00:01:01 × spacenautx quits (~spacenaut@user/spacenautx) (Quit: WeeChat 3.8)
00:01:15 × euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 260 seconds)
00:15:10 Guest9629 joins (~talismani@2601:200:c000:f7a0::fb70)
00:18:10 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 268 seconds)
00:22:33 × Athas quits (athas@sigkill.dk) (Ping timeout: 255 seconds)
00:24:46 chanceyan joins (~chanceyan@user/chanceyan)
00:31:24 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
00:39:50 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
00:42:32 × mikess quits (~sam@user/mikess) (Ping timeout: 246 seconds)
00:47:15 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
00:49:40 mikess joins (~sam@user/mikess)
00:51:33 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
00:51:33 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
00:51:33 wroathe joins (~wroathe@user/wroathe)
00:53:52 × perrierjouet quits (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Ping timeout: 248 seconds)
00:56:30 freeside joins (~mengwong@103.252.202.85)
01:01:20 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 268 seconds)
01:01:55 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
01:03:22 euandreh joins (~Thunderbi@189.6.18.7)
01:05:49 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds)
01:11:46 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
01:15:14 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
01:16:42 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
01:18:30 gmg joins (~user@user/gehmehgeh)
01:18:54 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
01:21:29 × gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds)
01:23:20 freeside joins (~mengwong@103.252.202.85)
01:23:32 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
01:26:05 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
01:28:45 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 250 seconds)
01:33:52 <jackdk> integral: That's it! Thanks.
01:36:23 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Quit: uppdattar datta)
01:37:37 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
01:37:53 freeside joins (~mengwong@103.252.202.85)
01:41:37 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
01:42:39 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 255 seconds)
01:46:31 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
01:48:06 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
01:52:43 × xff0x quits (~xff0x@2405:6580:b080:900:875d:6d45:375d:580d) (Ping timeout: 248 seconds)
01:53:15 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 260 seconds)
01:54:22 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
01:57:31 × Square quits (~Square4@user/square) (Ping timeout: 248 seconds)
02:00:00 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 248 seconds)
02:00:36 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
02:02:12 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
02:04:38 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
02:05:15 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:05:15 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:05:15 finn_elija is now known as FinnElija
02:20:48 × td_ quits (~td@i5387092B.versanet.de) (Ping timeout: 248 seconds)
02:20:52 ddellacosta joins (~ddellacos@146.70.166.132)
02:21:34 × vglfr quits (~vglfr@88.155.38.111) (Ping timeout: 265 seconds)
02:22:27 td_ joins (~td@i53870919.versanet.de)
02:23:05 nate1 joins (~nate@98.45.169.16)
02:28:07 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 250 seconds)
02:28:59 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
02:32:11 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
02:32:46 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
02:36:33 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds)
02:38:12 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
02:38:33 vglfr joins (~vglfr@88.155.38.111)
02:39:23 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 250 seconds)
02:40:11 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 248 seconds)
02:41:02 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
02:45:03 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
02:47:26 nate1 joins (~nate@98.45.169.16)
02:48:25 × dipper_ quits (~dipper@203.168.11.78) (Remote host closed the connection)
02:57:24 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
02:58:58 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
03:00:30 freeside joins (~mengwong@103.252.202.85)
03:03:52 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
03:04:12 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
03:06:20 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
03:09:30 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 255 seconds)
03:14:08 × srk quits (~sorki@user/srk) (Remote host closed the connection)
03:14:27 srk joins (~sorki@user/srk)
03:21:15 × npmania quits (~Thunderbi@138.199.21.242) (Remote host closed the connection)
03:30:42 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
03:32:15 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
03:32:30 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
03:34:11 × mtjm quits (~mutantmel@2604:a880:2:d0::208b:d001) (Remote host closed the connection)
03:35:04 mtjm joins (~mutantmel@2604:a880:2:d0::208b:d001)
03:35:28 × mei quits (~mei@user/mei) (Ping timeout: 248 seconds)
03:37:20 freeside joins (~mengwong@103.252.202.85)
03:38:21 slack1256 joins (~slack1256@186.11.84.67)
03:40:48 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 248 seconds)
03:42:07 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
03:42:17 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 265 seconds)
03:48:58 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 276 seconds)
03:49:46 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
03:52:50 npmania joins (~Thunderbi@121.128.226.31)
03:54:05 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Client Quit)
03:55:32 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
04:02:18 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
04:06:56 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds)
04:07:15 freeside joins (~mengwong@103.252.202.85)
04:07:26 systemhalted joins (~systemhal@130.51.137.77)
04:08:13 × Guest9629 quits (~talismani@2601:200:c000:f7a0::fb70) (Remote host closed the connection)
04:09:27 talismanick joins (~talismani@2601:200:c000:f7a0::fb70)
04:10:02 × systemhalted quits (~systemhal@130.51.137.77) (Remote host closed the connection)
04:10:46 barzo joins (~hd@31.223.42.54)
04:11:44 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 248 seconds)
04:14:06 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
04:16:33 × Fischmiep quits (~Fischmiep@user/Fischmiep) (Ping timeout: 255 seconds)
04:24:49 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 265 seconds)
04:25:02 freeside joins (~mengwong@103.252.202.85)
04:29:50 geekosaur joins (~geekosaur@xmonad/geekosaur)
04:39:10 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
04:39:28 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 248 seconds)
04:39:47 freeside joins (~mengwong@103.252.202.85)
04:43:50 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Client Quit)
04:44:34 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 268 seconds)
04:47:58 × mechap_ quits (~mechap@user/mechap) (Quit: WeeChat 3.8)
04:49:19 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
04:50:17 freeside joins (~mengwong@103.252.202.85)
04:52:59 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds)
04:53:36 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Client Quit)
04:54:35 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 248 seconds)
04:56:41 gmg joins (~user@user/gehmehgeh)
04:57:12 × pyook quits (~puke@user/puke) (Read error: Connection reset by peer)
04:57:27 pyook joins (~puke@user/puke)
05:03:02 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
05:03:08 freeside joins (~mengwong@103.252.202.85)
05:04:30 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
05:07:32 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 252 seconds)
05:15:47 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
05:23:31 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
05:32:44 mei joins (~mei@user/mei)
05:33:54 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
05:37:14 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds)
05:38:17 aliosablack joins (~chomwitt@2a02:587:7a0e:ae00:1ac0:4dff:fedb:a3f1)
05:39:53 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
05:42:17 <slack1256> Is there a type family that maps lifted types to their unlifted counterpart defined somewhere?
05:42:31 × vglfr quits (~vglfr@88.155.38.111) (Ping timeout: 240 seconds)
05:44:39 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
05:45:43 nate1 joins (~nate@98.45.169.16)
05:47:21 jakalx joins (~jakalx@base.jakalx.net)
05:48:20 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
05:49:19 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 268 seconds)
05:50:11 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 246 seconds)
05:52:54 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
05:53:27 codaraxis joins (~codaraxis@user/codaraxis)
05:54:55 freeside joins (~mengwong@103.252.202.85)
05:54:55 × codaraxis quits (~codaraxis@user/codaraxis) (Max SendQ exceeded)
05:55:45 codaraxis joins (~codaraxis@user/codaraxis)
05:56:52 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
05:57:25 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
05:57:45 trev joins (~trev@user/trev)
05:58:46 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
06:03:05 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Client Quit)
06:04:31 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
06:04:38 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
06:05:01 jpds joins (~jpds@gateway/tor-sasl/jpds)
06:06:17 × aliosablack quits (~chomwitt@2a02:587:7a0e:ae00:1ac0:4dff:fedb:a3f1) (Quit: Leaving)
06:06:38 chomwitt joins (~chomwitt@2a02:587:7a0e:ae00:1ac0:4dff:fedb:a3f1)
06:09:40 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 268 seconds)
06:09:54 <talismanick> How do I turn off -Wtype-defaults in GHCi?
06:10:22 <slack1256> talismanick: :set -Wno-type-defaults
06:10:33 <slack1256> That -Wno is usual for warning, options, etc.
06:10:41 <talismanick> slack1256: thanks!
06:12:05 × barzo quits (~hd@31.223.42.54) (Remote host closed the connection)
06:17:47 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
06:17:53 freeside joins (~mengwong@103.252.202.85)
06:20:22 todi joins (~snuckls@p5dca57c0.dip0.t-ipconnect.de)
06:20:31 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
06:22:33 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 255 seconds)
06:26:35 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
06:27:23 whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com)
06:29:59 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Client Quit)
06:31:40 × slack1256 quits (~slack1256@186.11.84.67) (Remote host closed the connection)
06:33:34 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
06:34:48 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
06:35:09 × tcard_ quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
06:36:48 tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
06:38:42 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds)
06:41:13 freeside joins (~mengwong@103.252.202.85)
06:43:42 kenran joins (~user@user/kenran)
06:44:35 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
06:47:40 × chanceyan quits (~chanceyan@user/chanceyan) (Quit: Client closed)
06:48:33 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 250 seconds)
06:49:52 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
06:55:45 chanceyan joins (~chanceyan@user/chanceyan)
07:06:26 zeenk joins (~zeenk@2a02:2f04:a307:2300::7fe)
07:07:29 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
07:13:05 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
07:16:28 freeside joins (~mengwong@103.252.202.85)
07:19:25 bgs joins (~bgs@212-85-160-171.dynamic.telemach.net)
07:19:36 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
07:21:03 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 250 seconds)
07:27:08 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
07:28:02 kuribas joins (~user@ptr-17d51enbvbynpjq97pe.18120a2.ip6.access.telenet.be)
07:28:43 <kuribas> Hi, would you say that smart constructors are a way of making illegal states irrepresentable?
07:29:05 <kuribas> I think for example the haskell Set library, which hides the fact that it's backed by a binary tree.
07:29:21 <bontaq> sure that's a part of it kuribas
07:29:48 <kuribas> And it also depends on Ord of being lawful.
07:32:28 freeside joins (~mengwong@103.252.202.85)
07:33:12 <tomsmeding> kuribas: to an extent, if you view the full API as some abstract sort of data structure
07:33:50 <tomsmeding> because you can also design the API to such a data structure in a way that does _not_ preserve invariants
07:33:58 <tomsmeding> but it's not the most compelling example
07:34:20 <kuribas> tomsmeding: yeah, I mean considering the whole API.
07:34:29 <bontaq> in the book domain modeling made functional (an F# book) they lean heavy on smart constructors, everything transitions through like Untrusted -> Trusted data types. Like EnteredPostalCode -> PostalCode
07:34:30 <tomsmeding> more compelling would be transforming (correct :: Bool, result :: a, error :: b) to Either a b
07:34:40 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
07:34:46 × ubert quits (~Thunderbi@p548c88d5.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
07:36:17 <kuribas> tomsmeding: that doesn't seem implementable?
07:36:25 <kuribas> unless you put bottom in `a`.
07:36:36 jakalx joins (~jakalx@base.jakalx.net)
07:36:40 <tomsmeding> kuribas: the triple or the Either version?
07:36:43 <kuribas> triple
07:36:55 <kuribas> How do you represent Left err?
07:36:57 <tomsmeding> I mean, this is standard fare for classic OO languages without sum types
07:37:04 <tomsmeding> (false, 0, err)
07:37:06 <kuribas> ah right
07:37:16 <kuribas> like C union
07:37:16 <tomsmeding> people do this everywhere every day
07:37:27 <tomsmeding> 'a' is going to be some struct with a bunch of fields
07:37:28 ubert joins (~Thunderbi@p548c84d6.dip0.t-ipconnect.de)
07:37:30 <kuribas> where you use NULL as bottom I suppose.
07:37:39 <kenran> or Go's horrible error handling...
07:37:41 <tomsmeding> and inductively, all such types have some sort of zero value
07:37:43 <tomsmeding> or NULL
07:38:21 <tomsmeding> it's only when you introduce non-trivial sum types (i.e. that aren't just an enum) that it becomes difficult to pinpoint a real zero value, but even there there will be plenty of people who say "just pick the first constructor who cares"
07:39:12 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 248 seconds)
07:39:25 <tomsmeding> kuribas: don't forget that not initialising a field in e.g. C++ just leaves it in whatever state it was before :p
07:39:27 <tomsmeding> it's not like haskell
07:40:32 freeside joins (~mengwong@103.252.202.85)
07:40:47 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:43:59 <bontaq> maybe I am misunderstanding, but you can definitely implement (correct :: Bool, result :: a, error :: b) -> Either a b?
07:45:14 <carbolymer> what would be (false, something, something) ?
07:46:42 <bontaq> idk, check (valid, result, error) = if valid then Left result else Right error
07:46:57 <kuribas> bontaq: but not the reverse
07:47:18 <kuribas> anyway, how does this relate to "make illegal states irrepresentable"?
07:48:15 <bontaq> kuribas: what do you mean the reverse? Either a b -> (valid, result, error) ?
07:48:19 <kuribas> yeah
07:48:24 Athas joins (athas@2a01:7c8:aaac:1cf:940d:5196:88dd:7cc9)
07:50:02 <bontaq> ohhh neat
07:51:44 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
07:53:44 <carbolymer> kuribas: (true, something, something) is illegal, so to make it irrepresentable - use Either?
07:53:46 acidjnk joins (~acidjnk@p200300d6e715c406d9e68a9a5ded2776.dip0.t-ipconnect.de)
07:54:40 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 248 seconds)
07:55:50 <tomsmeding> ^
07:56:13 <tomsmeding> the point is to make _illegal states_, values of your data structure that actually violate certain invariants, _not representable_
07:56:26 <tomsmeding> by designing your data structure so that they are impossible by construction
07:56:44 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
07:57:02 <tomsmeding> I guess a clearer version would be (Bool, Maybe a, Maybe b), modelling nullability as Maybe
07:57:11 <tomsmeding> where (True, Just _, Just _) is invalid
07:57:16 NiceBird joins (~NiceBird@185.133.111.196)
07:59:02 vglfr joins (~vglfr@88.155.38.77)
07:59:34 akegalj joins (~akegalj@141-136-169-197.dsl.iskon.hr)
08:03:18 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
08:04:31 michalz joins (~michalz@185.246.207.205)
08:04:50 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
08:06:34 MQ-17J joins (~MQ-17J@104.28.216.165)
08:10:57 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
08:12:07 andrewboltachev joins (~andrey@178.141.217.5)
08:13:47 × MQ-17J quits (~MQ-17J@104.28.216.165) (Quit: Quit)
08:17:44 yoneda joins (~mike@193.206.102.122)
08:19:56 freeside joins (~mengwong@103.252.202.85)
08:24:30 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 255 seconds)
08:25:53 gurkenglas joins (~gurkengla@dynamic-046-114-181-142.46.114.pool.telefonica.de)
08:27:50 codaraxis__ joins (~codaraxis@user/codaraxis)
08:28:38 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
08:31:11 × drdo quits (~drdo@bl7-76-103.dsl.telepac.pt) (Ping timeout: 246 seconds)
08:31:32 × codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 246 seconds)
08:32:48 <bontaq> say, if you were building a web framework, do you think giving people id' or idName is less annoying to add an id attribute to things?
08:34:22 Maeda joins (~Maeda@91-161-10-149.subs.proxad.net)
08:35:41 <probie> Abuse pattern synonyms and view patterns to give them `ID` :p
08:35:45 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 255 seconds)
08:36:39 <bontaq> ;_;
08:37:44 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
08:39:27 <bontaq> I am just trying to make some nice pasta you give me this
08:40:32 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds)
08:41:11 freeside joins (~mengwong@103.252.202.85)
08:41:27 drdo joins (~drdo@bl7-76-103.dsl.telepac.pt)
08:47:32 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 268 seconds)
08:53:27 <int-e> bontaq: yeah, don't steal my identity (function).
08:56:48 <bontaq> as much as I would love to steal your tasty id, I agree it's rude. maybe idAttr works?
08:56:54 × todi quits (~snuckls@p5dca57c0.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
09:01:05 mmhat joins (~mmh@p200300f1c7106ed3ee086bfffe095315.dip0.t-ipconnect.de)
09:02:10 × mmhat quits (~mmh@p200300f1c7106ed3ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit)
09:02:28 × zeenk quits (~zeenk@2a02:2f04:a307:2300::7fe) (Remote host closed the connection)
09:02:51 zeenk joins (~zeenk@2a02:2f04:a307:2300::fba)
09:03:47 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:2c24:c958:e9eb:d096)
09:05:51 <int-e> bontaq: Hah I almost suggested that and then decided not to bikeshed.
09:06:28 × chomwitt quits (~chomwitt@2a02:587:7a0e:ae00:1ac0:4dff:fedb:a3f1) (Ping timeout: 252 seconds)
09:06:46 <carbolymer> what if bikes get wet
09:07:27 <int-e> well, rust is popular these days
09:08:20 <int-e> carbolymer: does that happen if you paint the bikeshed with watercolors?
09:08:25 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:2c24:c958:e9eb:d096) (Ping timeout: 260 seconds)
09:12:35 <bontaq> oh no I'm explicitly asking for bike shedding int-e, just trying to nail down what interface would be nice to people
09:12:36 <carbolymer> int-e: you will end up bikeshedding with rust
09:13:31 codaraxis joins (~codaraxis@user/codaraxis)
09:14:02 <bontaq> idAttr is pretty good since then I can use it for the rest (classAttr, typeAttr, nameAttr, etc) but it does take extra key presses
09:14:28 × Athas quits (athas@2a01:7c8:aaac:1cf:940d:5196:88dd:7cc9) (Quit: ZNC 1.8.2 - https://znc.in)
09:14:37 Athas joins (athas@sigkill.dk)
09:15:00 <tomsmeding> I'd go for either id' or idAttr yeah
09:15:05 <tomsmeding> idName is confusing
09:15:27 <tomsmeding> the other option is `attr #id` using OverloadedLabels, but that's overkill
09:15:36 <int-e> bontaq: you can be evil and use the original alphabet: ιδ ;-)
09:15:48 × codaraxis__ quits (~codaraxis@user/codaraxis) (Ping timeout: 255 seconds)
09:16:08 freeside joins (~mengwong@103.252.202.85)
09:17:00 <carbolymer> RecordDotSyntax + NoFieldSelectors maybe?
09:17:09 <int-e> I guess I'd go with either appending Attr to every attribute or with id'.
09:18:07 <bontaq> int-e: the perfect beginner's haskell library (you must learn chinese now)
09:19:00 <bontaq> id', type', class', name' -- I do lean a little towards those because it's less to type
09:19:09 <int-e> To be clear I based the word "original" on the etymology of the word "alphabet".
09:19:16 <int-e> Not on who invented scripture.
09:19:49 × mikess quits (~sam@user/mikess) (Ping timeout: 276 seconds)
09:20:16 <tomsmeding> on the other hand, 'identity' etymologically traces back to Latin and further back to italic languages, not to greek
09:20:43 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 248 seconds)
09:22:42 <int-e> so it was a perfect choice for making a mess
09:22:46 <int-e> I'm okay with that
09:31:10 × califax quits (~califax@user/califx) (Remote host closed the connection)
09:31:31 califax joins (~califax@user/califx)
09:37:20 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
09:43:07 <bontaq> hmm carbolymer, like it could be "attr.id" ? that's an interesting idea
09:45:29 × chanceyan quits (~chanceyan@user/chanceyan) (Quit: Client closed)
09:46:55 nate1 joins (~nate@98.45.169.16)
09:49:21 mesaoptimizer joins (apotheosis@user/PapuaHardyNet)
09:51:15 freeside joins (~mengwong@103.252.202.85)
09:51:24 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
09:51:31 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds)
10:01:36 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 252 seconds)
10:04:23 freeside joins (~mengwong@103.252.202.85)
10:06:37 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 276 seconds)
10:07:40 × YoungFrog quits (~youngfrog@2a02:a03f:ca07:f900:fffe:2aed:9333:96be) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in)
10:08:00 YoungFrog joins (~youngfrog@2a02:a03f:ca07:f900:fffe:2aed:9333:96be)
10:08:43 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 248 seconds)
10:10:03 MQ-17J joins (~MQ-17J@104.28.216.165)
10:10:09 × MQ-17J quits (~MQ-17J@104.28.216.165) (Client Quit)
10:11:35 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds)
10:12:17 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
10:19:25 ph88 joins (~ph88@ip5b426553.dynamic.kabel-deutschland.de)
10:24:08 phma_ joins (~phma@2001:5b0:210f:3f48:aee7:7910:75fe:fa3c)
10:24:47 × phma quits (phma@2001:5b0:2172:ce28:ab20:59d:e6d5:b2fb) (Read error: Connection reset by peer)
10:37:10 × vglfr quits (~vglfr@88.155.38.77) (Ping timeout: 276 seconds)
10:38:00 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
10:39:17 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
10:42:28 jakalx parts (~jakalx@base.jakalx.net) ()
10:52:04 freeside joins (~mengwong@103.252.202.85)
10:57:29 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
10:59:22 jakalx joins (~jakalx@base.jakalx.net)
11:00:11 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 265 seconds)
11:05:48 vglfr joins (~vglfr@88.155.38.77)
11:06:03 × shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 255 seconds)
11:07:39 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
11:07:55 chomwitt joins (~chomwitt@ppp-94-67-189-62.home.otenet.gr)
11:08:36 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
11:15:10 × bontaq quits (~user@ool-45779b84.dyn.optonline.net) (Ping timeout: 252 seconds)
11:15:39 phma_ is now known as phma
11:18:47 jakalx parts (~jakalx@base.jakalx.net) ()
11:26:43 jakalx joins (~jakalx@base.jakalx.net)
11:27:42 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
11:30:08 Midjak joins (~Midjak@82.66.147.146)
11:31:31 × ph88 quits (~ph88@ip5b426553.dynamic.kabel-deutschland.de) (Ping timeout: 250 seconds)
11:34:27 MajorBiscuit joins (~MajorBisc@2001:1c00:2408:a400:7f99:b6d8:c8b8:dc05)
11:35:17 × akegalj quits (~akegalj@141-136-169-197.dsl.iskon.hr) (Quit: leaving)
11:38:41 ph88 joins (~ph88@ip5b426553.dynamic.kabel-deutschland.de)
11:41:42 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds)
11:42:57 AmyMalik is now known as Reinhilde
11:48:41 levinlevinlevin joins (~levin@ip5f584d02.dynamic.kabel-deutschland.de)
12:01:30 xff0x joins (~xff0x@ai098135.d.east.v6connect.net)
12:02:20 × ph88 quits (~ph88@ip5b426553.dynamic.kabel-deutschland.de) (Quit: Leaving)
12:15:09 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
12:15:28 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 248 seconds)
12:17:00 kupi joins (uid212005@id-212005.hampstead.irccloud.com)
12:17:10 kupi is now known as shitcord
12:17:14 shitcord is now known as kupi
12:19:23 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
12:24:27 azimut joins (~azimut@gateway/tor-sasl/azimut)
12:24:57 img joins (~img@user/img)
12:38:11 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
12:41:44 a_coll joins (~acoll@45.92.120.189)
12:43:43 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
12:48:53 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
12:57:21 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
13:02:07 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds)
13:02:50 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
13:05:56 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
13:06:02 perrierjouet joins (~perrier-j@modemcable048.127-56-74.mc.videotron.ca)
13:06:52 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
13:13:37 todi joins (~snuckls@p5dca57c0.dip0.t-ipconnect.de)
13:13:43 <ski> kuribas : smart constructors are often used for encoding subset types
13:23:26 × dtman34 quits (~dtman34@2601:447:d000:93c9:ea29:d585:c821:9218) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
13:23:48 dtman34 joins (~dtman34@2601:447:d000:93c9:297:babc:4251:fc7a)
13:23:59 ig993 joins (~iG993@D9642A62.static.ziggozakelijk.nl)
13:27:29 × ig993 quits (~iG993@D9642A62.static.ziggozakelijk.nl) (Client Quit)
13:36:58 × levinlevinlevin quits (~levin@ip5f584d02.dynamic.kabel-deutschland.de) (Quit: leaving)
13:37:26 slack1256 joins (~slack1256@186.11.85.195)
13:41:52 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
13:45:21 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 255 seconds)
13:48:25 nate1 joins (~nate@98.45.169.16)
13:52:08 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
13:53:13 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 250 seconds)
13:57:30 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 255 seconds)
14:00:24 × pyook quits (~puke@user/puke) (Remote host closed the connection)
14:00:42 pyook joins (~puke@user/puke)
14:06:40 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
14:07:57 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
14:08:28 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
14:11:06 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
14:12:16 phma_ joins (~phma@2001:5b0:215d:9858:7d74:e4dd:3d68:8787)
14:12:38 × phma quits (~phma@2001:5b0:210f:3f48:aee7:7910:75fe:fa3c) (Read error: Connection reset by peer)
14:14:11 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
14:18:30 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
14:18:47 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 264 seconds)
14:19:37 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
14:24:49 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
14:27:55 tiagsmm[m] joins (~tiagsmmma@2001:470:69fc:105::3:4002)
14:41:08 slac74016 joins (~slack1256@191.125.99.205)
14:42:56 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:43:15 × slack1256 quits (~slack1256@186.11.85.195) (Ping timeout: 260 seconds)
14:48:52 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
14:52:47 slack1256 joins (~slack1256@186.11.85.195)
14:53:23 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 260 seconds)
14:54:47 × slac74016 quits (~slack1256@191.125.99.205) (Ping timeout: 246 seconds)
15:02:04 aavogt[m] joins (~aavogtmat@2001:470:69fc:105::3:4007)
15:06:05 aeroplane joins (~user@user/aeroplane)
15:07:39 phma_ is now known as phma
15:09:09 × Ranhir quits (~Ranhir@157.97.53.139) (Read error: Connection reset by peer)
15:11:37 Sgeo joins (~Sgeo@user/sgeo)
15:16:17 Ranhir joins (~Ranhir@157.97.53.139)
15:16:30 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
15:21:04 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 248 seconds)
15:23:51 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:2c24:c958:e9eb:d096)
15:26:40 joyfulmantis[m] joins (~joyfulman@2001:470:69fc:105::3:400a)
15:26:42 × dsrt^ quits (~dsrt@c-76-105-96-13.hsd1.ga.comcast.net) (Remote host closed the connection)
15:30:17 nschoe joins (~q@141.101.51.197)
15:30:41 dove joins (~irc@2600:3c00:e000:287::1)
15:32:07 × gurkenglas quits (~gurkengla@dynamic-046-114-181-142.46.114.pool.telefonica.de) (Ping timeout: 260 seconds)
15:34:13 × dfg quits (~dfg@user/dfg) (Ping timeout: 276 seconds)
15:36:33 AlexNoo_ joins (~AlexNoo@178.34.162.18)
15:40:04 × Alex_test quits (~al_test@94.233.240.143) (Ping timeout: 276 seconds)
15:40:05 × AlexZenon quits (~alzenon@94.233.240.143) (Ping timeout: 268 seconds)
15:40:09 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:2c24:c958:e9eb:d096) (Remote host closed the connection)
15:40:15 × AlexNoo quits (~AlexNoo@94.233.240.143) (Ping timeout: 250 seconds)
15:40:38 jitrs[m] joins (~jitrsmatr@2001:470:69fc:105::3:400c)
15:40:41 ardell joins (~ardell@user/ardell)
15:41:03 × ardell quits (~ardell@user/ardell) (Client Quit)
15:44:03 Alex_test joins (~al_test@178.34.162.18)
15:44:49 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:2c24:c958:e9eb:d096)
15:45:27 AlexZenon joins (~alzenon@178.34.162.18)
15:46:37 × zeenk quits (~zeenk@2a02:2f04:a307:2300::fba) (Quit: Konversation terminated!)
15:48:45 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
15:50:01 × AlexZenon quits (~alzenon@178.34.162.18) (Ping timeout: 240 seconds)
15:52:29 AlexNoo_ is now known as AlexNoo
15:54:55 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:2c24:c958:e9eb:d096) (Remote host closed the connection)
15:58:58 AlexZenon joins (~alzenon@178.34.162.18)
15:59:55 × yoneda quits (~mike@193.206.102.122) (Quit: leaving)
16:00:07 × kosmikus[m] quits (~andresloe@2001:470:69fc:105::95d) (Quit: You have been kicked for being idle)
16:00:11 × nschoe quits (~q@141.101.51.197) (Ping timeout: 250 seconds)
16:00:50 × talismanick quits (~talismani@2601:200:c000:f7a0::fb70) (Ping timeout: 260 seconds)
16:05:22 gurkenglas joins (~gurkengla@dynamic-046-114-181-142.46.114.pool.telefonica.de)
16:06:49 × kupi quits (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
16:07:07 × AlexZenon quits (~alzenon@178.34.162.18) (Ping timeout: 248 seconds)
16:08:01 × Alex_test quits (~al_test@178.34.162.18) (Ping timeout: 240 seconds)
16:08:03 econo joins (uid147250@user/econo)
16:11:04 Alex_test joins (~al_test@178.34.162.18)
16:13:57 gensyst joins (~gensyst@user/gensyst)
16:14:08 <gensyst> Is runhaskell a part of every standard Haskell installation?
16:14:15 <gensyst> What does it come with? With GHC?
16:15:38 <geekosaur> it comes with ghc, it used to come with hugs, it used to come with nhc98
16:15:48 freeside joins (~mengwong@103.252.202.85)
16:19:41 <int-e> Hmm. Debian still packages hugs? Fun!
16:20:40 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 265 seconds)
16:20:47 <int-e> (I checked where /usr/bin/runhaskell points and found /etc/alternatives/runhaskell and wondered whether that's a leftover from the past or still actually in use for alternatives)
16:21:11 <Hecate> gensyst: it should be bundled with a binary distribution of GHC yes
16:21:29 <int-e> (The hugs is old, of course; from 2006.)
16:21:58 AlexZenon joins (~alzenon@178.34.162.18)
16:22:11 <sm> nice! more haskell compilers!
16:24:06 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:2c24:c958:e9eb:d096)
16:25:26 × glguy quits (~glguy@libera/staff-emeritus/glguy) (Quit: Quit)
16:26:46 × kenran quits (~user@user/kenran) (Remote host closed the connection)
16:27:46 <geekosaur[m]> Hugs was an interpreter
16:29:09 <gensyst> Has anyone here written integration tests for their Cabal project that compiles (with "cabal build") and runs ("cabal exec") the project itself?
16:29:14 <gensyst> It works fine normally (outside Nix).
16:29:18 <gensyst> But inside Nix, it's horror.
16:29:22 <gensyst> Any experiences here?
16:31:18 × ddellacosta quits (~ddellacos@146.70.166.132) (Quit: WeeChat 3.8)
16:32:48 ddellacosta joins (~ddellacos@146.70.166.132)
16:36:59 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 248 seconds)
16:37:09 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
16:39:41 <Hecate> I don't use nix, really frees up a lot of cycles :D
16:40:49 hugo joins (znc@verdigris.lysator.liu.se)
16:42:35 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 256 seconds)
16:42:38 <jean-paul[m]> gensyst: What's horrible about it exactly?
16:43:18 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
16:43:22 <gensyst> jean-paul[m], If I run "cabal exec ...", I get complaints about /homeless-shelter (user directory that doesn't exist).
16:43:48 <gensyst> jean-paul[m], If I replace it with "runhaskell Setup.hs configure", "runhaskell Setup.hs build", I get complaints about GHC_PACKAGE_PATH
16:43:58 <gensyst> I'm starting to think... maybe I shouldn't be doing this.
16:44:03 <gensyst> Maybe I should just be calling "main" instead.
16:44:06 <jean-paul[m]> What is the point of that command? Are you trying to build stuff? Run programs?
16:44:39 <gensyst> jean-paul[m], the point is to test running the program (a few times with various arguments) and see if the results are as expected
16:44:42 <gensyst> integration test
16:45:09 <gensyst> BTW when I say run "cabal build", i mean: ultimately it gets run from within a nix-build
16:45:13 <gensyst> "nix build" rather
16:45:25 <gensyst> that's where those problem occur
16:45:48 <jean-paul[m]> I guess if you are trying to do a build with the literal command "cabal build" inside a nix derivation, you're probably well off the beaten path. Most typically you would convert your cabal file to a nix expression with something like cabal2nix.
16:47:23 <jean-paul[m]> Did you package up your Haskell with nix? Why is nix involved at all?
16:47:26 <gensyst> jean-paul[m], the question is, what is normally done when people don't use Nix? Without Nix, everything was working fine. I.e., without Nix, when I ran "cabal test" to run the tests, it wasn't a problem when the tests themselves executed "cabal build", etc.
16:47:34 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:2c24:c958:e9eb:d096) (Remote host closed the connection)
16:47:37 <gensyst> jean-paul[m], yeah now i'm moving to nix :)
16:47:47 <gensyst> the haskell project itself is now flake.nix
16:49:01 × arthurvl quits (~arthurvl@2a02-a469-f5e2-1-83d2-ca43-57a2-dc81.fixed6.kpn.net) (Quit: WeeChat 3.0)
16:49:02 <jean-paul[m]> I'd probably not worry a lot about how you do these things if you're not using Nix, if you're trying to make it work using Nix. Nix is a whole general build and integration system. You can make a lot of choices differently to great benefit when you have one of those just hanging around for free.
16:49:43 <jean-paul[m]> So, I probably would not write integration tests for a Nix package that try to do builds themselves. Instead, just consume derivations that provide the things you needed built.
16:50:27 × cheater quits (~Username@user/cheater) (Ping timeout: 250 seconds)
16:50:44 <gensyst> jean-paul[m], yeah but... what if the haskell package should be usable for ppl who don't have nix :)
16:50:45 <jean-paul[m]> (but it's easy to just hand-wave such things in such broad terms)
16:50:57 <gensyst> it's just me who happen to be using nix
16:51:18 <jean-paul[m]> gensyst: Does "the haskell package" include "the ability to run the integration tests"?
16:51:50 <gensyst> jean-paul[m], so far the test suite of the package itself has been running integration tests for the package itself.
16:52:23 <jean-paul[m]> Sounds like "yes" I guess
16:52:33 × jespada_ quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:52:49 <gensyst> yeah i suppose so
16:52:51 <gensyst> :D
16:52:56 <jean-paul[m]> I dunno, remind your team mates that nix can be installed on any Linux and also macOS? And who knows, maybe WSL.
16:53:04 <gensyst> :D
16:53:18 <jean-paul[m]> If you really want something to work "for nix" and "without nix" then I don't think there are options apart from "implement it twice".
16:53:21 <gensyst> yeah ideally nix should be everywhere because its benefits are obvious
16:54:17 <jean-paul[m]> I do have a project where I am slowly bring in more nix and it has one integration test that sets up some complex third-party dependencies
16:54:39 <jean-paul[m]> The thing I am trying to do to that now is make it possible to signal to the integration test that it can just skip all of that work because someone did it already
16:54:52 <jean-paul[m]> Then I can use nix to do it and run the test in the "skip your setup" mode
16:54:56 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
16:55:11 <jean-paul[m]> But everyone else can keep using the slow, non-reproducible, failure-prone custom setup codepath
16:55:14 × mei quits (~mei@user/mei) (Remote host closed the connection)
16:55:41 <gensyst> jean-paul[m], this made me think of: "binary caches for tests? this test has been run. no need to run."
16:56:01 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
16:56:11 <jean-paul[m]> So ... maybe something like that? Accept the "cabal build" outputs as a parameter somehow, and if you don't get them, the test can run "cabal build" but if it you do, skip it and use them.
16:56:15 myco joins (~myco@24-116-167-217.cpe.sparklight.net)
16:56:56 <jean-paul[m]> yea I have some CI set up like that. it's amusing when the nix-based CI jobs have a cache hit and finish in 30 seconds while the other jobs have to spend 10 minutes re-doing everything. and fine as long as your test suite is deterministic. :)
16:57:27 <jean-paul[m]> but I also have some CI set up where the tests are a flake app instead of a derivation, so you can really run them any time you want without cache considerations
16:57:38 mei joins (~mei@user/mei)
16:58:38 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:2c24:c958:e9eb:d096)
17:00:30 freeside joins (~mengwong@103.252.202.85)
17:01:53 × todi quits (~snuckls@p5dca57c0.dip0.t-ipconnect.de) (Remote host closed the connection)
17:02:10 todi joins (~snuckls@p5dca57c0.dip0.t-ipconnect.de)
17:04:36 cheater joins (~Username@user/cheater)
17:06:31 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 240 seconds)
17:07:39 × todi quits (~snuckls@p5dca57c0.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
17:16:23 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 255 seconds)
17:17:50 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:2c24:c958:e9eb:d096) (Remote host closed the connection)
17:20:01 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 240 seconds)
17:20:02 × gurkenglas quits (~gurkengla@dynamic-046-114-181-142.46.114.pool.telefonica.de) (Remote host closed the connection)
17:21:51 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
17:21:53 gurkenglas joins (~gurkengla@dynamic-046-114-181-142.46.114.pool.telefonica.de)
17:21:59 oac_ joins (~oac@50-93-248-155.fttp.usinternet.com)
17:23:04 × mei quits (~mei@user/mei) (Remote host closed the connection)
17:25:28 mei joins (~mei@user/mei)
17:29:41 jpds joins (~jpds@gateway/tor-sasl/jpds)
17:31:38 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 246 seconds)
17:31:39 oac joins (~oac@50-93-248-155.fttp.usinternet.com)
17:32:05 × myco quits (~myco@24-116-167-217.cpe.sparklight.net) (Quit: leaving)
17:42:53 × hippoid quits (~My_user_n@user/hippoid) (Ping timeout: 250 seconds)
17:43:06 mestre joins (~mestre@191.177.175.117)
17:45:12 × oac_ quits (~oac@50-93-248-155.fttp.usinternet.com) (Quit: oac_)
17:46:16 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:2c24:c958:e9eb:d096)
17:46:37 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
17:46:37 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
17:46:37 wroathe joins (~wroathe@user/wroathe)
17:48:45 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds)
17:49:15 × oac quits (~oac@50-93-248-155.fttp.usinternet.com) (Ping timeout: 255 seconds)
17:49:56 nate1 joins (~nate@98.45.169.16)
17:51:13 jinsun is now known as Guest8926
17:51:14 jinsun_ joins (~jinsun@user/jinsun)
17:51:14 × Guest8926 quits (~jinsun@user/jinsun) (Killed (iridium.libera.chat (Nickname regained by services)))
17:51:14 jinsun_ is now known as jinsun
17:51:49 × gensyst quits (~gensyst@user/gensyst) (Quit: Leaving)
17:51:59 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
17:51:59 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 265 seconds)
17:52:47 arthurvl joins (~arthurvl@2a02-a469-f5e2-1-83d2-ca43-57a2-dc81.fixed6.kpn.net)
17:54:31 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds)
17:56:00 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
18:02:46 L29Ah joins (~L29Ah@wikipedia/L29Ah)
18:05:31 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
18:15:38 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
18:16:15 kenran joins (~user@user/kenran)
18:16:20 × mei quits (~mei@user/mei) (Remote host closed the connection)
18:18:45 mei joins (~mei@user/mei)
18:21:15 oac joins (~oac@96.72.40.61)
18:22:17 mikess joins (~sam@user/mikess)
18:23:28 oac1 joins (~oac@96.72.40.61)
18:23:43 coot joins (~coot@213.134.170.228)
18:23:52 × lbseale quits (~quassel@user/ep1ctetus) (Ping timeout: 276 seconds)
18:24:08 × oac1 quits (~oac@96.72.40.61) (Client Quit)
18:25:16 × oac quits (~oac@96.72.40.61) (Quit: oac)
18:26:00 cowboy8625 joins (~cowboy@2600:380:6919:60e6:7bb:639d:b85d:ce25)
18:29:46 todi joins (~snuckls@p5dca57c0.dip0.t-ipconnect.de)
18:31:01 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds)
18:36:04 hugo joins (znc@verdigris.lysator.liu.se)
18:36:55 __monty__ joins (~toonn@user/toonn)
18:38:02 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Remote host closed the connection)
18:39:39 × JScript quits (~JScript@103.137.12.220) (Ping timeout: 255 seconds)
18:49:31 × cowboy8625 quits (~cowboy@2600:380:6919:60e6:7bb:639d:b85d:ce25) (Ping timeout: 256 seconds)
18:49:45 × a_coll quits (~acoll@45.92.120.189) (Remote host closed the connection)
18:50:01 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
18:50:11 cowboy8625 joins (~cowboy@2603:300a:93a:6300:b393:ceb:6e9c:87a8)
18:55:28 × aeroplane quits (~user@user/aeroplane) (Ping timeout: 248 seconds)
18:56:30 <whatsupdoc> Hoogle or ChatGPT?
18:59:09 freemanX joins (~user@203.117.163.130)
19:00:28 × cowboy8625 quits (~cowboy@2603:300a:93a:6300:b393:ceb:6e9c:87a8) (Ping timeout: 252 seconds)
19:01:13 mechap joins (~mechap@user/mechap)
19:01:24 cowboy8625 joins (~cowboy@2603:300a:93a:6300:7434:da9d:389f:cd8)
19:02:41 <sm> speaking of chatgpt.. I found this clarifying:
19:02:53 sm uploaded an image: (199KiB) < https://libera.ems.host/_matrix/media/v3/download/matrix.org/TqOmIbDZUXqgAhLLyyCjiYwV/Screen%20Shot%202023-04-07%20at%2009.02.40.png >
19:06:16 <sm> hmm, can I OCR that ? I can
19:06:22 <sm> "Something that seems fundamental to me about ChatGPT, which gets lost over and over again: When you enter text into it, you're asking "What would a response to this sound like?"
19:06:22 <sm> If you put in a scientific question, and it comes back with a response citing a non-existent paper with a plausible title, using a real journal name and an author name who's written things related to your question, it's not being tricky or telling lies or doing anything at all surprising! This is what a response to that question would sound like! It did the thing!
19:06:22 <sm> But people keep wanting the "say something that sounds like an answer" machine to be doing something else, and believing it *is* doing something else.
19:06:22 <sm> It's good at generating things that sound like responses to being told it was wrong, so people think that it's engaging in introspection or looking up more information or something, but it's not, it's only, ever, saying something that sounds like the next bit of the conversation.
19:07:40 freeside joins (~mengwong@103.252.202.85)
19:09:02 <sm[i]_> hoogle on the other hand is for doing a precise deterministic search of names and type signatures in an up-to-date set of haskell packages
19:10:44 <Adeon> sm: I follow the AI news and discussion in various places and I find tiring sometimes because discussion drowns in overhype or people not understanding the nuances how the AI really works making huge extrapolations in capability etc.
19:10:56 <Adeon> gets hard to filter out actually remarkable product ideas or new research from noise
19:12:02 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 246 seconds)
19:12:11 <sm> mastodon can be a pretty good filter (that's where I saw this)
19:14:26 <sm> Adeon: are we at the point where it's practical for dev communities to train simpler mini-chatgpts to assist with their specific domains ?
19:14:59 <sm> the haskell install/build AI ? the HLS support AI ? etc
19:15:07 <Adeon> the best model I've managed to run locally is the vicuna-13B finetuned from LLaMA, but it was a rust project
19:15:08 <Adeon> it can write haskell
19:15:11 <Adeon> but I don't think it's practical
19:15:13 <Adeon> code is not good enough
19:15:14 <Adeon> and it's too slow
19:15:54 <Adeon> I think I did see someone have a smaller model on hackernews like a local bootleg github copilot but I have no idea if it's any good
19:15:57 sm got gpt4all running, but hasn't seen it do much useful yet
19:17:35 <Adeon> https://usercontent.irccloud-cdn.com/file/WaWGVD26/Screenshot%202023-04-06%20at%207.42.15%20PM.png some experiments with having vicuna-13B simulate javascript console
19:17:52 × cowboy8625 quits (~cowboy@2603:300a:93a:6300:7434:da9d:389f:cd8) (Quit: WeeChat 3.5)
19:18:03 <Adeon> I tried it for haskell and it made haskell-looking code but hallucinated Haskell imports like "import Haskell.GHC.Float.Exact" which afaik is not a thing
19:18:42 × mei quits (~mei@user/mei) (Remote host closed the connection)
19:18:54 <monochrom> This should belong to -offtopic, but meh, everyone likes to comment on AI everywhere. So here is mine. It does not matter what LLMs actually do or don't. With human nature being so broken in multiple ways, it is what people presume LLMs do and that becomes their new reality, distorted or not. Just look at social media for example. We know it transmits only opinions not truth, right? But no, users presume it transmits truth.
19:19:39 <juri_> capitalism is going to eat us. :D
19:20:29 <monochrom> You know, for that, I'm inclined to the analogy gun : gunner :: capitalism : people
19:20:36 <sm> time for #degrowth !
19:20:48 <monochrom> We brought it upon ourselves.
19:20:52 <sm> all of this can be on-topic if we just tie it back to Haskell things
19:21:07 mei joins (~mei@user/mei)
19:21:12 <juri_> so, i'm trying to get haskell 3d printing stuff to be a thing.
19:21:16 <monochrom> tenuous and overused tie, really.
19:21:19 <Adeon> the llama code is fairly simple, probably not hard to replicate in haskell
19:21:22 <Adeon> you just need matrix multiplication to be fast
19:21:26 <Adeon> maybe can do with accelerate?
19:21:31 <juri_> hense, https://github.com/Haskell-Things/
19:21:33 slac75224 joins (~slack1256@191.125.227.66)
19:22:04 <juri_> I'm currently working on getting out my old openmosix code, so we can make clusters cooperate better.
19:22:29 <Adeon> there's an accelerate-blas
19:22:31 <Adeon> bam it's doable
19:22:36 <sm> powerful technology amplifies human failings and too much is very dangerous for us. What's the equivalent in haskell world right now
19:22:38 <juri_> and, i'm using chatgpt to help answer questions i have, while i set it all back up, and forward port.
19:23:11 <juri_> when i'm done, i'll want to expose the whole thing to the ghc runtime.. which should be 'fun'.
19:23:24 <monochrom> Type-level Haskell programming amplifies code obfuscation? >:D
19:23:49 × slack1256 quits (~slack1256@186.11.85.195) (Ping timeout: 265 seconds)
19:24:56 <sm> sounds right
19:25:54 <sm> Adeon: (screenshot) you think you have a rough idea what it does, yet it's still amazing..
19:26:15 <Adeon> (not in the screenshot: for (var i = 7; i < 17; i += 2) { console.log(i); } failing miserably)
19:26:55 kupi joins (uid212005@id-212005.hampstead.irccloud.com)
19:27:02 <Adeon> I think for github copilot things it's almost there, if you made all the necessary glue and editor plugins etc. I think slowness at least for the thing I'm using would be the limiting factor because you don't want to wait 30 seconds to get a completion
19:27:12 <Adeon> and for languages like haskell it's exposed to less haskell code so the code is crappier
19:29:00 <juri_> haskell is great at DSLs, and the GPTs learn DSLs well, or at least, can be taught to halucinate them.
19:29:36 <juri_> i've been doing some research on a slicing language based on scad, and have been able to get GPT to halucinate syntax that kinda makes sense. so i'm implementing that syntax.
19:29:40 <sm> what would make it worthwhile to implement these things in haskell Adeon ?
19:30:32 <monochrom> You can basically just look at C-grade CS students and predict what LLMs do. Because C-grade students do the same thing. Go to stackoverflow and correlate questions with answers. Nothing deeper or subtler.
19:31:57 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
19:33:29 <sm> they can definitely automate some of the support we give in here
19:34:28 <sm> lambdabot, don't you want more brains ?
19:35:36 <monochrom> I hope not in the sense of wanting to eat brains...
19:35:58 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
19:36:32 <yushyin> maybe lambdabot is a zombie
19:37:11 <monochrom> @botsnack
19:37:11 <lambdabot> :)
19:37:30 <sm> @where brains ?
19:37:30 <lambdabot> I know nothing about brains.
19:37:38 <ski> @brain
19:37:38 <lambdabot> It is here that my cheap workforce of trained iguanas will work
19:37:38 <lambdabot> night and day to make our shoes to my exacting specifications!
19:39:53 <ski> monochrom : are you saying C-grade students go to SO and ask questions, trying to make use of answers; or that they go there and try to correlate questions with answers ?
19:40:39 ski 's idly reminded of O'Keefe's rant about 3rd year CS students not expecting to understand compiler responses
19:40:44 × gurkenglas quits (~gurkengla@dynamic-046-114-181-142.46.114.pool.telefonica.de) (Ping timeout: 265 seconds)
19:40:55 <monochrom> They do both. If their question has not been asked, they ask.
19:41:32 <monochrom> At any rate, when they see an answer, they "learn" that this answers the question. They will reproduce the same answer on their homework and exams.
19:42:27 gurkenglas joins (~gurkengla@dynamic-046-114-177-022.46.114.pool.telefonica.de)
19:42:29 <monochrom> The salient feature is that they don't ask why the answer code answers the question, unlike B-grade students. They just remember the mapping.
19:42:42 <ski> yea, i was suspecting you meant both (although probably they primarily do the latter)
19:43:16 <monochrom> Oh, by this the Year 2023 of Our Lord, all homework questions have already been asked. :)
19:43:55 <ski> .. this reminds me about the distinction between learning "fact tidbits" ("packing") and learning associations, connections, concepts, systems ("mapping")
19:44:06 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
19:45:10 <ski> (terms from the old "Programmers Stone" document, by Alan Carter,Colston Sanger)
19:45:26 <monochrom> This is to contrast with what B students, A students, and scientist do: Find a very small theory that answers a million different questions.
19:48:22 ski . o O ( "The ontology of the lambs" ("Technicians","Engineers","Scientists") by Michael T. Richter (ttmrichter) in 2012-09-17 at <https://web.archive.org/web/20130426040216/http://www.txt.io/t-2hv4m> )
19:48:41 × coot quits (~coot@213.134.170.228) (Quit: coot)
19:49:15 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds)
19:49:24 <ski> what's the difference between B and A students, then ?
19:49:48 <monochrom> The A students succeed. The B students try but struggle.
19:50:21 bratwurst joins (~dfadsva@2604:3d09:207f:f650::708a)
19:51:17 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 256 seconds)
19:52:02 <ski> i see
19:59:19 VY2 joins (~user@85.89.126.32)
20:01:53 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
20:02:43 notzmv joins (~zmv@user/notzmv)
20:06:59 <aaronv> I thought C students were the ones who were screamed at for using the word isomorphism rather than regurgitating back whatever the teacher wanted to hear
20:07:24 pavonia joins (~user@user/siracusa)
20:10:41 Sciencentistguy6 joins (~sciencent@hacksoc/ordinary-member)
20:11:47 heraldo joins (~heraldo@user/heraldo)
20:13:43 × Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Ping timeout: 276 seconds)
20:13:43 Sciencentistguy6 is now known as Sciencentistguy
20:14:22 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
20:14:58 <bratwurst> can anyone point me to an example of how to do a hetergeneous tree that isn't super complicated like aspectag and deep-transformations? i was trying to do a gui and would like to be able to represent a tree of different kinds of widgets
20:15:29 <bratwurst> i vaguely get how hlist works
20:16:56 <davean> Do you actually want it to know the types and not just the interfaces?
20:17:05 <davean> Generally here an existential class is sufficient
20:17:21 <aaronv> you probably don't actually want the tree to be heterogeneous
20:17:58 × bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
20:18:37 hippoid joins (~My_user_n@c-98-213-162-40.hsd1.il.comcast.net)
20:19:07 × hippoid quits (~My_user_n@c-98-213-162-40.hsd1.il.comcast.net) (Changing host)
20:19:08 hippoid joins (~My_user_n@user/hippoid)
20:20:24 <davean> aaronv: more clearly I'd say you want it to be homogenious in a class, not in types.
20:22:41 <aaronv> I wouldn't. An existential type is still a type. If the things in the tree all have type exists x. Foo x then they all have the same type
20:26:00 <bratwurst> i suppose i could just use an hlist. my idea is to have "objects" which are tuples of hitbox, value and the handlers that manipulate them. so i could filter the list for hitbox hits, then transform the associated value with it handler
20:26:36 <bratwurst> im trying to use reactive-banana but i don't fully know how to use it either lol
20:28:09 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
20:28:14 <bratwurst> ill start over.
20:28:42 <aaronv> again, you very likely don't want an hlist. Maybe you want a list of a sum type
20:28:48 <aaronv> is this a list of events?
20:29:06 × slac75224 quits (~slack1256@191.125.227.66) (Remote host closed the connection)
20:29:26 <aaronv> er, not in the frp sense of the word event
20:30:12 <bratwurst> i think my problem is i'm too used to oo frameworks
20:31:24 <bratwurst> right now im working on how to do layout. so say i have a toolbar and a graph viewer. i want to say the toolbar is above the viewer and the same width.
20:31:25 × bollu quits (~bollu@159.65.151.13) (Remote host closed the connection)
20:31:50 <bratwurst> but im not sure how to do this without an h-collection
20:32:22 <bratwurst> so with an existential i could have a layout class
20:33:29 cheater_ joins (~Username@user/cheater)
20:33:35 <bratwurst> i'm also thinking about how to shift the keyboard focus around
20:33:47 × mechap quits (~mechap@user/mechap) (Ping timeout: 264 seconds)
20:35:10 × cheater quits (~Username@user/cheater) (Ping timeout: 276 seconds)
20:35:11 oac_ joins (~oac@96.72.40.61)
20:35:15 cheater_ is now known as cheater
20:35:38 × oac_ quits (~oac@96.72.40.61) (Remote host closed the connection)
20:35:45 × todi quits (~snuckls@p5dca57c0.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
20:35:47 <bratwurst> ok ill try with an existential for rendering and an existential for layout. ill let you know if i come up with a better question
20:36:12 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds)
20:36:21 <bratwurst> i still want to figure out how a heterogenous tree would work but i will leave that till im more advanced
20:37:13 <bratwurst> im just doing the gui for programming practise. im enjoying how challenging it is.
20:37:29 <bratwurst> reading this stuff is really putting my brain to work
20:39:27 bollu joins (~bollu@159.65.151.13)
20:42:35 coot joins (~coot@213.134.170.228)
20:43:24 × biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer)
20:44:57 zeenk joins (~zeenk@2a02:2f04:a307:2300::fba)
20:45:10 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
20:47:32 mechap joins (~mechap@user/mechap)
20:48:01 biberu joins (~biberu@user/biberu)
20:48:53 merijn joins (~merijn@86.86.29.250)
20:51:00 dfg joins (~dfg@dfg.rocks)
20:51:01 × dfg quits (~dfg@dfg.rocks) (Changing host)
20:51:01 dfg joins (~dfg@user/dfg)
20:53:31 × merijn quits (~merijn@86.86.29.250) (Ping timeout: 240 seconds)
20:58:04 × heraldo quits (~heraldo@user/heraldo) (Ping timeout: 265 seconds)
20:59:36 shriekingnoise joins (~shrieking@186.137.175.87)
21:00:58 × kimiamania quits (~65804703@user/kimiamania) (Quit: PegeLinux)
21:01:18 kimiamania joins (~65804703@user/kimiamania)
21:01:27 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
21:05:20 JScript joins (~JScript@103.137.12.221)
21:05:41 × JScript quits (~JScript@103.137.12.221) (Max SendQ exceeded)
21:07:56 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:2c24:c958:e9eb:d096) (Remote host closed the connection)
21:07:58 × Cale quits (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) (Remote host closed the connection)
21:08:12 son0p joins (~ff@181.136.122.143)
21:08:14 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:2c24:c958:e9eb:d096)
21:10:01 <bratwurst> i don't suppose there's a site somewhere that can list packages using a given ghc extension?
21:10:11 <bratwurst> i would like more examples of gadt's to look at
21:12:11 × hololeap quits (~quassel@user/hololeap) (Quit: Bye)
21:14:17 hololeap joins (~quassel@user/hololeap)
21:16:38 × bratwurst quits (~dfadsva@2604:3d09:207f:f650::708a) (Quit: Leaving)
21:16:57 × trev quits (~trev@user/trev) (Quit: trev)
21:19:47 × michalz quits (~michalz@185.246.207.205) (Remote host closed the connection)
21:21:22 heraldo joins (~heraldo@user/heraldo)
21:25:20 JScript joins (~JScript@103.137.12.221)
21:26:52 × coot quits (~coot@213.134.170.228) (Quit: coot)
21:31:35 × mikess quits (~sam@user/mikess) (Ping timeout: 260 seconds)
21:32:37 × mestre quits (~mestre@191.177.175.117) (Quit: Lost terminal)
21:33:17 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
21:33:44 × mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.8)
21:36:10 × jwiegley quits (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
21:38:21 mikess joins (~sam@user/mikess)
21:38:30 Umeaboy joins (~Umeaboy@94-255-145-133.cust.bredband2.com)
21:38:34 <Umeaboy> Hi!
21:39:22 <ski> goddag
21:39:39 × kenran quits (~user@user/kenran) (Remote host closed the connection)
21:39:53 <Umeaboy> I have made a spec-file to build ghc using the source archive and I have a patch to it, but the %prep and the patch line isn't working automatically. Hold on...... I'll pastebin the spec.
21:40:23 <Umeaboy> Side note: I've managed to manually build stage1 of the same version so no error there.
21:41:14 <Umeaboy> Here's the spec-file: https://pastebin.com/968P20vs
21:42:16 <Umeaboy> Here's the patch: https://pastebin.com/nz23zram
21:43:25 × mikess quits (~sam@user/mikess) (Ping timeout: 276 seconds)
21:43:25 <Umeaboy> What am I doing wrong here?
21:43:43 <ski> måhända #ghc kan också vara relevant att fråga
21:43:53 <Umeaboy> ski: Jo.
21:43:59 <Umeaboy> Tack.
21:44:16 <geekosaur> not sure #ghc will help much here, this seems like an rpm question?
21:44:53 <geekosaur> (I haven't worked with rpm spec files since, uh, 2010)
21:44:59 × VY2 quits (~user@85.89.126.32) (Ping timeout: 265 seconds)
21:45:16 ski haven't really, at all
21:45:59 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 250 seconds)
21:46:12 <Umeaboy> I have even had a conversation with OpenAI about this, but it gives me confusing answers.
21:46:27 <hpc> iirc at the start of prep you need %patch100?
21:46:51 <hpc> or something along those lines
21:46:58 <hpc> basically you need to say when in the build to apply the patch
21:47:05 <Umeaboy> hpc: I changed the number to see if it made a difference.
21:47:08 <geekosaur> %autosetup does that
21:47:13 <Umeaboy> It didn't make a difference.
21:47:53 <Umeaboy> Have I placed the patch at the wrong line?
21:49:02 mikess joins (~sam@user/mikess)
21:49:05 <hpc> does the patch need to be --- ghc.spec?
21:50:24 <Umeaboy> hpc: I asked OpenAI to make the patch for me.
21:50:40 <Umeaboy> So I'm not to blaim for this. :)
21:51:13 × NiceBird quits (~NiceBird@185.133.111.196) (Ping timeout: 276 seconds)
21:51:23 <hpc> heh
21:51:25 nate1 joins (~nate@98.45.169.16)
21:52:19 ski . o O ( "Your honor, I didn't write the code in question, this program did." )
21:52:59 <geekosaur> now you know why a bunch of folks are asking for a halt to ai stuffs while legal and ethical issues get worked out
21:53:14 <hpc> ski: in a shocking twist, the program was vim :P
21:53:50 <geekosaur> I'm not sure macros are much of an improvement tbh 🙂
21:54:03 <geekosaur> (yes, I know)
21:54:34 <ski> "`M-x evil-mode' made me do it !"
21:54:42 <geekosaur> I do have some doubts about hacking $LIBRARY_PATH
21:54:55 jwiegley joins (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net)
21:54:55 <Umeaboy> Could the reason be that I didn't create the patch using nano? I just manually created a patch file in Pluma.
21:55:12 <geekosaur> did you test the patch outside of rpmbuild?
21:55:20 <Umeaboy> Nope.
21:55:49 <geekosaur> maybe that's the first step then
21:56:04 <geekosaur> possibly -p1 is wrong for the patch file?
21:56:33 × nate1 quits (~nate@98.45.169.16) (Ping timeout: 265 seconds)
21:57:04 <geekosaur> in fact, certainly it's wrong
21:57:25 <hpc> oh, yeah, that sounds right now
21:57:27 <geekosaur> looking at the patch I don't think you want any -p option, since it has only a filename and no path
21:57:43 <hpc> i am used to seeing patch files where it's something like "--- a/file.extension" and "+++ b/file.extension"
21:57:45 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:57:46 <Umeaboy> OK.
21:57:49 <hpc> and i never have issues with those
21:58:32 <geekosaur> so you either want no -p option or -p0
22:01:20 × mikess quits (~sam@user/mikess) (Ping timeout: 260 seconds)
22:01:50 <Umeaboy> %autosetup -n ghc-%{version} -p0 gives me the same result. It's asking for which file to patch.
22:02:24 <geekosaur> hrm. so the spec file isn't in the top level and the path in the patch needs to change
22:03:26 <geekosaur> and I don't see a "ghc.spec" in my ghc checkout. I think that AI sold you a hill of beans
22:04:15 <Umeaboy> I believe I see the error now. What if I did this for the Patch0 line? ghc-%{version}-fix.patch
22:04:33 <geekosaur> come to think of it, patching a spec file from within a spec file sounds wrong anyway
22:04:59 Cale joins (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com)
22:05:21 <geekosaur> what problem is this patch supposed to fix?
22:05:30 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
22:08:14 <Umeaboy> There was a file that rpmbuild couldn't find so I asked OpenAI to help me with a patch.
22:08:57 <Umeaboy> I'm now building without using the patch and so far so good, but I expect a breakage.
22:09:11 <Umeaboy> 163 of 299 built.
22:10:12 <Umeaboy> I'm building the same version that I've installed with ghcup, namely 9.2.7 when querying with ghc --version
22:10:15 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 250 seconds)
22:10:20 <Umeaboy> Almost done.
22:11:26 <geekosaur[m]> But you said you'd built it outside of rpmbuild?
22:12:16 <geekosaur[m]> Also I think you need a BuildDepends on a bootstrap ghc
22:13:05 <geekosaur[m]> Which has to unpack a binary distribution or you end up with a dependency loop
22:13:53 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
22:13:56 <geekosaur[m]> Self -bootstrapping compilers have that issue
22:14:34 <Umeaboy> Here's the error at the bottom: https://pastebin.com/MxLXEVwL
22:14:40 <Umeaboy> stage1 yes.
22:15:10 <Umeaboy> geekosaur[m]: AFAIK Mageia doesn't use BuildDepends.
22:15:23 <Umeaboy> I could be wrong though-
22:17:03 <geekosaur[m]> There are a lot of them in that spec file though
22:17:38 × dfg quits (~dfg@user/dfg) (Quit: I hate quit messages.)
22:18:15 <Umeaboy> BuildRequires you mean? Yeah, OpenAI made the spec-file as well. I have merely edited it.
22:20:58 dfg joins (~dfg@dfg.rocks)
22:20:58 × dfg quits (~dfg@dfg.rocks) (Changing host)
22:20:58 dfg joins (~dfg@user/dfg)
22:23:28 <Umeaboy> I think I know what the cause is. I need to move from using ./boot to ./hadrian/build
22:23:42 <Umeaboy> Building 9.6.1 now.
22:24:03 <geekosaur> sorry, yes, BuildRequires, I said it had been a while
22:24:41 <geekosaur> I think you can still use make with 9.2 but hadrian is preferred; beyond 9.2 hadrian is the only option
22:25:05 <geekosaur> anyway that error you should probably ask in #ghc about
22:25:25 × MajorBiscuit quits (~MajorBisc@2001:1c00:2408:a400:7f99:b6d8:c8b8:dc05) (Ping timeout: 250 seconds)
22:25:39 <geekosaur> it almost makes me think something is confused about whether the interpreter (including TH) was enabled for the build
22:26:31 × acidjnk quits (~acidjnk@p200300d6e715c406d9e68a9a5ded2776.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
22:26:53 L29Ah joins (~L29Ah@wikipedia/L29Ah)
22:37:26 × cheater quits (~Username@user/cheater) (Read error: Connection reset by peer)
22:38:11 cheater joins (~Username@user/cheater)
22:40:59 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:2c24:c958:e9eb:d096) (Remote host closed the connection)
22:41:31 adam_ joins (~adam@2406:3400:418:d7e0:67c:16ff:fe3e:b769)
22:41:55 × Cale quits (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) (Remote host closed the connection)
22:44:53 × adam_ quits (~adam@2406:3400:418:d7e0:67c:16ff:fe3e:b769) (Client Quit)
22:45:49 catch22 joins (~catch22@2406:3400:418:d7e0:67c:16ff:fe3e:b769)
22:45:56 × andrewboltachev quits (~andrey@178.141.217.5) (Quit: Leaving.)
22:47:07 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds)
22:51:29 Cale joins (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com)
22:52:42 × chomwitt quits (~chomwitt@ppp-94-67-189-62.home.otenet.gr) (Ping timeout: 252 seconds)
22:55:44 × jwiegley quits (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
23:00:07 × Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Ping timeout: 260 seconds)
23:00:08 freeside joins (~mengwong@103.252.202.85)
23:03:04 × Cale quits (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) (Remote host closed the connection)
23:03:05 × zeenk quits (~zeenk@2a02:2f04:a307:2300::fba) (Quit: Konversation terminated!)
23:03:07 × gurkenglas quits (~gurkengla@dynamic-046-114-177-022.46.114.pool.telefonica.de) (Ping timeout: 248 seconds)
23:05:19 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds)
23:05:54 mauke_ joins (~mauke@user/mauke)
23:06:14 Guest48 joins (~Guest48@2604:4080:11a5:8050:d8a3:b401:7b54:bb05)
23:07:24 × mauke quits (~mauke@user/mauke) (Ping timeout: 255 seconds)
23:07:25 mauke_ is now known as mauke
23:09:51 <Guest48> i'm reading about simplified subsumption and this section of the proposal doesn't make sense to me: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0287-simplify-subsumption.rst#deep-skolemisation
23:09:56 <Guest48> why would `g f` evaluate to 0?
23:12:40 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
23:12:49 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:2c24:c958:e9eb:d096)
23:14:09 × shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 255 seconds)
23:14:47 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
23:16:44 × kupi quits (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
23:17:31 <Guest48> `g f` diverges as expected if I don't provide type annotations for `f` and `g`, and I can validate that adding the type annotations causes `g f` to evaluate to 0
23:17:48 <Guest48> but I'm not seeing why the higher rank type should change what it means to evaluate f to whnf at runtime
23:19:12 <Guest48> the difference between `seq` on f vs. its eta expansion is clear
23:21:19 <jackdk> I think that with deep skolemisation, that eta expansion was silently happening. So `g f` is actually `g (\x y -> f x y)` and `seq (\x y -> _|_ x y) 0` evaluates to `0`
23:21:34 <Guest48> ah!
23:21:37 <jackdk> but I'm not 100% across this
23:24:35 <Guest48> rereading, I think that is what's happening, thanks
23:26:16 shriekingnoise joins (~shrieking@186.137.175.87)
23:26:27 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 265 seconds)
23:34:17 <Guest48> one thing that's not clear to me from reading https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/putting.pdf is whether the silent eta-expansion is a required implementation detail when you "float out" the foralls
23:34:50 <Guest48> that is, could you enrich the definition of subsumption at the type level (allowing you to admit additional programs) without performing the eta expansion at term level?
23:35:01 × phma quits (~phma@2001:5b0:215d:9858:7d74:e4dd:3d68:8787) (Read error: Connection reset by peer)
23:35:15 <Guest48> the deep skolemization type rules are syntax directed, but only on type syntax, not term syntax, right?
23:35:29 phma joins (~phma@host-67-44-208-55.hnremote.net)
23:36:35 <Guest48> jackdk: i'm not sure if these questions are likely to get a response here, feel free to lmk if that's the case :P
23:38:53 <jackdk> I personally have no idea how to answer your questions, but I would expect that the people in other timezones would be able to help. You may also have some success on discourse.haskell.org
23:39:42 <Guest48> thanks!
23:43:20 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
23:46:16 × malte quits (~malte@mal.tc) (Ping timeout: 276 seconds)
23:46:50 <Umeaboy> I'm now trying to build with the latest 9.7-start branch.
23:46:57 <Umeaboy> Lets see how that goes.
23:47:07 <Umeaboy> Nope. Same result.
23:47:17 <Umeaboy> hadrian/cfg/system.config is missing.
23:48:40 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds)
23:49:22 <geekosaur> sounds to me like you're missing a step somewhere. `./boot && ./configure && hadrian/build`
23:49:34 <geekosaur> looks to me like system.config is built by configure
23:51:28 <geekosaur> confirmed
23:59:39 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 248 seconds)

All times are in UTC on 2023-04-07.