Changeset 9524 in project


Ignore:
Timestamp:
03/12/08 23:07:57 (12 years ago)
Author:
felix winkelmann
Message:
  • extras: moved local defmacros out, as it suggested local macros were supported
  • manual: srfi-7 was implicitly listed as supported
  • removed runtime.c from bootstrapping tarball, added both posix files
Location:
chicken/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • chicken/trunk/extras.scm

    r9321 r9524  
    17671767;; Equal Hash:
    17681768
    1769 ;XXX Be nice if these were paramters
     1769;XXX Be nice if these were parameters
    17701770(define-constant recursive-hash-max-depth 4)
    17711771(define-constant recursive-hash-max-length 4)
    17721772
     1773(define-macro ($*list-hash ?obj)
     1774  `(fx+ (length ,?obj)
     1775        (recursive-atomic-hash (##sys#slot ,?obj 0) depth)) )
     1776
     1777(define-macro ($*pair-hash ?obj)
     1778  `(fx+ (fxshl (recursive-atomic-hash (##sys#slot ,?obj 0) depth) 16)
     1779        (recursive-atomic-hash (##sys#slot ,?obj 1) depth)) )
     1780
     1781(define-macro ($*port-hash ?obj)
     1782  `(fx+ (fxshl (##sys#peek-fixnum ,?obj 0) 4) ; Little extra "identity"
     1783        (if (input-port? ,?obj)
     1784            input-port-hash-value
     1785            output-port-hash-value)) )
     1786
     1787(define-macro ($*special-vector-hash ?obj)
     1788  `(vector-hash ,?obj (##sys#peek-fixnum ,?obj 0) depth 1) )
     1789
     1790(define-macro ($*regular-vector-hash ?obj)
     1791  `(vector-hash ,?obj 0 depth 0) )
     1792
    17731793(define (%equal?-hash obj)
    1774 
    1775   (define-macro ($*list-hash ?obj)
    1776     `(fx+ (length ,?obj)
    1777           (recursive-atomic-hash (##sys#slot ,?obj 0) depth)) )
    1778 
    1779   (define-macro ($*pair-hash ?obj)
    1780     `(fx+ (fxshl (recursive-atomic-hash (##sys#slot ,?obj 0) depth) 16)
    1781           (recursive-atomic-hash (##sys#slot ,?obj 1) depth)) )
    1782 
    1783   (define-macro ($*port-hash ?obj)
    1784     `(fx+ (fxshl (##sys#peek-fixnum ,?obj 0) 4) ; Little extra "identity"
    1785           (if (input-port? ,?obj)
    1786               input-port-hash-value
    1787               output-port-hash-value)) )
    1788 
    1789   (define-macro ($*special-vector-hash ?obj)
    1790     `(vector-hash ,?obj (##sys#peek-fixnum ,?obj 0) depth 1) )
    1791 
    1792   (define-macro ($*regular-vector-hash ?obj)
    1793     `(vector-hash ,?obj 0 depth 0) )
    17941794
    17951795  ; Recurse into some portion of the vector's slots
  • chicken/trunk/manual/Overview

    r9339 r9524  
    2323Some of the features supported by CHICKEN:
    2424
    25 * SRFIs 0, 1, 2, 4, 6-19, 23, 25-31, 37-40, 42, 43, 45, 47, 55, 57, 60-63, 66, 69, 72, 78, 85 and 95.
     25* SRFIs 0, 1, 2, 4, 6, 8-19, 23, 25-31, 37-40, 42, 43, 45, 47, 55, 57, 60-63, 66, 69, 72, 78, 85 and 95.
    2626* Lightweight threads based on first-class continuations
    2727* Pattern matching with Andrew Wright's {{match}} package
  • chicken/trunk/rules.make

    r9317 r9524  
    10391039        touch *.scm
    10401040
    1041 bootstrap.tar.gz:
    1042         tar cfz bootstrap.tar.gz $(LIBCHICKEN_OBJECTS_1:=.c) $(COMPILER_OBJECTS_1:=.c)
     1041bootstrap.tar.gz: posixunix.c posixwin.c
     1042        tar cfz bootstrap.tar.gz library.c eval.c extras.c lolevel.c utils.c tcp.c \
     1043          srfi-1.c srfi-4.c srfi-13.c srfi-14.c srfi-18.c posixunix.c posixwin.c regex.c \
     1044          scheduler.c profiler.c stub.c match.c $(COMPILER_OBJECTS_1:=.c)
Note: See TracChangeset for help on using the changeset viewer.