mirror of
https://github.com/anoma/juvix.git
synced 2024-09-19 04:27:20 +03:00
[ README ] fixed broken links
This commit is contained in:
parent
500783272a
commit
ddde8c5ec2
66
README.md
66
README.md
@ -1,77 +1,25 @@
|
|||||||
MiniJuvix <!-- [![GitHub CI](https://github.com/heliaxdev/MiniJuvix/workflows/CI/badge.svg)](https://github.com/heliaxdev/MiniJuvix/actions) -->
|
MiniJuvix <!-- [![GitHub CI](https://github.com/heliaxdev/MiniJuvix/workflows/CI/badge.svg)](https://github.com/heliaxdev/MiniJuvix/actions) -->
|
||||||
[![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/haskell.yml/badge.svg?branch=qtt)](https://github.com/heliaxdev/MiniJuvix/actions/workflows/haskell.yml)
|
[![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)
|
||||||
=========
|
=========
|
||||||
|
|
||||||
|
|
||||||
This repository aims to be a conservative Haskell project of a tiny
|
This repository aims to be a conservative Haskell project of a tiny
|
||||||
language with dependent types based on the Juvix project. The primary
|
language with dependent types based on the Juvix project. The primary
|
||||||
purpose is to be a laboratory to study/experiment in implementing a
|
purpose is to be a laboratory to study/experiment in implementing a
|
||||||
functional language with dependent types.
|
functional language with dependent types.
|
||||||
|
|
||||||
In this branch `qtt`, MiniJuvix aims to be programming language based
|
In this branch `qtt`, MiniJuvix aims to be programming language based
|
||||||
on Quantitative type theory, but with the semiring of the extended
|
on Quantitative type theory. Some Haskell code has been generated
|
||||||
natural numbers. Some Haskell code has been generated automatically by
|
automatically by `agda2hs`. In the future, we want to prove properties
|
||||||
`agda2hs`. In the future, we want to prove properties about the
|
about the Minijuvix programs directly in Agda.
|
||||||
Minijuvix programs directly in Agda.
|
|
||||||
|
|
||||||
The following is a tentative project structure, but it can change at
|
The following is a tentative project structure, but it can change at
|
||||||
any moment. See below the file project structure. The diagram shows
|
any moment. See below the file project structure. The diagram shows
|
||||||
the design of the compiler related with the project structure.
|
the design of the compiler related with the project structure.
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="doc/minijuvix.png">
|
<img src="docs/minijuvix.png">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
In the picture, syntax transformations are denoted by pᵢ (e.g. passes in
|
In the picture, syntax transformations are denoted by pᵢ and checking
|
||||||
the Juvix Translate library) and checking operations are denoted by cᵢ
|
operations are denoted by cᵢ .
|
||||||
(e.g. found in the Juvix Core library), and both families of items are the priority of this project.
|
|
||||||
|
|
||||||
|
|
||||||
```bash
|
|
||||||
$ tree src/
|
|
||||||
...
|
|
||||||
.
|
|
||||||
├── MiniJuvix
|
|
||||||
│ ├── Desugaring
|
|
||||||
│ │ └── Error.hs
|
|
||||||
│ ├── Error.hs
|
|
||||||
│ ├── Monad.hs
|
|
||||||
│ ├── Parsing
|
|
||||||
│ │ ├── ADT.hs
|
|
||||||
│ │ ├── Error.hs
|
|
||||||
│ │ ├── Location.hs
|
|
||||||
│ │ └── Parser.hs
|
|
||||||
│ ├── Pipeline.hs
|
|
||||||
│ ├── Pretty.hs
|
|
||||||
│ ├── Syntax
|
|
||||||
│ │ ├── Core.agda
|
|
||||||
│ │ ├── Core.hs
|
|
||||||
│ │ ├── Desugared.hs
|
|
||||||
│ │ ├── Eval.agda
|
|
||||||
│ │ ├── Eval.hs
|
|
||||||
│ │ └── Sugared.hs
|
|
||||||
│ ├── Typing
|
|
||||||
│ │ ├── Coverage.hs
|
|
||||||
│ │ ├── Erasure.hs
|
|
||||||
│ │ ├── Error.hs
|
|
||||||
│ │ ├── Scopechecking.hs
|
|
||||||
│ │ ├── Termination.hs
|
|
||||||
│ │ └── Typechecking.hs
|
|
||||||
│ └── Utils
|
|
||||||
│ ├── File.hs
|
|
||||||
│ ├── Monad.hs
|
|
||||||
│ ├── NameSymbol.hs
|
|
||||||
│ ├── Parser
|
|
||||||
│ │ ├── Lexer.hs
|
|
||||||
│ │ └── Token.hs
|
|
||||||
│ ├── Parser.hs
|
|
||||||
│ ├── Prelude.hs
|
|
||||||
│ ├── Pretty.hs
|
|
||||||
│ └── Version.hs
|
|
||||||
├── app
|
|
||||||
│ ├── Main.hs
|
|
||||||
│ └── Options.hs
|
|
||||||
└── test
|
|
||||||
└── Spec.hs
|
|
||||||
...
|
|
||||||
```
|
|
||||||
|
@ -1,13 +1,12 @@
|
|||||||
{-# LANGUAGE UndecidableInstances #-}
|
{-# LANGUAGE UndecidableInstances #-}
|
||||||
|
|
||||||
-- | Adapted from heliaxdev/Juvix/library/StandardLibrary/src/Juvix
|
|
||||||
module MiniJuvix.Parsing.Language where
|
module MiniJuvix.Parsing.Language where
|
||||||
|
|
||||||
import qualified Data.Kind as GHC
|
import qualified Data.Kind as GHC
|
||||||
import MiniJuvix.Utils.Prelude
|
import MiniJuvix.Utils.Prelude
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
-- Parsing stage
|
-- Parsing stages
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
data Stage
|
data Stage
|
||||||
|
Loading…
Reference in New Issue
Block a user