KBD

Keith Devens .com

Wednesday, July 9, 2008 Flag waving
And we know that in all things God works for the good of those who love him, who have been... – Paul (Romans 8:28)

Tag: Prototype OO

Parents:

Daily link icon Friday, March 3, 2006

Transmuter Programming Language

Transmuter Programming Language (via PLNews):

The Transmuter Programming Language, or Trans for short, is a new dynamic programming language that has been under careful design and development for several years, and is currently in an initial testing phase. Trans is a biologically inspired language, providing a framework for experimenting with naturally evolving systems of objects over the net, and for exploring new ideas about recombinant software, code morphing, and evolutionary programming in general. The Trans model is an ambitious attempt to fuse modern programming language paradigms with novel evolutionary programming techniques. It is a modern object-oriented dynamic language with a built-in capacity for evolutionary transformation.

The code looks clean, and the source code to Trans is public domain (that's real freedom in software). Plus, it's got a prototype-OO system, and I love prototype OO. I can't comment on the "evolutionary" features as yet, but the threading system looks super easy (though it's not yet documented enough to use).

Daily link icon Wednesday, December 14, 2005

Python's metaclasses

Dev Shed has an excellent introduction to Python's metaclasses (via DPU). I get it now:

  • Python's metaclasses are just normal classes that inherit from type
  • When you instantiate a metaclass the object returned is itself a class
  • To declare that a class has a given metaclass, set the __metaclass__ data member to the metaclass when declaring the class.
  • The metaclass' __init__ method is called when a class that has it as its metaclass is declared (__init__ for metaclasses takes (klass, klass_name, base_classes, dict_of_attributes) as its parameters).

And that's it (according to the article). So, it seems that Python very nearly has a prototype-based object system, but not quite. (And I ❤ prototype-based object systems.) With a prototype-based object system the distinction between metaclasses and classes (heck, and objects) goes away, so it seems to me that you could do the same thing as what Python calls metaclasses simply by overriding a particular object's clone method. Am I wrong?

July 2008
SunMonTueWedThuFriSat
 12345
6789101112
13141516171819
20212223242526
2728293031 



RSS feed RSS feed for Keith's Weblog
Atom feed Atom feed for Keith's Weblog
Weblog archive
Recent comments
  on 2 posts

Recent comments XML

getElementsByClass function

http://pitfalls.wordpress.com/2008/​07/07/querying-it-jquery-way-getele​ments...

maxgandalf: Jul 7, 5:50am

Generated in about 0.11s.

(Used 10 db queries)

mobile phone