Linked by Eugenia Loli-Queru on Mon 21st Nov 2005 03:26 UTC, submitted by luzr
Thread beginning with comment 63689
To view parent comment, click here.
To read all comments associated with this story, please click here.
To view parent comment, click here.
To read all comments associated with this story, please click here.





Member since:
2005-07-06
Hardly. Value is just a type-safe wrapper on top of void*.
No, you can't. Void* is just a way to pass around objects of unknown type. Dynamic typing is a whole lot more. In particular, dynamic typing requires some form of generic dispatch. Value is just a way to box up an object and pass it around. You still need to unbox it to use it.
Mental overhead is quite low, but I can agree that learning curve is more steep (but much less steep than the one for STL/Boost combo).
For a C++ programmer, maybe. For anybody who is used to actual productive languages, no it's not. Passing around objects in Lisp has almost no semantics. Everything is a reference. In C++, you have three sets of semantics (reference, value, pointer), and U++ adds another set of its own.
As for callbacks, 1:1 comparison is stupid there. C++ has different set of features and different ways of dealing with things.
The claim was that callbacks subsume the uses of closures. Closures do way more than callbacks, and there is no good replacement for them in C++.