Closed
Description
The idea is to implement a simple q parser using Parsec. Once that is ready I would like to explore whether it is viable to implement some typing and type inference rules for q.
If so, I would like to create a simple q dialect that allows for optional type signatures.
Or maybe better go with happy?
- http://lifeisalist.wordpress.com/2009/10/17/an-antlr-grammar-for-q/ - q grammar.
- http://sourceforge.net/p/qkdt/code/HEAD/tree/trunk/org.qkdt.parser/grammar/QK.g#l343 <- Grammar file
- https://www.haskell.org/happy/
- https://hackage.haskell.org/package/antlrc
- http://hackage.haskell.org/package/language-c
- https://gist.github.com/chrisdone/0075a16b32bfd4f62b7b <- Type checker in Haskell
- http://kx.com/q/ <- mine this for q code examples
- Haskell: https://github.com/simonmar/alex/blob/master/examples/haskell.x
- Comments: http://code.kx.com/wiki/Reference/Slash
- http://www.haskellforall.com/2014/09/morte-intermediate-language-for-super.html
- http://www.kdbfaq.com/kdb-faq/i-understand-white-space-matters-in-q-code-where-does-it-mat.html <- Whitespace in q
- Using happy with monadic alex: http://stackoverflow.com/questions/20315739/how-to-use-an-alex-monadic-lexer-with-happy/20923330#20923330
- Handling parse errors in happy: https://www.haskell.org/happy/doc/html/sec-monads.html
- Happy and Alex living happily together: https://github.com/dagit/happy-plus-alex