Changeset 25875 in project


Ignore:
Timestamp:
02/07/12 08:32:07 (9 years ago)
Author:
felix winkelmann
Message:

merged some manual changes from master into wiki

Location:
wiki/man/4
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • wiki/man/4/Acknowledgements

    r23717 r25875  
    66Annis, Marc Baily, Peter Barabas, Jonah Beckford, Arto Bendiken, Kevin
    77Beranek, Peter Bex, Jean-Francois Bignolles, Oivind Binde, Alaric
    8 Blagrave-Snellpym, Dave Bodenstab, Fabian Boehlke, T. Kurt Bond,
     8Blagrave-Snellpym, Dave Bodenstab, Fabian Böhlke, T. Kurt Bond,
    99Ashley Bone, Dominique Boucher, Terence Brannon, Roy Bryant, Adam
    1010Buchbinder, Hans Bulfone, "Category 5", Taylor Campbell, Naruto
    1111Canada, Mark Carter, Esteban U. Caamano Castro, Semih Cemiloglu,
    12 Franklin Chen, Thomas Chust, Gian Paolo Ciceri, Fulvio Ciriaco, Tobia
    13 Conforto, John Cowan, Grzegorz Chrupala, James Crippen, Tollef Fog
    14 Heen, Drew Hess, Alejandro Forero Cuervo, Peter Danenberg, Linh Dang,
    15 Brian Denheyer, Sean D'Epagnier, "dgym", "Don", Chris Double, "Brown
    16 Dragon", David Dreisigmeyer, Jarod Eells, Petter Egesund, Stephen
    17 Eilert, Steve Elkins, Daniel B. Faken, Will Farr, Graham Fawcett, Marc
    18 Feeley, "Fizzie", Matthew Flatt, Kimura Fuyuki, Tony Garnock-Jones,
    19 Martin Gasbichler, Abdulaziz Ghuloum, Joey Gibson, Stephen C. Gilardi,
    20 Mario Domenech Goulart, Joshua Griffith, Johannes Groedem, Damian
    21 Gryski, Andreas Gustafsson, Sven Hartrumpf, Jun-ichiro itojun Hagino,
    22 Ahdi Hargo, Matthias Heiler, Karl M. Hegbloom, William P. Heinemann,
    23 Bill Hoffman, Bruce Hoult, Hans Huebner, Markus Huelsmann, Goetz
    24 Isenmann, Paulo Jabardo, Wietse Jacobs, David Janssens, Christian
    25 Jaeger, Matt Jones, Dale Jordan, Valentin Kamyshenko, Daishi Kato,
    26 Peter Keller, Brad Kind, Ron Kneusel, Matthias Koeppe, Krysztof
    27 Kowalczyk, Andre Kuehne, Todd R. Kueny Sr, Goran Krampe, David
    28 Krentzlin, Ben Kurtz, Micky Latowicki, John Lenz, Kirill Lisovsky,
    29 Juergen Lorenz, Kon Lovett, Lam Luu, Vitaly Magerya, Leonardo Valeri
    30 Manera, Dennis Marti, Charles Martin, Bob McIsaac, Alain Mellan, Eric
     12Franklin Chen, Joo ChurlSoo, Thomas Chust, Gian Paolo Ciceri, Fulvio
     13Ciriaco, Paul Colby, Tobia Conforto, John Cowan, Grzegorz Chrupala,
     14James Crippen, Tollef Fog Heen, Drew Hess, Alejandro Forero Cuervo,
     15Peter Danenberg, Linh Dang, Brian Denheyer, Sean D'Epagnier, "dgym",
     16"Don", Chris Double, "Brown Dragon", David Dreisigmeyer, Jarod Eells,
     17Petter Egesund, Stephen Eilert, Steve Elkins, Daniel B. Faken, Will
     18Farr, Graham Fawcett, Marc Feeley, "Fizzie", Matthew Flatt, Kimura
     19Fuyuki, Tony Garnock-Jones, Martin Gasbichler, Abdulaziz Ghuloum, Joey
     20Gibson, Stephen C. Gilardi, Mario Domenech Goulart, Joshua Griffith,
     21Johannes Groedem, Damian Gryski, Andreas Gustafsson, Sven Hartrumpf,
     22Jun-ichiro itojun Hagino, Ahdi Hargo, Matthias Heiler, Karl
     23M. Hegbloom, William P. Heinemann, Bill Hoffman, Bruce Hoult, Hans
     24HÃŒbner, Markus HÃŒlsmann, Götz Isenmann, Paulo Jabardo, Wietse
     25Jacobs, David Janssens, Christian JÀger, Matt Jones, Dale Jordan,
     26Valentin Kamyshenko, Daishi Kato, Peter Keller, Brad Kind, Ron
     27Kneusel, Matthias Köppe, Krysztof Kowalczyk, Andre KÃŒhne, Todd
     28R. Kueny Sr, Goran Krampe, David Krentzlin, Ben Kurtz, Micky
     29Latowicki, John Lenz, Kirill Lisovsky, JÃŒrgen Lorenz, Kon Lovett, Lam
     30Luu, Vitaly Magerya, Leonardo Valeri Manera, Claude Marinier, Dennis
     31Marti, Charles Martin, Bob McIsaac, "megane", Alain Mellan, Eric
    3132Merrit, Perry Metzger, Scott G. Miller, Mikael, Karel Miklav, Bruce
    3233Mitchener, Fadi Moukayed, Chris Moline, Eric E. Moore, Julian
    33 Morrison, Dan Muresan, David N. Murray, "nicktick", Lars Nilsson, Ian
     34Morrison, Dan Muresan, David N. Murray, Timo MyyrÀ, "nicktick", Lars Nilsson, Ian
    3435Oversby, "o.t.", Gene Pavlovsky, Levi Pearson, Jeronimo Pellegrini,
    3536Nicolas Pelletier, Derrell Piper, Carlos Pita, Robin Lee Powell, Alan
  • wiki/man/4/Cross development

    r24441 r25875  
    8989    |-- lib
    9090    |   |-- chicken
    91     |   |   `-- 5
     91    |   |   `-- 6
    9292    |   |       `-- types.db
    9393    |   |-- libchicken.a
     
    152152 |-- lib
    153153 |   |-- chicken
    154  |   |   `-- 5
     154 |   |   `-- 6
    155155 |   |       :
    156156 |   |
    157157 |   |-- libchicken.a
    158  |   |-- libchicken.so -> libchicken.so.5
    159  |   `-- libchicken.so.5
     158 |   |-- libchicken.so -> libchicken.so.6
     159 |   `-- libchicken.so.6
    160160 `-- share
    161161     |-- chicken
     
    216216 # optionally, you can compile the import library:
    217217 # ~/cross-chicken/arm-csc -O3 -d0 -s target-only-extension.import.scm
    218  cp target-only-extension.import.scm ~/cross-chicken/lib/chicken/5
     218 cp target-only-extension.import.scm ~/cross-chicken/lib/chicken/6
    219219
    220220=== Final notes
  • wiki/man/4/Data representation

    r23717 r25875  
    5454; C_GC_FORWARDING_BIT : Flag used for forwarding garbage collected object pointers.
    5555
    56 ; C_BYTEBLOCK_BIT : Flag that specifies whether this data object contains raw bytes (a string or byte-vector) or pointers to other data objects.
     56; C_BYTEBLOCK_BIT : Flag that specifies whether this data object contains raw bytes (a string or blob) or pointers to other data objects.
    5757
    5858; C_SPECIALBLOCK_BIT : Flag that specifies whether this object contains a ''special'' non-object pointer value in its first slot. An example for this kind of objects are closures, which are a vector-type object with the code-pointer as the first item.
     
    106106a pointer to the object referred to.
    107107
     108'''pointers''': special vector objects with type bits
     109{{C_POINTER_TYPE}}, currently 1001. The single slot contains a machine pointer.
     110
    108111'''tagged pointers''': special vector objects with type bits
    109112{{C_TAGGED_POINTER_TYPE}}, currently 1011, Tagged pointers are similar to pointers,
     
    112115of the pointer.
    113116
    114 '''SWIG pointers''': special vector objects with type bits {{C_SWIG_POINTER_TYPE}}, currently
    115 1100.
    116 
    117117'''lambda infos''': byte-vector objects with type-bits {{C_LAMBDA_INFO_TYPE}}, currently 1101.
    118118
    119 '''buckets''': vector objects with type-bits {{C_BUCKET_TYPE}}, currently 1111.
     119'''buckets''': vector objects with type-bits {{C_BUCKET_TYPE}}, currently 1111. These are
     120only used internally for the implementation of symbol tables.
    120121
    121122The actual data follows immediately after the header. Note that
  • wiki/man/4/Declarations

    r23717 r25875  
    44
    55== Declarations
     6
     7
     8Declarations can be used to control compiler settings directly inside
     9the compiled code and are always global in scope. In many (but not
     10all) cases an associated command-line option exists. When in conflict,
     11declarations override command-line options. When multiple declarations
     12conflict, the one appearing textually last overrides any previous one.
    613
    714
     
    2128=== always-bound
    2229
    23  [declaration specifier] (always-bound SYMBOL ...)
     30 [declaration specifier] (always-bound IDENTIFIER ...)
    2431
    2532Declares that the given variables are always bound and
     
    3845=== hide
    3946
    40  [declaration specifier] (block-global SYMBOL ...)
    41  [declaration specifier] (hide SYMBOL ...)
    42 
    43 Declares that the toplevel bindings for {{SYMBOL ...}}
     47 [declaration specifier] (block-global IDENTIFIER ...)
     48 [declaration specifier] (hide IDENTIFIER ...)
     49
     50Declares that the toplevel bindings for {{IDENTIFIER ...}}
    4451should not be accessible from code in other compilation units or by
    4552{{eval}}. Access to toplevel bindings declared as block global is
     
    4956=== bound-to-procedure
    5057
    51  [declaration specifier] (bound-to-procedure SYMBOL ...)
     58 [declaration specifier] (bound-to-procedure IDENTIFIER ...)
    5259
    5360Declares that the given identifiers are always bound to procedure values.
     
    7279=== export
    7380
    74  [declaration specifier] (export SYMBOL ...)
     81 [declaration specifier] (export IDENTIFIER ...)
    7582
    7683The opposite of {{hide}}. All given identifiers will be exported and all toplevel variables
     
    165172
    166173 [declaration specifier] (local)
    167  [declaration specifier] (local SYMBOL ...)
     174 [declaration specifier] (local IDENTIFIER ...)
    168175
    169176Declares that the listed (or all) toplevel variables defined in the
     
    267274=== standard-bindings
    268275
    269  [declaration specifier] (standard-bindings SYMBOL ...)
    270  [declaration specifier] (not standard-bindings SYMBOL ...)
     276 [declaration specifier] (standard-bindings IDENTIFIER ...)
     277 [declaration specifier] (not standard-bindings IDENTIFIER ...)
    271278
    272279Declares that all given standard procedures (or all if no symbols are
     
    325332=== extended-bindings
    326333
    327  [declaration specifier] (extended-bindings SYMBOL ...)
    328  [declaration specifier] (not extended-bindings SYMBOL ...)
     334 [declaration specifier] (extended-bindings IDENTIFIER ...)
     335 [declaration specifier] (not extended-bindings IDENTIFIER ...)
    329336
    330337Declares that all given non-standard and CHICKEN-specific procedures (or all if no symbols are specified) are never globally redefined.
     
    335342=== usual-integrations
    336343
    337  [declaration specifier] (usual-integrations SYMBOL ...)
    338  [declaration specifier] (not usual-integrations SYMBOL ...)
     344 [declaration specifier] (usual-integrations IDENTIFIER ...)
     345 [declaration specifier] (not usual-integrations IDENTIFIER ...)
    339346
    340347Declares that all given standard and extended bindings (or all if no
     
    347354=== unit
    348355
    349  [declaration specifier] (unit SYMBOL)
     356 [declaration specifier] (unit IDENTIFIER)
    350357
    351358Specify compilation unit-name (if this is a library)
     
    366373=== unused
    367374
    368  [declaration specifier] (unused SYMBOL ...)
    369 
    370 Disables any warnings when the global variable {{SYMBOL}} is not defined but used,
     375 [declaration specifier] (unused IDENTIFIER ...)
     376
     377Disables any warnings when the global variable {{IDENTIFIER}} is not defined but used,
    371378or defined but never used and not exported.
    372379
     
    374381=== uses
    375382
    376  [declaration specifier] (uses SYMBOL ...)
     383 [declaration specifier] (uses IDENTIFIER ...)
    377384
    378385Gives a list of used library-units. Before the toplevel-expressions
  • wiki/man/4/Deployment

    r24604 r25875  
    175175compiled to {{.c}} files and the {{chicken.h}} and {{runtime.c}}
    176176files from the CHICKEN sources. You will also need the {{.c}} files
    177 of any library units your program uses. Compiling everything and
     177of any library units your program uses (at least {{library.c}} and
     178{{build-version.c}}). Compiling everything and
    178179linking it together should work on most systems. Consult the
    179180CHICKEN makefiles for more information about optimization options,
  • wiki/man/4/Deviations from the standard

    r23717 r25875  
    88
    99The maximal number of arguments that may be passed to a
    10 compiled procedure or macro is 120. (However, a macro-definition
    11 that has a single rest-parameter can have any number of arguments.)
     10compiled procedure or macro is limited to 120 (1000 on some
     11common hardware platforms like x86).
    1212Likewise, the maximum number of values that can be passed
    1313to continuations captured using {{call-with-current-continuation}}
  • wiki/man/4/Embedding

    r16521 r25875  
    6969After {{return-to-host}} has been executed and once {{CHICKEN_run}} returns,
    7070you can invoke callbacks which have been defined with {{define-external}}.
    71 The {{eval}} library unit also provides ''boilerplate'' callbacks, that simplify invoking Scheme
    72 code embedded in a C or C++ application a lot.
     71
     72The {{eval}} library unit also provides boilerplate callbacks, that simplify invoking Scheme
     73code embedded in a C or C++ application:
    7374
    7475=== CHICKEN_eval
  • wiki/man/4/Extensions

    r25630 r25875  
    6767library path to get hardcoded into the resulting extension file (for
    6868systems that do not use {{ld.so.conf}}).
     69
     70The environment variables {{CHICKEN_C_INCLUDE_PATH}} and {{CHICKEN_C_LIBRARY_PATH}}
     71can also be used to override include- and linker-paths. Each of these variables
     72may contain one or more directory names, separated by {{:}} or {{;}} and will
     73be passed using {{-I}} and {{-L}} to the C compiler.
    6974
    7075=== Creating extensions
  • wiki/man/4/Getting started

    r25474 r25875  
    246246[[/emacs]] for more information about the available options.
    247247
     248* Epsilon ([[http://www.lugaru.com]]) is a commercial (proprietary) text
     249editor whose design was inspired by Emacs. Although Scheme support
     250isn't provided, a Lisp mode is available on Lugaru's FTP site, and
     251could with some work be made to duplicate the Emacs support. 
     252
    248253* SciTE ([[http://scintilla.sourceforge.net/SciTE.html]]),
    249254unlike Emacs or Vim, follows typical graphical UI design conventions
  • wiki/man/4/Non-standard macros and special forms

    r25258 r25875  
    259259<macro>(define-constant NAME CONST)</macro>
    260260
    261 Define a variable with a constant value, evaluated at compile-time. 
    262 Any reference to such a
    263 constant should appear textually '''after''' its definition. This
    264 construct is equivalent to {{define}} when evaluated or interpreted.
    265 Constant definitions should only appear at toplevel. Note that constants
    266 are local to the current compilation unit and are not available outside
    267 of the source file in which they are defined. Names of constants still
    268 exist in the Scheme namespace and can be lexically shadowed.  If the
    269 value is mutable, then the compiler is careful to preserve its identity.
    270 {{CONST}} may be any constant expression, and may also refer to
    271 constants defined via {{define-constant}} previously.
    272 This form should only be used at top-level.
     261Define a variable with a constant value, evaluated at compile-time.
     262Any reference to such a constant should appear textually '''after'''
     263its definition. This construct is equivalent to {{define}} when
     264evaluated or interpreted.  Constant definitions should only appear at
     265toplevel. Note that constants are local to the current compilation
     266unit and are not available outside of the source file in which they
     267are defined. Names of constants still exist in the Scheme namespace
     268and can be lexically shadowed.  If the value is mutable, then the
     269compiler is careful to preserve its identity.  {{CONST}} may be any
     270constant expression, and may also refer to constants defined via
     271{{define-constant}} previously, but it must be possible to
     272evaluate the expression at compile-time.
    273273
    274274==== define-inline
  • wiki/man/4/Non-standard read syntax

    r24137 r25875  
    8989=== Multiline String Constant with Embedded Expressions
    9090
    91 <read>#<#</read>
     91<read>#<</read>
    9292
    9393 #<#TAG
  • wiki/man/4/The R5RS standard

    r23717 r25875  
    22122212          (integer->char y))             ===>  #t
    22132213
     2214Note that {{integer->char}} does currently not detect
     2215a negative argument and will quietly convert {{-1}} to
     2216{{#x1ffff}} in CHICKEN.
     2217
    22142218<procedure>(char-upcase char)</procedure><br>
    22152219<procedure>(char-downcase char)</procedure><br>
  • wiki/man/4/Unit library

    r24179 r25875  
    735735
    736736Multiple finalizers can be registered for the same object. The order
    737 in which the finalizers run is undefined.
     737in which the finalizers run is undefined. Execution of finalizers
     738may be nested.
    738739
    739740
  • wiki/man/4/Unit lolevel

    r24177 r25875  
    627627
    628628Returns the number of bytes that would be needed to evict the data object
    629 {{X}}.
     629{{X}}. If {{X}} is an immediate object, zero is returned.
    630630
    631631
  • wiki/man/4/Unit posix

    r25773 r25875  
    895895==== set-signal-handler!
    896896
     897==== signal-handler
     898
     899<procedure>(signal-handler SIGNUM)</procedure>
     900
     901Returns the signal handler for the code {{SIGNUM}} or {{#f}}.
     902
    897903<procedure>(set-signal-handler! SIGNUM PROC)</procedure>
    898904
     
    902908then any signal handler will be removed, and the corresponding signal set to {{SIG_IGN}}.
    903909
    904 Note that is is unspecified in which thread of execution the signal handler will be invoked.
    905 
    906 ==== signal-handler
    907 
    908 <procedure>(signal-handler SIGNUM)</procedure>
    909 
    910 Returns the signal handler for the code {{SIGNUM}} or {{#f}}.
     910Notes
     911
     912* it is unspecified in which thread of execution the signal handler will be invoked.
     913
     914* when signals arrive in quick succession (specifically, before the handler for a signal has been started), then signals will be queued (up to a certain limit); the order in which the queued signals will be handled is not specified
     915
     916* {{(set! (signal-handler SIG) PROC)}} can be used as an alternative to {{(set-signal-handler! SIG PROC)}}
    911917
    912918==== set-signal-mask!
  • wiki/man/4/Unit srfi-1

    r25816 r25875  
    312312
    313313 (take! (circular-list 1 3 5) 8) => (1 3)
    314  (take (circular-list 1 3 5) 8) => (1 3 5 1 3 5 1 3)
     314 (take! (circular-list 1 3 5) 8) => (1 3 5 1 3 5 1 3)
    315315
    316316<procedure>(split-at x i) -> [list object]</procedure><br>
Note: See TracChangeset for help on using the changeset viewer.