Newest at the top
| 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 +0100 | acarrico1 | (~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 +0100 | Googulator44 | (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds) |
| 2025-11-14 17:53:16 +0100 | <Leary> | loonycyborg: The issue with pure exceptions in Haskell is undefined evaluation order due to /laziness/. An effect system can easily provide deterministic, pure exception handling, so long as it imposes a strict sequencing of operations. |
| 2025-11-14 17:52:40 +0100 | <geekosaur> | and Javascript |
| 2025-11-14 17:52:33 +0100 | <geekosaur> | I mean, Perl, Python, and even awk already existed when Haskell was designed |
| 2025-11-14 17:52:15 +0100 | <geekosaur> | well, in Haskell's case it had more to do with it being originally intended as a teaching and FP exploration language |
| 2025-11-14 17:52:07 +0100 | img | (~img@user/img) img |
| 2025-11-14 17:50:50 +0100 | Googulator16 | (~Googulato@team.broadbit.hu) |
| 2025-11-14 17:50:49 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2025-11-14 17:44:36 +0100 | Googulator44 | (~Googulato@team.broadbit.hu) |
| 2025-11-14 17:44:28 +0100 | <haskellbridge> | <loonycyborg> It's just implementing such containers is generally done via hashing and it just wasn't a widespread thing when haskell was originally designed |
| 2025-11-14 17:44:21 +0100 | Googulator44 | (~Googulato@team.broadbit.hu) (Quit: Client closed) |
| 2025-11-14 17:43:21 +0100 | <haskellbridge> | <loonycyborg> In fact having a set(which is a list in no particular order) as a basic builtin type for a language like haskell would make sense I think :P |
| 2025-11-14 17:40:42 +0100 | bggd | (~bgg@2a01:e0a:819:1510:cb15:dfb4:31e5:1dfe) |
| 2025-11-14 17:40:08 +0100 | <haskellbridge> | <loonycyborg> so that should be unordered list which isn't a built-in feature in haskell |
| 2025-11-14 17:39:48 +0100 | <haskellbridge> | <loonycyborg> and then items in list can be in different order |
| 2025-11-14 17:39:26 +0100 | <haskellbridge> | <loonycyborg> I think it's possible to have pure exceptions too but then you'd have to get whole list of exceptions that happened, not random one of them |
| 2025-11-14 17:38:59 +0100 | Anarchos | (~Anarchos@91-161-254-16.subs.proxad.net) Anarchos |
| 2025-11-14 17:38:42 +0100 | <haskellbridge> | <loonycyborg> They're in IO only because the order they actually happen in at runtime is undefined. |
| 2025-11-14 17:34:14 +0100 | DetourNetworkUK | (~DetourNet@user/DetourNetworkUK) DetourNetworkUK |
| 2025-11-14 17:33:59 +0100 | Googulator | (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds) |
| 2025-11-14 17:31:40 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 2025-11-14 17:31:11 +0100 | <dolio> | I mean, that is how you get well performing exceptions in GHC, but what if you could have catchable exceptions that performed that well, but were sound to use outside of IO? |
| 2025-11-14 17:30:52 +0100 | DetourNetworkUK | (DetourNetw@user/DetourNetworkUK) (Read error: Connection reset by peer) |
| 2025-11-14 17:30:49 +0100 | <kuribas> | Still much better than a mess of global state in other languages. |
| 2025-11-14 17:30:46 +0100 | Inline | (~inlinE@2001-4dd7-ae97-0-4674-ae6d-2607-c022.ipv6dyn.netcologne.de) Inline |
| 2025-11-14 17:30:41 +0100 | Googulator44 | (~Googulato@team.broadbit.hu) |
| 2025-11-14 17:30:31 +0100 | <kuribas> | RIO is just fine for most of my applications. |
| 2025-11-14 17:30:23 +0100 | lucabtz | (~lucabtz@user/lucabtz) (Remote host closed the connection) |
| 2025-11-14 17:29:50 +0100 | <dolio> | 'Just dump everything in IO' doesn't sound like a better answer. |
| 2025-11-14 17:29:22 +0100 | Lord_of_Life_ | Lord_of_Life |
| 2025-11-14 17:29:19 +0100 | <comerijn> | I'd rather have checked IO exceptions, though |
| 2025-11-14 17:29:08 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds) |
| 2025-11-14 17:28:51 +0100 | <kuribas> | For exceptional things. Either for expected things (parser error, etc...). |
| 2025-11-14 17:28:36 +0100 | <kuribas> | I just use IO exceptions |
| 2025-11-14 17:28:02 +0100 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2025-11-14 17:27:22 +0100 | DetourNe- | DetourNetworkUK |
| 2025-11-14 17:26:43 +0100 | <dolio> | What if they could be designed the other way to begin with? |
| 2025-11-14 17:26:23 +0100 | <dolio> | And then having that baked in can influence the large scale design of things. You can do something better than Either in Haskell, but how many things are you going to have to wrap from returning Either? |
| 2025-11-14 17:25:49 +0100 | spew | (~spew@user/spew) (Quit: WeeChat 4.6.3) |
| 2025-11-14 17:25:06 +0100 | DetourNe- | (DetourNetw@user/DetourNetworkUK) DetourNetworkUK |
| 2025-11-14 17:24:49 +0100 | DetourNetworkUK | (~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer) |
| 2025-11-14 17:20:48 +0100 | <dolio> | Like, Either is a bad way to implement exceptions, and assuming you use continuations to support your algebraic effects, the corresponding algebraic effect is automatically better, I think. |