2025/11/14

Newest at the top

2025-11-14 18:28:46 +0100tromp(~textual@2001:1c00:3487:1b00:f8db:b16d:6074:eae9) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-11-14 18:25:31 +0100acidjnk(~acidjnk@p200300d6e717192040ac95c287188d84.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2025-11-14 18:24:14 +0100 <jreicher> dolio: No, I'm not sure they are inherently effectful. From what I can see you can still have church-rosser for delimited continuations
2025-11-14 18:24:10 +0100 <haskellbridge> <Zemyla> You wouldn't have to de/reconstruct the digits.
2025-11-14 18:20:44 +0100 <comerijn> dolio: It's not "somewhat unspecified" it's explicitly undefined
2025-11-14 18:20:24 +0100polykernel(~polykerne@user/polykernel) (Remote host closed the connection)
2025-11-14 18:20:03 +0100 <dolio> Unlike Haskell where the exact order is somewhat unspecified (which can be an advantage).
2025-11-14 18:19:30 +0100 <dolio> Delimited continuations are effectful, so what happens if you allow them with laziness gets difficult to think about. And you'd have to commit to a particular lazy evaluation order, I think.
2025-11-14 18:19:30 +0100 <haskellbridge> <Zemyla> freeze would be safe and O(log n).
2025-11-14 18:19:03 +0100Googulator4(~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-11-14 18:18:16 +0100 <haskellbridge> <Zemyla> Okay, I'm trying to figure out how much performance I'd get if I made a mutable Seq in ST.
2025-11-14 18:18:04 +0100tromp(~textual@2001:1c00:3487:1b00:f8db:b16d:6074:eae9)
2025-11-14 18:17:38 +0100sindu(~sindu@2.151.25.127.tmi.telenormobil.no)
2025-11-14 18:16:48 +0100 <dolio> No, it's not lazy.
2025-11-14 18:16:16 +0100 <jreicher> dolio: is unison lazy? Since monochrom put me on to the question I've been trying to find examples of an implementation (or formal semantics) for delimited continuation operators on a lazy machine, as I think there does need to be something preventing a shift/control/etc "crossing" a reset/prompt/etc during substitution.
2025-11-14 18:15:42 +0100Googulator85(~Googulato@team.broadbit.hu)
2025-11-14 18:10:35 +0100polykernel(~polykerne@user/polykernel) polykernel
2025-11-14 18:10:12 +0100polykernel(~polykerne@user/polykernel) (Remote host closed the connection)
2025-11-14 18:09:05 +0100Googulator16(~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
2025-11-14 18:08:07 +0100 <haskellbridge> <loonycyborg> And I see a way for that like this: gather all exceptions that happened into an unordered list and then pattern-match on it to find exception you want to handle.
2025-11-14 18:07:14 +0100 <haskellbridge> <loonycyborg> Leary: strict sequencing isn't necessarily a good thing. I'd prefer to embrace laziness(at least by default) and adapt to it.
2025-11-14 18:05:55 +0100 <haskellbridge> <geekosaur> But I'm pretty sure Perl and something claiming to be "Python" were late 80s
2025-11-14 18:05:47 +0100 <dolio> You probably do get that with the continuation-based algebraic effect things in Haskell. Because it's doing sort of the same thing for exceptions.
2025-11-14 18:05:43 +0100Googulator4(~Googulato@team.broadbit.hu)
2025-11-14 18:04:01 +0100 <dolio> But, like, what if you had that and it wasn't "you shouldn't be doing this."
2025-11-14 18:03:46 +0100 <dolio> We never really got to fruition with that implementation, though.
2025-11-14 18:03:41 +0100 <haskellbridge> <geekosaur> Bad time for me to be trying to do this
2025-11-14 18:03:32 +0100 <dolio> Anyhow, back when I was working on ermine, I recall one thing we did was unsafe coerce exceptions into ST to try to borrow the more efficient handling that IO has.
2025-11-14 18:03:30 +0100 <comerijn> This should be obvious, given javascript was named after java, which is substantially newer than both Python and Haskell (since Java cribbed immutable strings from python, and python cribbed list comprehensions from haskell)
2025-11-14 18:03:23 +0100 <haskellbridge> <geekosaur> 3.0 not typing well
2025-11-14 18:03:09 +0100tromp(~textual@2001:1c00:3487:1b00:f8db:b16d:6074:eae9) (Quit: My iMac has gone to sleep. ZZZzzz…)
2025-11-14 18:03:08 +0100Fijxu(~Fijxu@user/fijxu) (Ping timeout: 256 seconds)
2025-11-14 18:02:52 +0100 <haskellbridge> <geekosaur> Sorry I'm on my way to the store (sister's driving)
2025-11-14 18:02:37 +0100 <haskellbridge> <Zemyla> Perl 32.0? I thought they were still working on Perl 6.
2025-11-14 18:02:04 +0100 <haskellbridge> <geekosaur> Mm right about ja
2025-11-14 18:00:49 +0100 <comerijn> Given that the first awk is from 1977
2025-11-14 18:00:32 +0100 <comerijn> I'm also confused by the qualifier "even" awk, as if awk is more modern than Perl and Python
2025-11-14 17:59:58 +0100 <kuribas> I wish I could write production code in idris.
2025-11-14 17:59:29 +0100 <dolio> That's the usual story.
2025-11-14 17:58:00 +0100 <comerijn> iirc it was Lennart's compiler in Lazy ML?
2025-11-14 17:57:44 +0100 <comerijn> The Haskell Committee started in 1987, predating python and the Haskell 1.0 was 1990. Not sure which compiler was first
2025-11-14 17:55:28 +0100 <comerijn> geekosaur: Wikipedia lists "Python implementation began in December 1989.[43] Van Rossum first released it in 1991 as Python 0.9.0"
2025-11-14 17:55:28 +0100 <geekosaur> which made it late 1980s
2025-11-14 17:54:52 +0100 <geekosaur> python 1.0 and perl 32.0 came out the same week. I was comp.sources.misc moderator at the time and approved both
2025-11-14 17:54:46 +0100acarrico1(~acarrico@pppoe-209-99-223-51.greenmountainaccess.net)
2025-11-14 17:54:42 +0100 <comerijn> So Haskell 1.0 predates it by a year
2025-11-14 17:54:09 +0100 <comerijn> Python's first public release was 1991
2025-11-14 17:54:03 +0100 <comerijn> perl and awk, sure
2025-11-14 17:53:55 +0100 <comerijn> geekosaur: What?
2025-11-14 17:53:55 +0100Googulator44(~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)