1
1
mirror of https://github.com/tweag/asterius.git synced 2024-11-13 07:18:19 +03:00

Weekly report 190211

This commit is contained in:
Shao Cheng 2019-02-11 05:58:36 +08:00
parent 468e87fad6
commit 19c8fddefb
2 changed files with 20 additions and 0 deletions

View File

@ -31,6 +31,7 @@ What works currently:
* All GHC language features except Template Haskell.
* Non-IO parts in `ghc-prim`/`integer-simple`/`base`/`array`/`deepseq`/`containers`/`transformers`/`mtl`/`pretty`/`bytestring`/`binary`/`xhtml`. IO is achieved via rts primitives like `print_i64` or JavaScript FFI.
* Fast arbitrary-precision `Integer` operations backed by `BigInt`s.
* Preliminary copying GC, managing both Haskell heap objects and JavaScript references.
* Persistent "vault"s which are KV stores transferrable across asterius instances.
* Importing JavaScript expressions via the `foreign import javascript` syntax. First-class `JSVal` type in Haskell land.
* Fast conversion between Haskell/JavaScript types (strings, arrays and ArrayBuffers at the moment)

View File

@ -2,6 +2,25 @@
This page maintains a list of weekly status reports for the project.
## 2019-02-11
Covers last week.
Completed work:
* Fixed known regressions of GC & released the initial version.
Additional known drawbacks of the initial version (see report of previous week):
* There is currently no runtime logs/stats about garbage collection.
* There is currently no tunable parameters; at least we should allow specifying when "real" gc happens and when we just allocate a new nursery instead of traversing the heap (e.g. "real" gc happens when the live semispace size grows beyond a threshold)
* `StgTSO`/`StgStack` objects are unnecessarily pinned to simplify scheduler implementation a bit, but they really should be unpinned.
Planned work for this week:
* Start working on Cabal support.
* Some easy improvements in gc, e.g. adding stats/logs, implementing parameters.
## 2019-02-04
Covers last week.