├── .dockerignore ├── .gitignore ├── .stylish-haskell.yaml ├── .travis.yml ├── ChangeLog.md ├── Dockerfile ├── LICENSE ├── README.md ├── Setup.hs ├── app └── Main.hs ├── bin ├── fabc └── fabrun ├── package.yaml ├── src ├── Closure.hs ├── Codegen.hs ├── Compile.hs ├── Desugar.hs ├── Enum.hs ├── Errors.hs ├── Flatten.hs ├── Hoist.hs ├── Lazy.hs ├── Match.hs ├── Nameless.hs ├── Operators.hs ├── Parse.hs ├── Typing.hs └── Utils.hs ├── stack.yaml └── test ├── ClosureSpec.hs ├── DesugarSpec.hs ├── FlattenSpec.hs ├── HoistSpec.hs ├── Integration.hs ├── LazySpec.hs ├── Main.hs ├── MatchSpec.hs ├── NamelessSpec.hs ├── ParseSpec.hs ├── TypingSpec.hs ├── Unit.hs └── data ├── ack.fab ├── annotation.fab ├── calc.fab ├── church.fab ├── factorial.fab ├── if_then_else.fab ├── let_in.fab ├── let_poly.fab ├── list.fab ├── match.fab ├── match_value.fab ├── multiple_names.fab ├── multiple_names_let.fab ├── nested_let.fab └── variant.fab /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/.dockerignore -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/.gitignore -------------------------------------------------------------------------------- /.stylish-haskell.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/.stylish-haskell.yaml -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/.travis.yml -------------------------------------------------------------------------------- /ChangeLog.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/ChangeLog.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/README.md -------------------------------------------------------------------------------- /Setup.hs: -------------------------------------------------------------------------------- 1 | import Distribution.Simple 2 | main = defaultMain 3 | -------------------------------------------------------------------------------- /app/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/app/Main.hs -------------------------------------------------------------------------------- /bin/fabc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/bin/fabc -------------------------------------------------------------------------------- /bin/fabrun: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/bin/fabrun -------------------------------------------------------------------------------- /package.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/package.yaml -------------------------------------------------------------------------------- /src/Closure.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/src/Closure.hs -------------------------------------------------------------------------------- /src/Codegen.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/src/Codegen.hs -------------------------------------------------------------------------------- /src/Compile.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/src/Compile.hs -------------------------------------------------------------------------------- /src/Desugar.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/src/Desugar.hs -------------------------------------------------------------------------------- /src/Enum.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/src/Enum.hs -------------------------------------------------------------------------------- /src/Errors.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/src/Errors.hs -------------------------------------------------------------------------------- /src/Flatten.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/src/Flatten.hs -------------------------------------------------------------------------------- /src/Hoist.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/src/Hoist.hs -------------------------------------------------------------------------------- /src/Lazy.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/src/Lazy.hs -------------------------------------------------------------------------------- /src/Match.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/src/Match.hs -------------------------------------------------------------------------------- /src/Nameless.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/src/Nameless.hs -------------------------------------------------------------------------------- /src/Operators.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/src/Operators.hs -------------------------------------------------------------------------------- /src/Parse.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/src/Parse.hs -------------------------------------------------------------------------------- /src/Typing.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/src/Typing.hs -------------------------------------------------------------------------------- /src/Utils.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/src/Utils.hs -------------------------------------------------------------------------------- /stack.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/stack.yaml -------------------------------------------------------------------------------- /test/ClosureSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/ClosureSpec.hs -------------------------------------------------------------------------------- /test/DesugarSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/DesugarSpec.hs -------------------------------------------------------------------------------- /test/FlattenSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/FlattenSpec.hs -------------------------------------------------------------------------------- /test/HoistSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/HoistSpec.hs -------------------------------------------------------------------------------- /test/Integration.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/Integration.hs -------------------------------------------------------------------------------- /test/LazySpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/LazySpec.hs -------------------------------------------------------------------------------- /test/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/Main.hs -------------------------------------------------------------------------------- /test/MatchSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/MatchSpec.hs -------------------------------------------------------------------------------- /test/NamelessSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/NamelessSpec.hs -------------------------------------------------------------------------------- /test/ParseSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/ParseSpec.hs -------------------------------------------------------------------------------- /test/TypingSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/TypingSpec.hs -------------------------------------------------------------------------------- /test/Unit.hs: -------------------------------------------------------------------------------- 1 | {-# OPTIONS_GHC -F -pgmF hspec-discover -optF --module-name=Unit #-} 2 | -------------------------------------------------------------------------------- /test/data/ack.fab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/data/ack.fab -------------------------------------------------------------------------------- /test/data/annotation.fab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/data/annotation.fab -------------------------------------------------------------------------------- /test/data/calc.fab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/data/calc.fab -------------------------------------------------------------------------------- /test/data/church.fab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/data/church.fab -------------------------------------------------------------------------------- /test/data/factorial.fab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/data/factorial.fab -------------------------------------------------------------------------------- /test/data/if_then_else.fab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/data/if_then_else.fab -------------------------------------------------------------------------------- /test/data/let_in.fab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/data/let_in.fab -------------------------------------------------------------------------------- /test/data/let_poly.fab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/data/let_poly.fab -------------------------------------------------------------------------------- /test/data/list.fab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/data/list.fab -------------------------------------------------------------------------------- /test/data/match.fab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/data/match.fab -------------------------------------------------------------------------------- /test/data/match_value.fab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/data/match_value.fab -------------------------------------------------------------------------------- /test/data/multiple_names.fab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/data/multiple_names.fab -------------------------------------------------------------------------------- /test/data/multiple_names_let.fab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/data/multiple_names_let.fab -------------------------------------------------------------------------------- /test/data/nested_let.fab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/data/nested_let.fab -------------------------------------------------------------------------------- /test/data/variant.fab: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/faber-lang/faber/HEAD/test/data/variant.fab --------------------------------------------------------------------------------