2023/01/06

2023-01-06 00:00:10 +0100mechap2(~mechap@user/mechap)
2023-01-06 00:00:33 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-01-06 00:00:37 +0100 <monochrom> No worries, I discovered that my / (therefore /tmp) isn't all that spacious either. I'm keeping the default behaviour.
2023-01-06 00:01:13 +0100 <maerwald> you can get more control with the XDG dirs thing
2023-01-06 00:01:24 +0100 <monochrom> Ah thanks.
2023-01-06 00:01:55 +0100 <monochrom> Wait XDG has its notion of tmpdir and it is not TMPDIR?!
2023-01-06 00:02:01 +0100 <maerwald> then you set the XDG dir variables only for ghcup invocations
2023-01-06 00:02:41 +0100jmorris(uid537181@id-537181.uxbridge.irccloud.com)
2023-01-06 00:03:00 +0100 <maerwald> monochrom: no
2023-01-06 00:03:05 +0100 <maerwald> it uses: $XDG_CACHE_HOME/ghcup/tmp
2023-01-06 00:03:26 +0100mechap1(~mechap@user/mechap) (Ping timeout: 272 seconds)
2023-01-06 00:03:34 +0100 <maerwald> cache is where bindists also get placed
2023-01-06 00:04:35 +0100 <maerwald> https://www.haskell.org/ghcup/guide/#xdg-support
2023-01-06 00:05:16 +0100 <monochrom> On the bright side, I also use LVM, so in the worst case I just move free space from one partition to another.
2023-01-06 00:05:36 +0100 <maerwald> you can also use bind mounts, hehe
2023-01-06 00:05:49 +0100 <monochrom> haha
2023-01-06 00:06:15 +0100 <jackdk> This is one of the reasons I want to set up a machine with /nix on zfs. Never GC again
2023-01-06 00:06:38 +0100 <maerwald> jackdk: can you tell nix to run on S3 bucket instead?
2023-01-06 00:07:26 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
2023-01-06 00:07:28 +0100 <jackdk> maerwald: you can, yeah. There are some caveats because nix isn't linked with the "identity management" part of the AWS SDK
2023-01-06 00:07:57 +0100 <jackdk> So you can't do certain things involving assumed roles and other more exotic STS kinda stuff
2023-01-06 00:08:32 +0100 <jackdk> Or at least, not as easily - you have to do that out-of-band and then pass the access key, secret key, and session token to Nix yourself and arrange for it to refresh properly.
2023-01-06 00:08:47 +0100 <monochrom> "If you don't have FUSE, a classical trick is to NFS but localhost" -_-
2023-01-06 00:10:03 +0100king_gs(~Thunderbi@2806:103e:29:45ac:af0:afaf:29e7:dd60) (Ping timeout: 248 seconds)
2023-01-06 00:11:35 +0100 <maerwald> this reminds me of the time when the i3 wm maintainer told users to buy more RAM, when they asked for a RAM usage widget feature in i3bar
2023-01-06 00:16:41 +0100fizbin(~fizbin@user/fizbin) (Ping timeout: 268 seconds)
2023-01-06 00:16:47 +0100 <monochrom> haha
2023-01-06 00:17:06 +0100 <jackdk> These days it seems like no amount of RAM is enough
2023-01-06 00:17:47 +0100 <monochrom> It's like the author of uptime suggest users to buy newer CPUs instead.
2023-01-06 00:18:13 +0100 <hpc> jackdk: tell me about it, as soon as i have 8 gigs to run firefox i need 16 gigs to run stable diffusion, then 32 gigs to run chrome :P
2023-01-06 00:18:23 +0100 <hpc> and then 64 to build ghc :D
2023-01-06 00:18:36 +0100 <monochrom> The authors of MLton did suggest buying more RAM. Whole-program static analysis and optimization is expensive.
2023-01-06 00:18:45 +0100 <maerwald> monochrom: yeah, apparently he argued there's no way to get the EXACT Ram in use from the OS and went on to rant about some technicalities
2023-01-06 00:18:52 +0100 <maerwald> users just wanted to avoid running into OOM
2023-01-06 00:18:55 +0100 <maerwald> not doing science
2023-01-06 00:19:11 +0100 <monochrom> Well actually they suggested "forget PC, use the beefy servers at your school"
2023-01-06 00:19:37 +0100 <maerwald> obviously, the guy is a german
2023-01-06 00:19:42 +0100 <monochrom> haha
2023-01-06 00:20:08 +0100 <monochrom> To a large extent, on Linux, RSS is the metric to watch for, no?
2023-01-06 00:20:18 +0100inversed(~inversed@bcdcac82.skybroadband.com) (Ping timeout: 260 seconds)
2023-01-06 00:21:00 +0100 <monochrom> My impression is that other unixes (Solaris, BSD) are even simpler.
2023-01-06 00:21:00 +0100 <geekosaur> and swap in use, because linux will use available ram for caching and such
2023-01-06 00:21:18 +0100 <hpc> i just use whatever "available" is in /bin/free
2023-01-06 00:21:24 +0100 <monochrom> Oh wait, right, sorry, RSS is for one process, not system-wide.
2023-01-06 00:21:43 +0100 <monochrom> OK I admit that system-wide is very tricky.
2023-01-06 00:22:39 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-01-06 00:22:49 +0100 <monochrom> Although, yeah, users just want to estimate chance of OOM, not asking for exact science. A dumb heuristic will do.
2023-01-06 00:23:14 +0100 <maerwald> yes, this does not go well with OCD
2023-01-06 00:23:38 +0100 <maerwald> Windows is even worse... everything is a wiggle API
2023-01-06 00:23:53 +0100inversed(~inversed@bcdcac82.skybroadband.com)
2023-01-06 00:24:14 +0100 <jackdk> "wiggle API"?
2023-01-06 00:24:31 +0100 <maerwald> like... it evolved over decades... but at the same time they don't wanna break anything
2023-01-06 00:24:37 +0100 <maerwald> so legacy decisions stay in
2023-01-06 00:25:02 +0100 <maerwald> and they add new stuff on top to fix/workaround
2023-01-06 00:25:36 +0100 <jackdk> Every few years, someone trips over `CON` being a special file, but I think that's been finally fixed.
2023-01-06 00:26:25 +0100 <dolio> Since when?
2023-01-06 00:27:10 +0100nut(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 268 seconds)
2023-01-06 00:27:33 +0100 <dolio> 10 or 11?
2023-01-06 00:29:17 +0100mechap2(~mechap@user/mechap) (Quit: WeeChat 3.7.1)
2023-01-06 00:29:37 +0100mechap(~mechap@user/mechap)
2023-01-06 00:30:18 +0100elevenkb(~elevenkb@105.226.98.103)
2023-01-06 00:30:41 +0100ft(~ft@p4fc2a257.dip0.t-ipconnect.de) (Remote host closed the connection)
2023-01-06 00:32:18 +0100 <geekosaur> I thought those names were still reserved? as of the last time I looked at the KB
2023-01-06 00:32:35 +0100beteigeuze(~Thunderbi@a79-169-109-107.cpe.netcabo.pt) (Remote host closed the connection)
2023-01-06 00:32:48 +0100 <jackdk> Hm, can't find it now; maybe I was too optimistic. Too many scripts using `> NUL` in scripts, etc. Maybe it was made easier to use UNC paths or something
2023-01-06 00:37:37 +0100fizbin(~fizbin@user/fizbin)
2023-01-06 00:42:08 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-01-06 00:42:56 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2023-01-06 00:43:04 +0100azimut_(~azimut@gateway/tor-sasl/azimut)
2023-01-06 00:43:12 +0100fizbin(~fizbin@user/fizbin) (Ping timeout: 268 seconds)
2023-01-06 00:47:07 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds)
2023-01-06 00:48:03 +0100ft(~ft@p4fc2a257.dip0.t-ipconnect.de)
2023-01-06 00:48:12 +0100CoolMa7(~CoolMa7@31.6.21.153)
2023-01-06 00:55:29 +0100poljar1(~poljar@93-139-83-160.adsl.net.t-com.hr) (Remote host closed the connection)
2023-01-06 00:55:53 +0100poljar1(~poljar@93-139-83-160.adsl.net.t-com.hr)
2023-01-06 00:58:20 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 260 seconds)
2023-01-06 01:00:14 +0100CoolMa7(~CoolMa7@31.6.21.153) (Quit: Textual IRC Client: www.textualapp.com)
2023-01-06 01:03:39 +0100dgb8(~dgb@astra4961.startdedicated.net) (Quit: The Lounge - https://thelounge.github.io)
2023-01-06 01:03:57 +0100dgb8(~dgb@astra4961.startdedicated.net)
2023-01-06 01:05:23 +0100catern(~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407)
2023-01-06 01:05:34 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2023-01-06 01:06:09 +0100CoolMa7(~CoolMa7@2a02:8109:9d40:14ea:6588:63e9:ef6c:3ec6)
2023-01-06 01:09:04 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1)
2023-01-06 01:11:44 +0100CoolMa7(~CoolMa7@2a02:8109:9d40:14ea:6588:63e9:ef6c:3ec6) (Quit: Textual IRC Client: www.textualapp.com)
2023-01-06 01:12:02 +0100CoolMa7(~CoolMa7@2a02:8109:9d40:14ea:6588:63e9:ef6c:3ec6)
2023-01-06 01:13:29 +0100freeside(~mengwong@103.252.202.159)
2023-01-06 01:14:53 +0100CoolMa7(~CoolMa7@2a02:8109:9d40:14ea:6588:63e9:ef6c:3ec6) (Client Quit)
2023-01-06 01:16:12 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp)
2023-01-06 01:18:18 +0100tremon(~tremon@83-85-213-108.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in)
2023-01-06 01:20:05 +0100simple(skralg@user/simple) (Ping timeout: 252 seconds)
2023-01-06 01:22:17 +0100justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds)
2023-01-06 01:24:20 +0100azimut_(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2023-01-06 01:27:20 +0100elatedpixel(~user@162.207.115.213)
2023-01-06 01:29:31 +0100acidjnk(~acidjnk@p200300d6e7137a857c27d2eace8e6a0b.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2023-01-06 01:31:17 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-06 01:31:28 +0100thongpv(~thongpv87@103.199.69.186)
2023-01-06 01:37:26 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-01-06 01:37:26 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-01-06 01:37:26 +0100wroathe(~wroathe@user/wroathe)
2023-01-06 01:37:46 +0100elevenkb(~elevenkb@105.226.98.103) (Quit: Client closed)
2023-01-06 01:38:01 +0100elevenkb(~elevenkb@105.226.98.103)
2023-01-06 01:38:05 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 268 seconds)
2023-01-06 01:41:11 +0100simple(skralg@user/simple)
2023-01-06 01:48:20 +0100fizbin(~fizbin@user/fizbin)
2023-01-06 01:58:42 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 272 seconds)
2023-01-06 02:03:09 +0100thongpv87(~thongpv87@123.31.184.215)
2023-01-06 02:03:19 +0100crazazy``(~user@130.89.171.62) (Ping timeout: 252 seconds)
2023-01-06 02:06:04 +0100thongpv(~thongpv87@103.199.69.186) (Ping timeout: 252 seconds)
2023-01-06 02:07:52 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-06 02:08:47 +0100elatedpixel(~user@162.207.115.213) (Remote host closed the connection)
2023-01-06 02:09:01 +0100elatedpixel(~user@162.207.115.213)
2023-01-06 02:10:20 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-01-06 02:11:54 +0100elatedpixel(~user@162.207.115.213) (Remote host closed the connection)
2023-01-06 02:12:05 +0100hashn3rd(~hashn3rd@ip72-221-42-80.ks.ks.cox.net)
2023-01-06 02:16:09 +0100fizbin(~fizbin@user/fizbin) (Ping timeout: 260 seconds)
2023-01-06 02:16:27 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-01-06 02:20:23 +0100ryanbooker(uid4340@id-4340.hampstead.irccloud.com)
2023-01-06 02:23:09 +0100king_gs(~Thunderbi@187.201.110.169)
2023-01-06 02:24:00 +0100kenaryn(~aurele@89-88-44-27.abo.bbox.fr) (Quit: leaving)
2023-01-06 02:27:49 +0100thegeekinside(~thegeekin@189.217.82.244) (Remote host closed the connection)
2023-01-06 02:27:50 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 272 seconds)
2023-01-06 02:30:58 +0100elevenkb(~elevenkb@105.226.98.103) (Ping timeout: 260 seconds)
2023-01-06 02:32:21 +0100Ranhir(~Ranhir@157.97.53.139) (Read error: Connection reset by peer)
2023-01-06 02:32:24 +0100jmorris(uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-01-06 02:32:29 +0100Ranhir(~Ranhir@157.97.53.139)
2023-01-06 02:32:32 +0100Tuplanolla(~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.)
2023-01-06 02:41:32 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2023-01-06 02:42:41 +0100fizbin(~fizbin@user/fizbin)
2023-01-06 02:43:02 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-01-06 02:48:06 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds)
2023-01-06 02:55:39 +0100v0id_ptr(~adrift@user/ptr-frac7al/x-0038398)
2023-01-06 03:01:04 +0100Ram-Z(~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 252 seconds)
2023-01-06 03:01:06 +0100king_gs1(~Thunderbi@2806:103e:29:45ac:af0:afaf:29e7:dd60)
2023-01-06 03:01:10 +0100king_gs(~Thunderbi@187.201.110.169) (Read error: Connection reset by peer)
2023-01-06 03:01:10 +0100king_gs1king_gs
2023-01-06 03:02:28 +0100Blightmain(~Blightmai@203.29.154.219)
2023-01-06 03:02:41 +0100Blightmain(~Blightmai@203.29.154.219) (Remote host closed the connection)
2023-01-06 03:03:07 +0100Ram-Z(~Ram-Z@li1814-254.members.linode.com)
2023-01-06 03:07:08 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-01-06 03:07:56 +0100ulvarrefr(~user@188.124.56.153) (Read error: Connection reset by peer)
2023-01-06 03:12:10 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
2023-01-06 03:12:47 +0100king_gs(~Thunderbi@2806:103e:29:45ac:af0:afaf:29e7:dd60) (Ping timeout: 256 seconds)
2023-01-06 03:15:50 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-01-06 03:15:50 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-01-06 03:15:50 +0100wroathe(~wroathe@user/wroathe)
2023-01-06 03:22:59 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 264 seconds)
2023-01-06 03:23:06 +0100razetime(~Thunderbi@49.207.222.244)
2023-01-06 03:27:25 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-06 03:32:10 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 268 seconds)
2023-01-06 03:35:45 +0100freeside(~mengwong@103.252.202.159)
2023-01-06 03:36:19 +0100Blightmain(~Blightmai@203.29.154.219)
2023-01-06 03:41:24 +0100thongpv(~thongpv87@2402:9d80:3ca:5321:f609:86e9:b143:6b82)
2023-01-06 03:41:56 +0100king_gs(~Thunderbi@187.201.110.169)
2023-01-06 03:42:59 +0100thongpv87(~thongpv87@123.31.184.215) (Ping timeout: 265 seconds)
2023-01-06 03:44:17 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-06 03:44:30 +0100acarrico(~acarrico@dhcp-68-142-49-163.greenmountainaccess.net)
2023-01-06 03:46:58 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 268 seconds)
2023-01-06 03:48:16 +0100razetime(~Thunderbi@49.207.222.244) (Quit: See You Space Cowboy)
2023-01-06 03:59:00 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2023-01-06 04:04:12 +0100thegeekinside(~thegeekin@189.217.82.244)
2023-01-06 04:05:11 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:6169:588f:5c00:bfd8)
2023-01-06 04:05:43 +0100Blightmain(~Blightmai@203.29.154.219) (Quit: Leaving)
2023-01-06 04:06:25 +0100jero98772(~jero98772@190.158.28.44) (Remote host closed the connection)
2023-01-06 04:09:30 +0100hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection)
2023-01-06 04:11:38 +0100td_(~td@83.135.9.50) (Ping timeout: 268 seconds)
2023-01-06 04:13:16 +0100td_(~td@83.135.9.2)
2023-01-06 04:15:55 +0100cheater_(~Username@user/cheater)
2023-01-06 04:19:10 +0100cheater(~Username@user/cheater) (Ping timeout: 252 seconds)
2023-01-06 04:19:12 +0100cheater_cheater
2023-01-06 04:20:16 +0100king_gs(~Thunderbi@187.201.110.169) (Read error: Connection reset by peer)
2023-01-06 04:20:21 +0100shailangsa(~shailangs@host217-39-45-196.range217-39.btcentralplus.com) (Remote host closed the connection)
2023-01-06 04:21:31 +0100king_gs(~Thunderbi@2806:103e:29:45ac:af0:afaf:29e7:dd60)
2023-01-06 04:23:53 +0100 <sclv> upgrading hackage-server
2023-01-06 04:23:56 +0100 <sclv> expect some bumps
2023-01-06 04:24:37 +0100gaff(~gaff@49.207.203.119)
2023-01-06 04:28:11 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 248 seconds)
2023-01-06 04:30:18 +0100razetime(~Thunderbi@49.207.222.244)
2023-01-06 04:36:49 +0100masterbuilder(~master@user/masterbuilder) (Quit: Lost terminal)
2023-01-06 04:37:19 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2023-01-06 04:39:07 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-06 04:42:44 +0100terrorjack(~terrorjac@2a01:4f8:1c1e:4e8c::) (Quit: The Lounge - https://thelounge.chat)
2023-01-06 04:43:38 +0100instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2023-01-06 04:44:08 +0100terrorjack(~terrorjac@2a01:4f8:1c1e:4e8c::)
2023-01-06 04:44:11 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-01-06 04:46:48 +0100hgolden(~hgolden@cpe-172-251-233-141.socal.res.rr.com)
2023-01-06 04:49:04 +0100merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 272 seconds)
2023-01-06 04:49:48 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-01-06 04:49:48 +0100wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-01-06 04:49:48 +0100wroathe(~wroathe@user/wroathe)
2023-01-06 05:00:38 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-01-06 05:00:38 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-01-06 05:00:38 +0100finn_elijaFinnElija
2023-01-06 05:02:05 +0100russruss(~russruss@my.russellmcc.com) (Quit: The Lounge - https://thelounge.chat)
2023-01-06 05:02:26 +0100russruss(~russruss@my.russellmcc.com)
2023-01-06 05:03:04 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-01-06 05:03:38 +0100fizbin(~fizbin@user/fizbin) (Ping timeout: 272 seconds)
2023-01-06 05:05:35 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-01-06 05:05:37 +0100cheater_(~Username@user/cheater)
2023-01-06 05:08:35 +0100cheater(~Username@user/cheater) (Ping timeout: 260 seconds)
2023-01-06 05:08:44 +0100cheater_cheater
2023-01-06 05:10:32 +0100trev(~trev@user/trev)
2023-01-06 05:10:56 +0100 <Inst> hackage is down
2023-01-06 05:11:26 +0100 <c_wraith> yeah, sclv warned us they were going to be doing some upgrades and there might be some downtime
2023-01-06 05:11:31 +0100 <jackdk> Presumably because sclv is still doing upgrades
2023-01-06 05:11:55 +0100 <sclv> just came back up
2023-01-06 05:13:08 +0100 <sclv> check it out -- we have reverse dependencies!!!
2023-01-06 05:13:22 +0100 <c_wraith> oh, cool
2023-01-06 05:13:47 +0100 <c_wraith> 15359 direct, 75 indirect [details]
2023-01-06 05:14:10 +0100 <c_wraith> that details page could probably use some work for... extremes... like that
2023-01-06 05:14:11 +0100shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 255 seconds)
2023-01-06 05:14:14 +0100 <c_wraith> but it loaded fast!
2023-01-06 05:15:53 +0100 <Axman6> sclv: I was literally just saying to jackdk I wish Hackagge had reverse deps! Whoohoo!
2023-01-06 05:16:10 +0100 <jackdk> as in literally yesterday. What a great release
2023-01-06 05:16:13 +0100 <sclv> this feature has been coming for like 10 years
2023-01-06 05:16:19 +0100 <Axman6> less than 12 hours ago
2023-01-06 05:16:22 +0100mbuf(~Shakthi@49.204.119.161)
2023-01-06 05:16:35 +0100 <sclv> it was in one of the earliest versions of hackage-server rewrite in haskell
2023-01-06 05:16:43 +0100 <Axman6> I'm going to take credit for it though, clearly my whinging caused this to happen =D
2023-01-06 05:16:43 +0100 <sclv> but we had to turn it off because the memory footprint was outlandish
2023-01-06 05:17:08 +0100 <sclv> one gsoc later and then another round of hacking later (from janus, who did a tremendous job) we simplified it enough to make it tractable
2023-01-06 05:17:56 +0100 <sclv> patches to make the revdeps ui not absurd for things way at the root are extremely welcome! (maybe, uh... paging? idk?)
2023-01-06 05:18:42 +0100 <c_wraith> I have no good ideas. Just that wow, the reverse deps of base result in a silly page.
2023-01-06 05:19:19 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds)
2023-01-06 05:25:42 +0100shriekingnoise(~shrieking@186.137.175.87)
2023-01-06 05:27:04 +0100ddellacosta(~ddellacos@143.244.47.100) (Ping timeout: 272 seconds)
2023-01-06 05:27:57 +0100 <talismanick> Is there a usable analogue to object capabilities in a library? Coeffects are in principle, but I don't see any libraries for them.
2023-01-06 05:29:59 +0100 <Axman6> What are object capabilities?
2023-01-06 05:32:44 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
2023-01-06 05:32:59 +0100cheater_(~Username@user/cheater)
2023-01-06 05:33:37 +0100 <talismanick> Axman6: https://habitatchronicles.com/2017/05/what-are-capabilities/
2023-01-06 05:34:16 +0100 <talismanick> In a nutshell, a way of controlling access to resources by reifying them into objects which can hand off tokens to another, giving it access permission
2023-01-06 05:35:09 +0100 <sclv> we have capability systems in haskell
2023-01-06 05:35:38 +0100 <talismanick> e.g. rather than "file is writable by user" and "user owns text editor process" => "editor can save to file", the file has to hand a token to the process
2023-01-06 05:35:48 +0100 <talismanick> sclv: What are some examples?
2023-01-06 05:36:13 +0100shailangsa(~shailangs@host165-120-169-78.range165-120.btcentralplus.com)
2023-01-06 05:36:25 +0100 <sclv> i'm trying to find the citation, hang on
2023-01-06 05:36:34 +0100cheater(~Username@user/cheater) (Ping timeout: 265 seconds)
2023-01-06 05:36:36 +0100cheater_cheater
2023-01-06 05:38:08 +0100 <talismanick> Axman6: I highly recommend the article that I linked, but if I had to summarize why it matters, it's the inversion of control: making authority explicitly handed off (as little as possible) rather than held ambiently (by the user, via permissions) reduces chances of screwups
2023-01-06 05:38:44 +0100 <sclv> the LIO monad of stefan et a is a good system for this stuff https://cseweb.ucsd.edu/~dstefan/pubs/stefan:2017:flexible.pdf
2023-01-06 05:39:04 +0100 <sclv> but just using capability tokens explicitly and handing them around is fine with nothing fancy at all
2023-01-06 05:39:28 +0100 <sclv> (the neat thing about the LIO system is it manages this stuff all with compile-time type checks!)
2023-01-06 05:40:05 +0100 <talismanick> sclv: Right, just chuck it into the State monad and reason about it as runtime objects passing messages
2023-01-06 05:40:07 +0100ryanbooker(uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2023-01-06 05:40:13 +0100phma_(phma@2001:5b0:210d:e648:536c:bd68:b90b:47da)
2023-01-06 05:40:17 +0100 <sclv> like there's nothing about capability tokens that requires objects
2023-01-06 05:40:29 +0100 <Axman6> linear haskell could be interesting with a token based system
2023-01-06 05:40:31 +0100 <sclv> you literally can just mint and pass tokens around -- arguably its simpler
2023-01-06 05:40:40 +0100 <sclv> you don't need a state monad or any monad
2023-01-06 05:41:01 +0100 <talismanick> Wasn't there a monad specifically for unique IDs?
2023-01-06 05:41:03 +0100 <sclv> the LIO stuff is about reflecting that to the types of the monads and using types to hold the capabilities
2023-01-06 05:41:09 +0100 <Axman6> talismanick: I can't open the URL you shared
2023-01-06 05:41:23 +0100thegeekinside(~thegeekin@189.217.82.244) (Read error: Connection reset by peer)
2023-01-06 05:41:24 +0100 <sclv> yeah, but that's just for id generation
2023-01-06 05:41:30 +0100 <sclv> there's a lot of ways to do that too
2023-01-06 05:41:49 +0100 <Axman6> Safari refuses, and Firefox gives "Error code: SSL_ERROR_RX_RECORD_TOO_LONG"
2023-01-06 05:41:58 +0100phma(phma@2001:5b0:2143:df48:fe85:bab7:d4d6:2e21) (Read error: Connection reset by peer)
2023-01-06 05:41:58 +0100 <talismanick> Axman6: Erm, try the Wayback Machine?
2023-01-06 05:42:09 +0100 <Axman6> works without https, all good
2023-01-06 05:42:15 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds)
2023-01-06 05:42:30 +0100caryhartline(~caryhartl@2600:1700:2d0:8d30:54e9:67d:a342:e67) (Quit: caryhartline)
2023-01-06 05:42:34 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-01-06 05:42:50 +0100rburkholder(~blurb@96.45.2.121) (Read error: Connection reset by peer)
2023-01-06 05:43:09 +0100rburkholder(~blurb@96.45.2.121)
2023-01-06 05:43:16 +0100rburkholder(~blurb@96.45.2.121) (Read error: Connection reset by peer)
2023-01-06 05:44:25 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-01-06 05:49:39 +0100 <Axman6> That sure is one big wall of text...
2023-01-06 05:49:54 +0100qy(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Quit: WeeChat 3.7.1)
2023-01-06 05:51:40 +0100tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection)
2023-01-06 05:52:09 +0100tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2023-01-06 05:54:56 +0100beefbambi(~beefbambi@183.82.178.13) (Ping timeout: 272 seconds)
2023-01-06 05:55:19 +0100beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377)
2023-01-06 05:55:54 +0100tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection)
2023-01-06 06:02:40 +0100king_gs(~Thunderbi@2806:103e:29:45ac:af0:afaf:29e7:dd60) (Ping timeout: 265 seconds)
2023-01-06 06:07:07 +0100 <talismanick> Fancy hearing that in the Haskell channel
2023-01-06 06:07:53 +0100beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Read error: Connection reset by peer)
2023-01-06 06:10:31 +0100beefbambi(~beefbambi@183.82.24.61)
2023-01-06 06:11:06 +0100king_gs(~Thunderbi@187.201.110.169)
2023-01-06 06:13:28 +0100Lycurgus(~juan@user/Lycurgus)
2023-01-06 06:15:52 +0100tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2023-01-06 06:17:26 +0100beefbambi(~beefbambi@183.82.24.61) (Ping timeout: 268 seconds)
2023-01-06 06:18:27 +0100beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377)
2023-01-06 06:27:34 +0100mikoto-chan(~mikoto-ch@2001:999:784:9369:4fc9:c760:85c5:e867)
2023-01-06 06:30:24 +0100instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 272 seconds)
2023-01-06 06:35:47 +0100ix(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
2023-01-06 06:41:21 +0100instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net)
2023-01-06 06:45:17 +0100mikoto-chan(~mikoto-ch@2001:999:784:9369:4fc9:c760:85c5:e867) (Ping timeout: 256 seconds)
2023-01-06 06:45:43 +0100farmfrmjakestate(~farmfrmja@user/farmfrmjakestate)
2023-01-06 06:46:14 +0100instantaphex(~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Ping timeout: 272 seconds)
2023-01-06 06:49:52 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 252 seconds)
2023-01-06 06:49:52 +0100king_gs(~Thunderbi@187.201.110.169) (Read error: Connection reset by peer)
2023-01-06 06:50:33 +0100king_gs(~Thunderbi@2806:103e:29:45ac:af0:afaf:29e7:dd60)
2023-01-06 06:55:13 +0100wroathe(~wroathe@user/wroathe) (Quit: leaving)
2023-01-06 06:58:26 +0100shriekingnoise(~shrieking@186.137.175.87) (Quit: Quit)
2023-01-06 07:06:11 +0100freemanX(~user@128.106.28.34)
2023-01-06 07:07:07 +0100ix(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Quit: WeeChat 3.7.1)
2023-01-06 07:11:17 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2023-01-06 07:11:56 +0100Feuermagier(~Feuermagi@user/feuermagier)
2023-01-06 07:12:26 +0100Feuermagier(~Feuermagi@user/feuermagier) (Max SendQ exceeded)
2023-01-06 07:12:51 +0100Feuermagier(~Feuermagi@user/feuermagier)
2023-01-06 07:15:00 +0100shriekingnoise(~shrieking@186.137.175.87)
2023-01-06 07:19:41 +0100freeside(~mengwong@122.11.214.82)
2023-01-06 07:22:45 +0100Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2023-01-06 07:27:57 +0100boxscape_(~boxscape_@81.191.27.107)
2023-01-06 07:35:38 +0100ix(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
2023-01-06 07:44:55 +0100king_gs(~Thunderbi@2806:103e:29:45ac:af0:afaf:29e7:dd60) (Ping timeout: 260 seconds)
2023-01-06 07:45:09 +0100ix(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Quit: WeeChat 3.7.1)
2023-01-06 07:55:56 +0100nut(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2023-01-06 07:55:59 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-01-06 07:59:47 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2023-01-06 08:00:37 +0100Feuermagier(~Feuermagi@user/feuermagier)
2023-01-06 08:00:59 +0100Feuermagier(~Feuermagi@user/feuermagier) (Max SendQ exceeded)
2023-01-06 08:07:00 +0100ix(~ix@82-71-2-184.dsl.in-addr.zen.co.uk)
2023-01-06 08:10:03 +0100ix(~ix@82-71-2-184.dsl.in-addr.zen.co.uk) (Client Quit)
2023-01-06 08:12:14 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp)
2023-01-06 08:14:36 +0100shriekingnoise(~shrieking@186.137.175.87) (Quit: Quit)
2023-01-06 08:15:17 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2023-01-06 08:15:21 +0100paulpaul1076(~textual@95-29-5-111.broadband.corbina.ru)
2023-01-06 08:16:38 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-01-06 08:21:20 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
2023-01-06 08:30:56 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-01-06 08:35:07 +0100lottaquestions(~nick@2607:fa49:503e:7100:a37:6c2e:5bc7:b05c) (Quit: Konversation terminated!)
2023-01-06 08:35:41 +0100lottaquestions_(~nick@104.221.24.83)
2023-01-06 08:36:29 +0100dsrt^(~dsrt@76.145.190.81) (Remote host closed the connection)
2023-01-06 08:40:46 +0100cheater_(~Username@user/cheater)
2023-01-06 08:43:29 +0100cheater(~Username@user/cheater) (Ping timeout: 260 seconds)
2023-01-06 08:43:32 +0100cheater_cheater
2023-01-06 08:47:50 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
2023-01-06 08:50:29 +0100boxscape_(~boxscape_@81.191.27.107) (Ping timeout: 260 seconds)
2023-01-06 09:02:17 +0100ix(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
2023-01-06 09:05:45 +0100ix(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Client Quit)
2023-01-06 09:09:11 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2023-01-06 09:09:23 +0100nut(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 260 seconds)
2023-01-06 09:09:28 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-06 09:09:31 +0100MajorBiscuit(~MajorBisc@83.22.42.172.ipv4.supernova.orange.pl)
2023-01-06 09:15:58 +0100boxscape_(~boxscape_@213.52.37.155)
2023-01-06 09:18:50 +0100beefbambi(~beefbambi@2401:4900:230d:f57c:538c:d7cc:50c0:e377) (Ping timeout: 260 seconds)
2023-01-06 09:20:43 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-01-06 09:21:59 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-01-06 09:22:02 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 272 seconds)
2023-01-06 09:24:52 +0100ix(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
2023-01-06 09:25:55 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-01-06 09:26:57 +0100boxscape_(~boxscape_@213.52.37.155) (Quit: Client closed)
2023-01-06 09:28:06 +0100Vajb(~Vajb@2001:999:405:5eb2:8d39:b832:a9ee:9bdf) (Read error: Connection reset by peer)
2023-01-06 09:29:23 +0100Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi)
2023-01-06 09:32:50 +0100boxscape_(~boxscape_@213.52.37.155)
2023-01-06 09:35:16 +0100 <freeside> ok, I have a new question. I'm working on an embedded DSL, grown from a MathLang exercise, where I want to "show my work" as my teacher in math class always used to insist. I want to construct a sort of Explainer monad, I think, which builds a Tree of commentary that parallels the evaluation of each expression.
2023-01-06 09:35:43 +0100 <freeside> I am wondering if I should write my own monad transformer, or somehow find a way to graft this kind of "meta-interpreter" behaviour on to some existing StateT-like monad
2023-01-06 09:37:08 +0100jwiegley(~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net)
2023-01-06 09:37:15 +0100 <freeside> basically, when I go off and eval a "2 * (3 + 4)" I want it to produce commentary like "now we add two terms. The first term is a simple number. But the second term needs to itself be evaluated first. Entering the parentheses..."
2023-01-06 09:38:23 +0100 <freeside> constructing a tree-like structure feels like the right approach, though the tree will eventually be flattened to something that can be opened in Org-mode, so the depth of the node will be reflected in the number of *'s at the front of the putStrLn
2023-01-06 09:38:36 +0100 <boxscape_> isn't this more a Writer thing than a State thing?
2023-01-06 09:39:01 +0100 <freeside> yes, it is. I want to keep State because in the future I am expecting some computations to want to refer to the results of earlier statements.
2023-01-06 09:39:10 +0100 <boxscape_> ah
2023-01-06 09:39:11 +0100 <freeside> that allows me to maintain a symtab of vars
2023-01-06 09:40:56 +0100ix(~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Quit: WeeChat 3.7.1)
2023-01-06 09:41:11 +0100 <freeside> thinking of >>= as a "programmable semicolon" I would, naively, expect every bind to construct a new Node context for the subexpression, and then the monad would stitch together the returned nodes as children of the current node for the return.
2023-01-06 09:41:33 +0100talismanick(~talismani@76.133.152.122) (Ping timeout: 268 seconds)
2023-01-06 09:42:14 +0100 <freeside> or maybe that happens explicitly in the eval, hm
2023-01-06 09:42:34 +0100 <jackdk> I normally write small-step evaluation rules for this, and then a function `trace :: Expr -> NonEmpty Expr` that contains all the evaluation steps
2023-01-06 09:43:01 +0100 <jackdk> if you have a function `step :: Expr -> Maybe Expr` that composes all the evaluation rules.
2023-01-06 09:44:00 +0100zeenk(~zeenk@2a02:2f04:a110:ac00::7fe)
2023-01-06 09:44:29 +0100freesidethinks about this
2023-01-06 09:46:24 +0100 <freeside> maybe i'm overthinking it; if step :: Expr -> Maybe (Expr, Commentary) then I suppose I could stitch the Commentary into a tree as part of the trace, without needing to set up a new monad explicitly
2023-01-06 09:46:53 +0100acidjnk(~acidjnk@p200300d6e7137a857c27d2eace8e6a0b.dip0.t-ipconnect.de)
2023-01-06 09:46:55 +0100 <freeside> then I can keep it simple with just a type Commentary = Data.Tree String
2023-01-06 09:47:07 +0100 <mauke> > 2 * (3 + 4) :: Expr
2023-01-06 09:47:10 +0100 <lambdabot> 2 * (3 + 4)
2023-01-06 09:48:40 +0100 <freeside> at the same time i feel like i'm reinventing Writer
2023-01-06 09:49:31 +0100kenran(~user@user/kenran)
2023-01-06 09:50:49 +0100avicenzi(~avicenzi@2a00:ca8:a1f:b004::c32)
2023-01-06 09:54:26 +0100mncheck-m(~mncheck@193.224.205.254) (Remote host closed the connection)
2023-01-06 09:54:36 +0100 <freeside> instead of step being in the Writer/State monad, maybe I want to construct a new Writer/State monadic context within step, and runState the sub-expr evalautions manually, so I have an opportunity to return a Tree Node
2023-01-06 09:57:37 +0100 <jackdk> I don't think you want to talk about "the" tree, because you will have a linear sequence of individual trees as you rewrite nodes. If each tree emitted the rule it applied and the location it was applied at (maybe using an ADT representing zipper operations or something), what you want turns into an unfoldm over some kind of writer
2023-01-06 10:00:05 +0100ericjmorey[m](~ericjmore@2001:470:69fc:105::7afc) (Quit: You have been kicked for being idle)
2023-01-06 10:00:52 +0100nschoe(~q@2a01:e0a:8e:a190:3e45:2461:8514:e8d2)
2023-01-06 10:01:45 +0100merijn(~merijn@145.116.35.30)
2023-01-06 10:04:04 +0100freesidethinks about this
2023-01-06 10:08:08 +0100fserucas(~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7)
2023-01-06 10:08:39 +0100merijn(~merijn@145.116.35.30) (Ping timeout: 260 seconds)
2023-01-06 10:09:04 +0100nut(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2023-01-06 10:13:08 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2023-01-06 10:13:21 +0100igghibu(~igghibu@178.249.211.75)
2023-01-06 10:14:24 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:6169:588f:5c00:bfd8) (Remote host closed the connection)
2023-01-06 10:17:01 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2023-01-06 10:17:02 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-01-06 10:21:01 +0100paulpaul1076(~textual@95-29-5-111.broadband.corbina.ru) (Ping timeout: 268 seconds)
2023-01-06 10:21:35 +0100chele(~chele@user/chele)
2023-01-06 10:22:32 +0100phma_phma
2023-01-06 10:31:10 +0100anthezium(~ted@75.164.54.59) (Ping timeout: 260 seconds)
2023-01-06 10:33:29 +0100merijn(~merijn@145.116.35.30)
2023-01-06 10:34:50 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-06 10:37:51 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2023-01-06 10:37:52 +0100anthezium(~ted@75.164.81.158)
2023-01-06 10:38:19 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2023-01-06 10:39:11 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2023-01-06 10:42:47 +0100mei_(~mei@user/mei)
2023-01-06 10:43:43 +0100mei(~mei@user/mei) (Killed (NickServ (GHOST command used by mei_)))
2023-01-06 10:43:46 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp)
2023-01-06 10:50:02 +0100mei_(~mei@user/mei) (Quit: mei_)
2023-01-06 10:54:11 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 264 seconds)
2023-01-06 10:55:42 +0100Vajb(~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer)
2023-01-06 10:55:54 +0100Vajb(~Vajb@2001:999:405:5eb2:8d39:b832:a9ee:9bdf)
2023-01-06 10:59:34 +0100freeside(~mengwong@122.11.214.82) (Read error: Connection reset by peer)
2023-01-06 11:03:57 +0100teo(~teo@user/teo)
2023-01-06 11:06:08 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2023-01-06 11:09:21 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-06 11:10:28 +0100coot(~coot@213.134.171.3)
2023-01-06 11:13:16 +0100kenran(~user@user/kenran) (Remote host closed the connection)
2023-01-06 11:13:24 +0100troydm(~troydm@user/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset)
2023-01-06 11:14:03 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 268 seconds)
2023-01-06 11:14:13 +0100boxscape_(~boxscape_@213.52.37.155) (Ping timeout: 260 seconds)
2023-01-06 11:14:55 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:6169:588f:5c00:bfd8)
2023-01-06 11:17:15 +0100Tuplanolla(~Tuplanoll@91-159-68-152.elisa-laajakaista.fi)
2023-01-06 11:19:35 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:6169:588f:5c00:bfd8) (Ping timeout: 260 seconds)
2023-01-06 11:22:09 +0100gaff(~gaff@49.207.203.119) (Remote host closed the connection)
2023-01-06 11:23:08 +0100troydm(~troydm@user/troydm)
2023-01-06 11:23:13 +0100merijn(~merijn@145.116.35.30) (Ping timeout: 252 seconds)
2023-01-06 11:24:12 +0100mncheck(~mncheck@193.224.205.254)
2023-01-06 11:26:41 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-01-06 11:27:27 +0100nut(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Quit: WeeChat 3.5)
2023-01-06 11:37:10 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-01-06 11:37:41 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
2023-01-06 11:38:38 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-01-06 11:38:47 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-01-06 11:39:15 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1)
2023-01-06 11:45:39 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-06 11:47:53 +0100jinsun__(~jinsun@user/jinsun)
2023-01-06 11:47:53 +0100jinsunGuest157
2023-01-06 11:47:53 +0100Guest157(~jinsun@user/jinsun) (Killed (molybdenum.libera.chat (Nickname regained by services)))
2023-01-06 11:47:53 +0100jinsun__jinsun
2023-01-06 11:51:11 +0100merijn(~merijn@c-001-001-016.client.esciencecenter.eduvpn.nl)
2023-01-06 11:55:45 +0100gaff(~gaff@49.207.203.119)
2023-01-06 11:55:56 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 272 seconds)
2023-01-06 12:00:04 +0100merijn(~merijn@c-001-001-016.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2023-01-06 12:04:19 +0100teddyc(theodorc@cassarossa.samfundet.no) (Ping timeout: 256 seconds)
2023-01-06 12:09:06 +0100jinsun(~jinsun@user/jinsun) (Ping timeout: 255 seconds)
2023-01-06 12:09:11 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-01-06 12:10:04 +0100jinsun(~jinsun@user/jinsun)
2023-01-06 12:10:39 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-01-06 12:15:08 +0100merijn(~merijn@c-001-001-016.client.esciencecenter.eduvpn.nl)
2023-01-06 12:15:34 +0100gaff(~gaff@49.207.203.119) (Ping timeout: 272 seconds)
2023-01-06 12:16:21 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:cc20:d690:f22b:cb00)
2023-01-06 12:17:01 +0100teddyc(theodorc@cassarossa.samfundet.no)
2023-01-06 12:20:43 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:cc20:d690:f22b:cb00) (Ping timeout: 248 seconds)
2023-01-06 12:20:51 +0100fr33domlover(~fr33domlo@towards.vision) (Quit: The Lounge - https://thelounge.chat)
2023-01-06 12:21:36 +0100cheater(~Username@user/cheater) (Read error: Connection reset by peer)
2023-01-06 12:22:04 +0100cheater(~Username@user/cheater)
2023-01-06 12:22:42 +0100thongpv87(~thongpv87@2402:9d80:389:9e3a:bd66:3325:75a0:8382)
2023-01-06 12:23:27 +0100freeside(~mengwong@103.252.202.159)
2023-01-06 12:24:05 +0100fr33domlover(~fr33domlo@towards.vision)
2023-01-06 12:24:16 +0100merijn(~merijn@c-001-001-016.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
2023-01-06 12:24:28 +0100razetime(~Thunderbi@49.207.222.244) (Quit: See You Space Cowboy)
2023-01-06 12:25:30 +0100thongpv(~thongpv87@2402:9d80:3ca:5321:f609:86e9:b143:6b82) (Ping timeout: 260 seconds)
2023-01-06 12:25:55 +0100boxscape_(~boxscape_@213.52.37.155)
2023-01-06 12:28:03 +0100freemanX(~user@128.106.28.34) (Ping timeout: 268 seconds)
2023-01-06 12:28:03 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 260 seconds)
2023-01-06 12:30:57 +0100haskl(~haskl@user/haskl) (Read error: Connection reset by peer)
2023-01-06 12:33:16 +0100haskl(~haskl@user/haskl)
2023-01-06 12:34:30 +0100fizbin(~fizbin@user/fizbin)
2023-01-06 12:37:41 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2023-01-06 12:42:13 +0100freeside(~mengwong@103.252.202.159)
2023-01-06 12:45:17 +0100gaff(~gaff@49.207.203.119)
2023-01-06 12:47:54 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2023-01-06 12:48:04 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp)
2023-01-06 12:48:29 +0100jinsunGuest8141
2023-01-06 12:48:29 +0100jinsun__(~jinsun@user/jinsun)
2023-01-06 12:48:29 +0100Guest8141(~jinsun@user/jinsun) (Killed (molybdenum.libera.chat (Nickname regained by services)))
2023-01-06 12:48:29 +0100jinsun__jinsun
2023-01-06 12:51:17 +0100CiaoSen(~Jura@p200300c9572e35002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2023-01-06 12:52:18 +0100gaff(~gaff@49.207.203.119) (Ping timeout: 272 seconds)
2023-01-06 12:56:48 +0100jakalx(~jakalx@base.jakalx.net) ()
2023-01-06 12:57:47 +0100gaff(~gaff@49.207.203.119)
2023-01-06 13:02:38 +0100elevenkb(~elevenkb@105.226.98.103)
2023-01-06 13:02:39 +0100boxscape_(~boxscape_@213.52.37.155) (Quit: Client closed)
2023-01-06 13:02:53 +0100boxscape_(~boxscape_@213.52.37.155)
2023-01-06 13:05:10 +0100pyrex(~pyrex@user/pyrex) (Ping timeout: 260 seconds)
2023-01-06 13:06:42 +0100pyrex(~pyrex@user/pyrex)
2023-01-06 13:09:29 +0100CiaoSen(~Jura@p200300c9572e35002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2023-01-06 13:11:39 +0100pyrex(~pyrex@user/pyrex) (Ping timeout: 255 seconds)
2023-01-06 13:11:41 +0100 <ncf> can i find a non-van-Laarhoven presentation of traversals, folds etc. somewhere?
2023-01-06 13:12:03 +0100pyrex(~pyrex@user/pyrex)
2023-01-06 13:12:11 +0100 <ncf> (in the same spirit as Lens s t a b = { get :: s -> a, set :: b -> s -> t })
2023-01-06 13:14:00 +0100 <ncf> i guess (s -> [a], [b] -> s -> t) + complicated laws would do for traversals
2023-01-06 13:16:38 +0100hashn3rd1(~hashn3rd@ip72-221-42-80.ks.ks.cox.net)
2023-01-06 13:16:46 +0100v0id_ptr(~adrift@user/ptr-frac7al/x-0038398) (Ping timeout: 268 seconds)
2023-01-06 13:16:46 +0100hashn3rd(~hashn3rd@ip72-221-42-80.ks.ks.cox.net) (Read error: Connection reset by peer)
2023-01-06 13:16:51 +0100hashn3rd1(~hashn3rd@ip72-221-42-80.ks.ks.cox.net) (Read error: Connection reset by peer)
2023-01-06 13:17:35 +0100hashn3rd(~hashn3rd@ip72-221-42-80.ks.ks.cox.net)
2023-01-06 13:18:00 +0100fizbin(~fizbin@user/fizbin) (Ping timeout: 260 seconds)
2023-01-06 13:19:24 +0100mechap(~mechap@user/mechap) (Ping timeout: 260 seconds)
2023-01-06 13:20:29 +0100mikoto-chan(~mikoto-ch@2001:999:780:d406:c4ad:401:15f7:47c7)
2023-01-06 13:20:57 +0100mechap(~mechap@user/mechap)
2023-01-06 13:23:54 +0100 <Jadesheit[m]> I'm designing a haskell inspired language and wondered what you people think of this so far... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/2cd267800fbe9de7000e8c93f32c955d6459…>)
2023-01-06 13:23:57 +0100Umeaboy(~Umeaboy@94-255-145-133.cust.bredband2.com)
2023-01-06 13:24:06 +0100 <Jadesheit[m]> s/```/`/, s/```/`/
2023-01-06 13:24:17 +0100 <Jadesheit[m]> * I'm designing a haskell inspired language and wondered what you people think of this so far... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/96525adab2ba4e965981e3426b9ec493a8d4…>)
2023-01-06 13:24:35 +0100 <Jadesheit[m]> * I'm designing a haskell inspired language and wondered what you people think of this so far... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/96525adab2ba4e965981e3426b9ec493a8d4…>)
2023-01-06 13:25:04 +0100gaff(~gaff@49.207.203.119) (Quit: Bye ...)
2023-01-06 13:25:15 +0100 <Umeaboy> Uuuuhm. I've locally built ghc and it went fine. However I'm missing some deps to build rpm packages for Mageia...... They need ghc to be installed which I already have.
2023-01-06 13:25:24 +0100gaff(~gaff@49.207.203.119)
2023-01-06 13:25:29 +0100 <Jadesheit[m]> * I'm designing a haskell inspired language and wondered what you people think of this so far... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/a267bdb1e4f21754f0115ff0e5150cc17ccc…>)
2023-01-06 13:25:41 +0100 <Jadesheit[m]> * I'm designing a haskell inspired language and wondered what you people think of this so far... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/c35c612ae5605671e7a75edc9c1962c3977d…>)
2023-01-06 13:25:53 +0100 <Jadesheit[m]> * I'm designing a haskell inspired language and wondered what you people think of this so far... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/df62d1b511a8d9bf15f537ef6cfba103b08e…>)
2023-01-06 13:26:22 +0100Orbstheorem(~orbstheor@2001:470:69fc:105::a56)
2023-01-06 13:26:59 +0100 <Jadesheit[m]> * I'm designing a haskell inspired language and wondered what you people think of this so far... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/d76d0b7b9bc9374fee2b615920918377e7eb…>)
2023-01-06 13:27:14 +0100 <Umeaboy> echo $PATH
2023-01-06 13:27:16 +0100 <gaff> if you define a flag in cabal, say Debug, then what does `-DDEBUG` do?
2023-01-06 13:27:43 +0100 <Umeaboy> That shows that I have ghc installed.
2023-01-06 13:28:10 +0100 <Umeaboy> It shouldn't matter that I used ghcup to install it, right?
2023-01-06 13:29:26 +0100 <gaff> you can see an example code here: https://cabal.readthedocs.io/en/3.4/cabal-package.html?highlight=cpp-options#id3
2023-01-06 13:29:56 +0100 <mauke> Jade 🏳️‍⚧️ (she/it): I'm not a big fan of using nesting syntax for non-nestable constructs
2023-01-06 13:32:04 +0100mc47(~mc47@xmonad/TheMC47)
2023-01-06 13:34:22 +0100 <gaff> appreciate any help
2023-01-06 13:37:16 +0100 <boxscape_> gaff: I haven't used it but I imagine it acts like a line that says `#define DEBUG`
2023-01-06 13:37:37 +0100 <boxscape_> in the source code
2023-01-06 13:37:52 +0100 <gaff> boxscape_: ok
2023-01-06 13:37:58 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-06 13:38:23 +0100 <gaff> what does `-` in front of `-DDEBUG` signify?
2023-01-06 13:39:02 +0100 <boxscape_> I believe -D is a flag for the C preprocessor, and DEBUG is the argument
2023-01-06 13:39:04 +0100freemanX(~user@14.100.44.229)
2023-01-06 13:39:17 +0100 <boxscape_> so it's just the usual command line tool flag syntax
2023-01-06 13:40:05 +0100elevenkb(~elevenkb@105.226.98.103) (Quit: Client closed)
2023-01-06 13:41:26 +0100 <gaff> boxscape_: the actual code in the link i pasted is something like this: `if flag(Debug) CPP-Options: -DDEBUG`. which reads to me as `if Debug is True, then set cpp-options as that value of Debug`
2023-01-06 13:42:21 +0100 <boxscape_> what do you mean by "that value of Debug"?
2023-01-06 13:43:17 +0100 <gaff> boxscape_: its current value, which is `True` -- the one that is in the `if` condition
2023-01-06 13:44:44 +0100 <boxscape_> gaff: no, DEBUG is different from Debug - `-DDEBUG` provided as flag to the C preprocessor should essentially mean that all `#ifdef DEBUG` pragras in the Haskell code will see `DEBUG` as being #define'd, and the code within the `#ifdef` will be included
2023-01-06 13:44:53 +0100 <boxscape_> s/pragras/pragmas
2023-01-06 13:45:25 +0100 <boxscape_> Debug is either true or false, but DEBUG is either defined or not defined
2023-01-06 13:45:44 +0100 <boxscape_> (and Debug is in cabal-land whereas DEBUG is in CPP-land)
2023-01-06 13:45:44 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2023-01-06 13:45:54 +0100 <gaff> ok, got it. thanks so much
2023-01-06 13:45:59 +0100 <boxscape_> np
2023-01-06 13:45:59 +0100 <mauke> s/defined/defined to expand to a list of pp-tokens/
2023-01-06 13:46:27 +0100 <boxscape_> right, though typically for DEBUG that'd be an empty list, I suppose
2023-01-06 13:46:41 +0100 <mauke> in the case of -DFOO, that list is 1
2023-01-06 13:47:00 +0100 <gaff> mauke: what would that list be like?
2023-01-06 13:47:14 +0100 <gaff> for DFOO
2023-01-06 13:47:19 +0100 <mauke> what
2023-01-06 13:47:38 +0100 <gaff> oh, sorry
2023-01-06 13:48:08 +0100maukeis confused
2023-01-06 13:48:14 +0100 <gaff> mauke: the problem i had was that the documentation on this is incomplete in the cabal docs
2023-01-06 13:48:35 +0100 <boxscape_> mauke I misread your comment as first as "that list has length 1", maybe that was the confusion
2023-01-06 13:48:46 +0100 <gaff> yep
2023-01-06 13:48:58 +0100 <mauke> ah. no, it is literally the integer constant "1"
2023-01-06 13:50:24 +0100 <gaff> mauke: could you explain that -- why is it the integer 1?
2023-01-06 13:50:28 +0100 <mauke> (which means #if DEBUG will work in addition to #ifdef DEBUG)
2023-01-06 13:50:50 +0100 <gaff> oh, ok
2023-01-06 13:51:03 +0100 <boxscape_> ah I didn't know that
2023-01-06 13:51:18 +0100 <gaff> by the way, i am using this stuff to test an internal function in a module
2023-01-06 13:51:19 +0100 <mauke> https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Preprocessor-Options.html#Preprocessor-Options
2023-01-06 13:51:22 +0100 <mauke> that's just how it is
2023-01-06 13:52:07 +0100 <boxscape_> mauke so that means "#define DEBUG" is different from "-DDEBUG"? Or does an empty #define also make it 1?
2023-01-06 13:52:31 +0100 <mauke> I'm pretty sure it's the former
2023-01-06 13:52:37 +0100 <boxscape_> ok
2023-01-06 13:52:47 +0100 <mauke> you'd have to to -DDEBUG= to get the effect of #define DEBUG on the command line
2023-01-06 13:52:51 +0100 <boxscape_> I see
2023-01-06 13:53:02 +0100 <mauke> s/to to/to do/
2023-01-06 13:53:07 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 256 seconds)
2023-01-06 13:54:18 +0100 <gaff> mauke: so just to be clear, what does `if flag(Debug) CPP-Options: -DDEBUG` do exactly? is it the same thing boxscape_ suggested?
2023-01-06 13:54:26 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2023-01-06 13:54:55 +0100img(~img@user/img)
2023-01-06 13:55:55 +0100 <mauke> uh, that looks like a cabal directive. if the "Debug" flag is active, it'll set the CPP-Options property
2023-01-06 13:56:20 +0100 <boxscape_> I said it acts as "#define DEBUG", but it actually acts as "#define DEBUG 1". So it predefines it as a macro with definition 1. No difference in how it interacts with #ifdef, but that means `#if DEBUG` also works
2023-01-06 13:56:21 +0100 <mauke> and we've been discussing the effect of that particular cpp option
2023-01-06 13:56:27 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-01-06 13:57:24 +0100 <gaff> boxscape_: yeah, thanks
2023-01-06 13:58:09 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-01-06 13:59:24 +0100 <gaff> mauke: thanks much
2023-01-06 14:00:19 +0100 <gaff> i came across this stuff for the first time so things were not clear ... thanks for your help
2023-01-06 14:01:28 +0100gaff(~gaff@49.207.203.119) ()
2023-01-06 14:05:34 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2023-01-06 14:08:35 +0100img(~img@user/img)
2023-01-06 14:09:28 +0100igghibu(~igghibu@178.249.211.75) (Quit: igghibu)
2023-01-06 14:11:35 +0100hank_(~hank@45-33-24-80.ip.linodeusercontent.com)
2023-01-06 14:12:06 +0100xff0x(~xff0x@p3326132-ipngn2103sapodori.hokkaido.ocn.ne.jp) (Ping timeout: 272 seconds)
2023-01-06 14:13:11 +0100`2jt(~jtomas@84.red-88-17-186.dynamicip.rima-tde.net)
2023-01-06 14:17:48 +0100freemanX(~user@14.100.44.229) (Ping timeout: 272 seconds)
2023-01-06 14:18:27 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-01-06 14:19:09 +0100freeside(~mengwong@103.252.202.159)
2023-01-06 14:19:46 +0100acidjnk(~acidjnk@p200300d6e7137a857c27d2eace8e6a0b.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2023-01-06 14:24:08 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 272 seconds)
2023-01-06 14:24:35 +0100panovia(~user@user/siracusa) (Quit: Bye!)
2023-01-06 14:26:49 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2023-01-06 14:27:16 +0100img(~img@user/img)
2023-01-06 14:30:16 +0100boxscape_(~boxscape_@213.52.37.155) (Quit: Client closed)
2023-01-06 14:31:26 +0100boxscape_(~boxscape_@213.52.37.155)
2023-01-06 14:32:22 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-01-06 14:34:47 +0100jakalx(~jakalx@base.jakalx.net)
2023-01-06 14:34:55 +0100thongpv87(~thongpv87@2402:9d80:389:9e3a:bd66:3325:75a0:8382) (Remote host closed the connection)
2023-01-06 14:35:10 +0100thongpv87(~thongpv87@2402:9d80:389:9e3a:648f:1ca5:2c13:2a3a)
2023-01-06 14:35:24 +0100elevenkb(~elevenkb@105.226.98.103)
2023-01-06 14:40:38 +0100mc47(~mc47@xmonad/TheMC47)
2023-01-06 14:41:52 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
2023-01-06 14:43:29 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-01-06 14:46:45 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Client Quit)
2023-01-06 14:49:30 +0100freeside(~mengwong@103.252.202.159)
2023-01-06 14:50:23 +0100sammelweis(~quassel@c-68-48-18-140.hsd1.mi.comcast.net)
2023-01-06 14:56:00 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 260 seconds)
2023-01-06 15:02:20 +0100isekaijin(~isekaijin@user/isekaijin) (Quit: WeeChat 3.7.1)
2023-01-06 15:03:57 +0100sammelweis(~quassel@c-68-48-18-140.hsd1.mi.comcast.net) (Quit: No Ping reply in 180 seconds.)
2023-01-06 15:05:27 +0100sammelweis(~quassel@c-68-48-18-140.hsd1.mi.comcast.net)
2023-01-06 15:08:44 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
2023-01-06 15:09:00 +0100freeside(~mengwong@103.252.202.159)
2023-01-06 15:09:19 +0100razetime(~Thunderbi@49.207.222.244)
2023-01-06 15:09:44 +0100festive_kurbus(~festive_k@user/kurbus)
2023-01-06 15:11:24 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-01-06 15:14:37 +0100shriekingnoise(~shrieking@186.137.175.87)
2023-01-06 15:15:28 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-01-06 15:17:53 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-01-06 15:20:50 +0100thegeekinside(~thegeekin@189.217.82.244)
2023-01-06 15:25:23 +0100Guest6255(~Guest62@240f:a1:8a75:1:6d29:acad:cc8d:29c7)
2023-01-06 15:25:35 +0100 <Inst> https://www.reddit.com/r/haskell/comments/103v4hc/companies_abandoning_haskell/
2023-01-06 15:25:36 +0100 <Inst> ;_;
2023-01-06 15:25:43 +0100 <Inst> at least they're ditching Haskell for Rust, most of the time
2023-01-06 15:26:08 +0100elevenkb(~elevenkb@105.226.98.103) (Quit: Client closed)
2023-01-06 15:26:21 +0100Guest6255(~Guest62@240f:a1:8a75:1:6d29:acad:cc8d:29c7) (Client Quit)
2023-01-06 15:27:18 +0100Guest6244(~Guest62@240f:a1:8a75:1:6d29:acad:cc8d:29c7)
2023-01-06 15:27:34 +0100Guest6244(~Guest62@240f:a1:8a75:1:6d29:acad:cc8d:29c7) (Client Quit)
2023-01-06 15:29:15 +0100Kaipei(~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 260 seconds)
2023-01-06 15:29:19 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-06 15:30:28 +0100gaff(~gaff@49.207.203.119)
2023-01-06 15:31:47 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-01-06 15:31:49 +0100razetime(~Thunderbi@49.207.222.244) (Ping timeout: 268 seconds)
2023-01-06 15:31:53 +0100sammelweis(~quassel@c-68-48-18-140.hsd1.mi.comcast.net) (Quit: No Ping reply in 180 seconds.)
2023-01-06 15:33:17 +0100 <Rembane> I love this reply: "Also realize that companies make mistakes: poor decisions are made consistently, both for and against the use of Haskell." -- santiweight
2023-01-06 15:37:37 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-01-06 15:38:23 +0100festive_kurbus(~festive_k@user/kurbus) (Quit: Client closed)
2023-01-06 15:39:25 +0100Guest6215(~Guest62@240f:a1:8a75:1:6d29:acad:cc8d:29c7)
2023-01-06 15:40:45 +0100Guest6215(~Guest62@240f:a1:8a75:1:6d29:acad:cc8d:29c7) (Client Quit)
2023-01-06 15:42:19 +0100mikoto-chan(~mikoto-ch@2001:999:780:d406:c4ad:401:15f7:47c7) (Ping timeout: 248 seconds)
2023-01-06 15:49:19 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-01-06 15:50:07 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net)
2023-01-06 15:58:54 +0100juri_(~juri@84-19-175-179.pool.ovpn.com) (Ping timeout: 252 seconds)
2023-01-06 15:59:25 +0100MajorBiscuit(~MajorBisc@83.22.42.172.ipv4.supernova.orange.pl) (Quit: WeeChat 3.6)
2023-01-06 16:01:54 +0100CiaoSen(~Jura@p200300c9572e35002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2023-01-06 16:04:23 +0100mikoto-chan(~mikoto-ch@2001:999:504:b4d9:c06a:c7ee:34ce:3b73)
2023-01-06 16:08:31 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-01-06 16:09:10 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-01-06 16:10:02 +0100Sgeo(~Sgeo@user/sgeo)
2023-01-06 16:10:13 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-01-06 16:10:39 +0100coot(~coot@213.134.171.3) (Quit: coot)
2023-01-06 16:12:29 +0100 <maerwald> this type of FUD pops up every now and again
2023-01-06 16:12:34 +0100 <maerwald> "Haskell is dying" etc
2023-01-06 16:13:01 +0100 <maerwald> yes, the glory days of research are over and other languages are doing more radical stuff
2023-01-06 16:13:14 +0100 <maerwald> becoming mature is boring
2023-01-06 16:14:48 +0100Lycurgus(~juan@user/Lycurgus)
2023-01-06 16:15:48 +0100juri_(~juri@84-19-175-179.pool.ovpn.com)
2023-01-06 16:16:11 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 246 seconds)
2023-01-06 16:16:34 +0100jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2023-01-06 16:18:02 +0100 <Axman6> Inst: I used to work at Tsuru Capital, and I was actually shocked how long they managed to keep using Haskell - their core business is high frequency trading, where nanoseconds matter, and the fact they could actually make money with a HFT system written in Haskell says a lot. I'm not at all surprised that they would move to Rust, being able to really control memory usage is vital for that sort of development
2023-01-06 16:19:05 +0100 <Axman6> maerwald: yeah pretty much, getting work done isn't very flashy. I would love it if we were a bit more vocal about cool stuff people were doing though, and had a few more large, open source projects with a reasonable community around them
2023-01-06 16:19:48 +0100 <sm> someone should track those
2023-01-06 16:20:03 +0100 <sm> ishaskellusefulyet.com
2023-01-06 16:20:19 +0100 <maerwald> Axman6: depends on the community... Go community is much more "getting it done" focussed
2023-01-06 16:20:27 +0100 <maerwald> maybe too much
2023-01-06 16:20:56 +0100 <Axman6> I love the Tsuru Capital's code challenge page, it still tells you to use GHC flags for your rust program =)
2023-01-06 16:21:08 +0100 <sm> agreed
2023-01-06 16:21:51 +0100 <Axman6> maerwald: yeah, there's a lot of stuff being written in Go, but knowing the language even a little is enough to make me want to run far, far away from it
2023-01-06 16:22:09 +0100 <Axman6> Kubernetes is Go right?
2023-01-06 16:22:09 +0100 <sm> agreed
2023-01-06 16:23:27 +0100 <Axman6> I feel like that had a lot to do with people deciding it was a good choice to write network things in - their HTTP library is pretty bulletproof from what I've heard, so writing APIs is relatively safe and performs well
2023-01-06 16:23:52 +0100jakalx(~jakalx@base.jakalx.net)
2023-01-06 16:25:18 +0100 <Axman6> Also, fun fact about the Tsuru Capital code sample, I'm pretty sure the background picture is taken from their office
2023-01-06 16:25:20 +0100festive_kurbus(~festive_k@user/kurbus)
2023-01-06 16:26:29 +0100 <Axman6> I remember we were using a lot of Iteratees at Tsuru... hands up who even remembers the word
2023-01-06 16:27:18 +0100 <geekosaur> đź‘‹
2023-01-06 16:27:52 +0100Lycurgus(~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
2023-01-06 16:27:58 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Quit: Leaving)
2023-01-06 16:28:44 +0100 <Inst> maerwald; my argument is more that pushing haskell adoption in the future should take advantage of Rust becoming popular and making some of the concepts common in Haskell more mainstream
2023-01-06 16:29:20 +0100freeside(~mengwong@103.252.202.159)
2023-01-06 16:29:30 +0100 <maerwald> I never pushed for Haskell adoption in industry (I usually advise people to use something more common if they really ask). I just try to make the tooling better.
2023-01-06 16:30:17 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2023-01-06 16:30:56 +0100 <Inst> ah, i guess
2023-01-06 16:31:43 +0100 <Inst> tbh i've been annoying on FP discord in part because I'm worried about Haskell dying, etc, but I'm sort of come to peace about it; Haskell is in large part a hobbyist / research language, while HF wants to push for commercial adoption, the hobbyists are less interested in such
2023-01-06 16:31:54 +0100 <geekosaur> iteratees are still around, we just call them conduit and pipes these days
2023-01-06 16:32:09 +0100razetime(~Thunderbi@49.207.222.244)
2023-01-06 16:32:38 +0100 <Axman6> and streaming and streamly and ...
2023-01-06 16:33:03 +0100 <Axman6> we were using the Iteratees package though, back when you had to read Oleg papers to get things done in Haskell
2023-01-06 16:33:15 +0100 <Guest5476> and simple lists
2023-01-06 16:33:33 +0100`2jt(~jtomas@84.red-88-17-186.dynamicip.rima-tde.net) (Remote host closed the connection)
2023-01-06 16:33:51 +0100ddellacosta(~ddellacos@143.244.47.85)
2023-01-06 16:33:56 +0100 <Axman6> eh, not really, iteratees brought the ability to control resources in a way you can't with just lists
2023-01-06 16:33:57 +0100`2jt(~jtomas@84.red-88-17-186.dynamicip.rima-tde.net)
2023-01-06 16:34:18 +0100 <sm> there was a recent (HN?) discussion about how Go's default (HTTP?) networking is in fact horribly inefficient over lossy connections
2023-01-06 16:34:25 +0100 <sm> stuck in TCP slow start mode or some such
2023-01-06 16:35:17 +0100 <[exa]> you fix that by replacing the lossy connection
2023-01-06 16:36:14 +0100Axman6plugs the fibre right into his brain
2023-01-06 16:39:17 +0100 <kee> sm: It's the TCP_NODELAY flag; it does no buffering.
2023-01-06 16:39:59 +0100 <kee> That's not the same as slow start mode, really; if you try to dump a huge buffer through the pipe, it'll send quickly. But for some programming styles, it's pathological.
2023-01-06 16:42:05 +0100jonathanx(~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
2023-01-06 16:42:07 +0100mikoto-chan(~mikoto-ch@2001:999:504:b4d9:c06a:c7ee:34ce:3b73) (Ping timeout: 265 seconds)
2023-01-06 16:42:51 +0100razetime(~Thunderbi@49.207.222.244) (Read error: Connection reset by peer)
2023-01-06 16:43:19 +0100 <Axman6> One day I'm sure Go programmers will come up with a way to see all their code through all the error handling
2023-01-06 16:44:28 +0100festive_kurbus(~festive_k@user/kurbus) (Quit: Client closed)
2023-01-06 16:51:07 +0100 <sm> it was https://news.ycombinator.com/item?id=34179426 maybe
2023-01-06 16:52:20 +0100`2jt(~jtomas@84.red-88-17-186.dynamicip.rima-tde.net) (Ping timeout: 272 seconds)
2023-01-06 16:52:47 +0100Kaipei(~Kaiepi@nwcsnbsc03w-47-55-159-86.dhcp-dynamic.fibreop.nb.bellaliant.net)
2023-01-06 16:58:59 +0100tremon(~tremon@83-85-213-108.cable.dynamic.v4.ziggo.nl)
2023-01-06 17:02:29 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-01-06 17:03:58 +0100boxscape_(~boxscape_@213.52.37.155) (Quit: Client closed)
2023-01-06 17:04:57 +0100bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-01-06 17:07:05 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.7.1)
2023-01-06 17:14:20 +0100acidjnk(~acidjnk@p200300d6e7137a189184577a263e0281.dip0.t-ipconnect.de)
2023-01-06 17:15:42 +0100thegeekinside(~thegeekin@189.217.82.244) (Remote host closed the connection)
2023-01-06 17:15:53 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 260 seconds)
2023-01-06 17:16:24 +0100teo(~teo@user/teo) (Ping timeout: 272 seconds)
2023-01-06 17:17:27 +0100teo(~teo@user/teo)
2023-01-06 17:25:42 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-01-06 17:31:23 +0100shapr(~user@68.54.166.125) (Ping timeout: 264 seconds)
2023-01-06 17:33:35 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 252 seconds)
2023-01-06 17:39:58 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2023-01-06 17:41:40 +0100king_gs(~Thunderbi@187.201.110.169)
2023-01-06 17:42:46 +0100razetime(~Thunderbi@49.207.222.244)
2023-01-06 17:44:59 +0100igghibu(~igghibu@178.249.211.75)
2023-01-06 17:45:45 +0100jespada(~jespada@nmal-24-b2-v4wan-166357-cust1764.vm24.cable.virginm.net) (Quit: Textual IRC Client: www.textualapp.com)
2023-01-06 17:47:15 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection)
2023-01-06 17:48:35 +0100caryhartline(~caryhartl@107.140.218.181)
2023-01-06 17:49:01 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-01-06 17:53:20 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds)
2023-01-06 17:53:56 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:cc20:d690:f22b:cb00)
2023-01-06 17:54:20 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-01-06 17:56:14 +0100CiaoSen(~Jura@p200300c9572e35002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-01-06 17:56:15 +0100chele(~chele@user/chele) (Quit: Leaving)
2023-01-06 17:58:29 +0100acidjnk(~acidjnk@p200300d6e7137a189184577a263e0281.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2023-01-06 17:58:32 +0100festive_kurbus(~festive_k@user/kurbus)
2023-01-06 17:59:49 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds)
2023-01-06 18:00:31 +0100freeside(~mengwong@103.252.202.159)
2023-01-06 18:04:29 +0100shapr(~user@68.54.166.125)
2023-01-06 18:05:10 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:cc20:d690:f22b:cb00) (Remote host closed the connection)
2023-01-06 18:05:38 +0100boxscape_(~boxscape_@81.191.27.107)
2023-01-06 18:06:48 +0100festive_kurbus(~festive_k@user/kurbus) (Quit: Client closed)
2023-01-06 18:07:05 +0100king_gs(~Thunderbi@187.201.110.169) (Ping timeout: 246 seconds)
2023-01-06 18:09:26 +0100`2jt(~jtomas@84.red-88-17-186.dynamicip.rima-tde.net)
2023-01-06 18:10:15 +0100jakalx(~jakalx@base.jakalx.net) ()
2023-01-06 18:12:14 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-01-06 18:14:41 +0100jakalx(~jakalx@base.jakalx.net)
2023-01-06 18:21:33 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2023-01-06 18:26:41 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-06 18:27:16 +0100titibandit1(~titibandi@xdsl-87-78-235-220.nc.de)
2023-01-06 18:29:02 +0100 <stefan-_> @src length
2023-01-06 18:29:02 +0100 <lambdabot> Source not found. I can't hear you -- I'm using the scrambler.
2023-01-06 18:32:57 +0100 <c_wraith> stefan-_: it's part of the Foldable class. It has a different implementation for every type.
2023-01-06 18:33:10 +0100`2jt(~jtomas@84.red-88-17-186.dynamicip.rima-tde.net) (Quit: Leaving)
2023-01-06 18:33:21 +0100 <c_wraith> (or at least it might - it's got a default implementation)
2023-01-06 18:33:24 +0100 <stefan-_> yep, I just checked via hoogle
2023-01-06 18:34:16 +0100 <geekosaur> also note that @src consults a small database shipped with lambdabot; it doesn't actually look up sources
2023-01-06 18:36:23 +0100 <boxscape_> @src sortBy
2023-01-06 18:36:24 +0100 <lambdabot> -- The actual definition used by GHC is an optimised mergesort.
2023-01-06 18:36:24 +0100 <lambdabot> sortBy cmp = foldr (insertBy cmp) []
2023-01-06 18:36:32 +0100razetime(~Thunderbi@49.207.222.244) (Quit: See You Space Cowboy)
2023-01-06 18:36:48 +0100 <geekosaur> https://hackage.haskell.org/package/lambdabot-5.3.1/src/State/source
2023-01-06 18:37:47 +0100 <geekosaur> (I'm not sure why the source db is in `lambdabot` but the code that requires it is in `lambdabot-haskell-plugins`)
2023-01-06 18:38:53 +0100 <int-e> Good question, but it means less messing around with Path modules.
2023-01-06 18:39:56 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:cc20:d690:f22b:cb00)
2023-01-06 18:40:05 +0100 <int-e> This function would have to check a lot more paths otherwise: https://github.com/lambdabot/lambdabot/blob/master/lambdabot-core/src/Lambdabot/File.hs#L79-L83
2023-01-06 18:40:34 +0100 <int-e> (or the two functions that replace that one)
2023-01-06 18:41:04 +0100mbuf(~Shakthi@49.204.119.161) (Quit: Leaving)
2023-01-06 18:43:54 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-01-06 18:44:06 +0100boxscape_(~boxscape_@81.191.27.107) (Quit: Connection closed)
2023-01-06 18:51:37 +0100igghibu(~igghibu@178.249.211.75) (Quit: igghibu)
2023-01-06 18:54:00 +0100boxscape_(~boxscape_@81.191.27.107)
2023-01-06 19:00:09 +0100nurupo(~nurupo.ga@user/nurupo) (Quit: nurupo.ga)
2023-01-06 19:00:24 +0100nurupo(~nurupo.ga@user/nurupo)
2023-01-06 19:00:41 +0100zeenk(~zeenk@2a02:2f04:a110:ac00::7fe) (Quit: Konversation terminated!)
2023-01-06 19:00:52 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 268 seconds)
2023-01-06 19:01:48 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2023-01-06 19:08:29 +0100kaskal(~kaskal@213-147-167-253.nat.highway.webapn.at) (Quit: ZNC - https://znc.in)
2023-01-06 19:08:34 +0100titibandit1(~titibandi@xdsl-87-78-235-220.nc.de) (Quit: Leaving.)
2023-01-06 19:09:36 +0100king_gs(~Thunderbi@187.201.110.169)
2023-01-06 19:09:58 +0100kaskal(~kaskal@2001:4bb8:2d1:32ed:7894:4e7:1e3f:f8dd)
2023-01-06 19:16:27 +0100kaskal(~kaskal@2001:4bb8:2d1:32ed:7894:4e7:1e3f:f8dd) (Quit: ZNC - https://znc.in)
2023-01-06 19:17:50 +0100kaskal(~kaskal@213-147-167-253.nat.highway.webapn.at)
2023-01-06 19:20:58 +0100raym(~ray@user/raym) (Quit: updating irssi...)
2023-01-06 19:22:13 +0100raym(~ray@user/raym)
2023-01-06 19:28:46 +0100king_gs(~Thunderbi@187.201.110.169) (Read error: Connection reset by peer)
2023-01-06 19:28:46 +0100king_gs1(~Thunderbi@2806:103e:29:45ac:af0:afaf:29e7:dd60)
2023-01-06 19:28:46 +0100king_gs1king_gs
2023-01-06 19:30:31 +0100acidjnk(~acidjnk@p54ad56b7.dip0.t-ipconnect.de)
2023-01-06 19:31:18 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
2023-01-06 19:34:42 +0100paulpaul1076(~textual@195.88.86.247)
2023-01-06 19:36:17 +0100gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-01-06 19:36:38 +0100ddellacosta(~ddellacos@143.244.47.85) (Ping timeout: 268 seconds)
2023-01-06 19:36:41 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:cc20:d690:f22b:cb00) (Remote host closed the connection)
2023-01-06 19:38:26 +0100raym(~ray@user/raym) (Ping timeout: 246 seconds)
2023-01-06 19:39:00 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-01-06 19:39:16 +0100raym(~ray@user/raym)
2023-01-06 19:39:23 +0100econo(uid147250@user/econo)
2023-01-06 19:40:04 +0100__monty__(~toonn@user/toonn)
2023-01-06 19:41:50 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-06 19:44:53 +0100gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-01-06 19:45:29 +0100zmt01(~zmt00@user/zmt00) (Read error: Connection reset by peer)
2023-01-06 19:48:15 +0100zmt00(~zmt00@user/zmt00)
2023-01-06 19:53:22 +0100machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-01-06 19:53:37 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:cc20:d690:f22b:cb00)
2023-01-06 19:55:02 +0100festive_kurbus(~festive_k@user/kurbus)
2023-01-06 19:59:47 +0100 <eldritchcookie[4> is there some way to create types at runtime? i want to have a type safe AST made from a configuration file
2023-01-06 20:00:05 +0100 <geekosaur> types don't exist at runtime
2023-01-06 20:01:21 +0100 <eldritchcookie[4> i know to be more specific i want specific guarantees at runtime which are commonly associated with type safety.
2023-01-06 20:02:05 +0100 <boxscape_> what kind of guarantees?
2023-01-06 20:02:16 +0100 <monochrom> Instead of defining "type" to be "Haskell type", redefine it to mean rolling your own type system.
2023-01-06 20:03:02 +0100 <monochrom> Indeed, I doubt that your configuration file requires exactly Haskell's type system.
2023-01-06 20:03:42 +0100 <eldritchcookie[4> would it be a lot of work?
2023-01-06 20:04:14 +0100 <monochrom> No.
2023-01-06 20:04:21 +0100gaff(~gaff@49.207.203.119) ()
2023-01-06 20:06:24 +0100 <eldritchcookie[4> boxscape_: i want to make sure i manipulate a AST for the language i am currently working with, and the nodes should respect the schema from the configuration, so for instance a definition can have as children a expression tree etc
2023-01-06 20:07:11 +0100jinsl(~jinsl@2408:8207:255f:27d0:211:32ff:fec8:6aea)
2023-01-06 20:08:05 +0100son0p(~ff@2604:3d08:5b7f:5540:98a9:2169:15a1:4c7f) (Ping timeout: 260 seconds)
2023-01-06 20:08:09 +0100 <boxscape_> I see, yeah it seems like you'd just need an extra tag on each node you can compare to what it should be
2023-01-06 20:08:19 +0100jinsl-(~jinsl@2408:8207:2558:2b10:211:32ff:fec8:6aea) (Ping timeout: 252 seconds)
2023-01-06 20:08:57 +0100 <darkling> Indeed. Implement the type system for the language you're implementing. I don't think Haskell types will help you there.
2023-01-06 20:09:47 +0100 <geekosaur> look at how aeson works, maybe; it's not so different
2023-01-06 20:10:26 +0100 <geekosaur> (or asn.1 but I'm not sure I'd wish that on anyone 🙂 )
2023-01-06 20:10:33 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 268 seconds)
2023-01-06 20:10:58 +0100festive_kurbus(~festive_k@user/kurbus) (Quit: Client closed)
2023-01-06 20:12:23 +0100 <[exa]> eldritchcookie[4: implementing typesystems is luckily quite easy in haskell :]
2023-01-06 20:14:09 +0100paulpaul1076(~textual@195.88.86.247) (Ping timeout: 260 seconds)
2023-01-06 20:15:12 +0100 <eldritchcookie[4> how so?
2023-01-06 20:18:47 +0100 <monochrom> My toy exercise of coding up the simple-typed lambda calculus is 55 lines. In which more is on evaluation than on types and type checking.
2023-01-06 20:18:56 +0100 <mauke> you can create types at runtime (polymorphic recursion), but I'm not sure it would help you
2023-01-06 20:23:59 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:cc20:d690:f22b:cb00) (Remote host closed the connection)
2023-01-06 20:25:51 +0100freeside(~mengwong@103.252.202.159)
2023-01-06 20:29:42 +0100mei(~mei@user/mei)
2023-01-06 20:33:13 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2023-01-06 20:33:15 +0100eggplantade(~Eggplanta@2600:1700:38c5:d800:cc20:d690:f22b:cb00)
2023-01-06 20:34:52 +0100Neuromancer(~Neuromanc@user/neuromancer)
2023-01-06 20:39:11 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-01-06 20:39:42 +0100 <eldritchcookie[4> it may i need to store some information for every node in the AST and that information is dependent on the node type, i would really like to have some dependently typed thing instead of using Dynamic
2023-01-06 20:41:22 +0100 <[exa]> eldritchcookie[4: types are data, don't put them in types
2023-01-06 20:41:54 +0100 <eldritchcookie[4> ?? explain please
2023-01-06 20:41:54 +0100 <lambdabot> explain please
2023-01-06 20:42:12 +0100 <EvanR> there's dependent map
2023-01-06 20:42:36 +0100 <EvanR> the type of value depends on the field
2023-01-06 20:43:31 +0100den_jc(~lds@5.153.183.142)
2023-01-06 20:43:32 +0100 <EvanR> but I'm not sure if you can generate a field => type at runtime
2023-01-06 20:44:52 +0100 <[exa]> eldritchcookie[4: I mean, you want to utilize a typesystem that is supposed to typecheck and infer information about _your_ program to typecheck and infer information about some other program present only at runtime (at which point that typesystem doesn't even exist anymore). That kindof guarantees that it's not going to be very nice.
2023-01-06 20:45:14 +0100avicenzi(~avicenzi@2a00:ca8:a1f:b004::c32) (Ping timeout: 265 seconds)
2023-01-06 20:45:20 +0100ddellacosta(~ddellacos@143.244.47.85)
2023-01-06 20:47:10 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-06 20:47:29 +0100 <geekosaur> there is a point being missed here. the point of static type systems is to do as much typechecking as possible at compile time. the point of dependent typing is to be able to do even more of that checking at compile time
2023-01-06 20:47:39 +0100CoolMa7(~CoolMa7@2a02:8109:9d40:14ea:1881:c4d:404:833f)
2023-01-06 20:48:23 +0100 <geekosaur> you pretty much by definition can't do dependent typing at runtime; at that point you are manipulating data, not building compile-time types
2023-01-06 20:48:31 +0100 <[exa]> eldritchcookie[4: btw if you want to check just structural constraints, the actual type system required for that is much less than the 55LoCs mentioned above
2023-01-06 20:48:56 +0100 <geekosaur> but, in any case, that is actually what you want: you are here implementing a type system for some other language. you can do that at runtime, and indeed should
2023-01-06 20:49:02 +0100 <EvanR> if it can be checked at compile time, then there's a way to encode it. But it might be very unergonomic to actually do in haskell
2023-01-06 20:49:42 +0100 <[exa]> eldritchcookie[4: as a thought experiment consider rewriting your AST to (some form of) haskell and letting ghc typecheck it
2023-01-06 20:51:50 +0100 <eldritchcookie[4> [exa]: could you give an example i think that would help massively.
2023-01-06 20:52:21 +0100talismanick(~talismani@2601:644:9380:5c00::43de)
2023-01-06 20:53:11 +0100 <eldritchcookie[4> what do you mean by checking structural constraints and how can i do it ?
2023-01-06 20:54:22 +0100 <EvanR> haskell's type system (somewhat) ensures sanity of haskell programs (at compile time). It's possible to embed the types to check a language implemented in haskell at compile time. But it sounds like the language is dynamically defined in an input file
2023-01-06 20:54:45 +0100king_gs(~Thunderbi@2806:103e:29:45ac:af0:afaf:29e7:dd60) (Ping timeout: 260 seconds)
2023-01-06 20:55:48 +0100CoolMa7_(~CoolMa7@2a02:8109:9d40:14ea:c945:7d4b:95c2:d352)
2023-01-06 20:57:47 +0100CoolMa7(~CoolMa7@2a02:8109:9d40:14ea:1881:c4d:404:833f) (Ping timeout: 264 seconds)
2023-01-06 20:59:15 +0100 <[exa]> eldritchcookie[4: of the first or the second suggestion? :]
2023-01-06 20:59:16 +0100 <EvanR> higher order abstract data types haven't even figured that one out xD
2023-01-06 21:00:01 +0100 <[exa]> eldritchcookie[4: anyway I don't have anything off hand but I guess there might be good tutorials
2023-01-06 21:01:39 +0100fizbin(~fizbin@user/fizbin)
2023-01-06 21:01:59 +0100ddellacosta(~ddellacos@143.244.47.85) (Ping timeout: 264 seconds)
2023-01-06 21:03:40 +0100grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-01-06 21:06:48 +0100 <[exa]> eldritchcookie[4: btw btw what is the grammar/purpose/semantics of your language?
2023-01-06 21:08:26 +0100CoolMa7(~CoolMa7@2a02:8109:9d40:14ea:5991:cfa5:96c4:3102)
2023-01-06 21:10:51 +0100CoolMa7_(~CoolMa7@2a02:8109:9d40:14ea:c945:7d4b:95c2:d352) (Ping timeout: 265 seconds)
2023-01-06 21:11:13 +0100trev(~trev@user/trev) (Remote host closed the connection)
2023-01-06 21:12:40 +0100 <eldritchcookie[4> i am not working with any language in specific, i wanted to create a "text" editor to edit code semantically the idea is to be similar to template haskell if it were interactive.
2023-01-06 21:13:08 +0100 <eldritchcookie[4> so basically for now i plan to support only haskell but there isn't a reason that i couldn't support another language
2023-01-06 21:14:27 +0100teo(~teo@user/teo) (Ping timeout: 260 seconds)
2023-01-06 21:20:40 +0100festive_kurbus(~festive_k@user/kurbus)
2023-01-06 21:24:47 +0100CoolMa7_(~CoolMa7@2a02:8109:9d40:14ea:51bd:3085:23f6:929f)
2023-01-06 21:25:52 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in)
2023-01-06 21:26:03 +0100azimut_(~azimut@gateway/tor-sasl/azimut)
2023-01-06 21:28:14 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2023-01-06 21:28:15 +0100CoolMa7(~CoolMa7@2a02:8109:9d40:14ea:5991:cfa5:96c4:3102) (Ping timeout: 265 seconds)
2023-01-06 21:28:32 +0100__monty__(~toonn@user/toonn)
2023-01-06 21:28:41 +0100festive_kurbus(~festive_k@user/kurbus) (Quit: Client closed)
2023-01-06 21:29:34 +0100__monty__(~toonn@user/toonn) (Client Quit)
2023-01-06 21:29:50 +0100__monty__(~toonn@user/toonn)
2023-01-06 21:29:51 +0100 <EvanR> yeah big difference between a statically checked haskell editor and a statically checked anything editor
2023-01-06 21:30:15 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2023-01-06 21:30:21 +0100festive_kurbus(~festive_k@user/kurbus)
2023-01-06 21:30:25 +0100 <EvanR> a compromise would be it edits haskell but you also have drivers for other specific languages
2023-01-06 21:30:34 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 260 seconds)
2023-01-06 21:31:38 +0100 <[exa]> eldritchcookie[4: any specific usage example? (is this like jetbrains mps?)
2023-01-06 21:33:12 +0100img(~img@user/img)
2023-01-06 21:36:10 +0100grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Quit: leaving)
2023-01-06 21:36:22 +0100festive_kurbus(~festive_k@user/kurbus) (Quit: Client closed)
2023-01-06 21:37:47 +0100Guest9971(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2023-01-06 21:37:54 +0100freeside(~mengwong@103.252.202.159)
2023-01-06 21:39:22 +0100ciarltb^(~ciarltb@76.145.190.81)
2023-01-06 21:39:54 +0100 <eldritchcookie[4> here is an example: i start creating a new module so i use a command to add a import when i use another command to select a hole it will select this hole i will then have an option from all modules in my dependencies i can use more commands to narrow down or choose one, for modules this isn't all that useful but imagine being shown all functions which could potentially match the type of the result
2023-01-06 21:41:02 +0100 <[exa]> tbh this very much reminds me of all the agda tutorials
2023-01-06 21:43:44 +0100 <eldritchcookie[4> how so?
2023-01-06 21:44:07 +0100 <[exa]> look here at around 3:50 https://www.youtube.com/watch?v=8JIhJJyO5VM
2023-01-06 21:46:25 +0100 <[exa]> like, the type system of agda is on complete steroids but it might be useful to try a bit of that for inspiration
2023-01-06 21:46:53 +0100festive_kurbus(~festive_k@user/kurbus)
2023-01-06 21:46:53 +0100 <[exa]> (also, djinn)
2023-01-06 21:54:36 +0100Umeaboy(~Umeaboy@94-255-145-133.cust.bredband2.com) (Quit: Leaving)
2023-01-06 21:59:50 +0100johnw(~johnw@2600:1700:cf00:db0:8dba:ab59:f976:a533) (Quit: ZNC - http://znc.in)
2023-01-06 21:59:50 +0100jwiegley(~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
2023-01-06 22:02:17 +0100johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net)
2023-01-06 22:03:59 +0100johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Client Quit)
2023-01-06 22:04:07 +0100festive_kurbus(~festive_k@user/kurbus) (Quit: Client closed)
2023-01-06 22:06:01 +0100johnw(~johnw@2600:1700:cf00:db0:d050:b87f:5cc2:4cc8)
2023-01-06 22:10:03 +0100jwiegley(~jwiegley@2600:1700:cf00:db0:d050:b87f:5cc2:4cc8)
2023-01-06 22:13:03 +0100king_gs(~Thunderbi@187.201.110.169)
2023-01-06 22:14:40 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-01-06 22:25:14 +0100panovia(~user@user/siracusa)
2023-01-06 22:28:15 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2023-01-06 22:31:55 +0100king_gs(~Thunderbi@187.201.110.169) (Read error: Connection reset by peer)
2023-01-06 22:32:08 +0100king_gs1(~Thunderbi@2806:103e:29:45ac:af0:afaf:29e7:dd60)
2023-01-06 22:34:26 +0100king_gs1king_gs
2023-01-06 22:40:23 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2023-01-06 22:41:56 +0100freeside(~mengwong@103.252.202.159) (Ping timeout: 272 seconds)
2023-01-06 22:47:12 +0100hyperbolic-dg(~quassel@i577AA562.versanet.de)
2023-01-06 22:52:21 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
2023-01-06 22:53:27 +0100sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-01-06 22:53:51 +0100mizlan(~mizlan@c-67-169-7-31.hsd1.ca.comcast.net)
2023-01-06 22:56:40 +0100Guest0(~Guest0@90-224-113-138-no292.tbcn.telia.com)
2023-01-06 22:57:10 +0100boxscape_(~boxscape_@81.191.27.107) (Quit: Connection closed)
2023-01-06 22:57:54 +0100CoolMa7(~CoolMa7@2a02:8109:9d40:14ea:3190:898a:4dda:436b)
2023-01-06 22:58:58 +0100CoolMa7_(~CoolMa7@2a02:8109:9d40:14ea:51bd:3085:23f6:929f) (Ping timeout: 252 seconds)
2023-01-06 23:05:53 +0100CoolMa7_(~CoolMa7@ip5b4091ae.dynamic.kabel-deutschland.de)
2023-01-06 23:08:48 +0100CoolMa7(~CoolMa7@2a02:8109:9d40:14ea:3190:898a:4dda:436b) (Ping timeout: 260 seconds)
2023-01-06 23:09:19 +0100CoolMa7_(~CoolMa7@ip5b4091ae.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2023-01-06 23:10:09 +0100CoolMa7(~CoolMa7@ip5b4091ae.dynamic.kabel-deutschland.de)
2023-01-06 23:11:21 +0100freeside(~mengwong@103.252.202.159)
2023-01-06 23:12:47 +0100rubix(~rubix@2a01:e0a:2d2:4420:d2e0:f641:d332:903e)
2023-01-06 23:12:53 +0100Sauvin(~sauvin@user/Sauvin) (Ping timeout: 260 seconds)
2023-01-06 23:14:21 +0100rubix(~rubix@2a01:e0a:2d2:4420:d2e0:f641:d332:903e) (Client Quit)
2023-01-06 23:15:42 +0100beteigeuze(~Thunderbi@bl14-81-220.dsl.telepac.pt)
2023-01-06 23:17:55 +0100Sauvin(~sauvin@user/Sauvin)
2023-01-06 23:19:58 +0100aweinstock(~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com) (Ping timeout: 256 seconds)
2023-01-06 23:21:13 +0100nschoe(~q@2a01:e0a:8e:a190:3e45:2461:8514:e8d2) (Quit: Switching off)
2023-01-06 23:21:44 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2023-01-06 23:22:02 +0100aweinstock(~aweinstoc@cpe-74-76-189-75.nycap.res.rr.com)
2023-01-06 23:22:35 +0100 <jackdk> You want to search for "structured editing", I think - that's the term I think I remember seeing. Also, maybe these days general language support is easier as tree-sitter exists?
2023-01-06 23:26:31 +0100fserucas(~fserucas@2001:818:e376:a400:fb92:70c1:dd88:c7d7) (Ping timeout: 260 seconds)
2023-01-06 23:26:45 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-01-06 23:27:32 +0100 <geekosaur> yep
2023-01-06 23:27:56 +0100 <geekosaur> and structured editing goes back to at least 1987 (https://www.atarimagazines.com/v6n2/Alice.html)
2023-01-06 23:28:50 +0100 <geekosaur> oh hah that's even open source now https://github.com/pulkomandy/alice-personal-pascal
2023-01-06 23:29:09 +0100 <Inst> wow, i've really pissed people off, like, someone got really upset when I was asking whether IO could be considered a scripting language or EDSL
2023-01-06 23:29:22 +0100 <monochrom> w00t Pascall
2023-01-06 23:29:40 +0100 <monochrom> yikes, Haskell has brainwashed me with its double l haha
2023-01-06 23:30:13 +0100 <monochrom> But hey, "import foreign pascall" is a good pun :)
2023-01-06 23:31:21 +0100 <monochrom> People are always pissed off by false dichotomies I'm not surprised.
2023-01-06 23:31:59 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-01-06 23:35:02 +0100CoolMa7(~CoolMa7@ip5b4091ae.dynamic.kabel-deutschland.de) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2023-01-06 23:35:24 +0100 <monochrom> Ugh its atan implementation has a helper function called satan, and satan has a helper function called xatan...
2023-01-06 23:35:33 +0100 <monochrom> https://github.com/pulkomandy/alice-personal-pascal/blob/master/unix/src/atan.c
2023-01-06 23:35:52 +0100CoolMa7(~CoolMa7@2a02:8109:9d40:14ea:a80e:cf4d:c449:3c51)
2023-01-06 23:35:56 +0100Guest0(~Guest0@90-224-113-138-no292.tbcn.telia.com) (Quit: Client closed)
2023-01-06 23:44:19 +0100king_gs(~Thunderbi@2806:103e:29:45ac:af0:afaf:29e7:dd60) (Quit: king_gs)
2023-01-06 23:44:28 +0100king_gs1(~Thunderbi@187.201.110.169)
2023-01-06 23:46:45 +0100king_gs1king_gs
2023-01-06 23:53:25 +0100king_gs(~Thunderbi@187.201.110.169) (Ping timeout: 252 seconds)
2023-01-06 23:54:50 +0100ubert1(~Thunderbi@p200300ecdf264e37a5f7a1f818911c73.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2023-01-06 23:59:02 +0100biberu(~biberu@user/biberu) (Read error: Connection reset by peer)