Re: [Chicken-users] compiling 32bit chicken on x86_64

2008-10-29 Thread Daishi Kato
Here it is:

make -f Makefile.linux32 all
make[1]: Entering directory `/home/daishi/src/chicken-3.2.0'
gcc -m32 -shared  \
  -o libchicken.so library.o eval.o data-structures.o extras.o lolevel.o 
utils.o tcp.o srfi-1.o srfi-4.o srfi-13.o srfi-14.o srfi-18.o srfi-69.o 
posixunix.o regex.o scheduler.o profiler.o stub.o match.o runtime.o 
pcre/pcre_compile.o pcre/pcre_config.o pcre/pcre_dfa_exec.o pcre/pcre_exec.o 
pcre/pcre_fullinfo.o pcre/pcre_get.o pcre/pcre_globals.o pcre/pcre_info.o 
pcre/pcre_maketables.o pcre/pcre_newline.o pcre/pcre_ord2utf8.o 
pcre/pcre_refcount.o pcre/pcre_study.o pcre/pcre_tables.o 
pcre/pcre_try_flipped.o pcre/pcre_ucp_searchfuncs.o pcre/pcre_valid_utf8.o 
pcre/pcre_version.o pcre/pcre_xclass.o pcre/pcre_chartables.o apply-hack.x86.o 
-lm -ldl
/usr/bin/ld: cannot find -lgcc_s_32
collect2: ld returned 1 exit status
make[1]: *** [libchicken.so] Error 1
make[1]: Leaving directory `/home/daishi/src/chicken-3.2.0'
make: *** [all] Error 2

I'm not sure if it's a chicken issue...

Best,
Daishi

At Wed, 29 Oct 2008 15:50:28 +0100,
felix winkelmann wrote:
> 
> On Wed, Oct 29, 2008 at 3:33 PM, Daishi Kato <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > Has anybody tried compiling 32bit chicken on x86_64?
> > I made a special Makefile, but giving me an error.
> > I'm totally not sure if this is the right way or not.
> > Thanks for any comments.
> 
> Can you give us the error message?
> 
> 
> cheers,
> felix
> 
> **
>  XREA.COM -Free Web Hosting-
>  http://www.xrea.com/
> **


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


Re: [Chicken-users] Bug in canonical-path?

2008-10-29 Thread Ivan Raikov

  Actually, I think it would be nice to have a tool that can
automatically create a custom Chicken shared library that only
includes the units that user specifies, and perhaps that can also
statically link eggs to that library. For example, if I want to deploy
a standalone application that does not use the regex and tcp units,
but uses matchable and filepath, this hypothetical tool would be able
to create a Chicken library that includes statically compiled
syntax-case, matchable and filepath, but no regex or tcp units. What
do people think about this?

   -Ivan


Peter Bex <[EMAIL PROTECTED]> writes:

> I think Ivan is not suggesting _adding_ this to core, but rather
> _replacing_ what we have in core with this.  In total, this should
> have the net effect of adding nothing (though I don't know how big
> both libraries are).


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


Re: [Chicken-users] Bug in canonical-path?

2008-10-29 Thread Elf

On Wed, 29 Oct 2008, Peter Bex wrote:


On Wed, Oct 29, 2008 at 11:03:30AM +0100, felix winkelmann wrote:

On Wed, Oct 29, 2008 at 9:04 AM, Ivan Raikov <[EMAIL PROTECTED]> wrote:


Hi all,

  I have been meaning to port the Haskell FilePath library to
Chicken, because I find its API to be quite elegant and better
organized than the existing file name manipulation routines in
Chicken. This discussion has prompted me to create the filepath egg,
which is an almost verbatim transliteration of the Haskell code, with
a few Chicken-specific idioms here and there. I have included a flag
parameter, which can be used to enable "Posix" mode or "Windows"
mode for path name parsing and manipulation. The Windows mode supports
weird things like UNC names and is aware of the DOS reserved names
(CON, PRN, etc). I would appreciate it if people look at it, as I
would like to see some variant of this API supersede the existing
Chicken path manipulation stuff.



That library looks useful - nice port, Ivan.

I would keep these things in extensions, though. There is already too much
stuff in the core (I know I keep repeating this, but I'm really concerned about
it).


