Terminology
Definitions for the more unique terminology we use.
This page gives the overview of all other documentation pages
Welcome to the documentation of the Juvix Compiler. Juvix is a functional compiler that is inspired by various dependently typed languages (Agda, Idris, F★), ML's (OCaml, Haskell), Lisps (Common Lisp, Scheme), and much more. Thus our compiler has many idioms and ideas that are not typically found within a standard Haskell codebase.
The documentation is broken down into many sections that are linked at the bottom of this page. Each are unique in their topic. One section may cover General Overviews of the entire codebase while another may just talk about the justification for our various idioms.
See the overview sub-page to learn more about the Juvix compiler process
Definitions for the more unique terminology we use.
A document on various language design decisions and philosophies for Juvix. Also hosts a variety of sub documents on various language aspects
Reasons for various idioms in the codebase
The one stop shop for all of Juvix documentation
An overview of the compiler pipeline process.
A place to show off plently of examples and tutorials about Juvix