uqbar-project / wollok-ts

TypeScript based Wollok language implementation
GNU General Public License v3.0
20 stars 15 forks source link

Cuando tenés dos archivos con el mismo nombre con extensión diferente se rompe el import #166

Closed fdodino closed 6 months ago

fdodino commented 1 year ago

image

Si bien estaría bueno frenar en el IDE la posibilidad de definir un archivo con el mismo nombre, yo creo que lo ideal es hacer el mismo hack que hicimos en Wollok Xtext y solamente asumir imports de archivos wlk (no querés importar definiciones de wtest).

PalumboN commented 1 year ago

Para mí hay 2 caminos que fuimos peloteando en el último tiempo y todavía no tomamos una decisión:

  1. Mantener todo como estaba en xText. Con 3 extensiones y las configs mágicas para que no haya confusión de imports y fqns.

  2. Migrar a tener una única extensión .wlk y para los tests simplemente ponerle bibliotecaTest.wlk y evitar tener más cosas con el mismo nombre.

No sé, para mí lo que teníamos me bastaba y es retro-compatible con todos los ejemplos y apuntes :P

fdodino commented 1 year ago

Coincido con vos.

Para mí tiene ventajas ir por la opción 1:

fdodino commented 1 year ago

Les paso la pelota a @asanzo @lspigariol @npasserini @nscarcella @mmatos y seguro me olvidé de alguien

nscarcella commented 1 year ago

Dígale no a las extensiones diferentes

El vie, 6 oct 2023 07:53, Fernando Dodino @.***> escribió:

Les paso la pelota a @asanzo https://github.com/asanzo @lspigariol https://github.com/lspigariol @npasserini https://github.com/npasserini @nscarcella https://github.com/nscarcella @mmatos https://github.com/mmatos y seguro me olvidé de alguien

— Reply to this email directly, view it on GitHub https://github.com/uqbar-project/wollok-ts/issues/166#issuecomment-1750404090, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFPE242RC46QKJPY54GDJDX57PKPAVCNFSM6AAAAAA5CG67N6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJQGQYDIMBZGA . You are receiving this because you were mentioned.Message ID: @.***>

fdodino commented 1 year ago

Dígale no a las extensiones diferentes El vie, 6 oct 2023 07:53, Fernando Dodino @.> escribió: Les paso la pelota a @asanzo https://github.com/asanzo @lspigariol https://github.com/lspigariol @npasserini https://github.com/npasserini @nscarcella https://github.com/nscarcella @mmatos https://github.com/mmatos y seguro me olvidé de alguien — Reply to this email directly, view it on GitHub <#166 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFPE242RC46QKJPY54GDJDX57PKPAVCNFSM6AAAAAA5CG67N6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJQGQYDIMBZGA . You are receiving this because you were mentioned.Message ID: @.>

si querés convencerme tenés que esforzarte un poco más, tirate alguna razón a favor para contrarrestar

nscarcella commented 1 year ago

Si querés que tu lenguaje genere packages a partir de los nombres de los archivos tenés que desambiguarlos. Qué pasa sí en dos archivos distintos con el mismo nombre y distintas extensiones definís la misma constante?

Se puede? Sí, podés encontrar alguna otra forma de reconciliarlo, pero la más fácil y directa es tener una única extensión.

Por eso es raro que los lenguajes usen más de una extensión para los mismos tipos fuentes: No suma nada, trae problemas de namespaces y te obliga a recordar extensiones falopa.

Si extrañas por alguna razón tener múltiples extensiones, siempre podes secuenciarlas ( archivo.test.wlk ) el lenguaje puede ignorar todo lo que esté entre el primer y el último punto. Pero la verdad no creo que sumen mucho.

El vie, 6 oct 2023 10:04, Fernando Dodino @.***> escribió:

Dígale no a las extensiones diferentes El vie, 6 oct 2023 07:53, Fernando Dodino @.

> escribió: … <#m68589078301405249> Les paso la pelota a @asanzo https://github.com/asanzo https://github.com/asanzo https://github.com/asanzo @lspigariol https://github.com/lspigariol https://github.com/lspigariol https://github.com/lspigariol @npasserini https://github.com/npasserini https://github.com/npasserini https://github.com/npasserini @nscarcella https://github.com/nscarcella https://github.com/nscarcella https://github.com/nscarcella @mmatos https://github.com/mmatos https://github.com/mmatos https://github.com/mmatos y seguro me olvidé de alguien — Reply to this email directly, view it on GitHub <#166 (comment) https://github.com/uqbar-project/wollok-ts/issues/166#issuecomment-1750404090>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFPE242RC46QKJPY54GDJDX57PKPAVCNFSM6AAAAAA5CG67N6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJQGQYDIMBZGA https://github.com/notifications/unsubscribe-auth/AAFPE242RC46QKJPY54GDJDX57PKPAVCNFSM6AAAAAA5CG67N6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJQGQYDIMBZGA . You are receiving this because you were mentioned.Message ID: @.>

si querés convencerme tenés que esforzarte un poco más, tirate alguna razón a favor para contrarrestar

— Reply to this email directly, view it on GitHub https://github.com/uqbar-project/wollok-ts/issues/166#issuecomment-1750647726, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFPE26HPCKUR7HQUE53QNTX576XNAVCNFSM6AAAAAA5CG67N6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJQGY2DONZSGY . You are receiving this because you were mentioned.Message ID: @.***>

fdodino commented 1 year ago

Bueno, yo lo que ofrezco es lo siguiente:

Por otro lado, podemos seguir esta discusión y si hay consenso, armar una épica donde

fdodino commented 1 year ago

Relacionado con este ticket

PalumboN commented 1 year ago

... y un pedazo de la discusión acá

Si la idea es migrar a una única extensión yo tengo una propuesta similar pero en otro orden:

1. Que los imports solo funcionen con los .wlk. Esto permite:

2. Marcar los .wtest y .wpgm como deprecados. Lo que implica:

3. Eso nos da más tiempo para avisarle a "la comunidad":


EDIT Agregar una validación para no tener . extras en el nombre de los archivos. Y/o tener una forma de manejar esos casos.

fdodino commented 1 year ago

Una pavada: tengamos en cuenta que pepita.test.wlk tendría que pasarse a algo donde no ignoremos a partir del primer punto porque te sigue colisionando con pepita.wlk

nscarcella commented 1 year ago

Un par de detalles al pasar:

El mar, 10 oct 2023 18:33, Fernando Dodino @.***> escribió:

Una pavada: tengamos en cuenta que pepita.test.wlk tendría que pasarse a algo donde no ignoremos a partir del primer punto porque te sigue colisionando con pepita.wlk

— Reply to this email directly, view it on GitHub https://github.com/uqbar-project/wollok-ts/issues/166#issuecomment-1756299642, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFPE22IOBWX4U34E55KIQTX6W5KXAVCNFSM6AAAAAA5CG67N6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJWGI4TSNRUGI . You are receiving this because you were mentioned.Message ID: @.***>

fdodino commented 6 months ago

Este issue me preocupa @PalumboN , vayamos por tu propuesta, y aprovechemos para tratar de implementarla. Te parece?

fdodino commented 6 months ago

Cierro este issue @PalumboN y abro otro para lo que sigue...