Josh Meredith, Trevor McDonell, Richard Collins, Max Swadling, Ben Lippmeier, Erik de Castro Lopo
Sorry if I missed anyone.
Work since last meeting
. More robust determination of current build platform, gives better error messages.
. Set r-path properly on OSX and Linux, so executables work properly when moved to different directories.
. Added info table indices to headers of boxed objects. The info table contains meta-data about the value, such as the original data constructor name and arities.
. Start on basic Language Server plugin. Enough is implemented to register with the IDE via the Language Server protocol, but doesn’t have any real functionality yet.
. Got basic reflection library working using the info table indices, we now have a generic show function that prints out a human readable description of any value in the heap, and does not require Show a => type class constraints. This is also a step towards implementing a primitive memoization operator.
. branch “compactRegionDev”: Addition of prototype compact regions system.
. branch “check-resolve”: Reworking the way data is loaded from interface files during type checking. The branch in is now working apart from fixing superficial test breakages. Previously, when checking module DDC needed to load interface files from all transitively reachable modules. After this change it will only need to load interface files from directly imported modules, which will significantly speed up compile time.
Chris: Adding a capability system to ensure that concurrent effectful computations do not interfere.
Matthew: Adding support for a version of compact regions, which allows data to be allocated into a region separate from the heap and not traced during main GC cycles.
Ben: Close to merging the check-resolve branch to get better interface file handling. Once this is done will return to primitive memoization.