X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=_learning_scheme.mdwn;h=27b7d4a97fd67a9f038c41d5c134f405d722a843;hp=3a83771f1c317ea1c0e45c56687d0cf2f789651f;hb=1802c929504dca64df23e922eaac1c60625fcad7;hpb=bead03d7fdb076e94ca1aac6e011b328c11eb82b diff --git a/_learning_scheme.mdwn b/_learning_scheme.mdwn index 3a83771f..27b7d4a9 100644 --- a/_learning_scheme.mdwn +++ b/_learning_scheme.mdwn @@ -12,6 +12,7 @@ ## Tutorials ## * [Welcome to Racket](http://docs.racket-lang.org/guide/intro.html#%28part._.Interacting_with_.Racket%29) from Racket Guide +* Chicken [Getting started](http://wiki.call-cc.org/man/4/Getting%20started) If you are new to programming or if you have the patience to do so, you should work through a textbook: @@ -32,60 +33,91 @@ If you're already a programmer and you're in more of a hurry: ## Advanced Racket Docs ## * [Racket Guide](http://docs.racket-lang.org/guide/index.html) starts with a tutorial, then describes the rest of the Racket language. Intended for programmers who are new to (at least some part of) Racket. If you are new to programming, you should instead start with one of the textbooks listed above. Describes parts of the Racket language that go beyond the learning-oriented fragments of HtDP. -* [Racket Reference Manual](http://docs.racket-lang.org/reference/index.html) defines the core Racket language and its most prominent libraries. Less friendly than Racket Guide, but more precise and complete. +* [Racket Reference](http://docs.racket-lang.org/reference/index.html) defines the core Racket language and its most prominent libraries. Less friendly than Racket Guide, but more precise and complete. *
-Racket API Search: +Racket API Search: | +racket/[help](http://docs.racket-lang.org/reference/Interactive_Help.html)
-* [#lang r5rs](http://docs.racket-lang.org/r5rs/index.html), "cons" expresses mcons +* [#lang r5rs](http://docs.racket-lang.org/r5rs/index.html), `'cons` expresses `mcons` * [#lang r6rs](http://docs.racket-lang.org/r6rs/index.html) or #!r6rs * Supported [SRFIs](http://docs.racket-lang.org/srfi/index.html) +* [Libraries and collections](http://docs.racket-lang.org/reference/collects.html) * [(require data)](http://docs.racket-lang.org/data/index.html) -[(require math)](http://docs.racket-lang.org/math/index.html) -* The [Stepper](http://docs.racket-lang.org/stepper/index.html) +* [(require math)](http://docs.racket-lang.org/math/index.html) +* racket/[enter and rerequire](http://docs.racket-lang.org/reference/interactive.html) +* [Debugging](http://docs.racket-lang.org/reference/debugging.html) | +the [Stepper](http://docs.racket-lang.org/stepper/index.html) +* [Deploying](http://docs.racket-lang.org/guide/running.html) +* [raco](http://docs.racket-lang.org/raco/index.html) cmdline tool + + +* Macros in [Guide](http://docs.racket-lang.org/guide/macros.html) | +[Reference](http://docs.racket-lang.org/reference/Macros.html) * [Macro debugger](http://docs.racket-lang.org/macro-debugger/index.html) -* [Syntax: Meta-Programming Helpers](http://docs.racket-lang.org/syntax/index.html) + * Racket: [latest release](http://download.racket-lang.org/) | [blog](http://blog.racket-lang.org/) | [wiki](https://github.com/plt/racket/wiki) -* [raco](http://docs.racket-lang.org/pkg/) package manager, [also](http://docs.racket-lang.org/raco/index.html) -* [package repository](http://pkgs.racket-lang.org/#) -* [Style guide](http://docs.racket-lang.org/style/index.html) "How to Program Racket" +* [Style guidelines](http://docs.racket-lang.org/style/index.html) +* [raco pkg](http://docs.racket-lang.org/pkg/) package manager | +[repository](http://pkgs.racket-lang.org/#) * Racket [source](https://github.com/plt/racket/) | [bugs](http://bugs.racket-lang.org/) -* Typed Racket [guide](http://docs.racket-lang.org/ts-guide/index.html) [ref](http://docs.racket-lang.org/ts-reference/index.html) +* [[Extending Racket]] +* Typed Racket [Guide](http://docs.racket-lang.org/ts-guide/index.html) | +[Reference](http://docs.racket-lang.org/ts-reference/index.html) * [Lazy Racket](http://docs.racket-lang.org/lazy/index.html) * [PLT Redex](http://redex.racket-lang.org/), for specifying and testing operational semantics - ## Advanced Chicken Docs ## - +* [(declare (uses *unit*)) vs (include "*path*")](http://wiki.call-cc.org/man/4/Basic%20mode%20of%20operation) +* Using [csi](http://wiki.call-cc.org/man/4/Using%20the%20interpreter) | +[csc](http://wiki.call-cc.org/man/4/Using%20the%20compiler) | +[deploying](http://wiki.call-cc.org/man/4/Deployment) +* Supported [language](http://wiki.call-cc.org/man/4/Supported%20language) | +[standards](http://wiki.call-cc.org/supported-standards) *
Chicken API Search: Chickadee
+* [FAQ](http://wiki.call-cc.org/man/4/faq) +* Chicken [development](http://code.call-cc.org/#development) | +[process](http://wiki.call-cc.org/development-process) | +[bugs](http://bugs.call-cc.org/) + + + +* [Data model](http://wiki.call-cc.org/man/4/Data%20representation) | +[internals](http://wiki.call-cc.org/Internals) | +[FFI](http://wiki.call-cc.org/man/4/Interface%20to%20external%20functions%20and%20variables) +* [Eggs](http://wiki.call-cc.org/eggs) | +[Eggs2](http://wiki.call-cc.org/man/4/Extensions) | +[Repository](http://wiki.call-cc.org/chicken-projects/egg-index-4.html) +* [Distributed egg repos](http://wiki.call-cc.org/distributed-egg-repos) +* [chicken-setup](http://manpages.ubuntu.com/manpages/karmic/man1/chicken-setup.1.html) +* [chicken-install](http://manpages.ubuntu.com/manpages/utopic/en/man1/chicken-install.1.html) +* Tutorial on writing eggs: [1](http://shisaa.jp/postset/chicken-scheme-1.html) [2](http://shisaa.jp/postset/chicken-scheme-2.html) [3](http://shisaa.jp/postset/chicken-scheme-3.html) ## Other Scheme Links ## -The Scheme language is standardized; the various implementations of the -language usually adhere to what's published in the current standard and add on -different handy extensions. The first standard was published in 1975. A -revision was published a few years later called "The revised report on Scheme, a -dialect of Lisp." Thereafter, revisions of the standard were titled "The -Revised Revised Report..." and so on, or "The Revised^n Report..." for -short. One widely implemented standard is [The -Revised^5 Report on Scheme](http://www.schemers.org/Documents/Standards/R5RS/HTML/), -or R5RS, published in 1998. -Another standard [R6RS](http://www.r6rs.org/final/html/r6rs/r6rs.html) ([libraries](http://www.r6rs.org/final/html/r6rs-lib/r6rs-lib.html)) +The Scheme language is standardized; the various implementations of the language usually adhere to what's published in the current standard and add on +different handy extensions. The first standard was published in 1975. A revision was published a few years later called "The revised report on Scheme, a +dialect of Lisp." Thereafter, revisions of the standard were titled "The Revised Revised Report..." and so on, or "The Revised^n Report..." for +short. One widely implemented standard is +[The Revised^5 Report on Scheme](http://www.schemers.org/Documents/Standards/R5RS/HTML/), +or R5RS, published in 1998. Another standard +[R6RS](http://www.r6rs.org/final/html/r6rs/r6rs.html) +([libraries](http://www.r6rs.org/final/html/r6rs-lib/r6rs-lib.html)) was ratified in 2007, but had many detractors and wasn't fully accepted in the community. Currently Scheme is being split into a lean minimal base, now ratified as [R7RS-small](http://trac.sacrideo.us/wg/raw-attachment/wiki/WikiStart/r7rs.pdf) ([errata](http://trac.sacrideo.us/wg/wiki/R7RSSmallErrata)), @@ -102,4 +134,35 @@ and a richer language * [Programming Languages: Application and Interpretation/2ed](http://cs.brown.edu/courses/cs173/2012/book/) * The [Schematics Scheme Cookbook](http://schemecookbook.org/) is a collaborative effort to produce documentation and recipes for using Scheme for common tasks. * [The Adventures of a Pythonista in Schemeland](http://www.phyast.pitt.edu/~micheles/scheme/index.html) +* [Comparing Chicken to C, Python, and Perl](http://wiki.call-cc.org/language-comparison) +* [Chicken for Pythonistas](http://wiki.call-cc.org/chicken-for-python-programmers) * [Stack Overflow](http://stackoverflow.com/questions/tagged/scheme?sort=faq) questions tagged "scheme" +* Chicken [Tips and tricks](http://wiki.call-cc.org/tips%20and%20tricks) + + + +* [huh?](https://acm.wustl.edu/functional/scheme.php) +* [Scheme Wiki](http://community.schemewiki.org/) +* [Documents at Schemers.org](http://www.schemers.org/Documents/) +* [h vs s](http://www.reddit.com/r/programming/comments/nq1k/haskell_and_scheme_which_one_and_why/) +* Chicken Interview Part [1](http://spin.atomicobject.com/2013/05/02/chicken-scheme-part-1/) [2](http://spin.atomicobject.com/2013/06/19/chicken-scheme-spock-part-2/) + + + + +