├── .gitignore ├── README.md ├── docs ├── bibliography.bib ├── codeSamples.tex ├── diary.tex ├── glossary.tex ├── images │ ├── callgraph.png │ ├── comment.jpg │ ├── help.jpg │ ├── logo.jpg │ ├── modulo.jpg │ ├── odd.jpg │ ├── parsetext.jpg │ ├── pipe.jpg │ ├── randomBanner.jpg │ ├── tree.jpg │ ├── typeError.jpg │ └── vim.jpg ├── initialreport.tex ├── libs.tex ├── markdown.tex ├── mmlcode.tex ├── progressreport.latex ├── repl.tex ├── replCode.tex ├── report.tex ├── req.tex ├── syntax.tex ├── sysf.tex ├── texBib └── user.tex ├── installMicroML ├── microML.cabal ├── src ├── Compiler │ ├── CallGraph.hs │ ├── CodeGen.hs │ ├── Failure.hs │ ├── MicroBitHeader.hs │ └── PrettyCPP.hs ├── Jit │ ├── Codegen.hs │ └── Emit.hs ├── Libs │ ├── church.mml │ ├── combinators.mml │ ├── glossary.mml │ ├── maths.mml │ ├── standard.mml │ └── string.mml ├── Main.hs ├── MicroML │ ├── Config.hs │ ├── Lexer.hs │ ├── ListPrimitives.hs │ ├── MathsPrimitives.hs │ ├── Parser.hs │ ├── Syntax.hs │ └── Typing │ │ ├── Env.hs │ │ ├── Infer.hs │ │ ├── Substitutable.hs │ │ ├── Type.hs │ │ └── TypeError.hs └── Repl │ ├── Eval.hs │ ├── Help.hs │ ├── HelpEnv.hs │ ├── ParseTree.hs │ ├── Pretty.hs │ └── Repl.hs ├── stack.yaml ├── test ├── CallGraphSpec.hs ├── EvalSpec.hs ├── ListPrimitivesSpec.hs ├── MathsPrimitives.hs ├── TestMain.hs └── compiler │ ├── addition.mml │ ├── badType.mml │ ├── badTypeSimple.mml │ ├── duplicateFail.mml │ ├── empty.mml │ ├── funcCall.mml │ ├── helloWorld.mml │ ├── ifStatement.mml │ ├── letDecl.mml │ ├── linkedUnreachable.mml │ ├── multiFunc.mml │ ├── multiLet.mml │ ├── receiver.mml │ └── unreachable.mml └── utils ├── compilerTests.sh ├── microML.vim ├── autoload │ ├── funcs.vim │ └── microMLcomplete.vim ├── ftdetect │ └── microML.vim ├── ftplugin │ └── microML.vim └── syntax │ └── microML.vim └── microMLrc /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/README.md -------------------------------------------------------------------------------- /docs/bibliography.bib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/bibliography.bib -------------------------------------------------------------------------------- /docs/codeSamples.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/codeSamples.tex -------------------------------------------------------------------------------- /docs/diary.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/diary.tex -------------------------------------------------------------------------------- /docs/glossary.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/glossary.tex -------------------------------------------------------------------------------- /docs/images/callgraph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/images/callgraph.png -------------------------------------------------------------------------------- /docs/images/comment.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/images/comment.jpg -------------------------------------------------------------------------------- /docs/images/help.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/images/help.jpg -------------------------------------------------------------------------------- /docs/images/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/images/logo.jpg -------------------------------------------------------------------------------- /docs/images/modulo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/images/modulo.jpg -------------------------------------------------------------------------------- /docs/images/odd.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/images/odd.jpg -------------------------------------------------------------------------------- /docs/images/parsetext.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/images/parsetext.jpg -------------------------------------------------------------------------------- /docs/images/pipe.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/images/pipe.jpg -------------------------------------------------------------------------------- /docs/images/randomBanner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/images/randomBanner.jpg -------------------------------------------------------------------------------- /docs/images/tree.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/images/tree.jpg -------------------------------------------------------------------------------- /docs/images/typeError.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/images/typeError.jpg -------------------------------------------------------------------------------- /docs/images/vim.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/images/vim.jpg -------------------------------------------------------------------------------- /docs/initialreport.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/initialreport.tex -------------------------------------------------------------------------------- /docs/libs.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/libs.tex -------------------------------------------------------------------------------- /docs/markdown.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/markdown.tex -------------------------------------------------------------------------------- /docs/mmlcode.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/mmlcode.tex -------------------------------------------------------------------------------- /docs/progressreport.latex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/progressreport.latex -------------------------------------------------------------------------------- /docs/repl.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/repl.tex -------------------------------------------------------------------------------- /docs/replCode.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/replCode.tex -------------------------------------------------------------------------------- /docs/report.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/report.tex -------------------------------------------------------------------------------- /docs/req.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/req.tex -------------------------------------------------------------------------------- /docs/syntax.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/syntax.tex -------------------------------------------------------------------------------- /docs/sysf.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/sysf.tex -------------------------------------------------------------------------------- /docs/texBib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/texBib -------------------------------------------------------------------------------- /docs/user.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/docs/user.tex -------------------------------------------------------------------------------- /installMicroML: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/installMicroML -------------------------------------------------------------------------------- /microML.cabal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/microML.cabal -------------------------------------------------------------------------------- /src/Compiler/CallGraph.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Compiler/CallGraph.hs -------------------------------------------------------------------------------- /src/Compiler/CodeGen.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Compiler/CodeGen.hs -------------------------------------------------------------------------------- /src/Compiler/Failure.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Compiler/Failure.hs -------------------------------------------------------------------------------- /src/Compiler/MicroBitHeader.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Compiler/MicroBitHeader.hs -------------------------------------------------------------------------------- /src/Compiler/PrettyCPP.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Compiler/PrettyCPP.hs -------------------------------------------------------------------------------- /src/Jit/Codegen.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Jit/Codegen.hs -------------------------------------------------------------------------------- /src/Jit/Emit.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Jit/Emit.hs -------------------------------------------------------------------------------- /src/Libs/church.mml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Libs/church.mml -------------------------------------------------------------------------------- /src/Libs/combinators.mml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Libs/combinators.mml -------------------------------------------------------------------------------- /src/Libs/glossary.mml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Libs/glossary.mml -------------------------------------------------------------------------------- /src/Libs/maths.mml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Libs/maths.mml -------------------------------------------------------------------------------- /src/Libs/standard.mml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Libs/standard.mml -------------------------------------------------------------------------------- /src/Libs/string.mml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Libs/string.mml -------------------------------------------------------------------------------- /src/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Main.hs -------------------------------------------------------------------------------- /src/MicroML/Config.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/MicroML/Config.hs -------------------------------------------------------------------------------- /src/MicroML/Lexer.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/MicroML/Lexer.hs -------------------------------------------------------------------------------- /src/MicroML/ListPrimitives.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/MicroML/ListPrimitives.hs -------------------------------------------------------------------------------- /src/MicroML/MathsPrimitives.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/MicroML/MathsPrimitives.hs -------------------------------------------------------------------------------- /src/MicroML/Parser.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/MicroML/Parser.hs -------------------------------------------------------------------------------- /src/MicroML/Syntax.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/MicroML/Syntax.hs -------------------------------------------------------------------------------- /src/MicroML/Typing/Env.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/MicroML/Typing/Env.hs -------------------------------------------------------------------------------- /src/MicroML/Typing/Infer.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/MicroML/Typing/Infer.hs -------------------------------------------------------------------------------- /src/MicroML/Typing/Substitutable.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/MicroML/Typing/Substitutable.hs -------------------------------------------------------------------------------- /src/MicroML/Typing/Type.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/MicroML/Typing/Type.hs -------------------------------------------------------------------------------- /src/MicroML/Typing/TypeError.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/MicroML/Typing/TypeError.hs -------------------------------------------------------------------------------- /src/Repl/Eval.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Repl/Eval.hs -------------------------------------------------------------------------------- /src/Repl/Help.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Repl/Help.hs -------------------------------------------------------------------------------- /src/Repl/HelpEnv.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Repl/HelpEnv.hs -------------------------------------------------------------------------------- /src/Repl/ParseTree.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Repl/ParseTree.hs -------------------------------------------------------------------------------- /src/Repl/Pretty.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Repl/Pretty.hs -------------------------------------------------------------------------------- /src/Repl/Repl.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/src/Repl/Repl.hs -------------------------------------------------------------------------------- /stack.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/stack.yaml -------------------------------------------------------------------------------- /test/CallGraphSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/test/CallGraphSpec.hs -------------------------------------------------------------------------------- /test/EvalSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/test/EvalSpec.hs -------------------------------------------------------------------------------- /test/ListPrimitivesSpec.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/test/ListPrimitivesSpec.hs -------------------------------------------------------------------------------- /test/MathsPrimitives.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/test/MathsPrimitives.hs -------------------------------------------------------------------------------- /test/TestMain.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/test/TestMain.hs -------------------------------------------------------------------------------- /test/compiler/addition.mml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/test/compiler/addition.mml -------------------------------------------------------------------------------- /test/compiler/badType.mml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/test/compiler/badType.mml -------------------------------------------------------------------------------- /test/compiler/badTypeSimple.mml: -------------------------------------------------------------------------------- 1 | -- should fail to compile 2 | let main = 'a' + 2 3 | -------------------------------------------------------------------------------- /test/compiler/duplicateFail.mml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/test/compiler/duplicateFail.mml -------------------------------------------------------------------------------- /test/compiler/empty.mml: -------------------------------------------------------------------------------- 1 | -- should throw an error 2 | -------------------------------------------------------------------------------- /test/compiler/funcCall.mml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/test/compiler/funcCall.mml -------------------------------------------------------------------------------- /test/compiler/helloWorld.mml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/test/compiler/helloWorld.mml -------------------------------------------------------------------------------- /test/compiler/ifStatement.mml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/test/compiler/ifStatement.mml -------------------------------------------------------------------------------- /test/compiler/letDecl.mml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/test/compiler/letDecl.mml -------------------------------------------------------------------------------- /test/compiler/linkedUnreachable.mml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/test/compiler/linkedUnreachable.mml -------------------------------------------------------------------------------- /test/compiler/multiFunc.mml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/test/compiler/multiFunc.mml -------------------------------------------------------------------------------- /test/compiler/multiLet.mml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/test/compiler/multiLet.mml -------------------------------------------------------------------------------- /test/compiler/receiver.mml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/test/compiler/receiver.mml -------------------------------------------------------------------------------- /test/compiler/unreachable.mml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/test/compiler/unreachable.mml -------------------------------------------------------------------------------- /utils/compilerTests.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/utils/compilerTests.sh -------------------------------------------------------------------------------- /utils/microML.vim/autoload/funcs.vim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/utils/microML.vim/autoload/funcs.vim -------------------------------------------------------------------------------- /utils/microML.vim/autoload/microMLcomplete.vim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/utils/microML.vim/autoload/microMLcomplete.vim -------------------------------------------------------------------------------- /utils/microML.vim/ftdetect/microML.vim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/utils/microML.vim/ftdetect/microML.vim -------------------------------------------------------------------------------- /utils/microML.vim/ftplugin/microML.vim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/utils/microML.vim/ftplugin/microML.vim -------------------------------------------------------------------------------- /utils/microML.vim/syntax/microML.vim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/utils/microML.vim/syntax/microML.vim -------------------------------------------------------------------------------- /utils/microMLrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kellino/microML/HEAD/utils/microMLrc --------------------------------------------------------------------------------