2026/06/01

2026-06-01 00:00:46 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 00:03:55 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 264 seconds)
2026-06-01 00:05:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-06-01 00:12:04 +0000ricardomaps(~ricardoma@2804:14d:a040:81ea:38f5:bb0d:8796:a6f) (Quit: ricardomaps)
2026-06-01 00:16:18 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 00:23:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-06-01 00:23:39 +0000xff0x(~xff0x@2405:6580:b080:900:1e8e:69be:97e9:df50) (Ping timeout: 245 seconds)
2026-06-01 00:32:30 +0000califax(~califax@user/califx) (Remote host closed the connection)
2026-06-01 00:34:18 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 00:34:28 +0000califax(~califax@user/califx) califx
2026-06-01 00:39:05 +0000cawfee(root@2401:c080:3800:3460::babe) (Remote host closed the connection)
2026-06-01 00:39:37 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-06-01 01:01:48 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-06-01 01:02:55 +0000ricardomaps(~ricardoma@2804:14d:a040:81ea:38f5:bb0d:8796:a6f)
2026-06-01 01:04:07 +0000acidjnk(~acidjnk@p200300d6e700e50749931930275f1dba.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2026-06-01 01:04:07 +0000acidjnk_new3(~acidjnk@p200300d6e700e50749931930275f1dba.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2026-06-01 01:18:11 +0000myxos(~myxos@67-1-178-42.tcso.qwest.net) (Remote host closed the connection)
2026-06-01 01:21:16 +0000xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2026-06-01 01:26:49 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-06-01 01:37:58 +0000myxos(~myxos@67-1-178-42.tcso.qwest.net) myxokephale
2026-06-01 01:40:47 +0000bedbedbde(~bedbedbde@user/bedbedbde) bedbedbde
2026-06-01 01:40:48 +0000pavonia(~user@user/siracusa) siracusa
2026-06-01 01:48:09 +0000doyougnu(~doyougnu@38.175.72.111) (Killed (NickServ (GHOST command used by doyougnu`!~user@38.175.72.111)))
2026-06-01 01:50:26 +0000doyougnu(~doyougnu@38.175.72.111)
2026-06-01 01:52:11 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-01 01:54:23 +0000doyougnu(~doyougnu@38.175.72.111) (Killed (NickServ (GHOST command used by doyougnu`!~user@38.175.72.111)))
2026-06-01 01:54:39 +0000doyougnu(~doyougnu@38.175.72.111)
2026-06-01 01:56:24 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 246 seconds)
2026-06-01 01:58:55 +0000doyougnu(~doyougnu@38.175.72.111) (Killed (NickServ (GHOST command used by doyougnu`!~user@38.175.72.111)))
2026-06-01 01:59:42 +0000doyougnu(~doyougnu@38.175.72.111)
2026-06-01 02:03:03 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 02:03:59 +0000doyougnu(~doyougnu@38.175.72.111) (Killed (NickServ (GHOST command used by doyougnu`!~user@38.175.72.111)))
2026-06-01 02:05:17 +0000doyougnu-(~doyougnu@38.175.72.111)
2026-06-01 02:08:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-06-01 02:15:37 +0000td_(~td@i53870937.versanet.de) (Ping timeout: 248 seconds)
2026-06-01 02:17:44 +0000td_(~td@i5387091C.versanet.de)
2026-06-01 02:18:51 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 02:23:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-06-01 02:34:13 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 02:39:17 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 267 seconds)
2026-06-01 02:40:25 +0000lisbeths(uid135845@id-135845.lymington.irccloud.com) lisbeths
2026-06-01 02:50:02 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 02:50:40 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds)
2026-06-01 02:54:57 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-06-01 03:00:24 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 244 seconds)
2026-06-01 03:01:27 +0000Garbanzo(~Garbanzo@2602:304:6eac:dc10::49)
2026-06-01 03:01:30 +0000Garbanzo__(~Garbanzo@2602:304:6eac:dc10::49) (Ping timeout: 246 seconds)
2026-06-01 03:05:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 03:14:45 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-06-01 03:16:24 +0000ricardomaps(~ricardoma@2804:14d:a040:81ea:38f5:bb0d:8796:a6f) (Ping timeout: 252 seconds)
2026-06-01 03:23:36 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-06-01 03:26:42 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 03:31:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 241 seconds)
2026-06-01 03:42:31 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 03:47:30 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-06-01 03:55:16 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 04:00:08 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 243 seconds)
2026-06-01 04:10:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 04:15:26 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-06-01 04:20:55 +0000Pozyomka(~pyon@user/pyon) (Quit: brb)
2026-06-01 04:24:02 +0000Pozyomka(~pyon@user/pyon) pyon
2026-06-01 04:25:22 +0000tabaqui(~tabaqui@167.71.80.236) (Ping timeout: 248 seconds)
2026-06-01 04:25:31 +0000jreicher(~joelr@user/jreicher) (Ping timeout: 242 seconds)
2026-06-01 04:26:18 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 04:29:23 +0000jreicher(~joelr@user/jreicher) jreicher
2026-06-01 04:31:51 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-06-01 04:34:05 +0000Goodbye_Vincent1(cyvahl@freakshells.net) (Quit: )
2026-06-01 04:35:11 +0000Goodbye_Vincent1(cyvahl@freakshells.net)
2026-06-01 04:40:25 +0000wickedjargon(~user@2605:8d80:5431:c7f3:cb6a:c99b:bed8:74f5) wickedjargon
2026-06-01 04:47:24 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-06-01 04:48:57 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 272 seconds)
2026-06-01 04:51:26 +0000CiaoSen(~Jura@2a02:3031:2e2:74df:4e50:ddff:fe9b:8922) CiaoSen
2026-06-01 04:51:33 +0000poscat(~poscat@user/poscat) (Remote host closed the connection)
2026-06-01 04:53:32 +0000tabaqui(~tabaqui@167.71.80.236) tabaqui
2026-06-01 04:54:42 +0000poscat(~poscat@user/poscat) poscat
2026-06-01 04:55:44 +0000CiaoSen(~Jura@2a02:3031:2e2:74df:4e50:ddff:fe9b:8922) (Ping timeout: 245 seconds)
2026-06-01 04:57:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 05:01:50 +0000haritz(~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
2026-06-01 05:04:29 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-06-01 05:04:39 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-06-01 05:10:13 +0000olivial(~benjaminl@user/benjaminl) (Remote host closed the connection)
2026-06-01 05:10:29 +0000takuan(~takuan@d8D86B9E9.access.telenet.be)
2026-06-01 05:11:15 +0000olivial(~benjaminl@user/benjaminl) benjaminl
2026-06-01 05:11:56 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 05:16:05 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 265 seconds)
2026-06-01 05:17:03 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-06-01 05:21:01 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Quit: WeeChat 4.7.2)
2026-06-01 05:23:07 +0000synchromesh(~john@2406:5a00:247e:1500:6c73:518b:be6f:ed81) (Read error: Connection reset by peer)
2026-06-01 05:23:38 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2026-06-01 05:24:09 +0000synchromesh(~john@2406:5a00:247e:1500:6c73:518b:be6f:ed81) synchromesh
2026-06-01 05:25:38 +0000monochrom(~trebla@216.138.220.146) (Quit: ZNC - https://znc.in)
2026-06-01 05:27:27 +0000ricardomaps(~ricardoma@2804:14d:a040:81ea:742e:100b:ef44:4bb3)
2026-06-01 05:27:42 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 05:32:12 +0000pfc(~pfc@user/pfc) pfc
2026-06-01 05:35:58 +0000bedbedbde(~bedbedbde@user/bedbedbde) (Read error: Connection reset by peer)
2026-06-01 05:37:31 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-06-01 05:39:53 +0000sord937(~sord937@gateway/tor-sasl/sord937) sord937
2026-06-01 05:40:23 +0000monochrom(~trebla@216.138.220.146) monochrom
2026-06-01 05:40:29 +0000sord937(~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
2026-06-01 05:40:50 +0000sord937(~sord937@gateway/tor-sasl/sord937) sord937
2026-06-01 05:43:42 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-06-01 05:45:11 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-06-01 05:47:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 05:50:00 +0000acidjnk_new3(~acidjnk@p200300d6e700e5073b062b09158277c9.dip0.t-ipconnect.de)
2026-06-01 05:50:02 +0000acidjnk(~acidjnk@p200300d6e700e5073b062b09158277c9.dip0.t-ipconnect.de) acidjnk
2026-06-01 05:52:12 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-06-01 05:52:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-06-01 06:03:11 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 06:07:04 +0000gentauro(~gentauro@user/gentauro) (Quit: leaving)
2026-06-01 06:08:12 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 243 seconds)
2026-06-01 06:12:57 +0000merijn(~merijn@62.45.136.136) merijn
2026-06-01 06:18:05 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 263 seconds)
2026-06-01 06:21:16 +0000Square3(~Square4@user/square) Square
2026-06-01 06:22:58 +0000Square2(~Square@user/square) (Ping timeout: 252 seconds)
2026-06-01 06:27:24 +0000tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2026-06-01 06:28:48 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 06:29:14 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-06-01 06:35:21 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-06-01 06:38:55 +0000TwinAdam(~TwinAdam@user/adamsaunders) (Ping timeout: 252 seconds)
2026-06-01 06:40:07 +0000TwinAdam(~TwinAdam@user/adamsaunders) adamsaunders
2026-06-01 06:43:50 +0000gentauro(~gentauro@user/gentauro) gentauro
2026-06-01 06:46:45 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 06:48:40 +0000p3n(~p3n@217.198.124.246) (Quit: ZNC 1.10.1 - https://znc.in)
2026-06-01 06:51:34 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
2026-06-01 06:51:54 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2026-06-01 06:59:00 +0000p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) p3n
2026-06-01 06:59:36 +0000p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Remote host closed the connection)
2026-06-01 07:01:30 +0000juri_(~juri@217-114-215-140.pool.ovpn.com) (Ping timeout: 248 seconds)
2026-06-01 07:02:15 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 07:03:32 +0000juri_(~juri@217-114-215-140.pool.ovpn.com) juri_
2026-06-01 07:04:45 +0000ricardomaps(~ricardoma@2804:14d:a040:81ea:742e:100b:ef44:4bb3) (Ping timeout: 245 seconds)
2026-06-01 07:06:25 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-06-01 07:10:37 +0000p3n(~p3n@217.198.124.246) p3n
2026-06-01 07:12:04 +0000chele(~chele@user/chele) chele
2026-06-01 07:12:49 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 245 seconds)
2026-06-01 07:13:58 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 07:18:53 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-06-01 07:19:36 +0000sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2026-06-01 07:21:04 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2026-06-01 07:22:00 +0000sord937(~sord937@gateway/tor-sasl/sord937) sord937
2026-06-01 07:29:33 +0000__monty__(~toonn@user/toonn) toonn
2026-06-01 07:46:14 +0000sord937(~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
2026-06-01 07:46:34 +0000sord937(~sord937@gateway/tor-sasl/sord937) sord937
2026-06-01 07:46:55 +0000michalz(~michalz@185.246.207.221)
2026-06-01 07:48:20 +0000fp1(~Thunderbi@130.233.70.60) fp
2026-06-01 07:49:11 +0000Athas(athas@sigkill.dk) (Quit: ZNC 1.9.1 - https://znc.in)
2026-06-01 07:57:15 +0000merijn(~merijn@77.242.116.146) merijn
2026-06-01 08:05:25 +0000Athas(athas@2a01:7c8:aaac:1cf:41d:56c3:1b40:43c8)
2026-06-01 08:19:00 +0000emmanuelux(~em@user/emmanuelux) (Quit: bye)
2026-06-01 08:20:19 +0000CiaoSen(~Jura@2a02:3031:2e2:74df:4e50:ddff:fe9b:8922) CiaoSen
2026-06-01 08:26:49 +0000CiaoSen(~Jura@2a02:3031:2e2:74df:4e50:ddff:fe9b:8922) (Ping timeout: 272 seconds)
2026-06-01 08:29:53 +0000ft(~ft@p4fc2aedc.dip0.t-ipconnect.de) (Quit: leaving)
2026-06-01 08:31:06 +0000danza(~danza@user/danza) danza
2026-06-01 08:34:46 +0000danz84949(~danza@user/danza) danza
2026-06-01 08:35:11 +0000danza(~danza@user/danza) (Read error: Connection reset by peer)
2026-06-01 08:44:41 +0000divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2026-06-01 08:44:57 +0000divlamir(~divlamir@user/divlamir) divlamir
2026-06-01 08:47:01 +0000acidjnk_new(~acidjnk@p200300d6e700e5447240697420104f78.dip0.t-ipconnect.de)
2026-06-01 08:49:45 +0000acidjnk(~acidjnk@p200300d6e700e5073b062b09158277c9.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2026-06-01 08:50:37 +0000acidjnk_new3(~acidjnk@p200300d6e700e5073b062b09158277c9.dip0.t-ipconnect.de) (Ping timeout: 276 seconds)
2026-06-01 08:50:39 +0000acidjnk(~acidjnk@p200300d6e700e5447240697420104f78.dip0.t-ipconnect.de) acidjnk
2026-06-01 09:01:44 +0000Googulator31Googulator
2026-06-01 09:07:20 +0000wickedjargon(~user@2605:8d80:5431:c7f3:cb6a:c99b:bed8:74f5) (Ping timeout: 256 seconds)
2026-06-01 09:18:48 +0000CiaoSen(~Jura@2a02:3031:2e2:74df:4e50:ddff:fe9b:8922) CiaoSen
2026-06-01 09:27:20 +0000Enrico63(~Enrico63@host-95-247-196-30.retail.telecomitalia.it) Enrico63
2026-06-01 09:32:55 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-06-01 10:03:23 +0000gentauro(~gentauro@user/gentauro) (Remote host closed the connection)
2026-06-01 10:10:31 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 262 seconds)
2026-06-01 10:18:17 +0000ninjacato(~Thunderbi@user/ninjacato) ninjacato
2026-06-01 10:21:16 +0000aetepe(~aetepe@188.119.22.175) aetepe
2026-06-01 10:22:35 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-06-01 10:25:35 +0000 <yin> i know some people here teach. where does the resistance to abandon the imperatove paradigm when learning functional programming stem from? i'm getting anxious reading some comments on this post https://www.reddit.com/r/haskellquestions/comments/1tscedu/why_haskell_tutorials_do_not_include_th…
2026-06-01 10:26:53 +0000 <yin> and what are efdective ways to convey the right message?
2026-06-01 10:26:58 +0000 <jaror> I don't teach, but I think it is because we still have escape hatches like IO.
2026-06-01 10:27:35 +0000 <jaror> Haskell is essentially a multi-paradigm language, you can use it to do imperative programming without too much effort.
2026-06-01 10:27:57 +0000 <jaror> And from the outside that seems like what most people in industry are doing.
2026-06-01 10:27:57 +0000 <[exa]> yin: I wouldn't say there's resistance, it's more of a momentum
2026-06-01 10:28:51 +0000 <[exa]> yin: turns out there isn't much of that effect if students start with more functional approaches (SICP-ish)
2026-06-01 10:31:40 +0000 <[exa]> yin: btw I'm doing this on 2nd or 3rd lecture (depending on how much blabla I glue to typeclasses)
2026-06-01 10:32:06 +0000 <[exa]> essentially "okay so we have IO, how do we encode pascal into it"
2026-06-01 10:32:50 +0000 <yin> i remember IO taking me a while to understand correctly
2026-06-01 10:34:02 +0000 <[exa]> yeah the main didactic issue is that there's 2 kinda hidden layers (1 realworld and 1 monad abstraction) and that doesn't really help it to click faster
2026-06-01 10:35:47 +0000 <newmind> dealing with just IO is fine, especially with the syntactic sugar of the do syntax. where it really starts to trip people up is when you start working with more than one monad
2026-06-01 10:36:18 +0000 <[exa]> so I'm now taking monads from one direction first (with the andThen approach with Maybes and Lists) then IO from the EDSL direction (hey look we have some magic monad instances that make stuff work like imperative!), then we derive State, and then IO is "trivial" (hey look State RealWorld, takes quite some memory right? padmeface)
2026-06-01 10:36:31 +0000 <tomsmeding> "you can do imperative programming without too much effort" -- yes, but no: the syntax is much more verbose than you'd have in C, and you have the two-layer system that [exa] mentions
2026-06-01 10:37:41 +0000rscastilho2024_(rscastilho@user/rscastilho2024-:23901) rscastilho2024_
2026-06-01 10:38:06 +0000 <tomsmeding> I think the top comment on that reddit post is actually spot-on: "If you want to write C code, use C, not Haskell": learning functional programming is more learning a new programming paradigm than learning a new language
2026-06-01 10:38:24 +0000 <tomsmeding> if you learn Haskell by writing very imperative code in Haskell, you might be learning the language, but you're not learning the paradigm
2026-06-01 10:38:47 +0000 <tomsmeding> and 1. that will make you dislike the language because it doesn't seem to bring you much over the languages you already know, and 2. you're kinda missing the point
2026-06-01 10:39:21 +0000 <tomsmeding> and resistance to learning a new paradigm is, I suspect, nothing more than resistance to learning a new way of doing something if you already know how to do it otherwise
2026-06-01 10:39:40 +0000rscastilho2024_(rscastilho@user/rscastilho2024-:23901) (Remote host closed the connection)
2026-06-01 10:40:01 +0000 <tomsmeding> ("why do I have to learn cmake? make works fine")
2026-06-01 10:40:02 +0000 <newmind> i think that's the reason why haskell (or functional programming in general) seems a bit harder if you're already profficient in other paradigms: you _know_ how to solve this problem, yet you're stumped that "the language" isn't letting you
2026-06-01 10:40:20 +0000 <tomsmeding> yes
2026-06-01 10:40:44 +0000 <tomsmeding> even though the language technically can let you, but we're not teaching you that part of the language quite yet so that you learn how to solve it the other way
2026-06-01 10:40:47 +0000 <newmind> although it helps a lot that a lot of functional patterns (map/filter, iterators) are creeping into mainstream languages
2026-06-01 10:42:03 +0000 <newmind> yeah, you can go full IO and IORefs and basically code C in haskell too.. the question is just: why would you?
2026-06-01 10:42:22 +0000 <tomsmeding> yin: just read the comments by hanshuttel there in that reddit thread, there's your answer :p
2026-06-01 10:43:08 +0000 <tomsmeding> oh, hm, no it's the OP that should read those comments, not you, I guess -- sorry
2026-06-01 10:48:02 +0000 <[exa]> oh, the early internet fairy tales and their OPs who read comments
2026-06-01 10:48:51 +0000 <danz84949> reddit keeps those tales alive
2026-06-01 10:49:57 +0000xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 272 seconds)
2026-06-01 10:50:15 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 258 seconds)
2026-06-01 10:54:05 +0000danz84949(~danza@user/danza) (Remote host closed the connection)
2026-06-01 10:59:06 +0000ninjacato(~Thunderbi@user/ninjacato) (Remote host closed the connection)
2026-06-01 10:59:55 +0000 <yin> OP is reading and answering comments
2026-06-01 11:00:54 +0000ninjacato(~Thunderbi@user/ninjacato) ninjacato
2026-06-01 11:03:36 +0000takuan(~takuan@d8D86B9E9.access.telenet.be) (Ping timeout: 265 seconds)
2026-06-01 11:10:17 +0000kuribas(~user@188.118.57.242)
2026-06-01 11:10:26 +0000takuan(~takuan@d8D86B9E9.access.telenet.be)
2026-06-01 11:11:15 +0000 <merijn> tomsmeding: I don't think the cmake vs make distinction is a good metaphor :p
2026-06-01 11:11:36 +0000 <merijn> tomsmeding: Because you *should* pick Haskell over C, but you shouldn't pick cmake over make :p
2026-06-01 11:13:00 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-06-01 11:15:01 +0000 <[exa]> yeah the directionality there is dangerous :D
2026-06-01 11:21:29 +0000 <kuribas> If find C and haskell don't have much overlap.
2026-06-01 11:21:40 +0000 <kuribas> What you *could* program in haskell, you shouldn't do in C.
2026-06-01 11:21:56 +0000 <kuribas> Haskell and Java or C# has more overlap...
2026-06-01 11:22:57 +0000 <jaror> But C is purely functional: http://conal.net/blog/posts/the-c-language-is-purely-functional
2026-06-01 11:23:00 +0000 <jaror> ;P
2026-06-01 11:23:09 +0000 <kuribas> And C for system libraries or embedded systems would be a bad match for haskell as well.
2026-06-01 11:24:31 +0000 <kuribas> Do people still start programs in C?
2026-06-01 11:25:08 +0000 <kuribas> I thought people use Java or C#. Or (sadly) python or nodejs.
2026-06-01 11:25:49 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 262 seconds)
2026-06-01 11:27:26 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-06-01 11:29:47 +0000weary-traveler(~user@user/user363627) (Remote host closed the connection)
2026-06-01 11:31:15 +0000 <olsner> instead of writing C you could have Haskell code that generates assembly or runs a JIT compiler :)
2026-06-01 11:39:05 +0000haritz(~hrtz@140.228.70.141)
2026-06-01 11:39:05 +0000haritz(~hrtz@140.228.70.141) (Changing host)
2026-06-01 11:39:05 +0000haritz(~hrtz@user/haritz) haritz
2026-06-01 11:44:40 +0000 <jaror> Generating code with Haskell is the wrong idea IMO, instead you should find a subset of Haskell which you can compile efficiently. After all, Haskell is just a glorified lambda calculus.
2026-06-01 11:46:27 +0000fp1(~Thunderbi@130.233.70.60) (Quit: fp1)
2026-06-01 11:50:35 +0000weary-traveler(~user@user/user363627) user363627
2026-06-01 11:51:59 +0000fp1(~Thunderbi@130.233.70.60) fp
2026-06-01 11:55:12 +0000 <kuribas> Or use rust instead?
2026-06-01 12:06:06 +0000Enrico63(~Enrico63@host-95-247-196-30.retail.telecomitalia.it) (Quit: Client closed)
2026-06-01 12:07:17 +0000 <srk> jaror: that's what MicroHs does I think
2026-06-01 12:07:42 +0000srkuses Haskell to generate C for embedded stuff
2026-06-01 12:09:03 +0000tnt1(~Thunderbi@user/tnt1) tnt1
2026-06-01 12:17:09 +0000 <jaror> No MicroHs "compiles" the full Haskell language to combinators
2026-06-01 12:22:00 +0000weary-traveler(~user@user/user363627) (Remote host closed the connection)
2026-06-01 12:22:33 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2026-06-01 12:24:37 +0000weary-traveler(~user@user/user363627) user363627
2026-06-01 12:25:47 +0000FirefoxDeHuk(~FirefoxDe@user/FirefoxDeHuk) FirefoxDeHuk
2026-06-01 12:29:42 +0000lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2026-06-01 12:36:57 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
2026-06-01 12:40:08 +0000tjbc(~tjbc@user/fliife) (Ping timeout: 261 seconds)
2026-06-01 12:40:45 +0000Ranhir(~Ranhir@157.97.53.139) Ranhir
2026-06-01 12:41:00 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-06-01 12:46:29 +0000fp1(~Thunderbi@130.233.70.60) (Ping timeout: 272 seconds)
2026-06-01 12:49:49 +0000tjbc(~tjbc@user/fliife) fliife
2026-06-01 12:49:54 +0000comerijn(~merijn@77.242.116.146) merijn
2026-06-01 12:52:52 +0000merijn(~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2026-06-01 12:55:36 +0000xff0x(~xff0x@2405:6580:b080:900:2c0a:90ca:8489:d22b)
2026-06-01 12:57:31 +0000Square3(~Square4@user/square) (Remote host closed the connection)
2026-06-01 12:58:11 +0000Square3(~Square4@user/square) Square
2026-06-01 13:12:02 +0000FirefoxDeHuk(~FirefoxDe@user/FirefoxDeHuk) (Quit: Client closed)
2026-06-01 13:15:20 +0000Enrico63(~Enrico63@host-95-247-196-30.retail.telecomitalia.it) Enrico63
2026-06-01 13:28:25 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-06-01 13:28:42 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-06-01 13:35:21 +0000 <mesaoptimizer> I guess we could rewrite GHC or MicroHs in Rust
2026-06-01 13:35:53 +0000 <mesaoptimizer> or just the minimum needed bit to bootstrap from
2026-06-01 13:38:15 +0000 <jaror> Rewriting the compiler in another language doesn't change the performance of the programs it produces
2026-06-01 13:38:44 +0000 <[exa]> mesaoptimizer: not sure if rust complexity isn't a bit bigger than of haskell
2026-06-01 13:38:53 +0000 <[exa]> i.e. the bootstrap direction might not make sense
2026-06-01 13:43:11 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-01 13:43:30 +0000CiaoSen(~Jura@2a02:3031:2e2:74df:4e50:ddff:fe9b:8922) (Ping timeout: 245 seconds)
2026-06-01 13:44:45 +0000 <srk> jaror: oO, interesting, looking at eval.c .. not so :D cool that's something like that is possible
2026-06-01 13:45:51 +0000Enrico63(~Enrico63@host-95-247-196-30.retail.telecomitalia.it) (Quit: Client closed)
2026-06-01 13:46:25 +0000 <jaror> That's how the early lazy languages worked, e.g. miranda
2026-06-01 13:47:30 +0000srkreads mhs paper
2026-06-01 13:48:14 +0000Square3(~Square4@user/square) (Ping timeout: 245 seconds)
2026-06-01 13:53:49 +0000 <[exa]> jaror: ah btw that reminds me of this thing: https://github.com/taolson/Admiran
2026-06-01 13:53:57 +0000target_i(~target_i@user/target-i/x-6023099) target_i
2026-06-01 13:54:29 +0000 <[exa]> (the stats say 99% assembly but that's just the bootstrap blob)
2026-06-01 13:56:15 +0000 <jaror> impressive
2026-06-01 13:56:22 +0000 <jaror> > 20x to 50x faster than the original Miranda compiler/combinator interpreter
2026-06-01 13:56:23 +0000 <lambdabot> Variable not in scope: fasterVariable not in scope: thanVariable not in scop...
2026-06-01 13:56:32 +0000 <mesaoptimizer> hah
2026-06-01 13:56:33 +0000 <jaror> Yeah that's the reason we stopped compiling to combinators
2026-06-01 13:56:50 +0000 <jaror> Ah, I'm too used to markdown syntax
2026-06-01 13:56:54 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 256 seconds)
2026-06-01 13:57:14 +0000 <mesaoptimizer> that reminds me, how practical is Conal Elliot's "compiling to categories", if compiling to combinators is impractical as you put it
2026-06-01 13:57:33 +0000 <jaror> Compiling to categories is just a completely different thing
2026-06-01 13:57:37 +0000 <jaror> You don't run categories
2026-06-01 13:58:12 +0000 <jaror> I guess you could implement the interfaces using assembly and then run the result
2026-06-01 13:59:43 +0000 <jaror> I think tomsmeding once told me how that is inefficient (we were discussing the automatic differentiation work by Conal Elliott, but I think the approach was similar)
2026-06-01 14:00:54 +0000 <jaror> As far as I know compiling to categories also means you must eliminate variables in some way
2026-06-01 14:01:08 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-01 14:01:17 +0000 <jaror> and I think much more thought has been put into making SKI-based combinators fast than making the compiling to categories translation fast