2024/10/13

Newest at the top

2024-10-13 20:20:38 +0200 <geekosaur> requiring a constraint solver even more vcomplicated than the one GHC hsas currently goes against the grain of that
2024-10-13 20:20:19 +0200 <geekosaur> also I'd like tonote that Haskell was supposed to be relatively easily implementable and the H98 and H2010 reports at least try to avoid specifying things that would make implementing it de novo too complex
2024-10-13 20:20:09 +0200 <monochrom> https://mail.haskell.org/pipermail/haskell-cafe/2010-November/086220.html
2024-10-13 20:19:27 +0200 <monochrom> Oh, that we know, it's obvious.
2024-10-13 20:18:48 +0200 <Inst> monochrom: overload all functions by default based on types
2024-10-13 20:18:04 +0200mreh(~matthew@host86-128-2-51.range86-128.btcentralplus.com) mreh
2024-10-13 20:16:47 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-10-13 20:15:33 +0200 <geekosaur> not to mention that now mono-traversable etc. need to be in base for it to be actually usable, but mono-traversable has its own problems
2024-10-13 20:14:58 +0200 <geekosaur> context suggests the intent is "uses typeclass constraints instead of types for everything". which is still confused, as how can you have typeclass constraints without types to resolve them to?
2024-10-13 20:13:59 +0200 <monochrom> Not sure what "Haskell made the decision to not go to typeclasses by default" means (does it even mean anything?), but type classes did not even exist until some Haskell people (eg Wadler, Jones) invented it for Haskell. As in, no other language had it back then.
2024-10-13 20:13:00 +0200ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2024-10-13 20:12:24 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2024-10-13 20:11:53 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-13 20:06:40 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2024-10-13 20:06:29 +0200gmg(~user@user/gehmehgeh) gehmehgeh
2024-10-13 20:05:37 +0200mreh(~matthew@host86-128-2-51.range86-128.btcentralplus.com) (Ping timeout: 248 seconds)
2024-10-13 20:01:26 +0200motherfsck(~motherfsc@user/motherfsck) motherfsck
2024-10-13 20:00:51 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-10-13 19:56:04 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-13 19:55:31 +0200 <geekosaur> types at least can be local to a module if they're not exported; typeclass instances are always exported
2024-10-13 19:53:50 +0200 <geekosaur> also, it's not type safety. typeclasses have distinct limitations, in particular that instances are global (although admittedly that part is type safety in that local typeclass instances would give rise to unsoundness)
2024-10-13 19:51:12 +0200 <geekosaur> (by "local-ish", I mean the "local" keyword to create a local context applied to what are otherwise top level bindings)
2024-10-13 19:49:29 +0200 <geekosaur> importing a (usually parameterized, i.e. "functor" in SML/NJ terminology, as distinct from Haskell's) module locally so you can use it in a set of local-ish bindings
2024-10-13 19:44:44 +0200CiaoSen(~Jura@2a05:5800:215:400:ca4b:d6ff:fec1:99da) CiaoSen
2024-10-13 19:44:28 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-10-13 19:40:27 +0200euleritian(~euleritia@77.22.252.56)
2024-10-13 19:39:53 +0200euleritian(~euleritia@77.22.252.56) (Read error: Connection reset by peer)
2024-10-13 19:35:31 +0200 <Inst> also, having every type error turn into "no instance of ..." is probably really annoying
2024-10-13 19:35:14 +0200synchromesh(~john@2406:5a00:2497:300:5545:131a:a4af:e344) synchromesh
2024-10-13 19:35:13 +0200 <Inst> it's probably a type safety thing
2024-10-13 19:35:06 +0200 <Inst> I'm wondering right now why Haskell made the decision to not go to typeclasses by default (although typeclasses were a later introduction)
2024-10-13 19:34:38 +0200 <Inst> I'm not familiar with SML/NJ's open
2024-10-13 19:34:07 +0200synchromesh(~john@2406:5a00:2497:300:5545:131a:a4af:e344) (Read error: Connection reset by peer)
2024-10-13 19:33:42 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-13 19:30:51 +0200ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en)
2024-10-13 19:29:00 +0200 <geekosaur> in some bass-ackwards fashion?
2024-10-13 19:28:43 +0200 <geekosaur> isn't that more emulating SML/NJ's `open`?
2024-10-13 19:28:01 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-10-13 19:27:33 +0200comonad(~comonad@p200300d0272bda000e01a379c24cc428.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
2024-10-13 19:27:23 +0200mreh(~matthew@host86-128-2-51.range86-128.btcentralplus.com) mreh
2024-10-13 19:26:57 +0200 <Inst> \you could do it, it'd be funny (in a stapler to your forehead kind of way), but why?
2024-10-13 19:26:20 +0200 <Inst> then using typeclasses as a way of generating objects
2024-10-13 19:26:13 +0200 <Inst> (i don't think Idris has that?)
2024-10-13 19:26:09 +0200 <Inst> scoped typeclasses
2024-10-13 19:26:00 +0200 <Inst> thank god I'm not capable of modifying GHC part 2938
2024-10-13 19:22:58 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-10-13 19:22:57 +0200vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2024-10-13 19:21:11 +0200vanishingideal(~vanishing@user/vanishingideal) (Ping timeout: 244 seconds)
2024-10-13 19:18:00 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-13 19:16:03 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj