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)
|
2022-03-18 14:45:23 +03:00
|
|
|
====
|
2021-09-26 19:59:51 +03:00
|
|
|
|
2022-03-18 14:45:23 +03:00
|
|
|
Description
|
|
|
|
-----------
|
2021-09-26 19:59:51 +03:00
|
|
|
|
2022-03-18 14:49:19 +03:00
|
|
|
MiniJuvix is a dependently functional programming language for writing
|
2022-03-18 14:45:23 +03:00
|
|
|
efficient formally-verified [validity predicates](https://anoma.network/blog/validity-predicates/), which can be
|
2022-03-18 14:49:19 +03:00
|
|
|
deployed to various distributed ledgers. This is a software released for experimentation and research purposes
|
|
|
|
only. No warranty is provided or implied.
|
|
|
|
|
|
|
|
MiniJuvix addresses many issues that we have
|
2022-03-18 14:45:23 +03:00
|
|
|
experienced while trying to write and deploy decentralised
|
|
|
|
applications present in the ecosystem of smart-contracts:
|
2021-10-26 15:50:52 +03:00
|
|
|
|
2022-03-18 14:45:23 +03:00
|
|
|
- the difficulty of
|
|
|
|
adequate program verification,
|
|
|
|
- the ceiling of compositional
|
|
|
|
complexity,
|
|
|
|
- the illegibility of execution costs, and
|
|
|
|
- the lock-in to
|
|
|
|
particular backends.
|
2021-09-26 20:29:17 +03:00
|
|
|
|
2022-03-18 14:45:23 +03:00
|
|
|
Quick Start
|
|
|
|
-----------
|
|
|
|
|
|
|
|
* Install [Stack](https://haskellstack.org):
|
|
|
|
|
2022-03-18 14:49:19 +03:00
|
|
|
````bash
|
|
|
|
$ git clone https://github.com/heliaxdev/minijuvix.git
|
|
|
|
$ cd minijuvix
|
|
|
|
$ stack install
|
|
|
|
````
|
|
|
|
|
|
|
|
* How to install stack? if it's not installed.
|
|
|
|
|
2022-03-18 14:45:23 +03:00
|
|
|
- For Ubuntu : `apt install stack`
|
|
|
|
- For Debian : `apt install haskell-stack`
|
|
|
|
- For Arch Linux : `pacman -S stack`
|
|
|
|
- For macOS : `brew install haskell-stack`
|
|
|
|
- For Windows, following the instructions
|
|
|
|
[here](https://docs.haskellstack.org/en/stable/install_and_upgrade/#windows).
|
|
|
|
|
|
|
|
It is required at least 8GB RAM for `stack` installation.
|
|
|
|
|
|
|
|
* To install MiniJuvix, you can download its sources using
|
|
|
|
[Git](http://git-scm.com/) from the [Github
|
|
|
|
repository](https://github.com/anoma/juvix.git). Then, the program
|
|
|
|
can be downloaded and installed with the following commands:
|
|
|
|
|
|
|
|
If the installation succeeds, you must be able to run the `minijuvix` command
|
|
|
|
from any location. To get the complete list of commands, please run `minijuvix --help`.
|
|
|
|
|
|
|
|
|
|
|
|
Testing
|
|
|
|
-------
|
|
|
|
|
|
|
|
````bash
|
|
|
|
$ stack test
|
|
|
|
````
|
|
|
|
|
|
|
|
Community
|
|
|
|
---------
|
|
|
|
|
|
|
|
We would love to hear what you think of MiniJuvix! Join us on [Discord](https://discord.gg/nsGaCZzJ)
|
2021-09-26 19:59:51 +03:00
|
|
|
|