Algebraic semantics is one type of semantics that uses algebraic expressions for connecting the formal descriptions of initial and final states of some operation of some operation that is defined in the programming language. I can not imagine more general and more versatile semantics, but yet - it is not used in today research. Why is that?

Traditionally symbolic methods were considered quite expensive, but current mathematical software, proof assistants and other automation of the mathematics and algebraic manipulations - all that provides the automation of the algebraic semantics. But still - algebraic semantics has dropped out of favour.

Why would we need algebraic semantics or semantics of programming languages generally? Answer is simple. This year the program synthesis field started to take off in earnest https://arxiv.org/search/?query=%22program+synthesis%22&searchtype=all&source=header . Apparently - if the search for target program could be done in the semantic domain (e.g. using relational/symbolic reinforcement learning or using inductive logic programming or other neuro-symbolic technique) and if there was the translation procedure from the formal semantics to whatever programming language, then the problem of program synthesis would be solved.

  • $\begingroup$ Three relatively new and quite successful programming languages are C#, Swift, and Rust. Can you give concrete examples how one of these languages would benefit from algebraic semantics? How would designers of the language, developers creating compilers, and developers using the language benefit? $\endgroup$
    – gnasher729
    Sep 4 '19 at 8:23
  • $\begingroup$ I added last paragraph titled "Why would be need algebraic semantics of semantics of programming languages generally?" to my paragraph that explains why I am interested in semantics. It is the almost necessary step for program synthesis and automatic software development. $\endgroup$
    – TomR
    Sep 4 '19 at 8:55
  • 2
    $\begingroup$ I'm not familiar with the term “algebraic semantics” and Wikipedia was no help. Algebra is very widely used in semantics, but I guess there's more to it. Can you briefly explain what algebraic semantics and how it differs from usual practice? $\endgroup$ Sep 4 '19 at 11:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.