Jarrett Billingsley wrote:
On Thu, Apr 2, 2009 at 2:14 PM, Robert Jacques <sandf...@jhu.edu> wrote:
On Thu, 02 Apr 2009 11:20:13 -0400, Eljay <el...@adobe.com> wrote:
Although D 2.0 is a multi-paradigm programming language, it does not
support
two paradigms:
+ dynamic typing
std.variant is a good example of a dynamic typing wrapper for value types.
+ reflective programming
By reflective programming it looks like you mean Properties or Prototype
Design ala Java Script/Lua/MiniD/etc.
(http://en.wikipedia.org/wiki/Prototype-based_programming_language)
With D2.0's compile-time reflection you should be able to implement this
very cleanly.
Steve Yegge has a nice blog on the subject
(http://steve-yegge.blogspot.com/2008/10/universal-design-pattern.html)
which mentions several performance optimizations which are applicable to D's
associative arrays.
Thanks for the link to that article. MiniD no longer uses a "pure"
prototype-based object system, but it is still very closely related
and faces the same performance issues. Most of the things he mentions
I've already implemented, but freezing an object's fields is something
I haven't.. frozen namespaces would also be incredibly useful for
sandboxed environments. Hm.
Yes, please!