1
1
mirror of https://github.com/anoma/juvix.git synced 2024-12-15 01:52:11 +03:00
juvix/package.yaml
Jonathan Cubides fd3622a274
Adds many new features (w.i.p v0.1.2) (#28)
* add references to the syntax and cleanup code

* [make] add .PHONY to Makefile targets

* [parser] add parser / pretty for axiom backends

* Pairing progress

* [scoper] Add support for Axiom backends

* [parser] Fix foreign block parsing

* [ app ] adds --no-colors flag for the scope command

* [ghc] upgrade to ghc 9.2.2

* use GHC2021

* [doc] Remove out-of-date comment

* [test] Add ambiguity tests

* [scoper] Improve resolution of local symbols

* [error] WIP improving ambiguity error messages

* [ clean-up ] new lab folder for experimentation

* [ app ] ixes the lint warning

* [ Termination ] removes Alga dependency

* [error] Add message for ambiguous symbol error

* [error] Add ambiguous module message

* [scoper] Remove ErrGeneric

* [test] Add test to suite

* [test] show diff when ast's are different

* [ lab ] folder organization

* [ Makefile ] add targets with --watch option (stack cmds) and remove unused things

* [ app ] add --version flag and fixed warnings and formatting

* [test] remove fromRightIO to fix ambiguity error

* [test] Add test of shadowing public open

* [scoper] Add visibility annotation for Name

* prepare buildIntoTable

* [ Concrete ] add instance of hashable for refs.

* add InfoTableBuilder effect

* [ scoper ] add InfoTableBuilder effect

* [ CHANGELOG ] updated v0.1.1

* [ README ] org version now

* fix package.yaml

* fix readme

* [microjuvix] implement basic typechecker

* add simple test for MicroJuvix type checker

* fix checking for constructors apps in patterns

* [scope] Move InfoTable to a new module

* [abstract] Make Iden use references instead of Name

* [abstract] Add InfoTable for abstract syntax

* [scoper] Add function clauses to scoped InfoTable

* [abstract] Add InfoTableBuilder for scoped to abstract

* [main] Fix callsites of translateModule

* [doc] Remove empty docs

* [scoper] Update emptyInfoTable with missing field

* rename some functions

* [minihaskell] add compilation to MiniHaskell

* [microjuvix] improve wrong type message

* Add a validity predicate example written in MiniJuvix

* [typecheck] Add error infrastructure for type errors

Add a pretty error for mismatched constructor type in a pattern match

* [test] Adds negative typecheck test for constructor

* [app] Adds microjuvix subcommands for printing / typechecking

* [typecheck] Add error message for ctor match args mistmatch

* [typecheck] Add descriptive messages for remainng errors

* [typecheck] Updates to error message copy

* [typecheck] fix merge conflicts:

* [highlight] add basic support for highlighting symbols

* [minijuvix-mode] add minijuvix-mode and basic description in the readme

* [readme] improve formatting

* automatically detect the root of the project and add --show-root flag

Co-authored-by: Jan Mas Rovira <janmasrovira@gmail.com>
Co-authored-by: Paul Cadman <git@paulcadman.dev>
Co-authored-by: Paul Cadman <pcadman@gmail.com>
2022-04-01 13:00:15 +02:00

103 lines
2.4 KiB
YAML

name: minijuvix
version: 0.1.1
license: GPL-3.0-only
license-file: LICENSE
copyright: (c) 2022- Heliax AG.
maintainer: The PLT Team at Heliax AG <hello@heliax.dev>
author: [ Jonathan Prieto-Cubides , Jan Mas Rovira , Paul Cadman ]
tested-with: ghc == 9.2.2
homepage: https://github.com/heliaxdev/minijuvix
bug-reports: https://github.com/heliaxdev/minijuvix/issues
description: The MiniJuvix compiler
category: Compilers/Interpreters
github: heliaxdev/minijuvix
extra-source-files:
- README.org
- CHANGELOG.org
# TODO: make sections for dependency
dependencies:
- aeson == 2.0.*
- base == 4.16.*
- blaze-html == 0.9.*
- blaze-markup == 0.8.*
- bytestring == 0.11.*
- containers == 0.6.*
- directory == 1.3.*
- edit-distance == 0.2.*
- extra == 1.7.*
- filepath == 1.4.*
- gitrev == 1.3.*
- hashable == 1.4.*
- megaparsec == 9.2.*
- microlens-platform == 0.4.*
- parser-combinators == 1.3.*
- polysemy == 1.7.*
- polysemy-plugin == 0.4.*
- prettyprinter == 1.7.*
- prettyprinter-ansi-terminal == 1.1.*
- process == 1.6.*
- semirings == 0.6.*
- singletons == 3.0.*
- singletons-th == 3.1.*
- Stream == 0.4.*
- template-haskell == 2.18.*
- text == 1.2.*
- th-utilities == 0.2.*
- unordered-containers == 0.2.*
# the tasty dependencies are here to avoid having to recompile minijuvix
# when running the tests. Is there a better solution?
- tasty
- tasty-hunit
- Diff == 0.4.*
- pretty-show == 1.10.*
# TODO organize this
ghc-options:
- -fhide-source-paths
- -O2 -flate-specialise -fspecialise-aggressively
- -Wall -Wcompat -Widentities -Wincomplete-uni-patterns
- -Wderiving-defaults -Wredundant-constraints
- -Wincomplete-patterns
- -Wincomplete-record-updates -fwrite-ide-info -hiedir=.hie
- -Wmissing-deriving-strategies
default-extensions:
- DataKinds
- DerivingStrategies
- GADTs
- LambdaCase
- NoImplicitPrelude
- OverloadedStrings
- QuasiQuotes
- RecordWildCards
- TemplateHaskell
- TypeFamilyDependencies
- UnicodeSyntax
library:
source-dirs: src
verbatim:
default-language: GHC2021
executables:
minijuvix:
main: Main.hs
source-dirs: app
dependencies:
- minijuvix
- optparse-applicative == 0.17.*
verbatim:
default-language: GHC2021
tests:
minijuvix-test:
main: Main.hs
source-dirs: test
dependencies:
- minijuvix
verbatim:
default-language: GHC2021