[Chicken-users] [ANN] Development snapshot 5.0.2 now available

2019-05-02 Thread Peter Bex
Hi all!

A new development snapshot (5.0.2) is now available:
https://code.call-cc.org/dev-snapshots/2019/05/02/chicken-5.0.2.tar.gz

This is the second snapshot in the 5.x release series.  The most
important change is that this version completes the previous change
of how "qualified" symbols are read.  Keywords were still encoded with
a leading NUL byte, so if you tried to read or convert a string to a
symbol which started with a NUL byte, it would be interned and seen as
a keyword, even though it was a symbol.

This caused problems when printing non-qualified symbols that contained
NUL bytes.  See https://bugs.call-cc.org/ticket/1576 for more
information.  Changing this representation is backwards-incompatible,
which means that the git version of CHICKEN must now be built with a
CHICKEN that's from this snapshot or newer.

Related to this change is the fact that keywords (unlike "real" symbols)
no longer have a plist.  If you try to access a keyword's plist, it will
raise a runtime error with condition types (exn type).

Another backwards-incompatible change is that we reverted the change of
how all "standard" continuations were allowed to accept multiple values
for #1390.  This caused a lot of trouble due to assumptions made
throughout the compiler that standard continuations accept exactly one
value, found out in #1601.  This basically restores the behaviour to
how it was in CHICKEN 4, so hopefully nobody has started to rely on
this behaviour that was new to CHICKEN 5.0.0.

An important bug fix is that the perm/* permission constants from the
(chicken file posix) module have been fixed; they were all defined as
the "usr" versions, even the "grp" and "oth" ones (#1602).

There's a complete list of changes since the 5.0.1 release in the
NEWS file: https://code.call-cc.org/dev-snapshots/2019/05/02/NEWS

We would encourage all of our more adventurous users to try running
their code under this snapshot.  If you run into any problems with
the new snapshot, please let us know.

Regards,
The CHICKEN Team


signature.asc
Description: PGP signature
___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] Anyone know why I can't split with an empty string in (chicken irregex)?

2019-05-02 Thread Peter Bex
On Wed, May 01, 2019 at 11:18:31PM -0500, joshua wrote:
> I can't seem to figure out how to split a string into individual characters.

Hi Joshua,

The canonical way to do that would be string->list.

> I could swear this worked before, in Chicken 4.
> I'm now using Chicken 5.0.0 running on Void Linux.
> 
> #;1> (import (chicken irregex))
> ; loading /usr/lib/chicken/9/chicken.irregex.import.so ...
> #;2> (irregex-split (irregex ",") "foo,bar,baz")
> ("foo" "bar" "baz")
> #;3> (irregex-split (irregex " ") "foo bar baz")
> ("foo" "bar" "baz")
> #;4> (irregex-split (irregex "") "foobarbaz")
> () ; wat

Hm, that is somewhat surprising.  I checked irregex upstream,
but as far as I can tell, this has never worked.  In extremely
old versions this would raise an internal error and in newer
versions it returns the empty list.

I can take a look but I'm not even sure what the correct behaviour is
supposed to be.

Cheers,
Peter


signature.asc
Description: PGP signature
___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


[Chicken-users] Anyone know why I can't split with an empty string in (chicken irregex)?

2019-05-02 Thread joshua


I can't seem to figure out how to split a string into individual characters.
I could swear this worked before, in Chicken 4.
I'm now using Chicken 5.0.0 running on Void Linux.

#;1> (import (chicken irregex))
; loading /usr/lib/chicken/9/chicken.irregex.import.so ...
#;2> (irregex-split (irregex ",") "foo,bar,baz")
("foo" "bar" "baz")
#;3> (irregex-split (irregex " ") "foo bar baz")
("foo" "bar" "baz")
#;4> (irregex-split (irregex "") "foobarbaz")
() ; wat
#;5> (irregex-split (irregex "\\s*") "foobarbaz")
()

Any ideas?


Thanks,
joshua


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