The last month was a very busy one!
Here are some updates and good news:
- Haskell-Name is alive now and is being actively developed! Thanks to Roman
- Haskell-Types vLocalAssumptions had some progress but still much work is left.
- Haskell-Desugar is online if you have not noticed yet.
- Haskell-Compile & Haskell-Interpret had some progress; I am currently implementing a backend using Epic, the backend of Agda, Epigram and Idris.
- I am currently writing a paper on how to map back the inferred types from the desugared code to the original code. If everything goes as expected, this bidirectionality will be added to HTE.
- There are also two other tiny projects:
Haskell-Dependency which does the dependency analysis and the related transformations.
Haskell-Dictionary which removes the constraints by using dictionaries. - Added to the wish-list / future plan:
Developing translation to System FC (aka GHC Core)
Metaprogramming / Template Haskell - Few nice ongoing research projects, yet still too early to judge
Well, I am excited about these, lots of fun! I am currently, struggling with my schedule, pushing it to get a few more hours to work on these. Things may go slow, but in general there would be steady progress.
Indeed, I would welcome any sort of support!
Does Haskell-Dictionary transform foo :: (Foo a,Bar a) => a -> () to foo :: Foo a -> Bar a -> a -> ()?
Love all the work you’re doing! It looks like some time in the future I’ll be able “drop-in” this library and get type system additions (esp. type-classes) for Fay.
Hey Chris,
>Does Haskell-Dictionary transform foo :: (Foo a,Bar a) => a -> () to > foo :: Foo a -> Bar a -> a -> ()?
Type of foo becomes foo :: (Foo a , Bar a ) -> a -> (), and the body changes by putting the witnesses correspondingly.
> Love all the work you’re doing!
Thank you for your interest!
> “drop-in” this library …
I assume it would be as easy as a simple AST transformation. The front-end would be HSE+Haskell-Name+HTE+Haskell-Dictionary and then a thin layer to translate the resulting AST to Fay’s core.
In the longer run, we may want to merge the two ASTs.
A side note, it may be of your interest:
https://github.com/valderman/haste-compiler
Cheers