En este problema lo unico que me interesa son las definiciones de las
clases.  Igual, para el problema general, no queda otra que crear una
imagen a partir de codigo fuente.

2010/12/21 Guillermo Schwarz <[email protected]>:
> No es tan fácil como lo plantean.
> En pascal exsite el mismo problema: no se puede definir un procedimiento si
> este llama a otro que aun no esta definido. El problema es que si tengo 2
> funciones recursivas que se llaman una a la otra, entones no puedo poner
> ninguna primero. La solución que se encontró en pascal fue hacer que las
> funciones tengan "forward" es decir, poner el nombre de la función con sus
> parámetros pero sin cuerpo, de modo que sirva para ser invocada (definir la
> segunda función) y posteriormente definir la primera.
> En smalltalk ocurre lo mismo por ejemplo la clase object tiene el método
> asString que retorna un string, tiene el método equals que retorna un
> booleano y el método hash que retorna un integer. De modo que se requiere
> tener una manera de cargar una clase que hace referencia a otra que aun no
> esta 100% definida.
> Si hiciéramos lo mismo en smalltalk pero con las clases, ?funcionaria?
>
> La ventaja en smalltalk es que puedes tener primero todas las definiciones
> de las clases y luego sus metodos, de modo que loque dije no es 100%
> necesario.
> Saludos,
> Guillermo Schwarz.
> El 20-12-2010, a las 22:35, Gaboto <[email protected]> escribió:
>
> Quizá estoy diciendo una obviedad, pero ¿eso no es ordenar topológicamente
> un grafo?
> Según tengo entendido hay algoritmos para eso.
>
> http://es.wikipedia.org/wiki/Ordenaci%C3%B3n_topol%C3%B3gica
>
> 2010/12/20 Andres Valloud <[email protected]>
>>
>> A ver... supongan la siguiente jerarquia de clases:
>>
>> A1
>>  B1
>>    C1
>>    C2
>>      D1
>>  B2
>>    C3
>>      D2
>>      D3
>>      D4
>>    C4
>>
>> Cuantas maneras hay de hacer un fileout de las definiciones de clase
>> de tal manera que se pueda hacer un file in en otra imagen?  O sea, el
>> problema es que no se puede hacer un file out de C4 antes de B2 porque
>> si no cuando se hace file in de C4, su superclase B2 no existe.
>>
>> Es mas o menos facil encontrar una cota inferior.  Haciendo breadth
>> first, hay 4 layers de clases con tamaños 1, 2, 4 y 4.  Por lo tanto,
>> hay por lo menos 1! x 2! x 4! x 4! = 1152 maneras de hacer un file out
>> correctamente.  Sin embargo, cuando busque exhaustivamente, encontre
>> 18900 ordenes diferentes.  Pero bueno, 18900 es 2^2 * 3^3 * 5^2 * 7.
>> Entonces, pregunta... alguien sabe como calcular el numero de posibles
>> file outs sin tener que buscar exhaustivamente?  Es mas o menos claro
>> que ese numero es el numero posible de traversals de un tree.  Como se
>> calcula eso?  Hay algun resultado ya hecho?
>>
>> Andres.
>>
>> --
>> To post to this group, send email to [email protected]
>> To unsubscribe from this group, send email to
>> [email protected]
>>
>> http://www.clubSmalltalk.org
>
> --
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
>
> http://www.clubSmalltalk.org
>
> --
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
>
> http://www.clubSmalltalk.org

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