Home liberachat/#haskell: Logs Calendar

Logs on 2023-03-15 (liberachat/#haskell)

00:00:23 × xff0x quits (~xff0x@2405:6580:b080:900:c2ab:3233:9b06:70ff) (Ping timeout: 246 seconds)
00:02:23 xff0x joins (~xff0x@ai098135.d.east.v6connect.net)
00:15:48 × xff0x quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 255 seconds)
00:16:35 × thyriaen_ quits (~thyriaen@144.208.201.160) (Quit: Leaving)
00:25:03 × Tuplanolla quits (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.)
00:25:15 × haritz quits (~hrtz@user/haritz) (Ping timeout: 260 seconds)
00:26:41 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 250 seconds)
00:28:07 jmdaemon joins (~jmdaemon@user/jmdaemon)
00:31:07 × Ranhir quits (~Ranhir@157.97.53.139) (Ping timeout: 248 seconds)
00:32:30 haritz joins (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk)
00:32:30 × haritz quits (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) (Changing host)
00:32:30 haritz joins (~hrtz@user/haritz)
00:33:32 × sagax quits (~sagax_nb@user/sagax) (Quit: Konversation terminated!)
00:39:04 gmg joins (~user@user/gehmehgeh)
00:40:32 × gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds)
00:44:12 merijn joins (~merijn@86.86.29.250)
00:45:06 Ranhir joins (~Ranhir@157.97.53.139)
00:48:21 × merijn quits (~merijn@86.86.29.250) (Ping timeout: 250 seconds)
00:54:00 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 268 seconds)
00:54:25 × Ranhir quits (~Ranhir@157.97.53.139) (Ping timeout: 250 seconds)
00:55:35 mauke_ joins (~mauke@user/mauke)
00:57:12 × mauke quits (~mauke@user/mauke) (Ping timeout: 255 seconds)
00:57:13 mauke_ is now known as mauke
01:00:11 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
01:04:10 smallville7123 joins (~Android@2001:8004:4440:fdd4:60b9:e57c:1e89:37dd)
01:09:12 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:19aa:397c:29a:40e4)
01:10:18 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:13:29 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:19aa:397c:29a:40e4) (Ping timeout: 250 seconds)
01:13:35 srz joins (~srz@179.36.127.68)
01:16:25 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:22:29 azimut joins (~azimut@gateway/tor-sasl/azimut)
01:27:49 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
01:33:02 × Kuttenbrunzer quits (~Kuttenbru@2a02:8108:8b80:1d48::f907) (Quit: Where is it)
01:52:19 Ranhir joins (~Ranhir@157.97.53.139)
01:52:34 × califax quits (~califax@user/califx) (Remote host closed the connection)
01:53:33 califax joins (~califax@user/califx)
01:54:51 × vglfr quits (~vglfr@37.73.89.236) (Ping timeout: 248 seconds)
01:55:46 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 276 seconds)
01:57:02 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
01:58:08 azimut joins (~azimut@gateway/tor-sasl/azimut)
01:59:56 caryhartline joins (~caryhartl@2600:1700:2d0:8d30:d925:db2d:aedc:50d4)
02:04:52 × Zemyla quits (~ec2-user@ec2-54-80-174-150.compute-1.amazonaws.com) (Ping timeout: 276 seconds)
02:12:48 <hololeap> monomer looks awesome
02:15:22 <sm> I would like to see some monomer apps!
02:15:47 × srz quits (~srz@179.36.127.68) (Remote host closed the connection)
02:18:16 srz joins (~srz@179.36.127.68)
02:19:41 vglfr joins (~vglfr@37.73.89.236)
02:21:47 <hololeap> I played around with the demo exes and now I'm reading the haddocks, and it looks like something I tried to make a long time ago but failed because I didn't know enough.
02:22:25 jmdaemon joins (~jmdaemon@user/jmdaemon)
02:23:03 <hololeap> but it looks flexible enough to do just about anything. it's great because this kind of library has been sorely missing from haskell for a long time
02:23:04 × sidy quits (~sidy@user/sidy) (Read error: Connection reset by peer)
02:23:16 <hololeap> (and yeah, I guess monomer has been around for a couple years at least, but I didn't know about it)
02:24:01 <sm> there are a lot of gui libs by now, but still not many gui apps. Maybe they're less needed nowadays
02:24:16 × srz quits (~srz@179.36.127.68) (Read error: Connection reset by peer)
02:24:20 srz_ joins (~srz@179.36.127.68)
02:24:24 <sm> replaced by web browsers
02:24:29 bitcoinsbt joins (~bitcoinsb@2001:bb6:90e:ef00:9c95:d6ce:80ac:e9b2)
02:26:36 <hololeap> what do people use for browser stuff? is it still threepenny?
02:28:02 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds)
02:28:34 × bitcoinsbt quits (~bitcoinsb@2001:bb6:90e:ef00:9c95:d6ce:80ac:e9b2) (Quit: Client closed)
02:28:46 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
02:29:13 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
02:29:34 × smallville7123 quits (~Android@2001:8004:4440:fdd4:60b9:e57c:1e89:37dd) (Ping timeout: 246 seconds)
02:29:45 × kimjetwav quits (~user@2607:fea8:235e:b600:4cf2:6784:6712:f6ef) (Quit: ERC 5.4.1 (IRC client for GNU Emacs 29.0.60))
02:30:03 <segfaultfizzbuzz> so, chatgpt4 knows haskell. try asking it to write tic tac toe in haskell ;-)
02:30:15 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:19aa:397c:29a:40e4)
02:32:38 bitcoinsbt joins (~bitcoinsb@2001:bb6:90e:ef00:9c95:d6ce:80ac:e9b2)
02:33:42 × bitcoinsbt quits (~bitcoinsb@2001:bb6:90e:ef00:9c95:d6ce:80ac:e9b2) (Client Quit)
02:34:13 <sm> hololeap: anything and everything methinks
02:35:12 smallville7123 joins (~Android@2001:8004:4440:fdd4:60b9:e57c:1e89:37dd)
02:35:13 bitcoinsbt joins (~bitcoinsb@2001:bb6:90e:ef00:9c95:d6ce:80ac:e9b2)
02:37:17 × bitcoinsbt quits (~bitcoinsb@2001:bb6:90e:ef00:9c95:d6ce:80ac:e9b2) (Client Quit)
02:39:27 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 268 seconds)
02:40:47 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
02:41:06 kimjetwav joins (~user@2607:fea8:235e:b600:4cf2:6784:6712:f6ef)
02:45:19 merijn joins (~merijn@86.86.29.250)
02:52:25 <maerwald[m]> segfaultfizzbuzz: did you?
02:52:57 <maerwald[m]> For some reason my excitement of this tech is so low I barely played with it at all. I feel like supervising a student, which is just stressfu'
02:59:09 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 255 seconds)
03:02:35 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
03:04:22 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection)
03:05:38 × srz_ quits (~srz@179.36.127.68) (Quit: Leaving)
03:10:05 gastus_ joins (~gastus@185.6.123.224)
03:13:46 × gastus quits (~gastus@185.6.123.231) (Ping timeout: 276 seconds)
03:18:55 × merijn quits (~merijn@86.86.29.250) (Ping timeout: 268 seconds)
03:19:17 razetime joins (~Thunderbi@117.193.2.162)
03:21:45 × td_ quits (~td@i53870906.versanet.de) (Ping timeout: 250 seconds)
03:23:40 td_ joins (~td@i53870901.versanet.de)
03:24:21 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 255 seconds)
03:24:23 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
03:29:14 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
03:36:11 × phma quits (~phma@host-67-44-208-67.hnremote.net) (Read error: Connection reset by peer)
03:36:39 phma joins (~phma@2001:5b0:211c:53d8:9ceb:db03:6719:e454)
03:52:50 × razetime quits (~Thunderbi@117.193.2.162) (Ping timeout: 246 seconds)
03:53:21 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
03:56:28 mbuf joins (~Shakthi@49.207.178.186)
03:57:22 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
03:57:22 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
03:57:22 finn_elija is now known as FinnElija
04:04:11 Lycurgus joins (~juan@user/Lycurgus)
04:08:27 whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com)
04:11:18 vgtw joins (~vgtw@user/vgtw)
04:12:32 mncheck joins (~mncheck@193.224.205.254)
04:15:08 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Quit: use-value)
04:20:25 × Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
04:23:17 razetime joins (~Thunderbi@117.193.2.162)
04:49:15 × bliminse quits (~bliminse@user/bliminse) (Ping timeout: 248 seconds)
04:49:18 <segfaultfizzbuzz> maerwald: yes i did. i didn't try to run the haskell code but i did it in another language and it ran
04:49:58 <segfaultfizzbuzz> i asked it to write a few simple programs and they all worked... i am guessing that i didn't get lucky
04:50:30 <segfaultfizzbuzz> it seems like this might replace 95% of little excel functions and ad hoc sql queries and the like in the next decade
04:51:07 bliminse joins (~bliminse@user/bliminse)
04:52:28 × _\_ quits (~o@user/offon) (Quit: ___)
04:52:42 _\_ joins (~o@user/offon)
05:01:22 trev joins (~trev@user/trev)
05:01:54 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds)
05:03:37 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 276 seconds)
05:06:54 freeside joins (~mengwong@103.252.202.85)
05:14:01 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 276 seconds)
05:15:16 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
05:15:58 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds)
05:18:06 × anatta quits (~AdiIRC@h-155-4-132-216.NA.cust.bahnhof.se) (Remote host closed the connection)
05:18:11 × ddellacosta quits (~ddellacos@146.70.165.157) (Ping timeout: 260 seconds)
05:29:38 × razetime quits (~Thunderbi@117.193.2.162) (Quit: See You Space Cowboy)
05:30:40 × Sauvin quits (~sauvin@user/Sauvin) (Remote host closed the connection)
05:30:59 Sauvin joins (~sauvin@user/Sauvin)
05:41:35 freeside joins (~mengwong@103.252.202.85)
05:44:31 razetime joins (~Thunderbi@117.193.2.162)
05:46:06 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 255 seconds)
05:49:07 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds)
05:56:32 × statusbot6 quits (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Read error: Connection reset by peer)
05:56:42 statusbot joins (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com)
06:05:00 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
06:12:47 × shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 264 seconds)
06:17:46 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:18:19 anpad joins (~pandeyan@user/anpad)
06:24:52 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 276 seconds)
06:29:12 no-n joins (sid524992@smol/hors)
06:29:39 pyook joins (~pyook@user/puke)
06:34:11 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
06:36:45 bgs joins (~bgs@212-85-160-171.dynamic.telemach.net)
06:38:03 × opticblast quits (~Thunderbi@172.58.84.141) (Ping timeout: 250 seconds)
06:47:17 × califax quits (~califax@user/califx) (Ping timeout: 255 seconds)
06:54:48 califax joins (~califax@user/califx)
06:56:11 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
06:58:24 × bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
07:06:22 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
07:08:10 × zmt00 quits (~zmt00@user/zmt00) (Read error: Connection reset by peer)
07:09:05 zmt00 joins (~zmt00@user/zmt00)
07:13:55 × hugo- quits (znc@verdigris.lysator.liu.se) (Ping timeout: 260 seconds)
07:17:58 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
07:19:05 × jamestmartin quits (~james@jtmar.me) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
07:19:18 jamestmartin joins (~james@jtmar.me)
07:22:15 michalz joins (~michalz@185.246.207.193)
07:24:54 hugo- joins (znc@verdigris.lysator.liu.se)
07:26:35 × slack1256 quits (~slack1256@186.11.43.166) (Ping timeout: 264 seconds)
07:27:20 × caryhartline quits (~caryhartl@2600:1700:2d0:8d30:d925:db2d:aedc:50d4) (Remote host closed the connection)
07:30:29 <dminuoso> Mmm. Is there some sneaky way to inject getpeername into a header from inside warp without modifying warp?
07:30:47 <dminuoso> Ive been going over the documentation over and over again, and I just dont see any interface that reasonably lets me do this.
07:32:04 <dminuoso> At best an Application has a Reques, which has a field removeHost, but I would need the file descriptor of the connection and I just dont see how you can get that
07:33:46 × thegeekinside quits (~thegeekin@189.217.80.156) (Read error: Connection reset by peer)
07:35:26 enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
07:36:44 lortabac joins (~lortabac@2a01:e0a:541:b8f0:b1e:376:22d2:70c1)
07:45:50 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
07:47:29 monoidal joins (~monoidal@2a01cb0801ce4b0038fc9abb7c187a61.ipv6.abo.wanadoo.fr)
07:48:53 coot joins (~coot@213.134.171.3)
07:50:06 × ft quits (~ft@p3e9bc443.dip0.t-ipconnect.de) (Quit: leaving)
07:54:39 kenran joins (~user@user/kenran)
08:09:36 × coot quits (~coot@213.134.171.3) (Quit: coot)
08:11:26 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
08:13:03 wootehfoot joins (~wootehfoo@user/wootehfoot)
08:13:10 <Athas> Is there a library with a monomorphic tuple type? E.g. 'type Pair a = (a,a)'. I mostly need this due to the implications it has for typeclass instances (e.g. Functor).
08:14:29 <mauke> https://hackage.haskell.org/package/ghc-9.6.1/docs/GHC-Data-Pair.html#t:Pair :-/
08:15:02 <Athas> Yeah, alright, but I'm not going to depend on that package.
08:15:12 <Athas> I guess I can write my own. I also need Triple. No big deal.
08:15:22 Square2 joins (~Square4@user/square)
08:15:26 acidjnk joins (~acidjnk@p200300d6e715c495a8bebee94409ae55.dip0.t-ipconnect.de)
08:16:08 <mauke> ghc GHC.Data.Pair, ghc-lib-parser GHC.Data.Pair, Agda Agda.Utils.Tuple, one-liner Generics.OneLiner.Internal, quickcheck-state-machine Test.StateMachine.Types
08:16:30 <Athas> Well, I'm not the only one to need this, but it does look like nobody is sharing theirs!
08:17:11 <Hecate> Athas: hehe
08:17:23 <[Leary]> There's also V2 and V3 from linear.
08:18:27 <Athas> Yes, V3 has the right structure, but it's a bit of a big dependency for this, and its auxiliary functions all assume numeric elements (which is fair).
08:19:08 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds)
08:20:32 <[exa]> Athas: Data.Tuple.Homogenous ? but looks ancient
08:20:47 <[Leary]> Product Identity Identity >:)
08:34:05 <tomsmeding> Athas: re "nobody is sharing theirs": it would be a tiny tiny package just for a few types like this. And if you have a larger package then it typically has different goals, and exporting types like these would be beside the point. Perhaps that's the reason? (Also, data Pair a = Pair a a deriving (Eq, Ord, Show, Read, Functor, Foldable, Traversable, Generic) :p)
08:34:33 <tomsmeding> i.e. "is that really worth a library"
08:34:42 <Athas> I will also not be sharing mine.
08:34:46 <tomsmeding> :D
08:34:57 <tomsmeding> Futhark.Utils.Pair
08:37:14 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:19aa:397c:29a:40e4) (Remote host closed the connection)
08:37:50 zeenk joins (~zeenk@2a02:2f04:a307:2300::7fe)
08:43:22 raym joins (~ray@user/raym)
08:43:33 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
08:45:03 × dsrt^ quits (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) (Remote host closed the connection)
08:47:07 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
08:52:25 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds)
08:56:33 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
08:56:54 nschoe joins (~q@141.101.51.197)
08:59:23 × cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds)
08:59:24 cheater_ joins (~Username@user/cheater)
08:59:24 cheater_ is now known as cheater
09:00:23 jonathanx joins (~jonathan@h-176-10-144-60.NA.cust.bahnhof.se)
09:00:28 × yl53[m] quits (~yl53matri@2001:470:69fc:105::85b) (Quit: You have been kicked for being idle)
09:01:28 <jonathanx> I remember a data type that is a number with a type level number limiting the max size. So you could write "Foo 2" to get a number type supporting the range 0 -> 2
09:01:40 <jonathanx> Can't remember the name, anyone know it?
09:01:58 yl53[m] joins (~yl53matri@2001:470:69fc:105::85b)
09:02:34 <mauke> quite, but not entirely dissimilar: https://hackage.haskell.org/package/base-4.18.0.0/docs/Data-Fixed.html#t:Fixed
09:03:11 <jackdk> jonathanx: fin? https://hackage.haskell.org/package/fin
09:05:37 <mauke> https://hackage.haskell.org/package/finite-typelits-0.1.6.0/docs/Data-Finite.html
09:06:05 yl53[m] parts (~yl53matri@2001:470:69fc:105::85b) ()
09:06:39 <jonathanx> finite-typelits is it! the fin packagesays "finite-typelits . Is a great package, but uses GHC.TypeLits". What's the problem with GHC.TypeLits?
09:10:20 thyriaen joins (~thyriaen@2a01:aea0:dd4:5328:6245:cbff:fe9f:48b1)
09:10:38 <tomsmeding> jonathanx: they're not an inductive data type, so you can't do induction over them in a decent way
09:10:58 <tomsmeding> e.g. you can't have a type class that takes a GHC.TypeLits.Nat parameter and has an instance for 0 and for n+1
09:11:03 <tomsmeding> or at least not easily
09:11:19 <tomsmeding> with datakinds-lifted 'data Nat = Z | S Nat', doing stuff like that is trivial
09:11:36 <jonathanx> right
09:12:26 <tomsmeding> you need ghc-typelits-natnormalise for almost everything, and ghc-typelits-knownnat for the others, and then still there are cases where ghc is just not smart enough to simplify the equations, such as in iirc some pattern matching situations where the plugins kick in too late
09:13:05 × califax quits (~califax@user/califx) (Ping timeout: 255 seconds)
09:13:59 califax joins (~califax@user/califx)
09:14:29 × _xor quits (~xor@74.215.46.17) (Quit: bbiab)
09:15:56 freeside joins (~mengwong@103.252.202.85)
09:17:05 <tomsmeding> jonathanx: the fact that this doesn't compile https://play.haskell.org/saved/L8rbUj5K
09:17:47 bhall joins (~brunohall@195.147.207.136)
09:18:37 <tomsmeding> and with AllowAmbiguousTypes on, you can't call bar https://play.haskell.org/saved/EyTYdzio
09:19:16 × hugo- quits (znc@verdigris.lysator.liu.se) (Ping timeout: 265 seconds)
09:21:29 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 246 seconds)
09:22:02 gurkenglas joins (~gurkengla@dynamic-089-204-153-207.89.204.153.pool.telefonica.de)
09:22:51 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
09:23:00 MajorBiscuit joins (~MajorBisc@145.94.168.115)
09:23:30 <jonathanx> Thanks! I've only been exploring dependent haskell a bit, so I only get the general idea. But I have enough to go on whenever I dive into it in the future. Thanks for the helpful responses! :)
09:27:03 gurkengl1s joins (~gurkengla@dynamic-089-204-153-207.89.204.153.pool.telefonica.de)
09:32:19 hugo- joins (znc@verdigris.lysator.liu.se)
09:32:25 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
09:33:38 freeside joins (~mengwong@103.252.202.85)
09:37:43 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
09:38:07 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 260 seconds)
09:38:11 × acidjnk quits (~acidjnk@p200300d6e715c495a8bebee94409ae55.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
09:38:13 × razetime quits (~Thunderbi@117.193.2.162) (Quit: See You Space Cowboy)
09:41:00 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
09:41:33 acidjnk joins (~acidjnk@p200300d6e715c495a83bcfc2f7105d67.dip0.t-ipconnect.de)
09:42:03 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
09:45:02 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in)
09:48:57 azimut joins (~azimut@gateway/tor-sasl/azimut)
09:49:44 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
09:52:13 cheater_ joins (~Username@user/cheater)
09:52:55 × cheater quits (~Username@user/cheater) (Ping timeout: 256 seconds)
09:52:57 cheater_ is now known as cheater
09:57:41 mmhat joins (~mmh@p200300f1c715f77cee086bfffe095315.dip0.t-ipconnect.de)
10:01:23 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 246 seconds)
10:10:42 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
10:12:15 × pyook quits (~pyook@user/puke) ()
10:13:34 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
10:13:59 crazazy joins (~user@2001:67c:2564:a307:fb49:9a8d:6f6b:30aa)
10:21:51 freeside joins (~mengwong@103.252.202.85)
10:24:34 × gurkenglas quits (~gurkengla@dynamic-089-204-153-207.89.204.153.pool.telefonica.de) (Killed (osmium.libera.chat (Nickname regained by services)))
10:24:34 gurkengl1s is now known as Gurkenglas
10:24:51 gurkengl1s joins (~gurkengla@dynamic-089-204-153-207.89.204.153.pool.telefonica.de)
10:26:21 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 256 seconds)
10:29:55 × hugo- quits (znc@verdigris.lysator.liu.se) (Ping timeout: 260 seconds)
10:37:58 L29Ah joins (~L29Ah@wikipedia/L29Ah)
10:38:29 hugo- joins (znc@verdigris.lysator.liu.se)
10:47:38 ubert1 joins (~Thunderbi@2a02:8109:abc0:6434:3e03:bd4c:f4ca:dd82)
10:49:08 gtdg joins (~gtdg@user/gtdg)
10:51:08 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
10:53:05 L29Ah joins (~L29Ah@wikipedia/L29Ah)
10:53:27 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
10:53:58 × vglfr quits (~vglfr@37.73.89.236) (Ping timeout: 276 seconds)
10:57:45 L29Ah joins (~L29Ah@wikipedia/L29Ah)
10:59:08 × cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds)
11:00:16 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
11:00:55 CiaoSen joins (~Jura@p200300c957080a002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
11:03:21 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
11:04:26 chele joins (~chele@user/chele)
11:10:38 xff0x joins (~xff0x@2405:6580:b080:900:eef:2408:c8ce:c6ee)
11:18:08 × whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
11:19:38 × gtdg quits (~gtdg@user/gtdg) (Ping timeout: 260 seconds)
11:20:43 × acidjnk quits (~acidjnk@p200300d6e715c495a83bcfc2f7105d67.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
11:22:03 freeside joins (~mengwong@103.252.202.85)
11:25:50 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 255 seconds)
11:25:51 jpds1 joins (~jpds@gateway/tor-sasl/jpds)
11:26:28 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 246 seconds)
11:27:04 freeside joins (~mengwong@103.252.202.85)
11:27:17 mesaoptimizer2 joins (34cef275bb@user/PapuaHardyNet)
11:28:05 <mesaoptimizer2> https://haskell-language-server.readthedocs.io/en/latest/configuration.html config for eglot uses TWO `:config` declarations. This means the second one isn't run, and this causes a bug that is hard to notice. Wasted 15-30 minutes of my life
11:29:34 <mesaoptimizer2> you have no idea how much I hate the pain it takes to set up Haskell tooling. It is about as painful as setting up Arch Linux.
11:29:57 cheater joins (~Username@user/cheater)
11:30:58 vpan joins (~0@212.117.1.172)
11:31:22 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 246 seconds)
11:35:45 acidjnk joins (~acidjnk@p200300d6e715c4953c9ace5586e07e06.dip0.t-ipconnect.de)
11:38:04 vglfr joins (~vglfr@37.73.89.236)
11:38:51 × crazazy quits (~user@2001:67c:2564:a307:fb49:9a8d:6f6b:30aa) (Ping timeout: 248 seconds)
11:39:41 × xff0x quits (~xff0x@2405:6580:b080:900:eef:2408:c8ce:c6ee) (Ping timeout: 246 seconds)
11:39:52 mikoto-chan joins (~mikoto-ch@2001:999:500:3b03:ce9a:e57c:6d23:628)
11:40:05 xff0x joins (~xff0x@ai098135.d.east.v6connect.net)
11:41:15 <Jade[m]1> Arch is pretty easy to set up tbh
11:46:44 × Gurkenglas quits (~gurkengla@dynamic-089-204-153-207.89.204.153.pool.telefonica.de) (Ping timeout: 246 seconds)
11:47:27 × gurkengl1s quits (~gurkengla@dynamic-089-204-153-207.89.204.153.pool.telefonica.de) (Ping timeout: 250 seconds)
11:48:43 gurkenglas joins (~gurkengla@dynamic-046-114-182-147.46.114.pool.telefonica.de)
11:48:56 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
11:48:56 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
11:48:56 finn_elija is now known as FinnElija
11:49:28 gurkengl1s joins (~gurkengla@dynamic-046-114-182-147.46.114.pool.telefonica.de)
11:51:05 × vglfr quits (~vglfr@37.73.89.236) (Remote host closed the connection)
11:52:01 vglfr joins (~vglfr@37.73.89.236)
11:54:38 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal)
11:54:57 <mesaoptimizer2> try using LUKS hard disk encryption, and using grub. Oh, and using a non-standard keyboard layout to input the password in grub. In contrast, Manjaro and QubesOS are a delight to install (not use -- Manjaro is ridiculous. And QubesOS doesn't make sense for most people). But this is off-topic.
11:54:59 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
11:57:34 freeside joins (~mengwong@103.252.202.85)
12:00:11 × mikoto-chan quits (~mikoto-ch@2001:999:500:3b03:ce9a:e57c:6d23:628) (Ping timeout: 264 seconds)
12:01:07 × cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds)
12:01:50 cheater joins (~Username@user/cheater)
12:02:02 mikoto-chan joins (~mikoto-ch@2001:999:589:7485:41b6:b2fd:c31b:4ca)
12:02:09 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 265 seconds)
12:10:22 × mikoto-chan quits (~mikoto-ch@2001:999:589:7485:41b6:b2fd:c31b:4ca) (Ping timeout: 265 seconds)
12:16:15 × mncheck quits (~mncheck@193.224.205.254) (Ping timeout: 255 seconds)
12:21:52 gastus joins (~gastus@5.83.191.9)
12:25:14 × gastus_ quits (~gastus@185.6.123.224) (Ping timeout: 246 seconds)
12:27:02 × flukiluke quits (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection)
12:27:20 flukiluke joins (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962)
12:30:03 × vglfr quits (~vglfr@37.73.89.236) (Remote host closed the connection)
12:30:05 mikoto-chan joins (~mikoto-ch@2001:999:589:7485:41b6:b2fd:c31b:4ca)
12:30:30 vglfr joins (~vglfr@37.73.89.236)
12:35:03 L29Ah joins (~L29Ah@wikipedia/L29Ah)
12:46:28 cheater_ joins (~Username@user/cheater)
12:48:59 × cheater quits (~Username@user/cheater) (Ping timeout: 260 seconds)
12:49:02 cheater_ is now known as cheater
12:49:14 driib joins (~driib@vmi931078.contaboserver.net)
12:54:12 <fendor[m]> <mesaoptimizer2> "https://haskell-language-server..." <- thank you for finding issues in the documentation, would you mind opening an issue or providing a PR that fixes it?
12:56:09 bionade24 joins (~bionade24@2a03:4000:33:45b::1)
12:56:39 cheater_ joins (~Username@user/cheater)
12:57:05 <bionade24> Hello, I need help understanding import correctly. When I do "import Numeric" why is Natural not in scope?
12:58:26 <geekosaur> because Numeric is not Numeric.Natural
12:58:50 × cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds)
12:59:21 cheater__ joins (~Username@user/cheater)
12:59:21 cheater__ is now known as cheater
12:59:45 <geekosaur> did you come from Python, by any chance?
13:00:44 <bionade24> geekosaur: Python is one of the langs I'm proficient in ;)
13:00:53 × cheater_ quits (~Username@user/cheater) (Ping timeout: 246 seconds)
13:01:47 <geekosaur> so, as I understand it, in Python if you import something you are actually exposing the contents of an object, and something like `Numeric.Natural` would mean "the sub-object `Natural` of the object `Numeric`"
13:01:51 <bionade24> When I open ghci and "import Numeric" and then want to run ":info Numeric" it isn't in scope either.
13:03:19 <geekosaur> in Haskell, a module is just a file. there are no objects or other things involved, and a module `Numeric` would only bring a type or constructor `Numeric` in scope if it happened to export one
13:03:44 <geekosaur> but in fact `Numeric` is just a collection of things related to numbers, so there's no `Numeric` to show you afterward
13:03:56 × jpds1 quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 255 seconds)
13:04:07 × mikoto-chan quits (~mikoto-ch@2001:999:589:7485:41b6:b2fd:c31b:4ca) (Ping timeout: 246 seconds)
13:04:33 <bionade24> geekosaur: But if I'd do a "import qualified Numeric" It'd behave like in python, wouldn't it?
13:04:43 <geekosaur> nope
13:05:09 <geekosaur> there still wouldn't be a thing called Numeric, it'd just e a prefix you would have to provide for things
13:05:34 <geekosaur> see also `import qualified … as X` which changes that prefix, it doesn't rename an object
13:06:23 <jackdk> > :browse Data.List
13:06:25 <lambdabot> <hint>:1:1: error: parse error on input ‘:’
13:06:33 <jackdk> % :browse Data.List
13:06:34 <yahb2> Data.List.isSubsequenceOf :: Eq a => [a] -> [a] -> Bool ; (!!) :: [a] -> Int -> a ; (++) :: [a] -> [a] -> [a] ; (base-4.16.4.0:Data.OldList.\\) :: Eq a => [a] -> [a] -> [a] ; all :: Foldable t => (...
13:06:58 <jackdk> bionade24: `:info` is not the command to list the contents of a module, you want `:browse`
13:07:00 <mesaoptimizer2> fendor[m], I'll try. I stopped using github years ago after they banned a throwaway github account I used to make issues for such projects.
13:07:10 <bionade24> geekosaur: Thx, understood. Another question to the same problem. base != Prelude ? Does ghci normally have base?
13:07:17 <bionade24> Or only cabal repl
13:07:31 <fendor[m]> mesaoptimizer2: thanks!
13:07:31 <mesaoptimizer2> (that's why I linked it here btw -- I hope that someone else will make the issue since I didn't want to deal with github)
13:07:45 <geekosaur> base is a package, Prelude is a module within that package
13:07:53 <geekosaur> Prelude is always imported
13:08:14 <geekosaur> you can reliably import any other module from base because it's always available
13:08:29 <bionade24> When I do ":browse Numeric" it doesn't contain Natural, despite hoogle telling me so
13:09:16 <fendor[m]> In my experience, shouting into the void will usually not make anyone create an issue. E.g., I am not a user of egot, so I can neither confirm what the issue is, nor do I know how to fix it.
13:10:19 <geekosaur> hoogle does not tell you so. it tells you there is a module Numeric.Natural
13:10:22 <mesaoptimizer2> if "anyone" includes maintainers of HLS, then it is likely they would
13:10:37 <geekosaur> this module is, despite its name, unrelated to Numeric
13:10:58 <mesaoptimizer2> (but I *do* agree with you about the importance of making issues.)
13:11:06 × arkeet quits (~arkeet@moriya.ca) (Ping timeout: 250 seconds)
13:11:21 arkeet joins (~arkeet@moriya.ca)
13:12:14 × sm[i]_ quits (~user@li229-222.members.linode.com) (Read error: Connection reset by peer)
13:13:02 <fendor[m]> I am a maintainer of HLS :P
13:13:36 <bionade24> geekosaur: That confused me.
13:15:09 <bionade24> Now I get data constructor not in scope for Natural
13:15:38 × MasseR46 quits (thelounge@2001:bc8:47a0:1521::1) (Quit: The Lounge - https://thelounge.chat)
13:16:12 MasseR46 joins (thelounge@2001:bc8:47a0:1521::1)
13:16:31 × CiaoSen quits (~Jura@p200300c957080a002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
13:16:34 <geekosaur> right, because that won't be in scope until you import Numeric.Natural
13:16:55 <geekosaur> there isn't anything in Numeric called Natural; there just happens to be a module called Numeric.Natural
13:17:03 <geekosaur> but modules don't contain other modules
13:17:14 <bionade24> geekosaur: I did import Numeric.Natural before trying to use Natural,
13:17:14 <geekosaur> (they can re-export them, with some limitations)
13:18:14 <geekosaur> looks in scope to me
13:19:01 <geekosaur> https://paste.tomsmeding.com/h4sW23xG
13:19:26 sm[i]_ joins (~user@li229-222.members.linode.com)
13:19:29 __monty__ joins (~toonn@user/toonn)
13:22:09 <geekosaur> there are no constructors for it; it uses Num for that
13:22:22 <geekosaur> @let import Numeric.Natural
13:22:24 <lambdabot> Defined.
13:22:35 × cheater quits (~Username@user/cheater) (Ping timeout: 260 seconds)
13:22:47 <geekosaur> :t fromInteger 5 :: Natural
13:22:49 <lambdabot> Natural
13:23:12 <geekosaur> basically, it tries to act like a number; it just doesn't support negative values
13:24:44 <bionade24> geekosaur: My bad, tried to do type signatures in ghci. Works in a file
13:25:49 <bionade24> Thx for your help
13:26:04 freeside joins (~mengwong@103.252.202.85)
13:27:13 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds)
13:28:49 × bhall quits (~brunohall@195.147.207.136) (Ping timeout: 256 seconds)
13:30:29 irrgit joins (~irrgit@146.70.27.242)
13:30:36 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 265 seconds)
13:30:41 troydm joins (~troydm@user/troydm)
13:36:35 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
13:37:51 thegeekinside joins (~thegeekin@189.217.80.156)
13:38:53 × thegeekinside quits (~thegeekin@189.217.80.156) (Remote host closed the connection)
13:40:18 × dequbed quits (~dequbed@banana-new.kilobyte22.de) (Quit: bye!)
13:41:21 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:19aa:397c:29a:40e4)
13:41:43 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds)
13:42:58 dequbed joins (~dequbed@banana-new.kilobyte22.de)
13:45:44 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:19aa:397c:29a:40e4) (Ping timeout: 252 seconds)
13:51:06 jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff)
13:51:28 bhall joins (~brunohall@195.147.207.136)
13:54:30 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
14:00:11 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 264 seconds)
14:03:02 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
14:03:32 y04nn joins (~username@2a03:1b20:5:f011::aaae)
14:05:45 × kenran quits (~user@user/kenran) (Remote host closed the connection)
14:06:32 freeside joins (~mengwong@103.252.202.85)
14:06:56 <kraftwerk28> How is this syntax (`(arg2 -> arg3)`) called in a function definition: `myFunction arg1 (arg2 -> arg3) = do ...`?
14:07:26 <kraftwerk28> Is that some pattern matching with language extensions?
14:08:26 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds)
14:09:37 × acidjnk quits (~acidjnk@p200300d6e715c4953c9ace5586e07e06.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
14:09:53 <jackdk> https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/view_patterns.html#extension-ViewPatterns
14:11:02 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 252 seconds)
14:11:15 <kraftwerk28> jackdk: thank you
14:12:52 freeside joins (~mengwong@103.252.202.85)
14:15:22 × gurkenglas quits (~gurkengla@dynamic-046-114-182-147.46.114.pool.telefonica.de) (Quit: Lost terminal)
14:15:22 × gurkengl1s quits (~gurkengla@dynamic-046-114-182-147.46.114.pool.telefonica.de) (Quit: Lost terminal)
14:15:46 gurkenglas joins (~gurkengla@dynamic-046-114-182-147.46.114.pool.telefonica.de)
14:16:04 × smallville7123 quits (~Android@2001:8004:4440:fdd4:60b9:e57c:1e89:37dd) (Read error: Connection reset by peer)
14:16:10 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
14:17:18 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 255 seconds)
14:20:43 × gurkenglas quits (~gurkengla@dynamic-046-114-182-147.46.114.pool.telefonica.de) (Quit: Lost terminal)
14:21:12 gurkenglas joins (~gurkengla@dynamic-046-114-182-147.46.114.pool.telefonica.de)
14:22:02 thegeekinside joins (~thegeekin@189.217.80.156)
14:26:28 × monoidal quits (~monoidal@2a01cb0801ce4b0038fc9abb7c187a61.ipv6.abo.wanadoo.fr) (Quit: Client closed)
14:30:28 × MajorBiscuit quits (~MajorBisc@145.94.168.115) (Ping timeout: 252 seconds)
14:30:32 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
14:32:38 Sgeo joins (~Sgeo@user/sgeo)
14:35:03 freeside joins (~mengwong@103.252.202.85)
14:40:47 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 256 seconds)
14:42:41 cheater joins (~Username@user/cheater)
14:47:00 shriekingnoise joins (~shrieking@186.137.175.87)
14:47:03 Square2 is now known as Square
14:49:29 cheater_ joins (~Username@user/cheater)
14:49:40 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
14:50:20 cheater__ joins (~Username@user/cheater)
14:52:11 × cheater quits (~Username@user/cheater) (Ping timeout: 260 seconds)
14:52:14 cheater__ is now known as cheater
14:54:03 × cheater_ quits (~Username@user/cheater) (Ping timeout: 260 seconds)
15:02:41 freeside joins (~mengwong@103.252.202.85)
15:07:06 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
15:07:13 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 250 seconds)
15:07:23 jmdaemon joins (~jmdaemon@user/jmdaemon)
15:09:25 MajorBiscuit joins (~MajorBisc@145.94.168.115)
15:09:28 × vpan quits (~0@212.117.1.172) (Quit: Leaving.)
15:09:28 cheater_ joins (~Username@user/cheater)
15:10:03 img joins (~img@user/img)
15:12:13 × cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds)
15:12:13 cheater_ is now known as cheater
15:16:18 freeside joins (~mengwong@103.252.202.85)
15:16:50 bgs joins (~bgs@212-85-160-171.dynamic.telemach.net)
15:20:07 cheater_ joins (~Username@user/cheater)
15:20:11 CiaoSen joins (~Jura@p200300c957080a002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
15:21:02 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 268 seconds)
15:22:29 <kraftwerk28> And what extension does allow guards in a `do` block? I.e. `do ... if | ... | ...`
15:23:13 × cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds)
15:23:24 cheater_ is now known as cheater
15:23:48 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
15:24:07 <geekosaur> that's not "guards in a do block", `MultiWayIf` is more general than that
15:24:18 acidjnk joins (~acidjnk@p200300d6e715c4953c9ace5586e07e06.dip0.t-ipconnect.de)
15:26:40 <segfaultfizzbuzz> seriously, ask gpt4 to write some code
15:28:46 <EvanR> if it didn't cost money maybe
15:28:54 <segfaultfizzbuzz> it didn't cost anything
15:29:04 <EvanR> oh?
15:29:23 <segfaultfizzbuzz> you just have to register with an email address because they want to stop people who ask it to write insane stuff
15:29:34 <EvanR> I thought there was a subscription
15:29:47 cheater_ joins (~Username@user/cheater)
15:29:50 <segfaultfizzbuzz> you *can* pay but i was able to make it produce a haskell program without paying anything
15:30:56 <segfaultfizzbuzz> it costs if you want api access, to do a very large number of queries, etc
15:30:56 cheater__ joins (~Username@user/cheater)
15:32:49 × cheater quits (~Username@user/cheater) (Ping timeout: 276 seconds)
15:32:51 cheater__ is now known as cheater
15:34:03 × cheater_ quits (~Username@user/cheater) (Ping timeout: 248 seconds)
15:34:25 × y04nn quits (~username@2a03:1b20:5:f011::aaae) (Remote host closed the connection)
15:34:43 y04nn joins (~username@2a03:1b20:5:f011::aaae)
15:41:10 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
15:41:10 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
15:41:10 finn_elija is now known as FinnElija
15:42:50 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:19aa:397c:29a:40e4)
15:47:39 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:19aa:397c:29a:40e4) (Ping timeout: 256 seconds)
15:54:28 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
15:56:11 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 268 seconds)
15:58:02 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds)
16:02:19 × cheater quits (~Username@user/cheater) (Ping timeout: 248 seconds)
16:04:07 × Fischmiep quits (~Fischmiep@user/Fischmiep) (Read error: Connection reset by peer)
16:07:16 econo joins (uid147250@user/econo)
16:08:05 cheater joins (~Username@user/cheater)
16:09:44 Fischmiep joins (~Fischmiep@user/Fischmiep)
16:11:35 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:b1e:376:22d2:70c1) (Ping timeout: 264 seconds)
16:11:40 × glguy quits (~glguy@libera/staff-emeritus/glguy) (Quit: Quit)
16:13:02 glguy joins (~glguy@libera/staff-emeritus/glguy)
16:13:48 gok joins (~gok@2601:282:d00:c3d0:75bc:5610:72de:df17)
16:16:18 hugo- is now known as hugo
16:20:53 zer0bitz_ joins (~zer0bitz@2001:2003:f443:d600:6817:86bd:63cc:3a52)
16:20:57 adanwan_ joins (~adanwan@gateway/tor-sasl/adanwan)
16:21:05 × zer0bitz quits (~zer0bitz@2001:2003:f443:d600:24d4:8a68:949c:f66a) (Ping timeout: 256 seconds)
16:21:56 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 255 seconds)
16:22:42 freeside joins (~mengwong@103.252.202.85)
16:22:52 × bhall quits (~brunohall@195.147.207.136) (Ping timeout: 276 seconds)
16:25:30 motherfsck joins (~motherfsc@user/motherfsck)
16:27:23 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 250 seconds)
16:28:47 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
16:28:52 <segfaultfizzbuzz> EvanR: did you try it? lol
16:29:38 <EvanR> the barrier for me to sign up on sites is pretty high these days
16:29:59 <segfaultfizzbuzz> it's really worth it
16:30:42 zer0bitz joins (~zer0bitz@2001:2003:f443:d600:a081:44e9:eba:55a9)
16:31:35 Fischmiep7 joins (~Fischmiep@user/Fischmiep)
16:31:43 × Fischmiep quits (~Fischmiep@user/Fischmiep) (Ping timeout: 250 seconds)
16:31:44 Fischmiep7 is now known as Fischmiep
16:32:31 × zer0bitz_ quits (~zer0bitz@2001:2003:f443:d600:6817:86bd:63cc:3a52) (Ping timeout: 260 seconds)
16:35:14 × nschoe quits (~q@141.101.51.197) (Ping timeout: 265 seconds)
16:36:36 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:19aa:397c:29a:40e4)
16:37:04 bhall joins (~brunohall@195.147.207.136)
16:38:04 × cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds)
16:38:33 cheater joins (~Username@user/cheater)
16:41:40 freeside joins (~mengwong@103.252.202.85)
16:43:19 qwert joins (~qwert@95.107.224.14)
16:44:41 <qwert> can someone link to a documentation or article about maybe and either type I have read some but cannot quite understand them
16:46:28 <geekosaur> there doesn't seem to be that much to understand, especially about Maybe?
16:46:42 <EvanR> do you understand the pair type (a,b)
16:46:59 <qwert> yes
16:47:05 <EvanR> if yes, do you understand the type Bool = False | True
16:47:14 <qwert> Yes
16:47:17 <segfaultfizzbuzz> qwert: imo the most confusing thing is that "left is not right"
16:47:26 <EvanR> Maybe and Either are a combination of those concepts xD
16:47:44 <segfaultfizzbuzz> qwert: it might help to read about the rust Option type as something to compare with
16:47:46 <EvanR> Either a b = Left a | Right b
16:48:14 × mbuf quits (~Shakthi@49.207.178.186) (Quit: Leaving)
16:48:24 <segfaultfizzbuzz> qwert: the purpose of this sort of thing is to avoid the "billion-dollar" problem of java where anything can be set to null/none
16:48:25 <EvanR> they are holding some payload and you can do case analysis like Bool
16:49:31 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 276 seconds)
16:50:09 jmdaemon joins (~jmdaemon@user/jmdaemon)
16:51:12 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
16:53:52 <dminuoso> segfaultfizzbuzz | you *can* pay but i was able to make it produce a haskell program without paying anything
16:54:28 <dminuoso> Can you make gpt4 write a haskell program that validates whether another haskell program gpt4 wrote makes sense and is correct to the original intentions?
16:54:42 <segfaultfizzbuzz> dminuoso: lol try it, probably not ;-)
16:54:44 × chele quits (~chele@user/chele) (Remote host closed the connection)
16:54:50 <segfaultfizzbuzz> dminuoso: try something simple
16:54:59 <segfaultfizzbuzz> i guess if you want i will do a pastebin for you folks when i get back
16:55:04 <dminuoso> I think you misunderstood what i meant.
16:55:25 <ncf> qwert: is there something in particular you don't understand?
16:56:01 <dminuoso> Ive done plenty of experimentations with ChatGPT for instance, while it reurgitates code that often does an approximation, its usually subtly bug ridden, or doesnt quite do what you want it to do, especially in some edge cases.
16:56:02 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds)
16:56:26 <dminuoso> And the thing is, if people start making it a habit to use this, you will over time lose precious skillset and code quality could go down.
16:56:49 <EvanR> technology be doing that
16:57:14 <EvanR> I hear the skills to craft and repair CRT tubes is dwindling
16:57:33 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 246 seconds)
16:58:24 <segfaultfizzbuzz> shout out some haskell programs you want
16:58:36 <segfaultfizzbuzz> try to keep it to something which can fit in a couple hundred lines
16:58:49 <Hecate> EvanR: I doubt LCD screens are introducing subtle and systematic errors over their CRT counterparts :P
16:58:53 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
16:59:15 cheater_ joins (~Username@user/cheater)
16:59:35 <EvanR> ask your AI to prove a proof of correctness
16:59:40 <EvanR> provide*
17:00:03 <EvanR> while we still have non-AI proof checkers
17:00:26 freeside joins (~mengwong@103.252.202.85)
17:01:07 <mauke> segfaultfizzbuzz: I could use a Haskell program that correctly parses and extracts the contents of an HTML <script> tag
17:01:13 <geekosaur> Hécate: they still don't handle rapid motion very well IME
17:01:49 Kuttenbrunzer joins (~Kuttenbru@2a02:8108:8b80:1d48::8e37)
17:02:05 × cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds)
17:02:08 <davean> geekosaur: they don't which is why we moved to OLEDs
17:02:10 cheater_ is now known as cheater
17:03:25 × Kuttenbrunzer quits (~Kuttenbru@2a02:8108:8b80:1d48::8e37) (Client Quit)
17:03:25 × gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer)
17:03:47 gentauro joins (~gentauro@user/gentauro)
17:04:02 zer0bitz_ joins (~zer0bitz@2001:2003:f443:d600:dd91:c235:8ced:3a03)
17:04:55 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 246 seconds)
17:05:15 × zer0bitz quits (~zer0bitz@2001:2003:f443:d600:a081:44e9:eba:55a9) (Ping timeout: 246 seconds)
17:05:17 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 256 seconds)
17:07:49 <dminuoso> EvanR: The difference is, CRT tubes are disappearing as well.
17:07:57 <dminuoso> but the advent of chatgpt wont make software disappear.
17:08:03 × bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
17:08:13 <EvanR> maybe that's something we need to focus on fixing then xD
17:08:29 <EvanR> no software, no problems
17:08:41 × CiaoSen quits (~Jura@p200300c957080a002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
17:08:45 <dminuoso> Im not saying that AI cant make software, but merely that a language model is *certainly* not the answer.
17:09:17 <dminuoso> Its probably the poorest solution of it all, given that the training data includes so much poor things, and language models have error classes that can be subtly nasty.
17:09:26 <dminuoso> But who knows
17:09:35 <dminuoso> Maybe it will improve the value of good software developers down the line.
17:09:45 <dminuoso> Since poor developers can be replaced by things like chatgpt.
17:10:48 × zer0bitz_ quits (~zer0bitz@2001:2003:f443:d600:dd91:c235:8ced:3a03) (Ping timeout: 260 seconds)
17:10:53 <EvanR> using this thing to write my code by using English sounds awful
17:11:17 <dminuoso> Given that a poor developers typically is better at english than at writing code, I think it could be an upgrade.
17:11:45 <EvanR> yeah but technical english necessary to specify what you really need?
17:11:51 <dminuoso> Its not
17:12:05 <davean> poor developers are better at writing code than good developers though, are good developers that much worse at English?
17:12:07 <dminuoso> Since you can just test it against data, and respond with things like "The input looks bad in this way. Fix it please"
17:12:16 <dminuoso> And you repeat it until the software seems to do what you want it to do.
17:12:22 <mauke> so I hear you guys are reinventing COBOL?
17:13:00 <EvanR> I need an algorithm to solve the discrete log problem. Ok that solution is wrong for the following inputs, fix it!
17:13:00 <dminuoso> davean: I think there's some mistake in that sense.
17:14:17 <dminuoso> EvanR: machine learning has been successfully used to find more efficient linear algebra algoithms already.
17:14:36 <dminuoso> So there's certainly problems that could possibly be solved by tossing enough brute force AI at it.
17:14:51 <EvanR> I don't doubt that. Was the part where you formulate a question in English the important part?
17:15:17 <dminuoso> Who knows, maybe you can just task a language model to train another neural net on data using plain english
17:15:19 <EvanR> i.e. it's the human interface that matters
17:15:20 <dminuoso> and make it generate solutions
17:15:40 <dminuoso> "write a neural net that can solve these solutions, and then make it go brrrr fast!"
17:15:53 <dminuoso> "also, browse through the internet and use cat pictures for training"
17:15:54 <EvanR> and then professor moriarty walks off the holodeck
17:16:20 <dminuoso> To be fair, all of this already works.
17:16:23 <dminuoso> Its called being a professor
17:16:34 <dminuoso> Except you dont with a language model, but with a poor PhD student.
17:16:39 <dminuoso> *dont talk
17:17:03 <[exa]> mauke: rofl
17:18:19 <davean> dminuoso: I think thats my point
17:19:37 <geekosaur> whose English is poor…
17:20:15 <geekosaur> ChatGPT3 speaks English a little better than the PhD students I've worked with
17:20:27 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
17:23:43 × enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq)
17:24:05 <EvanR> can I send chatgpt back in time so I can cheat my english courses and so obtain my questionably valuable degree in math please
17:24:17 × Sauvin quits (~sauvin@user/Sauvin) (Quit: Leaving)
17:25:01 <EvanR> also future people, feel free to send the code writing AI to right now
17:27:13 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 276 seconds)
17:29:22 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
17:30:09 freeside joins (~mengwong@103.252.202.85)
17:31:19 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
17:32:21 <segfaultfizzbuzz> i mean okay here is an example: https://twitter.com/random_walker/status/1636039756864712706
17:32:49 Sauvin joins (~sauvin@user/Sauvin)
17:33:06 <segfaultfizzbuzz> not haskell but you get the idea
17:33:56 <[exa]> segfaultfizzbuzz: you don't see a problem there?
17:33:56 <mauke> jesus christ
17:33:58 <segfaultfizzbuzz> i will be checking the #haskell logs periodically so if you want gpt4 to write a haskell program, just write a simple and clear description and i will run it. no "solve the halting problem"-type tasks
17:34:17 <mauke> segfaultfizzbuzz: I could use a Haskell program that correctly parses and extracts the contents of an HTML <script> tag
17:34:35 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 246 seconds)
17:34:59 <segfaultfizzbuzz> mauke: you mean like all of javascript? i would add that the program will need to realistically fit into a couple hundred lines or so
17:35:17 <mauke> ... no?
17:35:20 <segfaultfizzbuzz> [exa]: i didn't read or run that code...
17:35:25 <mauke> just figure out where the script element ends
17:35:50 <segfaultfizzbuzz> mauke: okay so the input is html and you want to know the position of the start and end of all script tags within the html?
17:36:02 × ubert1 quits (~Thunderbi@2a02:8109:abc0:6434:3e03:bd4c:f4ca:dd82) (Remote host closed the connection)
17:36:10 <[exa]> segfaultfizzbuzz: please stop and think
17:36:23 <mauke> even more basic, assume the input is HTML and starts with "<script"
17:36:32 <mauke> and I want to know where the corresponding end tag is
17:36:56 <segfaultfizzbuzz> mauke: are you guaranteed that there is a single end tag or can there be nesting and soforth?
17:37:15 <mauke> HTML doesn't allow script elements to be nested
17:37:40 <mauke> so either there is a single corresponding script end tag or the end tag is missing, in which case I want an error of some kind
17:37:45 <segfaultfizzbuzz> mauke: okay so just search for </script>, but parse html comments correctly?
17:37:47 <mauke> like returning Nothing or -1
17:37:54 × qwert quits (~qwert@95.107.224.14) (Quit: Client closed)
17:38:01 ian1 joins (~ian@eclipse-5.wireless.uwo.ca)
17:38:04 <mauke> script elements don't contain comments
17:38:19 <segfaultfizzbuzz> okay so just search through a string for </script> i guess?
17:38:26 <mauke> wait, why am I explaining the problem to you? I thought chatgpt knew how to solve this
17:39:00 <segfaultfizzbuzz> [exa]: i don't see the issue but i am not a good programmer
17:39:07 <mauke> "search for </script>" is wrong for a variety of reasons
17:39:15 <mauke> I want something conforming to the HTML5 specification
17:39:49 <[exa]> segfaultfizzbuzz: that's okay, to go to actual issue please try asking gpt why website citations should be punishable
17:40:11 <segfaultfizzbuzz> mauke: so something like "write a haskell program for parsing the beginning and end of script tag locations in an html string which conforms to the HTML5 specification"?
17:40:58 <mauke> I like my original version better
17:41:22 <mauke> the string doesn't necessarily conform to anything; the algorithm should implement (part of) a conforming HTML5 parser
17:41:35 <segfaultfizzbuzz> ok so you want " write a Haskell program that correctly parses and extracts the contents of an HTML <script> tag"
17:43:22 <segfaultfizzbuzz> mauke: ^
17:45:13 <EvanR> I'm hearing we need to actually know how to program still
17:45:32 × Inst quits (~Inst@2601:6c4:4081:54f0:a477:258d:a836:e1e4) (Ping timeout: 252 seconds)
17:45:32 <davean> EvanR: "Website citations themselves should not be punishable, as they are an essential part of academic writing and research. In fact, citing sources is critical for providing evidence to support your arguments, giving credit to the authors of the information you are using, and allowing others to locate and verify the information you have presented."
17:46:15 <EvanR> what
17:46:21 <davean> website citations are some of the best citations because there isn't a walled garden blocking the open exchange of information, and unlike papers they aren't lost to time in like 5 years
17:46:31 <davean> EvanR: thats GPTs reply to your question
17:48:22 <EvanR> alright that's the universe's 1 free chatGPT generated response to a question I didn't ask chatGPT
17:48:51 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 250 seconds)
17:50:04 × ian1 quits (~ian@eclipse-5.wireless.uwo.ca) (Ping timeout: 246 seconds)
17:51:16 × MajorBiscuit quits (~MajorBisc@145.94.168.115) (Ping timeout: 276 seconds)
17:51:27 × y04nn quits (~username@2a03:1b20:5:f011::aaae) (Ping timeout: 250 seconds)
17:55:41 freeside joins (~mengwong@103.252.202.85)
17:58:37 offtherock joins (~blurb@96.45.2.121)
17:58:49 × rburkholder quits (~blurb@96.45.2.121) (Ping timeout: 250 seconds)
17:58:50 × cheater quits (~Username@user/cheater) (Quit: Going offline, see ya! (www.adiirc.com))
18:02:24 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds)
18:04:42 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
18:08:11 × Square quits (~Square4@user/square) (Ping timeout: 256 seconds)
18:10:51 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 255 seconds)
18:11:37 MironZ3 joins (~MironZ@nat-infra.ehlab.uk)
18:12:03 × MironZ quits (~MironZ@nat-infra.ehlab.uk) (Read error: Connection reset by peer)
18:12:03 MironZ3 is now known as MironZ
18:12:10 freeside joins (~mengwong@103.252.202.85)
18:13:09 nschoe joins (~q@2a01:e0a:8e:a190:38db:fde4:6274:c85c)
18:13:43 × gok quits (~gok@2601:282:d00:c3d0:75bc:5610:72de:df17) (Quit: Client closed)
18:14:26 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
18:15:43 MironZ2 joins (~MironZ@nat-infra.ehlab.uk)
18:16:43 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 248 seconds)
18:17:15 × MironZ quits (~MironZ@nat-infra.ehlab.uk) (Ping timeout: 248 seconds)
18:17:15 MironZ2 is now known as MironZ
18:17:27 azimut joins (~azimut@gateway/tor-sasl/azimut)
18:18:38 freeside joins (~mengwong@103.252.202.85)
18:19:13 × offtherock quits (~blurb@96.45.2.121) (Ping timeout: 276 seconds)
18:20:19 ian1 joins (~ian@eclipse-5.wireless.uwo.ca)
18:22:55 × cassiopea quits (~cassiopea@user/cassiopea) (Ping timeout: 248 seconds)
18:23:07 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 248 seconds)
18:36:40 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
18:36:54 cheater joins (~Username@user/cheater)
18:38:47 × nschoe quits (~q@2a01:e0a:8e:a190:38db:fde4:6274:c85c) (Ping timeout: 256 seconds)
18:41:41 opticblast joins (~Thunderbi@172.58.84.141)
18:43:08 ft joins (~ft@p3e9bc443.dip0.t-ipconnect.de)
18:43:32 <segfaultfizzbuzz> EvanR: i have made dozens of requests to chatgpt4 for free, only having made an account, and haven't hit any kind of paywall etc
18:47:40 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 265 seconds)
18:50:06 freeside joins (~mengwong@103.252.202.85)
18:50:28 slack1256 joins (~slack1256@186.11.43.166)
18:50:56 y04nn joins (~username@2a03:1b20:5:f011::aaae)
18:52:03 × ian1 quits (~ian@eclipse-5.wireless.uwo.ca) (Quit: WeeChat 3.8)
18:52:25 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
18:54:58 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds)
18:55:51 <segfaultfizzbuzz> okay here we go: https://paste.rs/HSB https://paste.rs/H7Y.hs
18:56:18 <segfaultfizzbuzz> mauke: see above :-) i used the prompt i quoted above except i said "according to the HTML5 specification"
18:57:22 <segfaultfizzbuzz> you might have to fix an import or something
18:57:31 <segfaultfizzbuzz> let me know what you think, i will be reading the logs ;-)
19:01:07 × slack1256 quits (~slack1256@186.11.43.166) (Ping timeout: 246 seconds)
19:02:03 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 248 seconds)
19:03:23 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 250 seconds)
19:05:13 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
19:09:44 hugo- joins (znc@verdigris.lysator.liu.se)
19:13:38 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
19:14:01 × y04nn quits (~username@2a03:1b20:5:f011::aaae) (Remote host closed the connection)
19:14:19 y04nn joins (~username@2a03:1b20:5:f011::aaae)
19:21:17 Tuplanolla joins (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi)
19:24:53 × opticblast quits (~Thunderbi@172.58.84.141) (Ping timeout: 265 seconds)
19:25:31 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds)
19:26:35 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
19:27:47 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
19:28:36 slack1256 joins (~slack1256@186.11.43.166)
19:37:43 caryhartline joins (~caryhartl@2603-8080-6a0e-8d88-4831-426f-64f2-a091.res6.spectrum.com)
19:38:16 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal)
19:38:30 freeside joins (~mengwong@103.252.202.85)
19:42:52 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 252 seconds)
19:47:34 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
19:48:32 × trev quits (~trev@user/trev) (Remote host closed the connection)
19:50:15 nschoe joins (~q@2a01:e0a:8e:a190:50da:2620:a22b:5641)
19:57:23 jmdaemon joins (~jmdaemon@user/jmdaemon)
19:58:25 × slack1256 quits (~slack1256@186.11.43.166) (Ping timeout: 250 seconds)
20:00:06 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
20:01:09 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
20:03:56 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Client Quit)
20:04:58 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
20:12:30 × bhall quits (~brunohall@195.147.207.136) (Ping timeout: 246 seconds)
20:18:06 × y04nn quits (~username@2a03:1b20:5:f011::aaae) (Ping timeout: 246 seconds)
20:18:07 × nschoe quits (~q@2a01:e0a:8e:a190:50da:2620:a22b:5641) (Quit: Switching off)
20:21:11 Profpatsch joins (~Profpatsc@static.88-198-193-255.clients.your-server.de)
20:21:24 <Profpatsch> I’m confused at this pattern match redundancy warning
20:21:27 <Profpatsch> I have effectively
20:21:42 <Profpatsch> let foo :: Maybe a = …
20:22:25 <Profpatsch> case foo of { Nothing -> …; Just a -> … case foo of Nothing -> …; Just again -> … }
20:22:50 <Profpatsch> And GHC warns that the inner Nothing match is redundant, as if it understand that I already matched on `foo` and am already in the Just case!
20:22:54 <Profpatsch> Should that be possible?
20:23:03 <Profpatsch> (I know that the code is dumb, I’m in the process of refactoring it)
20:23:51 <geekosaur> it does understand that
20:23:57 <Jade[m]1> Profpatsch: It's as GHC says
20:24:15 <Profpatsch> Now I’m kinda interested in how that works
20:24:22 <Profpatsch> does it do the analysis after simplification?
20:25:17 <Profpatsch> I know that typechecking is done on surface language to keep positions of code
20:25:53 <geekosaur> as part of simplification, I think; part of simplification is analyzing and rewriting `case`s to a simpler form for core
20:25:59 a_coll joins (~acoll@45.92.120.189)
20:26:41 <Profpatsch> The thing is that my second `case` comes after some code that is even monadic
20:26:52 <davean> Thats not relivent
20:26:52 <Profpatsch> So it must float stuff out quite eagerly
20:26:56 <Profpatsch> Which makes sense
20:27:02 <davean> it doesn't have to move anything at all though
20:27:09 <geekosaur> ^
20:27:23 pavonia joins (~user@user/siracusa)
20:27:27 <geekosaur> all it has to know is that it's one `case` inside another one, and they have the same scrutinee
20:27:43 <Jade[m]1> The beauty of purely functional code is that it doesn't matter where a function is
20:27:52 <Jade[m]1> same inputs => same outputs
20:27:59 <Profpatsch> So it’s not done during simplification, but when annotating stuff?
20:28:11 <Profpatsch> for later simplification I mean
20:28:11 <Jade[m]1> so it won't really matter what the surrounding context is
20:28:29 <Profpatsch> Jade[m]1: yeah I know that, but I’m more interested in the inner workings of specifically GHC
20:29:08 × caryhartline quits (~caryhartl@2603-8080-6a0e-8d88-4831-426f-64f2-a091.res6.spectrum.com) (Quit: caryhartline)
20:29:26 <Profpatsch> especially how it can map these warnings back to surface language, because my impression was always that after typechecking and maybe some annotation passes it’s not possible anymore to get good error positions
20:29:27 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
20:29:41 <Profpatsch> Maybe I should ask in #ghc
20:30:53 <segfaultfizzbuzz> EvanR: did you see what i pasted above?
20:31:07 <Profpatsch> once I’ve refactored this code, there won’t be any nested case matches on the same variable like that anymore anyway
20:31:15 <Profpatsch> I was just deligted to see GHC can do that
20:31:31 <Profpatsch> It really helps with refactoring and noticing strange logic like that
20:31:36 <EvanR> some ruby code to hook up an API
20:31:52 <segfaultfizzbuzz> EvanR: no it was haskell,... wasn't it? lol
20:32:18 <segfaultfizzbuzz> https://paste.rs/H7Y.hs
20:33:18 <EvanR> parsing script tags? did you test it
20:34:18 <segfaultfizzbuzz> it can't find isPrefixOf :: Bool -> String -> Bool and i'm a little unsure of what to do
20:34:38 <geekosaur> re error positions: ghc annotates everything in the surface language with source locations, so it can always get them back and even regurgitate source
20:34:52 <geekosaur> see "exactprint"
20:34:56 <segfaultfizzbuzz> i tried hoogle and there doesn't seem to be such a function
20:35:38 <int-e> segfaultfizzbuzz: Well, why would the first argument be a Bool? You have a precedence problem.
20:35:46 <geekosaur> `isPrefixOf` is in Data.List, but not with that signature (`Bool`, really?)
20:35:52 <int-e> That aside, isPrefixOf is ... as geekosaur said
20:36:21 <segfaultfizzbuzz> it's from this line: | count == 0 && "<script" `isPrefixOf` str = ("", str)
20:36:25 <int-e> Oh and once you import it its precedence will maybe be different.
20:36:27 <segfaultfizzbuzz> looks like it forgot to define a function lol
20:36:35 <davean> segfaultfizzbuzz: you're not doing precidence right
20:36:49 <segfaultfizzbuzz> lol that isn't my code, that is chatgpt4 ;-)
20:37:08 cheater_ joins (~Username@user/cheater)
20:37:16 <EvanR> I'll give it needing an import
20:37:25 <EvanR> sounds like it's not the only problem
20:37:40 <mauke> segfaultfizzbuzz: heh. that's really broken code
20:38:15 <segfaultfizzbuzz> mauke: this is the first "broken" code i have encountered out of several attempts, albeit those may have been lucky attempts
20:38:31 bhall joins (~brunohall@195.147.207.136)
20:38:46 <EvanR> welp sounds like we can't ship unvetted code that comes out of the AI
20:39:02 <segfaultfizzbuzz> lol not for another year or two at least ;-)
20:39:04 <mauke> segfaultfizzbuzz: so far, every single example of "AI"-generated code I've seen has been broken, sometimes blatantly so
20:39:21 <segfaultfizzbuzz> mauke: i'll do another prompt for you if you want
20:39:27 <mauke> nah, don't bother
20:39:30 <EvanR> the fact that it looks half way plausible at a glance seems a bit alarming
20:39:32 <mauke> it's just more of the same
20:39:41 <segfaultfizzbuzz> EvanR: right? lol
20:39:55 <EvanR> someone who doesn't know any better might literally ship it
20:40:00 <segfaultfizzbuzz> imagine if they plugged it into ghc and it could read error messages from the compiler and then try to fix them
20:40:01 × cheater quits (~Username@user/cheater) (Ping timeout: 250 seconds)
20:40:05 cheater_ is now known as cheater
20:40:12 <davean> segfaultfizzbuzz: thats been done
20:40:18 <davean> well, nto for GHC specificly
20:40:24 <segfaultfizzbuzz> davean: and... doesn't help?
20:40:40 <mauke> `scriptContents <- manyTill anyChar (try (string "</script>" <|> string "</SCRIPT>"))` doesn't even try to do anything sensible
20:40:57 <segfaultfizzbuzz> haha ok
20:41:06 <davean> segfaultfizzbuzz: it helps, technically, it doesn't solve the problem though
20:41:14 <mauke> it's the equivalent of .*?(</script>|</SCRIPT>) in regex form
20:41:23 <davean> these AIs basicly over focus on one piece of context
20:41:44 <segfaultfizzbuzz> i mean, i don't really believe that humans have magical powers, a soul, etc
20:41:46 <EvanR> why doesn't that line of code work
20:42:02 jinsun__ joins (~jinsun@user/jinsun)
20:42:02 jinsun is now known as Guest8805
20:42:02 × Guest8805 quits (~jinsun@user/jinsun) (Killed (zinc.libera.chat (Nickname regained by services)))
20:42:02 jinsun__ is now known as jinsun
20:42:03 <davean> They can avoid errors, but avoiding errors doesn't produce a correct result.
20:42:06 <mauke> like, it kind of "knows" that HTML tags are case insensitive, but then it only searches for two particular forms
20:42:06 <EvanR> (don't ask the AI please)
20:42:16 <davean> segfaultfizzbuzz: no, but these AIs don't have any reasoning at all
20:42:25 <int-e> So... I guess this example leaks the fact that GHC parses infix operations as left-associative at first, then looks up names, and only then rearranges the expression with proper fixities?
20:42:27 <mauke> (because it copy/pasted from bad example code on the internet)
20:42:53 <davean> segfaultfizzbuzz: you don't have to believe humans are special, you just have to know what these AIs are doing
20:42:54 <EvanR> someone teach it to use logic to verify shit it comes up with
20:43:05 <EvanR> like formal logic
20:43:39 <int-e> EvanR: b-but... its already hard enough to do that with people
20:43:39 <segfaultfizzbuzz> davean: i should learn more about transformer models but i have seen the QKV attention mechanism and all of that
20:43:40 <dolio> Are you ever in here to actually talk about Haskell, instead of excuses to not learn Haskell?
20:44:11 <mauke> the preceding line, manyTill anyChar (try (string "<script" >> manyTill anyChar (char '>'))), is also broken in several ways
20:44:13 <segfaultfizzbuzz> haha, yeah sorry for crowding the channel, i just thought this was really cool
20:44:36 <mauke> for example, here the author forgot that tags are case insensitive and only checks for "<script"
20:45:02 × jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer)
20:45:08 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
20:45:13 <mauke> but all this is doing is .*?<script.*?>
20:45:15 <EvanR> it's like it's spitballing
20:45:17 jinsun joins (~jinsun@user/jinsun)
20:45:32 <int-e> > length "<script></script>"
20:45:33 <lambdabot> 17
20:45:41 <mauke> which is basically "parsing" HTML with regex, only fancier (with Parsec combinators!) so you can't see it's doing the regex thing
20:45:52 <Profpatsch> Regarding AI code … I’m refactoring code written by actual humans, and I dread the day when I’ll have to refactor code written by AI
20:46:07 <segfaultfizzbuzz> what about the day when you have no idea where the code came from? lol
20:46:09 <Profpatsch> like, unless the AI is actually better at writing code than humans
20:46:14 <EvanR> your manager insists the AI code is helping
20:46:17 <Profpatsch> segfaultfizzbuzz: Sometimes I wonder …
20:46:18 <EvanR> now fix it
20:46:24 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
20:46:44 <Profpatsch> This code is so confused, it could only have been written by a programmer :)
20:46:48 <mauke> EvanR: oh, this is basically the outsourcing model
20:46:57 <mauke> only without humans in the loop, so it's even cheaper!!1
20:47:02 <Profpatsch> I’m just happy this code is Haskell
20:47:15 <Profpatsch> And I forgive the coworker who wrote this
20:47:16 <int-e> The problem with AI-generated code is that you still have to understand it to be sure whether it works. So, won't you be better off with writing code that matches how you think about the problem?
20:47:17 <EvanR> yeah that's silly... we already do that with random ass web libraries
20:48:02 <segfaultfizzbuzz> int-e: i mean part of this is interesting because it raises questions about how to encapsulate code
20:48:09 <Profpatsch> In semi-related news, overusing middleware abstractions and Vaults considered harmful
20:48:16 <Profpatsch> Just KISS
20:48:45 <segfaultfizzbuzz> at the very least this will make for a very nice variation on quickcheck
20:48:50 <int-e> segfaultfizzbuzz: you're poisoning your brain, as far as I'm concerned
20:48:59 <davean> Oh I HATE the vault thing
20:49:51 Sciencentistguy3 joins (~sciencent@hacksoc/ordinary-member)
20:51:40 <EvanR> also AI art sucks
20:51:50 <Profpatsch> davean: nearly as bad as the dataStore :: TVar Json.Value somebody added to our ReaderT environment SMILEY
20:52:06 <segfaultfizzbuzz> EvanR: wait really? have you seen midjourney images? they are impressive
20:52:09 × Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Ping timeout: 250 seconds)
20:52:10 Sciencentistguy3 is now known as Sciencentistguy
20:52:13 <EvanR> are you serious
20:52:15 <Profpatsch> Even after me telling them to not do that
20:52:18 <Profpatsch> Yes
20:52:27 <Profpatsch> unfortunately so
20:52:36 <segfaultfizzbuzz> EvanR: https://www.reddit.com/r/midjourney/comments/11c6qqw/girls_in_renaissance_tracksuits/
20:52:48 <segfaultfizzbuzz> i can't fathom how that isn't jaw-dropping
20:53:04 <davean> Profpatsch: thats fun. I mean I can see reasons to have such a thing, but like its rare and would usually be in a TVar or such.
20:53:10 <Profpatsch> segfaultfizzbuzz: it’s funny at least
20:55:04 <Profpatsch> the lengths programmers go to avoid passing arguments to functions
20:55:07 <[exa]> can we move the AI nonsense to #-offtopic
20:55:13 <EvanR> ^
20:55:28 <davean> segfaultfizzbuzz: Can we not move it anywere?
20:55:32 <segfaultfizzbuzz> yeah, moved, sorry to crowd the channel ;-)
20:55:42 <EvanR> specifically some non-haskell offtopic? xD
20:55:50 <davean> EvanR: Yes that
20:56:07 <int-e> I unironically want a content warning for AI-generated code
20:56:08 <davean> I don't need to read more about some brain dead statistical model
20:56:22 freeside joins (~mengwong@103.252.202.85)
20:56:39 <Profpatsch> int-e: I want an AI that tells me if some code was generated by an AI copying code I wrote
21:01:04 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds)
21:06:00 zer0bitz joins (~zer0bitz@2001:2003:f443:d600:3906:5956:a545:1240)
21:09:26 cheater_ joins (~Username@user/cheater)
21:10:07 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
21:10:21 × cheater quits (~Username@user/cheater) (Ping timeout: 250 seconds)
21:10:22 cheater_ is now known as cheater
21:15:18 × bhall quits (~brunohall@195.147.207.136) (Read error: Connection reset by peer)
21:16:18 freeside joins (~mengwong@103.252.202.85)
21:17:19 × thyriaen quits (~thyriaen@2a01:aea0:dd4:5328:6245:cbff:fe9f:48b1) (Remote host closed the connection)
21:21:49 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
21:22:20 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 265 seconds)
21:24:28 × cheater quits (~Username@user/cheater) (Ping timeout: 276 seconds)
21:26:07 cheater joins (~Username@user/cheater)
21:27:04 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds)
21:28:44 × Ram-Z quits (~Ram-Z@li1814-254.members.linode.com) (Quit: ZNC - http://znc.in)
21:29:15 × jinsun quits (~jinsun@user/jinsun) (Ping timeout: 248 seconds)
21:30:30 × a_coll quits (~acoll@45.92.120.189) (Quit: Leaving)
21:32:12 Ram-Z joins (Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df)
21:32:13 cheater_ joins (~Username@user/cheater)
21:35:28 × cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds)
21:35:37 cheater joins (~Username@user/cheater)
21:37:06 bitmapper joins (uid464869@id-464869.lymington.irccloud.com)
21:38:25 × cheater_ quits (~Username@user/cheater) (Ping timeout: 256 seconds)
21:40:13 jinsun joins (~jinsun@user/jinsun)
21:44:46 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:47:45 × hrberg quits (~quassel@171.79-160-161.customer.lyse.net) (Ping timeout: 255 seconds)
21:50:38 freeside joins (~mengwong@103.252.202.85)
21:51:33 bhall joins (~brunohall@195.147.207.136)
21:54:12 × adium quits (adium@user/adium) (Ping timeout: 264 seconds)
21:54:51 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 248 seconds)
21:55:07 adium joins (adium@user/adium)
22:01:13 × Fischmiep quits (~Fischmiep@user/Fischmiep) (Read error: Connection reset by peer)
22:05:51 freeside joins (~mengwong@103.252.202.85)
22:09:05 Fischmiep joins (~Fischmiep@user/Fischmiep)
22:10:37 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds)
22:13:30 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:13:49 × michalz quits (~michalz@185.246.207.193) (Remote host closed the connection)
22:13:57 × Fischmiep quits (~Fischmiep@user/Fischmiep) (Quit: Fischmiep)
22:18:18 Fischmiep joins (~Fischmiep@user/Fischmiep)
22:18:41 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
22:18:53 × Fischmiep quits (~Fischmiep@user/Fischmiep) (Client Quit)
22:19:35 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
22:22:44 Fischmiep joins (~Fischmiep@user/Fischmiep)
22:23:41 × acidjnk quits (~acidjnk@p200300d6e715c4953c9ace5586e07e06.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
22:25:18 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 268 seconds)
22:35:26 × tusko quits (~yeurt@user/tusko) (Ping timeout: 255 seconds)
22:35:59 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:36:42 tusko joins (~yeurt@user/tusko)
22:36:54 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
22:40:03 × jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer)
22:41:52 caryhartline joins (~caryhartl@cpe-76-184-32-233.tx.res.rr.com)
22:42:15 dsrt^ joins (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net)
22:44:09 freeside joins (~mengwong@103.252.202.85)
22:46:22 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
22:48:58 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds)
22:51:16 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Ping timeout: 265 seconds)
22:53:05 Square joins (~Square4@user/square)
22:59:46 × zeenk quits (~zeenk@2a02:2f04:a307:2300::7fe) (Quit: Konversation terminated!)
23:00:29 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
23:02:33 × Square quits (~Square4@user/square) (Remote host closed the connection)
23:02:48 Square2 joins (~Square4@user/square)
23:03:38 × Tuplanolla quits (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.)
23:08:13 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 246 seconds)
23:16:39 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 260 seconds)
23:23:22 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
23:25:33 × gurkenglas quits (~gurkengla@dynamic-046-114-182-147.46.114.pool.telefonica.de) (Ping timeout: 250 seconds)
23:39:06 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)
23:44:13 × bhall quits (~brunohall@195.147.207.136) (Ping timeout: 276 seconds)
23:44:44 bhall joins (~brunohall@195.147.207.136)
23:44:55 × segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 265 seconds)
23:52:33 opticblast joins (~Thunderbi@172.58.84.141)
23:54:26 × caryhartline quits (~caryhartl@cpe-76-184-32-233.tx.res.rr.com) (Remote host closed the connection)
23:56:47 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds)
23:57:36 × opticblast quits (~Thunderbi@172.58.84.141) (Quit: opticblast)
23:58:22 segfaultfizzbuzz joins (~segfaultf@108.211.201.53)

All times are in UTC on 2023-03-15.