-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mecanismo para preservar mayúsculas en funciones/procedimientos de la biblioteca #190
Comments
A mí me gusta más el |
Lo agreguemos!!!
MoverA*L*uchoAl_(Norte)
FF
2017-07-24 16:40 GMT-03:00 Federico Aloi <[email protected]>:
… A mí me gusta más el *, pero creo que no está soportado como
identificador y no sé si sería correcto agregarlo solo para esto.
***@***.*** <https://github.com/rodri042>?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#190 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AIaqtg8wt5Sw7A0KXVaiRLUm3--pOZzMks5sRPMfgaJpZM4OgKCG>
.[image: Web Bug from
https://github.com/notifications/beacon/AIaqtmL2JNX6cU9Hn4t3MWEse1wuP8TEks5sRPMfgaJpZM4OgKCG.gif]
{"api_version":"1.0","publisher":{"api_key":"
05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":
{"external_key":"github/gobstones/gobstones-web","
title":"gobstones/gobstones-web","subtitle":"GitHub
repository","main_image_url":"https://cloud.githubusercontent.com/assets/
143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","
avatar_image_url":"https://cloud.githubusercontent.com/
assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png
","action":{"name":"Open in GitHub","url":"https://github.
com/gobstones/gobstones-web"}},"updates":{"snippets":[{"
***@***.*** in #190: A mí me gusta más el `*`, pero
creo que no está soportado como identificador y no sé si sería correcto
agregarlo solo para esto. ***@***.***?"}],"action":{"name":"View
Issue","url":"https://github.com/gobstones/gobstones-web/
issues/190#issuecomment-317532121"}}}
--
Este mensaje ha sido analizado por el servidor antispam1.unq.edu.ar de la
Universidad Nacional de Quilmes
en busca de virus y otros contenidos peligrosos, y se considera que está
limpio.
|
Pero... pero... no es Gobstones-compliant. Qué flexible te estás volviendo. 😜 |
Wooo. Pero el * es el operador multiplicación y el - la resta. No traería infinitos quilombos eso? Yo usaría doble guión bajo, a costa de no permitir dos parámetros infijos seguidos. A menos que haya una idea mejor |
Wow. Tenés razón; no me había fijado en ese detalle. Sin embargo los dos
guiones bajos no sirven porque muchas veces tenemos muchos parámetros al
final. Se puede utilizar el apóstrofe que sí es un símbolo de los
identificadores actualmente: MoverA'L'uchoA_
…On Jul 24, 2017 17:49, "Rodrigo Alfonso" ***@***.***> wrote:
Wooo. Pero el * es el operador multiplicación y el - la resta. No traería
infinitos quilombos eso?
Cosas como a := a2*3f() pasarían a ser ambiguas (¿hago a2 por el
resultado de invocar a 3f o invoco a a2*3f?)
@foones <https://github.com/foones>
Yo usaría doble guión bajo, a costa de no permitir dos parámetros infijos
seguidos. A menos que haya una idea mejor
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#190 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AIaqtnoK5_JXcjZXS2O26ZNpt8tK6JKhks5sRQNXgaJpZM4OgKCG>
.[image: Web Bug from
https://github.com/notifications/beacon/AIaqtiPrUz-YLy4FZzVu_J864XDNw6Enks5sRQNXgaJpZM4OgKCG.gif]
{"api_version":"1.0","publisher":{"api_key":"
05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":
{"external_key":"github/gobstones/gobstones-web","
title":"gobstones/gobstones-web","subtitle":"GitHub
repository","main_image_url":"https://cloud.githubusercontent.com/assets/
143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","
avatar_image_url":"https://cloud.githubusercontent.com/
assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png
","action":{"name":"Open in GitHub","url":"https://github.
com/gobstones/gobstones-web"}},"updates":{"snippets":[{"
***@***.*** in #190: Wooo. Pero el * es el
operador multiplicación y el - la resta. No traería infinitos quilombos
eso? \r\nCosas como `a := a2*3f()` pasarían a ser ambiguas (¿hago `a2` por
el resultado de invocar a `3f` o invoco a ***@***.***\r\n\r\nYo
usaría doble guión bajo, a costa de no permitir dos parámetros infijos
seguidos. A menos que haya una idea mejor"}],"action":{"name":"View
Issue","url":"https://github.com/gobstones/gobstones-web/
issues/190#issuecomment-317550120"}}}
--
Este mensaje ha sido analizado por el servidor antispam1.unq.edu.ar de la
Universidad Nacional de Quilmes
en busca de virus y otros contenidos peligrosos, y se considera que está
limpio.
|
Me gusta la última propuesta. ¿Vamos con los apóstrofes? |
Esa es buenísima! (MoverA'L'uchoA_) Cargo el issue en gs-element-blockly |
Se me ocurre otra opción: antes de cada función o procedimiento publicable
de la biblioteca del docente ponemos un pragma con su nombre en el bloque,
con la sintaxis que tenga que llevar ahí. Y si no tiene pragma no se
publica. De esta forma también solucionamos el parche del aux.
|
Ejemplo posible:
//@blockname: "Mover a Lucho al _"
procedure MoverALuchoAl(dir) {...
Y zafamos también de usar el guión bajo en el nombre...
|
No me gusta la del pragma, porque hay que duplicar el nombre. Te lo banco para marcar que es privado y no usar el |
La realidad que se trata de dos hombres distintos.
|
Pero aporta muchísima flexibilidad... Y permite cosas como usar comas u
otros chirimbolos adentro de los nombres en pilas bloques...
|
Podemos pensarlo como opcional en la próxima versión, pero definitivamente no para ahora. |
Ok. Te agregó una ventaja más: con otro pragma podríamos indicar un pequeño
icono que se le podría agregar adelante a las primitivas tal cual hace
pilas bloques ahora...
La realidad es que estamos tratando de interfacear dos mundos diferentes
con similitudes pero con otras cosas que no son tan iguales. Y ya vamos a
necesitar paraguas para devolver información al mundo de bloques indicando
donde se produjo un error, etc.
Por eso no me parece tan descabellado.
…On Jul 24, 2017 18:07, "Federico Aloi" ***@***.***> wrote:
Podemos pensarlo como opcional en la próxima versión, pero definitivamente
no para ahora.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#190 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AIaqtkiGZR2a_YEgNQ0bpvJ16psTsuhxks5sRQdXgaJpZM4OgKCG>
.[image: Web Bug from
https://github.com/notifications/beacon/AIaqtj5ck6RcLtdHtC2AEXAUInGXUdzFks5sRQdXgaJpZM4OgKCG.gif]
{"api_version":"1.0","publisher":{"api_key":"
05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":
{"external_key":"github/gobstones/gobstones-web","
title":"gobstones/gobstones-web","subtitle":"GitHub
repository","main_image_url":"https://cloud.githubusercontent.com/assets/
143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","
avatar_image_url":"https://cloud.githubusercontent.com/
assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png
","action":{"name":"Open in GitHub","url":"https://github.
com/gobstones/gobstones-web"}},"updates":{"snippets":[{"
***@***.*** in #190: Podemos pensarlo como opcional
en la próxima versión, pero definitivamente no para
ahora."}],"action":{"name":"View Issue","url":"https://github.
com/gobstones/gobstones-web/issues/190#issuecomment-317554834"}}}
--
Este mensaje ha sido analizado por el servidor antispam2.unq.edu.ar de la
Universidad Nacional de Quilmes
en busca de virus y otros contenidos peligrosos, y se considera que está
limpio.
|
Seguramente ya descartaron esto (o hay bastante código ya escrito) pero, en lugar de marcar mayúsculas, ¿no quedaría más prolijo marcar la separación entre palabras? De esta manera la capitalización dejaría de servir el propósito de delimitar palabras. Por ejemplo, usando underscores: |
Me copa por la versatilidad pero habría que migrar el código ya escrito. Si optamos por esa quedaría underscore para denotar que ahí va un parámetro, y apóstrofe como reemplazo del espacio. Ejemplo: para mostrar Mover a Lucho (3) metros hacia el (Norte) se podría usar:
Si no, optamos por la de |
Yo sigo pensando que la mejor manera es un pragma que permita tener 2 cosas
distintas:
\\@BlockNameFor: MoverALuchoNMetrosAl is: "Mover a Lucho _ metros al _"
procedure MoverALuchoNMetrosAl(n,d)
Si no logro convencerlos, entonces vamos con el apóstrofe para las
mayúsculas (pero es feo: estamos limitando nuestra capacidad de agregar
nuevas cosas después y ya venimos haciendo cosas feas, como el Aux.)
Seriamente: debemos reconsiderar poner tantas trabas a los nombres. Una
tabla de conversión provista por pragmas es la mejor solución: versátil y
general, una verdadera interfaz entre 2 mundos diferentes, una piedra
Rosetta.
FF
2017-08-03 0:50 GMT-03:00 Rodrigo Alfonso <[email protected]>:
… Me copa por la versatilidad pero habría que migrar el código ya escrito.
Si optamos por esa quedaría underscore para denotar que ahí va un
parámetro, y apóstrofe como reemplazo del espacio. Ejemplo: para mostrar *Mover
a Lucho (3) metros hacia el (Norte)* se podría usar:
Mover'a'Lucho_metros'hacia'el_
Si no, optamos por la de MoverA'L'ucho_MetrosHaciaEl_
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#190 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AIaqtm07-Kd_9F4HW_cXqHofYX6ISFPEks5sUUOVgaJpZM4OgKCG>
.[image: Web Bug from
https://github.com/notifications/beacon/AIaqtrojuFS2LVB6fQiCi9-2U_hsSIaNks5sUUOVgaJpZM4OgKCG.gif]
{"api_version":"1.0","publisher":{"api_key":"
05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":
{"external_key":"github/gobstones/gobstones-web","
title":"gobstones/gobstones-web","subtitle":"GitHub
repository","main_image_url":"https://cloud.githubusercontent.com/assets/
143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","
avatar_image_url":"https://cloud.githubusercontent.com/
assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png
","action":{"name":"Open in GitHub","url":"https://github.
com/gobstones/gobstones-web"}},"updates":{"snippets":[{"
***@***.*** in #190: Me copa por la versatilidad
pero habría que migrar el código ya escrito.\n\nSi optamos por esa quedaría
underscore para denotar que ahí va un parámetro, y apóstrofe como reemplazo
del espacio. Ejemplo: para mostrar *Mover a Lucho (3) metros hacia el
(Norte)* se podría usar:\n\n```Mover'a'Lucho_metros'hacia'el_```\n\nSi
no, optamos por la de `MoverA'L'ucho_MetrosHaciaEl_`"}],"action":{"name":"View
Issue","url":"https://github.com/gobstones/gobstones-web/
issues/190#issuecomment-319860562"}}}
--
Este mensaje ha sido analizado por el servidor antispam2.unq.edu.ar de la
Universidad Nacional de Quilmes
en busca de virus y otros contenidos peligrosos, y se considera que está
limpio.
|
El pragma me gusta, pero como excepción que pisa a la convención de los guiones bajos. Tener que ponerlo en TODOS los procedimientos me resulta excesivamente molesto. Mi propuesta:
|
Ok. Vamos con eso.
¿Puedo agregarte un pragma para que no se traslade el procedimiento o
función y que reemplace al Aux?
FF
On Aug 3, 2017 08:16, "Federico Aloi" <[email protected]> wrote:
El pragma me gusta, pero como excepción que pisa a la convención de los
guiones bajos. Tener que ponerlo en *TODOS* los procedimientos me resulta
excesivamente molesto.
Mi propuesta:
1. Si no hay pragma, el nombre se genera como ahora: las mayúsculas
separan palabras, los guiones bajos marcan posición de los parámetros.
2. Si hay pragma, el nombre es el que diga ahí.
|
O sea, quiero decir que en lugar de
procedure AuxPonerMuchas(n,c)
diga
//@NoBlockFor: PonerMuchas
procedure PonerMuchas (n,c)
También como alternativa si querés...
FF
…On Aug 3, 2017 08:56, "Fidel" ***@***.***> wrote:
Ok. Vamos con eso.
¿Puedo agregarte un pragma para que no se traslade el procedimiento o
función y que reemplace al Aux?
FF
On Aug 3, 2017 08:16, "Federico Aloi" ***@***.***> wrote:
El pragma me gusta, pero como excepción que pisa a la convención de los
guiones bajos. Tener que ponerlo en *TODOS* los procedimientos me resulta
excesivamente molesto.
Mi propuesta:
1. Si no hay pragma, el nombre se genera como ahora: las mayúsculas
separan palabras, los guiones bajos marcan posición de los parámetros.
2. Si hay pragma, el nombre es el que diga ahí.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#190 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AIaqtiHIiEtpRTaK39bz4rC9w7iK4BG2ks5sUavwgaJpZM4OgKCG>
.[image: Web Bug from
https://github.com/notifications/beacon/AIaqtjj7AwgUqLtZxknIgy8k199FuQ8kks5sUavwgaJpZM4OgKCG.gif]
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384
dd78767c55493e4bb","name":"GitHub"},"entity":{"external_
key":"github/gobstones/gobstones-web","title":"gobstones/gobstones-web","subtitle":"GitHub
repository","main_image_url":"https://cloud.githubuserconten
t.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png
","avatar_image_url":"https://cloud.githubusercontent.com/assets/
143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open
in GitHub","url":"https://github.com/gobstones/gobstones-web"}}
***@***.*** in #190: El
pragma me gusta, pero como excepción que pisa a la convención de los
guiones bajos. Tener que ponerlo en **TODOS** los procedimientos me resulta
excesivamente molesto.\r\n\r\nMi propuesta:\r\n\r\n1. Si no hay pragma, el
nombre se genera como ahora: las mayúsculas separan palabras, los guiones
bajos marcan posición de los parámetros.\r\n1. Si hay pragma, el nombre es
el que diga ahí."}],"action":{"name":"View Issue","url":"https://github.c
om/gobstones/gobstones-web/issues/190#issuecomment-319940612"}}}
--
Este mensaje ha sido analizado por el servidor antispam1.unq.edu.ar de la
Universidad Nacional de Quilmes
en busca de virus y otros contenidos peligrosos, y se considera que está
limpio.
|
Ahí sí prefiero el pragma, lo otro fue un hack. Pero abrí otra issue y lo discutimos ahí, así no se mezclan los tantos... |
Surgió la necesidad de tener comas en los nombres de bloques. Esto es imposible con el formato actual, y agregar los tildes para mayúsculas es otro hack no extensible. Ej: hace falta un procedimiento primitivo "Poner _, _ veces" que hoy no tiene equivalente en Gobstones. Además, si en bloques hoy usás una coma en un identificador, el código generado hace cosas raras... Se impone usar un mecanismo flexible que permita interfasear los dos mundos, y hasta ahora la única propuesta que parece razonable es el pragma. Deberíamos ponernos de acuerdo en la sintaxis de los pragmas... |
Quedó implementado el atributo /*@ATTRIBUTE@block_name@Poner _, _ veces@*/
procedure PonerColor_cantidad_veces(color, veces) {
repeat (veces) {
Poner(color)
}
} |
Si en la biblioteca del docente pongo un procedimiento llamado MoverALuchoAl_, cuando pasa a bloques queda como "Mover a lucho al" y en el caso de este nombre propio, debería quedar "Mover a Lucho al". No tenemos una forma de indicar que una mayúscula debe conservarse... :(
¿Ponemos algún otro chirimbolo? Onda
MoverA*L*uchoAl_
oMoverA-L-uchoAl_
...¿Alguna otra idea?
The text was updated successfully, but these errors were encountered: