Re: [Chicken-users] Syntax of case expressions

2008-02-29 Thread Matt Gushee

Shawn W. wrote:


On Feb 27, 2008, at 6:39 PM, Matt Gushee wrote:


I have just written a 'string-case' macro--it is supposed to behave 
just like case, except that it uses string=? in place of eqv? as its 
equality predicate.


Insert obligatory plug for my extended-cond egg, which has a version of 
case that takes an arbitrary predicate. There's also a generalized-case 
egg that's very similar (Mine also implements guard clauses from srfi-87)


Those sound good. I was actually not trying to write a library for 
public consumption--I'm mainly just trying to learn how to write macros, 
and perhaps provide an example for others learning macros.


--
Matt Gushee
: Bantam - lightweight file manager : matt.gushee.net/software/bantam/ :
: RASCL's A Simple Configuration Language : matt.gushee.net/rascl/ :


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


Re: [Chicken-users] regex problem

2008-02-29 Thread felix winkelmann
On Thu, Feb 28, 2008 at 6:54 AM, Daishi Kato <[EMAIL PROTECTED]> wrote:
> Hi!
>
>  I got a segfault error.
>  Sorry, I have no access to Trac right now.
>
>  Daishi
>
>  CHICKEN
>  Version 3.0.0 - linux-unix-gnu-x86  [ manyargs dload ptables applyhook ]
>  (c)2000-2008 Felix L. Winkelmanncompiled 2008-02-28 on ganglia 
> (Linux)
>
>  #;1> (use regex)
>  ; loading library regex ...
>  #;2> (string-match (regexp "(a)*") (make-string 100 #\a))
>  
> (""
>  "a")
>  #;3> (string-match (regexp "(a)*") (make-string 1000 #\a))
>  
> (""
>  "a")
>  #;4> (string-match (regexp "(a)*") (make-string 1 #\a))
>  zsh: segmentation fault (core dumped)  rlwrap -s 1 
> /usr/local/chicken-3.0.0/bin/csi
>

I have no idea. It dies somewhere deep in the PCRE code. Possibly some
internal buffer overflowing?


cheers,
felix


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


Re: [Chicken-users] regex problem

2008-02-29 Thread Peter Bex
On Fri, Feb 29, 2008 at 11:38:57AM +0100, felix winkelmann wrote:
> On Thu, Feb 28, 2008 at 6:54 AM, Daishi Kato <[EMAIL PROTECTED]> wrote:
> > Hi!
> >
> >  I got a segfault error.
> >  Sorry, I have no access to Trac right now.
> >
> >  Daishi
> >
> >  CHICKEN
> >  Version 3.0.0 - linux-unix-gnu-x86  [ manyargs dload ptables applyhook 
> > ]
> >  (c)2000-2008 Felix L. Winkelmanncompiled 2008-02-28 on ganglia 
> > (Linux)
> >
> >  #;1> (use regex)
> >  ; loading library regex ...
> >  #;2> (string-match (regexp "(a)*") (make-string 100 #\a))
> >  
> > (""
> >  "a")
> >  #;3> (string-match (regexp "(a)*") (make-string 1000 #\a))
> >  
> > (""
> >  "a")
> >  #;4> (string-match (regexp "(a)*") (make-string 1 #\a))
> >  zsh: segmentation fault (core dumped)  rlwrap -s 1 
> > /usr/local/chicken-3.0.0/bin/csi
> >
> 
> I have no idea. It dies somewhere deep in the PCRE code. Possibly some
> internal buffer overflowing?

Sounds likely.  There have been several buffer overflow vulnerabilities
in PCRE recently.  Try upgrading to the latest PCRE.

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


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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread Mario Domenech Goulart
On Fri, 29 Feb 2008 01:31:38 +0100 Tobia Conforto <[EMAIL PROTECTED]> wrote:

> Graham Fawcett wrote:
> > There does seem to be a good case for an immediate value that *can*
> > be tested this way, though. John et. al. wouldn't have used (void)
> > in eggs if there weren't.
> 
> What about providing a utility to create new immediate values,
> disjoint from anything else?
> 
> The immediate value space is far from cramped, if I'm not mistaken.
> Such a new-immediate-value function (which could benefit from a better
> name) would return a new value every time it's called, using for
> example an internal counter.  One could write:
> 
> (define sql-null (new-immediate-value))
> 
> (define (sql-null? x) (eq? x sql-null))
> 
> With the certainty that sql-null won't be eq? to anything else at all,
> won't be a list, a record, nothing at all except itself.

Wouldn't define-record do the trick?

