Changeset 35592 in project
- Timestamp:
- 06/12/18 13:30:09 (3 years ago)
- Location:
- wiki/eggref/5
- Files:
-
- 4 copied
Legend:
- Unmodified
- Added
- Removed
-
wiki/eggref/5/coops
r35591 r35592 510 510 === Version History 511 511 512 ; 1.7 : fixed missing compile-time load of srfi-1 (thanks to Moritz Heidkamp) 513 ; 1.6 : fixed call to {{test-exit}} in test script 514 ; 1.5 : added call to {{test-exit}} in test script 515 ; 1.4 : made {{<list>}} an abstract type, since the type-predicates for primitive classes were not disjoint (thanks to Sandro) 516 ; 1.3 : syntax needed to import srfi-1 (thanks to Moritz Heidkamp) 517 ; 1.2 : modified to use {{include}} to handle changes in {{module}} syntax (sjamaan) 518 ; 1.1 : made {{<pair>}} and {{<null>}} subclasses of {{<list>}} 519 ; 1.0 : proper initform-handling for all classes 520 ; 0.9 : metaclass-related bugfixes (thanks to Peter Lane) 521 ; 0.8 : fixed bug related to initforms and inheritance 522 ; 0.7 : added type-check in internal slot-lookup procedure (thanks to Kon Lovett) 523 ; 0.6 : removed declaration which is broken on older CHICKENs (4.5.1) 524 ; 0.5 : added type-check in {{make}} (thanks to Peter Lane) 525 ; 0.4 : added {{<integer>}} class to {{coops-primitive-objects}} 526 ; 0.3 : added license to .meta file 527 ; 0.2 : performance tweaks, fix for 4.5.2 dependency (thanks to Mario) 528 ; 0.1 : initial release 512 ; 1.0 : Initial release for CHICKEN 5, based on version 1.7 from CHICKEN 4 -
wiki/eggref/5/matchable
r35591 r35592 272 272 === History 273 273 274 ; 2.7 : removed {{match-define}} from documentation which is not provided by this egg (thanks to Juergen Lorenz for pointing this out) 275 ; 2.6 : better implementation of some internal forms for E/R macros 276 ; 2.5 : removed {{-host}} option from setup script 277 ; 2.4 : fixing bug where (a ...) matched non-lists 278 ; 2.3 : allowing `...' with any backend, removing redundant check in vector patterns 279 ; 2.2 : uses srfi-46, if available (as it is in alexpander) 280 ; 2.1 : fixing quasiquote patterns 281 ; 2.0 : allowing ellipse patterns in other than the final position of a list 282 ; 1.41 : added syntax-error macro & specialized for Chicken [Kon Lovett] 283 ; 1.3 : updated to change in [[/eggref/3/syntactic-closures|syntactic-closures]] 0.91 284 ; 1.2 : bugfix, now all tests pass with [[/eggref/3/syntactic-closures|syntactic-closures]] 285 ; 1.1 : works now with [[/eggref/3/syntactic-closures|syntactic-closures]] 286 ; 1.0 : initial release 274 ; 1.0 : initial release for CHICKEN 5, based on version 2.7 from CHICKEN 4 -
wiki/eggref/5/miscmacros
r35591 r35592 53 53 Executes {{BODY ...}} repeatedly, with the result of {{TEST}} bound to 54 54 the variable {{it}}, until the expression {{TEST}} returns {{#f}}. 55 56 <macro>(select EXP ((KEY ...) EXP1 ...) ... [(else EXPn ...)])</macro> 57 58 This is similar to {{case}}, but the keys are evaluated. 55 59 56 60 <macro>(if* X Y [Z])</macro> … … 176 180 Similar to {{case}}, but signals an error if no clause matches. 177 181 182 <macro>(ensure PREDICATE EXP [ARGUMENTS ...])</macro> 183 184 Evaluates the expression {{EXP}} and applies the one-argument 185 procedure {{PREDICATE}} to the result. If the predicate returns 186 {{#f}} an error is signaled, otherwise the result of {{EXP}} 187 is returned. If compiled in ''unsafe'' mode (either by specifying 188 the {{-unsafe}} compiler option or by declaring {{(unsafe)}}), 189 then this expression expands to an unspecified value. If specified, 190 the optional {{ARGUMENTS}} are used as arguments to the invocation 191 of the error-signalling code, as in {{(error ARGUMENTS ...)}}. If 192 no {{ARGUMENTS}} are given, a generic error message is displayed 193 with the offending value and {{PREDICATE}} expression. 194 195 <macro>(eval-when (SITUATION ...) EXP ...)</macro> 196 197 Controls evaluation/compilation of subforms. {{SITUATION}} should 198 be one of the symbols {{eval}}, {{compile}} or {{load}}. 199 When encountered in the evaluator, and the situation specifier 200 {{eval}} is not given, then this form is not evaluated and an 201 unspecified value is returned. When encountered while compiling code, 202 and the situation specifier {{compile}} is given, then this form is 203 evaluated at compile-time. When encountered while compiling code, and the 204 situation specifier {{load}} is not given, then this form is ignored 205 and an expression resulting into an unspecified value is compiled instead. 206 207 The following table should make this clearer: 208 209 <table> 210 <tr><th></th><th>In compiled code</th><th>In interpreted code</th></tr> 211 <tr><td>{{eval}}</td><td>ignore</td><td>evaluate</td></tr> 212 <tr><td>{{compile}}</td><td>evaluate at compile time</td><td>ignore</td></tr> 213 <tr><td>{{load}}</td><td>compile as normal</td><td>ignore</td></tr> 214 </table> 178 215 179 216 === Changelog 180 217 181 * 2.95 Removed {{doto}} 182 * 2.91 Added {{doto}} (contributed by Martin DeMello) 183 * 2.9 {{inc!}} and {{dec!}} return the new value 184 * 2.8 added {{define-syntax-rule}} 185 * 2.7 added {{import-only}} extension property and allowed optional increment/decrement for {{inc!}} and {{dec!}} 186 * 2.6 removed {{-host}} option from setup script 187 * 2.5 Add counter set capability to {{define-enum}} [zbigniew] 188 * 2.4 Added {{modify!}} and {{exchange!}} [felix] 189 * 2.3 Added {{dotimes}} [by Kon Lovett] 190 * 2.2 Fixed bug in {{pop!}} 191 * 2.1 Added {{modify-location}} and made location-modification macros general for {{set!}}table locations 192 * 2.0 Added some simple looping constructs [by Kon Lovett] 193 * 1.9 Added {{while*}} [by Kon Lovett] 194 * 1.8 Fixed bug in {{if*}} [Thanks to Houman Zolfaghari] 195 * 1.7 Added {{ignore-values}} and {{define-parameter}} 196 * 1.6 Fixed bug in {{if*}} [Thanks to Michele Simionato] 197 * 1.5 removed {{shift!}} and {{rotate!}} 198 * 1.4 {{ignore-errors}} returns {{#f}} on exception 199 * 1.3 Added missing documentation for {{define-optionals}} 200 * 1.2 Added {{define-enum}} [by Alex Shinn] 201 * 1.1 Added {{inc!}} and {{dec!}} 202 * 1.0 Initial release 218 * 1.0 Initial release for CHICKEN 5, based on version 2.95 of CHICKEN 4, added {{ensure}}, {{select}} and {{eval-when}} 203 219 204 220 === License 205 221 206 Copyright (c) 2006-201 2, The CHICKEN Team222 Copyright (c) 2006-2018, The CHICKEN Team 207 223 Copyright (c) 2004-2005, Felix L. Winkelmann 208 224 All rights reserved. -
wiki/eggref/5/record-variants
r35591 r35592 136 136 === Version history 137 137 138 * 1.0: ported to CHICKEN 5 138 139 * 0.5 (2009-03-22): Inital release 139 140
Note: See TracChangeset
for help on using the changeset viewer.