1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-22 03:30:22 +02:00
guile/module/language
Andy Wingo 95db570528 Add "transient" intmap interface
* module/language/cps/intmap.scm (make-atomic-reference):
  (get-atomic-reference, set-atomic-reference!): New helpers.
  (*branch-size-with-edit*, *edit-index*): Branches now have a trailing
  field, an atomic reference to their owner.
  (<transient-intmap>): New record type.  A mutable intmap.
  (new-branch): Set the "edit" field on the branch.
  (clone-branch-and-set): No editor for this field.
  (assert-readable!, writable-branch): New helpers.
  (transient-intmap, persistent-intmap): New exported functions.
  (intmap-add!): New function.
  (intmap-next, intmap-prev, intmap-ref): Work on transient intmaps.
  (intmap-fold): Persist the intmap before folding over it.
2015-04-08 17:17:59 +02:00
..
brainfuck Fix brainfuck comment 2013-12-02 19:03:50 +01:00
bytecode Rename "RTL" to "bytecode" 2013-12-02 21:31:47 +01:00
cps Add "transient" intmap interface 2015-04-08 17:17:59 +02:00
ecmascript The GOOPS "unbound" value is a unique pair 2015-01-23 16:16:03 +01:00
elisp Fix order of evaluation in elisp lexer 2013-11-01 18:23:51 +01:00
scheme Merge remote-tracking branch 'origin/stable-2.0' 2013-08-11 22:46:22 -04:00
tree-il Remove "free" field of $fun 2015-04-01 10:10:10 +02:00
value Add 'for-humans?' flag to <language> specifications. 2013-01-27 10:16:40 -05:00
bytecode.scm Rename "RTL" to "bytecode" 2013-12-02 21:31:47 +01:00
cps.scm Remove "free" field of $fun 2015-04-01 10:10:10 +02:00
tree-il.scm Less copying in tree-il pre-order / post-order. 2014-03-31 18:20:55 +02:00