Changeset 15604 in project


Ignore:
Timestamp:
08/28/09 17:17:00 (10 years ago)
Author:
Kon Lovett
Message:

Rel 3.0.0

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wiki/eggref/4/srfi-45

    r15586 r15604  
    4040<syntax>(delay EXPRESSION) => PROMISE</syntax>
    4141
    42 Returns an R5RS promise, a delayed evaluation of {{EXPRESSION}}.
    43 
    44 ==== d-lay
    45 
    46 <syntax>(delay-recursive EXPRESSION) => PROMISE</syntax>
    47 <syntax>(d-lay EXPRESSION) => PROMISE</syntax>
    48 
    49 Returns a {{(lazy (eager EXPRESSION))}} recursive promise.
    50 
    51 This routine exists so the R5RS {{delay}} is not redefined.
     42Returns a SRFI-45 promise, a delayed evaluation of {{EXPRESSION}}.
    5243
    5344
     
    8778
    8879<enscript language=scheme>
    89 (require-library srfi-45)
    90 ...
    91 (import srfi-45)
    92 </enscript>
    93 
    94 or
    95 
    96 <enscript language=scheme>
    97 (require-extension srfi-45)
     80(module foo (...)
     81  ; Allow access to the original API and stop those annoying
     82  ; redefined messages.
     83  (import (rename scheme (force r5rs:force) (delay r5rs:delay))
     84          (rename chicken (promise? r5rs:promise?))
     85          ...)
     86  (use srfi-45)
     87  ... code that can use R5RS and SRFI 45 promises ...
     88)
    9889</enscript>
    9990
     
    10394
    10495== Notes
    105 
    106 * Unlike the reference implementation this version does not redefine {{delay}}.
    10796
    10897
     
    122111== Version history
    123112
     113; 3.0.0 : Redefines {{delay}}. Removed {{d-lay}} and {{recursive-delay}}.
    124114; 2.2.0 : Bug fix for ''lazy'' R5RS promise in {{force}}. [Reported by Derrell Piper]
    125115; 2.1.0 : Bug fix for ''too eager'' {{force}}. Removed "box" extension dependency.
Note: See TracChangeset for help on using the changeset viewer.