1
1
mirror of https://github.com/anoma/juvix.git synced 2024-12-15 01:52:11 +03:00
juvix/README.md

26 lines
1.3 KiB
Markdown
Raw Normal View History

2021-09-26 20:06:22 +03:00
MiniJuvix <!-- [![GitHub CI](https://github.com/heliaxdev/MiniJuvix/workflows/CI/badge.svg)](https://github.com/heliaxdev/MiniJuvix/actions) -->
2021-12-30 18:53:36 +03:00
[![GPL-3.0-only license](https://img.shields.io/badge/license-GPL--3.0--only-blue.svg)](LICENSE) [![Haskell CI](https://github.com/heliaxdev/MiniJuvix/actions/workflows/ci.yml/badge.svg?branch=qtt)](https://github.com/heliaxdev/MiniJuvix/actions/workflows/ci.yml)
2021-09-26 20:06:22 +03:00
=========
This repository aims to be a conservative Haskell project of a tiny
language with dependent types based on the Juvix project. The primary
purpose is to be a laboratory to study/experiment in implementing a
2021-09-26 20:06:22 +03:00
functional language with dependent types.
2021-10-26 15:50:52 +03:00
In this branch `qtt`, MiniJuvix aims to be programming language based
2021-12-30 18:53:36 +03:00
on Quantitative type theory. Some Haskell code has been generated
automatically by `agda2hs`. In the future, we want to prove properties
about the Minijuvix programs directly in Agda.
2021-10-26 15:50:52 +03:00
The following is a tentative project structure, but it can change at
any moment. See below the file project structure. The diagram shows
the design of the compiler related with the project structure.
<p align="center">
2021-12-30 18:53:36 +03:00
<img src="docs/minijuvix.png">
</p>
2021-12-30 18:53:36 +03:00
In the picture, syntax transformations are denoted by pᵢ and checking
operations are denoted by cᵢ .