chicken-hackers
[Top][All Lists]
Advanced

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

Re: [Chicken-hackers] [PATCH 0/5] List scrutiny special cases


From: Jörg F. Wittenberger
Subject: Re: [Chicken-hackers] [PATCH 0/5] List scrutiny special cases
Date: Wed, 10 Sep 2014 12:48:24 +0200
User-agent: Mozilla/5.0 (X11; Linux armv7l; rv:31.0) Gecko/20100101 Icedove/31.0

Am 09.09.2014 um 15:34 schrieb Moritz Heidkamp:
John Cowan <address@hidden> writes:

Thanks, that's helpful.  The trouble is that such a file is an internal
(not publicly documented, unstable) format.  So if I want to ship portable
code along with type information for Chicken, I have to:

1) insert the type declarations in the code

2) compile with the -emit-type-file option

3) strip out the declarations again

4) hope the .types file continues to work with new compiler releases
Wait, what? Why not just something like this:

   (cond-expand
     (chicken
       (include "chicken-type-decls.scm"))
     (else))

Note also that the type declarations are intentionally compatible to be "macro-defined away" like this

(define-macro (: . rest) '(begin))
(define-macro (the type val) val)




That's really intolerable.  I suppose if I confine myself to : and
define-type, then I could ship my code along with macros that turn them
into (begin).
FTR, there is the type-stubs egg which defines those macros and some
more. It's purpose is to make code compatible with CHICKENS that didn't
yet have the type syntax but could be used for portability purposes,
too.

Moritz

_______________________________________________
Chicken-hackers mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/chicken-hackers




reply via email to

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