2026/06/01

Newest at the top

2026-06-01 22:09:29 +0000 <yin> allowing fully-fledged anything on user input is never a good idea
2026-06-01 22:02:35 +0000Guest41(~Guest41@149.3.7.235) (Quit: Client closed)
2026-06-01 22:02:04 +0000machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) machinedgod
2026-06-01 21:58:14 +0000__monty__(~toonn@user/toonn) (Quit: leaving)
2026-06-01 21:57:33 +0000Guest41(~Guest41@149.3.7.235)
2026-06-01 21:56:39 +0000 <mesaoptimizer> that would allow a full-fledged Haskell2010 to run as its immediate demo playground
2026-06-01 21:56:00 +0000 <mesaoptimizer> https://www.haskell.org/ should use an MHS version for its homepage demo
2026-06-01 21:53:33 +0000Pozyomka(~pyon@user/pyon) pyon
2026-06-01 21:52:29 +0000vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-06-01 21:47:21 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2026-06-01 21:46:39 +0000Guest17(~Guest17@202.1.186.51) (Client Quit)
2026-06-01 21:46:24 +0000Guest17(~Guest17@202.1.186.51)
2026-06-01 21:41:46 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 21:40:15 +0000acidsys(~crameleon@openSUSE/member/crameleon) crameleon
2026-06-01 21:35:19 +0000jreicher(~joelr@user/jreicher) (Quit: In transit)
2026-06-01 21:30:54 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 252 seconds)
2026-06-01 21:26:18 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-06-01 21:26:00 +0000merijn(~merijn@62.45.136.136) merijn
2026-06-01 21:21:10 +0000vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 269 seconds)
2026-06-01 21:20:29 +0000 <monochrom> Conversely! I have a friend who found BASIC's and C's "X = X+1" non-sense because it would be non-sense in math. In this case my friend's first language was math so he tried to shoehorned BASIC into math!
2026-06-01 21:20:05 +0000 <yin> you make it sound like some ethically ambiguous experiment :D
2026-06-01 21:18:57 +0000 <monochrom> yin: (Belated) It has always been human nature to shoehorn everything into what one already knows. In the instance you saw, people demand for-loops iff their first programming lessons emphasized for-loops. Decades ago some MIT people tried and succeeded in teaching FP to children, no complaint about not learning for-loops.
2026-06-01 21:15:40 +0000weary-traveler(~user@user/user363627) user363627
2026-06-01 21:14:54 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-06-01 21:10:12 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 21:09:20 +0000takuan(~takuan@d8D86B9E9.access.telenet.be) (Ping timeout: 245 seconds)
2026-06-01 21:03:43 +0000pavonia(~user@user/siracusa) siracusa
2026-06-01 21:02:51 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) humasect
2026-06-01 21:02:40 +0000acidsys(~crameleon@openSUSE/member/crameleon) (Ping timeout: 245 seconds)
2026-06-01 21:01:57 +0000orcus(~orcus@user/brprice) (Read error: Connection reset by peer)
2026-06-01 21:01:18 +0000emmanuelux(~em@user/emmanuelux) emmanuelux
2026-06-01 21:00:19 +0000orcus-(~orcus@user/brprice) brprice
2026-06-01 20:59:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-06-01 20:52:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 20:41:40 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-06-01 20:36:26 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 20:25:22 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 251 seconds)
2026-06-01 20:25:13 +0000weary-traveler(~user@user/user363627) (Remote host closed the connection)
2026-06-01 20:20:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-01 20:17:32 +0000netunreach(~user@user/netunreach) netunreach
2026-06-01 20:15:00 +0000 <unworriedsafari> Thanks :) This clears it up. I'm not too familiar with seeing this at the type level. So that link seems informative as well.
2026-06-01 20:13:17 +0000 <tomsmeding> there is documentation here on the promotion of data types to the type level, but it's written with the assumption that the reader already knows a lot of haskell https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/data_kinds.html#extension-DataKinds
2026-06-01 20:12:00 +0000 <unworriedsafari> I see
2026-06-01 20:11:17 +0000 <tomsmeding> "given a BookDB and any computation that uses the ReadOnlyBookDB effect at the front of its effect list, I can handle that effect completely as long as I have the IOE effect available"
2026-06-01 20:11:09 +0000netunreach(~user@user/netunreach) (Ping timeout: 252 seconds)
2026-06-01 20:10:24 +0000 <tomsmeding> the 'es' parameter is the list of available effects; 'IOE :> es' is a constraint requiring that IOE is an element of that list, and the usage of ':' means that the argument will run with one additional effect available (namely, ReadOnlyBookDB)
2026-06-01 20:09:53 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds)
2026-06-01 20:09:31 +0000 <tomsmeding> it's a list of effects :)
2026-06-01 20:09:20 +0000 <unworriedsafari> oh
2026-06-01 20:09:17 +0000 <unworriedsafari> I see, so it's a type-level operator. Same for the colon in (ReadonlyBooksDB : es) I suppose