I think Ivan is not suggesting _adding_ this to core, but rather
_replacing_ what we have in core with this.  In total, this should
have the net effect of adding nothing (though I don't know how big
both libraries are).




filepath is fairly large.  canonical-path and friends, together, are tiny.
they are not addressing the same set of issues, regardless.

again: canonical-path does not do existence checking.  it is not meant to. 
it is intended to create localised canonical forms of a path in any 
representation as an aid to installation and naming portability.


-elf



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


Re: [Chicken-users] improved inlining

2008-10-29 Thread Sven Hartrumpf
Hi Felix.

Excellent move! I can confirm that inlining is often the key
to widen performance bottle necks. And if I understand your
modification correctly, it might even allow to inline functions
from the chicken "core" if one generates suitable inline files.
But let's start by collecting some experiences with the easier
uses of inlining, e.g. inlining of code from extensions.

Ciao
Sven

P.S.
The resulting chicken (after clean and confclean) is not usable:
> chicken
Error: unbound variable: ##compiler#initialize-compiler


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


Re: [Chicken-users] s11n and tinyclos

2008-10-29 Thread felix winkelmann
On Fri, Oct 24, 2008 at 7:43 AM, Shawn Rutledge
<[EMAIL PROTECTED]> wrote:
>>
>> Or anything that has a global identity, beyond built-in. Need some kind of
>> '(remain )' to designate existing "root" objects, i.e. objects that
>> will exist when the de-serialization occurs. How to handle the "root"
>> dependency is unspecified.
>
> That was a long time ago... now I just found myself wanting to try
> this too.  The behavior is different:
>
> #;1> (use s11n)
> ; loading /usr/lib64/chicken/3/s11n.so ...
> #;2> (use tinyclos)
> ; loading /usr/lib64/chicken/3/tinyclos.scm ...
> ; loading /usr/lib64/chicken/3/tinyclos-base.so ...
> #;3> (define-class  () (element))
> #;4> (define-method (initialize (thing ) (element ))
>  (slot-set! thing 'element element))
> #;5> (let ((port (open-output-file "~/thing.txt"))
>  (thing (make  "allo")))
>  (serialize thing port)
>  (close-output-port port))
> Error: (serialize) unable to serialize object - unable to serialize
> procedure (no table entry found): #

This means that no entry is stored in the local "procedure table".
What's the output of "chicken -version"? Does it show "ptables"?


cheers,
felix


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


[Chicken-users] Re: improved inlining

2008-10-29 Thread felix winkelmann
I forgot to add that "-debug i" will show a lot of useful output, in
case you want to experiment.


cheers,
felix


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


[Chicken-users] improved inlining

2008-10-29 Thread felix winkelmann
Hi!


I have added some inlining improvements to the trunk that
might be of interest: together with a bit of compiler cleanup,
inlining has been made more aggressive (a higher default setting
for "inline-limit") and a new compilation mode ("local") has been
added. "local" is what gambit calls "block": it assumes the toplevel
variables in the current compilation unit are not changed outside
of the current one. Note that this is weaker than our "block" mode, which
effectively hides all toplevel variables, allowing to drop definitions
entirely if unused. In this mode, toplevel definitions
can be inlined, if they are assigned only once.

To enable "local" mode, use the "-local" option. Note that
you still have to enable inlining explicitly with "-inline". The
optimization levels have been changed so that -O3 enables
-local -inline (but is still safe) and -O4 adds "-unsafe".

The benchmark suite has been improved (there is a toplevel
"bench" target now) and some tests from the shootout have been
added. The performance gains from local mode vary between
pathetic and dramatic - it is particularly beneficial when you have
many small exported accessor functions, for example.

The new option "-inline-global" allows cross-module inlining by
making functions defined in other compilation units available
for inlining (for units used via "(declare (uses ...))" or extensions
loaded via "(require-extension ...)" or "(require-library ...)").

The way this works is that yet another option "-emit-inline-file FILENAME"
writes inlining-candidates in the internal compiler tree format to a file and
the compiler (with -inline-global) looks for a suitable file named
".inline".
These inline files can be installed together with import libs and
compiled extensions in
the local extension repository.

So it goes somewhat like this:

