Changeset 15295 in project
- Timestamp:
- 08/01/09 00:57:52 (12 years ago)
- Location:
- wiki
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
wiki/eggref/4/operations
r14681 r15295 288 288 == Version History 289 289 290 ; 0.5 : fix in {{define-operation}} 290 291 ; 0.1 : Initial release -
wiki/man/4/Accessing external objects
r14097 r15295 21 21 === foreign-value 22 22 23 [syntax] (foreign-value STRINGTYPE)23 [syntax] (foreign-value CODE TYPE) 24 24 25 Evaluates the embedded C/C++ expression {{ STRING}}, returning a value of type given25 Evaluates the embedded C/C++ expression {{CODE}} (which may be a string or symbol), returning a value of type given 26 26 in the foreign-type specifier {{TYPE}}. 27 27 -
wiki/man/4/Acknowledgements
r15058 r15295 15 15 Egesund, Steve Elkins, Daniel B. Faken, Will Farr, Graham Fawcett, 16 16 Marc Feeley, Fizzie, Matthew Flatt, Kimura Fuyuki, Tony Garnock-Jones, 17 Martin Gasbichler, Joey Gibson, Stephen C. Gilardi, Joshua Griffith,18 Johannes Groedem, Damian Gryski, Mario Domenech Goulart, Andreas 19 G ustafsson, Sven Hartrumpf, Jun-ichiro itojun Hagino, Ahdi Hargo,20 Matthias Heiler, Karl M. Hegbloom, William P. Heinemann, Bill Hoffman,21 B ruce Hoult, Hans Huebner, Markus Huelsmann, Goetz Isenmann, Paulo22 Jabardo, Wietse Jacobs, David Janssens, Christian Jaeger, Matt Jones, 23 Dale Jordan, Valentin Kamyshenko, Daishi Kato, Peter Keller, Brad 24 Kind, Ron Kneusel, Matthias Koeppe, Krysztof Kowałczyk, Andre 25 K uehne, Todd R. Kueny Sr, Goran Krampe, David Krentzlin, Ben Kurtz,26 Micky Latowicki, John Lenz, Kirill Lisovsky, Juergen Lorenz, Kon 27 Lovett, Lam Luu, Leonardo Valeri Manera, Dennis Marti, Charles Martin, 28 Bob McIsaac, Alain Mellan, Eric Merrit, Perry Metzger, Scott 29 G. Miller, Mikael, Bruce Mitchener, Chris Moline, Eric E. Moore, 30 Julian Morrison, Dan Muresan, Lars Nilsson, Ian Oversby, o.t., Gene 31 Pavlovsky, Levi Pearson, Nicolas Pelletier, Carlos Pita, Robin Lee 32 Powell, Pupeno, Davide Puricelli, presto, Doug Quale, Eric Raible, 33 Ivan Raikov, Joel Reymont, Eric Rochester, Andreas Rottman, David 34 Rush, Lars Rustemeier, Daniel Sadilek, Oskar Schirmer, Burton17 Martin Gasbichler, Abdulaziz Ghuloum, Joey Gibson, Stephen C. Gilardi, 18 Mario Domenech Goulart, Joshua Griffith, Johannes Groedem, Damian 19 Gryski, Andreas Gustafsson, Sven Hartrumpf, Jun-ichiro itojun Hagino, 20 Ahdi Hargo, Matthias Heiler, Karl M. Hegbloom, William P. Heinemann, 21 Bill Hoffman, Bruce Hoult, Hans Huebner, Markus Huelsmann, Goetz 22 Isenmann, Paulo Jabardo, Wietse Jacobs, David Janssens, Christian 23 Jaeger, Matt Jones, Dale Jordan, Valentin Kamyshenko, Daishi Kato, 24 Peter Keller, Brad Kind, Ron Kneusel, Matthias Koeppe, Krysztof 25 Kowałczyk, Andre Kuehne, Todd R. Kueny Sr, Goran Krampe, David 26 Krentzlin, Ben Kurtz, Micky Latowicki, John Lenz, Kirill Lisovsky, 27 Juergen Lorenz, Kon Lovett, Lam Luu, Leonardo Valeri Manera, Dennis 28 Marti, Charles Martin, Bob McIsaac, Alain Mellan, Eric Merrit, Perry 29 Metzger, Scott G. Miller, Mikael, Bruce Mitchener, Chris Moline, Eric 30 E. Moore, Julian Morrison, Dan Muresan, Lars Nilsson, Ian Oversby, 31 o.t., Gene Pavlovsky, Levi Pearson, Nicolas Pelletier, Carlos Pita, 32 Robin Lee Powell, Pupeno, Davide Puricelli, presto, Doug Quale, Eric 33 Raible, Ivan Raikov, Joel Reymont, Eric Rochester, Andreas Rottman, 34 David Rush, Lars Rustemeier, Daniel Sadilek, Oskar Schirmer, Burton 35 35 Samograd, Reed Sheridan, Ronald Schroeder, Spencer Schumann, Ivan 36 36 Shcheklein, Alex Shinn, Ivan Shmakov, Shmul, Tony Sidaway, Jeffrey … … 66 66 ; Olin Shivers : implementation of {{let-optionals[*]}} and reference implementations of SRFI-1, SRFI-13 and SRFI-14. 67 67 ; Andrew Wilcox : queues. 68 ; [[http://chicken.wiki.br/ AlexShinn|Alex Shinn]] : {{scheme-complete.el}} emacs tab-completion68 ; [[http://chicken.wiki.br/users/Alex-Shinn|Alex Shinn]] : {{scheme-complete.el}} emacs tab-completion 69 69 70 70 The documentation and examples for explicit renaming macros was taken from -
wiki/man/4/Declarations
r15058 r15295 252 252 253 253 254 === scrutinize 255 256 [declaration specifier] (scrutinize) 257 258 Enables scrutiny. This is equivalent to passing the {{-scrutinize}} option to the compiler. 259 260 254 261 === standard-bindings 255 262 … … 261 268 then all but the given standard bindings are assumed to be never 262 269 redefined. 270 271 272 === type 273 274 [declaration specifier] (type (SYMBOL TYPESPEC) ...) 275 276 Declares toplevel procedures to have a specific type for scrutiny. {{SYMBOL}} should name 277 a toplevel variable and {{TYPESPEC}} should be a type specification, following the syntax 278 given here: 279 280 TYPESPEC --> * 281 | ( VAL1 ... ) 282 283 VAL --> (or VAL1 ...) 284 | (struct NAME) 285 | (procedure (VAL1 ... [#!optional VALOPT1 ...] [#!rest [VAL]]) . RESULTS) 286 | BASIC 287 | deprecated 288 289 BASIC --> * 290 | string 291 | symbol 292 | char 293 | number 294 | boolean 295 | list 296 | pair 297 | procedure 298 | vector 299 | null 300 | eof 301 | port 302 | blob 303 | pointer 304 | locative 305 | fixnum 306 | float 307 308 RESULTS --> * 309 | (RVAL1 ...) 310 311 RVAL --> undefined 312 | noreturn 313 314 A type-declaration overrides any previous declaration for the same identifier. 263 315 264 316 -
wiki/man/4/Extensions
r14097 r15295 270 270 271 271 272 ==== setup-install- flag273 274 [parameter] (setup-install- flag[BOOL])272 ==== setup-install-mode 273 274 [parameter] (setup-install-mode [BOOL]) 275 275 276 276 Reflects the setting of the {{-no-install}} option, i.e. is {{#f}}, if {{-no-install}} was -
wiki/man/4/The User's Manual
r14164 r15295 7 7 </nowiki> 8 8 9 This is the manual for Chicken Scheme, version 4. 0.0.9 This is the manual for Chicken Scheme, version 4.1.0 10 10 11 11 ; [[Getting started]] : What is CHICKEN and how do I use it? … … 25 25 ; [[Data representation]] : How Scheme data is internally represented. 26 26 27 ; [[Bugs and limitations]] : Yes, there are some.27 ; [[Bugs and limitations]] : Things that do not work yet. 28 28 29 ; [[FAQ]] : A list of Frequently Asked Questions about CHICKEN (and their answers !).29 ; [[FAQ]] : A list of Frequently Asked Questions about CHICKEN (and their answers). 30 30 31 31 ; [[Acknowledgements]] : A list of some of the people that have contributed to make CHICKEN what it is. -
wiki/man/4/Unit expand
r14097 r15295 34 34 {{error}}. 35 35 36 37 ==== er-macro-transformer 38 39 [procedure] (er-macro-transformer TRANSFORMER) 40 41 This procedure does nothing and is available for writing low-level 42 macros in a more portable fashion, without hard-coding the signature 43 of a transformer procedure. 44 45 36 46 --- 37 47 Previous: [[Unit library]] -
wiki/man/4/Unit files
r14097 r15295 82 82 stripped. 83 83 84 ==== normalize-pathname 85 86 <procedure>(normalize-pathname PATHNAME [PLATFORM])</procedure> 87 88 Performs a simple "normalization" on the {{PATHNAME}}, suitably for 89 {{PLATFORM}}, which should be one of the symbols {{windows}} 90 or {{unix}} and defaults to on whatever platform is currently 91 in use. All relative path elements and duplicate separators are processed 92 and removed. If {{NAME}} ends with 93 a {{/}} or is empty, the appropriate slash is appended to the tail. 94 Tilde {{~}} and variable {{$<name>/...}} expansion is also done. 95 96 No directories or files are actually tested for existence; this 97 procedure only canonicalises path syntax. 98 84 99 ==== directory-null? 85 100 -
wiki/man/4/Unit library
r14097 r15295 219 219 220 220 221 ==== directory-exists? 222 223 <procedure>(directory-exists? STRING)</procedure> 224 225 Returns {{STRING}} if a directory with the given pathname exists, or 226 {{#f}} otherwise. 227 228 221 229 ==== file-exists? 222 230 223 231 <procedure>(file-exists? STRING)</procedure> 224 232 225 Returns {{STRING}} if a file with the given pathname exists, or233 Returns {{STRING}} if a file or directory with the given pathname exists, or 226 234 {{#f}} otherwise. 227 235 -
wiki/man/4/Unit posix
r15058 r15295 123 123 file-patterns (with {{*}} matching zero or more characters and 124 124 {{?}} matching zero or one character). 125 126 ==== canonical-path127 128 <procedure>(canonical-path NAME)</procedure>129 130 Returns a canonical path for {{NAME}}, which should be a string131 containing a path-or-filename. The string returned by132 {{canonical-path}} is OS dependent; it may be quoted and used in133 a shell on the calling machine. (Quoting is suggested as shell134 special characters, including space, are not escaped.) However,135 all path separators and prefixes are handled in an OS independent136 fashion. Any appearance of {{/}} below imply {{\\}} is also handled.137 138 The prefix for {{NAME}} determines what path to prepend. If {{NAME}}139 begins with a {{"~/"}}, this prefix is stripped and the user's140 home directory is added. If beginning with {{/}} or a DRIVE-LETTER:\\141 combination, no additional path is added. Otherwise, the current142 directory and separator are added. All relative path elements and143 duplicate separators are processed and removed. If {{NAME}} ends with144 a {{/}} or is empty, the appropriate slash is appended to the tail.145 146 No directories or files are actually tested for existence; this147 procedure only canonicalises path syntax.148 125 149 126 ==== set-root-directory! … … 465 442 466 443 467 ==== stat-regular? 468 ==== stat-directory? 469 ==== stat-char-device? 470 ==== stat-block-device? 471 ==== stat-fifo? 472 ==== stat-symlink? 473 ==== stat-socket? 474 475 <procedure>(stat-regular? FILENAME)</procedure> 476 <procedure>(stat-directory? FILENAME)</procedure> 477 <procedure>(stat-char-device? FILENAME)</procedure> 478 <procedure>(stat-block-device? FILENAME)</procedure> 479 <procedure>(stat-fifo? FILENAME)</procedure> 480 <procedure>(stat-symlink? FILENAME)</procedure> 481 <procedure>(stat-socket? FILENAME)</procedure> 444 ==== character-device? 445 ==== block-device? 446 ==== fifo? 447 ==== socket? 448 449 <procedure>(character-device? FILENAME)</procedure> 450 <procedure>(block-device? FILENAME)</procedure> 451 <procedure>(fifo? FILENAME)</procedure> 452 <procedure>(socket? FILENAME)</procedure> 482 453 483 454 These procedures return {{#t}} if the {{FILENAME}} given is of the -
wiki/man/4/Unit srfi-13
r14097 r15295 14 14 </enscript> 15 15 16 The {{string-hash}} and {{string-hash-ci}} procedures are 17 not provided in this library unit, [[Unit srfi-69]] has 18 compatible definitions. 19 20 16 21 --- 17 22 Previous: [[Unit srfi-4]] -
wiki/man/4/Unit srfi-69
r14106 r15295 317 317 ==== string-hash 318 318 319 [procedure] (string-hash STRING [BOUND ])319 [procedure] (string-hash STRING [BOUND START END]) 320 320 321 321 For use with {{string=?}} as a {{hash-table-equivalence-function}}. 322 The optional {{START}} and {{END}} arguments may be given to limit 323 the hash calculation to a specific sub-section of {{STRING}}. 322 324 323 325 324 326 ==== string-ci-hash 325 327 326 [procedure] (string-ci-hash STRING [BOUND]) 328 [procedure] (string-hash-ci STRING [BOUND START END]) 329 [procedure] (string-ci-hash STRING [BOUND START END]) 327 330 328 331 For use with {{string-ci=?}} as a {{hash-table-equivalence-function}}. -
wiki/man/4/Unit utils
r14097 r15295 62 62 port that is the current value of {{(current-input-port)}}. 63 63 64 65 === Shell argument quoting 66 67 ==== qs 68 69 [procedure] (qs STRING [PLATFORM]) 70 71 Escapes {{STRING}} suitably for passing to a shell command on {{PLATFORM}}. 72 {{PLATFORM}} defaults to the value of {{(build-platform)}} and indicates in 73 which style the argument should be quoted. On Windows systems, the string 74 is simply enclosed in double-quote ({{"}}) characters, on UNIXish systems, 75 characters that would have a special meaning to the shell are escaped 76 using backslash ({{\}}). 77 78 64 79 --- 65 80 Previous: [[Unit posix]] -
wiki/man/4/Using the compiler
r14977 r15295 34 34 35 35 ; -check-syntax : Aborts compilation process after macro-expansion and syntax checks. 36 37 ; -consult-inline-file FILENAME : load file with definitions for cross-module inlining generated by a previous compiloer invocation via {{-emit-inline-file}}. Implies {{-inline}}. 36 38 37 39 ; -debug MODES : Enables one or more compiler debugging modes. {{MODES}} is a string of characters that select debugging information about the compiler that will be printed to standard output. … … 49 51 c print every expression before macro-expansion 50 52 u lists all unassigned global variable references 53 d lists all assigned global variables 51 54 x display information about experimental features 52 55 D when printing nodes, use node-tree output 53 56 N show the real-name mapping table 54 U show expressions after the secondary user pass55 57 0 show database before lambda-lifting pass 58 T show expressions after converting to node tree 56 59 L show expressions after lambda-lifting 57 60 M show syntax-/runtime-requirements … … 122 125 ; -inline : Enable procedure inlining for known procedures of a size below the threshold (which can be set through the {{-inline-limit}} option). 123 126 124 ; -inline-global : Enable cross-module inlining (in addition to local inlining). 127 ; -inline-global : Enable cross-module inlining (in addition to local inlining). Implies {{-inline}}. For more information, see also [[Declarations]]. 125 128 126 129 ; -inline-limit THRESHOLD : Sets the maximum size of a potentially inlinable procedure. The default threshold is {{20}}. … … 184 187 ; -require-extension NAME : Loads the extension {{NAME}} before the compilation process commences. This is identical to adding {{(require-extension NAME)}} at the start of the compiled program. If {{-uses NAME}} is also given on the command line, then any occurrences of {{-require-extension NAME}} are replaced with {{(declare (uses NAME))}}. Multiple names may be given and should be separated by {{,}}. 185 188 189 ; -scrutinize : Enable simple flow-analysis to catch common type errors and argument/result mismatches. You can also use the {{scrutinize}} declaration to enable scrutiny. 190 186 191 ; -static-extension NAME : similar to {{-require-extension NAME}}, but links extension statically (also applies for an explicit {{(require-extension NAME)}}). 192 193 ; -types FILENAME : load additional type database from {{FILENAME}}. Type-definitions in {{FILENAME}} will override previous type-definitions. 187 194 188 195 ; -compile-syntax : Makes macros also available at run-time. By default macros are not available at run-time. … … 275 282 1 276 283 (* n (fac (- n 1))) ) ) 284 285 (write (fac 10)) 286 (newline) 277 287 </enscript> 278 288 … … 281 291 Compile the file {{foo.scm}}: 282 292 283 % csc -postlude "(pp (fac (string->number (car (command-line-arguments)))))"foo.scm293 % csc foo.scm 284 294 285 295 This will produce the {{foo}} executable: … … 292 302 To run your newly compiled executable use: 293 303 294 % foo 10304 % foo 295 305 3628800 296 306 … … 371 381 or compiled code specified using the {{-extend}} option are loaded 372 382 and evaluated. The parameters {{user-options-pass, user-read-pass, 373 user-preprocessor-pass, user-pass , user-pass-2}} and {{user-post-analysis-pass}} can be set383 user-preprocessor-pass, user-pass}} and {{user-post-analysis-pass}} can be set 374 384 to procedures that are called to perform certain compilation passes 375 385 instead of the usual processing (for more information about parameters -
wiki/man/4/Using the interpreter
r14097 r15295 242 242 More details are available in [[http://www.call-with-current-continuation.org/eggs/readline.html|the egg's documentation]]. 243 243 244 === Accessing documentation245 246 You can access the manual directly from {{csi}} using the [[http://www.call-with-current-continuation.org/eggs/man.html|man]] extension by Mario Domenech Goulart.247 248 To enable it install the egg and put this in your {{~/.csirc}} file:249 250 (use man)251 (man:load)252 253 Then, in {{csi}}, you can search for definitions using {{man:search}} as in:254 255 (man:search "case")256 257 Note that the search uses regular expressions.258 To view the documentation for one entry from the manual, use {{man:help}} as in:259 260 (man:help "case-lambda")261 262 Note: Currently the documentation provided by the {{man}} extension corresponds to Chicken's 2.429, one of the last releases whose documentation was in the texinfo format (the format the {{man}} extension parses).263 244 264 245 --- -
wiki/man/4/faq
r14119 r15295 415 415 {{boolean?}} {{number?}} {{complex?}} {{rational?}} {{real?}} {{exact?}} {{inexact?}} {{list?}} {{eof-object?}} 416 416 {{string-ref}} {{string-set!}} {{vector-ref}} {{vector-set!}} {{char=?}} {{char<?}} {{char>?}} {{char<=?}} {{char>=?}} 417 {{char-numeric?}} {{char-alphabetic?}} {{char-whitespace?}} {{char-upper-case?}} 417 {{char-numeric?}} {{char-alphabetic?}} {{char-whitespace?}} {{char-upper-case?}} {{for-each}} 418 418 {{char-lower-case?}} {{char-upcae}} {{char-downcase}} {{list-tail}} {{assv}} {{memv}} {{memq}} {{assoc}} 419 419 {{member}} {{set-car!}} {{set-cdr!}} {{abs}} {{exp}} {{sin}} {{cos}} {{tan}} {{log}} {{asin}} {{acos}} {{atan}} {{sqrt}} … … 471 471 {{cpu-time}} {{error}} {{call/cc}} {{any?}} 472 472 {{substring=?}} {{substring-ci=?}} {{substring-index}} {{substring-index-ci}} 473 {{printf}} {{sprintf}} {{fprintf}} {{format}} {{o}} 473 474 474 475 ==== What's the difference betweem "block" and "local" mode?
Note: See TracChangeset
for help on using the changeset viewer.