[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-hackers] CHICKEN in production
From: |
Daniel Leslie |
Subject: |
Re: [Chicken-hackers] CHICKEN in production |
Date: |
Wed, 8 Oct 2014 06:56:29 -0700 |
I hope no one minds me jumping in to add my two cents...
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; 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?
> So much to do, so little manpower :(
It would help if the Development Roadmap were updated, and contained
more than bullet points regarding features. 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.
> Yeah, that can certainly be a problem. Debugging CHICKEN code can be a
> bit like reading tealeaves, sometimes. I don't see an easy way to fix
> that, considering Cheney on the MTA is really an essential part of CHICKEN.
>
>> And useful info about passed arguments and such is left in the generated
>> comments - you need to inspect the sources with the ‘list’ command to view
>> it.
>
> That's a good thing, right? The sources are available and can be kept
> using the -k switch. If there are other comments that could be inserted
> which might be more helpful, we're open to suggestions.
>
>> We tried to improve this with the insertion of #line directives without much
>> success - code generator is too complex, especially where FFI is involved.
>> We are inserting logging statements everywhere. Unfortunately logging
>> considerably uglifies the code and makes some functional programming idioms
>> much harder to use (like map/fold/cut oneliners). Also various analysis
>> tools like Valgrind and libc malloc checkers fall flat when Chicken is
>> involved.
>
> I think Jerry mentioned he used Valgrind for debugging CHICKEN/C code,
> and malloc checkers should work just fine with CHICKEN: it doesn't mess
> with the C heap.
I've used a combination of -k, gdb and perf to a fair amount of
success. The hurdles remain that it unavoidably requires one to become
comfortable with wading through stacks of name-mangled code, and gain
some familiarity with the internal representation of Chicken objects.
Neither of those are particularly conducive to source-level debugging.
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.
> What exactly is wrong with SIGINT handling?
Also curious. Chicken's POSIX compatibility is a strong point, to me.
> I'd like to note, though, that it's unfortunate that we're only now
> having this conversation about your previous project: I'm sure that if
> you'd asked earlier on the list, we could've helped you better to debug
> or work around problems. Like for example the disable-interrupts and
> defstruct issues could possibly have been solved as you ran into them.
> One of the great things about CHICKEN is its community; I'd advise
> everyone to make good use of it!
Aye, y'all are a great bunch of folks. Chicken enjoys a fantastic
group of hackers, users and lurkers. No one should hesitate to reach
out if they have questions.
-Dan
- Re: [Chicken-hackers] CHICKEN in production, (continued)
- Re: [Chicken-hackers] CHICKEN in production, Kristian Lein-Mathisen, 2014/10/07
- Re: [Chicken-hackers] CHICKEN in production, Peter Bex, 2014/10/07
- Re: [Chicken-hackers] CHICKEN in production, Oleg Kolosov, 2014/10/07
- Re: [Chicken-hackers] CHICKEN in production, r, 2014/10/07
- Re: [Chicken-hackers] CHICKEN in production, Alex Shinn, 2014/10/07
- Re: [Chicken-hackers] CHICKEN in production, r, 2014/10/09
- Re: [Chicken-hackers] CHICKEN in production, Alex Shinn, 2014/10/10
- Re: [Chicken-hackers] CHICKEN in production, Felix Winkelmann, 2014/10/10
- Re: [Chicken-hackers] CHICKEN in production, Alex Shinn, 2014/10/10
- Re: [Chicken-hackers] CHICKEN in production, Peter Bex, 2014/10/08
- Re: [Chicken-hackers] CHICKEN in production,
Daniel Leslie <=
- Re: [Chicken-hackers] CHICKEN in production, Peter Bex, 2014/10/08
- Re: [Chicken-hackers] CHICKEN in production, Daniel Leslie, 2014/10/08
- Re: [Chicken-hackers] CHICKEN in production, John Cowan, 2014/10/08
- Re: [Chicken-hackers] CHICKEN in production, Peter Bex, 2014/10/08
- Re: [Chicken-hackers] CHICKEN in production, Jörg F. Wittenberger, 2014/10/08
- Re: [Chicken-hackers] CHICKEN in production, Peter Bex, 2014/10/08
- Re: [Chicken-hackers] CHICKEN in production, Jörg F. Wittenberger, 2014/10/08
- Re: [Chicken-hackers] CHICKEN in production, John Cowan, 2014/10/08
- Re: [Chicken-hackers] CHICKEN in production, Jörg F. Wittenberger, 2014/10/10
- Re: [Chicken-hackers] CHICKEN in production, Christian Kellermann, 2014/10/10