Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-10 Thread Peter Bex
On Tue, Sep 09, 2014 at 02:49:43PM +, Mario Domenech Goulart wrote: I think the versioning thing also affects the eggs in svn too. For example, suppose right now you have egg foo at version 1.0. When CHICKEN 5 is released, foo will be ported to CHICKEN 5. What version will it be in

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-10 Thread Jörg F. Wittenberger
Am 09.09.2014 um 17:39 schrieb Oleg Kolosov: On 09/04/14 13:30, Jörg F. Wittenberger wrote: Am 29.08.2014 20:50, schrieb Oleg Kolosov: On 08/23/14 19:35, Peter Bex wrote: I've made a start on the wiki, at what we'd like CHICKEN 5 to be about. I've remembered one more thing: why not stick the

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-09 Thread Felix Winkelmann
* Designing a decent POSIX API is a hard task. I have not seen any reasonably good API wrapper for that yet - they are either too lowlevel (Basis, Ocaml, etc.), or too highlevel. For now a modest refactoring would be enough. [begin of short brain dump about the POSIX situation]

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-09 Thread Alex Shinn
On Tue, Sep 9, 2014 at 5:57 AM, Peter Bex peter@xs4all.nl wrote: - The new syntax-rules foolishly changed the underscore to act as a wildcard symbol, making it - strictly speaking - incompatible with R5RS. I don't think it's a good idea to support this in core. I think this has

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-09 Thread Alex Shinn
On Tue, Sep 9, 2014 at 7:05 PM, Felix Winkelmann felix.winkelm...@bevuta.com wrote: IIRC, full R7RS-compatibility requires (import-for-syntax (r7rs)) or something like this. I was wondering about that, since it would be quite a barrier for portable code to have to take care of this. Or can

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-09 Thread Mario Domenech Goulart
Hi gentlemen, On Mon, 8 Sep 2014 22:57:02 +0200 Peter Bex peter@xs4all.nl wrote: On Thu, Sep 04, 2014 at 12:44:54AM +0200, Felix Winkelmann wrote: So, in short: forget about unicode, the full numeric tower, chicken-install, port-refactoring and everything but modularization, the

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-09 Thread Felix Winkelmann
Assuming egg authors won't create new repositories for their eggs for CHICKEN 5, the henrietta-cache instance for CHICKEN 5 would still cache versions that are only compatible with CHICKEN 4, although they will be only meant to be used by CHICKEN 5. I think that's not a really serious issue,

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-09 Thread Mario Domenech Goulart
On Tue, 09 Sep 2014 16:29:21 +0200 (CEST) Felix Winkelmann felix.winkelm...@bevuta.com wrote: Assuming egg authors won't create new repositories for their eggs for CHICKEN 5, the henrietta-cache instance for CHICKEN 5 would still cache versions that are only compatible with CHICKEN 4,

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-09 Thread John Cowan
Felix Winkelmann scripsit: I basically agree, but please note that UTF8-aware string-mutation would have to invole become!, which is very inefficient. True, but it is also very rare in core: only 8 uses, most of which could be easily removed. (I exclude of course the SRFI-13 and SRFI-14

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-09 Thread Oleg Kolosov
On 09/04/14 13:30, Jörg F. Wittenberger wrote: Am 29.08.2014 20:50, schrieb Oleg Kolosov: On 08/23/14 19:35, Peter Bex wrote: I've made a start on the wiki, at what we'd like CHICKEN 5 to be about. I've remembered one more thing: why not stick the terminating '\0' at the end of all strings in

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-09 Thread Felix Winkelmann
Well, the problem are eggs that are not in our central repository. I think the versioning thing also affects the eggs in svn too. For example, suppose right now you have egg foo at version 1.0. When CHICKEN 5 is released, foo will be ported to CHICKEN 5. What version will it be in

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-09 Thread John Cowan
Felix Winkelmann scripsit: Thanks for clearing that up. I knew that your encyclopedic brain can be relied on. I darkly recall having read it in CLTL2 by Guy Steele, but wasn't sure where he got it from. In this case it's Dr. Google who can be relied upon. -- John Cowan

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-08 Thread Oleg Kolosov
On 09/04/14 23:14, Felix Winkelmann wrote: How hard is it would be to add to chicken an option to output a list of module dependencies: ... You can try the -debug M option, which lists files referenced via require and its variants, including uses declarations. This does currently not handle

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-08 Thread Felix Winkelmann
This option looks interesting, it event seems to differentiate between built-in and installed modules, but AFAICT it requires import libraries to be already in place to output something. So, it can not be used to gather compilation dependencies. What I really need is a way for a given name

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-08 Thread Peter Bex
On Thu, Sep 04, 2014 at 12:44:54AM +0200, Felix Winkelmann wrote: Hello, Peter! I generally agree with most proposed changes on this list (with the exception of the idea to drop fluid-let, of course.) But it must be clear to you that you already created a pony page. It is impossible to do

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-04 Thread Jörg F. Wittenberger
Am 29.08.2014 20:50, schrieb Oleg Kolosov: On 08/23/14 19:35, Peter Bex wrote: I've made a start on the wiki, at what we'd like CHICKEN 5 to be about. I've remembered one more thing: why not stick the terminating '\0' at the end of all strings in internal representation? This looks pretty

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-04 Thread Andy Bennett
Hi, * Please use long, explicit library names, it's easier to remember (there are many ways to abbreviate something, but only one way not to - I forgot who said this, John will tell me, I'm sure.) And I would also suggest to avoid using srfi-XXX as a module name, and to use something

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-04 Thread Felix Winkelmann
How hard is it would be to add to chicken an option to output a list of module dependencies: files which it will finally try to dload considering all renaming, functors, multiple definitions or whatever corner cases? Something like: chicken -emit-depends depends.out -analyze-only module.scm

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-03 Thread Felix Winkelmann
Is swig stuff in the core really used? No clue. AFAIK we don't really support it anymore since CHICKEN 3, but I could be totally wrong. This should be dropped. I would be surprised if the SWIG module for CHICKEN stil works, and using bind is in the end much simpler. felix

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-03 Thread Felix Winkelmann
From: Peter Bex peter@xs4all.nl Subject: Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal Date: Sun, 24 Aug 2014 11:33:59 +0200 On Sun, Aug 24, 2014 at 04:26:58AM -0400, John Cowan wrote: Peter Bex scripsit: I'd especially appreciate feedback on the core library names

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-09-03 Thread Felix Winkelmann
I've made a start on the wiki, at what we'd like CHICKEN 5 to be about. Please, do not make this into another pony page, only add things that we really need to look at which require a rework in core which may be backwards-incompatible. Hello, Peter! I generally agree with most proposed

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-29 Thread Oleg Kolosov
On 08/23/14 19:35, Peter Bex wrote: I've made a start on the wiki, at what we'd like CHICKEN 5 to be about. I've remembered one more thing: why not stick the terminating '\0' at the end of all strings in internal representation? This looks pretty harmless but could make some common FFI uses a

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-29 Thread Arthur Maciel
2014-08-29 16:01 GMT-03:00 Peter Bex peter@xs4all.nl: On Fri, Aug 29, 2014 at 10:50:31PM +0400, Oleg Kolosov wrote: On 08/23/14 19:35, Peter Bex wrote: I've made a start on the wiki, at what we'd like CHICKEN 5 to be about. I've remembered one more thing: why not stick the

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-29 Thread Peter Bex
On Fri, Aug 29, 2014 at 04:11:21PM -0300, Arthur Maciel wrote: Peter, I remember you wrote about this on 2012, right? http://www.more-magic.net/posts/lessons-learned-from-nul-byte-bugs.html Correct, I think this is an important safety feature of a high-level language. In fact, I was the one

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-29 Thread Oleg Kolosov
On 08/29/14 23:01, Peter Bex wrote: On Fri, Aug 29, 2014 at 10:50:31PM +0400, Oleg Kolosov wrote: On 08/23/14 19:35, Peter Bex wrote: I've made a start on the wiki, at what we'd like CHICKEN 5 to be about. I've remembered one more thing: why not stick the terminating '\0' at the end of all

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-28 Thread Peter Bex
On Thu, Aug 28, 2014 at 09:41:01AM +0400, Oleg Kolosov wrote: On 08/27/14 11:00, Peter Bex wrote: It sounds like you're looking for condition-case. I think this takes care of the handling of various different kinds of exceptions in a very elegant way, and it's actually my favorite part of

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-27 Thread Peter Bex
On Wed, Aug 27, 2014 at 01:50:13AM +0400, Oleg Kolosov wrote: On 08/26/14 11:06, Peter Bex wrote: On Tue, Aug 26, 2014 at 10:29:23AM +0400, Oleg Kolosov wrote: On 08/25/14 15:30, Peter Bex wrote: On Mon, Aug 25, 2014 at 10:31:44AM +0400, Oleg Kolosov wrote: Ah, I didn't understand that.

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-26 Thread Oleg Kolosov
On 08/25/14 15:30, Peter Bex wrote: On Mon, Aug 25, 2014 at 10:31:44AM +0400, Oleg Kolosov wrote: Is there a way to get rid of ##sys# prefix everywhere? It might be matter of preference, but it makes the sources harder to read. It was originally used as a guaranteed separate namespace. R5RS

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-26 Thread Peter Bex
On Tue, Aug 26, 2014 at 10:29:23AM +0400, Oleg Kolosov wrote: On 08/25/14 15:30, Peter Bex wrote: On Mon, Aug 25, 2014 at 10:31:44AM +0400, Oleg Kolosov wrote: [explanation about ##sys# prefix] I suspected that it is related to name clashes, now I see how exactly, thanks for the detailed

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-26 Thread John Cowan
Oleg Kolosov scripsit: Sorry my lame use of match, there should be a better way, but it gives the idea: if user already can throw whatever he pleases, why bother with conditions at all? Because they are a convenient way to pack up miscellaneous information about the failure situation, that's

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-26 Thread John Cowan
Mario Domenech Goulart scripsit: I remember there is another breaking change that maybe we can fix in CHICKEN 5: the behavior of set! on unbound variables. R7RS takes an intermediate position between R5RS (allowed) and R6RS (forbidden): it's allowed in the REPL, but forbidden in a module. I

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-26 Thread Arthur Maciel
2014-08-26 14:30 GMT-03:00 John Cowan co...@mercury.ccil.org: Mario Domenech Goulart scripsit: I remember there is another breaking change that maybe we can fix in CHICKEN 5: the behavior of set! on unbound variables. R7RS takes an intermediate position between R5RS (allowed) and R6RS

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-26 Thread Oleg Kolosov
On 08/26/14 11:06, Peter Bex wrote: On Tue, Aug 26, 2014 at 10:29:23AM +0400, Oleg Kolosov wrote: On 08/25/14 15:30, Peter Bex wrote: On Mon, Aug 25, 2014 at 10:31:44AM +0400, Oleg Kolosov wrote: Ah, I didn't understand that. If we make it part of an egg it gets its own dedicated wiki page.

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-25 Thread Oleg Kolosov
On 08/23/14 19:35, Peter Bex wrote: Hello hackers! I've made a start on the wiki, at what we'd like CHICKEN 5 to be about. Please, do not make this into another pony page, only add things that we really need to look at which require a rework in core which may be backwards-incompatible.

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-25 Thread John Cowan
Oleg Kolosov scripsit: Regarding continuations I think that call/cc is an advanced feature people brag about when advocating Scheme but not so useful in practise. Well, I've been using it a lot in writing my set/bag package for SRFI 113, albeit in a very stereotyped way: (call/cc (lambda

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-25 Thread John Cowan
Alex Shinn scripsit: F-operator define-record-and-printer static-modules strictly-pretty sql-de-lite Okay, I'm convinced. Dot it is. SRFI's are special anyway, but if we wanted we could provide both names for them. Indeed, it turns out that the r7rs egg special-cases them so

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-24 Thread Peter Bex
On Sun, Aug 24, 2014 at 12:10:49PM +0900, Ivan Raikov wrote: I think these are lofty goals, but it is way too much work for a single release. Perhaps modularising the compiler and refactoring the core modules should be the goals for 5.0 release, Those are the major breaking changes. I agree

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-24 Thread John Cowan
Peter Bex scripsit: I'd especially appreciate feedback on the core library names and the things to kill from core. I will be expanding this page over the next few days/weeks. I've added lots of comments. Feel free to merge them in or strike them out. -- John Cowan

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-24 Thread Peter Bex
On Sun, Aug 24, 2014 at 04:26:58AM -0400, John Cowan wrote: Peter Bex scripsit: I'd especially appreciate feedback on the core library names and the things to kill from core. I will be expanding this page over the next few days/weeks. I've added lots of comments. Feel free to merge

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-24 Thread Peter Bex
On Sun, Aug 24, 2014 at 11:33:59AM +0200, Peter Bex wrote: Thank you for the feedback. I've added my replies inline. I've added fluid-let to the list of things to be removed. It's dangerously unsafe, and it is completely unnecessary to have it in core. There are a handful of uses of it in

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-24 Thread John Cowan
Peter Bex scripsit: It's not as bad as I initially thought; the current-*-port is handled as a special case, so it's actually safe to update them with fluid-let. This could be simplified by using parameters, though. Actually, current-*-port are already parameters (or at any rate conform to

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-24 Thread John Cowan
Peter Bex scripsit: Thank you for the feedback. I've added my replies inline. My only response is about blobs vs. u8vectors: I am arguing that there is no reason why these should be disjoint types in future. -- John Cowan http://www.ccil.org/~cowanco...@ccil.org We call

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-24 Thread Alex Shinn
On Sun, Aug 24, 2014 at 4:50 PM, John Cowan co...@mercury.ccil.org wrote: Peter Bex scripsit: As for library names, I favor fully spelled out names instead of abbreviations, i.e. chicken.fixnum, chicken.flonum, etc. Noted. I don't care much which way it goes, so if nobody argues

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-23 Thread Oleg Kolosov
On 08/23/14 19:35, Peter Bex wrote: Hello hackers! I've made a start on the wiki, at what we'd like CHICKEN 5 to be about. Please, do not make this into another pony page, only add things that we really need to look at which require a rework in core which may be backwards-incompatible.

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-23 Thread Peter Bex
On Sat, Aug 23, 2014 at 11:35:26PM +0400, Oleg Kolosov wrote: Thanks for the write up, it looks really promising. While at it I would like to propose changing build system to CMake with the following considerations: I'd be willing to take a close look at it, if you can send a patchset. I

Re: [Chicken-hackers] Made a start with CHICKEN 5 proposal

2014-08-23 Thread Ivan Raikov
I think these are lofty goals, but it is way too much work for a single release. Perhaps modularising the compiler and refactoring the core modules should be the goals for 5.0 release, and points 1.3-1.8 would be done as 5.x releases leading up to 6.0. As for library names, I favor fully spelled