Updates on Haskell-Suite

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!

About these ads

About Shayan

Researcher/Programmer at Chalmers University of Technology
Aside | This entry was posted in Articles. Bookmark the permalink.

2 Responses to Updates on Haskell-Suite

  1. Chris Done says:

    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.

  2. 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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s