[Chicken-users] Wikipedia

2009-10-19 Thread Tony Sidaway
The Wikipedia article on Scheme had been of rather poor quality for
some time and I always meant to do something about that.

During the past week or so I've given it a pretty severe rewrite, and
in doing so I've learned a lot about Scheme, and particularly its
history, that I didn't realise I didn't know.

http://en.wikipedia.org/wiki/Scheme_(programming_language)

Note that the article is very strongly biased toward R5RS.  I think
this is in keeping with the "neutral point of view" principle, in
which subjects are covered according to their importance.  Clearly
R5RS is going to be around for a good long time and is the de facto
standard for all but a few Scheme implementations, whereas R6RS got
off to a very shaky start and hasn't yet gained widespread acceptance
among implementers;

I've started, but will need a lot more time to complete, a
comprehensive history of Scheme, starting with "prehistory", the first
block structured programming languages and the first Lisps, and
eventually coming down to the present-day language.  I have a lot of
material for this because Geral Jay Sussman and Guy L. Steele have
never hidden their pride at having produced such a gem, but it all has
to be read through and digested.

http://en.wikipedia.org/wiki/History_of_the_Scheme_programming_language

I offer this up in the knowledge that  others on this list may find it
interesting, and of course any help in researching the history would
always be welcome.


___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users


[Chicken-users] alexpander egg

2009-10-19 Thread John Cowan
I intend to port the alexpander egg to Chicken 4, or rather to port
alexpander to Chicken 4, because the new egg will be based on upstream
version 1.65 rather than 1.58.  Because there is no longer a macro
processing hook in Chicken 4, this egg will be strictly for run-time use,
for people who want to safely and correctly expand syntax-rules macros
in their own compilers or interpreters or other code walkers.

The result of alexpander expansion contains only variable references,
procedure calls, begin (without internal definitions), define (only the
simple form), delay, if, lambda (with only one body expression), LETREC
(with only one body expression), quote, and set!

Also, there are syntax-rules definitions of numerous non-R5RS macros.
I don't want to clutter up the module with these, so I'll make them
into a big quoted list and expose the list as extra-macros or the like.
If you want them, you can prepend them to the code to be expanded.

I currently intend only to support the entry points documented in the
source code (but not, unfortunately, in the egg):  alexpander-repl,
expand-program, expand-top-level-forms, and expand-top-level-forms!,
plus the utility procedures null-store and null-loc-n and the value
null-output.

If anyone has Chicken 3 programs that use alexpander at run time, and
require any other entry points to be exported, please let me know.

-- 
John Cowanco...@ccil.orghttp://ccil.org/~cowan
Nobody expects the RESTifarian Inquisition!  Our chief weapon is
surprise ... surprise and tedium  ... tedium and surprise 
Our two weapons are tedium and surprise ... and ruthless disregard
for unpleasant facts  Our three weapons are tedium, surprise, and
ruthless disregard ... and an almost fanatical devotion to Roy Fielding


___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users


[Chicken-users] Can't install srfi-27

2009-10-19 Thread Jeronimo Pellegrini
Hello,

I have tried to install the srfi-27 egg (after removing all
traces of my Chicken installation, recompiling Chicken 4.2.0
and installing again), and it fails:

/-
* Installing documentation files in /usr/local/share/chicken/doc:

Warning: file does not exist: "mathh.html"

  chmod a+r /usr/local/lib/chicken/4/mathh.setup-info
installing srfi-27: ...
changing current directory to /tmp/chicken-install-1ac.tmp/srfi-27
  /usr/local/bin/csi -bnq -setup-mode -e "(require-library setup-api)" -e 
"(import setup-api)" -e "(extension-name-and-version '(\"srfi-27\" \"\"))" 
/tmp/chicken-install-1ac.tmp/srfi-27/srfi-27.setup

Error: unterminated list in line 34
Error: shell command terminated with nonzero exit code
17920
"/usr/local/bin/csi -bnq -setup-mode -e \"(require-library setup-api)\" -e 
\"(im...
\-

That was after a "chicken install srfi-27"

The dependencies seem to have been installed successfully:

/
check-errors 
..
 version: 1.7.0
chicken-wrap 
...
 version: 1.96
conditions 

 version: 1.7.0
dollar 

 version: 2.0.1
easyffi 

 version: 1.96
easyffi-base 
...
 version: 1.96
matchable 
.
 version: 2.4.2
mathh 
.
 version: 2.1.0
miscmacros 
.
 version: 2.6c
numbers 
...
 version: 1.809
setup-helper 
..
 version: 1.1.4
silex 
...
 version: 1.2
synch 
.
 version: 2.1.0
type-checks 
...
 version: 1.7.0
type-errors 
...
 version: 1.7.0
vector-lib 
..
 version: 1.2
\

So I tried "chicken-install -k srfi-27":

/---
installing srfi-27: ...
changing current directory to /tmp/chicken-install-3a3.tmp/srfi-27
  /usr/local/bin/csi -bnq -setup-mode -e "(require-library setup-api)" -e 
"(import setup-api)" -e "(extension-name-and-version '(\"srfi-27\" \"\"))" -e 
"(keep-intermediates #t)" /tmp/chicken-install-3a3.tmp/srfi-27/srfi-27.setup

Error: unterminated list in line 34
Error: shell command terminated with nonzero exit code
17920
"/usr/local/bin/csi -bnq -setup-mode -e \"(require-library setup-api)\" -e 
\"(im...
\---

and looked at the file mentioned 
(/tmp/chicken-install-3a3.tmp/srfi-27/srfi-27.setup):

/
 "srfi-27.setup  -*- Hen -*-

(include "setup-helper")

(verify-extension-name "srfi-27")

(setup-shared-extension-module 'entropy-source

(setup-shared-extension-module 'entropy-support

(setup-shared-extension-module 'entropy-clock

(setup-shared-extension-module 'entropy-fixed

#+unix
(setup-shared-extension-module 'entropy-unix

#+windows
(setup-shared-extension-module 'entropy-windows

(setup-shared-extension-module 'random-source

(setup-shared-extension-module 'srfi-27-large-numbers

(setup-shared-extension-module 'mrg32k3a

(setup-shared-extension-module 'mwc

(setup-shared-extension-module 'moa

(setup-shared-extension-module 'srfi-27 (extension-version "0.0.0"))

(setup-shared-extension-module 'srfi-27-distributions
\

What could have gone wrong? Is there something I should do before installing
the egg?

Thanks a lot,
J.



___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users