Ayer Esteban (alias Maringa) me dejo pensando con un problemita. A que
evalua la siguiente expresion?

    | a temp |
    temp := a.
    a := [EMAIL PROTECTED]
    temp = a

Si uno piensa en variables, entonces esperaria que retornara "true". La
logica es que las dos variables apuntan a la misma cosa y por ende,
cuando "leamos su contenido" obtengamos el mismo valor.

Pero la expresion retorna "false" en todos los Smalltalk. Y esta bien
que asi sea.

El problema es que las variables no existen en Smalltalk. Una variable
es en realidad un nombre, tag o alias que se utiliza para referenciar a
un objeto. En el parse tree, VariableNode deberia llamarse AliasNode y
AssignmentNode deberia llamarse AliasingNode.

Ahora entiendo bien porque Leandro Caniglia habia cambiado el font del
caracter de asignacion en los MorphicWrappers. (En Squeak se usa el
caracter $_ para asignar y font normal de Squeak lo muestra como una
flechita asi '<-' )

Con esta nueva sintaxis queda mas claro lo que esta pasando:

    | a temp |
    temp -> a.
    a -> [EMAIL PROTECTED]
    temp = a

Que les parece? Valdria la pena modificar la sintaxis de Smalltalk?

Saludos,
Pancho


--~--~---------~--~----~------------~-------~--~----~
  Ha recibido este mensaje porque está suscrito a Grupo "clubSmalltalk" de 
Grupos de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a [email protected]
 Para anular la suscripción a este grupo, envíe un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups-beta.google.com/group/clubSmalltalk?hl=es.

-~----------~----~----~----~------~----~------~--~---

Responder a