Juvix Compiler Documentation

This page gives the overview of all other documentation pages

Welcome

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.

Getting Started

See the overview sub-page to learn more about the Juvix compiler process


Terminology

Definitions for the more unique terminology we use.

Design

A document on various language design decisions and philosophies for Juvix. Also hosts a variety of sub documents on various language aspects

Idioms

Reasons for various idioms in the codebase

Juvix

The one stop shop for all of Juvix documentation

Overview

An overview of the compiler pipeline process.

Tutorials

A place to show off plently of examples and tutorials about Juvix

Last modified May 20, 2021 : Got All links updated (0f5ee31)