guile-commits
[Top][All Lists]
Advanced

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

[Guile-commits] GNU Guile branch, master, updated. release_1-9-13-17-g01


From: Ludovic Courtès
Subject: [Guile-commits] GNU Guile branch, master, updated. release_1-9-13-17-g01a4f0a
Date: Wed, 27 Oct 2010 22:15:35 +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=01a4f0aae516444baf6855b5f1ab1689311314ba

The branch, master has been updated
       via  01a4f0aae516444baf6855b5f1ab1689311314ba (commit)
       via  5efcd34d712497744c40dbce6aadfa73144dab4a (commit)
       via  dcb9aceb48a9c3181d6006e175e2e8728354c5aa (commit)
       via  9cec275968d10144d77a8f0a449bb6725421628d (commit)
      from  0b9bdb1b57340abbf4f091356da3a1af8d194197 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 01a4f0aae516444baf6855b5f1ab1689311314ba
Author: Ludovic Courtès <address@hidden>
Date:   Thu Oct 28 00:03:54 2010 +0200

    Fix typo in the (system base lalr) documentation.
    
    * doc/ref/api-lalr.texi (LALR(1) Parsing): "The tokenizer should be a
      unary procedure" -> "thunk".  Patch by Noah Lavine
      <address@hidden>.

commit 5efcd34d712497744c40dbce6aadfa73144dab4a
Author: Andreas Rottmann <address@hidden>
Date:   Wed Oct 27 23:33:40 2010 +0200

    Extend the #:replace list of the SRFI 69 module
    
    * module/srfi/srfi-69.scm: Add `make-hash-table' and `hash-table?' to
      the #:replace list of the module definition.

commit dcb9aceb48a9c3181d6006e175e2e8728354c5aa
Author: Ludovic Courtès <address@hidden>
Date:   Wed Oct 27 23:31:49 2010 +0200

    Have "frisk" recognize `#:use-module' and `#:autoload'.
    
    * module/scripts/frisk.scm (grok-proc): Support keywords `#:use-module'
      and `#:autoload'.

commit 9cec275968d10144d77a8f0a449bb6725421628d
Author: Ludovic Courtès <address@hidden>
Date:   Wed Oct 27 23:28:58 2010 +0200

    Augment `arithmetic.bm'.
    
    * benchmark-suite/benchmarks/arithmetic.bm (repeat): Change the syntax.
      Add support for binary OP.
      ("fixnum")["1+", "1-"]: Adjust accordingly.
      ["+", "-"]: New benchmarks.

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

Summary of changes:
 benchmark-suite/benchmarks/arithmetic.bm |   27 +++++++++++++++++++++------
 doc/ref/api-lalr.texi                    |   12 ++++++------
 module/scripts/frisk.scm                 |    6 +++---
 module/srfi/srfi-69.scm                  |    2 +-
 4 files changed, 31 insertions(+), 16 deletions(-)

diff --git a/benchmark-suite/benchmarks/arithmetic.bm 
b/benchmark-suite/benchmarks/arithmetic.bm
index cd8bbbd..62d67be 100644
--- a/benchmark-suite/benchmarks/arithmetic.bm
+++ b/benchmark-suite/benchmarks/arithmetic.bm
@@ -23,13 +23,22 @@
 
 (define-syntax repeat
   (lambda (s)
-    ;; Construct an expression of the form `(OP (OP (OP BODY)))', with a
+    ;; Construct an expression of the form `(OP (OP (OP SEED)))', with a
     ;; depth of COUNT.
-    (syntax-case s ()
-      ((_ op body count)
+    (syntax-case s (<>)
+      ((_ (op x <>) seed count) ;; binary OP
        (number? (syntax->datum #'count))
        (let loop ((count  (syntax->datum #'count))
-                  (result #'body))
+                  (result #'seed))
+         (if (= 0 count)
+             result
+             (loop (1- count)
+                   (with-syntax ((result result))
+                     #'(op x result))))))
+      ((_ (op <>) seed count)  ;; unary OP
+       (number? (syntax->datum #'count))
+       (let loop ((count  (syntax->datum #'count))
+                  (result #'seed))
          (if (= 0 count)
              result
              (loop (1- count)
@@ -40,7 +49,13 @@
 (with-benchmark-prefix "fixnum"
 
   (benchmark "1+" 1e7
-    (repeat 1+ 2 100))
+    (repeat (1+ <>) 2 100))
 
   (benchmark "1-" 1e7
-    (repeat 1- 2 100)))
+    (repeat (1- <>) 2 100))
+
+  (benchmark "+" 1e7
+    (repeat (+ 2 <>) 7 100))
+
+  (benchmark "-" 1e7
+    (repeat (+ 2 <>) 7 100)))
diff --git a/doc/ref/api-lalr.texi b/doc/ref/api-lalr.texi
index e19614c..95b0a85 100644
--- a/doc/ref/api-lalr.texi
+++ b/doc/ref/api-lalr.texi
@@ -25,12 +25,12 @@ Each rule has the form @code{(@var{non-terminal} (@var{rhs} 
...) : @var{action}
 right-hand sides, i.e., the production rule, and @var{action} is a semantic
 action associated with the rule.
 
-The generated parser is a two-argument procedure that takes a @dfn{tokenizer}
-and a @dfn{syntax error procedure}.  The tokenizer should be a unary procedure
-taking a port and returning a lexical token as produced by
address@hidden  The syntax error procedure may be called with at
-least an error message (a string), and optionally the lexical token that caused
-the error.
+The generated parser is a two-argument procedure that takes a
address@hidden and a @dfn{syntax error procedure}.  The tokenizer
+should be a thunk that returns lexical tokens as produced by
address@hidden  The syntax error procedure may be called
+with at least an error message (a string), and optionally the lexical
+token that caused the error.
 @end deffn
 
 Please refer to the @code{lalr-scm} documentation for details.
diff --git a/module/scripts/frisk.scm b/module/scripts/frisk.scm
index 0cf50d6..c452ede 100644
--- a/module/scripts/frisk.scm
+++ b/module/scripts/frisk.scm
@@ -1,6 +1,6 @@
 ;;; frisk --- Grok the module interfaces of a body of files
 
-;;     Copyright (C) 2002, 2006 Free Software Foundation, Inc.
+;;     Copyright (C) 2002, 2006, 2010 Free Software Foundation, Inc.
 ;;
 ;; This program is free software; you can redistribute it and/or
 ;; modify it under the terms of the GNU Lesser General Public License
@@ -126,10 +126,10 @@
                          (let loop ((ls form))
                            (or (null? ls)
                                (case (car ls)
-                                 ((:use-module)
+                                 ((#:use-module :use-module)
                                   (note-use! 'regular module (ferret (cadr 
ls)))
                                   (loop (cddr ls)))
-                                 ((:autoload)
+                                 ((#:autoload :autoload)
                                   (note-use! 'autoload module (cadr ls))
                                   (loop (cdddr ls)))
                                  (else (loop (cdr ls))))))))
diff --git a/module/srfi/srfi-69.scm b/module/srfi/srfi-69.scm
index 0d835d0..df07f75 100644
--- a/module/srfi/srfi-69.scm
+++ b/module/srfi/srfi-69.scm
@@ -86,7 +86,7 @@
            ;; Hashing
            string-ci-hash hash-by-identity)
   #:re-export (string-hash)
-  #:replace (hash))
+  #:replace (hash make-hash-table hash-table?))
 
 (cond-expand-provide (current-module) '(srfi-37))
 


hooks/post-receive
-- 
GNU Guile



reply via email to

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