chicken-hackers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-hackers] CHICKEN in production


From: Peter Bex
Subject: Re: [Chicken-hackers] CHICKEN in production
Date: Wed, 8 Oct 2014 20:05:59 +0200
User-agent: Mutt/1.4.2.3i

On Wed, Oct 08, 2014 at 06:56:29AM -0700, Daniel Leslie wrote:
> I hope no one minds me jumping in to add my two cents...

All comments are very welcome!

> On Wed, Oct 8, 2014 at 12:16 AM, Peter Bex <address@hidden> wrote:
> > On Wed, Oct 08, 2014 at 01:31:30AM +0400, Oleg Kolosov wrote:
> >> On Oct 7, 2014, at 10:04 PM, Peter Bex <address@hidden> wrote:
> > It was discussed before on this list, and I shot it down due to the
> > danger, however I think it may be possible to change the string
> > representation to always include a \0 at the end, so that passing it
> > to C will simply be a matter of passing a pointer.  The danger could
> > be avoided by a taint bit: if the string is known to not contain \0,
> > it can be passed directly.  Otherwise, it needs to be checked and
> > marked if it's safe.  If it's unsafe, an exception can be thrown.
> 
> It seems strange that Chicken Scheme doesn't support blind use of
> char[] strings;

How so?  It's the correct Schemely way of handling strings, to disallow
embedded NUL bytes.  Because of the way the garbage collector works, it
is natural to store strings in Pascal representation (ie, start+length
instead of start+in-band terminator mark).  The code originally always
copied; I just added the NUL checking to it because I'm a paranoid
security nut.

> but I appreciate the choices made and the difficulty
> in making changes now.  Perhaps this is something that can be examined
> by whomever takes the plunge and brings core UTF8 support in?

Perhaps.  I don't feel qualified to do much about UTF-8.  I've mostly
looked at it from afar and it smells complex beyond belief so I'll keep
my distance, at least for now.

> > So much to do, so little manpower :(
> 
> It would help if the Development Roadmap were updated, and contained
> more than bullet points regarding features.

There has been a development-roadmap for a while:
https://wiki.call-cc.org/development-roadmap
And of course for CHICKEN 5 we went all out and created a special roadmap:
https://wiki.call-cc.org/chicken-5-roadmap

Finally, we have had a ticket tracker for a very long time.  Besides
these places and the obvious discussions that pop up once in a while
on chicken-hackers, there _is_ no official roadmap.  We basically work
on whatever seems to be needed at the time (debugging all the way), and
if someone comes up with a brilliant idea that's just great.  We're mostly
just having fun, and implement ideas as they come.  There is no master
plan (or should I say Grand Scheme?).  Sorry to disappoint ;)

If you're bored and looking for inspiration for a project, take a look
at our Pony Page: https://wiki.call-cc.org/wish-list
This is just a random collections of "I would really like this feature",
posted by various CHICKEN users.

> As an outsider it would be
> useful to be able to look at a list of features in progress, stalled,
> blocked et al; who is presently working on them; and which are open
> for grabs.

If someone's actively working on something you'll tend to see patches
coming in, or comments on the issue tracker.  I wouldn't know what more
we could do.  What you see really is what you get with our community.

If you're unsure or would like some help, drop by on IRC or post to
chicken-hackers.  There's always someone who's willing to help or explain
something.

> There are several packages for Emacs that make writing Chicken code
> easier, but last I checked there's a fairly big gap in the debugging
> department. Relatedly, I checked with Nick G, the author of the SLIME
> egg, and he's no longer working on Chicken-related projects but is
> happy to accept patches.

Making debugging easier with CHICKEN is an open project that nobody has
picked up so far.  The pony page has a "source level debugger" bullet
point.  It looks pretty innocuous there, but it would be a large project
that takes a significant amount of work and requires quite a familiarity
with core (which one could work up while working on the project, of course).

Cheers,
Peter
-- 
http://www.more-magic.net



reply via email to

[Prev in Thread] Current Thread [Next in Thread]