User loginNavigation |
translational vs. denotational semanticsI'm developing a three-phase semantics for a block diagram language. I'm calling the first two phases "translational" and the last phase "denotational." This distinction between "translational" and "denotational" feels right, but I'm not sure it is right and was hoping some LtU members might be able to help. I'm using "translational" to describe the phases of the semantics that could also be called desugaring. The distinction I see between these phases and the final denotational phase is that the denotational phase cannot be captured as translation to a finite program in the target language. The target language is a lightly sugared lambda calculus or a very limited Haskell, depending on how you look at it. (Actually the latter interpretation is how I actually make this semantics executable. I mention this only because I think it is cool, not because I think it is relevant to the question at hand.) This all seems to stem from the denotation for the "letrec" construct, which, via the fixed-point operator, involves potentially unbounded recursive calls to the meaning function. In particular, meaning [LETREC declarations IN body] env and fix and updateEnv are as you might expect, and "meaning" is assumed to be overloaded to work on declarations as well as expressions. Does this distinction between translational and denotational semantics seem correct? As such, would a denotational semantics of a language w/o letrec be translational? And would a denotational semantics of a language with letrec and with letrec in the target language be translational? Are all operational semantics translational? By bdenckla at 2005-10-14 21:22 | LtU Forum | previous forum topic | next forum topic | other blogs | 7211 reads
|
Browse archives
Active forum topics |
Recent comments
22 weeks 6 days ago
22 weeks 6 days ago
22 weeks 6 days ago
45 weeks 19 hours ago
49 weeks 2 days ago
50 weeks 6 days ago
50 weeks 6 days ago
1 year 1 week ago
1 year 6 weeks ago
1 year 6 weeks ago