Version 0.6.0 of fcf-containers

Version 0.6.0 of fcf-containers is out!

See http://hackage.haskell.org/package/fcf-containers-0.6.0 .

This version starts to use a major improvement on symbol manipulation (as shown by Csongor), meaning that the type-level text module is clearly more ergonomic to use now. For example:

:kind! Eval (SplitOn ('Text " ") ('Text "Hello world!\nTo be splitted on"))
= '[ 'Text "Hello", 'Text "world!\nTo", 'Text "be" , 'Text "splitted", 'Text "on"]

and

:kind! Eval (Map (SplitOn ('Text " ")) =<< Lines ('Text "Hello world!\nTo be splitted on"))
= '[ '[ 'Text "Hello", 'Text "world!"]
     '[ 'Text "To", 'Text "be" , 'Text "splitted", 'Text "on"]

This is based on the work of Csongor, see https://blog.csongor.co.uk/symbol-parsing-haskell/ and http://hackage.haskell.org/package/symbols .

Fcf-containers now borrows code from symbols lib quite directly instead of using it as a dependency. That might change soon. (I probably need a wider set of characters and I’d like to find a nice way to support several “character sets”.)

2 Likes