Skip to content

Release 0.2

Choose a tag to compare

@scymtym scymtym released this 13 Jun 13:25
· 24 commits to master since this release
  • concrete-syntax-tree now uses the fiveam system for its unit tests.

  • concrete-syntax-tree:cst-from-expression can now handle arbitrary nesting depths and list lengths.

  • concrete-syntax-tree:reconstruct can now handle arbitrary nesting depths and list lengths.

  • concrete-syntax-tree:cst-from-expression now creates distinct CSTs for certain atoms that occur multiple times in the source expression, namely numbers, characters and symbols. For other atoms such as pathnames or instances of standard classes, eq occurrences in the source expression are represented by multiple occurrences of a single CST.

    For example, the source expression (1 1 :foo :foo #1=#P"foo" #1#) was represented before this change as a CST with the following properties

    (eq (cst:first result) (cst:second result))
    (eq (cst:third result) (cst:fourth result))
    (eq (cst:fifth result) (cst:sixth result))

    but is now represented as a CST with the following properties

    (not (eq (cst:first result) (cst:second result)))
    (not (eq (cst:third result) (cst:fourth result)))
    (eq (cst:fourth result) (cst:sixth result))
  • concrete-syntax-tree:cst-from-expression and concrete-syntax-tree:reconstruct are now slightly more efficient.