Best wishes,
Mario


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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread felix winkelmann
On Fri, Feb 29, 2008 at 1:31 AM, Tobia Conforto <[EMAIL PROTECTED]> wrote:
> Graham Fawcett wrote:
>  > There does seem to be a good case for an immediate value that *can*
>  > be tested this way, though. John et. al. wouldn't have used (void)
>  > in eggs if there weren't.
>
>  What about providing a utility to create new immediate values,
>  disjoint from anything else?
>
>  The immediate value space is far from cramped, if I'm not mistaken.
>  Such a new-immediate-value function (which could benefit from a better
>  name) would return a new value every time it's called, using for
>  example an internal counter.  One could write:
>
>  (define sql-null (new-immediate-value))
>
>  (define (sql-null? x) (eq? x sql-null))
>
>  With the certainty that sql-null won't be eq? to anything else at all,
>  won't be a list, a record, nothing at all except itself.
>
>  I think this could have a few uses.  (Unless it's terribly broken in a
>  way I can't see, which is quite possible :-)
>

It would probably have uses, but what would you gain? All you need
is a distinct unique object:

(define sql-null (gensym 'sql-null))


cheers,
felix


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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread Tobia Conforto

felix winkelmann wrote:

(define sql-null (new-immediate-value))
(define (sql-null? x) (eq? x sql-null))

With the certainty that sql-null won't be eq? to anything else at  
all, won't be a list, a record, nothing at all except itself.  I  
think this could have a few uses.


It would probably have uses, but what would you gain? All you need  
is a distinct unique object:


(define sql-null (gensym 'sql-null))



This is still a symbol.

People are using (void) because it's nothing but (void), that is, all  
standard predicates (symbol?, pair?, number?, string?...) return #f.   
Only its own predicate returns #t.



Tobia


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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread Alaric Snell-Pym


On 29 Feb 2008, at 12:31 am, Tobia Conforto wrote:


What about providing a utility to create new immediate values,
disjoint from anything else?


It's called gensym :-)

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




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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread felix winkelmann
On Fri, Feb 29, 2008 at 1:41 PM, Tobia Conforto <[EMAIL PROTECTED]> wrote:
> felix winkelmann wrote:
>  >> (define sql-null (new-immediate-value))
>  >> (define (sql-null? x) (eq? x sql-null))
>  >>
>  >> With the certainty that sql-null won't be eq? to anything else at
>  >> all, won't be a list, a record, nothing at all except itself.  I
>  >> think this could have a few uses.
>  >
>
> > It would probably have uses, but what would you gain? All you need
>  > is a distinct unique object:
>  >
>  > (define sql-null (gensym 'sql-null))
>
>
>  This is still a symbol.
>
>  People are using (void) because it's nothing but (void), that is, all
>  standard predicates (symbol?, pair?, number?, string?...) return #f.
>  Only its own predicate returns #t.
>

Would a db interface include symbols as output?


cheers,
felix (who would like to keep the number of immediate types small)


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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread John Cowan
Alaric Snell-Pym scripsit:

> >What about providing a utility to create new immediate values,
> >disjoint from anything else?
> 
> It's called gensym :-)

Gensym values aren't disjoint *in type* from anything else.

-- 
The experiences of the past showJohn Cowan
that there has always been a discrepancy[EMAIL PROTECTED]
between plans and performance.  http://www.ccil.org/~cowan
--Emperor Hirohito, August 1945


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


[Chicken-users] PCRE problem via regex

2008-02-29 Thread Kon Lovett

I will do this. Current PCRE is 7.6

Best Wishes,
Kon




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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread Alaric Snell-Pym


On 29 Feb 2008, at 1:14 pm, John Cowan wrote:


Alaric Snell-Pym scripsit:


What about providing a utility to create new immediate values,
disjoint from anything else?


It's called gensym :-)


Gensym values aren't disjoint *in type* from anything else.


Ah, but disjointness in value is all that's required...

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




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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread John Cowan
Alaric Snell-Pym scripsit:

> >Gensym values aren't disjoint *in type* from anything else.
> 
> Ah, but disjointness in value is all that's required...

Technically yes, but most of us find predicates like number?, string?,
and symbol? rather handy all the same, and don't want NULL mixed up
with them.  C programmers may be happy with a world where integers,
characters, and booleans are the same thing, but should we be?  It was
not for nothing that Codd made sure his nulls (later divided into A-marks
for the unknown and I-marks for the inapplicable) were quite independent
of concrete types.

-- 
John Cowan  http://ccil.org/~cowan  [EMAIL PROTECTED]
All "isms" should be "wasms".   --Abbie


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


[Chicken-users] Debugging support

2008-02-29 Thread William Cook
Hi, I just joined up because I'm going to use Chicken. I started with 
PLT but dropped it because it doesn't have a debugger. I moved to 
Gambit, but it has strange macros and doesn't have all the libraries I 
need, so I'm trying Chicken.


I'm astounded that none of the public schemes out there have a visual 
debugger. (I know, some people say scheme doesn't need a debugger, but I 
don't believe it; its a dynamic language, debugging should be *easy*).


My plan is to hook up some scheme system to the powerful Eclipse 
debugging framework. This should be doable in a week or two, if the 
language has the right hooks. See

http://www.eclipse.org/articles/Article-Debugger/how-to.html
This will be combined with the SchemeWay plugin.

I am curious if people have thought about adding debugging capabilities 
to Chicken, along the lines of what is in Gambit. It seems like most of 
the hooks are there. Am i missing something?


Is anybody else interested in helping out? Is this the right email list 
to discuss this topic?


William


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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread felix winkelmann
On Fri, Feb 29, 2008 at 3:59 PM, John Cowan <[EMAIL PROTECTED]> wrote:
> Alaric Snell-Pym scripsit:
>
>
>  > So do we make the bold move of not defining (token? x)?
>
>  No, we realize that just as we need only one empty list (unlike Java, where
>  any list can have zero elements without losing its identity), we need only
>  one object that has:
>
> a unique identity, disjoint from all other objects
> a unique type, disjoint from all other types
> no information inside it
>

Why do we need this? I can't remember right now...


cheers,
felix


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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread Thomas Chust

On 29. Februar 2008 09:24:07 -0500 John Cowan <[EMAIL PROTECTED]> wrote:


Alaric Snell-Pym scripsit:


> Gensym values aren't disjoint *in type* from anything else.

Ah, but disjointness in value is all that's required...


Technically yes, but most of us find predicates like number?, string?,
and symbol? rather handy all the same, and don't want NULL mixed up
with them. [...]


Hello,

this is really a question of taste, isn't it? You could just as well argue 
that a NULL value should be of a type that is a subtype of every other 
existing type but contains no other concrete instances, which would imply 
that all the type predicates should return #t when applied to the NULL 
value. This makes a lot of sense when the NULL value is used to indicate 
the absence of an object reference and is the way it is handled in several 
object oriented languages.


cu,
Thomas



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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread John Cowan
Alaric Snell-Pym scripsit:

> So do we make the bold move of not defining (token? x)?

No, we realize that just as we need only one empty list (unlike Java, where
any list can have zero elements without losing its identity), we need only
one object that has:

a unique identity, disjoint from all other objects
a unique type, disjoint from all other types
no information inside it

-- 
But you, Wormtongue, you have done what you could for your true master.  Some
reward you have earned at least.  Yet Saruman is apt to overlook his bargains.
I should advise you to go quickly and remind him, lest he forget your faithful
service.  --Gandalf John Cowan <[EMAIL PROTECTED]>


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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread Graham Fawcett
On Fri, Feb 29, 2008 at 7:57 AM, felix winkelmann <[EMAIL PROTECTED]> wrote:
> On Fri, Feb 29, 2008 at 1:41 PM, Tobia Conforto <[EMAIL PROTECTED]> wrote:
>  > felix winkelmann wrote:
>  Would a db interface include symbols as output?

Would it? I honestly don't know. I haven't seen it in practice, and
can't think of a deal-breaking use-case. Enum types come to mind, but
that could be handled (perhaps less naturally) with strings.

Could it? I'm looking at Postgres, and wondering how to come up with a
consistent approach for handling user-defined datatypes. There's no
right solution, and the best compromise is to let the user register
in/out translation functions. An out-function could translate a value
in a custom type into anything, including a symbol (unless we
*specify* that this should be illegal).

Should it? If we are approaching a common dbi, we should decide now.
But it feels premature to rule out an entire datatype for lack of a
good "null" type.

For representing sql-null, the special immediate-type solution is best
because it's unambiguous. If that were ruled out, simply using the
symbol 'null -- and forbidding database layers from returning symbols
as output-values other than 'null -- would be my second choice, but
it's an inferior solution, and I have a feeling I'd regret it later.
But please not '(), for the same reason not #f, 0, or an empty string.

>  cheers,
>  felix (who would like to keep the number of immediate types small)

I don't want to see a circus of immediate types either, but one more
isn't horrible. I thought (void) was perfect for this, but I respect
the concerns that have been raised. So, (void) needs a brother who has
no semantic baggage.

Best,
Graham


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


Re: [Chicken-users] DBI

2008-02-29 Thread Graham Fawcett
On Fri, Feb 29, 2008 at 10:41 AM, felix winkelmann <[EMAIL PROTECTED]> wrote:
> On Thu, Feb 28, 2008 at 4:02 PM, Graham Fawcett
>
> <[EMAIL PROTECTED]> wrote:
>  >
>
> >  It would be a smart idea to change the implementation, then, so that
>  >  the unspecified value could not be tested with (eq?). That would
>  >  prevent it from being 'misused'.
>
>  The unspecified value is unspecified. It has both no identity and
>  no efforts are made to make it identity-less.

Right, but (eq? (void) (void)) => #t is a property that shouldn't
exist for two unspecified values: by definition it gives identity to
unspecified.

(eq? (void) (void)) => #f is better, raising an exception is better
still. To preserve the 'undefined' meaning, any functions that can
test # should really be internal, e.g. in the ##sys#
namespace.

But as you say, it's unspecified, so this is a divergent discussion. :-)

>  >  There does seem to be a good case for an immediate value that *can* be
>  >  tested this way, though. John et. al. wouldn't have used (void) in
>  >  eggs if there weren't. Record instances aren't really a great answer
>  >  (though I suggested them myself) since different records of the same
>  >  type will fail an identity test.
>
>  Unless you use a single unique instance.

That would be problematic in compiled code, would it not? Where is the
instance stored?

Graham


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


Re: [Chicken-users] DBI

2008-02-29 Thread felix winkelmann
On Thu, Feb 28, 2008 at 4:02 PM, Graham Fawcett
<[EMAIL PROTECTED]> wrote:
>
>  It would be a smart idea to change the implementation, then, so that
>  the unspecified value could not be tested with (eq?). That would
>  prevent it from being 'misused'.

The unspecified value is unspecified. It has both no identity and
no efforts are made to make it identity-less.

>
>  There does seem to be a good case for an immediate value that *can* be
>  tested this way, though. John et. al. wouldn't have used (void) in
>  eggs if there weren't. Record instances aren't really a great answer
>  (though I suggested them myself) since different records of the same
>  type will fail an identity test.

Unless you use a single unique instance.


cheers,
felix


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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread Alaric Snell-Pym


On 29 Feb 2008, at 2:24 pm, John Cowan wrote:


Ah, but disjointness in value is all that's required...


Technically yes, but most of us find predicates like number?, string?,
and symbol? rather handy all the same,



Ah, true, I'd not thought of people using symbol? - good point.

Ok, on which grounds, I'd accept a new type: 'token', perhaps. Which
is basically a symbol but responds to token? rather than symbol?, and
also, when you define one with (define-token bob), you get (define
bob (make-token 'bob)) (define (bob? x) (eq x bob)). (and (bob? bob)
(token? bob)). However, then people start writing meta-token-code
that uses (token? ...) and we have to start from scratch with
something else. So do we make the bold move of not defining (token? x)?

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




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


Re: [Chicken-users] Debugging support

2008-02-29 Thread felix winkelmann
On Fri, Feb 29, 2008 at 11:50 AM, William Cook <[EMAIL PROTECTED]> wrote:
>
>  I am curious if people have thought about adding debugging capabilities
>  to Chicken, along the lines of what is in Gambit. It seems like most of
>  the hooks are there. Am i missing something?

I guess you're not - it depends on what you need. It is relatively
easy to decorate procedures in a running Scheme system
with additional stuff, or to replace them temporarily by debugging
versions (see also the "advice" egg).

> Is this the right email list
>  to discuss this topic?

Sure!


cheers,
felix


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


Re: [Chicken-users] Unfair question: best Lisp for web development?

2008-02-29 Thread Mario Domenech Goulart
Hi Robin,

On Wed, 27 Feb 2008 16:15:07 -0800 Robin Lee Powell <[EMAIL PROTECTED]> wrote:

> On Wed, Feb 27, 2008 at 09:29:08AM -0800, Robin Lee Powell wrote:
> > 
> > I'm thinking of starting a .com; probably not an especially Web
> > 2.0 sort of one, but maybe with some Ajax involved.  I seem to be
> > more comfortable with Lisps than anything else.
> > 
> > Are there any compelling reasons to choose a Lisp other than
> > Chicken (my current best-known) for that sort of thing?
> 
> Just wanted to thank everyone for all the responses!  I have nothing
> useful to say in response to the individual posts, but there's some
> great stuff in there.

You may also wnat to take a look at this thread:
http://thread.gmane.org/gmane.lisp.scheme.chicken/9078/focus=9079

Best wishes,
Mario


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


[Chicken-users] eggs unlimited 3

2008-02-29 Thread minh thu
Hi,

The call/cc.org homepage points to eggs unlimited 2 and not 3 (via
call/cc.org/eggs).

Cheers,
Thu


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


[Chicken-users] spiffy example

2008-02-29 Thread minh thu
Hi,

In 'Adding dynamic resources' at http://chicken.wiki.br/spiffy,
I think there are two mistakes :

- http:write-response-header should be write-response-header
- and before calling it, the current-request parameter should be
changed to the request argument.

I don't change the wiki because I'm not really sure of this (we can
use the code of the http egg example instead).

Cheers,
Thu


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


Re: [Chicken-users] DBI

2008-02-29 Thread Tobia Conforto

Graham Fawcett wrote:

(eq? (void) (void)) => #t is a property that shouldn't exist
(eq? (void) (void)) => #f is better, raising an exception is better  
still.


I think SQL has it right here: NULL any-op anything, or in s-expr (any- 
op NULL anything), gives NULL.


So NULL is neither equal nor disequal to NULL, or to "hello", it's  
NULL to them.


(I'm not suggesting adding this behaviour to Chicken, as it would  
degrade performance for every simple operation without a good reason.  
I'm just noting what I think is a nice approach.)



Tobia


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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread Tobia Conforto

So, to recap:

'(), 0, "", #f, 'null, (gensym)

Very bad for representing SQL NULL, because some DBs or DB operations  
could theoretically support lists, numbers (doh), strings (doh),  
booleans, and symbols, and in those cases we wouldn't want the null  
value to clash with valid values.


For example I'd quite like to see a Postgres extension (or just the  
Chicken interface) supporting symbols in an efficient manner, with a  
symbol table and all.  As it can't be ruled out, having symbol? return  
#t for sql NULL is a very bad idea.


(void)

Bad.  You would need to test for it by (eq? x (void)), which is  
terrible, and is a non-value inappropriate for representing an actual  
return value, as already expressed in this thread.


(define-record-type sql-null (sql-null) sql-null?)

Not too bad.  Any piece of code could create null values with (sql- 
null), even in different compilation units.  People would just have to  
remember to use (sql-null? x) instead of eq?.  The API could state  
that eq? on two sql-null values is undefined.


A new immediate value

IMHO the best option, and it could be useful for other APIs too, but  
if Felix says no he's probably right.



Tobia


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


Re: [Chicken-users] spiffy example

2008-02-29 Thread Jim Ursetto
Absolutely correct, feel free to update the wiki to reflect this.

On 2/29/08, minh thu <[EMAIL PROTECTED]> wrote:
> - http:write-response-header should be write-response-header
> - and before calling it, the current-request parameter should be
> changed to the request argument.


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


[Chicken-users] General problem with the chickenegg tag on the Eggs Unlimited page.

2008-02-29 Thread Robin Lee Powell

Many author sections have e-mail addresses in them, which get eaten
to turn the other name into a horribly munged wiki page name.  In
some cases (someone tried to use http://en.wikipedia.org/wiki/Buffalo_buffalo
Proud Supporter of the Singularity Institute - http://singinst.org/
http://www.digitalkingdom.org/~rlpowell/ *** http://www.lojban.org/


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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread Graham Fawcett
On Fri, Feb 29, 2008 at 2:57 PM, Tobia Conforto <[EMAIL PROTECTED]> wrote:
> So, to recap:

Perfect recap! :-)

> (define-record-type sql-null (sql-null) sql-null?)
>
>  Not too bad.  Any piece of code could create null values with (sql-
>  null), even in different compilation units.  People would just have to
>  remember to use (sql-null? x) instead of eq?.  The API could state
>  that eq? on two sql-null values is undefined.

True. I suspect there will be slightly more overhead here than with
using an immediate, perhaps noticeably on large queries. Ideally
(sql-null) would be a closure that constantly returned the same
instance, while (sql-null?) was just a record predicate, as in your
example.

I *believe* that if multiple modules include (define-record sql-null
...), that the predicates will work across definitions. E.g. if your
module defines a sql-null record, and mine does too, then instances of
your type will satisfy my predicate, as long as the type-names match.
This is *ugly*, but it would be better than forcing each db egg to
dynamically link to some "sql-null egg".

This is not a terrible answer for the sql API, though perhaps more
terrible for other APIs, and I don't think it would be bad to solve
both problems at once (the sql-null, and the well-intentioned 'abuse'
of (void) in current eggs).

> A new immediate value
>
>  IMHO the best option, and it could be useful for other APIs too, but
>  if Felix says no he's probably right.

My preference by far, too.

Thanks for this summary, Tobia,
Graham


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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread John Cowan
felix winkelmann scripsit:

> >  No, we realize that just as we need only one empty list (unlike Java, where
> >  any list can have zero elements without losing its identity), we need only
> >  one object that has:
> >
> > a unique identity, disjoint from all other objects
> > a unique type, disjoint from all other types
> > no information inside it
> >
> 
> Why do we need this? I can't remember right now...

To represent the null object of foreign environments that do not conflate
null with the empty sequence -- not only SQL but also Lua, Java (and
other JVM languages), .NET, and others.

While this is an additional immediate object, it's only *one* additional
immediate object.  I support it.

-- 
Said Agatha Christie / To E. Philips Oppenheim  John Cowan
"Who is this Hemingway? / Who is this Proust?   [EMAIL PROTECTED]
Who is this Vladimir / Whatchamacallum, http://www.ccil.org/~cowan
This neopostrealist / Rabble?" she groused.
--George Starbuck, Pith and Vinegar


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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread John Cowan
Graham Fawcett scripsit:

> For representing sql-null, the special immediate-type solution is best
> because it's unambiguous. If that were ruled out, simply using the
> symbol 'null -- and forbidding database layers from returning symbols
> as output-values other than 'null -- would be my second choice, but
> it's an inferior solution, and I have a feeling I'd regret it later.

It also doesn't scale to foreign environments other than SQL ones.

> But please not '(), for the same reason not #f, 0, or an empty string.

+1

> I don't want to see a circus of immediate types either, but one more
> isn't horrible. I thought (void) was perfect for this, but I respect
> the concerns that have been raised. So, (void) needs a brother who has
> no semantic baggage.

+1

-- 
John Cowan  http://www.ccil.org/~cowan  [EMAIL PROTECTED]
"After all, would you consider a man without honor wealthy, even if his
Dinar laid end to end would reach from here to the Temple of Toplat?"
"No, I wouldn't", the beggar replied.  "Why is that?" the Master asked.
"A Dinar doesn't go very far these days, Master.--Kehlog Albran
Besides, the Temple of Toplat is across the street."  The Profit


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


Re: [Chicken-users] New immediate values

2008-02-29 Thread Ozzi Lee
I don't see that anyone's mentioned the existing sql-null egg yet. Is 
there anything wrong with it?


http://chicken.wiki.br/sql-null

Graham Fawcett wrote:

On Fri, Feb 29, 2008 at 2:57 PM, Tobia Conforto <[EMAIL PROTECTED]> wrote:

So, to recap:


Perfect recap! :-)


(define-record-type sql-null (sql-null) sql-null?)

 Not too bad.  Any piece of code could create null values with (sql-
 null), even in different compilation units.  People would just have to
 remember to use (sql-null? x) instead of eq?.  The API could state
 that eq? on two sql-null values is undefined.


True. I suspect there will be slightly more overhead here than with
using an immediate, perhaps noticeably on large queries. Ideally
(sql-null) would be a closure that constantly returned the same
instance, while (sql-null?) was just a record predicate, as in your
example.

I *believe* that if multiple modules include (define-record sql-null
...), that the predicates will work across definitions. E.g. if your
module defines a sql-null record, and mine does too, then instances of
your type will satisfy my predicate, as long as the type-names match.
This is *ugly*, but it would be better than forcing each db egg to
dynamically link to some "sql-null egg".

This is not a terrible answer for the sql API, though perhaps more
terrible for other APIs, and I don't think it would be bad to solve
both problems at once (the sql-null, and the well-intentioned 'abuse'
of (void) in current eggs).


A new immediate value

 IMHO the best option, and it could be useful for other APIs too, but
 if Felix says no he's probably right.


My preference by far, too.

Thanks for this summary, Tobia,
Graham


___
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] New immediate values (was: DBI)

2008-02-29 Thread John Cowan
Thomas Chust scripsit:

> this is really a question of taste, isn't it? You could just as well argue 
> that a NULL value should be of a type that is a subtype of every other 
> existing type but contains no other concrete instances, which would imply 
> that all the type predicates should return #t when applied to the NULL 
> value. This makes a lot of sense when the NULL value is used to indicate 
> the absence of an object reference and is the way it is handled in several 
> object oriented languages.

As far as I know, no OO language does that.  They interpret (or IMHO
misinterpret) a *static* declaration that a variable is of type Foo
as meaning that it can contain a Foo or null, but nowhere is null
*dynamically* a member of type Foo: tests analogous to number?, string?,
etc. always return false on null.

Haskell spells it out: a foo-typed variable can only hold a foo, and if
you want it to be otherwise, you declare it as of type Maybe foo, which
means it can hold either a Just foo (which you can unwrap to be a foo)
or Nothing.

OT:  One of the Java puzzlers is this:

Foo foo = null;
foo.bar();

Under what circumstances does that *not* cause a NullPointerException?

-- 
We are lost, lost.  No name, no business, no Precious, nothing.  Only empty.
Only hungry: yes, we are hungry.  A few little fishes, nassty bony little
fishes, for a poor creature, and they say death.  So wise they are; so just,
so very just.  --Gollum[EMAIL PROTECTED]  http://ccil.org/~cowan


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


[Chicken-users] Error building universal on 10.5

2008-02-29 Thread Greg
Hi, I tried building chicken 3.0.0 from source on Mac OS X 10.5.2  
using the following command:



make PLATFORM=macosx ARCH=universal



And got the following error:

gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk - 
dynamiclib -compatibility_version 1 -current_version 1.0 - 
install_name libchicken.dylib  \
	  -o libchicken.dylib library.o eval.o extras.o lolevel.o utils.o  
tcp.o srfi-1.o srfi-4.o srfi-13.o srfi-14.o srfi-18.o posixunix.o  
regex.o regex-extras.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.universal.o -lm

ld: library not found for -ldylib1.10.5.o
collect2: ld returned 1 exit status
ld: library not found for -ldylib1.10.5.o
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/Bl/BlVb4pxXGg8tGWkxFze1+U++ 
+TI/-Tmp-//ccVnFkTU.out (No such file or directory)

make[1]: *** [libchicken.dylib] Error 1
make: *** [all] Error 2


Help?

Thanks,

- Greg


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


Re: [Chicken-users] Error building universal on 10.5

2008-02-29 Thread Heinrich Taube
dont know if this will help but i do this when i build universal on  
10.5.1:


export MACOSX_DEPLOYMENT_TARGET=10.4
make PLATFORM=macosx ARCH=universal

On Feb 29, 2008, at 6:30 PM, Greg wrote:

Hi, I tried building chicken 3.0.0 from source on Mac OS X 10.5.2  
using the following command:



make PLATFORM=macosx ARCH=universal



And got the following error:

gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk - 
dynamiclib -compatibility_version 1 -current_version 1.0 - 
install_name libchicken.dylib  \
	  -o libchicken.dylib library.o eval.o extras.o lolevel.o utils.o  
tcp.o srfi-1.o srfi-4.o srfi-13.o srfi-14.o srfi-18.o posixunix.o  
regex.o regex-extras.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.universal.o -lm

ld: library not found for -ldylib1.10.5.o
collect2: ld returned 1 exit status
ld: library not found for -ldylib1.10.5.o
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/Bl/BlVb4pxXGg8tGWkxFze1+U+ 
++TI/-Tmp-//ccVnFkTU.out (No such file or directory)

make[1]: *** [libchicken.dylib] Error 1
make: *** [all] Error 2


Help?

Thanks,

- Greg


___
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] Error building universal on 10.5

2008-02-29 Thread Greg
Thanks!  That fixed it.  Shouldn't this then be added to the OS X  
Makefile?  I don't know if any of chicken's maintainers read this  
list...



On Feb 29, 2008, at 7:45 PM, Heinrich Taube wrote:

dont know if this will help but i do this when i build universal on  
10.5.1:


export MACOSX_DEPLOYMENT_TARGET=10.4
make PLATFORM=macosx ARCH=universal




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


[Chicken-users] How can one get the latest html-dump of the doc?

2008-02-29 Thread Adhi Hargo
How can one get the latest html-dump of the doc?

Because there's only pointer to the wiki version of
it, and the one in the distribution always seems
outdated. Can't the source and dumped docs be made
available in separate archives, so that the latter can
be updated at more regular interval (only keeping the
latest)?

-- Adhi Hargo


  

Never miss a thing.  Make Yahoo your home page. 
http://www.yahoo.com/r/hs


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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread Thomas Chust

On 29. Februar 2008 17:28:37 -0500 John Cowan <[EMAIL PROTECTED]> wrote:


Thomas Chust scripsit:


this is really a question of taste, isn't it? You could just as well
argue  that a NULL value should be of a type that is a subtype of every
other  existing type but contains no other concrete instances, which
would imply  that all the type predicates should return #t when applied
to the NULL  value. This makes a lot of sense when the NULL value is
used to indicate  the absence of an object reference and is the way it
is handled in several  object oriented languages.


As far as I know, no OO language does that.  They interpret (or IMHO
misinterpret) a *static* declaration that a variable is of type Foo
as meaning that it can contain a Foo or null, but nowhere is null
*dynamically* a member of type Foo: tests analogous to number?, string?,
etc. always return false on null.


Hello,

for example in Java there are some places where the dynamic type of null is 
effectively a subtype of another class:


 // this returns (String)null and doesn't throw a ClassCastException
 "foo".getClass().cast(null)

There are also places where the language behaves differently, though:

 // this returns false
 null instanceof String

So the static typing behaviour may differ from the dynamic one and it may 
be inconsistent. But a distinction between static and dynamic typing 
behaviour wouldn't apply to Scheme.


Of course I don't want to have the same typing mess as in Java in CHICKEN 
and I do think the whole practice of having nullable reference types (by 
default) is questionable. I just don't think it is completely canonical 
that the type of NULL should be disjoint from every other type, especially 
if you think of types as being sets (or classes) of objects.



[...]
OT:  One of the Java puzzlers is this:

Foo foo = null;
foo.bar();

Under what circumstances does that *not* cause a NullPointerException?


If Foo.bar is a static method this will work just fine ;-)

cu,
Thomas

--
Murphy's Law is recursive.  Washing your car to make it rain doesn't work.



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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread John Cowan
Thomas Chust scripsit:

> for example in Java there are some places where the dynamic type of null is 
> effectively a subtype of another class:
> 
>  // this returns (String)null and doesn't throw a ClassCastException
>  "foo".getClass().cast(null)
c

Yes, well, that is where static typing is done at runtime.

> So the static typing behaviour may differ from the dynamic one and it may 
> be inconsistent. But a distinction between static and dynamic typing 
> behaviour wouldn't apply to Scheme.

True, and what I'm saying is that the dynamic behavior is the appropriate
one.

> Of course I don't want to have the same typing mess as in Java in CHICKEN 
> and I do think the whole practice of having nullable reference types (by 
> default) is questionable. I just don't think it is completely canonical 
> that the type of NULL should be disjoint from every other type, especially 
> if you think of types as being sets (or classes) of objects.

I do think of types as being named sets of objects (named, because then there
are only denumerably many types).

> If Foo.bar is a static method this will work just fine ;-)

Yup.  But did you deduce that from first principles, or had you seen
it before?

-- 
John Cowan  [EMAIL PROTECTED]  http://ccil.org/~cowan
The penguin geeks is happy / As under the waves they lark
The closed-source geeks ain't happy / They sad cause they in the dark
But geeks in the dark is lucky / They in for a worser treat
One day when the Borg go belly-up / Guess who wind up on the street.


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


Re: [Chicken-users] How can one get the latest html-dump of the doc?

2008-02-29 Thread Graham Fawcett
Hi Adhi,

On Fri, Feb 29, 2008 at 8:29 PM, Adhi Hargo <[EMAIL PROTECTED]> wrote:
> How can one get the latest html-dump of the doc?

There isn't an official one, AFAIK. The wiki content is stored in the
svn repo, and you can always get the latest version there, but it's in
wiki markup, not HTML.

I've set up a quick hack to snapshot the wiki from svn, and generate a
tarball. It's available at

http://cleo.uwindsor.ca/static/chickendoc.tgz

Next week I'll set up a cron job to refresh this nightly; at the
moment it is a snapshot of the wiki as of about an hour ago.

Warning, there are probably some wiki elements that did not convert
properly; I'm using a modified version of a script called wiki2html,
described here:

http://www.mail-archive.com/chicken-users@nongnu.org/msg07776.html

It is not "perfect" but it is pretty good.

Please let me know if this helps; if not, I'll probably not bother
with the cron job. ;-)

Graham


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


Re: [Chicken-users] eggs unlimited 3

2008-02-29 Thread felix winkelmann
On Fri, Feb 29, 2008 at 5:54 PM, minh thu <[EMAIL PROTECTED]> wrote:
> Hi,
>
>  The call/cc.org homepage points to eggs unlimited 2 and not 3 (via
>  call/cc.org/eggs).
>

That's correct.Thanks for reporting this.


cheers
felix


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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread felix winkelmann
On Fri, Feb 29, 2008 at 4:45 PM, Graham Fawcett
<[EMAIL PROTECTED]> wrote:
>
>  Could it? I'm looking at Postgres, and wondering how to come up with a
>  consistent approach for handling user-defined datatypes. There's no
>  right solution, and the best compromise is to let the user register
>  in/out translation functions. An out-function could translate a value
>  in a custom type into anything, including a symbol (unless we
>  *specify* that this should be illegal).
>
>  Should it? If we are approaching a common dbi, we should decide now.
>  But it feels premature to rule out an entire datatype for lack of a
>  good "null" type.

Yes, I guess you're right here.

>
>  For representing sql-null, the special immediate-type solution is best
>  because it's unambiguous. If that were ruled out, simply using the
>  symbol 'null -- and forbidding database layers from returning symbols
>  as output-values other than 'null -- would be my second choice, but
>  it's an inferior solution, and I have a feeling I'd regret it later.
>  But please not '(), for the same reason not #f, 0, or an empty string.
>
>
>  >  cheers,
>  >  felix (who would like to keep the number of immediate types small)
>
>  I don't want to see a circus of immediate types either, but one more
>  isn't horrible. I thought (void) was perfect for this, but I respect
>  the concerns that have been raised. So, (void) needs a brother who has
>  no semantic baggage.
>

Wether an sql-null value is immediate or not is an implementation
detail which has no relevance to the discussion of a DBI API.


cheers,
felix


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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread John Cowan
felix winkelmann scripsit:

> Wether an sql-null value is immediate or not is an implementation
> detail which has no relevance to the discussion of a DBI API.

Quite true.  I have been using "immediate" rather illegitimately as a
shorthand for "unique object of a disjoint type".

However, I continue to insist that the need is not unique to DBI nor to
SQL databases.

-- 
John Cowan[EMAIL PROTECTED]http://ccil.org/~cowan
The whole of Gaul is quartered into three halves.
-- Julius Caesar


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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread felix winkelmann
On Fri, Feb 29, 2008 at 9:56 PM, John Cowan <[EMAIL PROTECTED]> wrote:
>  >
>  > Why do we need this? I can't remember right now...
>
>  To represent the null object of foreign environments that do not conflate
>  null with the empty sequence -- not only SQL but also Lua, Java (and
>  other JVM languages), .NET, and others.

When you look for a generic "null" or "void" object, that is used for a
particular library, then any unique value is sufficient, whether immediate
or not. As I already replied to Graham, immediacy vs. non-immediacy is
an implementation detail and shouldn't concern us here. The performance
benefit is negligible.

I have the feeling that immediacy is desired by the proponents of
a new unique "void" value because it *feels* right to them, not because
there is any real requirement.


cheers,
felix


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


Re: [Chicken-users] How can one get the latest html-dump of the doc?

2008-02-29 Thread Mario Domenech Goulart
Hi folks,

On Fri, 29 Feb 2008 22:50:58 -0500 "Graham Fawcett" <[EMAIL PROTECTED]> wrote:

> On Fri, Feb 29, 2008 at 8:29 PM, Adhi Hargo <[EMAIL PROTECTED]> wrote:
> > How can one get the latest html-dump of the doc?
> 
> There isn't an official one, AFAIK. The wiki content is stored in the
> svn repo, and you can always get the latest version there, but it's in
> wiki markup, not HTML.
> 
> I've set up a quick hack to snapshot the wiki from svn, and generate a
> tarball. It's available at
> 
> http://cleo.uwindsor.ca/static/chickendoc.tgz
> 
> Next week I'll set up a cron job to refresh this nightly; at the
> moment it is a snapshot of the wiki as of about an hour ago.
> 
> Warning, there are probably some wiki elements that did not convert
> properly; I'm using a modified version of a script called wiki2html,
> described here:
> 
> http://www.mail-archive.com/chicken-users@nongnu.org/msg07776.html
> 
> It is not "perfect" but it is pretty good.

I feel I should not be writing this, since it would make galinha very
mad, but you can do something like:

 $ cd path/to/svn/repo/copy
 $ cd wiki
 $ mkdir html
 $ find -maxdepth 1 -type f | sed 's+./++' > wiki-files
 $ while read i; do wget "http://chicken.wiki.br/$i"; -O "html/$i.html"; done < 
wiki-files
 $ rm wiki-files

It's not recommended, since it consumes lots of resources.  The
wiki2html script, which is the recommended, good enough approach,
generates readable HTML, as Graham mentioned.

Another alternative is the PDF manual you can get from
http://chicken.wiki.br/dev-snapshots/2008/02/24/chicken.pdf (you
should be able to get it from
http://chicken.wiki.br/dev-snapshots/current/chicken.pdf, but it seems
that since 02/25 the manual is not being generated, which indicates we
have a bug. Thank you for having induced me to look at this -- I'm
gonna trace the problem).

Best wishes,
Mario


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


Re: [Chicken-users] New immediate values (was: DBI)

2008-02-29 Thread John Cowan
felix winkelmann scripsit:

> When you look for a generic "null" or "void" object, that is used for a
> particular library, then any unique value is sufficient, whether immediate
> or not.

I agree; however, this is not a matter of a particular library, but
of a large number of libraries, not all of which have anything to do
with databases.

> As I already replied to Graham, immediacy vs. non-immediacy is
> an implementation detail and shouldn't concern us here. 

I have already conceded this point.  The issue is having a unique object
universally available that is of a disjoint type.

-- 
A mosquito cried out in his pain,   John Cowan
"A chemist has poisoned my brain!"  http://www.ccil.org/~cowan
The cause of his sorrow [EMAIL PROTECTED]
Was para-dichloro-
Diphenyltrichloroethane.(aka DDT)


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


Re: [Chicken-users] DBI

2008-02-29 Thread Alex Shinn
> "Tobia" == Tobia Conforto <[EMAIL PROTECTED]> writes:

Tobia> What's wrong with the sql egg?  Can't we just use
Tobia> that, maybe improve it a bit?

Sure, I didn't mean to rule that out.

The biggest issue I see with the sql egg right now is it
currently hard-codes all values, generating a new SQL
expression every time.  You want it to be able to represent
placeholder values (named or just with a ? as in Perl's DBI)
allowing the backends to cache the SQL expression and apply
it to different data.  However, different backends represent
this (and various other extensions we'll eventually want) in
different ways.  SQL could just generate a standard syntax
that all the backends would have to support, but then they'd
be reparsing the SQL string we just generated and then
putting it back together in their own way.  It makes more
sense to integrate the SQL generation with the backends from
the start.

The issue isn't just with the actual query string generated
either.  We may want the high-level interface to always
allow the LIMIT and OFFSET keywords to page results, even if
the backend doesn't support it, by emulating it on the
client side.  This would have to be handled as a combination
of query string generation and result set processing.

-- 
Alex


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