> as I recall, it still lacks things 
> like sessions or authentication.

Not sure about that.  Randal evolved it for a shopping-cart type app, so
I would think it has something like that.

> More importantly, does anyone "get" Randal's CGI::Prototype?

See http://www.stonehenge.com/merlyn/LinuxMag/col70.html and 71 and 72
for 3-part worked example(s) [Linux Magazine May-July, 2005]

There's also
http://sourceforge.net/mailarchive/forum.php?forum=cgi-prototype-users

> Usually Randal's recommendations or modules have a readily apparent 
> elegance to them, 

Indeed.  The elegance here comes from the use of Class::Prototyped,
which is the inspiration. 
http://search.cpan.org/~teverett/Class-Prototyped-1.10/lib/Class/Prototy
ped.pm

> brings relative to the added complexity it introduces.

CGI::Prototype offers a _different_ way of factoring out the "you always
had to write this glue code" code.  Catalyst uses the Perl Attributes
annotations to factor out glue-code, which is classy demonstration that
attributes are a good idea.  CGI::Prototype uses prototypical
(instance-based, or nonce-class) inheritance. 


Prototypical inheritance is not your classical C++/Java rigid  Object
Isa Class inheritance structure, or even SmallTalk 1st-Class 2nd-Order
Class objects, so is somewhat foreign on first impression. Every object
has it's own class, which may be same or similar to other objects'; the
key relation is not "Isa" but "Has" (and "Can").  This model goes back
to antiquity, via the Self language (1980's) to the earliest days of
A.I. in Lisp (late 1960's or early 1970's?) and the
Frame/Slot/Attribute/Facet theory of knowledge representation (later in
Prolog and other engines as well). Some of us have done similar things
in C++ and SmallTalk; there was a blossoming of this model in the Expert
System rage of the 1980's. Prototype-based nonce-classes are highly
flexible, very cool, but hard to get your head around the first time,
since it's so heterodox (outside the Lisp / A.I. community, that is, and
much of Lisp moved on with Scheme and CLOS standards).  

For background on Frame-based knowledge bases, see for instance
http://www.cse.unsw.edu.au/~claude/teaching/AI/notes/prolog/Frames/Frame
s.html
http://deed.megan.ryerson.ca/~fil/I/Papers/kicIII/node10.html
http://www.amzi.com/ExpertSystemsInProlog/06frames.htm

(Aside -- Frame-structures are inherently XML friendly,
http://www.ai.sri.com/pkarp/xol/xol.html but antedate XML per se by 20+
years -- there was likely cross-fertilization between Frame folks and
SGML folks in the 80's.)


-- Bill
 
_______________________________________________
Boston-pm mailing list
[email protected]
http://mail.pm.org/mailman/listinfo/boston-pm

Reply via email to