Based on my understanding of what is written in this book, I understood that ‘Operational Semantics’ is something for imperative language, and ‘Denotational semantics’ is for functional languages. In a way, the former is more 'practical 'and the latter is more ‘theoretical’.

So I made the thread in the Rust instance about GC being possible by Rust being an ‘imperative language with denotational semantics’ and people told me I am wrong.

I kinda knew I am wrong, I just went all brazen-like. So I am not brazen anymore.

What exactly did I get wrong about the difference between Operational vs. Denotational semantics? Just a hint would be good.

There’s another type of semantics, Axiomatic. That I don’t even attempt or try to understand! This one is really puzzling for me.

These are complex subjects and I wanna understand them; and you only understand complex subjects if you ask people.

Thanks.

PS: No academic dishonesty, I am not a student.

  • ++A; thanks! So, in a domain-specific language, like ASDL which I implemented, it’s mostly the denotational semantics at work, but in a GPL like C, it’s mostly operational. Am I right?

    btw if you got the time, could you pls explain axiomatic semantics, that would be great. I don’t at all understand this one. Thanks.