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.