1
1
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:
Jonathan Prieto-Cubides 2021-12-30 10:53:36 -05:00
parent 500783272a
commit ddde8c5ec2
2 changed files with 8 additions and 61 deletions

View File

@ -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
...
```

View File

@ -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