diff options
author | Camil Staps | 2016-11-06 22:46:27 +0100 |
---|---|---|
committer | Camil Staps | 2016-11-06 22:51:40 +0100 |
commit | e80137e22d7815fb5190c93270be15d6f88593b9 (patch) | |
tree | 8e9e317092109b33eac3ba76d60bd3783ca1580b | |
parent | log (diff) |
log
-rw-r--r-- | log.md | 31 |
1 files changed, 31 insertions, 0 deletions
@@ -293,3 +293,34 @@ the garbage collector (among other places?). This was previously fetched with `[r6,#-4]` for example, and should now be fetched with `[r6,#-5]` to accommodate for this. This is done in cg:gc-flipped `56d30f5` and rts:gc-flipped `9f522d3`. + +### 2016-11-06 + +Talked to John some weeks ago about the idea to flip the meaning of bit 1 in +the copying collector; this is possible, but not all cases where bit 1 +should/need to be modified. Hence, the commits on gc-flipped were partially +incorrect. They have (hopefully) been fixed in rts:gc-flipped `b36ae1f`. In +general, cases where is dealt with records do not need to be modified. Also, we +do not need to use things like `INT+3` but can simply use `INT+2` (like +before), because these nodes are in hnf, and bit 1 only has a meaning for those +nodes that are not in hnf. + +After these changes, all three programs above work fine with `-gcc -h 1k`: + +```clean +Start = fromto 1 100 +Start = take 200 [x \\ x <- fromto 1 100000 | isEven x] +Start = append (fromto 1 15) (fromto 30 40) +``` + +There is a **problem** with higher-order functions though. The following +program segfaults. The problem may be somewhere in `_system.abc` +(`e_system_nAP` or around), or may be related to there. + +```clean +Start = map toReal (fromto 1 100) +``` + +### 2016-11-07 + +**Flashtalk**. |