Skip to content
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app implement: jsonify compiler error Jan 28, 2019
kelilib added generic equality comparer in prelude.js Mar 11, 2019
src add: test case for generic tagged union Mar 19, 2019
test add: test case for generic tagged union Mar 19, 2019
.gitignore implement: repl Jan 25, 2019
ChangeLog.md
Glossary.md
LICENSE chore: Add LICENSE Jan 16, 2019
README.md chore: update binary name from to `keli` Mar 6, 2019
Setup.hs
package.yaml
stack.yaml
test_output.txt add: test case for generic tagged union Mar 19, 2019

README.md

Keli Compiler

Namings

Refer Glossary.md

How to run the binary?

stack build
stack exec -- keli [keli-args]

How to install the binary into user path?

stack build --copy-bins

How to setup this project?

stack build

How to run test?

To treat warning as errors, use -Werror:

stack test --ghc-options="-Wall -Werror" --file-watch

How to run ghci?

The following command is to prevent stack overflow due to unknown infinite loop.

Refer https://stackoverflow.com/questions/35342591/haskell-limit-ghci-memory

stack ghci --package pretty-simple --ghci-options="+RTS -M256m -K256m -RTS -interactive-print=Text.Pretty.Simple.pPrint -Wall" 

Versioning

We will be using SemVer + CalVer, as the following format:

MAJOR.YY.MM.DD

Some extra documentation about Data.Map.Ordered

-- assocs means valuesOf
-- For example,
--  assocs x
--      means, get the list of key-value pair from x (which is arranged according to insertion order)
-- |> means insert
-- For example,
--      x |> (key, value)
--          means, insert (key,value) into x
-- For more please refer http://hackage.haskell.org/package/ordered-containers-0.1.1/docs/Data-Map-Ordered.html

References

Algorithm W implemented in Haskell

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.65.7733&rep=rep1&type=pdf

Type inferfence for beginners (by Dhruv Rajvanshi)

https://medium.com/@dhruvrajvanshi/type-inference-for-beginners-part-1-3e0a5be98a4b https://medium.com/@dhruvrajvanshi/type-inference-for-beginners-part-2-f39c33ca9513

You can’t perform that action at this time.