RV: pepsi? coke? croak?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

RV: pepsi? coke? croak?

Edgar J. De Cleene
Esto será importante en el futuro, si suficiente gente sigue esta visión.
Para los veteranos argentinos, alguien recuerda la Bidu ?

------ Mensaje reenviado
De: Ian Piumarta <[hidden email]>
Responder a: The general-purpose Squeak developers list
<[hidden email]>
Fecha: Thu, 5 Oct 2006 15:35:18 -0700
Para: The general-purpose Squeak developers list
<[hidden email]>
Asunto: Re: pepsi? coke? croak?

Hi,

I really didn't want to talk about any of this just yet but since there
is already a little interest (and a little confusion) I'll try to
clarify.

 > someone can point me out to some documentation to pepsi?

piumarta.com/pepsi/pepsi.html
piumarta.com/pepsi/coke.html
piumarta.com/papers/colas-whitepaper.pdf

 > What is exactly pepsi/croak/idst?

'Id' is an object model.  It's the simplest possible model that
permits an
object to receive a message without introducing any early bound
assumptions
in the mechanisms.

'Idst' is a Smalltalk-like syntax (and object library) built on Id using
prototypes rather than [meta]classes.  The runtime is entirely
dynamic but
the code compiles to a static (native) executable.

'Pepsi' is a generic name for the universe of simple object models and
languages that can be built directly on top of Id.  These exist
mainly to
provide a message-oriented foundation for making object structures in...

'Coke' is tree-based abstraction of computation.  Structures
representing Coke
parse trees can be converted into machine code.  One use for this
machine
code is to populate the method tables of Id objects, or to re-
implement its
semantics of message lookup and dispatch.

Coke has a natural textual representation as s-expressions, but one
interesting thing to do with it is build 'algebras of late-bound
syntax' and
feed it stuff written in arbitrary combinations of arbitrary
languages.  One
interesting syntax to describe dynamically is Idst/Pepsi.  (If you
remember
TV ads from the 70's you now understand the working names: Coke...
it's the
Real Thing.)

'COLAs' are combined object-lambda abstractions.  The objects form
structures describing behaviour.  The described behaviour provides the
objects with their implementation: message delivery and the
sequencing of
subsequent messaging within methods, as a minimum.  Coke's dynamic code
generator provides incremental programming; it's static code generator
provides a 'kernel' when some subset of the system is compiled to a
binary.
Because static code implements the dynamic execution model there is
no early
binding trauma caused by doing so.

'Jolt' is the current prototype of Coke that can add dynamic
behaviour to
Pepsi objects.

'Croak' is a noise made by frogs.

 > Is pepsi a system to compile small snippet of smalltalk code?

With the Idst syntax and object library, you might consider Pepsi as
something like that.  Provided you don't mind the absence of classes and
that the bootstrap compiler 'idc' generates only static code, it's even
almost usable as such.

Current work includes: implementations of some popular scripting
languages
(JavaScript and Python); bindings to various window systems with
accelerated
2D and 3D graphics; rewriting the dynamic code generator to support both
dynamic and static output (turning Jolt into Coke); and parsing ISO C99
platform header files to obviate FFIs and off-line 'interface
generators' and
other similar forms of low-life.

Future plans include: a public release under the MIT license; some
kind of
language with generic functions and first-class-selector-driven
compilation
(maybe similar to Dylan); a version of Idst that conforms 100% to the
ANSI
Smalltalk standard; an integrated, graphical, incremental development
environment; and a 'whole-system' implementation based on a handful of
fundamental abstractions and algorithms that is homogenous, from
graphical
scripting all the way down to the metal.

(It's often said that Smalltalk and Lisp suffer because they are systems
that eat all of their young.  If COLA succeeds it might be called the
system that
ate its parents.)

Hope that helped.

Cheers,
Ian



------ Fin del mensaje reenviado



       
       
               
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas




correo electrónico a: [hidden email]


correo electrónico a: [hidden email]

 
Enlaces de Yahoo! Grupos

<*> Para visitar el sitio web del grupo, andá a:
    http://ar.groups.yahoo.com/group/squeakRos/

<*> Para cancelar tu suscripción a este grupo, enviá un mensaje a:
    [hidden email]

<*> El uso de Yahoo! Grupos está sujeto a las:
    http://ar.docs.yahoo.com/info/utos.html