I have the pleasure to annouce the release of version 0.6.0 of `fmlib`. The main components of `fmlib` are
- Web Applications in the Elm style
- Pretty Printing
- Combinator Parsing
Documentation see https://hbr.github.io/fmlib/odoc/index.html.
This release is mainly focussed on pretty printing and web applications. The new release has some breaking changes because some function names or function arguments have changed. The breaking changes can be easily fixed by looking into the documentation which contains all functions and the corresponding arguments.
Web applications:
- Single page applications are now fully supported. I.e. it is possible to manage several virtual pages in one application. The switching between the pages can be done by accessing the browser history. I.e. the user is capable of pressing back and forward buttons and the application remains the same. For an introduction to single page applications see here. An example of a single page application can be seen here.
- Web applications can contain reference elements. These can be used to optimize applications with really big doms (e.g. several hundreds or thousands of elements). Introduction to reference elements see here. A simple spreadsheet implemented as a web application can be found here.
- Files on the local machine can be selected and loaded into the application.
- Session and local storage of the browser can be used.
Pretty Printing: A new algorithm based on Phil Wadler’s design is used which makes the code more elegant, easy to read and fixes some bugs in the previous algorithm. The new algorithm is in a separate module `Pretty`. The old module `Print` is kept but will be removed in the next release.
Combinator Parsing: As a convenience there are lexeme parsers which support languages with some standard syntax (like Haskell’s Parsec). Some bugfixes and minor additional functions. No breaking changes.