2026/03/11

Newest at the top

2026-03-11 16:38:13 +0100 <tomsmeding> there being multiple levels of representation accuracy, and probably also multiple distinct designs at the same level
2026-03-11 16:37:46 +0100 <tomsmeding> but in that case, "has haskell a denotational semantics" should just be answered with "for what purpose"
2026-03-11 16:36:56 +0100 <tomsmeding> right
2026-03-11 16:36:52 +0100 <tomsmeding> while in a language specification, you definitely want to know it if the language deviates from call-by-value
2026-03-11 16:36:52 +0100 <dminuoso> Nothing stops you from imposing an order of some kind to your denotation.
2026-03-11 16:36:39 +0100 <dminuoso> Well, that depends on you I think.
2026-03-11 16:36:29 +0100 <tomsmeding> AFAIK denotational semantics also tends not to say anything about operational concerns such as order of evaluation
2026-03-11 16:36:20 +0100prdak1prdak
2026-03-11 16:36:19 +0100prdak(~Thunderbi@user/prdak) (Ping timeout: 264 seconds)
2026-03-11 16:35:42 +0100 <dminuoso> It seems rather like a useful vehicle to do some research, rather than defining a language.
2026-03-11 16:35:39 +0100 <tomsmeding> s/trs$/ts/
2026-03-11 16:34:01 +0100 <tomsmeding> in terms of "relatively" simple categorical constructrs
2026-03-11 16:33:41 +0100 <tomsmeding> like, one that actually models interesting structure of the language
2026-03-11 16:33:20 +0100 <tomsmeding> perhaps "useful denotational semantics"
2026-03-11 16:33:14 +0100 <tomsmeding> isn't it possible to attach denotational semantics to anything?
2026-03-11 16:32:52 +0100 <dminuoso> I think a more accurate phrasing would be "It is possible to attach denotational semantics to a subset of Haskell", rather than saying that we *have* them (which might suggest that the language was signed ontop of it)
2026-03-11 16:32:32 +0100prdak1(~Thunderbi@user/prdak) prdak
2026-03-11 16:31:45 +0100 <tomsmeding> I was somehow only thinking of LambdaCase etc., which are not
2026-03-11 16:31:30 +0100 <tomsmeding> yes you're right, for denotational semantics all that's important
2026-03-11 16:31:00 +0100 <tomsmeding> ... I guess that types are actually relevant, even in operational semantics, depending on how you model type class resolution
2026-03-11 16:30:15 +0100 <dminuoso> tomsmeding: What about things like all the type wizardry (TypeInType, TyFams, etc)?
2026-03-11 16:29:29 +0100 <tomsmeding> in operational semantics you can exclude GADTs because you don't need types at runtime, but in denotational semantics the point is to retain types
2026-03-11 16:28:49 +0100 <tomsmeding> hm, fair point
2026-03-11 16:28:20 +0100 <dminuoso> Dunno, I can think of a few extensions that have meaning like GADTs
2026-03-11 16:27:40 +0100 <tomsmeding> the rest is going to be either syntactic sugar or complex, ad-hoc stuff that doesn't enlighten anyone about anything
2026-03-11 16:27:02 +0100 <tomsmeding> I suspect that all that people actually care about is a semantics of Haskell98 without the FFI
2026-03-11 16:26:18 +0100 <dminuoso> Some researchers have published papers on this subject, but they were all to just subsets of GHC haskell. A related problem would be defining what Haskell even is in 2026 - what extensions should be included in a full denotational semantic of Haskell.
2026-03-11 16:26:10 +0100 <tomsmeding> dminuoso: what do you mean with "defines mathematical rigor"?
2026-03-11 16:20:22 +0100skinkitten(~skinkitte@user/skinkitten) skinkitten
2026-03-11 16:18:52 +0100 <dminuoso> The Haskell reports did some very vague attempts of denotational semantics, but in reality that term defines mathematical rigor - something nobody has ever done.
2026-03-11 16:17:51 +0100 <dminuoso> mesaoptimizer: Well, in reality it only has operational semantics as defined by whatever GHC does.
2026-03-11 16:01:39 +0100kuribas(~user@2a02-1810-2825-6000-4935-dc75-5b6f-4493.ip6.access.telenet.be) kuribas
2026-03-11 15:58:20 +0100 <tomsmeding> that sounds like a prompt you can give to GPT-4 :p
2026-03-11 15:54:01 +0100haritz(~hrtz@user/haritz) haritz
2026-03-11 15:54:01 +0100haritz(~hrtz@140.228.70.141) (Changing host)
2026-03-11 15:54:01 +0100haritz(~hrtz@140.228.70.141)
2026-03-11 15:51:01 +0100Square(~Square4@user/square) Square
2026-03-11 15:39:42 +0100prdak(~Thunderbi@user/prdak) prdak
2026-03-11 15:35:20 +0100machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) machinedgod
2026-03-11 15:25:52 +0100Alex_delenda_est(~al_test@5.139.232.240) (Ping timeout: 244 seconds)
2026-03-11 15:16:55 +0100traxex(traxex@user/traxex) traxex
2026-03-11 15:09:27 +0100kadobanana(~mud@user/kadoban) kadoban
2026-03-11 15:09:22 +0100mud(~mud@user/kadoban) (Ping timeout: 248 seconds)
2026-03-11 15:08:48 +0100prdak(~Thunderbi@user/prdak) (Ping timeout: 264 seconds)
2026-03-11 15:07:59 +0100qqq(~qqq@185.54.22.246)
2026-03-11 14:57:37 +0100qqq(~qqq@185.54.22.246) (Remote host closed the connection)
2026-03-11 14:53:58 +0100Guest34(~Guest17@37.30.32.80) (Quit: Client closed)
2026-03-11 14:52:36 +0100 <probie> Guest34: What features do you want?
2026-03-11 14:47:34 +0100 <Guest34> Make me a haskell script to talk with GPT-4
2026-03-11 14:45:38 +0100Guest34(~Guest17@37.30.32.80)