Changeset 35527 in project


Ignore:
Timestamp:
05/07/18 12:16:01 (6 months ago)
Author:
felix
Message:

man/5: fixes in "Getting started"

Location:
wiki/man/5
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • wiki/man/5/Getting started

    r35525 r35527  
    8484* a compatible compiler whose target is C, thus making porting to new
    8585  machines and architectures relatively straightforward
    86 ** the C support allows Scheme code to include `embedded' C code,
     86* the C support allows Scheme code to include `embedded' C code,
    8787  thus making it easyto invoke host OS or library
    8888  functions
     
    9999number of interesting properties.
    100100
    101 * Consing (creation of data on the heap) is relatively inexpensive,
    102   because a generational garbage collection scheme is used in which
    103   short-lived data structures are reclaimed extremely quickly.
    104 
    105 * Moreover, {{call-with-current-continuation}} is practically for free
    106   and CHICKEN does not suffer under any performance penalties if
     101* Consing (creation of data on the heap) is inexpensive,
     102  because a generational garbage collection scheme is used in combination
     103  with allocating on the C stack, in which short-lived data structures are reclaimed
     104  extremely quickly.
     105
     106* Moreover, {{call-with-current-continuation}} involves only minimal
     107  overhead and CHICKEN does not suffer under any performance penalties if
    107108  first-class continuations are used in complex ways.
    108109
    109 The generated C code fully supports tail-call optimization (TCO.)
     110The generated C code fully supports tail-call optimization (TCO).
    110111
    111112Some of the features supported by CHICKEN:
     
    129130  automated testing libraries
    130131* interfaces to other languages such as Java, Python, and Objective-C
    131 * interfaces to database systems, GUIs, and other large-scale
    132   libraries,
     132* interfaces to database systems, GUIs, and other libraries,
    133133* network applications, such as servers and clients for ftp,
    134134  smtp/pop3, irc, and http 
     
    185185  available through the package management system (e.g., APT,
    186186  Synaptic, RPM, or Yum, depending upon your Linux distribution).
    187 * On Macintosh OS X, you will need the XCode tools, which were shipped
    188   on the OS X DVD with older versions of the operating system, and are
    189   installable from the App Store with recent versions of the operating
    190   system.
     187* On Macintosh OS X, you will need the XCode tools, which are
     188  installable from the App Store.
    191189* On Windows, you have three choices:
    192 ** Cygwin ([[http://sourceware.org/cygwin/]]) provides a relatively
     190* Cygwin ([[http://sourceware.org/cygwin/]]) provides a relatively
    193191  full-featured Unix environment for Windows.  CHICKEN works
    194192  substantially the same in Cygwin and Unix.
    195 ** The GNU Compiler Collection has been ported to Windows, in the
     193* The GNU Compiler Collection has been ported to Windows, in the
    196194  MinGW system ([[http://mingw.sourceforge.net]]). Unlike Cygwin,
    197195  executables produced with MinGW do not need the Cygwin DLLs in order
     
    199197  Unix-style development/build environment, again ported from free
    200198  software.
    201 *** You can build CHICKEN either with MinGW alone or with MinGW plus
     199* You can build CHICKEN either with MinGW alone or with MinGW plus
    202200  MSYS. Both approaches produce a CHICKEN built against the mingw headers
    203201  and libraries.
    204202  The only difference is the environment where you actually run make.
    205   {{Makefile.mingw}} is can be used in {{cmd.exe}} with the version of make
     203  {{Makefile.mingw}} can be used in {{cmd.exe}} with the version of make
    206204  that comes with mingw.  {{Makefile.mingw-msys}}
    207205  uses unix commands such as {{cp}} and {{rm}}.  The end product is the
     
    220218The simplest development environment is a text editor and terminal
    221219window (Windows: Command Prompt, OSX: Terminal, Linux/Unix: xterm) for
    222 using the interpreter and/or calling the compiler.  If you install one
     220using the interpreter and/or invoking the compiler.  If you install one
    223221of the line editing extensions (e.g., [[/egg/readline|readline]],
    224222[[/egg/parley|parley]], [[/egg/linenoise|linenoise]]), you have some
     
    227225
    228226It will be helpful to use a text editor that knows Scheme; it can be painful
    229 with editors that don't do parenthesis matching and proper
     227with editors that don't do parenthesis matching and automatic
    230228indentation.
    231229
     
    238236To invoke the CHICKEN interpreter, you use the {{csi}} command.
    239237
    240 
    241238 $ csi
    242239 CHICKEN
    243 (c) 2008-2018, The CHICKEN Team
    244 (c) 2000-2007, Felix L. Winkelmann
    245 Version 5.0.0 (rev 6653dce)
    246 linux-unix-gnu-x86-64 [ 64bit dload ptables ]
     240 (c) 2008-2018, The CHICKEN Team
     241 (c) 2000-2007, Felix L. Winkelmann
     242 Version 5.0.0 (rev 6653dce)
     243 linux-unix-gnu-x86-64 [ 64bit dload ptables ]
    247244
    248245 #;1>
     
    357354organize your {{PATH}} according to the task at hand.)
    358355
    359 Compiled code can be intermixed with interpreted code on systems that
    360 support dynamic loading, which includes modern versions of *BSD,
    361 Linux, Mac OS X, Solaris, and Windows.
    362 
    363356We can compile our factorial function, producing a file named
    364357{{fact.so}} (''shared object'' in Linux-ese, the same file extension is
     
    461454
    462455Installing eggs is quite straightforward on systems that support
    463 dynamic loading (again, that would include *BSD, Linux, Mac OS X,
     456dynamic loading (that would include *BSD, Linux, Mac OS X,
    464457Solaris, and Windows).  The command {{chicken-install}} will fetch an
    465458egg from the master CHICKEN repository, and install it on your local
     
    516509
    517510 ;;; fib-user.scm
    518  (import (chicken format))
     511 (import (chicken foreign) (chicken format))
    519512
    520513 #>
  • wiki/man/5/The User's Manual

    r35525 r35527  
    1515* [[Extensions to the standard]] : Extensions to R5RS that CHICKEN provides
    1616* [[Included modules]] : A reference to CHICKEN's core module library
    17 * [[Interface to external functions and variables]] : Accessing C and C++ code and data
     17* [[Interface to external functions and variables]] : Accessing C/C++ code and data
    1818* [[Extensions]] : Packaging and installing extension libraries
    1919* [[Extension tools]] : {{chicken-[un]install}} and {{chicken-status}}
    2020* [[Egg specification format]] : Format of egg description files
    21 * [[Units and linking model]] : How Scheme compilations units are mapped to C
     21* [[Units and linking model]] : How Scheme compilation units are mapped to C
    2222* [[Deployment]] : How to distribute and ship CHICKEN programs and libraries
    2323* [[Cross development]] : Using CHICKEN to cross-compile for other architectures
Note: See TracChangeset for help on using the changeset viewer.