[Ecls-list] Upcoming

Matthew Mondor mm_lists at pulsar-zone.net
Wed Jul 3 17:38:34 UTC 2013


On Tue, 2 Jul 2013 12:16:07 +0200
Juan Jose Garcia-Ripoll <juanjose.garciaripoll at gmail.com> wrote:

> * Declaration of C variables
> 
> (let ((a (cos 1.0))
>   (declare (:double a))
>   ...)
> 
> * Direct references to C variables
> 
> (ffi:c-inline (a b) (:double :double) :void
>    "#0 = cos(#1)")
> 
> * Embed imperative lisp in C (syntax not yet decided)
> 
> (let ((a 0))
>    (declare (:int a))
>    (ffi:c-progn (a) ; one or more variables
>      "for (#0 = 1; #0 < 10; #0++) {"
>      (print a)
>      "}"))

I'll surely experiment with these new features eventually as I have
more time, they seem interesting :)

Hmm so in the case of "Direct references to C variables", both a and b
are assumed to have been especially declared as in the last example,
with something similar to (let ((a 0.0) (b 3.3)) (declare (type :double
a b)) ... ?

Thanks,
-- 
Matt




More information about the ecl-devel mailing list