source: project/wiki/vaporbook @ 31126

Last change on this file since 31126 was 31126, checked in by Mario Domenech Goulart, 6 years ago

Properly capitalize CHICKEN on the wiki directory (only first level).

I used the following shell script to change things:

while IFS= read -d $'\0' -r file ; do

sed -i 's/Chicken/CHICKEN/g' "$file"

done < <(find wiki -maxdepth 1 -type f -print0 )

Some files have been manually reverted after that, since some
substitutions don't apply:

  • friedly-chicken (repl banner)
  • survey2011 (Chicken in URI paths)
  • chickenista-guide (Chickenista)

I hope the link canonicalization thing will be on my side.

File size: 3.0 KB
Line 
1== A practical introduction to CHICKEN Scheme
2
3* grab remaining IP ranges from IANA (xml walking demo by Jim's script)
4* Sokoban game implementation
5* Treeview visualising disk usage (graphviz output)
6* mail log parser with irregex (using predefined regular expressions)
7* INI file parser
8* netcat redirecting tcp ports, with a test framework that uses string ports for test cases
9* Link dumping app by html-parser and http-client, page scraping
10
11=== Topic ideas from the old wiki (alaric's machine)
12
13* The chicken way of writing things (read deviations from the standard)
14** srfi-12
15** lowlevel macros
16** the egg system
17* naming conventions (*, ->, ?, with-, call-with-, etc.)
18* chicken-install
19* The power of representing hierarchical data/information as s-expressions (mabye as a preface to the SRE and SXML chapters)
20* The power of closures. As a case in point, many programmers from other languages will often do things like make a list of tasks to perform, with some kind of record describing the task, with a method of the task class to do the task. As closures begin to sink in, they might make a list of records that contain a 'run me' closure to do the task, and a driver function that performs them. Then eventually, they replace that with a single global reference to a closure that, when called, runs the tasks; and queuing a task is done by making a closure that does the work then calls the old closure from the global ref, etc.
21* Talk about call/cc, but emphasise that we use it to create tools like coroutines, threads, and signals; emphasise using such tools rather than putting call/cc into your own code willy-nilly, as call/cc needs a lot of thinking about. It's a powerful tool, but sharp.
22* SREs
23* SXML/SSAX
24* "Shell scripting" tasks
25* C binding example. Someone suggest a simple lib to wrap?
26* Bitparsing using scheme
27* spiffy
28* Filter spam with scheme
29* openurl-server (simple example for daemonization and a tcp server)
30* DSLs
31
32
33== TOC proposal
34
35=== Introduction
36
37[ What Scheme is.  What CHICKEN is.  What eggs are. ]
38
39=== CHICKEN history
40
41=== Getting started
42
43==== Installing CHICKEN
44
45[ How to install CHICKEN on popular operating systems (e.g., Gnu systems, BDSs, Windows).  Mention required tools, installation steps etc. ]
46
47
48==== CHICKEN tools
49
50[ Introduction about the CHICKEN tools ]
51
52===== csi
53
54===== csc
55
56===== chicken-install
57
58===== chicken-uninstall
59
60===== chicken-status
61
62===== chicken-bug
63
64=== "Hello world" programming in CHICKEN
65
66==== A "Hello, world" program
67
68[ How to make an executable program in CHICKEN, both interpreted and compiled. ]
69
70
71==== A "Hello, world" extension
72
73[ How to make a module for a "hello, world" extension ]
74
75
76=== Real-world programming in CHICKEN
77
78
79==== Systems programming
80
81[ File manipulation, using CHICKEN as a replacement for shell scripts, implementing some common shell programs in CHICKEN etc ]
82
83
84==== Web programming
85
86[ Spiffy, SXML/SSAX, Awful, database access ... ]
87
88
89==== Domain Specific Languages
90
91==== Binding CHICKEN to C code
92
93==== Embeding CHICKEN in C applications
Note: See TracBrowser for help on using the repository browser.