Closed fidel-ml closed 6 years ago
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.
¿@rodri042?
Lo agreguemos!!! MoverALuchoAl_(Norte) FF
2017-07-24 16:40 GMT-03:00 Federico Aloi notifications@github.com:
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.
¿@rodri042 https://github.com/rodri042?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/gobstones/gobstones-web/issues/190#issuecomment-317532121, 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":[{" icon":"PERSON","message":"@faloi 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. \r\n\r\n¿@rodri042?"}],"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. :stuck_out_tongue_winking_eye:
Wooo. Pero el es el operador multiplicación y el - la resta. No traería infinitos quilombos eso?
Cosas como `a := a23f()pasarían a ser ambiguas (¿hago
a2por el resultado de invocar a
3fo invoco a
a2*3f`?)
@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
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" notifications@github.com wrote:
Wooo. Pero el es el operador multiplicación y el - la resta. No traería infinitos quilombos eso? Cosas como a := a23f() 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 https://github.com/gobstones/gobstones-web/issues/190#issuecomment-317550120, 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":[{" icon":"PERSON","message":"@rodri042 in #190: Wooo. Pero el es el operador multiplicación y el - la resta. No traería infinitos quilombos eso? \r\nCosas como `a := a23f()
pasarían a ser ambiguas (¿hago
a2por el resultado de invocar a
3fo invoco a
a2*3f`?)\r\n@foones\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 aux
, pero para el nombre me parece redundante y propenso a inconsistencias.
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" notifications@github.com 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 https://github.com/gobstones/gobstones-web/issues/190#issuecomment-317554834, 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":[{" icon":"PERSON","message":"@faloi 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: "Mover_a_Lucho_a" -> "Mover a Lucho a" o quizás apóstrofos: "Mover'a'Lucho'a" -> "Mover a Lucho a" o quizás algo como doble underscore (para que un solo underscore se muestre como tal): "MoveraLucho__a" -> "Mover a Lucho a"
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_
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 notifications@github.com:
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'Luchometros'hacia'el
Si no, optamos por la de MoverA'L'uchoMetrosHaciaEl
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/gobstones/gobstones-web/issues/190#issuecomment-319860562, 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":[{" icon":"PERSON","message":"@rodri042 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 deMoverA'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" notifications@github.com 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:
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" fidel@unq.edu.ar 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" notifications@github.com 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:
- 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.
- 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 https://github.com/gobstones/gobstones-web/issues/190#issuecomment-319940612, 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":{"apikey":"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"}} ,"updates":{"snippets":[{"icon":"PERSON","message":"@faloi 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 block_name
(opcional - si no está, usa la convención).
/*@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?