Home liberachat/#haskell: Logs Calendar

Logs on 2024-11-26 (liberachat/#haskell)

00:00:35 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
00:03:32 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
00:05:25 × unter-oe quits (~unter-oe@user/unter-oe) (Remote host closed the connection)
00:06:00 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
00:10:58 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
00:12:45 × Everything quits (~Everythin@46-133-164-202.mobile.vf-ua.net) (Quit: leaving)
00:14:15 Everything joins (~Everythin@46-133-164-202.mobile.vf-ua.net)
00:21:25 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
00:23:59 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds)
00:24:05 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
00:25:25 Lord_of_Life_ is now known as Lord_of_Life
00:28:30 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
00:32:50 × vanishingideal quits (~vanishing@user/vanishingideal) (Quit: leaving)
00:39:01 × xff0x quits (~xff0x@2405:6580:b080:900:1f91:7e93:b51d:2d0f) (Ping timeout: 252 seconds)
00:43:34 × sprotte24 quits (~sprotte24@p200300d16f21340071325e90113b492f.dip0.t-ipconnect.de) (Quit: Leaving)
00:45:08 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
00:45:46 malte joins (~malte@mal.tc)
00:49:17 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
00:49:40 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
00:50:12 falafel joins (~falafel@2600:1700:99f4:2050:60cb:70cb:6f3b:1b01)
00:50:40 k_hachig_ joins (~k_hachig@pool-99-227-155-93.cpe.net.cable.rogers.com)
00:54:58 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Remote host closed the connection)
00:55:23 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
01:00:30 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
01:05:18 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
01:06:38 × falafel quits (~falafel@2600:1700:99f4:2050:60cb:70cb:6f3b:1b01) (Ping timeout: 245 seconds)
01:11:20 × remedan quits (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!)
01:11:26 weary-traveler joins (~user@user/user363627)
01:13:01 remedan joins (~remedan@ip-62-245-108-153.bb.vodafone.cz)
01:16:10 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
01:18:43 × notzmv quits (~umar@user/notzmv) (Ping timeout: 245 seconds)
01:21:03 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
01:22:36 poscat0x04 joins (~poscat@user/poscat)
01:24:02 × poscat0x04 quits (~poscat@user/poscat) (Read error: Connection reset by peer)
01:24:12 × poscat quits (~poscat@user/poscat) (Read error: Connection reset by peer)
01:28:31 poscat joins (~poscat@user/poscat)
01:28:57 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
01:29:59 × mulk quits (~mulk@pd95146e9.dip0.t-ipconnect.de) (Quit: ZNC - http://znc.in)
01:30:39 mulk joins (~mulk@pd95146e9.dip0.t-ipconnect.de)
01:31:34 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
01:35:05 × tessier quits (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 255 seconds)
01:36:09 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
01:36:27 tessier joins (~treed@ec2-184-72-149-67.compute-1.amazonaws.com)
01:42:26 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
01:44:57 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
01:46:40 × Everything quits (~Everythin@46-133-164-202.mobile.vf-ua.net) (Quit: leaving)
01:46:55 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
01:50:21 × malte quits (~malte@mal.tc) (Remote host closed the connection)
01:51:30 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
01:52:56 malte joins (~malte@mal.tc)
01:55:38 × ph88 quits (~ph88@2a02:8109:9e26:c800:6231:4530:9b98:8ee4) (Remote host closed the connection)
01:58:01 <haskellbridge> <Bowuigi> With proper warnings, given that it might allucinate, I think this is actually a good idea
01:59:47 <haskellbridge> <Bowuigi> Having good error messages and good performance are both good properties that are almost always at conflict
01:59:47 × yaroot quits (~yaroot@2400:4052:ac0:d901:1cf4:2aff:fe51:c04c) (Remote host closed the connection)
02:00:28 yaroot joins (~yaroot@p2987138-ipngn7501souka.saitama.ocn.ne.jp)
02:01:30 × yaroot quits (~yaroot@p2987138-ipngn7501souka.saitama.ocn.ne.jp) (Remote host closed the connection)
02:02:19 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
02:02:28 <haskellbridge> <Bowuigi> It seems like LLMs can collect some of that metadata given the error message and a bit of code. Since this is separate from compilation itself, I'd say that training an LLM for this and not enabling this functionality on the compiler itself could result in faster compile times for everyone
02:04:25 user363627 joins (~user@user/user363627)
02:05:11 <haskellbridge> <Bowuigi> Of course, that model needs to be launched on every error message and enough context must be given, but specialised models should be small enough to not be a huge pain. Most of the time you are working on a single type error at once too (also this system would be opt-out on each compilation)
02:07:59 × weary-traveler quits (~user@user/user363627) (Ping timeout: 260 seconds)
02:09:08 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
02:10:10 Alleria_ joins (~Alleria@user/alleria)
02:11:33 × Alleria quits (~Alleria@user/alleria) (Ping timeout: 248 seconds)
02:12:31 yaroot joins (~yaroot@p2987138-ipngn7501souka.saitama.ocn.ne.jp)
02:20:10 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
02:23:13 × olivial quits (~benjaminl@user/benjaminl) (Ping timeout: 248 seconds)
02:23:21 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 246 seconds)
02:23:35 olivial joins (~benjaminl@user/benjaminl)
02:24:24 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
02:27:53 notzmv joins (~umar@user/notzmv)
02:32:21 × sefidel quits (~sefidel@user/sefidel) (Ping timeout: 248 seconds)
02:32:53 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds)
02:33:18 euleritian joins (~euleritia@dynamic-176-006-136-191.176.6.pool.telefonica.de)
02:33:26 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 260 seconds)
02:33:51 califax_ joins (~califax@user/califx)
02:34:01 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds)
02:34:21 mantraofpie_ joins (~mantraofp@user/mantraofpie)
02:34:36 × califax quits (~califax@user/califx) (Ping timeout: 260 seconds)
02:34:36 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 260 seconds)
02:34:36 × mantraofpie quits (~mantraofp@user/mantraofpie) (Ping timeout: 260 seconds)
02:34:36 × chiselfuse quits (~chiselfus@user/chiselfuse) (Ping timeout: 260 seconds)
02:35:11 califax_ is now known as califax
02:35:30 mantraofpie_ is now known as mantraofpie
02:35:33 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
02:35:33 ChaiTRex joins (~ChaiTRex@user/chaitrex)
02:36:50 gmg joins (~user@user/gehmehgeh)
02:40:17 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
02:41:49 chiselfuse joins (~chiselfus@user/chiselfuse)
02:44:56 × j1n37 quits (j1n37@user/j1n37) (Read error: Connection reset by peer)
02:47:04 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
02:49:15 j1n37 joins (j1n37@user/j1n37)
02:50:54 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
02:55:47 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
02:58:08 sefidel joins (~sefidel@user/sefidel)
02:59:00 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
03:03:38 Feuermagier joins (~Feuermagi@user/feuermagier)
03:04:28 × j1n37 quits (j1n37@user/j1n37) (Read error: Connection reset by peer)
03:05:52 agent314 joins (~quassel@68.235.46.203)
03:06:18 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
03:08:23 × Square2 quits (~Square4@user/square) (Remote host closed the connection)
03:08:44 j1n37 joins (j1n37@user/j1n37)
03:09:03 Square2 joins (~Square4@user/square)
03:13:36 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
03:21:26 × machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Remote host closed the connection)
03:21:38 × foul_owl quits (~kerry@185.216.231.180) (Ping timeout: 245 seconds)
03:24:20 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
03:27:14 machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net)
03:28:47 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
03:31:16 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
03:31:29 poscat0x04 joins (~poscat@user/poscat)
03:32:12 × poscat0x04 quits (~poscat@user/poscat) (Remote host closed the connection)
03:33:45 × poscat quits (~poscat@user/poscat) (Ping timeout: 276 seconds)
03:34:17 × loonycyborg_ quits (loonycybor@chat.chantal.wesnoth.org) (Ping timeout: 252 seconds)
03:39:42 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
03:41:13 foul_owl joins (~kerry@157.97.134.167)
03:44:21 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
03:49:32 poscat joins (~poscat@user/poscat)
03:50:39 × Square2 quits (~Square4@user/square) (Ping timeout: 276 seconds)
03:53:59 loonycyborg joins (loonycybor@wesnoth/developer/loonycyborg)
03:55:04 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
03:59:59 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
04:04:21 machined1od joins (~machinedg@d108-173-18-100.abhsia.telus.net)
04:04:39 × aforemny_ quits (~aforemny@i59F4C7EE.versanet.de) (Ping timeout: 260 seconds)
04:04:40 aforemny joins (~aforemny@2001:9e8:6cf9:ec00:2244:25c5:1fd9:5632)
04:04:47 × machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Read error: Connection reset by peer)
04:08:00 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:12:38 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
04:16:02 machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net)
04:16:30 × machined1od quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 265 seconds)
04:20:45 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
04:23:24 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:27:45 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
04:29:50 machined1od joins (~machinedg@d108-173-18-100.abhsia.telus.net)
04:29:58 × machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Read error: Connection reset by peer)
04:38:45 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:42:41 weary-traveler joins (~user@user/user363627)
04:43:34 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
04:46:31 × user363627 quits (~user@user/user363627) (Ping timeout: 252 seconds)
04:54:08 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:57:54 × j1n37 quits (j1n37@user/j1n37) (Read error: Connection reset by peer)
04:59:01 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
05:02:10 j1n37 joins (j1n37@user/j1n37)
05:03:23 × tessier quits (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 265 seconds)
05:04:34 tessier joins (~treed@ec2-184-72-149-67.compute-1.amazonaws.com)
05:08:32 × remedan quits (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!)
05:09:18 remedan joins (~remedan@ip-62-245-108-153.bb.vodafone.cz)
05:09:40 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
05:13:06 × swamp_ quits (~zmt00@user/zmt00) (Quit: Leaving)
05:14:14 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
05:14:45 zmt00 joins (~zmt00@user/zmt00)
05:18:07 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
05:19:24 × machined1od quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 246 seconds)
05:25:05 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
05:29:25 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
05:29:48 × tessier quits (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 252 seconds)
05:31:13 tessier joins (~treed@ec2-184-72-149-67.compute-1.amazonaws.com)
05:39:48 <ski> @where existential-antipattern
05:39:48 <lambdabot> "Haskell Antipattern: Existential Typeclass" by Luke Palmer at <https://web.archive.org/web/20220121105027/https://lukepalmer.wordpress.com/2010/01/24/haskell-antipattern-existential-typeclass/>
05:39:55 <ski> bailsman ^
05:40:03 <ski> @where incremental-parameter-antipattern
05:40:03 <lambdabot> "Haskell anti-pattern: incremental ad-hoc parameter abstraction" by Brent Yorgey at <http://byorgey.wordpress.com/2010/04/03/haskell-anti-pattern-incremental-ad-hoc-parameter-abstraction/>
05:40:27 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
05:43:12 michalz joins (~michalz@185.246.207.201)
05:43:47 × euleritian quits (~euleritia@dynamic-176-006-136-191.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
05:44:05 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
05:45:26 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
05:48:53 × mulk quits (~mulk@pd95146e9.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
05:51:40 mulk joins (~mulk@p5b112b80.dip0.t-ipconnect.de)
05:52:53 × alp_ quits (~alp@2001:861:8ca0:4940:59db:a92c:453c:d8da) (Ping timeout: 252 seconds)
05:55:51 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
05:56:51 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:02:26 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
06:03:01 × k_hachig_ quits (~k_hachig@pool-99-227-155-93.cpe.net.cable.rogers.com) (Ping timeout: 248 seconds)
06:07:53 × subjective51 quits (~SN51@user/subjective51) (Ping timeout: 245 seconds)
06:09:02 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
06:13:21 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
06:13:43 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
06:16:12 Guest80 joins (~Guest61@2a02-a420-262-9cfd-2148-5c62-8bbd-b288.mobile6.kpn.net)
06:17:15 × Guest80 quits (~Guest61@2a02-a420-262-9cfd-2148-5c62-8bbd-b288.mobile6.kpn.net) (Client Quit)
06:17:20 k_hachig_ joins (~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f)
06:24:06 × k_hachig_ quits (~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f) (Ping timeout: 265 seconds)
06:24:38 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
06:29:11 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
06:30:02 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
06:31:49 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds)
06:32:43 euleritian joins (~euleritia@dynamic-176-007-197-227.176.7.pool.telefonica.de)
06:34:10 mcfrd joins (~mcfrdy@user/mcfrdy)
06:34:41 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
06:36:52 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds)
06:36:52 × mcfrdy quits (~mcfrdy@user/mcfrdy) (Ping timeout: 260 seconds)
06:36:52 Lord_of_Life_ is now known as Lord_of_Life
06:37:07 mcfrd is now known as mcfrdy
06:38:21 × agent314 quits (~quassel@68.235.46.203) (Ping timeout: 276 seconds)
06:40:00 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
06:45:09 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
06:55:20 acidjnk_new3 joins (~acidjnk@p200300d6e7283f15c18c09329fdf1ca2.dip0.t-ipconnect.de)
06:55:55 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
07:00:22 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
07:05:04 sord937 joins (~sord937@gateway/tor-sasl/sord937)
07:10:00 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
07:11:05 CiaoSen joins (~Jura@2a05:5800:23e:7200:ca4b:d6ff:fec1:99da)
07:17:44 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
07:26:00 briandaed joins (~root@user/briandaed)
07:28:11 tzh_ joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
07:28:12 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
07:32:16 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Ping timeout: 252 seconds)
07:32:24 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
07:39:59 k_hachig_ joins (~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f)
07:43:35 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
07:44:53 × k_hachig_ quits (~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f) (Ping timeout: 248 seconds)
07:50:13 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
07:52:25 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
07:57:56 sawilagar joins (~sawilagar@user/sawilagar)
08:00:00 × caconym quits (~caconym@user/caconym) (Quit: bye)
08:00:36 caconym joins (~caconym@user/caconym)
08:03:46 <dminuoso> 23:25:19 hellwolf │ Perhaps, we should have a plugin for GHC, that translate message through chatgpt for people that needs assistant?
08:03:48 <dminuoso> No we should not.
08:04:59 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
08:06:49 <tomsmeding> https://errors.haskell.org/
08:06:51 <dminuoso> The current system is pretty great: Instead of just giving you an error message, we are giving you error cxodes.
08:07:28 <dminuoso> Yup. We already have a system to help you decipher errors, but instead of random generative AI confabulations filled with inaccuracies and just garbage, it gives you exact answers.
08:08:01 <dminuoso> In a way I am glad generative AI is becoming so popular, it is guaranteed job security for those who keep building up experience in writing code.
08:08:23 <tomsmeding> at employers that care about the latter
08:09:08 <tomsmeding> (disclaimer, I don't know how much of a problem that really is in practice)
08:10:40 <dminuoso> tomsmeding: I have some insights in how education is dealing with it at the school where my girlfriend teaches at. There is an alarming number of students that use it for homework assignments, to answer questions during classes and during exams. As a result the students effectively void the primary purpose of all three: Working with material to build up competency.
08:11:50 <tomsmeding> dminuoso: is that secondary school or university?
08:12:29 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
08:12:43 <dminuoso> What is secondary school to you?
08:12:53 <tomsmeding> :')
08:12:53 <dminuoso> Ah, no.
08:13:07 <tomsmeding> age 12 to 18, if I'm to take the dutch definnition
08:13:18 <dminuoso> Here it is called Gymnasium which is the school that grants you university access.
08:13:37 <dminuoso> tomsmeding: Based on my research secondary education seems to be about an alternate path that does not lead to university *shrugs*
08:13:39 <dminuoso> at any rate
08:13:55 <dminuoso> She prepares students for university
08:14:04 <tomsmeding> I find it endlessly fascinating how every country has their own way of designing an education system, and somehow it all works
08:14:49 <tomsmeding> dminuoso: wikipedia claims that Germany has three streams of secondary education: Hauptschule, Realschule and Gymnasium
08:14:51 <dminuoso> The school system here is federated, so its state responsibility even.
08:15:44 <dminuoso> tomsmeding: Heck, language about cultures across cultures is a problematic thing.
08:15:53 <dminuoso> Take for instance, how do you call the meal at noon?
08:16:28 <tomsmeding> lunch, or luncheon if you're being funny
08:17:03 <tomsmeding> (the former happens to also be the dutch word)
08:17:08 <tomsmeding> (I'm not sure which way the loan went)
08:17:10 <dminuoso> So this is an interesting bit. In the USA the main course is eaten in the evening called dinner. However, plenty of Americans do not associate the term `dinner` with being in the evening, but with the fact that its the main course of the day.
08:17:41 <dminuoso> So in Germany we have the main coure at noon, and they might call that one dinner.
08:18:03 <dminuoso> A typical problem in translation.
08:18:13 <tomsmeding> heh
08:18:46 alp_ joins (~alp@2001:861:8ca0:4940:c3d3:ea8c:4ef4:3945)
08:18:48 <dminuoso> So what we call Abendbrot they might call supper, which is also funny given there is no soup involved.
08:19:05 <dminuoso> Based on my research none of this is however well agreed on.
08:19:29 <dminuoso> So finding unifying terms about education is a hopeless excercise
08:19:41 <tomsmeding> right :p
08:20:04 <tomsmeding> (it turns out the 'lunch' loan goes English -> Dutch)
08:20:33 <dminuoso> Anyway. Students see generative AI as making school easier, but in reality they are just not following the primary goals of tasks. That is, teachers dont care about your answers, and generally they dont care whether your answer is right or wrong.
08:20:36 <tomsmeding> at least for meals we have the workaround of doing stuff like "midday meal"
08:20:54 <tomsmeding> they don't? I do.
08:20:57 <dminuoso> They just want you to study material, they want you to build up competency dealing with texts, applying principles and practicing techniques.
08:21:03 <tomsmeding> But perhaps I haven't been sufficiently jaded yet (probably)
08:21:11 <tomsmeding> oh in that sense
08:21:49 <tomsmeding> sure, the end goal is not to have students perform on exams
08:22:25 <tomsmeding> but with "gaming the system" being an accepted mode of operation among a significant fraction of the population, exams are what we have
08:22:27 <dminuoso> Of course, from a financial point of view it may very well be the goal - which creates incentives for students to actually use generative AI everywhere.
08:23:08 <dminuoso> Schools and universities generally get paid per graduated student, per certification earned, per PhD greanted..
08:24:24 <dminuoso> tomsmeding: https://t.co/HGfGrwo3ir
08:24:31 <tomsmeding> there is an incentive for schools to keep the level up at least somewhat, though: if you just hand out certificates willy-nilly, then your reputation will sink, and fewer students will attend your school, so you get fewer graduates too
08:24:40 <dminuoso> This is a cherry.
08:25:34 <dminuoso> People involved with scam currency, tasking generative AI to write code for their financial investment, using that code without audit, with the AI not only sending private keys, but sending them to a scammer API.
08:25:56 <tomsmeding> right, somehow it's unsurprising that this involves cryptocurrency
08:26:09 <dminuoso> :-)
08:26:51 <tomsmeding> "the trust in @OpenAI lost me"
08:27:38 <tomsmeding> pretty good scamming mode of operation! Get yourself recommended by an AI service, then watch the credits roll in
08:28:27 <tomsmeding> automatic pre-selection of people who are less likely to double-check what they're doing. :)
08:28:55 × APic quits (apic@apic.name) (Ping timeout: 264 seconds)
08:29:25 <tomsmeding> is this the new form of SEO? "AIO"?
08:29:47 <dminuoso> Do you know of the great filter theory as a resolution to the fermi paradox?
08:30:04 <tomsmeding> I know neither that theory _nor_ the fermi paradox
08:30:34 tomsmeding reads wikipedia
08:30:34 <dminuoso> Oh, so the fermi paradox is that with the sheer number of stars and planets in our galaxy, why haven't we see any indication of extra terrestial life.
08:32:04 <tomsmeding> what's the relation to cryptocurrency scamming? :P
08:32:09 <dminuoso> And the great filter hypothesizes that evolution has many difficult requirements that are hard to fulfill, and each barrier sort of "filters out" viable candidatres.
08:32:49 × tessier quits (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 260 seconds)
08:33:38 <dminuoso> Assuming we have a suitable star and planet, will it produce reproduction, will that form into cells, will cells become multi-cellular, will that develop sexual reproduction, will those life forms develop fine motor skills, etc. etc.
08:34:28 <dminuoso> Sometimes I wonder whether one of the great filters is avoiding technology that will lead to self destruction.
08:34:29 × remedan quits (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Ping timeout: 255 seconds)
08:34:53 <tomsmeding> makes me think of Dune
08:35:05 <tomsmeding> (but perhaps that's because I recently re-read the series)
08:35:06 tessier joins (~treed@ec2-184-72-149-67.compute-1.amazonaws.com)
08:35:20 <dminuoso> Have not read and not watched, yet.
08:35:27 <tomsmeding> I can recommend the books, at least
08:35:46 <dminuoso> Ill have ChatGPT give me a summary. >:)
08:36:10 <tomsmeding> the genre changes quite a bit from book 1 to books 2&3, and then from that again a bit to books 4-8
08:37:18 merijn joins (~merijn@77.242.116.146)
08:37:21 <tomsmeding> the relevant bit (which is not a spoiler) is that an important part of (fictional) historical background in the story is the Butlerian Jihad: mankind had created an intelligent machine that was taking over humanity, and humanity revolted
08:37:40 <tomsmeding> and agreed to never again "make a machine in the image of the human mind", or some similar phrase
08:38:28 <tomsmeding> I'm not going to say more than that because commenting more on this is a bit of a spoiler for the closing novel :p
08:39:56 <merijn> tomsmeding: And then his son ruined that by completely misunderstanding the meaning and turning it into some vague matrixy machine uprising >.>
08:40:35 <tomsmeding> merijn: I'm not sure what to think of the last two books (by {his ,Ander}son)
08:40:38 <merijn> Whereas obviously "Butlerian Jihad == 70s IBM slide" :p
08:40:59 <tomsmeding> I started on them thinking "whatever, I got this far, let's see"
08:41:26 <tomsmeding> (my previous read was just books 1-3; this time I read till the end)
08:41:44 <merijn> tomsmeding: (this slide specifically: https://miro.medium.com/v2/resize:fit:720/format:webp/1*zutKwuoRph8ucPWNR7rWbw.jpeg)
08:42:00 <tomsmeding> heh
08:42:25 <merijn> tomsmeding: I just don't understand why his own son so completely whiffed his (imo fairly obvious) intentions
08:42:34 <dminuoso> merijn: Hold on, that reasoning is completely flawed. If something cannot be held accountable, that seems just *perfect* for management decisions.
08:43:05 <merijn> dminuoso: Well, you go and Google "toeslagenaffaire" in the Netherlands and discover why that's completely fucking wrong :)
08:43:06 <tomsmeding> the accountability just shifts to the implementers of the system
08:43:12 <tomsmeding> also ^
08:43:20 <merijn> dminuoso: It's "just following orders" for bureaucracy
08:43:54 <merijn> dminuoso: Something that has the power to ruin people's lives should ALWAYS have a mechanism for holding decision makers accountable
08:44:24 <haskellbridge> <maerwald> seems we're in agreement that we must destroy AI at all costs
08:44:41 <merijn> No one ever seems to stop and wonder "why did Frank Herbert write a sci-fi novel with a feudal government?"
08:44:42 <tomsmeding> merijn: do we have info on how much of "Dune 7" is from the mind of Herbert Jr., and how much is from Herbert Sr.'s notes?
08:45:20 <merijn> imo the feudal government and Butlerian Jihad are directly linked. It's the polar opposite of abdicating personal responsibility
08:48:00 <dminuoso> merijn: You folks are beginners. Here we had the biggest tax fraud (twisting the legal system such that get higher tax returns than you owed..) in the billions, and the central figures got away by being forgetful "I do not remember anything".
08:48:31 <tomsmeding> '"I do not remember anything"' is suspiciously similar to what our prime minister said
08:48:32 <dminuoso> Look up CumEx! :-)
08:48:50 <tomsmeding> "I have no active memory of that" was the catchphrase
08:49:14 <dminuoso> (While several european countries were involved, we really showed how to do it)
08:50:27 k_hachig_ joins (~k_hachig@pool-99-227-155-93.cpe.net.cable.rogers.com)
08:51:00 <mauke> wait, wasn't that Olaf Scholz?
08:51:12 <dminuoso> I cannot recall.
08:51:19 <mauke> haha
08:53:04 <monochrom> Ugh haha what happened, Dune 7 and tax evasion?
08:54:27 × ft quits (~ft@p508db9c7.dip0.t-ipconnect.de) (Quit: leaving)
08:54:35 <tomsmeding> monochrom: generative AI -> schools -> cryptocurrency scams -> a resolution to the Fermi paradox (perhaps most life avoids self-destruction tech) -> Dune -> accountability of government -> tax evasion
08:54:39 <tomsmeding> does it make more sense now? :)
08:55:17 <mauke> {-# LANGUAGE IncoherentRambling #-}
08:55:44 <tomsmeding> semantics: passes your code through ChatGPT before compiling
08:56:31 <mauke> I'm dealing with the effects of yesterday's Corvid vaccination
08:56:49 × k_hachig_ quits (~k_hachig@pool-99-227-155-93.cpe.net.cable.rogers.com) (Ping timeout: 248 seconds)
08:56:51 <tomsmeding> bird flu?
08:57:20 <dminuoso> tomsmeding: Oh that's simply a simplifier pass, isn't it?
08:57:20 <mauke> caw
08:57:41 <tomsmeding> dminuoso: if it is then why aren't we using it?
08:57:48 machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net)
08:58:07 <dminuoso> Personally I would have IncoherentRambling rather have generative AI generate diagnostics.
08:58:15 <dminuoso> Such that GHC rambles incoherently.
08:59:20 <dminuoso> By default we only have {-# LANGUAGE RambleIncomprehensible #-} which is a built-in feature.
08:59:33 <dminuoso> IncomprehensibleRambling
09:00:42 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 276 seconds)
09:01:57 merijn joins (~merijn@77.242.116.146)
09:02:27 <merijn> dminuoso: I mean, did that result in double digit (triple digit?) parents losing custody of their children and ripping families apart?
09:03:01 <merijn> Althought that's more for -offtopic :p
09:03:25 <tomsmeding> (this whole discussion has been -offtopic)
09:04:29 × gorignak quits (~gorignak@user/gorignak) (Ping timeout: 260 seconds)
09:07:25 × rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer)
09:07:57 rvalue joins (~rvalue@user/rvalue)
09:11:28 subjective51 joins (~SN51@user/subjective51)
09:11:42 gorignak joins (~gorignak@user/gorignak)
09:17:00 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
09:18:35 × CiaoSen quits (~Jura@2a05:5800:23e:7200:ca4b:d6ff:fec1:99da) (Ping timeout: 265 seconds)
09:21:17 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:22:19 × tabemann quits (~tabemann@2600:1700:7990:24e0:f270:15d3:9241:b0a1) (Remote host closed the connection)
09:23:28 tabemann joins (~tabemann@2600:1700:7990:24e0:994a:79ad:26a3:286b)
09:28:01 internatetional joins (~nate@2001:448a:20a3:c2e5:9ba2:a48e:b934:7d97)
09:28:14 × zero quits (~z@user/zero) (Ping timeout: 272 seconds)
09:37:48 lxsameer joins (~lxsameer@Serene/lxsameer)
09:46:18 chele joins (~chele@user/chele)
09:46:54 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
09:47:38 merijn joins (~merijn@77.242.116.146)
09:49:41 MrMickerbocker joins (~MrMickerb@user/MrMickerbocker)
09:49:46 MrMickerbocker parts (~MrMickerb@user/MrMickerbocker) ()
09:52:03 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 245 seconds)
09:52:35 <kqr> If I have an infinite list of IO actions, I imagined I would be able to sequenceA xs >>= \and_this_would_be_a_lazy_list but that seems to not be the case. What am I missing?
09:52:41 merijn joins (~merijn@77.242.116.146)
09:52:57 mari-estel joins (~mari-este@user/mari-estel)
09:53:34 <dminuoso> % sequenceA (repeat (putChar 'a'))3
09:53:34 <yahb2> Oops, something went wrong
09:53:36 <dminuoso> % sequenceA (repeat (putChar 'a'))3
09:53:36 <yahb2> <interactive>:5:1: error: [GHC-83865] ; • Couldn't match expected type: t0 -> t ; with actual type: IO [()] ; • The function ‘sequenceA’ is applied to two visible argument...
09:53:42 <dminuoso> Err..
09:53:44 <dminuoso> % sequenceA (repeat (putChar 'a'))
09:53:44 <yahb2> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
09:53:46 <int-e> kqr: IO effectd are ordered
09:53:52 <int-e> *effects
09:53:56 <dminuoso> kqr: seems to work fine?
09:54:09 <int-e> all effects from the sequenceA will happen before the next action gets to run
09:54:12 <dminuoso> Oh you want that lazy list.
09:54:29 <dminuoso> kqr: You want to look at streaming solutions.
09:54:48 <tomsmeding> kqr: imagine if one of the actions in `xs` did stuff to a file, then surely you'd want that to be done once you get your list of results
09:54:53 <int-e> There's unsafeInterleaveIO if you're feeling adventerous.
09:54:55 <tomsmeding> (this is why IO is ordered)
09:55:24 <int-e> (used for lazy IO, which is known for being convenient on the one hand and full of pitfalls on the other hand)
09:55:49 <dminuoso> If you think you want lazy IO, you really want something like conduit or some other streaming library. :-)
09:55:55 <dminuoso> You just dont know it yet.
09:56:40 <int-e> <3 `interact foo`
09:57:36 <kqr> I see. I don't /really/ want lazy IO. This is not for production code but an article I'm thinking of writing to showcase `for` from traversable. It would have been neat to be able to show it working on an infinite stream. It might still be possible to do that by switching to a less... impactful monad, but that might also be more effort than it's worth for a quick demo.
09:57:52 <dminuoso> Well, it does work on infinite streams..
09:58:23 <kqr> Yeah, but I was using IO to generate the infinite stream, and on IO it does not work!
09:58:27 <dminuoso> For demonstration you could spool up two threads, and that infinite `for_` pushes into a TQueue?
09:58:36 <dminuoso> Of course it does work.
09:58:44 <dminuoso> Just not in a single thread with sequenceA.
09:58:46 <kqr> Well, it works but not the sequenceA that I used to sequence the IO into a list with.
09:59:16 <dibblego> yeah it works
09:59:18 <dminuoso> Well, even that sequenceA does work on infinite streams..
09:59:20 <int-e> it's working as intended
09:59:39 <dminuoso> It's just that it does not do lazy IO.
09:59:59 <dminuoso> So if you want to show incremental results, add stm to the mix.
09:59:59 <int-e> It can't be magically lazy in a monad that whose effects are strict by design.
10:00:24 × CrunchyFlakes quits (~CrunchyFl@31.19.233.78) (Ping timeout: 252 seconds)
10:00:34 CiaoSen joins (~Jura@2a05:5800:23e:7200:ca4b:d6ff:fec1:99da)
10:00:50 CrunchyFlakes joins (~CrunchyFl@31.19.233.78)
10:00:53 <kqr> I'm not faulting IO or sequenceA or for here, to be clear! I'm just looking for an easy artificial example that is not too artificial or complicated. I want it to be somewhat readable even to someone who does not otherwise use Haskell.
10:01:06 <dminuoso> Well, you want sequenceA to show something its not.
10:01:14 <dminuoso> So it's abit unclear what to recommend.
10:01:29 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds)
10:02:02 <int-e> forM_ [1..] print will work
10:02:25 merijn joins (~merijn@77.242.116.146)
10:02:26 k_hachig_ joins (~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f)
10:02:41 <dminuoso> % for_ [1..] print
10:02:41 <yahb2> Oops, something went wrong
10:02:46 <dminuoso> Yeah something did.
10:02:48 <dminuoso> % for_ [1..] print
10:02:48 <yahb2> <interactive>:5:1: error: [GHC-88464] ; Variable not in scope: for_ :: [a0] -> (a1 -> IO ()) -> t
10:02:54 <dminuoso> % import Data.Foldable
10:02:54 <yahb2> <no output>
10:02:56 <dminuoso> % for_ [1..] print
10:02:56 <yahb2> 1 ; 2 ; 3 ; 4 ; 5 ; 6 ; 7 ; 8 ; 9 ; 10 ; 11 ; 12 ; 13 ; 14 ; 15 ; 16 ; 17 ; 18 ; 19 ; 20 ; 21 ; 22 ; 23 ; 24 ; 25 ; 26 ; 27 ; 28 ; 29 ; 30 ; 31 ; 32 ; 33 ; 34 ; 35 ; 36 ; 37 ; 38 ; 39 ; 40 ; 41 ; 4...
10:03:48 <hellwolf> % :quit
10:03:48 <yahb2> <bye>
10:03:53 <kqr> Actually you gave me an idea! I was stuck thinking of using IO to generate the infinite stream, but I don't actually need that! randomRs does it without the IO.
10:04:56 APic joins (apic@apic.name)
10:05:13 <int-e> > runWriter (for_ [1..] (tell . (:[])) >> pure 42)
10:05:14 <lambdabot> (42,[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27...
10:07:17 × k_hachig_ quits (~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f) (Ping timeout: 248 seconds)
10:07:54 <int-e> (Writer is lazy enough to do that kind of thing. That includes producing intermediate results lazily, even though I haven't used that in the example.)
10:09:13 <int-e> The lazy state monad also gives you lazy intermediate results, but when using the state you incur a data dependency on all actions passed to `sequence`. It's subtle.
10:09:38 <int-e> :t mfix
10:09:39 <lambdabot> MonadFix m => (a -> m a) -> m a
10:13:08 <kqr> int-e, That sounds like it could be relevant in this case. I was going to use a State expression to illustrate what can be done inside the "loop body" of for. But I'm not sure I understand what it means to incur a data dependency.
10:14:07 × califax quits (~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in)
10:14:33 califax joins (~califax@user/califx)
10:14:54 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 260 seconds)
10:15:45 <int-e> > let loop = forever (pure ()) in (execState (loop >> put 23) 42, execState (loop >> modify (subtract 19)) 42)
10:15:52 <lambdabot> mueval-core: Time limit exceeded
10:16:04 <int-e> > let loop = forever (pure ()) in (execState (loop >> put 23) 42)
10:16:06 <lambdabot> 23
10:17:59 <tomsmeding> % let loop = putChar 'a' >> loop in loop
10:17:59 <yahb2> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
10:18:01 <tomsmeding> % 1 + 1
10:18:01 <yahb2> Oops, something went wrong
10:18:03 <tomsmeding> % 1 + 1
10:18:03 <yahb2> 2
10:18:15 <tomsmeding> okay yeah yahb2 breaks when you produce infinite IO :>
10:18:29 <tomsmeding> (it can't find the next prompt, for obvious reasons)
10:26:34 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
10:27:30 ljdarj joins (~Thunderbi@user/ljdarj)
10:31:59 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
10:32:41 merijn joins (~merijn@77.242.116.146)
10:34:08 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
10:37:19 ent-_ is now known as ent
10:38:20 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
10:38:22 vanishingideal joins (~vanishing@user/vanishingideal)
10:38:30 × califax quits (~califax@user/califx) (Remote host closed the connection)
10:38:49 califax joins (~califax@user/califx)
10:40:12 × tzh_ quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
10:47:40 × subjective51 quits (~SN51@user/subjective51) (Remote host closed the connection)
10:48:04 subjective51 joins (~SN51@user/subjective51)
10:57:12 × mange quits (~user@user/mange) (Quit: Zzz...)
11:04:44 k_hachig_ joins (~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f)
11:10:43 × k_hachig_ quits (~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f) (Ping timeout: 265 seconds)
11:10:50 × euleritian quits (~euleritia@dynamic-176-007-197-227.176.7.pool.telefonica.de) (Read error: Connection reset by peer)
11:11:07 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
11:11:49 xff0x joins (~xff0x@2405:6580:b080:900:4b74:4f5a:a562:d6)
11:14:24 remedan joins (~remedan@ip-62-245-108-153.bb.vodafone.cz)
11:21:34 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 260 seconds)
11:25:04 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
11:26:46 euleritian joins (~euleritia@dynamic-176-004-005-158.176.4.pool.telefonica.de)
11:28:23 <kqr> Okay but now I am very confused. In this first example, it gathers up all the 50 results first, and then prints them all at once: https://entropicthoughts.com/pastes/forill_nonlazy-57ed31.hs.html
11:28:35 <kqr> In this second example, it prints each result lazily: https://entropicthoughts.com/pastes/forill_lazy-f65616.hs.html
11:28:46 <kqr> The only difference are the last few lines of the factorise function!
11:31:19 zero joins (~z@user/zero)
11:32:09 × internatetional quits (~nate@2001:448a:20a3:c2e5:9ba2:a48e:b934:7d97) (Ping timeout: 276 seconds)
11:33:41 × euleritian quits (~euleritia@dynamic-176-004-005-158.176.4.pool.telefonica.de) (Ping timeout: 248 seconds)
11:34:00 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
11:36:41 comerijn joins (~merijn@77.242.116.146)
11:37:17 <int-e> kqr: the difference is when the entries of the `cache` map are evaluated. The difference disappears if you use Data.Map.Strict
11:39:12 <int-e> (well I'
11:39:58 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 272 seconds)
11:40:00 <int-e> I'm not sure whether it completely disappears, but I can no longer see the incremental printing effect)
11:41:36 × mceresa quits (~mceresa@user/mceresa) (Ping timeout: 252 seconds)
11:42:40 <kqr> Oh this seems really subtle. I'll have to think about it for a bit.
11:42:41 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
11:42:55 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
11:42:57 <kqr> What I don't get is why it can't even return the list spine without forcing all computations in the first case.
11:44:31 <int-e> the comparison forces `factor`
11:47:14 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:48:20 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
11:48:20 <int-e> and the comparison determines the next IO action after the `maybe (compute_cached cache n) pure cached` one
11:48:56 <int-e> Whereas in thge "lazy" version, the comparison is inside the returned value, not part of the chain of IO actions.
11:51:13 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds)
11:54:08 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
11:56:24 euleritian joins (~euleritia@dynamic-176-003-003-193.176.3.pool.telefonica.de)
11:56:38 × acidjnk_new3 quits (~acidjnk@p200300d6e7283f15c18c09329fdf1ca2.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
11:57:27 mceresa joins (~mceresa@user/mceresa)
11:59:00 × euleritian quits (~euleritia@dynamic-176-003-003-193.176.3.pool.telefonica.de) (Read error: Connection reset by peer)
12:00:08 acidjnk_new3 joins (~acidjnk@p200300d6e7283f15c18c09329fdf1ca2.dip0.t-ipconnect.de)
12:00:09 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
12:00:09 × caconym quits (~caconym@user/caconym) (Quit: bye)
12:02:14 caconym joins (~caconym@user/caconym)
12:03:17 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 255 seconds)
12:04:26 k_hachig_ joins (~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f)
12:05:01 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
12:06:31 Guest83 joins (~Guest83@ip-109-193-039-146.um39.pools.vodafone-ip.de)
12:07:30 × tessier quits (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 246 seconds)
12:08:32 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
12:08:32 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
12:08:39 euleritian joins (~euleritia@dynamic-176-003-003-193.176.3.pool.telefonica.de)
12:08:47 tessier joins (~treed@ec2-184-72-149-67.compute-1.amazonaws.com)
12:09:02 × euleritian quits (~euleritia@dynamic-176-003-003-193.176.3.pool.telefonica.de) (Read error: Connection reset by peer)
12:09:20 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
12:09:22 × k_hachig_ quits (~k_hachig@2607:fea8:351d:ef0:690a:d860:2d7f:ae8f) (Ping timeout: 248 seconds)
12:13:41 × mari-estel quits (~mari-este@user/mari-estel) ()
12:13:52 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
12:21:59 Square2 joins (~Square4@user/square)
12:22:50 weary-traveler joins (~user@user/user363627)
12:23:19 × vanishingideal quits (~vanishing@user/vanishingideal) (Quit: burn)
12:23:26 pavonia joins (~user@user/siracusa)
12:24:18 × notzmv quits (~umar@user/notzmv) (Ping timeout: 248 seconds)
12:37:03 × housemate quits (~housemate@9ykysfsznx8pps88h8ff.ip6.superloop.au) (Quit: Nothing to see here. I wasn't there.)
12:37:20 × Guest83 quits (~Guest83@ip-109-193-039-146.um39.pools.vodafone-ip.de) (Quit: Client closed)
12:40:02 __monty__ joins (~toonn@user/toonn)
12:40:09 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 260 seconds)
12:43:36 × ethantwardy quits (user@user/ethantwardy) (Quit: WeeChat 4.3.2)
12:44:29 housemate joins (~housemate@2a04:9dc0:0:162::5d91:d7ed)
12:45:02 lxsameer joins (~lxsameer@Serene/lxsameer)
12:46:20 ph88 joins (~ph88@2a02:8109:9e26:c800:5d5d:d40:d2d2:7cc7)
12:57:16 × dibblego quits (~dibblego@haskell/developer/dibblego) (Read error: Connection reset by peer)
12:57:30 dibblego joins (~dibblego@116-255-1-119.ip4.superloop.au)
12:57:30 × dibblego quits (~dibblego@116-255-1-119.ip4.superloop.au) (Changing host)
12:57:30 dibblego joins (~dibblego@haskell/developer/dibblego)
13:04:49 × alp_ quits (~alp@2001:861:8ca0:4940:c3d3:ea8c:4ef4:3945) (Ping timeout: 248 seconds)
13:05:05 <bailsman> OK, great. My code is nice and polymorphic and looks beautiful to me. As you have warned, I'm having some difficulty interpreting the error messages I get now. Is there anything I can do about this? Or is this, you made your bed, now sleep in it.
13:05:48 <tomsmeding> bailsman: example of such an error message?
13:05:49 <hellwolf> any example?
13:06:10 <dminuoso> 10:18:29 tomsmeding │ (it can't find the next prompt, for obvious reasons)
13:06:24 <dminuoso> Dunno about obvious reasons, but a timeout is... not exactly rocket science.
13:07:20 <tomsmeding> dminuoso: I mean, what it does is it searches for the next prompt with a timeout, and if either the timeout fires, or the next prompt isn't found within the first N characters, it declares "oops" and restarts ghci
13:08:17 <tomsmeding> actually if it goes over the length limit, it should terminate ghci then already, and never error
13:08:41 <int-e> % putStrLn "ghci> "
13:08:41 <yahb2> ghci>
13:08:45 <bailsman> I mean the "couldn't match expected type foo with actual type bar" followed by 40 lines of code
13:08:49 <tomsmeding> int-e: it generates a random prompt ;)
13:09:02 <int-e> tomsmeding: good thinking
13:09:10 <dminuoso> tomsmeding: The timeout could occur on the initial action...
13:09:13 <dminuoso> Or should, even.
13:09:16 <geekosaur> @v
13:09:16 <lambdabot> "\"#$%&'()*+,\""
13:09:24 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
13:09:48 <tomsmeding> bailsman: we can't say anything about how to potentially fix that without details about the specific type error :p
13:09:56 <tomsmeding> because "couldn't match type" is essentially "there was a type error"
13:10:05 <geekosaur> bailsman, that is one of the prices of going polymorphic, yes
13:10:06 <dminuoso> tomsmeding: I mean at some point the bot decides that the response is finished, when it prints `...` - arguably it should clean-up right then.
13:10:16 <tomsmeding> it should! the code tries to
13:10:19 <tomsmeding> I'm not sure why it doesn't work
13:10:48 <tomsmeding> it terminates ghci then, and it should detect a terminated ghci later and spawn a new one
13:11:05 <bailsman> I'm not using a language server currently - should I? I guess I want to debug this not by staring at the stack trace but by double checking my mental model of what the inferred type is of various bits and pieces of code.
13:11:32 <bailsman> Is there a 'printf debugging' version of types?
13:11:53 <geekosaur> drop `_` in place of a type?
13:11:57 <tomsmeding> you can add `:: ()` on something; if it's indeed a unit, that will go through, and if it isn't, the type error will say what it was instead
13:11:58 <dminuoso> bailsman: "should I" is difficult to answer.
13:12:07 <dminuoso> I can see arguments in both directions.
13:12:12 <tomsmeding> geekosaur: no type-level holes
13:12:40 <tomsmeding> ... there are type-level holes?
13:12:44 <tomsmeding> there are type-level holes!
13:12:50 <haskellbridge> <matti palli> There are!
13:12:57 <tomsmeding> bailsman: do `:: _` on an expression, the error will tell you what the type is
13:13:09 <geekosaur> https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/partial_type_signatures.html
13:13:11 <dminuoso> Did you just discover this, tomsmeding?
13:13:16 <dminuoso> o_O
13:13:30 <tomsmeding> I can get a type of an expression with one button press with HLS
13:13:34 <geekosaur> and yes, this has been around for some time
13:13:49 <dminuoso> I'm old school, I tossed out HLS a long time ago.
13:13:54 <dminuoso> Since then I can develop on less than 32GiB again.
13:13:59 <tomsmeding> I have even seen this before, because I use _ for partial type signatures in places and even explicitly go -XPartialTypeSignatures -Wno-partial-type-signatures
13:14:02 <dminuoso> Of memory I mean.
13:14:20 <tomsmeding> apparently my code is small enough :)
13:14:31 <dminuoso> Well I use type-level tricks.
13:14:33 <dminuoso> :-P
13:14:45 <tomsmeding> my code is one gigantic GADT
13:14:52 <bailsman> Thanks, that made it a lot easier.
13:14:53 <tomsmeding> type-level everything
13:15:09 × comerijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
13:15:20 <tomsmeding> though I guess the type-level structures are not _large_.
13:15:29 <dminuoso> But seriously, I forced myself for years to just do type inference in my head, which for the most part works.
13:15:51 <geekosaur> likewise
13:15:53 <bailsman> dminuoso: yeah but that's like saying to a beginner tennis player "just hit the ball in the right place" :P
13:15:54 <tomsmeding> it does, but one gets lazy
13:16:04 <geekosaur> I'd actually advise that for beginners just to learn how it all works
13:16:10 <tomsmeding> yes
13:16:16 <dminuoso> This sort of brings us back to the previous generative AI discussion. If you no longer practice this, you will not develop that skill.
13:16:22 <tomsmeding> unrelated, why do I get a longer _profiling_ stack trace if I add more HasCallStack constraints
13:17:06 <dminuoso> Don't HasCallStack constraints impose barriers for the simplifier?
13:17:33 <dminuoso> After all, if you demand visibility of some bit it cant inline and optimize away no?
13:17:39 <tomsmeding> hm, perhaps
13:20:44 tok parts (da65c7b04b@user/tok) ()
13:24:38 rvalue- joins (~rvalue@user/rvalue)
13:25:14 × CiaoSen quits (~Jura@2a05:5800:23e:7200:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds)
13:25:39 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 252 seconds)
13:25:59 merijn joins (~merijn@77.242.116.146)
13:27:43 × gentauro quits (~gentauro@user/gentauro) (Ping timeout: 264 seconds)
13:27:58 gentauro joins (~gentauro@user/gentauro)
13:28:40 <Leary> dminuoso: Just BTW, there's also static-ls if you do want a cheaper language server than hls. Though personally I've never bothered to try either---I guess I'm old school too.
13:30:44 rvalue- is now known as rvalue
13:32:34 alp_ joins (~alp@2001:861:8ca0:4940:54e9:1fe6:6d30:3b0d)
13:41:49 internatetional joins (~nate@36.75.0.95)
13:43:49 × housemate quits (~housemate@2a04:9dc0:0:162::5d91:d7ed) (Ping timeout: 248 seconds)
13:48:49 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds)
13:49:42 housemate joins (~housemate@2a04:9dc0:0:162::5d91:d7ed)
13:50:15 × sympt quits (sympt@user/sympt) (Quit: Ping timeout (120 seconds))
13:50:19 ell joins (~ellie@user/ellie)
13:51:13 sympt joins (~sympt@user/sympt)
13:52:29 × ell2 quits (~ellie@user/ellie) (Ping timeout: 260 seconds)
13:52:32 mari-estel joins (~mari-este@user/mari-estel)
13:56:34 merijn joins (~merijn@77.242.116.146)
14:10:02 ethantwardy joins (user@user/ethantwardy)
14:11:59 × tessier quits (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 255 seconds)
14:21:20 notzmv joins (~umar@user/notzmv)
14:25:42 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 276 seconds)
14:26:58 tessier joins (~treed@ec2-184-72-149-67.compute-1.amazonaws.com)
14:34:09 × tessier quits (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 276 seconds)
14:41:45 k_hachig_ joins (~k_hachig@138-51-77-149-lsn-2.nat.utoronto.ca)
14:55:02 × housemate quits (~housemate@2a04:9dc0:0:162::5d91:d7ed) (Quit: Nothing to see here. I wasn't there.)
14:56:13 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 245 seconds)
14:56:45 housemate joins (~housemate@2a04:9dc0:0:162::5d91:d7ed)
15:06:11 tessier joins (~treed@ec2-184-72-149-67.compute-1.amazonaws.com)
15:08:44 merijn joins (~merijn@77.242.116.146)
15:09:02 × tabemann quits (~tabemann@2600:1700:7990:24e0:994a:79ad:26a3:286b) (Remote host closed the connection)
15:09:08 × RedFlamingos quits (~RedFlamin@user/RedFlamingos) (Ping timeout: 255 seconds)
15:09:19 tabemann joins (~tabemann@2600:1700:7990:24e0:994a:79ad:26a3:286b)
15:09:35 × internatetional quits (~nate@36.75.0.95) (Quit: WeeChat 4.4.3)
15:30:04 × alp_ quits (~alp@2001:861:8ca0:4940:54e9:1fe6:6d30:3b0d) (Ping timeout: 260 seconds)
15:32:59 lxsameer joins (~lxsameer@Serene/lxsameer)
15:44:04 × k_hachig_ quits (~k_hachig@138-51-77-149-lsn-2.nat.utoronto.ca) (Ping timeout: 260 seconds)
15:48:01 × mud quits (~mud@user/kadoban) (Ping timeout: 248 seconds)
15:55:27 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
15:55:28 k_hachig_ joins (~k_hachig@138-51-77-149-lsn-2.nat.utoronto.ca)
15:56:23 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
15:59:10 euleritian joins (~euleritia@dynamic-176-006-142-084.176.6.pool.telefonica.de)
16:01:55 × housemate quits (~housemate@2a04:9dc0:0:162::5d91:d7ed) (Quit: Nothing to see here. I wasn't there.)
16:02:19 housemate joins (~housemate@2a04:9dc0:0:162::5d91:d7ed)
16:02:40 × machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
16:04:29 × k_hachig_ quits (~k_hachig@138-51-77-149-lsn-2.nat.utoronto.ca) (Ping timeout: 255 seconds)
16:06:04 × euleritian quits (~euleritia@dynamic-176-006-142-084.176.6.pool.telefonica.de) (Ping timeout: 260 seconds)
16:08:21 × chiselfuse quits (~chiselfus@user/chiselfuse) (Ping timeout: 260 seconds)
16:09:46 euleritian joins (~euleritia@dynamic-176-006-142-084.176.6.pool.telefonica.de)
16:10:27 chiselfuse joins (~chiselfus@user/chiselfuse)
16:13:57 × euleritian quits (~euleritia@dynamic-176-006-142-084.176.6.pool.telefonica.de) (Ping timeout: 252 seconds)
16:14:55 euleritian joins (~euleritia@dynamic-176-006-128-209.176.6.pool.telefonica.de)
16:15:42 k_hachig_ joins (~k_hachig@138-51-67-173-lsn-2.nat.utoronto.ca)
16:20:15 × k_hachig_ quits (~k_hachig@138-51-67-173-lsn-2.nat.utoronto.ca) (Ping timeout: 252 seconds)
16:24:53 × ubert quits (~Thunderbi@91.141.67.185.wireless.dyn.drei.com) (Ping timeout: 248 seconds)
16:27:53 LearnHaskell joins (~LearnHask@88.197.70.58)
16:31:19 k_hachig_ joins (~k_hachig@138-51-66-248-lsn-2.nat.utoronto.ca)
16:31:44 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:34:51 × euleritian quits (~euleritia@dynamic-176-006-128-209.176.6.pool.telefonica.de) (Ping timeout: 252 seconds)
16:35:56 ubert joins (~Thunderbi@91.141.67.185.wireless.dyn.drei.com)
16:36:29 × k_hachig_ quits (~k_hachig@138-51-66-248-lsn-2.nat.utoronto.ca) (Ping timeout: 265 seconds)
16:40:04 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:41:25 euleritian joins (~euleritia@dynamic-176-001-207-222.176.1.pool.telefonica.de)
16:44:10 × euleritian quits (~euleritia@dynamic-176-001-207-222.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
16:44:52 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
16:47:08 k_hachig_ joins (~k_hachig@138-51-66-248-lsn-2.nat.utoronto.ca)
16:50:15 × mari-estel quits (~mari-este@user/mari-estel) (Ping timeout: 252 seconds)
16:50:34 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
16:51:22 euleritian joins (~euleritia@dynamic-176-001-207-222.176.1.pool.telefonica.de)
16:51:38 × k_hachig_ quits (~k_hachig@138-51-66-248-lsn-2.nat.utoronto.ca) (Ping timeout: 245 seconds)
16:51:44 × euleritian quits (~euleritia@dynamic-176-001-207-222.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
16:52:00 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
16:56:00 × chele quits (~chele@user/chele) (Remote host closed the connection)
17:02:19 k_hachig_ joins (~k_hachig@138-51-66-248-lsn-2.nat.utoronto.ca)
17:04:21 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 260 seconds)
17:05:58 alp_ joins (~alp@2001:861:8ca0:4940:ff64:6760:9b85:ec74)
17:06:04 sord937 joins (~sord937@gateway/tor-sasl/sord937)
17:09:16 SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky)
17:10:03 × k_hachig_ quits (~k_hachig@138-51-66-248-lsn-2.nat.utoronto.ca) (Ping timeout: 252 seconds)
17:10:47 × LearnHaskell quits (~LearnHask@88.197.70.58) (Ping timeout: 256 seconds)
17:11:14 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds)
17:11:42 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
17:11:55 mxs joins (~mxs@user/mxs)
17:13:11 <bailsman> Is my trying to `instance HasField "foo" r Foo => HasFoo r` a sign I've gone off the deep end somewhere? (This does not compile.) I was trying to reduce boilerplate by saying anything that has a field of type Foo named foo can automatically produce a Foo. I suppose I could just replace HasFoo with that, but I didn't want to rule out the possibility of producing a Foo some other way.
17:13:57 k_hachig_ joins (~k_hachig@138-51-72-66-lsn-2.nat.utoronto.ca)
17:17:13 <kuribas> bailsman: Don't code for the future, code for now.
17:17:14 sprotte24 joins (~sprotte24@p200300d16f2c240070a0b46ff834a68c.dip0.t-ipconnect.de)
17:17:18 <ski> could you use a type class synonym `type HasFoo r = HasField "foo" r Foo' ?
17:17:42 <bailsman> ski: right. But then you can no longer produce a Foo any other way
17:17:49 <ski> mm, right
17:18:13 <kuribas> bailsman: maybe not, but you could easily refactor it, no?
17:18:14 <ski> but `instance ..r.. => HasFoo r' already overlaps with every other instance of `HasFoo', anyway
17:18:34 <bailsman> Yes I think I've misunderstood how the type system works in some important way
17:18:46 <ski> (the context on instances are not taking into account when selecting which instance to use)
17:19:00 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
17:20:14 <bailsman> Is there a way that I can write deriving HasFoo or something where it applies a strategy of noticing you've got a foo field? Presumably yes, but, more trouble than it's ever worth?
17:20:18 <ski> (and you probably do not want to enable `OverlappingInstances' (or the `OVERLAPPING',`OVERLAPPABLE',`OVERLAPS' pragmas) or `IncoherentInstances', anyway)
17:22:42 <kuribas> Ah, the joy of haskell type class programming...
17:23:03 <bailsman> Is that not what you're supposed to do?
17:23:09 <bailsman> I thought I learned something but maybe I haven't
17:23:24 <bailsman> ski: I'm not sure I fully understand what you mean by overlap. If you've already got a foo field, you wouldn't need to make an extra instance. And if you don't, there wouldn't be overlapping instances, right?
17:23:40 <ski> if you write
17:23:57 <ski> instance Frob a => Foo a where ...
17:24:10 <ski> instance Barf a Bar => Foo a where ...
17:24:19 <ski> then those two instances are overlapping : trouble
17:24:32 <ski> because the heads `Foo a' are overlapping
17:24:57 <bailsman> This seems to imply you can never make two objects that instance the same typeclass?
17:24:58 <kuribas> bailsman: The left side of => is not a test, basically haskell always dispatches on the right side. The left side if just an extra constraint, it always has to match if the right side matches.
17:25:01 <ski> it does not matter whether it might be that `Frob a' and `Barf a Bar' never happens at the same time (so are disjoint)
17:25:23 × housemate quits (~housemate@2a04:9dc0:0:162::5d91:d7ed) (Quit: Nothing to see here. I wasn't there.)
17:25:32 <ski> Haskell decides which instance to pick (and committs to that choice !), *before* considering the context to the left of `=>', in instance resolution
17:26:36 <bailsman> It's perfectly valid to write "instance Eq a => Foo a" right? what's different?
17:26:43 <bailsman> I'm close to getting it but I don't quite get it yet
17:26:56 housemate joins (~housemate@2a04:9dc0:0:162::5d91:d7ed)
17:27:01 <ski> writing that instance precludes writing any other instance whatsoever, for `Foo'
17:27:27 <ski> (unless you go down the `OverlappingInstances' or `IncoherentInstances' route .. but this is generally regarded as being a mistake)
17:28:14 <bailsman> The moment you write "forall a. instance Foo a" that's the instance you've got. Whatever constraints you put on a, don't matter. OK. I think what I wanted to do is more like automatic deriving then
17:29:34 × k_hachig_ quits (~k_hachig@138-51-72-66-lsn-2.nat.utoronto.ca) (Ping timeout: 252 seconds)
17:29:56 × euleritian quits (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
17:30:49 euleritian joins (~euleritia@dynamic-176-001-207-222.176.1.pool.telefonica.de)
17:31:28 k_hachig_ joins (~k_hachig@138-51-72-66-lsn-2.nat.utoronto.ca)
17:32:42 × willscripted quits (~willscrip@user/willscripted) (Quit: willscripted)
17:33:18 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
17:34:24 × euleritian quits (~euleritia@dynamic-176-001-207-222.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
17:35:42 euleritian joins (~euleritia@dynamic-176-001-207-222.176.1.pool.telefonica.de)
17:37:53 JuanDaugherty joins (~juan@user/JuanDaugherty)
17:38:12 <hellwolf> This comes up a lot. Sometimes, it could be avoided since there can be better way of achieving the goal. But sometimes, it seems necessary. I wonder if anyone has a better and more instructive take for this scenario...
17:38:49 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
17:38:59 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
17:39:50 × myxos quits (~myxos@syn-065-028-251-121.res.spectrum.com) (Ping timeout: 252 seconds)
17:40:13 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
17:40:38 × motherfsck quits (~motherfsc@user/motherfsck) (Quit: quit)
17:40:55 <JuanDaugherty> dont use a static lang?
17:41:33 <bailsman> I think it's something like duck typing what you're trying to do there
17:41:38 <JuanDaugherty> (joke, sorta)
17:42:36 vanishingideal joins (~vanishing@user/vanishingideal)
17:42:41 × euleritian quits (~euleritia@dynamic-176-001-207-222.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
17:42:56 euleritian joins (~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
17:47:32 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
17:48:11 motherfsck joins (~motherfsc@user/motherfsck)
17:48:18 × xdminsy quits (~xdminsy@117.147.71.197) (Ping timeout: 245 seconds)
17:52:02 × k_hachig_ quits (~k_hachig@138-51-72-66-lsn-2.nat.utoronto.ca) (Ping timeout: 255 seconds)
17:53:53 × smalltalkman quits (uid545680@id-545680.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
17:55:51 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
17:57:15 myxos joins (~myxos@syn-065-028-251-121.res.spectrum.com)
18:02:50 xdminsy joins (~xdminsy@117.147.71.112)
18:03:32 k_hachig_ joins (~k_hachig@138-51-72-66-lsn-2.nat.utoronto.ca)
18:07:04 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
18:09:53 × k_hachig_ quits (~k_hachig@138-51-72-66-lsn-2.nat.utoronto.ca) (Ping timeout: 252 seconds)
18:10:37 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
18:15:49 ft joins (~ft@p508db9c7.dip0.t-ipconnect.de)
18:17:16 × SlackCoder quits (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving)
18:17:51 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
18:18:14 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
18:21:22 wootehfoot joins (~wootehfoo@user/wootehfoot)
18:21:34 k_hachig_ joins (~k_hachig@138-51-75-189-lsn-2.nat.utoronto.ca)
18:22:19 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
18:26:14 × k_hachig_ quits (~k_hachig@138-51-75-189-lsn-2.nat.utoronto.ca) (Ping timeout: 255 seconds)
18:27:35 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
18:31:03 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
18:33:47 <sprotte24> Hi
18:34:39 <sprotte24> I´m just reading the book: "LEARN YOU A HASKELL FOR GREAT GOOD!"
18:35:18 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
18:35:49 <sprotte24> There I read: NOTE If you ever get really stuck, the IRC channel #haskell on the freenode network is a
18:35:50 <sprotte24> great place to ask questions. The people there tend to be nice, patient, and understanding.
18:35:50 <sprotte24> They’re a great resource for Haskell newbies.
18:35:56 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
18:37:06 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 260 seconds)
18:37:11 <geekosaur> (you can tell how old it is 🙂 )
18:37:21 k_hachig_ joins (~k_hachig@138-51-75-189-lsn-2.nat.utoronto.ca)
18:37:30 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
18:37:41 × ubert quits (~Thunderbi@91.141.67.185.wireless.dyn.drei.com) (Ping timeout: 248 seconds)
18:39:41 <sprotte24> Printed 2ß11
18:40:02 <geekosaur> yep
18:40:11 <geekosaur> and the author promptl vanished
18:40:26 <geekosaur> I think there's an attempt at an updated version somewhere
18:40:30 <geekosaur> @where lyah
18:40:30 <lambdabot> http://www.learnyouahaskell.com/ or the slightly updated fork https://learnyouahaskell.github.io/
18:40:47 <geekosaur> not actually very updated, though
18:41:57 × k_hachig_ quits (~k_hachig@138-51-75-189-lsn-2.nat.utoronto.ca) (Ping timeout: 246 seconds)
18:41:58 JuanDaugherty joins (~juan@user/JuanDaugherty)
18:41:58 <sprotte24> I like the book
18:46:54 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
18:48:49 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:51:46 × housemate quits (~housemate@2a04:9dc0:0:162::5d91:d7ed) (Quit: Nothing to see here. I wasn't there.)
18:51:49 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Remote host closed the connection)
18:52:19 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
18:52:58 k_hachig_ joins (~k_hachig@138-51-75-189-lsn-2.nat.utoronto.ca)
18:57:25 <sprotte24> Before I learned Haskell, I learned Scheme with DrRacket
18:57:37 gmg joins (~user@user/gehmehgeh)
18:57:51 × k_hachig_ quits (~k_hachig@138-51-75-189-lsn-2.nat.utoronto.ca) (Ping timeout: 252 seconds)
19:00:27 k_hachig_ joins (~k_hachig@138-51-75-189-lsn-2.nat.utoronto.ca)
19:02:42 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
19:05:00 × k_hachig_ quits (~k_hachig@138-51-75-189-lsn-2.nat.utoronto.ca) (Ping timeout: 252 seconds)
19:07:45 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
19:09:21 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
19:14:04 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
19:16:13 k_hachig_ joins (~k_hachig@138-51-66-245-lsn-2.nat.utoronto.ca)
19:20:40 × k_hachig_ quits (~k_hachig@138-51-66-245-lsn-2.nat.utoronto.ca) (Ping timeout: 252 seconds)
19:20:55 × Alleria_ quits (~Alleria@user/alleria) (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:22:56 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:24:04 housemate joins (~housemate@2a04:9dc0:0:162::5d91:d7ed)
19:24:12 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 272 seconds)
19:25:16 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
19:31:14 × housemate quits (~housemate@2a04:9dc0:0:162::5d91:d7ed) (Quit: Nothing to see here. I wasn't there.)
19:31:43 k_hachig_ joins (~k_hachig@138-51-68-25-lsn-2.nat.utoronto.ca)
19:32:09 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
19:33:17 housemate joins (~housemate@2a04:9dc0:0:162::5d91:d7ed)
19:36:13 × k_hachig_ quits (~k_hachig@138-51-68-25-lsn-2.nat.utoronto.ca) (Ping timeout: 245 seconds)
19:37:42 × haetsal quits (~quassel@221.138.168.192) (Ping timeout: 276 seconds)
19:38:03 Alleria joins (~Alleria@user/alleria)
19:39:39 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
19:39:58 × youthlic quits (~Thunderbi@user/youthlic) (Remote host closed the connection)
19:40:04 weary-traveler joins (~user@user/user363627)
19:40:24 youthlic joins (~Thunderbi@user/youthlic)
19:42:27 haetsal joins (~quassel@221.138.168.192)
19:43:47 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
19:47:29 k_hachig_ joins (~k_hachig@138-51-65-18-lsn-2.nat.utoronto.ca)
19:48:35 JuanDaugherty joins (~juan@user/JuanDaugherty)
19:49:02 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
19:52:12 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
19:53:42 × k_hachig_ quits (~k_hachig@138-51-65-18-lsn-2.nat.utoronto.ca) (Ping timeout: 246 seconds)
20:00:01 × caconym quits (~caconym@user/caconym) (Quit: bye)
20:00:31 k_hachig_ joins (~k_hachig@138-51-65-18-lsn-2.nat.utoronto.ca)
20:00:41 caconym joins (~caconym@user/caconym)
20:04:59 ljdarj joins (~Thunderbi@user/ljdarj)
20:06:48 <[exa]> sprotte24: I learned from LYAH too, people have reservations towards it for the lack of exercises and the fact it aged without update, but IMO it's still all pretty much ok
20:07:05 ljdarj1 joins (~Thunderbi@user/ljdarj)
20:07:09 <[exa]> esp if you already know scheme then you can just redo your fav scheme exercises
20:07:29 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
20:08:15 × k_hachig_ quits (~k_hachig@138-51-65-18-lsn-2.nat.utoronto.ca) (Ping timeout: 276 seconds)
20:10:51 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds)
20:10:51 ljdarj1 is now known as ljdarj
20:12:58 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
20:13:59 × notzmv quits (~umar@user/notzmv) (Ping timeout: 265 seconds)
20:23:18 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
20:28:08 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
20:31:21 weary-traveler joins (~user@user/user363627)
20:31:58 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
20:34:20 <bailsman> I added microlens-th to my project - is there anything I can do about the compilation speed? Feels like it has dectupled. (Does anyone actually write lenses manually instead to compile faster?)
20:38:55 <haskellbridge> <sm> Yes, I think some people do. Capturing the ones generated by th, I’d think.
20:39:07 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
20:44:29 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
20:45:33 <bailsman> Hmm, google says there are now also such a things as generic-optics and OverloadedRecordDot
20:45:54 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
20:49:09 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
20:54:57 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
20:55:19 <geekosaur> there used to be tools to expand TH beforehand, which is especially useful for lenses as they tend to be write-once
20:56:42 <geekosaur> mm, zeroth is ancient
21:00:02 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
21:03:55 mud joins (~mud@user/kadoban)
21:05:54 k_hachig_ joins (~k_hachig@138-51-74-45-lsn-2.nat.utoronto.ca)
21:09:18 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
21:10:41 × k_hachig_ quits (~k_hachig@138-51-74-45-lsn-2.nat.utoronto.ca) (Ping timeout: 248 seconds)
21:10:47 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
21:17:47 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
21:18:52 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
21:20:55 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
21:20:58 k_hachig_ joins (~k_hachig@138-51-74-45-lsn-2.nat.utoronto.ca)
21:23:30 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
21:26:13 × k_hachig_ quits (~k_hachig@138-51-74-45-lsn-2.nat.utoronto.ca) (Ping timeout: 248 seconds)
21:26:32 ubert joins (~Thunderbi@91.141.67.185.wireless.dyn.drei.com)
21:28:16 notzmv joins (~umar@user/notzmv)
21:29:59 machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net)
21:32:10 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Remote host closed the connection)
21:32:33 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
21:34:27 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
21:35:19 k_hachig_ joins (~k_hachig@70.29.50.156)
21:36:07 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
21:39:08 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
21:39:17 mari-estel joins (~mari-este@user/mari-estel)
21:39:54 × k_hachig_ quits (~k_hachig@70.29.50.156) (Ping timeout: 260 seconds)
21:45:20 ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207)
21:48:29 × ubert quits (~Thunderbi@91.141.67.185.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
21:48:48 × tessier quits (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 252 seconds)
21:49:39 × mari-estel quits (~mari-este@user/mari-estel) (Ping timeout: 260 seconds)
21:50:18 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
21:55:09 <ShannonB> How does GHC determine type variable labels?
21:55:12 <ShannonB> :t (.)$(.)
21:55:12 <lambdabot> (a1 -> b -> c) -> a1 -> (a2 -> b) -> a2 -> c
21:55:16 tessier joins (~treed@ec2-184-72-149-67.compute-1.amazonaws.com)
21:55:24 <ShannonB> and not
21:55:30 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
21:55:34 <ShannonB> (a-> b -> c) -> a -> (d -> b) -> d -> c
21:56:03 <geekosaur> it's up to whatever the typechecker decides to do, and that can change with every ghc release
21:56:46 <ShannonB> so its mostly arbitrary whether it decided to use numbers and letter vs letters alone?
21:57:11 <geekosaur> it's complicated by there being a vague attempt to use the tyvars from definitions of functions/operators, which is difficult when they overlap or are repeated so numbers get tacked on
21:58:19 × michalz quits (~michalz@185.246.207.201) (Remote host closed the connection)
22:04:15 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 246 seconds)
22:05:08 mange joins (~user@user/mange)
22:06:06 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
22:09:38 × ephemient quits (uid407513@user/ephemient) (Quit: Connection closed for inactivity)
22:11:24 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
22:21:48 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
22:22:26 × ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en)
22:22:42 ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207)
22:25:56 × ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Client Quit)
22:26:59 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
22:27:16 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
22:33:58 xff0x_ joins (~xff0x@2405:6580:b080:900:7888:564d:32b6:f964)
22:35:53 Everything joins (~Everythin@46-133-48-209.mobile.vf-ua.net)
22:36:29 × xff0x quits (~xff0x@2405:6580:b080:900:4b74:4f5a:a562:d6) (Ping timeout: 260 seconds)
22:37:18 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
22:42:19 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
22:42:44 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
22:46:09 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:47:19 ljdarj1 joins (~Thunderbi@user/ljdarj)
22:50:40 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 272 seconds)
22:50:40 ljdarj1 is now known as ljdarj
22:54:27 × ph88 quits (~ph88@2a02:8109:9e26:c800:5d5d:d40:d2d2:7cc7) (Ping timeout: 265 seconds)
22:54:51 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
22:57:31 × housemate quits (~housemate@2a04:9dc0:0:162::5d91:d7ed) (Quit: Nothing to see here. I wasn't there.)
23:01:20 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
23:01:38 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
23:13:16 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
23:18:06 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
23:23:39 codaraxis joins (~codaraxis@user/codaraxis)
23:24:41 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
23:30:07 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
23:32:29 weary-traveler joins (~user@user/user363627)
23:33:07 × sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 265 seconds)
23:34:39 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
23:35:24 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
23:42:53 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds)
23:43:07 falafel joins (~falafel@2600:1700:99f4:2050:9f1c:ee0a:fb1:55f5)
23:45:58 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
23:46:47 Sgeo joins (~Sgeo@user/sgeo)
23:48:20 Square joins (~Square@user/square)
23:49:18 × j1n37 quits (j1n37@user/j1n37) (Read error: Connection reset by peer)
23:50:34 × acidjnk_new3 quits (~acidjnk@p200300d6e7283f15c18c09329fdf1ca2.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
23:51:12 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
23:51:31 troojg joins (~troojg@user/troojg)
23:52:31 j1n37 joins (j1n37@user/j1n37)
23:53:12 × Square2 quits (~Square4@user/square) (Ping timeout: 252 seconds)
23:56:48 × mange quits (~user@user/mange) (Ping timeout: 265 seconds)

All times are in UTC on 2024-11-26.