% csc foo.scm -emit-inline-file foo.inline   # -emit-inline-file
implies "-inline -local"
% csc bar.scm -inline-global # uses "foo", somehow

This facility hasn't been tested a lot, so one will have to experiment a
little. As chicken applications tend to use a growing number of extensions,
getting cross-module inlining to work effectively can significantly improve
performance. Any feedback is greatly appreciated.


cheers,
felix


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


Re: [Chicken-users] compiling 32bit chicken on x86_64

2008-10-29 Thread felix winkelmann
On Wed, Oct 29, 2008 at 3:33 PM, Daishi Kato <[EMAIL PROTECTED]> wrote:
> Hi,
>
> Has anybody tried compiling 32bit chicken on x86_64?
> I made a special Makefile, but giving me an error.
> I'm totally not sure if this is the right way or not.
> Thanks for any comments.

Can you give us the error message?


cheers,
felix


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


Re: [Chicken-users] Repository mirror

2008-10-29 Thread Alaric Snell-Pym

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1


On 29 Oct 2008, at 2:06 pm, Peter Bex wrote:


Many thanks again, Alaric, for providing the server space!


This is great! Thanks Alaric!


Since my Life Failure of the past year or so seems to have precluded
me doing any actual programming that doesn't reap an immediate
profit, I'm happy to be doing *something* for the community ;-)

ABS

- --
Alaric Snell-Pym
Work: http://www.snell-systems.co.uk/
Play: http://www.snell-pym.org.uk/alaric/
Blog: http://www.snell-pym.org.uk/?author=4


-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.8 (Darwin)

iEYEARECAAYFAkkIdsIACgkQRgz/WHNxCGrDeACfXeUks68IXDf1I+VE/TLTMqDy
6rcAn0hrXn1aLDxJ8e0OVrIazbth4jUj
=1qjp
-END PGP SIGNATURE-


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


[Chicken-users] compiling 32bit chicken on x86_64

2008-10-29 Thread Daishi Kato
Hi,

Has anybody tried compiling 32bit chicken on x86_64?
I made a special Makefile, but giving me an error.
I'm totally not sure if this is the right way or not.
Thanks for any comments.

Best,
Daishi

% diff Makefile.linux Makefile.linux32 
30c30
< ARCH = $(shell sh config-arch.sh)
---
> ARCH = x86
34c34,35
< C_COMPILER_OPTIONS = -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H
---
> C_COMPILER_OPTIONS = -fno-strict-aliasing -DHAVE_CHICKEN_CONFIG_H -m32
> LINKER_OPTIONS = -m32


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


Re: [Chicken-users] Repository mirror

