I started to write a bit on a Guile C++ wrap*), and it strike me it
may give some inputs on the discussion on giving ChucK functional
language capabilities.
First, Guile has a conservative GC (meaning that it just tries to
collect some pointers, not necessarily all). It makes C++
implementation very simple: you don't have to write operator=() and
copy constructors, because normally, when an object is mutated, it is
being done using *this = f(*this) where f is a function of the
functional language (so normal object referencing just needs to hand
over the pointer). But the question is if such a GC can be made
without causing timing problems.
Then I use templates to do some Haskell style static typing, though C+
+ is a bit too limited. But it is fully possible see what kind of
syntax might be possible. For example, one can define an increment
function using
function1