Hola gente!

El anio pasado pude presentar en Smalltalks 2011 un compilador open source
de .st a .js (Javascript). Ahora estoy trabajando en una VM open source
directamente en Javascript, basada en bytecodes, que hasta ahora ejecuta
tanto en el servidor (Node.js en mi caso) como en el browser. Ya estoy
parseando y compilando a bytecodes gran parte de un fileOut de Pharo/Squeak
(podria pasar a compilar a Javascript, como el anio pasado, creo, pero por
ahora que sea bytecodes ;-)

Todavia no tuve que usarlo, pero ya otras veces me encontre con codigo como
este en Pharo:

!ProtoObject methodsFor: 'apply primitives' stamp: 'ajh 1/31/2003 22:20'!
tryNamedPrimitive
"This method is a template that the Smalltalk simulator uses to
execute primitives. See Object documentation whatIsAPrimitive."
<primitive:'' module:''>
^ ContextPart primitiveFailToken! !

!ProtoObject methodsFor: 'apply primitives' stamp: 'ajh 1/31/2003 22:20'!
tryNamedPrimitive: arg1
"This method is a template that the Smalltalk simulator uses to
execute primitives. See Object documentation whatIsAPrimitive."
<primitive:'' module:''>
^ ContextPart primitiveFailToken! !


No pude encontrar para que esta <primitive:'' module:''> y eso de que es un
template. Entiendo lo que es <primitive: 110> es decir con nro, pero no se
que es eso de arriba, por mas que encontre lo de Object documentation
whatIsAPrimitive, no encontre como funciona eso de tener primitive con '' y
module:.

Ya que estoy, aprovecho y pregunto otra cosa: el formato de fileOut de
Pharo/Squeak, es el mas "normal", aceptado en el mundo Smalltalk? Hoy vi al
pasar que hay otros formatos, que parecen depender del dialecto (puede ser
que Dolphin tiene otro formato de fileout?)

Gracias por cualquier info!

Nos leemos!

Angel "Java" Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]

http://www.clubSmalltalk.org

Responder a