2008-10-29 Thread Peter Bex
On Wed, Oct 29, 2008 at 03:00:27PM +0100, felix winkelmann wrote:
> Hello!
> 
> Thanks to Alaric and Mario, we have a mirror site for SVN access now:
> 
> http://chicken.kitten-technologies.co.uk/
> 
> The repository is updated hourly and allows read-only access, in
> case there are problems with galinha (or it's connection to the
> 'net).
> 
> The "chicken-install" program has been extended to try several
> download locations, and has been preconfigured to take the
> new mirror site into account (trunk).
> 
> Many thanks again, Alaric, for providing the server space!

This is great! Thanks Alaric!
-- 
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


pgpoQsCzSWos4.pgp
Description: PGP signature
___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users


[Chicken-users] Repository mirror

2008-10-29 Thread felix winkelmann
Hello!


Thanks to Alaric and Mario, we have a mirror site for SVN access now:

http://chicken.kitten-technologies.co.uk/

The repository is updated hourly and allows read-only access, in
case there are problems with galinha (or it's connection to the
'net).

The "chicken-install" program has been extended to try several
download locations, and has been preconfigured to take the
new mirror site into account (trunk).

Many thanks again, Alaric, for providing the server space!


cheers,
felix


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


Re: [Chicken-users] Bug in canonical-path?

2008-10-29 Thread felix winkelmann
On Wed, Oct 29, 2008 at 11:43 AM, Peter Bex <[EMAIL PROTECTED]> wrote:
>>
>> I would keep these things in extensions, though. There is already too much
>> stuff in the core (I know I keep repeating this, but I'm really concerned 
>> about
>> it).
>
> I think Ivan is not suggesting _adding_ this to core, but rather
> _replacing_ what we have in core with this.  In total, this should
> have the net effect of adding nothing (though I don't know how big
> both libraries are).

The current stuff is relatively minimal, compared to the full filepath
library.


cheers,
felix


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


Re: [Chicken-users] Bug in canonical-path?

2008-10-29 Thread Peter Bex
On Wed, Oct 29, 2008 at 11:03:30AM +0100, felix winkelmann wrote:
> On Wed, Oct 29, 2008 at 9:04 AM, Ivan Raikov <[EMAIL PROTECTED]> wrote:
> >
> > Hi all,
> >
> >   I have been meaning to port the Haskell FilePath library to
> > Chicken, because I find its API to be quite elegant and better
> > organized than the existing file name manipulation routines in
> > Chicken. This discussion has prompted me to create the filepath egg,
> > which is an almost verbatim transliteration of the Haskell code, with
> > a few Chicken-specific idioms here and there. I have included a flag
> > parameter, which can be used to enable "Posix" mode or "Windows"
> > mode for path name parsing and manipulation. The Windows mode supports
> > weird things like UNC names and is aware of the DOS reserved names
> > (CON, PRN, etc). I would appreciate it if people look at it, as I
> > would like to see some variant of this API supersede the existing
> > Chicken path manipulation stuff.
> >
> 
> That library looks useful - nice port, Ivan.
> 
> I would keep these things in extensions, though. There is already too much
> stuff in the core (I know I keep repeating this, but I'm really concerned 
> about
> it).

I think Ivan is not suggesting _adding_ this to core, but rather
_replacing_ what we have in core with this.  In total, this should
have the net effect of adding nothing (though I don't know how big
both libraries are).

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


pgpvY0rR91YHG.pgp
Description: PGP signature
___
Chicken-users mailing list
Chicken-users@nongnu.org
http://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] Bug in canonical-path?

2008-10-29 Thread felix winkelmann
On Wed, Oct 29, 2008 at 9:04 AM, Ivan Raikov <[EMAIL PROTECTED]> wrote:
>
> Hi all,
>
>   I have been meaning to port the Haskell FilePath library to
> Chicken, because I find its API to be quite elegant and better
> organized than the existing file name manipulation routines in
> Chicken. This discussion has prompted me to create the filepath egg,
> which is an almost verbatim transliteration of the Haskell code, with
> a few Chicken-specific idioms here and there. I have included a flag
> parameter, which can be used to enable "Posix" mode or "Windows"
> mode for path name parsing and manipulation. The Windows mode supports
> weird things like UNC names and is aware of the DOS reserved names
> (CON, PRN, etc). I would appreciate it if people look at it, as I
> would like to see some variant of this API supersede the existing
> Chicken path manipulation stuff.
>

That library looks useful - nice port, Ivan.

I would keep these things in extensions, though. There is already too much
stuff in the core (I know I keep repeating this, but I'm really concerned about
it).


cheers,
felix


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


Re: [Chicken-users] Bug in canonical-path?

2008-10-29 Thread Ivan Raikov

Hi all,

   I have been meaning to port the Haskell FilePath library to
Chicken, because I find its API to be quite elegant and better
organized than the existing file name manipulation routines in
Chicken. This discussion has prompted me to create the filepath egg,
which is an almost verbatim transliteration of the Haskell code, with
a few Chicken-specific idioms here and there. I have included a flag
parameter, which can be used to enable "Posix" mode or "Windows"
mode for path name parsing and manipulation. The Windows mode supports
weird things like UNC names and is aware of the DOS reserved names
(CON, PRN, etc). I would appreciate it if people look at it, as I
would like to see some variant of this API supersede the existing
Chicken path manipulation stuff.

   -Ivan


Vincent Manis <[EMAIL PROTECTED]> writes:

> I strongly disagree with this particular recommendation. Sometimes I
> have code running on Unix that manipulates Windows file names
> (thanks to VirtualBox, that's something I want to do more often,
> these days). I recommend a design that has a flag with settings such
> as `this is a Windows name', `this is a Unix name', and a default
> setting of `this is a name for the OS I'm currently on', which can
> certainly work the way Peter suggests.


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