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.
-~----------~----~----~----~------~----~------~--~---