Changeset 4836 in project


Ignore:
Timestamp:
07/02/07 08:08:24 (13 years ago)
Author:
felix winkelmann
Message:

numbers update, various fixes

Files:
12 edited

Legend:

Unmodified
Added
Removed
  • ftl/ftl.meta

    r4738 r4836  
    66 (category misc)
    77 (hidden)
    8  (license "SRFI")
     8 (license "LGPL")
    99 (doc-from-wiki)
    1010 (author "Sergei Egorov, partially reimplemented by felix winkelmann")
  • numbers/numbers-base.scm

    r4463 r4836  
    6060          add1 sub1 signum number->string string->number
    6161          bitwise-and bitwise-ior bitwise-xor bitwise-not arithmetic-shift
     62          numbers:bitwise-and numbers:bitwise-ior numbers:bitwise-xor
     63          numbers:bitwise-not
    6264          eqv? equal?
    6365          exp log sin cos tan atan acos asin expt sqrt conj
     
    11951197    (else (bad-integer loc n)) ) )
    11961198
    1197 (define (bitwise-and . xs)
     1199(define (numbers:bitwise-and . xs)
    11981200  (let loop ((x -1) (xs xs))
    11991201    (if (null? xs)
     
    12041206           (##sys#slot xs 1) ) ) ) ) )
    12051207
    1206 (define (bitwise-ior . xs)
     1208(define (numbers:bitwise-ior . xs)
    12071209  (let loop ((x 0) (xs xs))
    12081210    (if (null? xs)
     
    12131215           (##sys#slot xs 1) ) ) ) ) )
    12141216
    1215 (define (bitwise-xor . xs)
     1217(define (numbers:bitwise-xor . xs)
    12161218  (let loop ((x 0) (xs xs))
    12171219    (if (null? xs)
     
    12221224           (##sys#slot xs 1) ) ) ) ) )
    12231225
    1224 (define (bitwise-not n)
     1226(define (numbers:bitwise-not n)
    12251227  (%int-not (%->integer 'bitwise-not n)) )
     1228
     1229(define bitwise-and numbers:bitwise-and)
     1230(define bitwise-ior numbers:bitwise-ior)
     1231(define bitwise-xor numbers:bitwise-xor)
     1232(define bitwise-not numbers:bitwise-not)
    12261233
    12271234(define (arithmetic-shift n m)
  • numbers/numbers-compiler-macros.scm

    r4463 r4836  
    22
    33
    4 (define-compiler-macro (+ . args)
     4(define-for-syntax (numbers:fold-operator args fixop numop zero)
    55  (reduce-right
    66   (lambda (x y)
     
    1010       `(let ((,tx ,x)
    1111              (,ty ,y) )
    12           (let ((,tmp (##core#inline "C_i_o_fixnum_plus" ,tx ,ty)))
     12          (let ((,tmp (,@fixop ,tx ,ty)))
    1313            (if ,tmp
    1414                ,tmp
    15                 (numbers:+ ,tx ,ty) ) ) ) ) )
    16    0
     15                (,numop ,tx ,ty) ) ) ) ) )
     16   zero
    1717   args) )
     18
     19(define-compiler-macro (+ . args)
     20  (numbers:fold-operator args '(##core#inline "C_i_o_fixnum_plus") numbers:+ 0) )
     21
     22(define-compiler-macro (bitwise-and . args)
     23  (numbers:fold-operator
     24   args '(##core#inline "C_fixnum_and") 'numbers:bitwise-and
     25   -1) )
     26
     27(define-compiler-macro (bitwise-ior . args)
     28  (numbers:fold-operator
     29   args '(##core#inline "C_fixnum_or") 'numbers:bitwise-ior
     30   0) )
     31
     32(define-compiler-macro (bitwise-xor . args)
     33  (numbers:fold-operator
     34   args '(##core#inline "C_fixnum_xor") 'numbers:bitwise-xor
     35   0) )
     36
     37(define-compiler-macro (bitwise-not n)
     38  (let ((tmp (gensym)))
     39    `(let ((,tmp ,n))
     40       (if (##core#inline "C_fixnump" ,tmp)
     41           (##core#inline "C_fixnum_not" ,tmp)
     42           (numbers:bitwise-not ,tmp) ) ) ) )
    1843
    1944(define-compiler-macro (- #:whole form . args)
  • numbers/numbers.html

    r4588 r4836  
    4848<h3>Version:</h3>
    4949<ul>
     50<li>1.7
     51Added compiler macros for <tt>bitwise-...</tt> operations
    5052<li>1.6
    5153Compiler macros now work without <tt>-X numbers</tt>
  • numbers/numbers.setup

    r4588 r4836  
    1111  '((syntax)
    1212    (documentation "numbers.html")
    13     (version "1.6")
     13    (version "1.7")
    1414    (require-at-runtime numbers-base)) )
  • rex/chicken.scm

    r4547 r4836  
    8282  (let loop ((name name))
    8383    (if (alias? name)
    84         (if (name=? environment name environment (alias/name name))
     84        (if (name=? environment name
     85                    exrename:top-level-environment (alias/name name))
    8586            (loop (alias/name name))
    8687            (name->symbol name))
     
    433434  history                               ;ignore
    434435  `(BEGIN ,@(chicken/compile-expressions expressions)))
    435 
    436 ;;; Install the new expander.
    437 
    438 (exrename:install)
  • rex/rex.setup

    r4547 r4836  
    44
    55(install-extension 'rex '("rex.so")
    6   '((version 0.1)
     6  '((version 0.2)
    77    (documentation "rex.html")
    88    (syntax)
  • srfi-37/srfi-37.html

    r2964 r4836  
    2424<h3>History:</h3>
    2525<ul>
     26<li>1.2 - Changed license to the one acually used by the reference implementation [Thanks to Ivan Shmakov for pointing this out]
    2627<li>1.1 - support for static linking
    2728<li>1.0 - Initial release
     
    7677Copyright (C) Anthony Carrico (2002). All Rights Reserved.
    7778
    78 <p>This document and translations of it may be copied and furnished to
    79 others, and derivative works that comment on or otherwise explain it or
    80 assist in its implementation may be prepared, copied, published and
    81 distributed, in whole or in part, without restriction of any kind,
    82 provided that the above copyright notice and this paragraph are included
    83 on all such copies and derivative works. However, this document itself
    84 may not be modified in any way, such as by removing the copyright notice
    85 or references to the Scheme Request For Implementation process or
    86 editors, except as needed for the purpose of developing SRFIs in which
    87 case the procedures for copyrights defined in the SRFI process must be
    88 followed, or as required to translate it into languages other than
    89 English.
     79All rights reserved.
    9080
    91 <p>The limited permissions granted above are perpetual and will not be
    92 revoked by the authors or their successors or assigns.
     81Redistribution and use in source and binary forms, with or without
     82modification, are permitted provided that the following conditions
     83are met:
    9384
    94 <p>This document and the information contained herein is provided on an ``AS
    95 IS'' basis and THE AUTHOR AND THE SRFI EDITORS DISCLAIM ALL WARRANTIES,
    96 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE
    97 USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY
    98 IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR
    99 PURPOSE.
     851. Redistributions of source code must retain the above copyright
     86   notice, this list of conditions and the following disclaimer.
     872. Redistributions in binary form must reproduce the above copyright
     88   notice, this list of conditions and the following disclaimer in the
     89   documentation and/or other materials provided with the distribution.
     903. The name of the authors may not be used to endorse or promote products
     91   derived from this software without specific prior written permission.
     92
     93THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
     94IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     95OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     96IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
     97INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     98NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     99DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     100THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     101(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     102THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    100103</pre>
    101 
    102104
    103105<hr><a href="index.html">back</a>
  • srfi-37/srfi-37.meta

    r1270 r4836  
    55 (synopsis "A simple and flexible command-line option parsing facility")
    66 (author "Anthony Carrico")
    7  (license "SRFI"))
     7 (license "BSD"))
  • wiki/Acknowledgements

    r3186 r4836  
    2626Oversby, o.t., Gene Pavlovsky, Levi Pearson, Nicolas Pelletier, Carlos
    2727Pita, Robin Lee Powell, Pupeno, Davide Puricelli, Doug Quale, Eric
    28 Raible, Joel Reymont, Andreas Rottman, David Rush, Lars Rustemeier,
    29 Daniel Sadilek, Oskar Schirmer, Burton Samograd, Reed Sheridan, Ronald
    30 Schröder, Spencer Schumann, Alex Shinn, Shmul, Tony Sidaway, Jeffrey
    31 B. Siegal, Andrey Sidorenko, Michele Simionato, Volker Stolz, Dorai
    32 Sitaram, Robert Skeels, Jason Songhurst, Clifford Stein, Sunnan,
    33 Zbigniew Szadkowski, Mike Thomas, Minh Thu, Christian Tismer, Andre
    34 van Tonder, John Tobey, Henrik Tramberend, Vladimir Tsichevsky, Neil
    35 van Dyke, Sander Vesik, Panagiotis Vossos, Shawn Wagner, Peter Wang,
    36 Ed Watkeys, Thomas Weidner, Goeran Weinholt, Matthew Welland, Joerg
    37 Wittenberger, Peter Wright, Mark Wutka, Richard Zidlicky and Houman
    38 Zolfaghari for bug-fixes, tips and suggestions.
     28Raible, Ivan Raikov, Joel Reymont, Andreas Rottman, David Rush, Lars
     29Rustemeier, Daniel Sadilek, Oskar Schirmer, Burton Samograd, Reed
     30Sheridan, Ronald Schröder, Spencer Schumann, Alex Shinn, Ivan Shmakov,
     31Shmul, Tony Sidaway, Jeffrey B. Siegal, Andrey Sidorenko, Michele
     32Simionato, Volker Stolz, Dorai Sitaram, Robert Skeels, Jason
     33Songhurst, Clifford Stein, Sunnan, Zbigniew Szadkowski, Mike Thomas,
     34Minh Thu, Christian Tismer, Andre van Tonder, John Tobey, Henrik
     35Tramberend, Vladimir Tsichevsky, Neil van Dyke, Sander Vesik,
     36Panagiotis Vossos, Shawn Wagner, Peter Wang, Ed Watkeys, Thomas
     37Weidner, Goeran Weinholt, Matthew Welland, Joerg Wittenberger, Peter
     38Wright, Mark Wutka, Richard Zidlicky and Houman Zolfaghari for
     39bug-fixes, tips and suggestions.
    3940
    4041CHICKEN uses the PCRE regular expression package ([[http://www.pcre.org]]),
  • wiki/ftl

    r4742 r4836  
    44== Introduction
    55
    6 The purpose of this extenson is to propose a comprehensive and
     6The purpose of this extension is to propose a comprehensive and
    77easy-to-remember set of high-order procedures to be used as building
    88blocks for a variety of ad-hoc sequence libraries. It is designed
     
    148148single two-argument procedure implementing an equivalence relation;
    149149that is, it must be symmetric, reflexive, and transitive. In addition,
    150 calls to the the procedure are expected to be referentially
     150calls to the procedure are expected to be referentially
    151151transparent (i.e. return the same result given the same arguments) and
    152152have no side effects. The rationale for this requirement is to allow
     
    426426a generator. The initial output object is created by calling Output's
    427427constructor procedure with no arguments or an appropriate
    428 "destination" argument (copied verbatim from the invokation of a
     428"destination" argument (copied verbatim from the invocation of a
    429429sequence algorithm). As new elements appear, they are fed to the
    430430output's write procedure, patterned after {{cons}}. When all elements are
     
    433433
    434434Algorithms, using the Output interface, should not expect that
    435 applications of the the output's write procedure are referentially
     435applications of the output's write procedure are referentially
    436436transparent, so write should not be called more than once with the
    437437same output object; the out argument to write should come from the
     
    450450  (o-interface create write result) => o                                                                                           procedure
    451451
    452 Returns a new g interface defined by component procedures.
     452Returns a new o interface defined by component procedures.
    453453
    454454  ((%o-create o) [dst]) => out                                                                                                     procedure
     
    500500
    501501The accumulator is initialized by an optional third argument, {{dst}}, taken
    502 verbatim from the invokation of a sequence algorithm (usually, it is
     502verbatim from the invocation of a sequence algorithm (usually, it is
    503503also the last optional argument there). It continues by unfolding its
    504504second argument {{klist}} with the help of its first argument dekons, an
     
    660660
    661661  (li=%v v) => li                                                                                                                  procedure
    662   (li=reverse-%v mv) => li                                                                                                         procedure
     662  (li=reverse-%v v) => li                                                                                                         procedure
    663663
    664664These procedures return a new li interface based on functionality
     
    845845  ((%li-take-map->%a+tail li a) x->y src [dst]) => (values res tail)                                                               procedure
    846846
     847== References
     848
     849[1] Jeremy Gibbons, Graham Hutton and Thorsten Altenkirch (2001). When
     850is a function a fold or an unfold?. In Coalgebraic Methods in Computer
     851Science, April 2001 (Volume 44.1 of Electronic Notes in Theoretical
     852Computer Science).  Available online at
     853[[http://www.cs.nott.ac.uk/~txa/publ/cmcs01.pdf]]
     854
    847855== License
    848856
    849857Copyright (c) Sergei Egorov (2004). All Rights Reserved.
    850858
    851 Copyright (c) 2004 Neil W. Van Dyke.  This program is Free
    852 Software; you can redistribute it and/or modify it under the terms of the
    853 GNU Lesser General Public License as published by the Free Software
    854 Foundation; either version 2.1 of the License, or (at your option) any
    855 later version.  This program is distributed in the hope that it will be
    856 useful, but without any warranty; without even the implied warranty of
    857 merchantability or fitness for a particular purpose.  See the GNU Lesser
    858 General Public License [LGPL] for more details.
     859This program is Free Software; you can redistribute it and/or modify
     860it under the terms of the GNU Lesser General Public License as
     861published by the Free Software Foundation; either version 2.1 of the
     862License, or (at your option) any later version.  This program is
     863distributed in the hope that it will be useful, but without any
     864warranty; without even the implied warranty of merchantability or
     865fitness for a particular purpose.  See the GNU Lesser General Public
     866License [LGPL] for more details.
    859867
    860868== Author
  • wiki/the-chicken-lottery

    r4740 r4836  
    1515
    1616* "Certainty" (dict)
    17 * Arto Bendiken (contexts, date-syntax, uri-namespaces, uri-literals, regex-literals)
     17* Arto Bendiken (contexts, date-syntax, uri-namespaces, uri-literals, regex-literals, rdf-triples, php-s11n, metaweb, kvlists)
    1818* Mario Domenech Goulart (salmonella)
    1919* Will Farr (SO31, gsl-srfi-27)
     
    2323* Taylor Campbell (rex, foof-loop)
    2424* Ivan Shmakov (args-doc)
     25* Alaric Blagrave Snell-Pym (memcached)
    2526
    26 Current egg count: 312
     27Current egg count: 317
    2728
    2829(Previous winners and those who already have a T-shirt are not included in the list)
Note: See TracChangeset for help on using the changeset viewer.