mirror of
https://github.com/anoma/juvix.git
synced 2024-12-15 01:52:11 +03:00
fd3622a274
* 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>
103 lines
2.4 KiB
YAML
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
|