2023-02-04 00:00:26 +0100 | kassouni | (~kassouni@2601:646:400:68b0:f5a4:b4c5:300f:d7b8) |
2023-02-04 00:08:55 +0100 | tessier | (~treed@98.171.210.130) (Ping timeout: 252 seconds) |
2023-02-04 00:10:43 +0100 | tessier | (~treed@98.97.142.157) |
2023-02-04 00:12:21 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.) |
2023-02-04 00:13:48 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2023-02-04 00:15:11 +0100 | slack1256 | (~slack1256@186.11.59.217) (Ping timeout: 248 seconds) |
2023-02-04 00:16:50 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-04 00:21:04 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Ping timeout: 248 seconds) |
2023-02-04 00:31:23 +0100 | Alex_test | (~al_test@178.34.160.79) (Ping timeout: 260 seconds) |
2023-02-04 00:32:16 +0100 | AlexZenon | (~alzenon@178.34.160.79) (Ping timeout: 248 seconds) |
2023-02-04 00:35:26 +0100 | Alex_test | (~al_test@178.34.160.79) |
2023-02-04 00:37:00 +0100 | AlexZenon | (~alzenon@178.34.160.79) |
2023-02-04 00:39:11 +0100 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 248 seconds) |
2023-02-04 00:41:03 +0100 | kassouni | (~kassouni@2601:646:400:68b0:f5a4:b4c5:300f:d7b8) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2023-02-04 00:41:05 +0100 | theproffesor | (~theproffe@user/theproffesor) (Ping timeout: 260 seconds) |
2023-02-04 00:41:38 +0100 | kassouni | (~kassouni@2601:646:400:68b0:f5a4:b4c5:300f:d7b8) |
2023-02-04 00:44:19 +0100 | Lycurgus | (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz) |
2023-02-04 00:46:57 +0100 | tessier | (~treed@98.97.142.157) (Ping timeout: 268 seconds) |
2023-02-04 00:48:32 +0100 | tessier | (~treed@98.171.210.130) |
2023-02-04 00:50:04 +0100 | gurkenglas | (~gurkengla@dynamic-046-114-179-193.46.114.pool.telefonica.de) (Ping timeout: 260 seconds) |
2023-02-04 00:59:31 +0100 | merijn | (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) |
2023-02-04 01:04:36 +0100 | jakalx | (~jakalx@base.jakalx.net) () |
2023-02-04 01:06:07 +0100 | merijn | (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds) |
2023-02-04 01:06:31 +0100 | brettgilio | (~brettgili@x-irc.gq) (Ping timeout: 252 seconds) |
2023-02-04 01:06:50 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2023-02-04 01:07:23 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-04 01:08:08 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-02-04 01:11:01 +0100 | kassouni | (~kassouni@2601:646:400:68b0:f5a4:b4c5:300f:d7b8) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2023-02-04 01:11:37 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Ping timeout: 252 seconds) |
2023-02-04 01:13:40 +0100 | kenaryn | (~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr) |
2023-02-04 01:21:51 +0100 | kassouni | (~kassouni@2601:646:400:68b0:f5a4:b4c5:300f:d7b8) |
2023-02-04 01:26:14 +0100 | tessier | (~treed@98.171.210.130) (Ping timeout: 260 seconds) |
2023-02-04 01:27:48 +0100 | tessier | (~treed@98.97.142.157) |
2023-02-04 01:35:35 +0100 | Guest57 | (~Guest57@a109-51-125-39.cpe.netcabo.pt) |
2023-02-04 01:35:56 +0100 | Guest57 | (~Guest57@a109-51-125-39.cpe.netcabo.pt) (Client Quit) |
2023-02-04 01:38:42 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
2023-02-04 01:38:57 +0100 | kassouni | (~kassouni@2601:646:400:68b0:f5a4:b4c5:300f:d7b8) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2023-02-04 01:45:02 +0100 | falafel | (~falafel@2607:fb91:143f:e47f:6cd4:3764:846a:ef34) |
2023-02-04 01:47:43 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e715c4384c61433e25d9b335.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
2023-02-04 01:51:10 +0100 | kenaryn | (~aurele@cre71-h03-89-88-44-27.dsl.sta.abo.bbox.fr) (Quit: leaving) |
2023-02-04 01:57:49 +0100 | xff0x | (~xff0x@2405:6580:b080:900:e7c5:c7:8d46:6e81) (Ping timeout: 252 seconds) |
2023-02-04 01:58:26 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-04 01:58:52 +0100 | enthropy | (~enthropy@66.7.90.250) (Quit: Client closed) |
2023-02-04 01:59:43 +0100 | falafel | (~falafel@2607:fb91:143f:e47f:6cd4:3764:846a:ef34) (Ping timeout: 248 seconds) |
2023-02-04 01:59:45 +0100 | xff0x | (~xff0x@178.255.149.135) |
2023-02-04 02:01:27 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2023-02-04 02:01:58 +0100 | califax | (~califax@user/califx) (Remote host closed the connection) |
2023-02-04 02:02:37 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Ping timeout: 252 seconds) |
2023-02-04 02:03:40 +0100 | califax | (~califax@user/califx) |
2023-02-04 02:03:49 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
2023-02-04 02:04:03 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 252 seconds) |
2023-02-04 02:04:49 +0100 | _leo___ | (~emmanuelu@user/emmanuelux) (Ping timeout: 252 seconds) |
2023-02-04 02:05:29 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2023-02-04 02:08:15 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-02-04 02:09:13 +0100 | xff0x | (~xff0x@178.255.149.135) (Ping timeout: 252 seconds) |
2023-02-04 02:09:46 +0100 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-02-04 02:09:46 +0100 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-02-04 02:09:46 +0100 | wroathe | (~wroathe@user/wroathe) |
2023-02-04 02:10:29 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2023-02-04 02:10:57 +0100 | xff0x | (~xff0x@2405:6580:b080:900:e7c5:c7:8d46:6e81) |
2023-02-04 02:11:36 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2023-02-04 02:12:34 +0100 | talismanick | (~talismani@campus-119-100.ucdavis.edu) |
2023-02-04 02:16:35 +0100 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2023-02-04 02:19:27 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 252 seconds) |
2023-02-04 02:20:38 +0100 | enthropy | (~enthropy@66.7.90.250) |
2023-02-04 02:22:14 +0100 | tessier | (~treed@98.97.142.157) (Ping timeout: 260 seconds) |
2023-02-04 02:23:09 +0100 | troydm | (~troydm@user/troydm) (Ping timeout: 268 seconds) |
2023-02-04 02:23:55 +0100 | tessier | (~treed@98.171.210.130) |
2023-02-04 02:26:03 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-04 02:30:27 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 252 seconds) |
2023-02-04 02:33:59 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-04 02:34:28 +0100 | <segfaultfizzbuzz> | "abstract away too little and you're doing something the computer ought to be doing for you" - this is a good quote |
2023-02-04 02:35:25 +0100 | <smol-hors> | Downloading the latest package list from hackage.haskell.org |
2023-02-04 02:35:32 +0100 | <smol-hors> | does this usually take a fairly long time? |
2023-02-04 02:35:47 +0100 | <segfaultfizzbuzz> | smol-hors: what kind of dialup are you using |
2023-02-04 02:35:57 +0100 | <smol-hors> | no |
2023-02-04 02:35:59 +0100 | <segfaultfizzbuzz> | do you have at least a 14400 baud modem? |
2023-02-04 02:36:16 +0100 | <smol-hors> | well it's been there for like 5 minutes |
2023-02-04 02:36:19 +0100 | <segfaultfizzbuzz> | what about at least a pentium? |
2023-02-04 02:36:50 +0100 | <monochrom> | Ugh please don't mock. |
2023-02-04 02:37:27 +0100 | <smol-hors> | should I just ^C and try again? |
2023-02-04 02:37:31 +0100 | <monochrom> | But it usually don't take 5 minutes. |
2023-02-04 02:37:49 +0100 | <monochrom> | I don't know. I would try that. |
2023-02-04 02:37:56 +0100 | <segfaultfizzbuzz> | i'm just joking around ;-) |
2023-02-04 02:39:45 +0100 | <smol-hors> | ok it worked, thanks monochrom |
2023-02-04 02:40:15 +0100 | <enthropy> | is there a better name than generalizing the instance head for the following: `instance C (Either a a)` -> `instance a ~ b => C (Either a b)`? |
2023-02-04 02:43:23 +0100 | cheater_ | (~Username@user/cheater) |
2023-02-04 02:44:43 +0100 | <c_wraith> | Name for it? dunno. "making it work right?" :P |
2023-02-04 02:45:55 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 252 seconds) |
2023-02-04 02:45:59 +0100 | cheater_ | cheater |
2023-02-04 02:46:05 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-04 02:48:07 +0100 | kassouni | (~kassouni@2601:646:400:68b0:71bd:7fae:fa0b:cf56) |
2023-02-04 02:48:25 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2023-02-04 03:00:15 +0100 | nek0 | (~nek0@2a01:4f8:222:2b41::12) (Ping timeout: 260 seconds) |
2023-02-04 03:01:58 +0100 | hounded_woodstoc | (~hounded@2603-7000-da43-eccc-0000-0000-0000-0cec.res6.spectrum.com) (Quit: Leaving) |
2023-02-04 03:01:58 +0100 | hounded | (~hounded@2603-7000-da43-eccc-0000-0000-0000-0cec.res6.spectrum.com) (Quit: Leaving) |
2023-02-04 03:02:43 +0100 | merijn | (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) |
2023-02-04 03:07:05 +0100 | slack1256 | (~slack1256@186.11.59.217) |
2023-02-04 03:08:25 +0100 | ddellacosta | (~ddellacos@146.70.166.170) |
2023-02-04 03:16:55 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-02-04 03:20:34 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
2023-02-04 03:21:00 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2023-02-04 03:24:20 +0100 | kassouni | (~kassouni@2601:646:400:68b0:71bd:7fae:fa0b:cf56) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2023-02-04 03:24:50 +0100 | thongpv | (~thongpv87@2402:9d80:3b2:62da:2b21:8460:5472:b842) |
2023-02-04 03:26:55 +0100 | Cadey | (~cadey@tailscale/xe) |
2023-02-04 03:28:27 +0100 | Xe | (~cadey@tailscale/xe) (Quit: WeeChat 3.5) |
2023-02-04 03:32:58 +0100 | Cadey | Xe |
2023-02-04 03:33:37 +0100 | razetime | (~Thunderbi@117.193.5.54) |
2023-02-04 03:34:28 +0100 | enthropy | (~enthropy@66.7.90.250) (Quit: Client closed) |
2023-02-04 03:36:54 +0100 | merijn | (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds) |
2023-02-04 03:36:54 +0100 | cods | (~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 260 seconds) |
2023-02-04 03:37:07 +0100 | cods | (~fred@82-65-232-44.subs.proxad.net) |
2023-02-04 03:44:29 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Ping timeout: 260 seconds) |
2023-02-04 03:46:24 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 248 seconds) |
2023-02-04 03:46:35 +0100 | talismanick | (~talismani@campus-119-100.ucdavis.edu) (Ping timeout: 260 seconds) |
2023-02-04 03:55:54 +0100 | gmg | (~user@user/gehmehgeh) |
2023-02-04 03:58:41 +0100 | gehmehgeh | (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
2023-02-04 03:59:08 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-04 03:59:48 +0100 | Midjak | (~Midjak@82.66.147.146) (Read error: Connection reset by peer) |
2023-02-04 04:04:31 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 248 seconds) |
2023-02-04 04:09:13 +0100 | td_ | (~td@i5387090B.versanet.de) (Ping timeout: 268 seconds) |
2023-02-04 04:10:38 +0100 | td_ | (~td@i53870930.versanet.de) |
2023-02-04 04:11:19 +0100 | jero98772 | (~jero98772@2800:484:1d80:d8ce:9815:cfda:3661:17bb) (Remote host closed the connection) |
2023-02-04 04:13:35 +0100 | bilegeek | (~bilegeek@2600:1008:b024:9ac8:31f:a878:7a7e:b80e) (Remote host closed the connection) |
2023-02-04 04:13:56 +0100 | bilegeek | (~bilegeek@2600:1008:b024:9ac8:31f:a878:7a7e:b80e) |
2023-02-04 04:15:33 +0100 | bilegeek_ | (~bilegeek@2600:1008:b024:9ac8:31f:a878:7a7e:b80e) |
2023-02-04 04:16:10 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
2023-02-04 04:18:40 +0100 | bilegeek | (~bilegeek@2600:1008:b024:9ac8:31f:a878:7a7e:b80e) (Ping timeout: 260 seconds) |
2023-02-04 04:20:23 +0100 | slack1256 | (~slack1256@186.11.59.217) (Remote host closed the connection) |
2023-02-04 04:21:38 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-04 04:26:15 +0100 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 260 seconds) |
2023-02-04 04:31:51 +0100 | falafel | (~falafel@2607:fb91:143f:e47f:6cd4:3764:846a:ef34) |
2023-02-04 04:32:44 +0100 | motherfsck | (~motherfsc@user/motherfsck) (Quit: quit) |
2023-02-04 04:34:24 +0100 | nek0 | (~nek0@2a01:4f8:222:2b41::12) |
2023-02-04 04:36:06 +0100 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2023-02-04 04:37:21 +0100 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2023-02-04 04:37:21 +0100 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2023-02-04 04:37:21 +0100 | finn_elija | FinnElija |
2023-02-04 04:42:04 +0100 | terrorjack | (~terrorjac@2a01:4f8:1c1e:4e8c::) (Quit: The Lounge - https://thelounge.chat) |
2023-02-04 04:42:04 +0100 | tomku | (~tomku@user/tomku) (Read error: Connection reset by peer) |
2023-02-04 04:42:18 +0100 | tomku | (~tomku@user/tomku) |
2023-02-04 04:43:24 +0100 | terrorjack | (~terrorjac@2a01:4f8:1c1e:4e8c::) |
2023-02-04 04:45:58 +0100 | falafel | (~falafel@2607:fb91:143f:e47f:6cd4:3764:846a:ef34) (Ping timeout: 252 seconds) |
2023-02-04 04:48:46 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-04 04:50:11 +0100 | rekahsoft | (~rekahsoft@bras-base-orllon1122w-grc-05-174-88-194-86.dsl.bell.ca) (Ping timeout: 256 seconds) |
2023-02-04 04:56:35 +0100 | Guest75 | (~Guest75@178.141.147.162) |
2023-02-04 04:57:31 +0100 | razetime | (~Thunderbi@117.193.5.54) (Ping timeout: 252 seconds) |
2023-02-04 05:08:07 +0100 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds) |
2023-02-04 05:08:51 +0100 | tessier | (~treed@98.171.210.130) (Ping timeout: 252 seconds) |
2023-02-04 05:09:32 +0100 | irrgit_ | (~irrgit@146.70.27.218) |
2023-02-04 05:10:32 +0100 | tessier | (~treed@98.97.142.157) |
2023-02-04 05:10:44 +0100 | irrgit__ | (~irrgit@89.47.234.26) |
2023-02-04 05:13:37 +0100 | irrgit | (~irrgit@86.106.90.226) (Ping timeout: 252 seconds) |
2023-02-04 05:14:43 +0100 | irrgit_ | (~irrgit@146.70.27.218) (Ping timeout: 252 seconds) |
2023-02-04 05:24:38 +0100 | thongpv | (~thongpv87@2402:9d80:3b2:62da:2b21:8460:5472:b842) (Remote host closed the connection) |
2023-02-04 05:24:44 +0100 | razetime | (~Thunderbi@117.193.5.54) |
2023-02-04 05:26:08 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 248 seconds) |
2023-02-04 05:33:08 +0100 | merijn | (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) |
2023-02-04 05:35:13 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-04 05:39:27 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 248 seconds) |
2023-02-04 05:44:55 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-04 05:46:47 +0100 | falafel | (~falafel@172.58.187.198) |
2023-02-04 05:51:25 +0100 | infinity0 | (~infinity0@pwned.gg) (Ping timeout: 252 seconds) |
2023-02-04 05:53:44 +0100 | thongpv | (~thongpv87@123.31.161.115) |
2023-02-04 05:56:05 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
2023-02-04 05:58:43 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds) |
2023-02-04 06:07:09 +0100 | merijn | (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds) |
2023-02-04 06:11:43 +0100 | gawen_ | (~gawen@user/gawen) (Quit: cya) |
2023-02-04 06:13:04 +0100 | gawen | (~gawen@user/gawen) |
2023-02-04 06:13:10 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Ping timeout: 268 seconds) |
2023-02-04 06:14:42 +0100 | mechap_ | (~mechap@user/mechap) |
2023-02-04 06:15:24 +0100 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-02-04 06:15:24 +0100 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-02-04 06:15:24 +0100 | wroathe | (~wroathe@user/wroathe) |
2023-02-04 06:16:09 +0100 | tessier | (~treed@98.97.142.157) (Ping timeout: 260 seconds) |
2023-02-04 06:17:39 +0100 | laalyn | (~laalyn@c-73-241-126-7.hsd1.ca.comcast.net) |
2023-02-04 06:17:54 +0100 | mechap | (~mechap@user/mechap) (Ping timeout: 260 seconds) |
2023-02-04 06:22:47 +0100 | tessier | (~treed@98.171.210.130) |
2023-02-04 06:23:02 +0100 | falafel | (~falafel@172.58.187.198) (Ping timeout: 268 seconds) |
2023-02-04 06:23:02 +0100 | dolio | (~dolio@130.44.134.54) (Ping timeout: 268 seconds) |
2023-02-04 06:23:21 +0100 | dolio | (~dolio@130.44.134.54) |
2023-02-04 06:29:58 +0100 | opticblast | (~Thunderbi@172.58.82.233) (Read error: Connection reset by peer) |
2023-02-04 06:30:11 +0100 | opticblast | (~Thunderbi@172.58.86.236) |
2023-02-04 06:38:54 +0100 | thongpv | (~thongpv87@123.31.161.115) (Ping timeout: 260 seconds) |
2023-02-04 07:06:56 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 248 seconds) |
2023-02-04 07:08:07 +0100 | theproffesor | (~theproffe@2601:282:8800:3f30::d2a1) |
2023-02-04 07:08:07 +0100 | theproffesor | (~theproffe@2601:282:8800:3f30::d2a1) (Changing host) |
2023-02-04 07:08:07 +0100 | theproffesor | (~theproffe@user/theproffesor) |
2023-02-04 07:08:36 +0100 | czy | (~user@host-140-25.ilcub310.champaign.il.us.clients.pavlovmedia.net) |
2023-02-04 07:11:15 +0100 | varoo | (~varoo@117.203.246.41) |
2023-02-04 07:15:18 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2023-02-04 07:15:41 +0100 | czy | (~user@host-140-25.ilcub310.champaign.il.us.clients.pavlovmedia.net) (ERC 5.4 (IRC client for GNU Emacs 28.2)) |
2023-02-04 07:28:14 +0100 | jakalx | (~jakalx@base.jakalx.net) |
2023-02-04 07:28:55 +0100 | tessier | (~treed@98.171.210.130) (Ping timeout: 252 seconds) |
2023-02-04 07:29:35 +0100 | tessier | (~treed@98.171.210.130) |
2023-02-04 07:31:18 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2023-02-04 07:44:20 +0100 | bilegeek_ | (~bilegeek@2600:1008:b024:9ac8:31f:a878:7a7e:b80e) (Quit: Leaving) |
2023-02-04 07:46:12 +0100 | Feuermagier_ | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
2023-02-04 07:50:26 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) |
2023-02-04 07:51:11 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 248 seconds) |
2023-02-04 07:57:13 +0100 | talismanick | (~talismani@2601:200:c181:4c40::1be2) |
2023-02-04 08:03:45 +0100 | merijn | (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) |
2023-02-04 08:05:14 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-04 08:08:15 +0100 | merijn | (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds) |
2023-02-04 08:17:52 +0100 | roconnor | (~quassel@coq/roconnor) (Ping timeout: 248 seconds) |
2023-02-04 08:19:25 +0100 | gurkenglas | (~gurkengla@dynamic-046-114-179-193.46.114.pool.telefonica.de) |
2023-02-04 08:21:36 +0100 | thongpv | (~thongpv87@2402:9d80:3bd:3161:3524:4b7d:4e21:676) |
2023-02-04 08:32:47 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 248 seconds) |
2023-02-04 08:41:38 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-04 08:42:48 +0100 | kassouni | (~kassouni@2601:646:400:68b0:71bd:7fae:fa0b:cf56) |
2023-02-04 08:42:58 +0100 | Feuermagier_ | (~Feuermagi@user/feuermagier) |
2023-02-04 08:43:00 +0100 | Feuermagier_ | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
2023-02-04 08:44:52 +0100 | opticblast | (~Thunderbi@172.58.86.236) (Ping timeout: 268 seconds) |
2023-02-04 08:45:15 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) (Ping timeout: 260 seconds) |
2023-02-04 08:47:19 +0100 | phma | (~phma@2001:5b0:210d:59b8:b6b0:7ecf:e3da:b5e5) (Read error: Connection reset by peer) |
2023-02-04 08:48:03 +0100 | phma | (~phma@host-67-44-208-10.hnremote.net) |
2023-02-04 08:57:12 +0100 | gurkenglas | (~gurkengla@dynamic-046-114-179-193.46.114.pool.telefonica.de) (Ping timeout: 268 seconds) |
2023-02-04 09:01:06 +0100 | razetime | (~Thunderbi@117.193.5.54) (Read error: Connection reset by peer) |
2023-02-04 09:01:31 +0100 | razetime | (~Thunderbi@117.193.5.54) |
2023-02-04 09:05:35 +0100 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2023-02-04 09:05:51 +0100 | razetime | (~Thunderbi@117.193.5.54) (Ping timeout: 248 seconds) |
2023-02-04 09:08:29 +0100 | eruditass | (uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
2023-02-04 09:10:57 +0100 | Lycurgus | (~juan@user/Lycurgus) |
2023-02-04 09:13:08 +0100 | Guest75 | (~Guest75@178.141.147.162) (Ping timeout: 260 seconds) |
2023-02-04 09:13:22 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) |
2023-02-04 09:13:50 +0100 | thongpv | (~thongpv87@2402:9d80:3bd:3161:3524:4b7d:4e21:676) (Ping timeout: 260 seconds) |
2023-02-04 09:14:30 +0100 | bontaq | (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 252 seconds) |
2023-02-04 09:15:24 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) |
2023-02-04 09:20:17 +0100 | thongpv | (~thongpv87@123.31.161.115) |
2023-02-04 09:20:40 +0100 | razetime | (~Thunderbi@117.193.5.54) |
2023-02-04 09:28:30 +0100 | <Inst> | curious about Haskell syntax |
2023-02-04 09:28:57 +0100 | <Inst> | would Haskell have better syntax if, say, you could have a name be an operator by default by including a non-reserved symbol in it? |
2023-02-04 09:29:32 +0100 | <Inst> | actually, if it starts with a symbol, it's an operator, if it starts with a character or underscore, it's a name binding or function |
2023-02-04 09:29:38 +0100 | <Inst> | =is |
2023-02-04 09:30:21 +0100 | <mauke> | that's already how it works |
2023-02-04 09:39:52 +0100 | Lycurgus | (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz) |
2023-02-04 09:40:04 +0100 | <freeside> | Inst: are you saying you want to be able to define something like (<p>) in the same way you can define (<+>) |
2023-02-04 09:40:47 +0100 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-02-04 09:41:59 +0100 | <Inst> | ya |
2023-02-04 09:42:19 +0100 | <Inst> | "parse error on put ) |
2023-02-04 09:42:32 +0100 | <Inst> | input, it's not how it already works |
2023-02-04 09:42:45 +0100 | <Inst> | I want to be able to use =is and get default operator without backticks |
2023-02-04 09:42:47 +0100 | azimut_ | (~azimut@gateway/tor-sasl/azimut) |
2023-02-04 09:42:50 +0100 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2023-02-04 09:43:37 +0100 | kuribas | (~user@ptr-17d51eoxqxns4cyal2u.18120a2.ip6.access.telenet.be) |
2023-02-04 09:43:58 +0100 | Feuermagier_ | (~Feuermagi@user/feuermagier) |
2023-02-04 09:44:03 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) (Read error: Connection reset by peer) |
2023-02-04 09:48:01 +0100 | <mauke> | ah, you want to change the tokenizer to produce new kinds of symbols, not change how existing symbols are interpreted |
2023-02-04 09:49:41 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-02-04 09:55:37 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) |
2023-02-04 09:58:53 +0100 | Feuermagier_ | (~Feuermagi@user/feuermagier) (Ping timeout: 252 seconds) |
2023-02-04 10:13:47 +0100 | kassouni | (~kassouni@2601:646:400:68b0:71bd:7fae:fa0b:cf56) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2023-02-04 10:16:52 +0100 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
2023-02-04 10:17:13 +0100 | Athas | (~athas@sigkill.dk) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-02-04 10:18:05 +0100 | Athas | (~athas@2a01:7c8:aaac:1cf:70d2:94d:d702:e8d6) |
2023-02-04 10:27:33 +0100 | viktorvalen | (~viktorval@pool-98-116-90-86.nycmny.fios.verizon.net) |
2023-02-04 10:32:01 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e715c439d991e45717e1c302.dip0.t-ipconnect.de) |
2023-02-04 10:37:41 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2023-02-04 10:38:48 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-02-04 10:46:12 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:f424:933a:fcd6:76ad) (Remote host closed the connection) |
2023-02-04 10:46:59 +0100 | <freeside> | I have been browsing the IntertubeOverflow24DaysWikiBook but the closest thing I've found is PostfixOperators. |
2023-02-04 10:51:42 +0100 | mc47 | (~mc47@xmonad/TheMC47) |
2023-02-04 10:51:47 +0100 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-02-04 10:53:17 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2023-02-04 10:53:29 +0100 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
2023-02-04 10:56:04 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) (Quit: Leaving) |
2023-02-04 11:06:08 +0100 | varoo | (~varoo@117.203.246.41) (Remote host closed the connection) |
2023-02-04 11:06:24 +0100 | varoo | (~varoo@117.203.246.41) |
2023-02-04 11:07:04 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e715c439d991e45717e1c302.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2023-02-04 11:08:56 +0100 | varoo | (~varoo@117.203.246.41) (Client Quit) |
2023-02-04 11:09:08 +0100 | varoo | (~varoo@117.203.246.41) |
2023-02-04 11:09:29 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) |
2023-02-04 11:12:23 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) (Client Quit) |
2023-02-04 11:14:00 +0100 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2023-02-04 11:14:40 +0100 | acidjnk | (~acidjnk@p200300d6e715c439801b1c59a37bf11b.dip0.t-ipconnect.de) |
2023-02-04 11:14:47 +0100 | cods | (~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 252 seconds) |
2023-02-04 11:14:59 +0100 | cods | (~fred@82-65-232-44.subs.proxad.net) |
2023-02-04 11:20:51 +0100 | irrgit_ | (~irrgit@86.106.90.226) |
2023-02-04 11:22:20 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.) |
2023-02-04 11:23:28 +0100 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-02-04 11:23:57 +0100 | irrgit__ | (~irrgit@89.47.234.26) (Ping timeout: 252 seconds) |
2023-02-04 11:24:57 +0100 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2023-02-04 11:31:16 +0100 | thongpv87 | (~thongpv87@123.31.161.115) |
2023-02-04 11:33:07 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 252 seconds) |
2023-02-04 11:33:36 +0100 | thongpv | (~thongpv87@123.31.161.115) (Ping timeout: 248 seconds) |
2023-02-04 11:38:57 +0100 | mechap_ | mechap |
2023-02-04 11:45:58 +0100 | danza | (~francesco@151.37.157.83) |
2023-02-04 11:46:40 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:f424:933a:fcd6:76ad) |
2023-02-04 11:46:49 +0100 | <razetime> | i'm trying to use cabal repl in a package and it rebuilds the whole project even after i do cabal build. what do i do? |
2023-02-04 11:47:39 +0100 | mastarija | (~mastarija@2a05:4f46:e03:6000:d6e5:35ff:2a87:b1b7) |
2023-02-04 11:52:21 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:f424:933a:fcd6:76ad) (Ping timeout: 256 seconds) |
2023-02-04 11:54:28 +0100 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-02-04 11:57:00 +0100 | varoo | (~varoo@117.203.246.41) (Remote host closed the connection) |
2023-02-04 11:57:18 +0100 | varoo | (~varoo@117.203.246.41) |
2023-02-04 11:59:51 +0100 | caef^ | (~caef@c-24-30-76-89.hsd1.ga.comcast.net) |
2023-02-04 12:03:58 +0100 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2023-02-04 12:16:08 +0100 | <freeside> | based on my experiences with 'stack build' followed by 'stack ghci', i believe this is expected behaviour. |
2023-02-04 12:16:38 +0100 | <freeside> | what do i do? i make tea. you may prefer coffee. |
2023-02-04 12:20:18 +0100 | <razetime> | sigh, I guess I will go out for a walk. |
2023-02-04 12:21:16 +0100 | mastarija | (~mastarija@2a05:4f46:e03:6000:d6e5:35ff:2a87:b1b7) (Quit: WeeChat 3.7.1) |
2023-02-04 12:22:07 +0100 | razetime | (~Thunderbi@117.193.5.54) (Quit: See You Space Cowboy) |
2023-02-04 12:23:06 +0100 | tabaqui | (~root@88.231.63.172) |
2023-02-04 12:24:01 +0100 | <freeside> | this may be helpfuL: in my .ghcid, I have --test=":main --rerun-all-on-success" --warn |
2023-02-04 12:24:39 +0100 | <freeside> | and in my .ghci I have :set -isrc and :l test/Spec.hs |
2023-02-04 12:25:11 +0100 | <freeside> | in combination, when i run ghcid, it runs a watch on my src dir, automatically reloads upon change, and runs tests |
2023-02-04 12:30:44 +0100 | haskl | (~haskl@user/haskl) (Read error: Connection reset by peer) |
2023-02-04 12:33:15 +0100 | haskl | (~haskl@user/haskl) |
2023-02-04 12:37:33 +0100 | gurkenglas | (~gurkengla@dynamic-046-114-182-005.46.114.pool.telefonica.de) |
2023-02-04 12:45:34 +0100 | hpc | (~juzz@ip98-169-35-163.dc.dc.cox.net) (Ping timeout: 252 seconds) |
2023-02-04 12:47:11 +0100 | hpc | (~juzz@ip98-169-35-163.dc.dc.cox.net) |
2023-02-04 12:50:06 +0100 | merijn | (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) |
2023-02-04 12:56:28 +0100 | merijn | (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds) |
2023-02-04 13:04:54 +0100 | danza | (~francesco@151.37.157.83) (Read error: Connection reset by peer) |
2023-02-04 13:07:02 +0100 | santiagopim | (~user@90.167.66.131) |
2023-02-04 13:12:34 +0100 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-02-04 13:16:54 +0100 | Angelz | (Angelz@Angelz.oddprotocol.org) (Quit: IRCNow and Forever!) |
2023-02-04 13:18:51 +0100 | talismanick | (~talismani@2601:200:c181:4c40::1be2) (Ping timeout: 255 seconds) |
2023-02-04 13:19:21 +0100 | danza | (~francesco@151.57.102.160) |
2023-02-04 13:21:19 +0100 | biberu | (~biberu@user/biberu) (Ping timeout: 252 seconds) |
2023-02-04 13:24:06 +0100 | biberu | (~biberu@user/biberu) |
2023-02-04 13:34:35 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 255 seconds) |
2023-02-04 13:35:04 +0100 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-02-04 13:37:06 +0100 | Midjak | (~Midjak@82.66.147.146) |
2023-02-04 13:42:25 +0100 | Guest75 | (~Guest75@178.141.147.162) |
2023-02-04 13:53:31 +0100 | <jean-paul[m]> | is there something like Data.Binary.Put that admits the possibility of failure? |
2023-02-04 13:56:06 +0100 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-02-04 13:59:03 +0100 | biberu | (~biberu@user/biberu) (Quit: ZNC - https://znc.in) |
2023-02-04 14:00:04 +0100 | biberu | (~biberu@user/biberu) |
2023-02-04 14:02:13 +0100 | <danza> | it might be possible to add a Put instance for MonadFail |
2023-02-04 14:02:25 +0100 | biberu | (~biberu@user/biberu) (Client Quit) |
2023-02-04 14:02:46 +0100 | <freeside> | the changelog https://github.com/kolmodin/binary/blob/master/changelog.md#binary-0870 is intriguing |
2023-02-04 14:03:24 +0100 | biberu | (~biberu@user/biberu) |
2023-02-04 14:04:27 +0100 | kassouni | (~kassouni@2601:646:400:68b0:71bd:7fae:fa0b:cf56) |
2023-02-04 14:06:42 +0100 | kassouni | (~kassouni@2601:646:400:68b0:71bd:7fae:fa0b:cf56) (Client Quit) |
2023-02-04 14:10:45 +0100 | kassouni | (~kassouni@2601:646:400:68b0:71bd:7fae:fa0b:cf56) |
2023-02-04 14:11:36 +0100 | <danza> | i am trying to write some classes and the complexity of errors escalated quickly. This is code that provides Read and Show instances to types that have a simple string representation: https://paste.tomsmeding.com/8snVgg1C. When trying to compile, i get this error: https://paste.tomsmeding.com/beffCrGJ. I do not see how overlapping instances could come out of an usage of toEnum here, and i am unfamiliar with tags so the reported syntax looks |
2023-02-04 14:11:36 +0100 | <danza> | inscrutable. As an aside question, i have been a bit surprised by having to add FlexibleInstances and UndecidableInstances for such simple relationships among classes: are those needed or am i doing something wrong? |
2023-02-04 14:11:40 +0100 | <jean-paul[m]> | Get has a MonadFail instance so maybe that's what the changelog is referring to |
2023-02-04 14:16:12 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-02-04 14:19:07 +0100 | razetime | (~Thunderbi@117.193.5.54) |
2023-02-04 14:21:50 +0100 | <danza> | solved. The code revealed that Simple was isomorphic to Show, so i realised that i just need Show. Semantics are clearer now: we get an `instance (Show e, Enum e) => Read e` in this new version paste.tomsmeding.com/tftQmt8O, to easily define custom show-read isomorphisms. Simpler and neat, although we still seem to need the pragmas |
2023-02-04 14:22:41 +0100 | merijn | (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) |
2023-02-04 14:23:13 +0100 | kassouni | (~kassouni@2601:646:400:68b0:71bd:7fae:fa0b:cf56) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2023-02-04 14:27:14 +0100 | elevenkb | (~elevenkb@105.224.35.82) |
2023-02-04 14:32:33 +0100 | Athas | (~athas@2a01:7c8:aaac:1cf:70d2:94d:d702:e8d6) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-02-04 14:32:43 +0100 | Athas | (~athas@sigkill.dk) |
2023-02-04 14:32:59 +0100 | <[Leary]> | danza: `instance ... => C e` is universal; there's no structure in the instance head, so it overlaps with any other conceivable instance for `C`. Haskell98/2010 don't support such instances, hence the pragmata. Rather than a `Read` instance, you probably want to write an ordinary function `parseEnum :: (Enum a, Bounded a, Show a) => String -> Maybe a`. |
2023-02-04 14:37:37 +0100 | <danza> | thanks for the explanation Leary. The idea of writing an ordinary function is appealing, but having a read instance i can easily use these types side by side with any other type derived from (Show, Read) |
2023-02-04 14:39:52 +0100 | <elevenkb> | Is there any way to save marks, etc. in a PDF view document? |
2023-02-04 14:42:01 +0100 | <elevenkb> | i meant `pdf-tools` sorry. |
2023-02-04 14:42:07 +0100 | <elevenkb> | just saw that there might be something helpful |
2023-02-04 14:42:32 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 268 seconds) |
2023-02-04 14:46:30 +0100 | <[exa]> | elevenkb: "marks"? I'm normally adding annotations/comments/highlighting with evince, does that count? |
2023-02-04 14:46:43 +0100 | <[Leary]> | danza: I doubt that. Merely having that instance in scope effectively breaks the `Read` class, as you'll get overlap errors trying to use any other instance. |
2023-02-04 14:46:58 +0100 | <elevenkb> | [exa] sorry about this, completely the wrong channel. |
2023-02-04 14:47:03 +0100 | <elevenkb> | meant to post in #emacs. |
2023-02-04 14:47:44 +0100 | kassouni | (~kassouni@2601:646:400:68b0:71bd:7fae:fa0b:cf56) |
2023-02-04 14:48:51 +0100 | <danza> | you guessed right Leary, i am getting those errors. So does `instance (Show e, Enum e) => Read e` not produce Read instances only for types with a `Show, Enum` constraint? Maybe i am using the wrong syntax for what i mean. Happy to read on some doc to learn better |
2023-02-04 14:49:17 +0100 | <[exa]> | elevenkb: ah :D ok, marks explained |
2023-02-04 14:49:29 +0100 | razetime | (~Thunderbi@117.193.5.54) (Quit: See You Space Cowboy) |
2023-02-04 14:52:45 +0100 | <tomsmeding> | danza: no, that creates an instance for _all_ types e; that instance, when used, then introduces Show e and Enum e constraints in scope |
2023-02-04 14:52:47 +0100 | <[Leary]> | danza: That means "for any type `e`, we have `Read` (but you must supply `Show` and `Enum` to use it)". |
2023-02-04 14:52:53 +0100 | <tomsmeding> | instance resolution is not depth-first search, it's greedy |
2023-02-04 14:54:43 +0100 | <danza> | i see, that is not what i was trying to achieve. Might have more luck with an ordinary function. Cheers! |
2023-02-04 14:56:34 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-04 14:56:59 +0100 | merijn | (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds) |
2023-02-04 14:58:23 +0100 | <tomsmeding> | danza: you can see why what you were expecting would be hard to specify completely in general; for example, what if someone else writes `instance (Show e, Ord e) => Read e`? Which instance should be picked for some type which implements Show, Enum and Ord? |
2023-02-04 14:58:58 +0100 | <tomsmeding> | You could disallow such an additional instance, but then it becomes a non-trivial problem just to decide which instance declarations are valid |
2023-02-04 14:59:22 +0100 | <tomsmeding> | (and instance resolution would be really slow because you have a proper logic programming language at that point) |
2023-02-04 15:00:57 +0100 | <danza> | in that case there would be overlapping ones, i guess, while in many other cases there could not be. But sure, this might make compiling hard, i cannot tell |
2023-02-04 15:02:19 +0100 | <tomsmeding> | harder, not impossible. I guess it's not a strong argument for the current system. But in any case the current system is as it is :p |
2023-02-04 15:02:41 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-04 15:03:06 +0100 | oldfashionedcow | (~Rahul_San@user/oldfashionedcow) (Quit: WeeChat 3.8) |
2023-02-04 15:05:57 +0100 | <danza> | :) |
2023-02-04 15:09:35 +0100 | <geekosaur> | it's just an incoherent instance, you can get that in other ways now |
2023-02-04 15:10:55 +0100 | <geekosaur> | the real problem is you need a runtime witness to "this type has these instances", the compiler can't prove it in all cases at compile time |
2023-02-04 15:12:22 +0100 | <geekosaur> | in ghc's case that is a typeclass dictionary, but it'd come up in other ways with other implementations |
2023-02-04 15:15:34 +0100 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2023-02-04 15:17:17 +0100 | kjak | (~kjak@pool-72-66-75-40.washdc.fios.verizon.net) |
2023-02-04 15:20:41 +0100 | elevenkb | (~elevenkb@105.224.35.82) (Quit: Ping timeout (120 seconds)) |
2023-02-04 15:28:07 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) |
2023-02-04 15:40:37 +0100 | ddellacosta | (~ddellacos@146.70.166.170) (Ping timeout: 252 seconds) |
2023-02-04 15:53:57 +0100 | Midjak | (~Midjak@82.66.147.146) (Read error: Connection reset by peer) |
2023-02-04 15:58:35 +0100 | Midjak | (~Midjak@82.66.147.146) |
2023-02-04 15:59:07 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 260 seconds) |
2023-02-04 15:59:35 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Ping timeout: 260 seconds) |
2023-02-04 16:06:15 +0100 | danza | (~francesco@151.57.102.160) (Ping timeout: 260 seconds) |
2023-02-04 16:16:25 +0100 | kimiamania | (~65804703@user/kimiamania) (Quit: PegeLinux) |
2023-02-04 16:16:47 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-04 16:17:39 +0100 | kimiamania | (~924ba01c@user/kimiamania) |
2023-02-04 16:17:44 +0100 | inversed | (~inversed@bcdcac82.skybroadband.com) (Read error: Connection reset by peer) |
2023-02-04 16:18:41 +0100 | inversed | (~inversed@bcdcac82.skybroadband.com) |
2023-02-04 16:21:49 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 268 seconds) |
2023-02-04 16:22:08 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2023-02-04 16:22:24 +0100 | kassouni | (~kassouni@2601:646:400:68b0:71bd:7fae:fa0b:cf56) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2023-02-04 16:22:33 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-04 16:22:50 +0100 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-02-04 16:24:13 +0100 | ubert | (~Thunderbi@p200300ecdf13018dd908b28f61036a98.dip0.t-ipconnect.de) |
2023-02-04 16:24:17 +0100 | opqdonut | (opqdonut@pseudo.fixme.fi) (Ping timeout: 268 seconds) |
2023-02-04 16:24:54 +0100 | edwtjo | (~edwtjo@fsf/member/edwtjo) (Ping timeout: 268 seconds) |
2023-02-04 16:25:12 +0100 | edwtjo | (~edwtjo@h-109-228-137-133.A213.priv.bahnhof.se) |
2023-02-04 16:25:12 +0100 | edwtjo | (~edwtjo@h-109-228-137-133.A213.priv.bahnhof.se) (Changing host) |
2023-02-04 16:25:12 +0100 | edwtjo | (~edwtjo@fsf/member/edwtjo) |
2023-02-04 16:26:37 +0100 | opqdonut | (opqdonut@pseudo.fixme.fi) |
2023-02-04 16:26:37 +0100 | ubert1 | (~Thunderbi@p200300ecdf13018d0f8ce183c4b5c4af.dip0.t-ipconnect.de) |
2023-02-04 16:27:27 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 248 seconds) |
2023-02-04 16:29:11 +0100 | titibandit1 | (~titibandi@xdsl-85-197-0-96.nc.de) |
2023-02-04 16:32:36 +0100 | Guest72 | (~Guest72@2607:fea8:e0a2:2600:b113:ae71:51cc:4765) |
2023-02-04 16:32:39 +0100 | ub | (~Thunderbi@p548c8ef0.dip0.t-ipconnect.de) |
2023-02-04 16:32:47 +0100 | ubert | (~Thunderbi@p200300ecdf13018dd908b28f61036a98.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2023-02-04 16:32:48 +0100 | ub | ubert |
2023-02-04 16:32:48 +0100 | ubert | 068AAD9K6 |
2023-02-04 16:32:48 +0100 | ubert1 | 048AAGB9P |
2023-02-04 16:37:38 +0100 | Guest72 | (~Guest72@2607:fea8:e0a2:2600:b113:ae71:51cc:4765) (Ping timeout: 260 seconds) |
2023-02-04 16:41:44 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-04 16:41:47 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-04 16:47:13 +0100 | <segfaultfizzbuzz> | does anyone know "how" achronix fpgas are programmed? as in, what language(s) are used? do common programming language abstractions break when the timing possibilities become more complicated? |
2023-02-04 16:48:08 +0100 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2023-02-04 16:49:18 +0100 | enthropy | (~enthropy@66.7.90.250) |
2023-02-04 16:49:43 +0100 | <[exa]> | segfaultfizzbuzz: do you know verilog? |
2023-02-04 16:52:14 +0100 | roconnor | (~quassel@coq/roconnor) |
2023-02-04 16:52:24 +0100 | roconnor | (~quassel@coq/roconnor) () |
2023-02-04 16:53:14 +0100 | merijn | (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) |
2023-02-04 16:56:13 +0100 | <juri_> | segfaultfizzbuzz: if you're interested, clash is an interesting FPGA programming system, written in haskell. |
2023-02-04 16:56:17 +0100 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2023-02-04 16:56:46 +0100 | <segfaultfizzbuzz> | i have seen clash |
2023-02-04 16:57:01 +0100 | infinity0 | (~infinity0@pwned.gg) |
2023-02-04 16:57:13 +0100 | <segfaultfizzbuzz> | i don't know verilog, i am interested in the more fundamental question around whether clocks and synchrony are tied to programming languages |
2023-02-04 16:59:32 +0100 | <[exa]> | yeah my point was that I don't know any other programming language that would be close to hardware timing of stuff. Except maybe if you're programming in some ISAs where you need to make sure to fit into specific time constraints so that e.g. a hardware component works |
2023-02-04 17:00:03 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 268 seconds) |
2023-02-04 17:00:04 +0100 | oak- | (~oak-@2001:470:69fc:105::fcd) (Quit: You have been kicked for being idle) |
2023-02-04 17:00:33 +0100 | <[exa]> | especially on embedded architectures the instruction count is a valid high-precise timing mechanism. |
2023-02-04 17:00:55 +0100 | <segfaultfizzbuzz> | on the one hand there is timing precision and on the other there is the asynchronicity (ultra-large timing possibility space, i guess?) |
2023-02-04 17:01:52 +0100 | <segfaultfizzbuzz> | i sense that the design of haskell should be *less* dependent on synchronicity as compared to uh, C or something, but i don't know how to continue that thought |
2023-02-04 17:02:46 +0100 | <geekosaur> | hard realtime languages exist; I programmed in one (a dialect of BASIC, of all things) for a while |
2023-02-04 17:03:26 +0100 | <geekosaur> | more common is EDSLs that generate code in such languages: Clash is such an EDSL that generates Verilog |
2023-02-04 17:03:51 +0100 | <geekosaur> | oh, I see someone already mentioned it |
2023-02-04 17:04:05 +0100 | Angelz | (Angelz@2605:6400:30:fc15:d55b:fa6c:bd14:9973) |
2023-02-04 17:04:18 +0100 | <geekosaur> | but yes, Haskell would make a poor HRT language |
2023-02-04 17:04:24 +0100 | <segfaultfizzbuzz> | HRT? |
2023-02-04 17:04:29 +0100 | <segfaultfizzbuzz> | realtime hardware? |
2023-02-04 17:04:33 +0100 | <geekosaur> | hard realtime |
2023-02-04 17:05:00 +0100 | <segfaultfizzbuzz> | and i can't quite tell the difference between a thread and like independent temporally parallel paths on a chip |
2023-02-04 17:05:12 +0100 | <geekosaur> | guaranteed response within some small number of microseconds |
2023-02-04 17:05:27 +0100 | <geekosaur> | neither can Intel (see hyperthreading) 🙂 |
2023-02-04 17:08:41 +0100 | inversed | (~inversed@bcdcac82.skybroadband.com) (Quit: Connection error?!) |
2023-02-04 17:09:08 +0100 | <[exa]> | geekosaur: we might generalize that none of the platforms directly supported by haskell currently make a good RT platform. :D |
2023-02-04 17:11:22 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2023-02-04 17:12:59 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Ping timeout: 260 seconds) |
2023-02-04 17:15:19 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-04 17:15:59 +0100 | gurkenglas | (~gurkengla@dynamic-046-114-182-005.46.114.pool.telefonica.de) (Ping timeout: 255 seconds) |
2023-02-04 17:17:52 +0100 | inversed | (~inversed@bcdcac82.skybroadband.com) |
2023-02-04 17:18:30 +0100 | thongpv | (~thongpv87@2402:9d80:3bd:3161:8bb6:af59:3726:3ab4) |
2023-02-04 17:18:56 +0100 | razetime | (~Thunderbi@117.193.5.54) |
2023-02-04 17:19:02 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-04 17:20:34 +0100 | thongpv87 | (~thongpv87@123.31.161.115) (Ping timeout: 260 seconds) |
2023-02-04 17:21:30 +0100 | Midjak | (~Midjak@82.66.147.146) (Read error: Connection reset by peer) |
2023-02-04 17:23:46 +0100 | Midjak | (~Midjak@82.66.147.146) |
2023-02-04 17:27:23 +0100 | merijn | (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds) |
2023-02-04 17:32:01 +0100 | Midjak | (~Midjak@82.66.147.146) (Read error: Connection reset by peer) |
2023-02-04 17:34:24 +0100 | Midjak | (~Midjak@82.66.147.146) |
2023-02-04 17:35:11 +0100 | <segfaultfizzbuzz> | i was asking about achronix fpgas in particular by the way because they are asynchronous, so whatever they do with timing presumably needs to be as loose (not realtime?) as possible (??) |
2023-02-04 17:35:37 +0100 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
2023-02-04 17:41:26 +0100 | <tomsmeding> | segfaultfizzbuzz: https://www.achronix.com/sites/default/files/docs/ACE_User_Guide_UG070_7.pdf |
2023-02-04 17:41:49 +0100 | <tomsmeding> | > This guide is a reference manual for the Achronix CAD Environment (ACE), used for placing, routing, configuring, and debugging Achronix FPGAs. |
2023-02-04 17:42:25 +0100 | Midjak | (~Midjak@82.66.147.146) (Read error: Connection reset by peer) |
2023-02-04 17:42:29 +0100 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Quit: beteigeuze) |
2023-02-04 17:42:54 +0100 | <tomsmeding> | product of a few mins of searching, I know zero about fpgas |
2023-02-04 17:42:54 +0100 | <enthropy> | evaluation order is less important in haskell because of laziness. At the beginning they were selling it as being good for a future computer architecture that would or could evaluate things in parallel. Mentally I don't commit to an evaluation order, since I want to get the right answer and then solve the stack overflow. I don't think this |
2023-02-04 17:42:55 +0100 | <enthropy> | difference influences their suitability for circuits in the same way that "a shallow embedding" can make haskell better for writing interpreters |
2023-02-04 17:43:26 +0100 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) |
2023-02-04 17:43:46 +0100 | Midjak | (~Midjak@82.66.147.146) |
2023-02-04 17:45:50 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2023-02-04 17:45:50 +0100 | Midjak | (~Midjak@82.66.147.146) (Read error: Connection reset by peer) |
2023-02-04 17:47:26 +0100 | Midjak | (~Midjak@82.66.147.146) |
2023-02-04 17:47:47 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Ping timeout: 246 seconds) |
2023-02-04 17:52:06 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:f424:933a:fcd6:76ad) |
2023-02-04 17:53:21 +0100 | econo | (uid147250@user/econo) |
2023-02-04 17:55:00 +0100 | mastarija | (~mastarija@2a05:4f46:e03:6000:7b59:e06e:5bb0:7fe8) |
2023-02-04 17:56:15 +0100 | <mastarija> | So, I get this message when I try to add the `amdgpu-pro` kernel module: |
2023-02-04 17:56:19 +0100 | <mastarija> | modprobe: FATAL: Module amdgpu-pro not found in directory /nix/store/14hqyjn2hrwbk0xxqlvnd2df8341n8nr-linux-6.1.9-modules/lib/modules/6.1.9 |
2023-02-04 17:56:33 +0100 | <mastarija> | Two relevant lines: |
2023-02-04 17:56:36 +0100 | <mastarija> | boot.extraModulePackages = with pkgs.linuxPackages_latest; [ amdgpu-pro ]; |
2023-02-04 17:56:43 +0100 | <mastarija> | boot.initrd.kernelModules = [ "amdgpu-pro" ]; |
2023-02-04 17:56:43 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:f424:933a:fcd6:76ad) (Ping timeout: 248 seconds) |
2023-02-04 17:57:33 +0100 | Midjak | (~Midjak@82.66.147.146) (Read error: Connection reset by peer) |
2023-02-04 17:57:45 +0100 | <mastarija> | I've checked in repl, and `pkgs.linuxPackages_latest.amdgpu-pro` exists, so I'm not sure what's going on here. |
2023-02-04 17:58:39 +0100 | <mastarija> | Oops. Wrong channel. |
2023-02-04 18:02:31 +0100 | mvk | (~mvk@2607:fea8:5caa:ac00::f944) (Ping timeout: 252 seconds) |
2023-02-04 18:05:25 +0100 | Feuermagier_ | (~Feuermagi@user/feuermagier) |
2023-02-04 18:05:30 +0100 | Feuermagier_ | (~Feuermagi@user/feuermagier) (Remote host closed the connection) |
2023-02-04 18:08:01 +0100 | Feuermagier | (~Feuermagi@user/feuermagier) (Ping timeout: 252 seconds) |
2023-02-04 18:10:20 +0100 | ddellacosta | (~ddellacos@146.70.166.170) |
2023-02-04 18:13:43 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-04 18:15:49 +0100 | <segfaultfizzbuzz> | " i want to get the right answer and then solve the stack overflow" - lol this is a great quote |
2023-02-04 18:16:15 +0100 | <segfaultfizzbuzz> | enthropy: yes the evaluation order consideration was why i was bringing up asynchronicity |
2023-02-04 18:18:21 +0100 | Midjak | (~Midjak@82.66.147.146) |
2023-02-04 18:18:38 +0100 | <segfaultfizzbuzz> | tomsmeding: "The Achronix implementation flow uses an industry standard RTL synthesis flow " - so i guess they are writing things i "raw" RTL...? |
2023-02-04 18:20:36 +0100 | nunggu | (~q@user/nunggu) |
2023-02-04 18:26:46 +0100 | <segfaultfizzbuzz> | it seems like the best thing to do would be to allow everything to be as lazy and asynchronous as possible and then to explicitly annotate "points of synchronization", and then minimize those points of synchronization as much as possible |
2023-02-04 18:29:30 +0100 | Midjak | (~Midjak@82.66.147.146) (Read error: Connection reset by peer) |
2023-02-04 18:29:45 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 260 seconds) |
2023-02-04 18:31:26 +0100 | Midjak | (~Midjak@82.66.147.146) |
2023-02-04 18:31:32 +0100 | thongpv | (~thongpv87@2402:9d80:3bd:3161:8bb6:af59:3726:3ab4) (Ping timeout: 246 seconds) |
2023-02-04 18:37:41 +0100 | Midjak | (~Midjak@82.66.147.146) (Read error: Connection reset by peer) |
2023-02-04 18:38:45 +0100 | ozkutuk53 | (~ozkutuk@176.240.174.60) |
2023-02-04 18:40:15 +0100 | Midjak | (~Midjak@82.66.147.146) |
2023-02-04 18:40:16 +0100 | razetime | (~Thunderbi@117.193.5.54) (Remote host closed the connection) |
2023-02-04 18:42:35 +0100 | beteigeuze | (~Thunderbi@bl14-81-220.dsl.telepac.pt) (Quit: beteigeuze) |
2023-02-04 18:43:57 +0100 | Midjak | (~Midjak@82.66.147.146) (Read error: Connection reset by peer) |
2023-02-04 18:45:50 +0100 | Midjak | (~Midjak@82.66.147.146) |
2023-02-04 18:47:00 +0100 | danza | (~francesco@151.43.83.147) |
2023-02-04 18:53:15 +0100 | Vajb | (~Vajb@2001:999:404:9516:d621:6cbe:c71e:5686) (Remote host closed the connection) |
2023-02-04 18:53:25 +0100 | Vajb | (~Vajb@2001:999:404:9516:d621:6cbe:c71e:5686) |
2023-02-04 18:57:55 +0100 | dolio | (~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-02-04 19:01:16 +0100 | dolio | (~dolio@130.44.134.54) |
2023-02-04 19:01:19 +0100 | Midjak | (~Midjak@82.66.147.146) (Ping timeout: 265 seconds) |
2023-02-04 19:04:05 +0100 | dolio | (~dolio@130.44.134.54) (Client Quit) |
2023-02-04 19:07:04 +0100 | nunggu_ | (~q@user/nunggu) |
2023-02-04 19:07:07 +0100 | nunggu | (~q@user/nunggu) (Remote host closed the connection) |
2023-02-04 19:09:30 +0100 | dolio | (~dolio@130.44.134.54) |
2023-02-04 19:14:49 +0100 | titibandit1 | (~titibandi@xdsl-85-197-0-96.nc.de) (Remote host closed the connection) |
2023-02-04 19:17:14 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Ping timeout: 260 seconds) |
2023-02-04 19:19:09 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-04 19:21:19 +0100 | Midjak | (~Midjak@82.66.147.146) |
2023-02-04 19:22:45 +0100 | mastarija | (~mastarija@2a05:4f46:e03:6000:7b59:e06e:5bb0:7fe8) (Quit: WeeChat 3.7.1) |
2023-02-04 19:23:49 +0100 | merijn | (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) |
2023-02-04 19:27:57 +0100 | safinaskar | (~quassel@212.73.77.98) |
2023-02-04 19:28:05 +0100 | <safinaskar> | look here! https://godbolt.org/z/fToj3M1eY |
2023-02-04 19:28:17 +0100 | <safinaskar> | i implemented red black trees using GADTs!! |
2023-02-04 19:28:33 +0100 | cheater_ | (~Username@user/cheater) |
2023-02-04 19:28:39 +0100 | merijn | (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds) |
2023-02-04 19:28:47 +0100 | <safinaskar> | i embedded into red black tree invariant "heights of both subtrees should match" using GADTs! |
2023-02-04 19:29:09 +0100 | <safinaskar> | i implemented "insert" and this invariant is checked during compile time! |
2023-02-04 19:29:22 +0100 | <safinaskar> | feel free to steal the code and blog somewhere |
2023-02-04 19:29:51 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 252 seconds) |
2023-02-04 19:29:59 +0100 | mechap_ | (~mechap@user/mechap) |
2023-02-04 19:30:43 +0100 | <segfaultfizzbuzz> | safinaskar: we have submitted a nobel prize nomination for you |
2023-02-04 19:31:40 +0100 | <juri_> | insufficient comments. cool looking code, tho. ;) |
2023-02-04 19:31:45 +0100 | cheater | (~Username@user/cheater) (Ping timeout: 268 seconds) |
2023-02-04 19:31:51 +0100 | cheater_ | cheater |
2023-02-04 19:31:57 +0100 | mechap_ | (~mechap@user/mechap) (Client Quit) |
2023-02-04 19:32:34 +0100 | <safinaskar> | segfaultfizzbuzz: :) |
2023-02-04 19:33:04 +0100 | mechap | (~mechap@user/mechap) (Ping timeout: 248 seconds) |
2023-02-04 19:33:12 +0100 | <safinaskar> | juri_: just open wikipedia article with colorful images. everything will be clear |
2023-02-04 19:33:15 +0100 | mechap | (~mechap@user/mechap) |
2023-02-04 19:33:48 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2023-02-04 19:33:52 +0100 | <segfaultfizzbuzz> | safinaskar: what about actually running it, some demo code which fills the tree and runs some queries |
2023-02-04 19:34:03 +0100 | <segfaultfizzbuzz> | and what are the advantages and disadvantages of doing it this way? |
2023-02-04 19:34:23 +0100 | enthropy | (~enthropy@66.7.90.250) (Ping timeout: 260 seconds) |
2023-02-04 19:34:55 +0100 | <safinaskar> | segfaultfizzbuzz: red black tree has invariant: children of a given node should have same "black height". i implemented the tree using GADTs and thus this invariant is checked in compile time!! |
2023-02-04 19:35:20 +0100 | <safinaskar> | segfaultfizzbuzz: "Node h" is type of valid subtrees with black height "h", where "h" is encoded as Peano number |
2023-02-04 19:36:07 +0100 | <safinaskar> | segfaultfizzbuzz: so more properties are checked in compile time as opposed to non-GADT version. and i see no disadvantages |
2023-02-04 19:37:14 +0100 | <safinaskar> | also, if you want to, say, read red black tree from stdin, you will also need existential types |
2023-02-04 19:38:24 +0100 | acidjnk | (~acidjnk@p200300d6e715c439801b1c59a37bf11b.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2023-02-04 19:38:27 +0100 | <safinaskar> | segfaultfizzbuzz: "what about actually running it" - i don't want, i'm too lazy. :) but GADTs are so good, so i'm 100% sure the code is correct :) |
2023-02-04 19:38:41 +0100 | <segfaultfizzbuzz> | safinaskar: i suppose it's interesting that you don't need dependent type theory to do this (?) |
2023-02-04 19:39:03 +0100 | <segfaultfizzbuzz> | safinaskar: so what you are saying basically is that you have created the code and not actually tried it? lol ;-) |
2023-02-04 19:39:12 +0100 | <segfaultfizzbuzz> | err that was supposed to be a knuth quote |
2023-02-04 19:39:59 +0100 | <safinaskar> | segfaultfizzbuzz: my code needs dependent types. dependent types means that types can depend on values. in my code type "Node" depends on values of type "PA", so, yes, this is dependent types |
2023-02-04 19:40:22 +0100 | <segfaultfizzbuzz> | does compile time code need to be total? why is code which executes at compile time any different at all from code which executes at runtime? why not just wrap compile-time code in an annotation which says that it is compile-time code |
2023-02-04 19:40:40 +0100 | <segfaultfizzbuzz> | safinaskar: oh, i thought haskell didn't have those |
2023-02-04 19:40:54 +0100 | <geekosaur> | you can simulate them in various ways |
2023-02-04 19:41:03 +0100 | <geekosaur> | see the `singletons` package, in particular |
2023-02-04 19:41:54 +0100 | <geekosaur> | and in this case it's not so much that the code is compile time, but that it's encoded as types which get typechecked at compile time |
2023-02-04 19:42:12 +0100 | <geekosaur> | so if the program typechecks, the "code" should be correct |
2023-02-04 19:42:45 +0100 | <segfaultfizzbuzz> | understood, i meant more fundamentally, why not just say at_compile_time { ...my_code... } |
2023-02-04 19:42:57 +0100 | <geekosaur> | (assuming of course that your types correctly describe the problem you're trying to solve) |
2023-02-04 19:43:02 +0100 | <geekosaur> | that's template haskell |
2023-02-04 19:43:12 +0100 | <segfaultfizzbuzz> | i see |
2023-02-04 19:43:20 +0100 | <geekosaur> | it solves a different problem |
2023-02-04 19:43:25 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-04 19:43:59 +0100 | opticblast | (~Thunderbi@172.58.80.152) |
2023-02-04 19:44:08 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2023-02-04 19:47:16 +0100 | <geekosaur> | anyway, here the point is to make the typechecker prove as much as it can, which means the associated failures can't happen at runtime |
2023-02-04 19:47:17 +0100 | nunggu_ | (~q@user/nunggu) (Ping timeout: 255 seconds) |
2023-02-04 19:48:06 +0100 | <geekosaur> | that's what strict typing is about in general, but sometimes you need types that depend on values to prove invariants based on those values at type level |
2023-02-04 19:50:23 +0100 | <segfaultfizzbuzz> | yeah hmm |
2023-02-04 19:50:49 +0100 | nunggu_ | (~q@user/nunggu) |
2023-02-04 19:53:12 +0100 | <safinaskar> | some time ago i asked in #haskell are GADTs useful for type checking and provers only. now i see that they are also useful for red black trees! :)) |
2023-02-04 19:53:51 +0100 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 248 seconds) |
2023-02-04 20:00:11 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2023-02-04 20:01:39 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2023-02-04 20:02:13 +0100 | Jadeitits[m] | jadey[m] |
2023-02-04 20:02:44 +0100 | ddellacosta | (~ddellacos@146.70.166.170) (Ping timeout: 260 seconds) |
2023-02-04 20:06:14 +0100 | Heffalump | (~ganesh@urchin.earth.li) (Remote host closed the connection) |
2023-02-04 20:10:11 +0100 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:4054:34b8:499a:7d46) (Remote host closed the connection) |
2023-02-04 20:10:30 +0100 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) |
2023-02-04 20:20:45 +0100 | varoo | (~varoo@117.203.246.41) (Ping timeout: 252 seconds) |
2023-02-04 20:21:42 +0100 | varoo | (~varoo@117.203.246.41) |
2023-02-04 20:23:19 +0100 | varoo_ | (~varoo@117.203.246.41) |
2023-02-04 20:24:04 +0100 | gurkenglas | (~gurkengla@dynamic-046-114-182-005.46.114.pool.telefonica.de) |
2023-02-04 20:26:23 +0100 | varoo | (~varoo@117.203.246.41) (Ping timeout: 248 seconds) |
2023-02-04 20:26:35 +0100 | acidjnk | (~acidjnk@p200300d6e715c402e54e919fb479e010.dip0.t-ipconnect.de) |
2023-02-04 20:30:51 +0100 | random-jellyfish | (~random-je@user/random-jellyfish) |
2023-02-04 20:34:21 +0100 | Batzy | (~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2023-02-04 20:34:47 +0100 | Batzy | (~quassel@user/batzy) |
2023-02-04 20:36:55 +0100 | Batzy | (~quassel@user/batzy) (Client Quit) |
2023-02-04 20:38:11 +0100 | Batzy | (~quassel@user/batzy) |
2023-02-04 20:42:23 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Ping timeout: 252 seconds) |
2023-02-04 20:45:41 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 252 seconds) |
2023-02-04 20:48:48 +0100 | gurkenglas | (~gurkengla@dynamic-046-114-182-005.46.114.pool.telefonica.de) (Ping timeout: 248 seconds) |
2023-02-04 20:55:56 +0100 | jakalx | (~jakalx@base.jakalx.net) () |
2023-02-04 20:57:32 +0100 | Hammdist | (~Hammdist@67.169.114.135) |
2023-02-04 20:59:14 +0100 | <Hammdist> | main = do x <- 7 putStrLn (show x) doesn't work. how do I get a Num saved into a variable to pass to show? |
2023-02-04 20:59:17 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-04 21:00:39 +0100 | <geekosaur> | you only need `let` there, not `<-` |
2023-02-04 21:01:08 +0100 | <geekosaur> | % do {let {x = 7}; putStrLn (show x) } |
2023-02-04 21:01:09 +0100 | <yahb2> | 7 |
2023-02-04 21:01:29 +0100 | <geekosaur> | (extra braces because it's all on one line; `let` uses layout too) |
2023-02-04 21:02:37 +0100 | <geekosaur> | you could also say `x <- return 7` but it's pretty pointless |
2023-02-04 21:03:30 +0100 | <Hammdist> | ah I got the `return` one to work. thanks |
2023-02-04 21:03:59 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 260 seconds) |
2023-02-04 21:04:14 +0100 | azimut_ | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
2023-02-04 21:04:24 +0100 | danza | (~francesco@151.43.83.147) (Read error: Connection reset by peer) |
2023-02-04 21:04:43 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-04 21:07:50 +0100 | enthropy | (~enthropy@66.7.90.250) |
2023-02-04 21:08:33 +0100 | kassouni | (~kassouni@2601:646:400:68b0:71bd:7fae:fa0b:cf56) |
2023-02-04 21:11:32 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2023-02-04 21:11:34 +0100 | bhall | (~brunohall@138.199.22.101) (Ping timeout: 260 seconds) |
2023-02-04 21:11:51 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-04 21:11:52 +0100 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Remote host closed the connection) |
2023-02-04 21:15:11 +0100 | kassouni | (~kassouni@2601:646:400:68b0:71bd:7fae:fa0b:cf56) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2023-02-04 21:17:25 +0100 | <mauke> | main = putStrLn (show 7) |
2023-02-04 21:18:08 +0100 | <geekosaur> | I don't think I want to know how "but it's pretty pointless" turned into "use this please" |
2023-02-04 21:18:18 +0100 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2023-02-04 21:18:23 +0100 | <mauke> | main = putStrLn "7"; main = putChar '7' >> putChar '\n' >> return (); main = (\x -> putStrLn (show x)) 7; main = putStrLn (show x) where x = 7 |
2023-02-04 21:19:43 +0100 | <mauke> | main = let x = 7 in putStrLn (show x); main = do let x = do 7 in do putStrLn (show x) |
2023-02-04 21:20:13 +0100 | <mauke> | I mean (do show x) |
2023-02-04 21:20:26 +0100 | danza | (~francesco@151.35.121.27) |
2023-02-04 21:22:07 +0100 | <Hammdist> | data Thing = Thing [Thing] is there a better way to express this that makes Thing a type alias of list and can be pattern matched? (while keeping the constraint that it can only contain Thing) |
2023-02-04 21:22:33 +0100 | Athas | (~athas@sigkill.dk) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-02-04 21:22:56 +0100 | Athas | (~athas@sigkill.dk) |
2023-02-04 21:22:57 +0100 | <geekosaur> | if it is a type alias for list then it can not contain only Thing |
2023-02-04 21:23:12 +0100 | <Hammdist> | I suspected that |
2023-02-04 21:23:31 +0100 | <Hammdist> | I guess I can still pattern match I just need to indicate the constructor Thing a lot |
2023-02-04 21:23:50 +0100 | <geekosaur> | that said a bidirectional pattern synonym *might* give you something like what you want |
2023-02-04 21:23:56 +0100 | <mauke> | type aliases use simple substitution; they can't be recursive |
2023-02-04 21:24:20 +0100 | merijn | (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) |
2023-02-04 21:24:23 +0100 | malte_ | (~malte@mal.tc) |
2023-02-04 21:24:33 +0100 | malte | (~malte@mal.tc) (Read error: Connection reset by peer) |
2023-02-04 21:24:37 +0100 | malte_ | malte |
2023-02-04 21:26:10 +0100 | <enthropy> | data Thing looks isomorphic to Data.Tree.Tree () |
2023-02-04 21:27:22 +0100 | kassouni | (~kassouni@2601:646:400:68b0:71bd:7fae:fa0b:cf56) |
2023-02-04 21:28:49 +0100 | Midjak2 | (~Midjak@2a01:e0a:247:a560:78ac:cb5d:38a5:235b) |
2023-02-04 21:29:31 +0100 | Midjak | (~Midjak@82.66.147.146) (Ping timeout: 260 seconds) |
2023-02-04 21:30:03 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Ping timeout: 252 seconds) |
2023-02-04 21:32:57 +0100 | Midjak | (~Midjak@2a01:e0a:247:a560:e0c4:fecf:1d0:ece3) |
2023-02-04 21:34:08 +0100 | Midjak2 | (~Midjak@2a01:e0a:247:a560:78ac:cb5d:38a5:235b) (Ping timeout: 248 seconds) |
2023-02-04 21:35:41 +0100 | ardell | (~ardell@user/ardell) |
2023-02-04 21:38:49 +0100 | gurkenglas | (~gurkengla@dynamic-046-114-182-005.46.114.pool.telefonica.de) |
2023-02-04 21:47:39 +0100 | mastarija | (~mastarija@2a05:4f46:e03:6000:c2b4:d7d0:e727:fcbd) |
2023-02-04 21:48:05 +0100 | <mastarija> | can you recommend any good minimal haskell nix example project? |
2023-02-04 21:50:29 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2023-02-04 21:51:25 +0100 | <dmj`> | mastarija: https://github.com/Gabriella439/haskell-nix |
2023-02-04 21:53:17 +0100 | hgolden | (~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection) |
2023-02-04 21:56:07 +0100 | hgolden | (~hgolden@cpe-172-251-233-141.socal.res.rr.com) |
2023-02-04 21:56:42 +0100 | <mastarija> | dmj`: thx |
2023-02-04 21:58:35 +0100 | merijn | (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds) |
2023-02-04 21:58:40 +0100 | talismanick | (~talismani@2601:200:c181:4c40::1be2) |
2023-02-04 22:05:55 +0100 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2023-02-04 22:08:43 +0100 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:f424:933a:fcd6:76ad) |
2023-02-04 22:11:39 +0100 | kjak | (~kjak@pool-72-66-75-40.washdc.fios.verizon.net) (Ping timeout: 260 seconds) |
2023-02-04 22:11:43 +0100 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-02-04 22:11:43 +0100 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-02-04 22:11:43 +0100 | wroathe | (~wroathe@user/wroathe) |
2023-02-04 22:15:08 +0100 | mechap | (~mechap@user/mechap) (Quit: WeeChat 3.8) |
2023-02-04 22:15:52 +0100 | mechap | (~mechap@user/mechap) |
2023-02-04 22:16:23 +0100 | mechap | (~mechap@user/mechap) (Client Quit) |
2023-02-04 22:17:14 +0100 | mechap | (~mechap@user/mechap) |
2023-02-04 22:17:44 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-04 22:18:23 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 248 seconds) |
2023-02-04 22:20:19 +0100 | ardell | (~ardell@user/ardell) (Quit: Konversation terminated!) |
2023-02-04 22:20:48 +0100 | <tomsmeding> | segfaultfizzbuzz: you spoke about Haskell-Rust interoperability yesterday iirc; there'll be a talk at FOSDEM on the topic tomorrow, just FYI in case you're interested https://fosdem.org/2023/schedule/event/haskell_rust_interop/ |
2023-02-04 22:21:50 +0100 | <enthropy> | recently ghci's :info started to print the RHS of type family instances. I want to make a type search like https://github.com/ocaml/merlin/blob/master/doc/features.md which will know about type families. The hoogle/haddock .txt file doesn't have it. I'm not sure about the HIE file. I vaguely recall work on a data structure with keys being types and |
2023-02-04 22:21:51 +0100 | <enthropy> | lookup finding one that unifies with. All the options I see now are like `Map TypeRep` in that there are no type variables. |
2023-02-04 22:22:19 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Ping timeout: 248 seconds) |
2023-02-04 22:30:57 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-04 22:31:39 +0100 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
2023-02-04 22:37:53 +0100 | pavonia | (~user@user/siracusa) |
2023-02-04 22:41:26 +0100 | Sgeo | (~Sgeo@user/sgeo) |
2023-02-04 22:42:22 +0100 | caef^ | (~caef@c-24-30-76-89.hsd1.ga.comcast.net) (Remote host closed the connection) |
2023-02-04 22:46:05 +0100 | <mastarija> | So, I've been following this haskell nix tutorial: https://github.com/Gabriella439/haskell-nix |
2023-02-04 22:46:15 +0100 | <mastarija> | And got stuck on the first chapter / project |
2023-02-04 22:46:22 +0100 | <mastarija> | 0th actually |
2023-02-04 22:47:03 +0100 | <mastarija> | running `nix-build release0.nix` works nicely, and I get my result in the `result/bin` folder. |
2023-02-04 22:47:45 +0100 | <mastarija> | but if I want to start the shell like this `nix-build --attr project0 release2.nix` I get an error |
2023-02-04 22:48:06 +0100 | <mastarija> | error: cannot evaluate a function that has an argument without a value ('mkDerivation') |
2023-02-04 22:49:26 +0100 | freeside | (~mengwong@103.252.202.170) (Ping timeout: 255 seconds) |
2023-02-04 22:50:45 +0100 | <mastarija> | Here's a paste of relevant files |
2023-02-04 22:50:47 +0100 | <mastarija> | https://paste.tomsmeding.com/eE8XAXOO |
2023-02-04 22:51:29 +0100 | <talismanick> | How much does -XBlockArguments complicate parsing? I recall Kmett saying that the rule for "cap off whitespace blocks upon syntax error" rules out monoidal layout parsing - is this similar? |
2023-02-04 22:52:23 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-02-04 22:52:43 +0100 | <talismanick> | something about "if m /= 0 and parse_error(t)" |
2023-02-04 22:55:52 +0100 | <talismanick> | Is it worth enabling it by default? I make those errors all the time - not prefixing `do` with `$`, etc - but the editor is quick to respond. If this pulls more blocks into a failed parse, though, will it make the error messages illegible? |
2023-02-04 22:56:46 +0100 | <Hammdist> | what is the recommended way to install and use quickcheck these days? does it ship by default? |
2023-02-04 22:57:38 +0100 | <mastarija> | Hammdist: I usually just include it as a library in my project |
2023-02-04 22:57:52 +0100 | <mastarija> | I'm assuming you want to install it globally? |
2023-02-04 22:58:00 +0100 | <Hammdist> | so cabal? (sorry I'm rather new to haskell) |
2023-02-04 22:58:08 +0100 | <Hammdist> | yes globally |
2023-02-04 22:58:29 +0100 | <mastarija> | I wouldn't recommend it, but I think you can do something like cabal install --lib haddock |
2023-02-04 22:58:50 +0100 | kuribas | (~user@ptr-17d51eoxqxns4cyal2u.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
2023-02-04 22:59:15 +0100 | <talismanick> | Hammdist: I usually create a test suite in the .cabal file, and import it there along with hspec |
2023-02-04 22:59:27 +0100 | <Hammdist> | I'm not using a .cabal file |
2023-02-04 22:59:41 +0100 | <Hammdist> | so I would prefer global installation - I'm largely using docker for things |
2023-02-04 22:59:53 +0100 | <geekosaur> | these days installing globally is considered a bad idea; consider what happens if a new version comes out |
2023-02-04 22:59:55 +0100 | <talismanick> | Like, if my project is foo, in foo/foo.cabal |
2023-02-04 22:59:56 +0100 | <mastarija> | Do keep in mind that if `haddock` requires some library X of version Y, and you want to install another package globally that requires version Z of library X you won't be able to do it. |
2023-02-04 23:00:24 +0100 | <Hammdist> | ... and wth is the relation between `haddock` and `quickcheck`? |
2023-02-04 23:00:33 +0100 | <talismanick> | I'd highly recommend using a cabal file and confining everything to a directory. It's easier for everyone involved. |
2023-02-04 23:00:38 +0100 | __monty__ | (~toonn@user/toonn) |
2023-02-04 23:00:40 +0100 | <mastarija> | quickcheck can generate random tests |
2023-02-04 23:00:43 +0100 | <talismanick> | haddock generates documentation |
2023-02-04 23:00:52 +0100 | <geekosaur> | basically, you can do it but if it breaks you get to keep all the pieces because there won't necessarily be a fix other than nuking and reinstalling ghc and starting over from scratch |
2023-02-04 23:01:02 +0100 | <mastarija> | and I somehow mixed up haddock and quickcheck |
2023-02-04 23:01:07 +0100 | <mastarija> | sorry about that |
2023-02-04 23:01:21 +0100 | <talismanick> | hspec is a testing framework, in which you can specify what outputs should come from which expressions. It also lets you turn those unit tests into property tests with Quickcheck |
2023-02-04 23:01:25 +0100 | <Hammdist> | so `cabal install QuickCheck` right? do I need --lib on it? |
2023-02-04 23:01:29 +0100 | <talismanick> | haddock generates documentation |
2023-02-04 23:01:53 +0100 | <mastarija> | If you leave out --lib, you will just download the library, but it won't be available in the repl |
2023-02-04 23:02:04 +0100 | <Hammdist> | ah ok will always add --lib then |
2023-02-04 23:02:11 +0100 | <mastarija> | So it won't be of any use to you. |
2023-02-04 23:02:18 +0100 | <geekosaur> | cabal no longer does global installs. --lib does an exported install, by creating an environment file for ghc. without it, it will be installed only to cabal's internal store |
2023-02-04 23:02:50 +0100 | <geekosaur> | Hammdist, on your own head be it |
2023-02-04 23:03:08 +0100 | <sm> | cabal doesn't break your global package db any more, so what's the problem when a new version comes out ? |
2023-02-04 23:03:22 +0100 | <geekosaur> | they want to defeat that |
2023-02-04 23:03:27 +0100 | <geekosaur> | they want global installs |
2023-02-04 23:03:28 +0100 | <talismanick> | Hammdist: https://cabal.readthedocs.io/en/3.8/nix-local-build.html#how-it-works |
2023-02-04 23:03:44 +0100 | <mastarija> | But again, if you install `quickcheck` v1.2 that requires some library `X` v.1.0 and you also want to install another library globaly that requires `X` v.2.0 you will have a conflict |
2023-02-04 23:04:00 +0100 | <geekosaur> | and bring back "cabal hell" |
2023-02-04 23:04:06 +0100 | <mastarija> | Because all globally installed packages have to be on the same page. |
2023-02-04 23:04:08 +0100 | <talismanick> | Hammdist: It really will make everything easier if you just create the cabal file |
2023-02-04 23:04:09 +0100 | viktorvalen | (~viktorval@pool-98-116-90-86.nycmny.fios.verizon.net) (Quit: viktorvalen) |
2023-02-04 23:04:30 +0100 | <mastarija> | Regarding my nix/haskell question |
2023-02-04 23:04:32 +0100 | <talismanick> | Say you want to name your project "foodcalculator" |
2023-02-04 23:04:40 +0100 | <mastarija> | Can someone offer some assistance |
2023-02-04 23:04:42 +0100 | <talismanick> | then run `cabal init foodcalculator` in your shell |
2023-02-04 23:04:46 +0100 | freeside | (~mengwong@103.252.202.170) |
2023-02-04 23:04:54 +0100 | <mastarija> | I don't understand this: https://paste.tomsmeding.com/eE8XAXOO |
2023-02-04 23:04:56 +0100 | <sm> | geekosaur: yes, I'm saying you can install globally, and when a new version comes out, do it again |
2023-02-04 23:04:58 +0100 | <talismanick> | and it wil; guide you through setting up the file |
2023-02-04 23:05:12 +0100 | <talismanick> | It's super easy |
2023-02-04 23:05:16 +0100 | <sm> | resolving conflicts somehow, I forget what exactly happens these days |
2023-02-04 23:05:52 +0100 | <sm> | (it used to break some installed packages, and you had to ghc-pkg unregister those and reinstall them, but that worked fine. Surely it's smoother now) |
2023-02-04 23:06:25 +0100 | <geekosaur> | you don't. if you install two libraries, one linking against one version and one the other, if they;re in the global db ghc will happily use them together and you will get errors |
2023-02-04 23:06:41 +0100 | <geekosaur> | this is whystack and modern cabal refuse to do that any more |
2023-02-04 23:06:46 +0100 | <sm> | will it not refuse to install globally in that situation ? |
2023-02-04 23:07:01 +0100 | <geekosaur> | if you use `--;ob` you are overriding that |
2023-02-04 23:07:05 +0100 | <geekosaur> | `--lib` |
2023-02-04 23:07:08 +0100 | <sm> | so to install globally, you might have to manually uninstall some stuff first |
2023-02-04 23:07:20 +0100 | <sm> | ok, I dunno how cabal works |
2023-02-04 23:07:27 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-04 23:07:31 +0100 | <geekosaur> | and there;s no real uninstall (there is unregister but it leaves the stuff still in place) |
2023-02-04 23:07:43 +0100 | <mastarija> | someone? :( |
2023-02-04 23:07:47 +0100 | <geekosaur> | I'm talking about ghc-pkg, which is what is relevant for global installs |
2023-02-04 23:07:55 +0100 | wroathe | (~wroathe@50.205.197.50) |
2023-02-04 23:07:55 +0100 | wroathe | (~wroathe@50.205.197.50) (Changing host) |
2023-02-04 23:07:55 +0100 | wroathe | (~wroathe@user/wroathe) |
2023-02-04 23:08:12 +0100 | <geekosaur> | cabal just wraps ghc-pkg in that case |
2023-02-04 23:09:11 +0100 | <geekosaur> | mastarija, I don't know nix so can't help |
2023-02-04 23:09:32 +0100 | <mastarija> | sure, I'm looking for someone who knows :) |
2023-02-04 23:09:36 +0100 | <monochrom> | --lib still preserves consistency in the environment file by being conservative i.e. it blocks newer versions later. |
2023-02-04 23:11:37 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Ping timeout: 252 seconds) |
2023-02-04 23:11:54 +0100 | ubert | (~Thunderbi@p200300ecdf1301b122a4f37be5c9cfb5.dip0.t-ipconnect.de) |
2023-02-04 23:11:57 +0100 | safinaskar | (~quassel@212.73.77.98) () |
2023-02-04 23:12:15 +0100 | 048AAGB9P | (~Thunderbi@p200300ecdf13018d0f8ce183c4b5c4af.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2023-02-04 23:12:22 +0100 | <monochrom> | But you can unblock that by erasing the environment file and running --lib again. |
2023-02-04 23:12:55 +0100 | <sm> | then what happens ? :) |
2023-02-04 23:13:17 +0100 | <monochrom> | And that still upholds consistency. It just means you have old orphaned stuff taking up disk space in $HOME/.cabal/store |
2023-02-04 23:13:27 +0100 | <monochrom> | "it works" happens. |
2023-02-04 23:13:51 +0100 | <sm> | this is fine, what's all the fuss then |
2023-02-04 23:13:52 +0100 | <monochrom> | This is why I cannot agree with the scaremongering against --lib. |
2023-02-04 23:14:21 +0100 | <mastarija> | It's ok, but for beginners it might be overwhelming |
2023-02-04 23:14:33 +0100 | <mastarija> | They need to know which file to purge |
2023-02-04 23:14:48 +0100 | <monochrom> | Except possibly scaremongering based on "people don't know where is the environment file and/or how to erase a file". |
2023-02-04 23:14:51 +0100 | <mastarija> | And we are essentially creating a global "project" of sorts |
2023-02-04 23:15:04 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) |
2023-02-04 23:15:19 +0100 | <mastarija> | monochrom: I have to google for its location every time I want to purge that file |
2023-02-04 23:15:40 +0100 | sm | uploaded an image: (242KiB) < https://libera.ems.host/_matrix/media/v3/download/matrix.org/GBBldhjSVUchGjWjRfZAjOdf/image.png > |
2023-02-04 23:16:01 +0100 | <monochrom> | If you have an environment file at the default location, then every time you launch ghci, it prints out the path. |
2023-02-04 23:17:07 +0100 | <monochrom> | But people are blind, sure. |
2023-02-04 23:17:39 +0100 | <monochrom> | ghcup prints out all kinds of messages that users swear they never see. |
2023-02-04 23:18:21 +0100 | <mastarija> | lol, nice |
2023-02-04 23:18:27 +0100 | <mastarija> | I've never noticed that |
2023-02-04 23:18:32 +0100 | <monochrom> | Likewise every so often when I give a correct answer here, lots of people claim they don't see it either. |
2023-02-04 23:19:06 +0100 | <monochrom> | or at least s/claim/behave like/ |
2023-02-04 23:19:12 +0100 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2023-02-04 23:19:50 +0100 | <mastarija> | well, I appreciate your answer if that means anything :) |
2023-02-04 23:20:05 +0100 | nehsou^ | (~nehsou@c-24-30-76-89.hsd1.ga.comcast.net) |
2023-02-04 23:22:03 +0100 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
2023-02-04 23:22:55 +0100 | jero98772 | (~jero98772@2800:484:1d80:d8ce:3490:26c5:1782:da8c) |
2023-02-04 23:23:49 +0100 | kassouni | (~kassouni@2601:646:400:68b0:71bd:7fae:fa0b:cf56) (Quit: My Mac has gone to sleep. ZZZzzz…) |
2023-02-04 23:41:05 +0100 | bhall | (~brunohall@212-8-253-140.hosted-by-worldstream.net) |
2023-02-04 23:41:32 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2023-02-04 23:42:47 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2023-02-04 23:43:46 +0100 | [exa] | (~exa@user/exa/x-3587197) (Remote host closed the connection) |
2023-02-04 23:44:38 +0100 | enthropy | (~enthropy@66.7.90.250) (Ping timeout: 260 seconds) |
2023-02-04 23:47:48 +0100 | mastarija | (~mastarija@2a05:4f46:e03:6000:c2b4:d7d0:e727:fcbd) (Quit: WeeChat 3.7.1) |
2023-02-04 23:48:47 +0100 | jero98772 | (~jero98772@2800:484:1d80:d8ce:3490:26c5:1782:da8c) (Ping timeout: 264 seconds) |
2023-02-04 23:49:25 +0100 | varoo_ | (~varoo@117.203.246.41) (Ping timeout: 252 seconds) |
2023-02-04 23:51:59 +0100 | segfaultfizzbuzz | (~segfaultf@108.211.201.53) (Ping timeout: 260 seconds) |
2023-02-04 23:53:36 +0100 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2023-02-04 23:55:22 +0100 | merijn | (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) |
2023-02-04 23:56:28 +0100 | kassouni | (~kassouni@c-73-223-27-190.hsd1.ca.comcast.net) |
2023-02-04 23:57:01 +0100 | Sinbad | (~Sinbad@user/sinbad) |