Skip to content

Integrate version 3 changes

Fredrik Wieczerkowski requested to merge version3-integration into master

A branch that merges the recent changes on the master branch with libs_refactor to make CPM compatible with the version 3 compilers.

Something to discuss would be how to proceed with the error logging monad. There are currently two approaches (along with naming conventions) taken here:

  • The master branch (version 2) uses a stateless ErrorLogger that holds the log entries and a separate ErrorLoggerIO
  • The libs_refactor branch (version 3) uses only an effectful ErrorLogger (analogous to ErrorLoggerIO) everywhere. This makes the code slightly more consistent due to fewer fromELM/toELM conversions at the expense of having more liftIOErrorLoggers.

This branch currently largely adopts the latter approach:

master this branch
ErrorLogger ErrorLog
ErrorLoggerIO ErrorLogger
execIO liftIOErrorLogger
toELM/fromELM not needed
(|>=), (|>), etc. (>>=), (>>), etc.
Edited by Fredrik Wieczerkowski

Merge request reports