Functional Programing: stop using recursion, cons. Use map & vectors
Deeyana
d.awlberg at hotmail.invalid
Mon May 23 18:27:11 EDT 2011
On Mon, 23 May 2011 00:52:07 -0700, asandroq wrote:
> On May 23, 4:29 am, Deeyana <d.awlb... at hotmail.invalid> wrote:
>>
>> You might be interested in Clojure, then. Lists are more abstracted,
>> like in Scheme, and vectors and also dictionaries/maps and sets are
>> first class citizens along side lists. And unlike Scheme, Clojure has
>> good library/host interop support. You can write real-world
>> applications in it without spontaneously combusting.
>
> Nonsense.
Classic unsubstantiated and erroneous claim. Nothing that I write is ever
"nonsense".
> Several Scheme systems have excellent FFIs with more than "good library/
> host interop support".
Classic unsubstantiated and erroneous claim. Scheme does not come OOTB
with any suitable libraries for host interop and though it can make calls
to C libraries, doing so is awkward and involves difficulties with the
impedance mismatch between Scheme's data structures and C's char *, void
*, int, double, array, etc. types. To top it off, C lacks automatic
memory management, which means you'll have to concern yourself with
manually disposing of allocated data structures used in interop. (Or,
worse, things will get garbage collected by the Scheme runtime that the
Scheme code no longer references, but the C library is still using, and
bam! SIGSEGV.)
And then you gain what, the diverse mix of platform-specific, unportable,
sometimes-wonky C libraries?
Versus Clojure immediately granting simple, easy to use access to a large
standard Java library that works more or less the same across a broad
range of host platforms, as well as the rest of the JVM library
ecosystem, which mostly has the same qualities. Clojure being designed
for the JVM, there's much less of an impedance mismatch with Java's
types, and the interop call syntax is easy to master and won't set your
hair on fire.
More information about the Python-list
mailing list