uqbar-project / wollok

Wollok Programming Language
GNU General Public License v3.0
60 stars 16 forks source link

Pair no entiende distance #1612

Open npasserini opened 5 years ago

npasserini commented 5 years ago

Surgió la idea de usar pares tipo 1 -> 2 para modelar posiciones, pero resulta que no entienden "distance". El objeto que entiende distance es Position en game. Pero para eso hay que importar game y crearlas con game.at(1,2).

¿Qué hacemos? ¿Unificamos Pair con Position? ¿TIene sentido tener ambas? ¿Es lógico tener distance en Pair? ¿Vale/conviene dar Position ya mismo?

PalumboN commented 5 years ago

Yo no le puse ese método a Pair porque está pensada para tener pares de cualquier cosa (más allá de números). Pero ahora no me calienta (las listas entienden concat y sum, aunque tengan cualquier cosa). Antes no teníamos este problema porque game estaba en lang y no hacía falta importarla.

Otra opción que me gustaba es que los números entiendan @ para crear posiciones onda (1 @ 2).

De todas formas, lo de unificar Position con Pair no lo veo conveniente porque tiene otros métodos propios de WollokGame (como draw / objectsIn).

lspigariol commented 5 years ago

Los pares nunca los usé. Tal vez sea porque no me simpatiza el -> (que dicho sea de paso podria usarse para otra cosa mas util, recuerdo por ejemplo una discusion vieja sobre los metodos abstratos, la conveniencia de explicitar si tienen o no si tenían retorno) El @ para crear pares me simpatiza, me recuerda smalltalk. No se si es muy util, pero como modelo me imagino una superclase con pair, subclase coordenadas (especializada en numeros, con distancias y productos cartesianos) y subclase position de game.

el sum no acepta lista de cosas que no sean números. intenta hacer 0 + primer elemento y falla.

El lun., 25 mar. 2019 a las 13:56, Nahuel Palumbo (notifications@github.com) escribió:

Yo no le puse ese método a Pair porque está pensada para tener pares de cualquier cosa (más allá de números). Pero ahora no me calienta (las listas entienden concat y sum, aunque tengan cualquier cosa). Antes no teníamos este problema porque game estaba en lang y no hacía falta importarla.

Otra opción que me gustaba es que los números entiendan @ para crear posiciones onda (1 @ 2).

De todas formas, lo de unificar Position con Pair no lo veo conveniente porque tiene otros métodos propios de WollokGame (como draw / objectsIn).

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/uqbar-project/wollok/issues/1612#issuecomment-476287279, or mute the thread https://github.com/notifications/unsubscribe-auth/ALMbm0tbdTmEEN2Z_LI2uR7PF1i4yGcTks5vaP-jgaJpZM4cEntl .

LeaTex commented 5 years ago

Al parecer este issue está causando un error en el Ejercicio 1 (Tom y Jerry) del Capìtulo 3, en la guía de Mumuki.

a Pair[x=0, y=0] does not understand getX()

image

PalumboN commented 5 years ago

Hola @LeaTex, ese error era porque actualizamos de versión y cambiaron algunos métodos (entre ellos los que tenían la convención de getXxx y setXxx). Ese problema que decís ya está arreglado:

  distancia.entre(0->0,0 ->9)
=> 9
LeaTex commented 5 years ago

¿Ya se hizo el deploy en Mumuki? Porque hice el ejercicio anoche y estaba fallando. Hoy la verdad no lo probé.

fdodino commented 5 years ago

Me parece que hay varias ideas piolas y sería bueno ordenarlas para poder sentarse a implementar algo. Lo muevo a Discuss.