Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sjbiaga/hascalam

Haskell to and from Scalameta
https://github.com/sjbiaga/hascalam

cabal-package haskell metaprogramming perl-script scalameta

Last synced: 26 days ago
JSON representation

Haskell to and from Scalameta

Awesome Lists containing this project

README

        

HaScalaM
=========

It converts (textually) to and fro between `Haskell` and `Scalameta` `AST`s.

Use a script to convert from `Scalameta` "`Source`" string to mirroring `Haskell`
classes, types and instances. Use the `Show` instances to convert from mirrored
`Haskell` types to `Scalameta` string.

It is fairly complete as far as `Scalameta` coverage is concerned.
It starts with "constraint" classes corresponding to `Scalameta` traits,
goes through types corresponding to OOP, and ends with wrapper types that
have `Show` instances.

The disadvantage is that constructors are "doubled", e.g., "`TDo (SmDoT`" is
required, because "`TDo`" involves type equality, while "`SmDoT`" only uses type
constraints. ("`T`" stands for "`term`".)

It is used [here](https://github.com/sjbiaga/pisc-dotarrow) at the
metaprogramming level to convert to and fro between `Scala` and `Haskell`.