Projects

Pire - a refactoring tool for Pi-forall.

Browse its git repository, and download with:

git clone git://git.a-rx.info/pire

Beware however that this is just a snapshot release: no effort is made to keep a history currently, and the contents of the repository may be replaced completely at any time.

Documentation can be found in the docs directory there, provided as .org files, together with the org/pandoc/shake toolchain (but not rendered as pdf/html). Rendered versions of these docs are thus provided here (outdated however):

pire.pdf pire.html

Pire's API docs (its haddocks i.e.)


tt - exerimental implementation of Mini-TT in terms of Bound

(type checking in Core.hs, called from Main.hs), for background, inspirations cf.

Pire and tt are both based on Bound: while Pire's focus is on refactoring, tt is about typechecking (tt is smaller, and older as a language), browse its git repository, and download with:

git clone git://git.a-rx.info/tt

beware again: no effort is made to keep a history currently, and the contents of the repository may be replaced completely at any point.

api, docs yet to come


snippets - extract code snippets from .hs files (and .org, .adoc files)

three tasks:

  • extract code snippets in special comments from .hs files (as found in the Real World Haskell code examples originally), for example:

    {-- snippet foo --}
    foo = do bar
             baz
    {-- /snippet foo --}
    

    extracted to file _+snippet_+foo.hs with option -sep "_+", but also more complicated, for example:

    {-- multisnippet foo --}
    
    {-- snippet _ --}
    foo (Foo {}) = foo
    {-- /snippet _ --}
    
    foo (Bar {}) = bar
    
    {-- snippet _ --}
    foo (Baz {}) = baz
    {-- /snippet _ --}
    
    {-- /multisnippet foo --}
    

    extracting

    foo (Foo {}) = foo
    foo (Baz {}) = baz
    

    but not

    foo (Bar {}) = bar
    
  • orgmodehaskell tangler, ie. (similar to literate haskell):
    write documentation in orgmode (in .org files), and have haskell code extracted therefrom (including setup code), for doctests for example
  • asciidochaskell tangler, ie. (similar to literate haskell):
    write documentation in asciidoc/asciidoctor (in .adoc files), and have haskell code extracted therefrom (including setup code), for doctests for example

browse its git repository and download with

git clone git://git.a-rx.info/snippets

no effort is made to keep a history currently, and the contents of the repository may be replaced completely at any point.

api, docs yet to come