Logs on 2026-03-15 (liberachat/#haskell)
| 00:01:32 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 00:09:03 | × | wickedjargon quits (~user@S0106f89e28d5699a.vc.shawcable.net) (Ping timeout: 246 seconds) |
| 00:12:03 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 00:16:39 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 00:27:29 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 00:34:31 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 00:37:41 | × | machinedgod quits (~machinedg@d172-219-48-230.abhsia.telus.net) (Ping timeout: 252 seconds) |
| 00:45:29 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 00:49:45 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 00:54:14 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 258 seconds) |
| 00:54:46 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 01:05:15 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 01:10:08 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 01:14:39 | × | APic quits (apic@apic.name) (Quit: brb) |
| 01:19:20 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 01:24:02 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 01:25:05 | → | APic joins (apic@apic.name) |
| 01:26:01 | × | APic quits (apic@apic.name) (Client Quit) |
| 01:26:52 | × | Tuplanolla quits (~Tuplanoll@88-114-89-88.elisa-laajakaista.fi) (Quit: Leaving.) |
| 01:34:41 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 01:38:56 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 01:44:30 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 01:46:19 | × | gabiruh quits (~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in) |
| 01:46:35 | → | gabiruh joins (~gabiruh@vps19177.publiccloud.com.br) |
| 01:47:21 | → | wickedjargon joins (~user@2605:8d80:5430:db35:9897:1236:e613:3e66) |
| 01:48:39 | → | tcard_ joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
| 01:49:12 | × | tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Read error: Connection reset by peer) |
| 01:50:04 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 01:53:48 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...) |
| 01:54:05 | → | CloneOfNone joins (~CloneOfNo@user/CloneOfNone) |
| 01:54:26 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 01:58:54 | × | wickedjargon quits (~user@2605:8d80:5430:db35:9897:1236:e613:3e66) (Remote host closed the connection) |
| 02:05:26 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 02:10:03 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 02:20:47 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 02:27:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 02:28:47 | × | acidjnk_new quits (~acidjnk@p200300d6e700e577005998611a6f2d89.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 02:38:50 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 02:40:26 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 02:43:05 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 02:47:45 | × | gabiruh quits (~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in) |
| 02:51:07 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 02:53:08 | → | gabiruh joins (~gabiruh@vps19177.publiccloud.com.br) |
| 02:56:05 | × | somemathguy quits (~somemathg@user/somemathguy) (Quit: WeeChat 4.1.1) |
| 02:56:07 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 03:00:01 | × | attlin quits (~user@user/attlin) (Quit: Leaving) |
| 03:03:48 | → | attlin joins (~user@user/attlin) |
| 03:05:03 | × | op_4 quits (~tslil@user/op-4/x-9116473) (Remote host closed the connection) |
| 03:05:39 | → | op_4 joins (~tslil@user/op-4/x-9116473) |
| 03:06:30 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 03:07:51 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 03:08:09 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 03:11:12 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 03:12:21 | → | emmanuelux joins (~em@user/emmanuelux) |
| 03:19:53 | × | emmanuelux quits (~em@user/emmanuelux) (Read error: Connection reset by peer) |
| 03:20:44 | → | acidjnk_new joins (~acidjnk@p200300d6e700e577ac3e0b7a27078302.dip0.t-ipconnect.de) |
| 03:21:52 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 03:26:43 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 03:31:31 | → | emmanuelux joins (~em@user/emmanuelux) |
| 03:37:13 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 03:41:43 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 03:48:09 | × | ZLima12 quits (~zlima12@user/meow/ZLima12) (Ping timeout: 246 seconds) |
| 03:48:37 | → | ZLima12 joins (~zlima12@user/meow/ZLima12) |
| 03:52:35 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 03:52:57 | <ski> | roconnor : someone mentioned something like that, here, a few days ago |
| 03:57:07 | → | machinedgod joins (~machinedg@d172-219-48-230.abhsia.telus.net) |
| 03:59:43 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 04:00:57 | × | emmanuelux quits (~em@user/emmanuelux) (Quit: bye) |
| 04:06:18 | → | emmanuelux joins (~em@user/emmanuelux) |
| 04:10:54 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 04:15:36 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 04:18:31 | × | emmanuelux quits (~em@user/emmanuelux) (Read error: Connection reset by peer) |
| 04:21:19 | <roconnor> | beginIO (pushIO '>') putCharIO (beginIO getCharIO putCharIO untilEofIO) endIO |
| 04:26:16 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 04:30:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 04:35:21 | → | emmanuelux joins (~em@user/emmanuelux) |
| 04:36:59 | → | craunts795335385 joins (~craunts@152.32.99.2) |
| 04:41:39 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 04:41:56 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 258 seconds) |
| 04:45:58 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 04:46:03 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 04:47:33 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 04:48:17 | × | dutchie quits (~dutchie@user/dutchie) (Ping timeout: 268 seconds) |
| 04:50:02 | × | jle` quits (~jle`@2603:8001:3b00:11::1156) (Quit: WeeChat 4.8.1) |
| 04:50:55 | → | dutchie joins (~dutchie@user/dutchie) |
| 04:53:36 | → | wickedjargon joins (~user@S0106f89e28d5699a.vc.shawcable.net) |
| 04:57:00 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 04:57:14 | × | euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 04:59:54 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 246 seconds) |
| 05:01:41 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 05:03:24 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 05:05:08 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 05:12:22 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 05:13:17 | → | peterbecich joins (~Thunderbi@71.84.33.135) |
| 05:17:12 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 05:20:53 | → | jle` joins (~jle`@2603:8001:3b00:11:a2b9:f428:51ad:f7af) |
| 05:22:27 | → | euphores joins (~SASL_euph@user/euphores) |
| 05:27:42 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 05:34:18 | × | Adran quits (~adran@botters/adran) (Read error: Connection reset by peer) |
| 05:34:32 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 05:35:18 | → | Adran joins (~adran@botters/adran) |
| 05:45:46 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 05:47:51 | → | takuan joins (~takuan@d8D86B9E9.access.telenet.be) |
| 05:50:02 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 05:53:17 | → | Guest88 joins (~Guest88@31.205.11.202) |
| 05:54:55 | × | Guest88 quits (~Guest88@31.205.11.202) (Client Quit) |
| 05:59:02 | → | tt12316070197 joins (~tt1231@75.185.104.199) |
| 06:01:00 | × | tt1231607019 quits (~tt1231@2603:6010:8700:4a81:a4f6:acff:fe95:3803) (Ping timeout: 264 seconds) |
| 06:01:00 | tt12316070197 | is now known as tt1231607019 |
| 06:01:10 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 06:05:48 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 06:07:12 | × | wickedjargon quits (~user@S0106f89e28d5699a.vc.shawcable.net) (Ping timeout: 255 seconds) |
| 06:16:32 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 06:21:26 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 06:25:41 | → | wickedjargon joins (~user@S0106f89e28d5699a.vc.shawcable.net) |
| 06:26:12 | × | wickedjargon quits (~user@S0106f89e28d5699a.vc.shawcable.net) (Remote host closed the connection) |
| 06:26:24 | → | wickedjargon joins (~user@S0106f89e28d5699a.vc.shawcable.net) |
| 06:26:45 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 265 seconds) |
| 06:26:57 | × | wickedjargon quits (~user@S0106f89e28d5699a.vc.shawcable.net) (Remote host closed the connection) |
| 06:27:02 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 06:27:10 | → | wickedjargon joins (~user@S0106f89e28d5699a.vc.shawcable.net) |
| 06:27:55 | × | peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 264 seconds) |
| 06:31:54 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 06:33:38 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 256 seconds) |
| 06:36:28 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 06:37:44 | × | marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection) |
| 06:38:05 | → | marinelli joins (~weechat@gateway/tor-sasl/marinelli) |
| 06:43:27 | → | Square2 joins (~Square@user/square) |
| 06:43:29 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 06:43:29 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Client Quit) |
| 06:43:48 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 06:46:10 | × | Square3 quits (~Square@user/square) (Ping timeout: 248 seconds) |
| 06:47:15 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 06:48:56 | × | Square2 quits (~Square@user/square) (Ping timeout: 244 seconds) |
| 06:51:14 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 06:51:45 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 06:52:35 | × | p3n quits (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Quit: ZNC 1.10.1 - https://znc.in) |
| 06:53:48 | → | p3n joins (~p3n@217.198.124.246) |
| 07:01:01 | × | tt1231607019 quits (~tt1231@75.185.104.199) (Quit: The Lounge - https://thelounge.chat) |
| 07:02:37 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 07:06:28 | → | wickedja` joins (~user@2605:8d80:5431:326b:f843:4622:5e47:57a5) |
| 07:06:57 | → | tt12316070197 joins (~tt1231@75.185.104.199) |
| 07:08:02 | × | wickedjargon quits (~user@S0106f89e28d5699a.vc.shawcable.net) (Ping timeout: 248 seconds) |
| 07:09:17 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 07:20:41 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 07:24:54 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 07:26:01 | → | hiecaq joins (~hiecaq@user/hiecaq) |
| 07:28:01 | × | chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
| 07:31:00 | × | wickedja` quits (~user@2605:8d80:5431:326b:f843:4622:5e47:57a5) (Ping timeout: 264 seconds) |
| 07:32:34 | → | chromoblob joins (~chromoblo@user/chromob1ot1c) |
| 07:32:45 | → | Guest33 joins (~Guest33@2401:4900:1c88:4bc9:7579:696e:50b3:a061) |
| 07:34:55 | → | hakutaku joins (~textual@user/hakutaku) |
| 07:36:03 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 07:37:50 | Guest33 | is now known as hsj |
| 07:38:55 | ← | hsj parts (~Guest33@2401:4900:1c88:4bc9:7579:696e:50b3:a061) () |
| 07:39:55 | <mesaoptimizer> | wow |
| 07:40:36 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 07:47:10 | × | haritz quits (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in) |
| 07:49:00 | × | machinedgod quits (~machinedg@d172-219-48-230.abhsia.telus.net) (Ping timeout: 264 seconds) |
| 07:51:25 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 07:56:12 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 08:06:47 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 08:11:00 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 08:14:25 | → | Vizious joins (~bes@user/Vizious) |
| 08:22:09 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 08:26:58 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 08:33:20 | → | __monty__ joins (~toonn@user/toonn) |
| 08:37:31 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 08:44:48 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 08:46:56 | × | vidak quits (~vidak@2407:e400:7800:2c01:d0be:76f8:cc84:bd4a) (Read error: Connection reset by peer) |
| 08:47:34 | → | vidak joins (~vidak@2407:e400:7800:2c01:d0be:76f8:cc84:bd4a) |
| 08:48:19 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 08:50:35 | × | madresch quits (~Thunderbi@user/madresch) (Read error: Connection reset by peer) |
| 08:52:48 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 08:53:11 | → | madresch joins (~Thunderbi@user/madresch) |
| 08:53:55 | × | hiecaq quits (~hiecaq@user/hiecaq) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.2)) |
| 08:56:13 | → | Guest62t joins (~Guest62t@p200300ca8f3baa00c0ef77f2b149c10e.dip0.t-ipconnect.de) |
| 09:03:39 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 09:07:49 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 09:08:07 | → | arandombit joins (~arandombi@2a02:2455:8656:7100:819d:767:3340:9085) |
| 09:08:07 | × | arandombit quits (~arandombi@2a02:2455:8656:7100:819d:767:3340:9085) (Changing host) |
| 09:08:07 | → | arandombit joins (~arandombi@user/arandombit) |
| 09:09:47 | → | hiecaq joins (~hiecaq@user/hiecaq) |
| 09:12:20 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 09:12:24 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 245 seconds) |
| 09:14:07 | → | czan joins (~czan@user/mange) |
| 09:16:51 | <mesaoptimizer> | https://vitez.me/learn-haskell-in-two-weeks I don't recall if I've linked this here yet but it is a really nice essay about how Mercury gets their new hires up to speed with Haskell |
| 09:19:00 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 09:23:43 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 09:32:19 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 09:35:35 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 09:36:54 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 09:47:41 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 09:53:40 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 09:54:36 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 09:55:04 | × | tomku quits (~tomku@user/tomku) (Ping timeout: 265 seconds) |
| 09:55:18 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 09:56:51 | × | Beowulf quits (florian@sleipnir.bandrate.org) (Quit: = "") |
| 09:56:57 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 10:01:35 | → | tomku joins (~tomku@user/tomku) |
| 10:01:35 | → | Beowulf joins (florian@sleipnir.bandrate.org) |
| 10:04:25 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 10:08:30 | × | halloy7365 quits (~halloy736@2404:4400:a100:9177:19ed:4b07:ae51:20d8) (Read error: Connection reset by peer) |
| 10:09:16 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 10:14:59 | → | Tuplanolla joins (~Tuplanoll@88-114-89-88.elisa-laajakaista.fi) |
| 10:19:48 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 10:26:34 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 10:28:45 | <gentauro> | mesaoptimizer: really nice read. thx |
| 10:37:51 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 10:40:46 | × | hakutaku quits (~textual@user/hakutaku) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 10:40:55 | × | cawfee quits (root@2401:c080:3800:3460::babe) (Quit: WeeChat 4.8.1) |
| 10:41:44 | → | ridcully_ joins (~ridcully@p57b529aa.dip0.t-ipconnect.de) |
| 10:42:15 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 10:42:58 | × | ridcully quits (~ridcully@p508acfc8.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 10:44:40 | → | acidjnk_new3 joins (~acidjnk@p200300d6e700e515b93fdf75026bf1fc.dip0.t-ipconnect.de) |
| 10:47:48 | × | acidjnk_new quits (~acidjnk@p200300d6e700e577ac3e0b7a27078302.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 10:50:17 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 10:53:05 | → | APic joins (apic@apic.name) |
| 10:54:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 11:05:27 | → | cawfee joins (root@2401:c080:3800:3460::babe) |
| 11:05:39 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 11:08:20 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 11:09:51 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 11:14:14 | × | divlamir quits (~divlamir@user/divlamir) (Read error: Connection reset by peer) |
| 11:14:22 | × | kaol quits (~kaol@94-237-45-144.nl-ams1.upcloud.host) (Read error: Connection reset by peer) |
| 11:14:50 | → | divlamir joins (~divlamir@user/divlamir) |
| 11:21:01 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 11:24:08 | → | somemathguy joins (~somemathg@user/somemathguy) |
| 11:26:02 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 11:36:23 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 11:41:06 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 11:42:51 | × | juri_ quits (~juri@217-114-215-140.pool.ovpn.com) (Ping timeout: 265 seconds) |
| 11:43:48 | → | arandombit joins (~arandombi@user/arandombit) |
| 11:44:58 | <ski> | mesaoptimizer : Mercury, the language ? |
| 11:45:28 | → | zaquest joins (~notzaques@5.130.79.72) |
| 11:46:14 | <mesaoptimizer> | ski: Mercury, the fintech company in SF. https://mercury.com/ |
| 11:48:29 | <ski> | hm, never heard |
| 11:49:45 | → | juri_ joins (~juri@217-114-215-140.pool.ovpn.com) |
| 11:50:06 | × | zaquest quits (~notzaques@5.130.79.72) (Ping timeout: 255 seconds) |
| 11:51:25 | × | somemathguy quits (~somemathg@user/somemathguy) (Ping timeout: 245 seconds) |
| 11:51:46 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 11:52:19 | × | GdeVolpiano quits (~GdeVolpia@user/GdeVolpiano) (Ping timeout: 268 seconds) |
| 11:53:50 | → | GdeVolpiano joins (~GdeVolpia@user/GdeVolpiano) |
| 11:58:42 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 12:02:17 | <[exa]> | mesaoptimizer: hey that post is pretty cool |
| 12:05:12 | <mesaoptimizer> | yeah, it made me quite optimistic about how easy it would be to get people up to speed to use Haskell |
| 12:05:44 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 245 seconds) |
| 12:06:50 | <[exa]> | yeah like, the course I've been running for a few years now is essentially the same logic. I've got a talky part to explain stuff but the main part is chewing through a few relatively easy problems and getting code to work. |
| 12:09:48 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 12:14:20 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 12:17:22 | → | somemathguy joins (~somemathg@user/somemathguy) |
| 12:25:09 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 12:29:39 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 12:34:58 | × | madresch quits (~Thunderbi@user/madresch) (Ping timeout: 248 seconds) |
| 12:40:31 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 12:45:22 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 12:48:56 | → | arandombit joins (~arandombi@user/arandombit) |
| 12:54:00 | × | m1dnight quits (~m1dnight@d8D861A17.access.telenet.be) (Ping timeout: 255 seconds) |
| 12:55:53 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 13:00:40 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 13:11:16 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 13:13:45 | → | m1dnight joins (~m1dnight@d8D861A17.access.telenet.be) |
| 13:16:02 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 13:26:39 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 13:33:36 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 13:40:37 | → | huhuhuhuh joins (~huhuhuhuh@220.158.168.165) |
| 13:44:42 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 13:44:58 | × | huhuhuhuh quits (~huhuhuhuh@220.158.168.165) (Ping timeout: 240 seconds) |
| 13:48:29 | <gentauro> | mesaoptimizer: you need to have a base. I recall very bright people from the uni days that by taking the SML course were not able to understand what was going on (and skipping the class entirely). |
| 13:49:01 | <gentauro> | I think the only person I know who have managed to make these concepts easy to use by almost everybody, is Evan with Elm. |
| 13:49:04 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 13:49:19 | gentauro | and there are still many people who don't grasp the notions of it, sadly |
| 13:51:11 | <Rembane> | I believe in the concept of Elm as a "gateway drug" |
| 13:51:28 | <Rembane> | Gleam might work for that too, since it has a syntax that smells more of C |
| 14:00:04 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 14:05:15 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 14:05:50 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 14:11:24 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 14:13:04 | → | califax joins (~califax@user/califx) |
| 14:13:56 | × | timide quits (~timide@user/timide) (Read error: Connection reset by peer) |
| 14:14:07 | × | img quits (~img@user/img) (Quit: ZNC 1.10.1 - https://znc.in) |
| 14:14:28 | → | timide joins (~timide@user/timide) |
| 14:15:22 | → | img joins (~img@user/img) |
| 14:15:26 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 14:20:00 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 14:26:08 | → | rekahsoft joins (~rekahsoft@bras-base-orllon1103w-grc-20-76-67-111-168.dsl.bell.ca) |
| 14:30:48 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 14:31:41 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 14:32:00 | → | j1n37 joins (~j1n37@user/j1n37) |
| 14:35:21 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 14:38:49 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 272 seconds) |
| 14:43:16 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 14:43:34 | × | m1dnight quits (~m1dnight@d8D861A17.access.telenet.be) (Ping timeout: 276 seconds) |
| 14:47:59 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 14:49:32 | → | m1dnight joins (~m1dnight@d8D861A17.access.telenet.be) |
| 14:52:28 | → | Square2 joins (~Square@user/square) |
| 14:58:38 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 14:59:47 | → | karenw joins (~karenw@user/karenw) |
| 15:00:31 | × | marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli) |
| 15:02:52 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 15:04:37 | <chromoblob> | Hoogle-as-a-Haskell-mentor |
| 15:09:11 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 15:09:27 | → | califax joins (~califax@user/califx) |
| 15:13:19 | <mesaoptimizer> | Hoogle isn't enough |
| 15:13:45 | <mesaoptimizer> | you need one-on-one mentoring while you try to solve exercises |
| 15:13:59 | <mesaoptimizer> | that's what I believe the essay states is the most effective strategy |
| 15:14:01 | → | merijn joins (~merijn@62.45.136.136) |
| 15:14:52 | <mesaoptimizer> | gentauro: I feel like Haskell is likely easier to learn for people who didn't learn a traditional effectful impure imperative language |
| 15:15:02 | <mesaoptimizer> | so au contraire |
| 15:15:32 | → | arandombit joins (~arandombi@user/arandombit) |
| 15:18:44 | <c_wraith> | learning just about everything is most effective with a one-on-one mentor |
| 15:20:42 | × | merijn quits (~merijn@62.45.136.136) (Ping timeout: 255 seconds) |
| 15:21:59 | <mesaoptimizer> | I just realized that in my experience, I never could learn math in realtime in a one-on-one conversation with anyone experienced |
| 15:23:07 | <mesaoptimizer> | people massively underestimate the deep bodies of knowledge they've built and try to walk you through an argument as if you've internalized the statement they've said a few seconds ago |
| 15:23:40 | <mesaoptimizer> | its even worse if they are *bad* at this and get *frustrated* or worse, keep trying when you try to politely inform them of the futility of the attempt |
| 15:25:31 | <c_wraith> | I didn't say it was easy to be a mentor! It's actually very hard to know when to stop explaining and say "try this on your own for a while and tell me you come up with" |
| 15:32:02 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 15:37:05 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 15:45:00 | → | qqq joins (~qqq@185.54.20.215) |
| 15:46:17 | × | raincomplex quits (~rain@user/raincomplex) (Quit: ZNC 1.8.2+deb2ubuntu0.1 - https://znc.in) |
| 15:47:25 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 15:48:34 | → | raincomplex joins (~rain@pool-173-54-183-192.nwrknj.fios.verizon.net) |
| 15:48:34 | × | raincomplex quits (~rain@pool-173-54-183-192.nwrknj.fios.verizon.net) (Changing host) |
| 15:48:34 | → | raincomplex joins (~rain@user/raincomplex) |
| 15:51:57 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 16:02:47 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 16:06:56 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 16:13:31 | → | spew joins (~spew@user/spew) |
| 16:13:56 | × | hiecaq quits (~hiecaq@user/hiecaq) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.2)) |
| 16:17:51 | × | Digit quits (~user@user/digit) (Ping timeout: 255 seconds) |
| 16:18:12 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 16:18:23 | → | Digitteknohippie joins (~user@user/digit) |
| 16:22:58 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 16:27:55 | × | emmanuelux quits (~em@user/emmanuelux) (Ping timeout: 264 seconds) |
| 16:33:31 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 16:38:06 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 16:43:33 | → | machinedgod joins (~machinedg@d172-219-48-230.abhsia.telus.net) |
| 16:44:15 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 16:49:10 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 16:57:39 | → | madresch joins (~Thunderbi@user/madresch) |
| 16:58:09 | Digitteknohippie | is now known as Digit |
| 16:59:38 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 17:00:42 | → | madresch1 joins (~Thunderbi@user/madresch) |
| 17:02:11 | × | madresch quits (~Thunderbi@user/madresch) (Ping timeout: 252 seconds) |
| 17:02:11 | madresch1 | is now known as madresch |
| 17:03:28 | → | marinelli joins (~weechat@gateway/tor-sasl/marinelli) |
| 17:04:39 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 255 seconds) |
| 17:06:35 | × | spew quits (~spew@user/spew) (Quit: nyaa~) |
| 17:06:55 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 17:10:12 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 258 seconds) |
| 17:17:40 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 17:21:54 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 17:25:11 | → | arandombit joins (~arandombi@user/arandombit) |
| 17:33:02 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 17:37:22 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 17:45:15 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 17:47:06 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 246 seconds) |
| 17:49:39 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 17:51:05 | → | wickedjargon joins (~user@S0106f89e28d5699a.vc.shawcable.net) |
| 17:54:23 | × | madresch quits (~Thunderbi@user/madresch) (Quit: madresch) |
| 17:55:59 | <Rembane> | Math is ... math is never easy to learn nor to teach. IMHO. A compiler and some limit of the abstractions make things so much easier. |
| 18:00:10 | × | pabs3 quits (~pabs3@user/pabs3) (Ping timeout: 245 seconds) |
| 18:00:38 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 18:05:10 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 18:11:18 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 18:11:36 | × | marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection) |
| 18:12:13 | → | marinelli joins (~weechat@gateway/tor-sasl/marinelli) |
| 18:13:21 | → | pabs3 joins (~pabs3@user/pabs3) |
| 18:16:00 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 18:20:14 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 18:31:22 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 18:36:13 | → | califax_ joins (~califax@user/califx) |
| 18:36:28 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 18:37:13 | × | califax quits (~califax@user/califx) (Ping timeout: 258 seconds) |
| 18:37:25 | califax_ | is now known as califax |
| 18:38:48 | × | marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection) |
| 18:39:11 | → | marinelli joins (~weechat@gateway/tor-sasl/marinelli) |
| 18:46:44 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 18:50:45 | → | sm__ joins (~sm@66.8.200.171) |
| 18:52:14 | × | sm__ quits (~sm@66.8.200.171) (Client Quit) |
| 18:53:15 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 18:53:20 | × | marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection) |
| 18:53:40 | → | marinelli joins (~weechat@gateway/tor-sasl/marinelli) |
| 18:53:53 | → | arandombit joins (~arandombi@user/arandombit) |
| 18:53:54 | <haskellbridge> | <sm> mesaoptimizer: > a really nice essay |
| 18:53:54 | <haskellbridge> | +1 |
| 18:55:23 | <haskellbridge> | <sm> "stealing learning" was an interesting concept |
| 18:58:12 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 18:59:48 | <gentauro> | Rembane: you can teach basic operation precedence with pattern matching ;) |
| 19:00:03 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 19:00:16 | <Rembane> | gentauro: Are you thinking about the mnemonics or something else? :) |
| 19:01:54 | <gentauro> | 18:55 < Rembane> Math is ... math is never easy to learn nor to teach … |
| 19:02:27 | <Rembane> | gentauro: Ah. Got it. |
| 19:03:55 | <gentauro> | I'm going to teach kidos (in April) how to make a basic calculator with FP ;) |
| 19:04:07 | <Rembane> | Exciting! :) |
| 19:04:08 | <gentauro> | (among other things) |
| 19:04:18 | <Rembane> | Will it involve RPN? |
| 19:04:51 | → | merijn joins (~merijn@62.45.136.136) |
| 19:05:51 | <EvanR> | is this calculator going to have a GUI |
| 19:05:51 | <gentauro> | Rembane: we will start with an analog approach to MVU ;) https://imgur.com/a/bXA0MSw |
| 19:05:54 | <gentauro> | xD |
| 19:05:59 | <gentauro> | EvanR: it sure will |
| 19:06:01 | <gentauro> | :P |
| 19:06:03 | <EvanR> | wow what |
| 19:06:19 | <EvanR> | I was sure you were going to have kids typing into a terminal emulator |
| 19:06:31 | <gentauro> | EvanR: that would be to easy |
| 19:06:50 | <Rembane> | Sweet! :D |
| 19:06:51 | <EvanR> | as a kid who was typing into an apple II BASIC thing, was life changing |
| 19:06:54 | <gentauro> | 3D printed numbers and (basick math) operations |
| 19:07:05 | <gentauro> | a notebook for immutable traces |
| 19:07:15 | <gentauro> | and then a marker to update state |
| 19:07:21 | <EvanR> | whoa |
| 19:07:24 | <gentauro> | oh, the buttons are just post its :D |
| 19:07:58 | <gentauro> | when you put 5-6 kids to work concurrently with that, they actually do a good job |
| 19:08:18 | <gentauro> | then I tell, go home and tell your (dev) parents that you are doing concurrent FP :P |
| 19:08:21 | <gentauro> | hehe |
| 19:09:02 | <gentauro> | 20:06 < EvanR> I was sure you were going to have kids typing into a terminal emulator |
| 19:09:31 | <gentauro> | once they grasp the notions, we move to Elm (Ellie to be more precise) |
| 19:09:32 | × | merijn quits (~merijn@62.45.136.136) (Ping timeout: 268 seconds) |
| 19:12:09 | × | glguy quits (glguy@libera/staff/glguy) (Ping timeout: 615 seconds) |
| 19:12:10 | → | diabloblanco joins (~diablobla@user/diabloblanco) |
| 19:12:35 | → | glguy joins (glguy@libera/staff/glguy) |
| 19:14:14 | × | diabloblanco quits (~diablobla@user/diabloblanco) (Remote host closed the connection) |
| 19:14:21 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 19:14:37 | <Rembane> | This Ellie? https://ellie-app.com/new |
| 19:14:45 | <gentauro> | Rembane: yes |
| 19:15:15 | <gentauro> | It's quite nice as it stores state. So kidos can work when going home and send link when asking for help |
| 19:15:54 | <Rembane> | That sounds like a nice way to work |
| 19:17:01 | → | diabloblanco joins (~diablobla@user/diabloblanco) |
| 19:17:09 | <gentauro> | I've tried other ways by using local setups and you spend all time setting up infra (IDE, compilers, … and cross devices -> Apple, Windows and Linux) |
| 19:17:18 | <gentauro> | Ellie SPA "just works" (Y) |
| 19:17:38 | <geekosaur> | . o O { famous last words } |
| 19:18:35 | <gentauro> | geekosaur: xD |
| 19:18:50 | <tomsmeding> | the "you spend all time setting up infra" is true though |
| 19:18:55 | <gentauro> | I tried the `F# + Fable` approach (heavily dependant on `npm`) and that was NO BUENO :'( |
| 19:19:05 | <gentauro> | tomsmeding: exactly |
| 19:19:06 | <tomsmeding> | it's true even in a university bachelor |
| 19:19:41 | <tomsmeding> | true, there most students figure it out, but there's always a couple with a sufficiently aggressive virus scanner that breaks ghcup or something |
| 19:20:00 | <tomsmeding> | or not that but something unfathomable that nobody can figure out |
| 19:21:08 | <Rembane> | The hardware is simply cursed by an old witch |
| 19:22:00 | <tomsmeding> | I co-ran a course using haskell for ~190 students for 3 years, and I think 2 out of 3 times we had a student where we just gave up |
| 19:22:05 | <gentauro> | wasn't it Joe Armstrong that gave a talk about how they setup two identical machines with Windows. 20 mins later, they had a totally diff setup |
| 19:22:17 | <gentauro> | hw + os + sw :( |
| 19:22:29 | <haskellbridge> | <ijouw> I do workshops in schools and most have centrally administered computers. Installing something is a matter of years. |
| 19:22:56 | <tomsmeding> | fun! |
| 19:22:57 | <haskellbridge> | <ijouw> Someone ported microhs to web (search xeus-haskell) |
| 19:23:04 | <tomsmeding> | the workshops, that is |
| 19:23:37 | <haskellbridge> | <ijouw> Yes |
| 19:23:39 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 19:24:12 | <gentauro> | ijouw: one kido borrowed his fathers (work) laptop (he is a cook that also does accouting and order stuff and such) |
| 19:24:22 | <gentauro> | yeah, kido decided to make it all go away (as you do) xD |
| 19:24:40 | <tomsmeding> | no backups? |
| 19:24:55 | <gentauro> | tomsmeding: nope |
| 19:25:00 | <tomsmeding> | oh no xD |
| 19:25:31 | <gentauro> | at least the kid got his own laptop after that |
| 19:25:41 | gentauro | kido was playing 4D chess |
| 19:25:55 | <tomsmeding> | lol |
| 19:26:39 | <gentauro> | btw, actually the kidos I will teach in april are all girls :o |
| 19:28:09 | <gentauro> | lets hope they join the FP-madness !!! |
| 19:29:40 | × | somemathguy quits (~somemathg@user/somemathguy) (Remote host closed the connection) |
| 19:29:43 | <Rembane> | \o/ |
| 19:29:53 | × | diabloblanco quits (~diablobla@user/diabloblanco) (Remote host closed the connection) |
| 19:30:00 | × | tomku quits (~tomku@user/tomku) (Ping timeout: 246 seconds) |
| 19:37:59 | <gentauro> | 20:22 <+haskellbridge> <ijouw> Someone ported microhs to web (search xeus-haskell) |
| 19:38:08 | <gentauro> | wow, missed that one :o https://jupyter-xeus.github.io/xeus-haskell/lab/index.html |
| 19:39:09 | → | emmanuelux joins (~em@user/emmanuelux) |
| 19:46:18 | <haskellbridge> | <ijouw> I only noticed because i read through most of the microhs github issues/discussion page |
| 19:46:26 | × | craunts795335385 quits (~craunts@152.32.99.2) (Ping timeout: 248 seconds) |
| 19:47:46 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 19:48:05 | <gentauro> | thx for sharing |
| 19:50:18 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 19:51:09 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds) |
| 19:53:12 | Lord_of_Life_ | is now known as Lord_of_Life |
| 19:56:29 | × | jreicher quits (~joelr@user/jreicher) (Quit: In transit) |
| 20:14:28 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...) |
| 20:28:26 | → | michalz joins (~michalz@185.246.207.193) |
| 20:33:09 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 20:37:54 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 20:43:59 | × | wickedjargon quits (~user@S0106f89e28d5699a.vc.shawcable.net) (Remote host closed the connection) |
| 20:44:54 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 20:48:10 | × | karenw quits (~karenw@user/karenw) (Remote host closed the connection) |
| 20:48:30 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 20:51:57 | <sshine> | tomsmeding, I work somewhere where everyone has to use Windows. (fortunately, WSL has gotten better, and there is numtide/system-manager for Nix on Ubuntu) what I experience isn't that Windows is unmanageable, but rather that the average developer on Windows isn't the master of their own operating system, they more or less randomly use it and don't know what's under the hood, and so they can't help |
| 20:52:03 | <sshine> | themselves when stuff breaks. |
| 20:52:43 | <tomsmeding> | sshine: I see |
| 20:52:57 | <tomsmeding> | and then because I don't know windows either, together we get no further |
| 20:53:22 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 20:53:31 | <newmind> | sshine: a lot of windows installation in a corporate settings are also managed, so it's not even that they are not interested in it, it's often simply not permitted |
| 20:53:33 | <tomsmeding> | while WSL is fine, in the course we tried to let students work on windows native instead of in the VM |
| 20:53:54 | <newmind> | (and with windows 11+ that more and more applies for private use too) |
| 20:54:24 | <sshine> | WSL + VSCode's client-server thingy, you can have the developer environment in Linux and the GUI on Windows. |
| 20:54:26 | <tomsmeding> | and on windows native you notice very acutely that lots of the tooling we're used to comes from the unix world, so e.g. getting a shell with ghc and git both available is a challenge |
| 20:54:49 | <tomsmeding> | yep that's what we did in earlier years, it worked okay |
| 20:55:13 | <sshine> | I didn't like devcontainers, but having the WSL VM be the server-side feels better. |
| 20:55:13 | <tomsmeding> | you get issues like students having Github Desktop on the windows side and git on the linux side and them not agreeing on line endings and such |
| 20:55:40 | <sshine> | yeah, line endings. I experience that Windows users don't know what that is. |
| 20:56:11 | <tomsmeding> | earlier because we had heavy dependencies (we fixed that last year) we also had a dev container inside WSL, and then SSH access with git was extremely finicky |
| 20:56:15 | <sshine> | for the projects I service at work, I try to stay consistent per-file. |
| 20:56:27 | <tomsmeding> | "I try to stay consistent per file" the horror |
| 20:58:05 | <mesaoptimizer> | https://hackage.haskell.org/package/time is this really the standard datetime library that Haskell users use? |
| 20:58:09 | <sshine> | there are so many ways to garble line endings. people use all kinds of tools configured differently. I haven't seen two setups being the same. some do most things from PowerShell, but a few switch between WSL and PowerShell, and yet fewer use only WSL; but do the files live in Windows or in Linux? do we assume case sensitive filenames? |
| 20:58:23 | <tomsmeding> | mesaoptimizer: generally, yes |
| 20:58:50 | <newmind> | sshine: then you have wsl1 vs wsl2, which function completely differently |
| 20:58:58 | <tomsmeding> | wsl1 shall not be used |
| 20:59:02 | <mesaoptimizer> | I ask because `fromGregorian` docs state: " Invalid values will be clipped to the correct range, month first, then day." |
| 20:59:16 | <mesaoptimizer> | which is a rather impressive silent failure |
| 20:59:26 | <newmind> | oh, and if you really want to add another fun layer, add in cygwin too |
| 21:00:05 | <tomsmeding> | mesaoptimizer: fromGregorianValid? |
| 21:00:07 | <sshine> | mesaoptimizer, https://web.archive.org/web/20211225193627/https://jacobstanley.io/3-packages-you-need-to-know-about-before-processing-timestamps-in-haskell/ |
| 21:02:09 | <sshine> | newmind, my students use Cygwin via "Git Bash" which comes with when you install git on Windows. |
| 21:02:23 | <tomsmeding> | isn't that minGW? |
| 21:02:27 | <sshine> | oh, right |
| 21:02:33 | <tomsmeding> | a rather different beast :) |
| 21:03:14 | <sshine> | I like how "Git Bash" kind of works in spite of all the brokenness of trying to marry Unix tools with Windows. |
| 21:03:32 | <tomsmeding> | but do you have ghc in git bash? |
| 21:03:32 | <newmind> | didn't microsoft include some unix tools/compability with windows itself once? |
| 21:03:50 | → | jreicher joins (~joelr@user/jreicher) |
| 21:04:01 | <davean> | sshine: Only one of those handles TAI, and only partially at that? |
| 21:04:14 | <davean> | And if you care about time, you'll be using TAI so ... |
| 21:05:27 | <tomsmeding> | I do not usually care about time enough to make the effort to deal with leap seconds |
| 21:05:48 | × | fernando-basso quits (~fernando-@2a01:4f9:c012:63d3::1) (Ping timeout: 264 seconds) |
| 21:06:31 | → | fernando-basso joins (~fernando-@2a01:4f9:c012:63d3::1) |
| 21:08:07 | <geekosaur> | newmind, Windows 2000 had a POSIX subsystem. It didn't play along well with native stuff, didn't work well by itself, and was abandoned |
| 21:08:22 | <geekosaur> | WSL2 exists but is hasically a single-seat Hyper-V |
| 21:08:28 | <geekosaur> | *basically |
| 21:08:39 | <newmind> | yeah, i seemed to recall something like that, and also that is was mostly a flop that got dropped |
| 21:08:44 | <geekosaur> | (by default running Ubuntu but you can find instructions for installing other distros) |
| 21:08:45 | <mesaoptimizer> | sshine: thanks |
| 21:08:50 | <tomsmeding> | it's a VM in essentially all important ways |
| 21:09:10 | <newmind> | and wsl1 is basically a reverse wine, right? |
| 21:09:17 | <tomsmeding> | it just has a bit of polish like auto-mounting of its disk as a network drive on the windows side |
| 21:09:17 | <geekosaur> | yes |
| 21:09:19 | <tomsmeding> | yes |
| 21:09:26 | → | francois_y joins (~Thunderbi@bras-vprn-toroon4839w-lp130-02-142-113-110-153.dsl.bell.ca) |
| 21:09:29 | <geekosaur> | it also worked poorly, which is why WSL2 is a Hyper-V |
| 21:09:54 | <mesaoptimizer> | tomsmeding: I did use `fromGregorianValid`, I was just dismayed by the existence of a function that fails silently. (and it exists in the `thyme` package with silent failure too) |
| 21:09:58 | <newmind> | but also comes with all virtualization costs, and running an extra kernel, etc... good that ram got so inexpensive :P |
| 21:10:31 | <geekosaur> | WSL1 was also a separate kernel; remember that modern Windows is a microkernel architecture |
| 21:11:02 | <geekosaur> | WSL1 was a heavily hacked Linux single server running alongside the Windows microkernel services |
| 21:12:02 | <newmind> | but the wsl1 applicaions run in the same memory space as windows executables? |
| 21:12:03 | <geekosaur> | it wanted its own filesystem, in particular; you could access Windows files but via Samba IIRC |
| 21:12:17 | × | takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Ping timeout: 244 seconds) |
| 21:12:32 | <geekosaur> | yes |
| 21:13:53 | <newmind> | so technically it might have even been the "better" approach, but comes with a whole lot of edge cases and compability to implement, while the wsl2/hypervisor approach basically fully works out of the box and you just need to implement how you interact with it |
| 21:13:56 | <sshine> | WSL uses 9p |
| 21:14:01 | <geekosaur> | compatibility was pretty poor |
| 21:14:03 | <sshine> | WSL2, sorry |
| 21:14:25 | <sshine> | which is great but slow |
| 21:15:17 | × | francois_y quits (~Thunderbi@bras-vprn-toroon4839w-lp130-02-142-113-110-153.dsl.bell.ca) (Quit: francois_y) |
| 21:15:32 | <geekosaur> | and yes, technically it couldl have been made to work better, but (a) would have been a massive effort (b) which would probably have needed to be redone every new kernel release, since rewiring a Linux standalone kernel as a single server is a massive undertaking |
| 21:16:09 | → | somemathguy joins (~somemathg@user/somemathguy) |
| 21:16:27 | <newmind> | you kind of see it in wine too, always playing catch-up with any api changes or new libraries/applications that expose new edge cases |
| 21:19:17 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 21:20:43 | <haskellbridge> | <ijouw> I only remember that using wsl git on windows filesystem failed (some while back, don't know if wsl2 was available yet). |
| 21:20:45 | <haskellbridge> | My windows laptop is rarely used and somehow forgot how to strip executables (i think 32/64 bit mismatch). |
| 21:24:19 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 21:24:25 | <jreicher> | gentauro: Re teaching kids RPN; any particular reason that over PN? (I know RPN is more common, but I wonder what reasons people really have beyond popularity) |
| 21:25:01 | <geekosaur> | RPN leads itself to simple stack-based implementations |
| 21:25:12 | <jreicher> | PN does also. That's why I'm asking. |
| 21:25:40 | <tomsmeding> | isn't it a control stack with PN and a data stack with RPN? |
| 21:26:14 | <jreicher> | If you consider the operators on input to be control, then yes, but they're input... |
| 21:27:25 | <tomsmeding> | what is the implementation you have in mind for PN? A stack of operators, and each number you see slots into the next available argument slot of the topmost stack entry; if that operator is now full, it becomes a number and falls down? |
| 21:27:43 | <tomsmeding> | that's a least a _little_ more complicated than "a stack of numbers" |
| 21:28:08 | × | Guest62t quits (~Guest62t@p200300ca8f3baa00c0ef77f2b149c10e.dip0.t-ipconnect.de) (Quit: Client closed) |
| 21:28:30 | <jreicher> | PN is particularly nice in FP (IMO). The operators can be curried, so if you see a number, pop the function at the top, apply it to the number, and push. |
| 21:28:58 | <tomsmeding> | and loop |
| 21:29:03 | <tomsmeding> | you don't need to loop with RPN |
| 21:29:14 | <tomsmeding> | (I'm digging for arguments here) |
| 21:29:24 | <jreicher> | You need an input loop for both. |
| 21:29:41 | <tomsmeding> | yeah, but with PN, a single input symbol may trigger an unbounded number of stack operations, right? |
| 21:30:47 | <jreicher> | Yes. You do need to check if the result of the application is another (curried) operator or a number. If it's a number then you do something else. But I'm not sure that's very different from checking the type of the next token on input. |
| 21:31:07 | <tomsmeding> | you have a nested loop instead of a single loop |
| 21:31:26 | <tomsmeding> | I'm not sure if this makes it "significantly" more complicated. I'm playing devil's advocate here a little. But it's a difference at least |
| 21:32:15 | <jreicher> | I see what you mean. I wonder if it's possible to do it with a single loop. My hunch is it is. |
| 21:33:23 | <haskellbridge> | <ijouw> Do you mean you can unify the loops (definitly) or use a different algorithm with only input loop? |
| 21:33:25 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 21:34:01 | <jreicher> | Both, actually. I was just thinking this might be a nice way of teaching tail calls. If the result of the operator application is a number, recurse to another application. |
| 21:34:06 | <jreicher> | (with a pop) |
| 21:35:16 | <jreicher> | It kind of makes explicit that stack of continuations that are in the Haskell runtime. Also perhaps a nice way of teaching that concept. |
| 21:36:33 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 21:38:33 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 21:43:38 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 21:44:24 | → | hakutaku joins (~textual@user/hakutaku) |
| 21:49:14 | × | qqq quits (~qqq@185.54.20.215) (Remote host closed the connection) |
| 21:54:37 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 21:58:47 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 21:59:34 | × | michalz quits (~michalz@185.246.207.193) (Remote host closed the connection) |
| 22:01:35 | <tomsmeding> | jreicher: I'm with you, but I think we can agree that having to introduce the idea of tail calls in order to achieve a single loop is more complicated than RPN's... single loop |
| 22:02:51 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 22:03:14 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 22:09:58 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 22:10:34 | <jreicher> | I'm not sure. I'm inclined to think it depends on the programmer's mental model of runtime, and that PN is the functional way and RPN is the imperative way. So the latter is easier if you presuppose an imperative mental model, but should we...? (I'm not sure I can argue this hunch, but I feel it strongly; it's the control stack vs data stack) |
| 22:11:28 | <mesaoptimizer> | https://coalton-lang.github.io/20260312-coalton0p2/ coalton is now less Haskell and more common lisp than before |
| 22:11:52 | <jreicher> | A possible argument might run like this. The most "optimal" way to evaluate a long sum (for example) is RPN, because the expression can be held outside the program (on input) while evaluation is being done. But this "relies" on the effectful nature of the world. |
| 22:14:17 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 22:24:54 | <EvanR> | that sounds more like streaming is more efficient than buffering, rather than a prefix postfix thing |
| 22:25:10 | → | weary-traveler joins (~user@user/user363627) |
| 22:25:21 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 22:25:36 | <jreicher> | Yes, with the (predictable?) observation that only postfix can be streamed. |
| 22:26:05 | <EvanR> | this sounds very mixing up levels of abstraction. RPN is a notation not an implementation backend |
| 22:26:17 | <EvanR> | syntax vs (operational) semantics |
| 22:26:36 | <EvanR> | with the bridge being a compiler as usual |
| 22:26:49 | <jreicher> | I know. But I'm asking why RPN is a preferred example for an "implementation of something". I think the nature of that question mixes things, necessarily. |
| 22:29:23 | <EvanR> | ok a calculator based on RPN is like a combination of programming language and UI in one |
| 22:30:00 | <EvanR> | I guess it's simple enough there's not much room for philosophizing |
| 22:30:19 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 22:32:09 | <Rembane> | Also, stacks are neat! |
| 22:37:19 | → | craunts795335385 joins (~craunts@152.32.99.2) |
| 22:40:43 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 22:42:31 | × | craunts795335385 quits (~craunts@152.32.99.2) (Ping timeout: 268 seconds) |
| 22:45:19 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 22:49:31 | × | euphores quits (~SASL_euph@user/euphores) (Ping timeout: 264 seconds) |
| 22:56:04 | → | euphores joins (~SASL_euph@user/euphores) |
| 22:56:06 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 23:00:47 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 23:03:17 | <monochrom> | Nice, so PN induces a great question for amortized time! |
| 23:04:35 | <jreicher> | Not following, and I want to! |
| 23:04:52 | <EvanR> | PN becomes more efficient if your code uses right to left language |
| 23:05:38 | × | st_aldini quits (~Betterbir@136.48.46.187) (Quit: st_aldini) |
| 23:05:49 | <monochrom> | A single input symbol may trigger an unbounded number of stack pops. This is a great recipe for disaster^W intresting amortized time! |
| 23:06:43 | <jreicher> | You mean RPN can be amortized and PN can't? |
| 23:06:48 | <monochrom> | PN. |
| 23:07:17 | <jreicher> | I'm missing something that's probably obvious, sorry. :) I think I need you to spell it out. |
| 23:08:45 | <jreicher> | Do you mean the question induced is what is the amortized time? |
| 23:09:08 | <monochrom> | The basic amortization example is a stack whose API has push, pop, multipop(n). multipop(n) worst case time is Ω(n), but amortized time stays O(1). |
| 23:09:29 | <jreicher> | Yep, I got you. :) Phew. And I agree, that's nice. |
| 23:09:36 | <monochrom> | PN is then just bells and whistles dressing up that stack API. |
| 23:09:53 | <jreicher> | And easily understandable bells and whistles, which is why it might be a good example. |
| 23:11:29 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 23:14:02 | × | dolio quits (~dolio@130.44.140.168) (Quit: ZNC 1.10.1 - https://znc.in) |
| 23:18:10 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 23:20:32 | → | dolio joins (~dolio@130.44.140.168) |
| 23:22:16 | → | Guest24 joins (~Guest24@94.42.242.59) |
| 23:25:15 | → | xff0x_ joins (~xff0x@2405:6580:b080:900:1fdc:c04d:3012:9e4) |
| 23:26:37 | × | xff0x quits (~xff0x@2405:6580:b080:900:e24f:1ef:ed48:3e20) (Ping timeout: 244 seconds) |
| 23:29:31 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 23:34:00 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 23:35:22 | × | gabiruh quits (~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in) |
| 23:35:50 | → | gabiruh joins (~gabiruh@vps19177.publiccloud.com.br) |
| 23:44:53 | → | merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl) |
| 23:49:30 | × | merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 23:50:47 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 258 seconds) |
| 23:56:41 | → | wickedjargon joins (~user@S0106ac17c8c20e24.vc.shawcable.net) |
All times are in UTC on 2026-03-15.