Changeset 15295 in project


Ignore:
Timestamp:
08/01/09 00:57:52 (10 years ago)
Author:
felix winkelmann
Message:

merged with manual from release branch

Location:
wiki
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • wiki/eggref/4/operations

    r14681 r15295  
    288288== Version History
    289289
     290; 0.5 : fix in {{define-operation}}
    290291; 0.1 : Initial release
  • wiki/man/4/Accessing external objects

    r14097 r15295  
    2121=== foreign-value
    2222
    23  [syntax] (foreign-value STRING TYPE)
     23 [syntax] (foreign-value CODE TYPE)
    2424
    25 Evaluates the embedded C/C++ expression {{STRING}}, returning a value of type given
     25Evaluates the embedded C/C++ expression {{CODE}} (which may be a string or symbol), returning a value of type given
    2626in the foreign-type specifier {{TYPE}}.
    2727
  • wiki/man/4/Acknowledgements

    r15058 r15295  
    1515Egesund, Steve Elkins, Daniel B. Faken, Will Farr, Graham Fawcett,
    1616Marc 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 Gustafsson, Sven Hartrumpf, Jun-ichiro itojun Hagino, Ahdi Hargo,
    20 Matthias Heiler, Karl M. Hegbloom, William P. Heinemann, Bill Hoffman,
    21 Bruce Hoult, Hans Huebner, Markus Huelsmann, Goetz Isenmann, Paulo
    22 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 Kuehne, 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, Burton
     17Martin Gasbichler, Abdulaziz Ghuloum, Joey Gibson, Stephen C. Gilardi,
     18Mario Domenech Goulart, Joshua Griffith, Johannes Groedem, Damian
     19Gryski, Andreas Gustafsson, Sven Hartrumpf, Jun-ichiro itojun Hagino,
     20Ahdi Hargo, Matthias Heiler, Karl M. Hegbloom, William P. Heinemann,
     21Bill Hoffman, Bruce Hoult, Hans Huebner, Markus Huelsmann, Goetz
     22Isenmann, Paulo Jabardo, Wietse Jacobs, David Janssens, Christian
     23Jaeger, Matt Jones, Dale Jordan, Valentin Kamyshenko, Daishi Kato,
     24Peter Keller, Brad Kind, Ron Kneusel, Matthias Koeppe, Krysztof
     25Kowałczyk, Andre Kuehne, Todd R. Kueny Sr, Goran Krampe, David
     26Krentzlin, Ben Kurtz, Micky Latowicki, John Lenz, Kirill Lisovsky,
     27Juergen Lorenz, Kon Lovett, Lam Luu, Leonardo Valeri Manera, Dennis
     28Marti, Charles Martin, Bob McIsaac, Alain Mellan, Eric Merrit, Perry
     29Metzger, Scott G. Miller, Mikael, Bruce Mitchener, Chris Moline, Eric
     30E. Moore, Julian Morrison, Dan Muresan, Lars Nilsson, Ian Oversby,
     31o.t., Gene Pavlovsky, Levi Pearson, Nicolas Pelletier, Carlos Pita,
     32Robin Lee Powell, Pupeno, Davide Puricelli, presto, Doug Quale, Eric
     33Raible, Ivan Raikov, Joel Reymont, Eric Rochester, Andreas Rottman,
     34David Rush, Lars Rustemeier, Daniel Sadilek, Oskar Schirmer, Burton
    3535Samograd, Reed Sheridan, Ronald Schroeder, Spencer Schumann, Ivan
    3636Shcheklein, Alex Shinn, Ivan Shmakov, Shmul, Tony Sidaway, Jeffrey
     
    6666; Olin Shivers : implementation of {{let-optionals[*]}} and reference implementations of SRFI-1, SRFI-13 and SRFI-14.
    6767; Andrew Wilcox : queues.
    68 ; [[http://chicken.wiki.br/Alex Shinn|Alex Shinn]] : {{scheme-complete.el}} emacs tab-completion
     68; [[http://chicken.wiki.br/users/Alex-Shinn|Alex Shinn]] : {{scheme-complete.el}} emacs tab-completion
    6969
    7070The documentation and examples for explicit renaming macros was taken from
  • wiki/man/4/Declarations

    r15058 r15295  
    252252
    253253
     254=== scrutinize
     255
     256 [declaration specifier] (scrutinize)
     257
     258Enables scrutiny. This is equivalent to passing the {{-scrutinize}} option to the compiler.
     259
     260
    254261=== standard-bindings
    255262
     
    261268then all but the given standard bindings are assumed to be never
    262269redefined.
     270
     271
     272=== type
     273
     274  [declaration specifier] (type (SYMBOL TYPESPEC) ...)
     275
     276Declares toplevel procedures to have a specific type for scrutiny. {{SYMBOL}} should name
     277a toplevel variable and {{TYPESPEC}} should be a type specification, following the syntax
     278given 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
     314A type-declaration overrides any previous declaration for the same identifier.
    263315
    264316
  • wiki/man/4/Extensions

    r14097 r15295  
    270270
    271271
    272 ==== setup-install-flag
    273 
    274  [parameter] (setup-install-flag [BOOL])
     272==== setup-install-mode
     273
     274 [parameter] (setup-install-mode [BOOL])
    275275
    276276Reflects the setting of the {{-no-install}} option, i.e. is {{#f}}, if {{-no-install}} was
  • wiki/man/4/The User's Manual

    r14164 r15295  
    77</nowiki>
    88
    9 This is the manual for Chicken Scheme, version 4.0.0.
     9This is the manual for Chicken Scheme, version 4.1.0
    1010
    1111; [[Getting started]] : What is CHICKEN and how do I use it?
     
    2525; [[Data representation]] : How Scheme data is internally represented.
    2626
    27 ; [[Bugs and limitations]] : Yes, there are some.
     27; [[Bugs and limitations]] : Things that do not work yet.
    2828
    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).
    3030
    3131; [[Acknowledgements]] : A list of some of the people that have contributed to make CHICKEN what it is.
  • wiki/man/4/Unit expand

    r14097 r15295  
    3434{{error}}.
    3535
     36
     37==== er-macro-transformer
     38
     39  [procedure] (er-macro-transformer TRANSFORMER)
     40
     41This procedure does nothing and is available for writing low-level
     42macros in a more portable fashion, without hard-coding the signature
     43of a transformer procedure.
     44
     45
    3646---
    3747Previous: [[Unit library]]
  • wiki/man/4/Unit files

    r14097 r15295  
    8282stripped.
    8383
     84==== normalize-pathname
     85
     86<procedure>(normalize-pathname PATHNAME [PLATFORM])</procedure>
     87
     88Performs a simple "normalization" on the {{PATHNAME}}, suitably for
     89{{PLATFORM}}, which should be one of the symbols {{windows}}
     90or {{unix}} and defaults to on whatever platform is currently
     91in use. All relative path elements and duplicate separators are processed
     92and removed.  If {{NAME}} ends with
     93a {{/}} or is empty, the appropriate slash is appended to the tail.
     94Tilde {{~}} and variable {{$<name>/...}} expansion is also done.
     95
     96No directories or files are actually tested for existence; this
     97procedure only canonicalises path syntax.
     98
    8499==== directory-null?
    85100
  • wiki/man/4/Unit library

    r14097 r15295  
    219219
    220220
     221==== directory-exists?
     222
     223<procedure>(directory-exists? STRING)</procedure>
     224
     225Returns {{STRING}} if a directory with the given pathname exists, or
     226{{#f}} otherwise.
     227
     228
    221229==== file-exists?
    222230
    223231<procedure>(file-exists? STRING)</procedure>
    224232
    225 Returns {{STRING}} if a file with the given pathname exists, or
     233Returns {{STRING}} if a file or directory with the given pathname exists, or
    226234{{#f}} otherwise.
    227235
  • wiki/man/4/Unit posix

    r15058 r15295  
    123123file-patterns (with {{*}} matching zero or more characters and
    124124{{?}} matching zero or one character).
    125 
    126 ==== canonical-path
    127 
    128 <procedure>(canonical-path NAME)</procedure>
    129 
    130 Returns a canonical path for {{NAME}}, which should be a string
    131 containing a path-or-filename.  The string returned by
    132 {{canonical-path}} is OS dependent; it may be quoted and used in
    133 a shell on the calling machine. (Quoting is suggested as shell
    134 special characters, including space, are not escaped.)  However,
    135 all path separators and prefixes are handled in an OS independent
    136 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's
    140 home directory is added.  If beginning with {{/}} or a DRIVE-LETTER:\\
    141 combination, no additional path is added.  Otherwise, the current
    142 directory and separator are added.  All relative path elements and
    143 duplicate separators are processed and removed.  If {{NAME}} ends with
    144 a {{/}} or is empty, the appropriate slash is appended to the tail.
    145 
    146 No directories or files are actually tested for existence; this
    147 procedure only canonicalises path syntax.
    148125
    149126==== set-root-directory!
     
    465442
    466443
    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>
    482453
    483454These procedures return {{#t}} if the {{FILENAME}} given is of the
  • wiki/man/4/Unit srfi-13

    r14097 r15295  
    1414</enscript>
    1515
     16The {{string-hash}} and {{string-hash-ci}} procedures are
     17not provided in this library unit, [[Unit srfi-69]] has
     18compatible definitions.
     19
     20
    1621---
    1722Previous: [[Unit srfi-4]]
  • wiki/man/4/Unit srfi-69

    r14106 r15295  
    317317==== string-hash
    318318
    319  [procedure] (string-hash STRING [BOUND])
     319 [procedure] (string-hash STRING [BOUND START END])
    320320
    321321For use with {{string=?}} as a {{hash-table-equivalence-function}}.
     322The optional {{START}} and {{END}} arguments may be given to limit
     323the hash calculation to a specific sub-section of {{STRING}}.
    322324
    323325
    324326==== string-ci-hash
    325327
    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])
    327330
    328331For use with {{string-ci=?}} as a {{hash-table-equivalence-function}}.
  • wiki/man/4/Unit utils

    r14097 r15295  
    6262port that is the current value of {{(current-input-port)}}.
    6363
     64
     65=== Shell argument quoting
     66
     67==== qs
     68
     69 [procedure] (qs STRING [PLATFORM])
     70
     71Escapes {{STRING}} suitably for passing to a shell command on {{PLATFORM}}.
     72{{PLATFORM}} defaults to the value of {{(build-platform)}} and indicates in
     73which style the argument should be quoted. On Windows systems, the string
     74is simply enclosed in double-quote ({{"}}) characters, on UNIXish systems,
     75characters that would have a special meaning to the shell are escaped
     76using backslash ({{\}}).
     77
     78
    6479---
    6580Previous: [[Unit posix]]
  • wiki/man/4/Using the compiler

    r14977 r15295  
    3434
    3535; -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}}.
    3638
    3739; -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.
     
    4951     c          print every expression before macro-expansion
    5052     u          lists all unassigned global variable references
     53     d          lists all assigned global variables
    5154     x          display information about experimental features
    5255     D          when printing nodes, use node-tree output
    5356     N          show the real-name mapping table
    54      U          show expressions after the secondary user pass
    5557     0          show database before lambda-lifting pass
     58     T          show expressions after converting to node tree
    5659     L          show expressions after lambda-lifting
    5760     M          show syntax-/runtime-requirements
     
    122125; -inline : Enable procedure inlining for known procedures of a size below the threshold (which can be set through the {{-inline-limit}} option).
    123126
    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]].
    125128
    126129; -inline-limit THRESHOLD : Sets the maximum size of a potentially inlinable procedure. The default threshold is {{20}}.
     
    184187; -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 {{,}}.
    185188
     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
    186191; -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.
    187194
    188195; -compile-syntax : Makes macros also available at run-time. By default macros are not available at run-time.
     
    275282      1
    276283      (* n (fac (- n 1))) ) )
     284
     285(write (fac 10))
     286(newline)
    277287</enscript>
    278288
     
    281291Compile the file {{foo.scm}}:
    282292
    283  % csc -postlude "(pp (fac (string->number (car (command-line-arguments)))))" foo.scm
     293 % csc foo.scm
    284294
    285295This will produce the {{foo}} executable:
     
    292302To run your newly compiled executable use:
    293303
    294  % foo 10
     304 % foo
    295305 3628800
    296306
     
    371381or compiled code specified using the {{-extend}} option are loaded
    372382and 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 set
     383user-preprocessor-pass, user-pass}} and {{user-post-analysis-pass}} can be set
    374384to procedures that are called to perform certain compilation passes
    375385instead of the usual processing (for more information about parameters
  • wiki/man/4/Using the interpreter

    r14097 r15295  
    242242More details are available in [[http://www.call-with-current-continuation.org/eggs/readline.html|the egg's documentation]].
    243243
    244 === Accessing documentation
    245 
    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).
    263244
    264245---
  • wiki/man/4/faq

    r14119 r15295  
    415415{{boolean?}} {{number?}} {{complex?}} {{rational?}} {{real?}} {{exact?}} {{inexact?}} {{list?}} {{eof-object?}}
    416416{{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}}
    418418{{char-lower-case?}} {{char-upcae}} {{char-downcase}} {{list-tail}} {{assv}} {{memv}} {{memq}} {{assoc}}
    419419{{member}} {{set-car!}} {{set-cdr!}} {{abs}} {{exp}} {{sin}} {{cos}} {{tan}} {{log}} {{asin}} {{acos}} {{atan}} {{sqrt}}
     
    471471{{cpu-time}} {{error}} {{call/cc}} {{any?}}
    472472{{substring=?}} {{substring-ci=?}} {{substring-index}} {{substring-index-ci}}
     473{{printf}} {{sprintf}} {{fprintf}} {{format}} {{o}}
    473474
    474475==== What's the difference betweem "block" and "local" mode?
Note: See TracChangeset for help on using the changeset viewer.