Inspiration
Logical and functional languages such as Prolog and Haskell inspire the design of Logikon, with the intention of being elegant and simple. Logikon also borrows the SMTLib2 language to write function inner expressions which can be formally verified in compile-time, providing a higher level of security.
What it does
As a language, Logikon features matching of function parameters and elegant recursion usage. The code is not sequential, and is written as a set of logical constraints. Ideally these logical constraints are statically and formally verified against a specification given in the code in compile-time. We have build a compiler for Logikon. It compiles Logikon to YUL, the intermediate language used in Solidity, which compiles to multiple EVM bytecode versions.
How I built it
We used Rust to write the compiler from Logikon to YUL and Solidity to compile YUL to EVM bytecode.
Challenges I ran into
Writing ASTs and code generators require a lot of typing.
Accomplishments that I'm proud of
Two days isn't a lot of time to write a compiler.
What I learned
Two days isn't a lot of time to write a compiler.
What's next for Logikon
Full compiler implementation.
Log in or sign up for Devpost to join the conversation.