Re: [Chicken-users] Optimizer bug

2010-09-05 Thread Sven Hartrumpf
Sat, 04 Sep 2010 20:30:07 +0200 (CEST), hartrumpf wrote:
 Sat, 04 Sep 2010 12:19:48 +0200 (CEST), felix wrote:
 Are these redefinitions genuine or are the warnings bogus?
 
 The warnings are ok because I define the three functions myself.
 Can this be a problem here? 

To answer my own question: I removed my three redefinitions (which were
intended to help the optimizer), but nothing changed.

 Error: (=) bad argument type - not a number: #f
 
   Call history:
 
   syntax (string-append (quote /) (quote #f))
   syntax (quote /)
   syntax (##core#quote /)
   syntax (quote #f)
   syntax (##core#quote #f)
   eval(string-append (quote /) (quote #f))
   syntax (string-number (quote #f))
   syntax (quote #f)
   syntax (##core#quote #f)
   eval(string-number (quote #f)) --
 
 This is during constant folding.

In the compiler output lines folding constant expression:,
the above string-append expression does not occur.

Greetings
Sven

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


Re: [Chicken-users] Optimizer bug

2010-09-05 Thread Felix
From: Sven Hartrumpf hartru...@gmx.net
Subject: Re: [Chicken-users] Optimizer bug
Date: Sun, 05 Sep 2010 10:02:46 +0200 (CEST)

 Sat, 04 Sep 2010 20:30:07 +0200 (CEST), hartrumpf wrote:
 Sat, 04 Sep 2010 12:19:48 +0200 (CEST), felix wrote:
 Are these redefinitions genuine or are the warnings bogus?
 
 The warnings are ok because I define the three functions myself.
 Can this be a problem here? 

This can always be a problem, since the compiler is treating these
as builtin (standard-bindings) and will replace their use with
his own variants.

 Error: (=) bad argument type - not a number: #f
 
   Call history:
 
   syntax (string-append (quote /) (quote #f))
   syntax (quote /)
   syntax (##core#quote /)
   syntax (quote #f)
   syntax (##core#quote #f)
   eval(string-append (quote /) (quote #f))
   syntax (string-number (quote #f))
   syntax (quote #f)
   syntax (##core#quote #f)
   eval(string-number (quote #f)) --
 
 This is during constant folding.
 
 In the compiler output lines folding constant expression:,
 the above string-append expression does not occur.
 

Can you send me the output of -debug hoplite?
Do you define a global constant that holds / or #\/? How
is it named?


cheers,
felix

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


[Chicken-users] Status of 4.5.0 vs. 4.5.7 / TinyCLOS

2010-09-05 Thread Mike Anderson

Hello,

I'm new to Chicken, and confused as to what is the current stable release.

According to the Download link at call-cc.org, the current release is 
4.5.0, but in the Development snapshots, there is 4.5.7. Meanwhile, I 
tried to install the TinyCLOS egg, and it seems that it depends on a 
feature introduced in 4.5.2 (-no-procedure-checks-for-toplevel-bindings).


I want to use TinyCLOS, so I'm about to install 4.5.7 in any case, but I 
would like to know if that means I'm on a development release. 
Alternatively, is there is a way of installing TinyCLOS against 4.5.0 ?


Thanks in advance,

Mike

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


[Chicken-users] A proposal for the egg index

2010-09-05 Thread Alaric Snell-Pym


Re http://wiki.call-cc.org/chicken-projects/egg-index-4.html

Here's a few ideas I had. Do people think there's merit in them?

1) Alongside/under the version link for each egg, provide a browse
source link to
http://bugs.call-cc.org/browser/release/4/EGG/tags/VERSION or to
http://bugs.call-cc.org/browser/release/4/EGG/trunk if there's no
tags. Perhaps a link to /trunk as well labelled browse trunk source if
there IS a tag. This will make it easy for people to dive in and see how
an egg works under the hood.

2) For each egg, a link to
http://wiki.call-cc.org/eggref/4/EGG/discussion or some such, to
encourage user feedback, feature requests, etc.

Where's the tool that generates this page live, anyway? If there's
interest in either of the above, I'm happy to propose a patch.

ABS

--
Alaric Snell-Pym
http://www.snell-pym.org.uk/alaric/

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


[Chicken-users] Incremental build, tricks or tips anyone?

2010-09-05 Thread Matthew Welland
I am updating some old code and the build broke because chicken-config no 
longer exists.  It took a while but I finally found that all I had to do was 
replace chicken-config with csc. I.e. csc -cflags in place of chicken-config 
-cflags.

My question is, does anyone have a nicer way of doing this? I sometimes work 
on very weak machines such as single board computers and really appreciate 
build times of seconds instead of minutes when only one file has changed. 

src_code  := laedlib tc_laedlib re-route 
scm_files := $(addprefix ../scm/,$(addsuffix .scm,$(src_code)))
c_files   := $(addprefix src/,$(addsuffix .c,$(src_code)))
o_files   := $(addprefix src/,$(addsuffix .o,$(src_code)))

$(c_files): src/%.c: ../scm/%.scm ../scm/macros.scm
chicken $ -output-file $@

$(o_files): src/%.o: src/%.c
gcc -c $ `chicken-config -cflags` -o $@

$(src_code): %: src/%.o src/laedlib.o
gcc src/$*.o src/laedlib.o -o $* `chicken-config -libs`

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


[Chicken-users] tinyclos fails to install ...

2010-09-05 Thread Matthew Welland
I don't see any options to force chicken-install to use an older version of 
an egg. Is my only option to either manually get the older egg or manually 
make a new chicken?

sudo chicken-install tinyclos

...
checking dependencies for `tinyclos' ...
install order:
(tinyclos)
installing tinyclos: ...
changing current directory to /tmp/chicken-install-2e0.tmp/tinyclos
  /usr/bin/csi -bnq -setup-mode -e (require-library setup-api) -e (import 
setup-api) -e (extension-name-and-version '(\tinyclos\ \\)) 
/tmp/chicken-install-2e0.tmp/tinyclos/tinyclos.setup
  /usr/bin/csc -feature compiling-extension -setup-mode   tinyclos.scm -s -j 
tinyclos -disable-interrupts -fixnum-arithmetic -no-procedure-checks-for-
toplevel-bindings -no-bound-checks -O3 -d1
csc: invalid option `-no-procedure-checks-for-toplevel-bindings'

Error: shell command failed with nonzero exit status
16384
/usr/bin/csc -feature compiling-extension -setup-mode   tinyclos.scm -s -j 
tinyclos -disable-interrupts -fixnum-arithmetic -no-procedure-checks-for-
toplevel-bindings -no-bound-checks -O3 -d1
Error: shell command terminated with nonzero exit code
17920
/usr/bin/csi -bnq -setup-mode -e \(require-library setup-api)\ -e 
\(import s...

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


Re: [Chicken-users] A proposal for the egg index

2010-09-05 Thread Peter Bex
On Sun, Sep 05, 2010 at 10:21:35PM +0100, Alaric Snell-Pym wrote:
 
 Re http://wiki.call-cc.org/chicken-projects/egg-index-4.html
 
 Here's a few ideas I had. Do people think there's merit in them?
 
 1) Alongside/under the version link for each egg, provide a browse
 source link to
 http://bugs.call-cc.org/browser/release/4/EGG/tags/VERSION or to
 http://bugs.call-cc.org/browser/release/4/EGG/trunk if there's no
 tags. Perhaps a link to /trunk as well labelled browse trunk source if
 there IS a tag. This will make it easy for people to dive in and see how
 an egg works under the hood.

I think that could be useful.  Alternatively, we could educate people
about chicken-install -r

I'm a little worried that the egg index would become too complex or
overwhelming for first-time users though.

 2) For each egg, a link to
 http://wiki.call-cc.org/eggref/4/EGG/discussion or some such, to
 encourage user feedback, feature requests, etc.

That seems like a good idea, but we've had discussion pages for the
entire duration of our svnwiki use, and to my knowledge nobody ever used
them.  Because of that I didn't build discussion pages into qwiki, since
it would be just another unused feature I'd have to maintain.

 Where's the tool that generates this page live, anyway?

I'd guess somewhere under chicken-eggs/maintenance, but I can't find it.

Cheers,
Peter
-- 
http://sjamaan.ath.cx
--
The process of preparing programs for a digital computer
 is especially attractive, not only because it can be economically
 and scientifically rewarding, but also because it can be an aesthetic
 experience much like composing poetry or music.
-- Donald Knuth

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


Re: [Chicken-users] tinyclos fails to install ...

2010-09-05 Thread Matthew Welland
Nevermind. I just did the following and am able to move forward:

chicken-install -r tinyclos;cd tinyclos
perl -pi.bak -e 's/-no-procedure-checks-for-toplevel-bindings//' *.setup
chicken-install -sudo

On Sunday 05 September 2010 03:24:27 pm Matthew Welland wrote:
 I don't see any options to force chicken-install to use an older version
  of an egg. Is my only option to either manually get the older egg or
  manually make a new chicken?
 
 sudo chicken-install tinyclos
 
 ...
 checking dependencies for `tinyclos' ...
 install order:
 (tinyclos)
 installing tinyclos: ...
 changing current directory to /tmp/chicken-install-2e0.tmp/tinyclos
   /usr/bin/csi -bnq -setup-mode -e (require-library setup-api) -e
  (import setup-api) -e (extension-name-and-version '(\tinyclos\
  \\)) /tmp/chicken-install-2e0.tmp/tinyclos/tinyclos.setup
   /usr/bin/csc -feature compiling-extension -setup-mode   tinyclos.scm -s
  -j tinyclos -disable-interrupts -fixnum-arithmetic
  -no-procedure-checks-for- toplevel-bindings -no-bound-checks -O3 -d1
 csc: invalid option `-no-procedure-checks-for-toplevel-bindings'
 
 Error: shell command failed with nonzero exit status
 16384
 /usr/bin/csc -feature compiling-extension -setup-mode   tinyclos.scm -s
  -j tinyclos -disable-interrupts -fixnum-arithmetic
  -no-procedure-checks-for- toplevel-bindings -no-bound-checks -O3 -d1
 Error: shell command terminated with nonzero exit code
 17920
 /usr/bin/csi -bnq -setup-mode -e \(require-library setup-api)\ -e
 \(import s...
 
 ___
 Chicken-users mailing list
 Chicken-users@nongnu.org
 http://lists.nongnu.org/mailman/listinfo/chicken-users
 

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


Re: [Chicken-users] A proposal for the egg index

2010-09-05 Thread Ivan Raikov

Hi Alaric,

   The script that generates egg pages is make-egg-index.scm (found
under directory scripts in the core Chicken distribution). I like the
idea of linking to the source, so let's see what the egg table would
look like if this link is added. Although it might make more sense to
add this link to the salmonella reports page, since this would be more
of interest to developers.

   As for the discussion, I think it is better if we keep all
discussions in one place (e.g. the users mailing list). Having too many
scattered places for discussion would make it more difficult to track
information and questions related to one egg.

   -Ivan

Alaric Snell-Pym ala...@snell-pym.org.uk writes:

 Re http://wiki.call-cc.org/chicken-projects/egg-index-4.html

 Here's a few ideas I had. Do people think there's merit in them?

 1) Alongside/under the version link for each egg, provide a browse
 source link to
 http://bugs.call-cc.org/browser/release/4/EGG/tags/VERSION or to
 http://bugs.call-cc.org/browser/release/4/EGG/trunk if there's no
 tags. Perhaps a link to /trunk as well labelled browse trunk source if
 there IS a tag. This will make it easy for people to dive in and see how
 an egg works under the hood.

 2) For each egg, a link to
 http://wiki.call-cc.org/eggref/4/EGG/discussion or some such, to
 encourage user feedback, feature requests, etc.

 Where's the tool that generates this page live, anyway? If there's
 interest in either of the above, I'm happy to propose a patch.

 ABS

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


Re: [Chicken-users] Incremental build, tricks or tips anyone?

2010-09-05 Thread Jim Ursetto
Matthew,
Would it be possible for you to use the make macro that is built into setup-api 
(and therefore chicken-install), along with 'csc -t' for example to do the 
translation from .c to .o, rather than manually invoking gcc? csc can also be 
called in a separate step to link your object files together.  And you should 
be able to obtain the names of your source files via scheme calls.
Jim

On Sep 5, 2010, at 16:52, Matthew Welland m...@kiatoa.com wrote:

 I am updating some old code and the build broke because chicken-config no 
 longer exists.  It took a while but I finally found that all I had to do was 
 replace chicken-config with csc. I.e. csc -cflags in place of 
 chicken-config 
 -cflags.
 
 My question is, does anyone have a nicer way of doing this? I sometimes work 
 on very weak machines such as single board computers and really appreciate 
 build times of seconds instead of minutes when only one file has changed. 
 
 src_code  := laedlib tc_laedlib re-route 
 scm_files := $(addprefix ../scm/,$(addsuffix .scm,$(src_code)))
 c_files   := $(addprefix src/,$(addsuffix .c,$(src_code)))
 o_files   := $(addprefix src/,$(addsuffix .o,$(src_code)))
 
 $(c_files): src/%.c: ../scm/%.scm ../scm/macros.scm
   chicken $ -output-file $@
 
 $(o_files): src/%.o: src/%.c
   gcc -c $ `chicken-config -cflags` -o $@
 
 $(src_code): %: src/%.o src/laedlib.o
   gcc src/$*.o src/laedlib.o -o $* `chicken-config -libs`
 
 ___
 Chicken-users mailing list
 Chicken-users@nongnu.org
 http://lists.nongnu.org/mailman/listinfo/chicken-users

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


Re: [Chicken-users] tinyclos fails to install ...

2010-09-05 Thread Jim Ursetto
On Sep 5, 2010, at 17:24, Matthew Welland m...@kiatoa.com wrote:

 I don't see any options to force chicken-install to use an older version of 
 an egg. Is my only option to either manually get the older egg or manually 
 make a new chicken?

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


Re: [Chicken-users] tinyclos fails to install ...

2010-09-05 Thread Matthew Welland
- Original message -
 On Sep 5, 2010, at 17:24, Matthew Welland m...@kiatoa.com wrote:
 
  I don't see any options to force chicken-install to use an older
  version of   an egg. Is my only option to either manually get the older
  egg or manually   make a new chicken?
 
 chicken-install tinyclos:1.6.4

Very nice. Works perfectly and of course now I see it in the help and versions 
are listed on the egg page.___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users