There are programming languages and theoretical evidence based on higher order logic (HOL). Examples include Twelf , lambda proog , Isabelle . For example, Twelf is both a programming language and a theoretical breakthrough, while Isabelle is basically a theoretical breakthrough, but code is available for extracting Isabelle.
I am looking for a haskell-based HOL programming language. The reason is that I like, for example, lambda proog very much, but that does not mean that it is a practical programming language. The Lambda prologue does not have a standard library and interacting with external libraries does not seem trivial. The problem is that if you need some kind of functionality, for example, writing a parser for a text file, you cannot interact, say, with many available existing libraries for haskell, and there is also no standard library, so you start from scratch .
Today I came across the Caledon programming language, which was implemented as a master's thesis. On github page:
Caledon is a typically typed, polymorphic higher order logic of a programming language.
This is interesting because it is written in haskell, so it is easy to extend and interact with existing haskell libraries. But it seems that the project is at an early stage, I'm not sure that the input / output (IO) function is implemented. Since I only found out about Caledon today, I think I might have missed some other projects. (BTW, I'm not interested in standard logic programming languages like prolog).
Are there programming languages based on higher-order logic other than Caledon that are implemented in haskell?
(I ask for "implement in haskell" because it’s pretty easy to connect programming languages that can be extracted or implemented in haskell. For example, the Agda programming language can be compiled into haskell code, and haskell libraries can be conveniently used and it is extremely easy to use haskell libraries, if you know how to do this, many other programming languages (like ATS) that I believe provide only the smallest common denominator, which is the interface of an external C-based function (FFI). of the two higher programming languages through their corresponding C-based FFI interface. Thus, the seemingly incorrect part that “should be implemented in haskell.” Also, as a side note, some users in the past referred to my description of Agda as a programming language, but of course this is not true, i.e. consider Curry-Howard )