Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,799,157 events total
2026-02-09 21:23:38 <ski> @where on-understanding
2026-02-09 21:23:38 <lambdabot> "On Understanding Types, Data Abstraction, and Polymorphism" by Luca Cardelli,Peter Wegner in 1985-12 at <http://lucacardelli.name/Papers/OnUnderstanding.A4.pdf>
2026-02-09 21:23:41 <ski> @where on-understanding-revisited
2026-02-09 21:23:41 <lambdabot> "On Understanding Data Abstraction, Revisited" by William R. Cook in 2009-10 at <http://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf>
2026-02-09 21:24:37 <ski> these talk, amongst other things, about subtyping, parametric polymorphism, existential quantification. and how existentials are related to closures & object-orientation, and also (in a different way) to abstract data types
2026-02-09 21:24:41 × picnoir quits (~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Quit: WeeChat 4.8.1)
2026-02-09 21:25:05 <ski> @where polymorphic-type-inference
2026-02-09 21:25:05 <lambdabot> "Polymorphic Type Inference" by Michael I. Schwartzbach in 1995-03 at <https://cs.au.dk/~mis/typeinf.p(s|df)>,<http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.57.1493>
2026-02-09 21:25:12 <ski> might also be helpful
2026-02-09 21:26:35 picnoir joins (~picnoir@about/aquilenet/vodoo/NinjaTrappeur)
2026-02-09 21:27:03 <ski> (oh, try <https://cs.au.dk/~amoeller/mis/typeinf.pdf> for the last one)
2026-02-09 21:27:20 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-02-09 21:28:03 <ski> @where+ polymorphic-type-inference "Polymorphic Type Inference" by Michael I. Schwartzbach in 1995-03 at <https://cs.au.dk/~amoeller/mis/typeinf.p(s|df)>,<http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.57.1493>
2026-02-09 21:28:03 <lambdabot> Nice!
2026-02-09 21:30:56 × takuan_dozo quits (~takuan@d8D86B9E9.access.telenet.be) (Ping timeout: 240 seconds)
2026-02-09 21:35:12 <EvanR> ski, "open recursion" vs general recursion?
2026-02-09 21:35:36 <c_wraith> open recursion is a term used primarily to describe OOP's late dispatch mechanisms
2026-02-09 21:35:57 <c_wraith> technically you can do it with recursion schemes in Haskell, but no one writes their code that way
2026-02-09 21:36:55 × michalz quits (~michalz@185.246.207.200) (Remote host closed the connection)
2026-02-09 21:38:19 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-02-09 21:39:59 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
2026-02-09 21:44:21 <ski> EvanR : given an object with two methods `f' and `g', where the implementation of `f' calls `g' (in the same object). now, you construct a new object from this old one, replacing the `g' implementation. "open recursion" means that `f' in this object will now call the new `g', rather than the old
2026-02-09 21:45:05 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-02-09 21:45:30 <ski> or, you can express it in terms of classes (object templates. not directly related to object types), instead of creating a new object, you create a new subclass, overriding `g' with a new implementation. the old `f' in the new class should now call the new `g'
2026-02-09 21:46:37 <ski> you need either mutation, or delaying application of `fix', to implement this
2026-02-09 21:47:42 <ski> you could define a "class" as a function of type `O -> O' (taking `self'/`this' as input), and to instantiate a new object of this class, you call `fix' on it
2026-02-09 21:56:21 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-02-09 21:58:23 Alex_delenda_est joins (~al_test@85.174.182.86)
2026-02-09 22:00:32 eriedaberrie_ is now known as eriedaberrie
2026-02-09 22:01:34 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-02-09 22:02:31 × comonad quits (~comonad@p200300d02722ae00dce4ce9451b59974.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2026-02-09 22:08:35 comonad joins (~comonad@pd9e072e5.dip0.t-ipconnect.de)
2026-02-09 22:12:08 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-02-09 22:16:13 peterbecich joins (~Thunderbi@71.84.33.135)
2026-02-09 22:17:00 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-09 22:26:39 × petrichor quits (~jez@user/petrichor) (Quit: ZNC 1.10.1 - https://znc.in)
2026-02-09 22:27:29 petrichor joins (~jez@user/petrichor)
2026-02-09 22:27:33 msyds joins (~msyds@164.47.100.4)
2026-02-09 22:27:54 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-02-09 22:30:31 × user363627 quits (~user@user/user363627) (Quit: Konversation terminated!)
2026-02-09 22:30:53 user363627 joins (~user@user/user363627)
2026-02-09 22:32:12 machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net)
2026-02-09 22:32:56 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-02-09 22:37:14 yin is now known as zzz
2026-02-09 22:39:52 × msyds quits (~msyds@164.47.100.4) (Quit: Leaving)
2026-02-09 22:43:42 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-02-09 22:47:25 × oskarw quits (~user@user/oskarw) (Ping timeout: 245 seconds)
2026-02-09 22:48:25 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-09 22:49:26 × KindFoxo quits (~KindFoxo@user/KindoFoxo) (Remote host closed the connection)
2026-02-09 22:53:39 tromp joins (~textual@2001:1c00:3487:1b00:199:803c:4cc4:404b)
2026-02-09 22:59:30 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-02-09 23:04:08 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2026-02-09 23:08:23 × peterbecich quits (~Thunderbi@71.84.33.135) (Ping timeout: 244 seconds)
2026-02-09 23:15:15 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-02-09 23:15:49 × user363627 quits (~user@user/user363627) (Remote host closed the connection)
2026-02-09 23:20:19 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-02-09 23:23:44 × comonad quits (~comonad@pd9e072e5.dip0.t-ipconnect.de) (Quit: WeeChat 4.7.0-dev)
2026-02-09 23:27:39 × tromp quits (~textual@2001:1c00:3487:1b00:199:803c:4cc4:404b) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-02-09 23:31:02 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-02-09 23:32:16 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
2026-02-09 23:36:01 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-09 23:36:59 mange joins (~mange@user/mange)
2026-02-09 23:47:05 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-02-09 23:51:36 comonad joins (~comonad@p200300d02722ae00dce4ce9451b59974.dip0.t-ipconnect.de)
2026-02-09 23:52:09 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2026-02-09 23:52:43 × Square quits (~Square4@user/square) (Ping timeout: 260 seconds)
2026-02-09 23:56:44 Square2 joins (~Square@user/square)
2026-02-10 00:00:14 × sp1ff quits (~user@2601:1c2:4701:7850::1844) (Remote host closed the connection)
2026-02-10 00:01:19 Sgeo joins (~Sgeo@user/sgeo)
2026-02-10 00:10:19 × attlin quits (~user@user/attlin) (Ping timeout: 246 seconds)
2026-02-10 00:18:39 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-02-10 00:19:13 × emaczen quits (~user@user/emaczen) (Ping timeout: 264 seconds)
2026-02-10 00:22:51 attlin joins (~user@user/attlin)
2026-02-10 00:23:18 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-02-10 00:24:00 ceridwen15 joins (~ceridwen1@n175-32-209-194.mas22.nsw.optusnet.com.au)
2026-02-10 00:26:52 × Tuplanolla quits (~Tuplanoll@85-156-32-207.elisa-laajakaista.fi) (Quit: Leaving.)
2026-02-10 00:30:58 × attlin quits (~user@user/attlin) (Ping timeout: 246 seconds)
2026-02-10 00:33:14 × messewix quits (~jmc@user/messewix) (Quit: Konversation terminated!)
2026-02-10 00:34:26 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-02-10 00:37:38 × jonnie quits (~jonnie@user/jonnie) (Ping timeout: 265 seconds)
2026-02-10 00:38:10 attlin joins (~user@user/attlin)
2026-02-10 00:39:31 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds)
2026-02-10 00:41:08 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds)
2026-02-10 00:50:29 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-02-10 00:55:07 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2026-02-10 01:06:16 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-02-10 01:09:01 jonnie joins (~jonnie@user/jonnie)
2026-02-10 01:11:27 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-10 01:18:28 × xff0x quits (~xff0x@2405:6580:b080:900:a304:44e0:ba72:c7aa) (Ping timeout: 260 seconds)
2026-02-10 01:21:11 × w00ter quits (~w00ter@user/w00ter) (Remote host closed the connection)
2026-02-10 01:21:31 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2026-02-10 01:22:28 w00ter joins (~w00ter@user/w00ter)
2026-02-10 01:23:02 omidmash9 joins (~omidmash@user/omidmash)
2026-02-10 01:25:28 × omidmash quits (~omidmash@user/omidmash) (Ping timeout: 260 seconds)
2026-02-10 01:25:28 omidmash9 is now known as omidmash
2026-02-10 01:28:23 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2026-02-10 01:34:32 × jreicher quits (~joelr@user/jreicher) (Ping timeout: 240 seconds)
2026-02-10 01:35:37 Square joins (~Square4@user/square)
2026-02-10 01:38:54 × Square2 quits (~Square@user/square) (Ping timeout: 260 seconds)
2026-02-10 01:39:34 socksbuny joins (~socks@oberon.raccoon.fun)

All times are in UTC.