Newest at the top
2025-01-17 09:00:39 +0100 | caconym | (~caconym@user/caconym) caconym |
2025-01-17 09:00:01 +0100 | caconym | (~caconym@user/caconym) (Quit: bye) |
2025-01-17 08:59:26 +0100 | <hololeap> | nvm it's not actually a newtype |
2025-01-17 08:58:13 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2025-01-17 08:57:42 +0100 | <hololeap> | data SomeException = forall e. (Exception e, HasExceptionContext) => SomeException e |
2025-01-17 08:56:50 +0100 | <hololeap> | SomeException in Control.Exceptions is a newtype wrapper that uses the ExistentialQuantification language extension to allow it to wrap any type that's part of the Exception class |
2025-01-17 08:55:18 +0100 | housemate | (~housemate@146.70.66.228) housemate |
2025-01-17 08:55:13 +0100 | euleritian | (~euleritia@77.23.250.232) |
2025-01-17 08:54:56 +0100 | euleritian | (~euleritia@dynamic-176-006-139-051.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2025-01-17 08:54:46 +0100 | housemate | (~housemate@146.70.66.228) (Remote host closed the connection) |
2025-01-17 08:54:33 +0100 | euleritian | (~euleritia@dynamic-176-006-139-051.176.6.pool.telefonica.de) |
2025-01-17 08:54:16 +0100 | euleritian | (~euleritia@dynamic-176-006-139-051.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2025-01-17 08:53:59 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2025-01-17 08:53:24 +0100 | housemate | (~housemate@146.70.66.228) housemate |
2025-01-17 08:53:23 +0100 | <homo> | hm, grepping source code of both microhs and hugs I think I know what throws exception |
2025-01-17 08:52:14 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 272 seconds) |
2025-01-17 08:49:40 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2025-01-17 08:45:57 +0100 | mange | (~user@user/mange) (Ping timeout: 276 seconds) |
2025-01-17 08:44:44 +0100 | <hololeap> | just ignore it if it's not relevant |
2025-01-17 08:44:39 +0100 | <homo> | for async I remember go has some context and instead of throwing exception you simply send message over channel (CSP-style concurrency), wonder if that can simplify things in haskell |
2025-01-17 08:44:14 +0100 | <hololeap> | sorry, I wasn't following the whole conversation |
2025-01-17 08:43:22 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
2025-01-17 08:42:40 +0100 | <homo> | hololeap thanks, it's not clear where Dynamic is used though |
2025-01-17 08:41:09 +0100 | <homo> | Bowuigi because you said I can't skip implementing SomeExpection as Dynamic and throwDyn/catchDyn |
2025-01-17 08:38:37 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2025-01-17 08:34:32 +0100 | vanishingideal | (~vanishing@user/vanishingideal) vanishingideal |
2025-01-17 08:31:24 +0100 | vanishingideal | (~vanishing@user/vanishingideal) (Remote host closed the connection) |
2025-01-17 08:29:06 +0100 | <haskellbridge> | <Bowuigi> That part is correct |
2025-01-17 08:28:55 +0100 | <haskellbridge> | <Bowuigi> Why would it give a compile time error then? |
2025-01-17 08:27:26 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2025-01-17 08:24:27 +0100 | <homo> | yes, I said so earlier |
2025-01-17 08:24:05 +0100 | <haskellbridge> | <Bowuigi> Exception is a datatype in hugs |
2025-01-17 08:23:57 +0100 | iteratee | (~kyle@162.218.222.207) |
2025-01-17 08:23:26 +0100 | iteratee | (~kyle@162.218.222.207) (Read error: Connection reset by peer) |
2025-01-17 08:23:08 +0100 | ColinRobinson | (~juan@user/JuanDaugherty) (Quit: ColinRobinson) |
2025-01-17 08:20:56 +0100 | <homo> | Bowuigi if that's so it's a puzzle how comes hugs doesn't throw compile-time error because of alias "type SomeException = Exception" |
2025-01-17 08:20:35 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2025-01-17 08:14:50 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2025-01-17 08:12:13 +0100 | <haskellbridge> | <Bowuigi> It's also glue code you can't skip because both exception handling systems are very different |
2025-01-17 08:10:30 +0100 | <haskellbridge> | <Bowuigi> You should be able to create a version of SomeException on Hugs and use throwDyn/catchDyn for flow control, not sure how hard would that be tho |
2025-01-17 08:10:23 +0100 | <hololeap> | homo: there's a decent blog post about ghc exception handling here: https://tech.fpcomplete.com/blog/2018/04/async-exception-handling-haskell/ |
2025-01-17 08:09:21 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2025-01-17 08:09:12 +0100 | <haskellbridge> | <Bowuigi> Most of what I know about exceptions comes from reading the source+docs of the two base libraries and the source of smalltt, which uses custom exceptions |
2025-01-17 08:07:26 +0100 | <homo> | I really have no experience with neither of those |
2025-01-17 08:06:15 +0100 | <haskellbridge> | <Bowuigi> Exceptions in Hugs are the built-in, Haskell ones, so custom exception systems built on top of SomeException won't work |
2025-01-17 08:05:11 +0100 | <haskellbridge> | <Bowuigi> As the name implies, they use Dynamic instead of an Exception typeclass |
2025-01-17 08:04:37 +0100 | <haskellbridge> | <Bowuigi> The Hugs equivalent to the modern exception system is "throwDyn" and "catchDyn" |
2025-01-17 08:04:05 +0100 | <haskellbridge> | <Bowuigi> Oh yeah the exception system changed somewhere down the line |
2025-01-17 08:02:31 +0100 | <homo> | but microhs is so fantastic at reporting where that error is coming from that I can't figure out what to do |
2025-01-17 08:00:48 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |