English

Extending Isabelle/HOL's Code Generator with support for the Go programming language

Programming Languages 2024-09-20 v3 Logic in Computer Science

Abstract

The Isabelle proof assistant includes a small functional language, which allows users to write and reason about programs. So far, these programs could be extracted into a number of functional languages: Standard ML, OCaml, Scala, and Haskell. This work adds support for Go as a fifth target language for the Code Generator. Unlike the previous targets, Go is not a functional language and encourages code in an imperative style, thus many of the features of Isabelle's language (particularly data types, pattern matching, and type classes) have to be emulated using imperative language constructs in Go. The developed Code Generation is provided as an add-on library that can be simply imported into existing theories.

Keywords

Cite

@article{arxiv.2310.02704,
  title  = {Extending Isabelle/HOL's Code Generator with support for the Go programming language},
  author = {Terru Stübinger and Lars Hupel},
  journal= {arXiv preprint arXiv:2310.02704},
  year   = {2024}
}

Comments

23 pages, of which 15 pages are main content

R2 v1 2026-06-28T12:40:17.451Z