guile-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] GNU Guile branch, wip-peval-predicates, created. v2.0.5-


From: Andy Wingo
Subject: [Guile-commits] GNU Guile branch, wip-peval-predicates, created. v2.0.5-100-g59c5570
Date: Tue, 10 Apr 2012 22:57:08 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".

http://git.savannah.gnu.org/cgit/guile.git/commit/?id=59c557056cff1ce6146b4d689eeee922300b6278

The branch, wip-peval-predicates has been created
        at  59c557056cff1ce6146b4d689eeee922300b6278 (commit)

- Log -----------------------------------------------------------------
commit 59c557056cff1ce6146b4d689eeee922300b6278
Author: Andy Wingo <address@hidden>
Date:   Tue Apr 10 15:56:23 2012 -0700

    peval: elide redundant predicates; eliminate some common subexpressions
    
    * module/language/tree-il/peval.scm (fold-constants): Returns #f instead
      of the expression, as all continuations handle #f themselves.
      (negate, bailout?, extract-facts, infer, infer-defined?)
      (infer-struct-vtable): New helpers.
      (loop): New parameter, db.
      (visit): Adapt.
      (for-cond, visit/db): New helpers.
      Fold some degenerate <conditional> cases.  Attempt to infer some
      previously-seen primcalls.  Fold degenerate eq? cases.  Try to infer
      struct-vtable.  Track facts via the db parameter in conditions and
      sequential statements.

commit 0155ac2a3a8c7d28e4a588d49fa631fa94051baa
Author: Andy Wingo <address@hidden>
Date:   Tue Apr 10 15:47:21 2012 -0700

    add more primitives and predicates to (language tree-il primitives)
    
    * module/language/tree-il/primitives.scm
      (*interesting-primitive-names*): Add number? and char?.  Add more
      numeric predicates.  Add character comparators.  Add throw, error, and
      scm-error.
      (*primitive-accessors*): Remove struct-vtable.  Though the vtable's
      contents may change (through redefinition), its identity does not
      change.
      (*effect-free-primitives*): Put struct-vtable, number?, and char?
      here.
      (*multiply-valued-primitives*): Instead of listing singly-valued
      primitives, list multiply-valued primitives.
      (*bailout-primitives*): New list.
      (*negatable-primitives*): New alist.
      (*bailout-primitive-table*, *multiply-valued-primitive-table*)
      (*negatable-primitive-table*): New tables.
      (singly-valued-primitive?): Adapt to
      use *multiply-valued-primitive-table*.
      (bailout-primitive?, negate-primitive): New exported procedures.

-----------------------------------------------------------------------


hooks/post-receive
-- 
GNU Guile



reply via email to

[Prev in Thread] Current Thread [Next in Thread]