2025/03/21

Newest at the top

2025-03-22 00:42:13 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-03-22 00:41:23 +0100 <monochrom> I don't normally believe in Tarot cards, but FP cards seems to have better predictive power!
2025-03-22 00:40:34 +0100 <monochrom> My student went and got one and showed me. He first let me randomly drew one card. I drew the monad card. (Other cards are like: GADT, Scheme macros, shift-reset, ...)
2025-03-22 00:39:31 +0100 <monochrom> There is now a functional programming playing card deck. Some conference was handing out them to attendees.
2025-03-22 00:38:12 +0100 <monochrom> Generally "escaping hell with function programming" is what we need to include all of the above and more.
2025-03-22 00:35:18 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-22 00:24:54 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-03-22 00:19:28 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-22 00:10:39 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla
2025-03-22 00:09:33 +0100 <EvanR> I just wish there was an escaping hell with functor to go with it / before it
2025-03-22 00:09:04 +0100 <EvanR> escaping hell with monads is so great
2025-03-22 00:08:36 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-03-22 00:07:56 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2025-03-22 00:06:37 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2025-03-22 00:04:21 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 244 seconds)
2025-03-22 00:04:10 +0100 <monochrom> :)
2025-03-22 00:03:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-22 00:00:16 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-03-21 23:53:24 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
2025-03-21 23:51:29 +0100 <geekosaur> (whoops)
2025-03-21 23:51:07 +0100 <geekosaur> yes
2025-03-21 23:50:03 +0100xeno11(~xeno11@c-69-140-170-168.hsd1.de.comcast.net) (Quit: Client closed)
2025-03-21 23:48:04 +0100kaskal(~kaskal@84-115-231-2.cable.dynamic.surfer.at) (Ping timeout: 252 seconds)
2025-03-21 23:47:56 +0100kaskal-(~kaskal@2a02:8388:15bf:c200:a121:d904:3721:b9c6)
2025-03-21 23:47:54 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-21 23:43:10 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-03-21 23:42:19 +0100target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2025-03-21 23:39:42 +0100 <ski> there's "serious", and there's "trivial" currying. "serious" would be when the function does some actual computation (e.g. for sharing some preprocessing ("compilation") of early parameter(s)), before returning a function
2025-03-21 23:38:32 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-21 23:27:32 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2025-03-21 23:27:14 +0100michalz(~michalz@185.246.207.203) (Remote host closed the connection)
2025-03-21 23:22:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-21 23:22:11 +0100 <monochrom> I am not taking currying seriously.
2025-03-21 23:19:48 +0100 <mauke> Integer -> ((Integer -> (Integer -> t) -> t) -> r) -> r ??
2025-03-21 23:17:53 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 245 seconds)
2025-03-21 23:15:41 +0100 <mauke> monochrom: you say square_cps1 is mixing styles because (*) is not in CPS, but mul_cps is also mixing styles because currying
2025-03-21 23:13:31 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-03-21 23:12:12 +0100ski. o O ( "Yield: Mainstream Delimited Continuations" by Roshan P. James,Amr Sabry in 2009 (?) at <https://www.cs.indiana.edu/~sabry/papers/yield.pdf> )
2025-03-21 23:12:03 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-03-21 23:11:52 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2025-03-21 23:10:57 +0100 <ski> Manager) (which might also work in MLton, i don't recall if i tried))
2025-03-21 23:10:51 +0100 <ski> for monadic reflection, see "Representing Monads" in 1994-01 and "Representing Layered Monads" in 1999-01, both by Andrzej Filinski, at <http://hjemmesider.diku.dk/~andrzej/papers/>. at some point, i typed in the code in the papers, which you can access at <https://0x0.st/HOHX.tar.gz>,<https://0x0.st/HOH8.tar.gz> (see `starting-points.txt' for how to run, using either SML/NJ directly, or its CM (Compilation
2025-03-21 23:10:48 +0100ash3en(~Thunderbi@89.56.182.235) (Quit: ash3en)
2025-03-21 23:08:01 +0100 <mauke> I don't believe in python
2025-03-21 23:07:22 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-03-21 23:07:05 +0100 <monochrom> https://www.vex.net/~trebla/haskell/cont.xhtml#yield
2025-03-21 23:06:39 +0100 <monochrom> But I have one readable use of shift-reset. If you accept that Python's yield is readable in some cases, then it's shift-reset when I do that in Haskell. :)
2025-03-21 22:59:00 +0100 <ski> rather than always be passing around continuations everywhere, and not as clearly being able to notice when they're being used "unconventionally". as well as the continuation-passing cluttering up (and turning inside-out) the code, in general
2025-03-21 22:57:57 +0100 <ski> making the "special cases", when you resort to `reset' and `shift', stand out more
2025-03-21 22:57:40 +0100 <ski> yes, exactly