Hola gente!
Estoy leyendo Pharo by Example (1) y jugando con Pharo 2.0 Supongo que si sigo leyendo, alguna de estas preguntas se contestaran solas, pero me parecio interesante igual plantearlas por aca. Desde hace algunas decadas, ya conozco nombre de clases y categorias en Smalltalk, aunque nunca programe. Eso creo que lo tengo mas o menos entendido. Pero lo de paquete en Monticello, es nuevo para mi. La duda es, mejor, vamos a un ejemplo. Veo aca en la lista de System Browser: AST-Core AST-Core-Matching AST-Core-Nodes ... el primero esta marcado como paquete de monticello, creo. Bien, los ejemplos que vi, el nombre del paquete coincidia con el nombre de la categoria. Hasta donde veo, el System Browser de Pharo 2.0, en el primel panel de arriba a la izquierda, lista categorias, aunque los llama paquetes. Ahora, al fin, viene la duda. Cuando Denker agrego lo que hizo como paquete de Monticello, supongo que agrego AST-Core. Tuvo que hacer algo mas? O automaticamente agrega todo lo que es tambien AST-Core-*? La otra duda es: donde van los tests? - En una categoria, pero dentro del mismo paquete? - En una categoria y paquete aparte? Nos leemos! Angel "Java" Lopez @ajlopez |
> Hola gente!
> > Estoy leyendo Pharo by Example (1) y jugando con Pharo 2.0 > > Supongo que si sigo leyendo, alguna de estas preguntas se contestaran solas, > pero me parecio interesante igual plantearlas por aca. > > Desde hace algunas decadas, ya conozco nombre de clases y categorias en > Smalltalk, aunque nunca programe. Eso creo que lo tengo mas o menos entendido. > > Pero lo de paquete en Monticello, es nuevo para mi. > > La duda es, mejor, vamos a un ejemplo. > > Veo aca en la lista de System Browser: > AST-Core > AST-Core-Matching > AST-Core-Nodes > ... > > el primero esta marcado como paquete de monticello, creo. > > Bien, los ejemplos que vi, el nombre del paquete coincidia con el nombre de la > categoria. Hasta donde veo, el System Browser de Pharo 2.0, en el primel panel > de arriba a la izquierda, lista categorias, aunque los llama paquetes. > > Ahora, al fin, viene la duda. Cuando Denker agrego lo que hizo como paquete de > Monticello, supongo que agrego AST-Core. Tuvo que hacer algo mas? O > automaticamente agrega todo lo que es tambien AST-Core-*? > > La otra duda es: donde van los tests? > > - En una categoria, pero dentro del mismo paquete? > - En una categoria y paquete aparte? > > Nos leemos! > > Angel "Java" Lopez > @ajlopez En Squeak tenemos PackageInfo dentro de PackageInfo-Base. De ahi vienen muchisimos males a medio corregir. De ahi viene denominar a los .mcz como "paquetes" Si hay Test, deberian ir dentro de la categoria. Me obligaste a abrir Pharo 2.0 para ver y no hay AST-Test Pero si por ejemplo Announcements-Tests-Core Dentro de Announcements O sea la primera palabra define el paquete Todo lo que empiece con AST va al paquete AST, lo que empiece con Announcements va al paquete Announcements , etc, Seguramente los primos Pharopatas te alumbraran mejor. Como le dije a Luis, estoy mas cerca del volido de la gallina que del vuelo del Condor. Los Pharopatas vuelan en esos bichos de "Avatar":=) Edgar |
Hola gente!
Edgar, gracias por la info JAJAJA... me mato lo de "Los Pharopatas vuelan en esos bichos de "Avatar":=)" Quien es Luis? Aprovecho a preguntar algo que me quedo de una pregunta de hace unos meses, y hoy vuelve a aparecer en uno de tus mensajes. Que diferencia hay entre "Cog y tradicional"? Por que se llama Cog? Y en ese mensaje tuyo, quien es Juan? Angel "Java" Lopez @ajlopez 2013/7/21 Edgar J. De Cleene <[hidden email]> > ** > > > > Hola gente! > > > > Estoy leyendo Pharo by Example (1) y jugando con Pharo 2.0 > > > > Supongo que si sigo leyendo, alguna de estas preguntas se contestaran > solas, > > pero me parecio interesante igual plantearlas por aca. > > > > Desde hace algunas decadas, ya conozco nombre de clases y categorias en > > Smalltalk, aunque nunca programe. Eso creo que lo tengo mas o menos > entendido. > > > > Pero lo de paquete en Monticello, es nuevo para mi. > > > > La duda es, mejor, vamos a un ejemplo. > > > > Veo aca en la lista de System Browser: > > AST-Core > > AST-Core-Matching > > AST-Core-Nodes > > ... > > > > el primero esta marcado como paquete de monticello, creo. > > > > Bien, los ejemplos que vi, el nombre del paquete coincidia con el nombre > de la > > categoria. Hasta donde veo, el System Browser de Pharo 2.0, en el primel > panel > > de arriba a la izquierda, lista categorias, aunque los llama paquetes. > > > > Ahora, al fin, viene la duda. Cuando Denker agrego lo que hizo como > paquete de > > Monticello, supongo que agrego AST-Core. Tuvo que hacer algo mas? O > > automaticamente agrega todo lo que es tambien AST-Core-*? > > > > La otra duda es: donde van los tests? > > > > - En una categoria, pero dentro del mismo paquete? > > - En una categoria y paquete aparte? > > > > Nos leemos! > > > > Angel "Java" Lopez > > @ajlopez > > En Squeak tenemos PackageInfo dentro de PackageInfo-Base. > De ahi vienen muchisimos males a medio corregir. > De ahi viene denominar a los .mcz como "paquetes" > Si hay Test, deberian ir dentro de la categoria. > Me obligaste a abrir Pharo 2.0 para ver y no hay > > AST-Test > > Pero si por ejemplo > Announcements-Tests-Core > Dentro de Announcements > > O sea la primera palabra define el paquete > Todo lo que empiece con AST va al paquete AST, lo que empiece con > Announcements va al paquete Announcements , etc, > > Seguramente los primos Pharopatas te alumbraran mejor. > > Como le dije a Luis, estoy mas cerca del volido de la gallina que del vuelo > del Condor. > > Los Pharopatas vuelan en esos bichos de "Avatar":=) > > Edgar > > > |
> Hola gente!
> > Edgar, gracias por la info > > JAJAJA... me mato lo de "Los Pharopatas vuelan en esos bichos de "Avatar":=)" > > Quien es Luis? > > Aprovecho a preguntar algo que me quedo de una pregunta de hace unos meses, y > hoy vuelve a aparecer en uno de tus mensajes. > > Que diferencia hay entre "Cog y tradicional"? Por que se llama Cog? > > Y en ese mensaje tuyo, quien es Juan? > > Angel "Java" Lopez > @ajlopez Luis es Luis Felipe Sanchez Bonilla, nuestro ultimo "Parroquiano", originador de esta tormenta de actividad mi. Juan Vuletich es el creador de Cuis , Morphic3 y varias cosas mas. Un talentoso al que copio de vez en vez. La maquina Cog esta optimizada para los closures y para arquitectura Intel de procesador. Supuestamente rinde 2x la tradicional. Justamente para Cuis apenas menos, no se porque. Porque le habran puesto ese nombre no se, adivino Closures Object Generator ? Edgar |
In reply to this post by Edgar De Cleene
Hola gente!
Como me lo suponia, la respuesta a mi pregunta sobre paquetes, estaba respondida en el libro de Pharo. Pero hay que llegar a la seccion 6.3 Monticello (en mi version PBE-2009-10-28) Ahi esta clarificado el asunto. Creo que no molesta mucho compartir directamente por aca, y ver el "rationale" de todo esto: Suppose that you are developing a framework named to facilitate the use of relational databases from Pharo. You have decided to call your framework PharoLink, and have created a series of categories to contain all of the classes that you have written, e.g., category 'PharoLink-Connections' contains OracleConnection MySQLConnection PostgresConnection and category 'PharoLink-Model' contains DBTable DBRow DBQuery, and so on. However, not all of your code will reside in these classes. For example, you may also have a series of methods to convert objects into an SQL-friendly format: Object»asSQL String»asSQL Date»asSQL These methods belong in the same package as the classes in the categories PharoLink-Connections and PharoLink-Model. But clearly the whole of class Object does not belong in your package! So you need a way of putting certain methods in a package, even though the rest of the class is in another package. The way that you do this is by placing those methods in a protocol (of Object, String, Date, and so on) named *PharoLink (note the initial asterisk). The combination of the PharoLink-. . . categories and the *PharoLink protocols form a package named PharoLink. To be precise, the rules for what goes in a package are as follows. A package named Foo contains: 1. all class definitions of classes in the category Foo, or in categories with names starting with Foo-, and 2. all methods in any class in protocols named *Foo or *foo4, or whose name starts with *Foo- or *foo-, and 3. all methods in classes in the category Foo, or in a category whose name starts with Foo-, except for those methods in protocols whose names start with *. A consequence of these rules is that each class definition and each method belongs to exactly one package. The except in the last rule has to be there because those methods must belong to other packages. The reason for ignoring case in rule 2 is that, by convention, protocol names are typically (but not necessarily) lower case (and may include spaces), while category names use CamelCase (and don’t include spaces). Clarito como huevo de tero ;-) Nos leemos! Angel "Java" Lopez @ajlopez 2013/7/21 Edgar J. De Cleene <[hidden email]> > ** > > > > Hola gente! > > > > Estoy leyendo Pharo by Example (1) y jugando con Pharo 2.0 > > > > Supongo que si sigo leyendo, alguna de estas preguntas se contestaran > solas, > > pero me parecio interesante igual plantearlas por aca. > > > > Desde hace algunas decadas, ya conozco nombre de clases y categorias en > > Smalltalk, aunque nunca programe. Eso creo que lo tengo mas o menos > entendido. > > > > Pero lo de paquete en Monticello, es nuevo para mi. > > > > La duda es, mejor, vamos a un ejemplo. > > > > Veo aca en la lista de System Browser: > > AST-Core > > AST-Core-Matching > > AST-Core-Nodes > > ... > > > > el primero esta marcado como paquete de monticello, creo. > > > > Bien, los ejemplos que vi, el nombre del paquete coincidia con el nombre > de la > > categoria. Hasta donde veo, el System Browser de Pharo 2.0, en el primel > panel > > de arriba a la izquierda, lista categorias, aunque los llama paquetes. > > > > Ahora, al fin, viene la duda. Cuando Denker agrego lo que hizo como > paquete de > > Monticello, supongo que agrego AST-Core. Tuvo que hacer algo mas? O > > automaticamente agrega todo lo que es tambien AST-Core-*? > > > > La otra duda es: donde van los tests? > > > > - En una categoria, pero dentro del mismo paquete? > > - En una categoria y paquete aparte? > > > > Nos leemos! > > > > Angel "Java" Lopez > > @ajlopez > > En Squeak tenemos PackageInfo dentro de PackageInfo-Base. > De ahi vienen muchisimos males a medio corregir. > De ahi viene denominar a los .mcz como "paquetes" > Si hay Test, deberian ir dentro de la categoria. > Me obligaste a abrir Pharo 2.0 para ver y no hay > > AST-Test > > Pero si por ejemplo > Announcements-Tests-Core > Dentro de Announcements > > O sea la primera palabra define el paquete > Todo lo que empiece con AST va al paquete AST, lo que empiece con > Announcements va al paquete Announcements , etc, > > Seguramente los primos Pharopatas te alumbraran mejor. > > Como le dije a Luis, estoy mas cerca del volido de la gallina que del vuelo > del Condor. > > Los Pharopatas vuelan en esos bichos de "Avatar":=) > > Edgar > > > |
> Hola gente!
> > Como me lo suponia, la respuesta a mi pregunta sobre paquetes, estaba > respondida en el libro de Pharo. Pero hay que llegar a la seccion 6.3 > Monticello (en mi version PBE-2009-10-28) Ahi esta clarificado el asunto. Creo > que no molesta mucho compartir directamente por aca, y ver el "rationale" de > todo esto: > Si, ahí aclara lo de cuando tenes extensiones a otras clases que no pertenecen al paquete. No se estas suscripto a The general-purpose Squeak developers list <[hidden email]>, ahora se esta discutiendo una serie de temas , este entre otros. Yo tengo una modificacion a PackageInfo donde incluyo PackageResources para que tomando el concepto de los SAR, te permita grabar recursos del package en un Monticello normal. De las montones de posibilidades de hacer cosas y documentar, pongo prioridad a dos. Reconstruir el SqueakRosCore4dot5 viniendo desde este http://ftp.squeak.org/Experiments/SqueakCore4.2-10382-alpha.zip Encontre un problema , bug o cucarachon Resulta que ciertos "sabios" decidieron que no hace falta tener numero precediendo el nombre de los Change Sets que se crean al actualizar una imagen. Pharo y Cuis usan y yo retome la practica que tenia en 3.10. Pero al ver las ultimas versiones de SqueakRosCore4dot5 veo que hay cambios vacios. "Invente" esto que copio 'From SqueakRosCore4dot5 of 20 May 2013 [latest update: #12529] on 28 July 2013 at 7:12:48 am'! !ChangeSorter class methodsFor: 'deprecated' stamp: 'edc 7/28/2013 07:06'! removeAllEmptyChangeSets "Remove all change sets that are empty, and which are not nailed down by belonging to a Project." "ChangeSorter removeAllEmptyChangeSets" | toGo | (toGo := (self allChangeSets) select: [:cs | cs isEmpty and: [cs okayToRemoveInforming: false]]) do: [:cs | self removeChangeSet: cs]. self inform: toGo size printString, ' change set(s) removed.'! ! Pero ahora voy a tratar de ver porque paso, la logica de carga debe estar mal y si por algun motivo al seguir el Trunk no se producen cambios, no deberia crearse ningun change set. La segunda cosa que pienso hacer y documentar es copiar la idea de http://www.pearltrees.com Hoy intente usarlo (estoy jugando mucho con lo social ultimamente, tengo dos equipos en la facu trabajando sobre esto) Y veo que no puedo tenerlo como punto de entrada de "la vuelta larga" ya que me entra a pedir claves, etc. Mi idea es combinar Squeak,JavaScript y HTML5 para lograr eso Asi que atentos a twiteer y a los videos Edgar |
Ah!
Que interesante Edgar... bien, parece que ese tema no esta asentado todavia. Bueno, hoy puse mi primer paquete (un simple AjUnit assert: ...) https://github.com/ajlopez/SmalltalkSamples como file out, o como repo de FileTree No pude publicarlo en Squeak Source 3, se queda siempre colgado en algo (Pharo 2.0 congelado congelado) Nos leemos! Angel "Java" Lopez @ajlopez 2013/7/28 Edgar J. De Cleene <[hidden email]> > ** > > > > Hola gente! > > > > Como me lo suponia, la respuesta a mi pregunta sobre paquetes, estaba > > respondida en el libro de Pharo. Pero hay que llegar a la seccion 6.3 > > Monticello (en mi version PBE-2009-10-28) Ahi esta clarificado el > asunto. Creo > > que no molesta mucho compartir directamente por aca, y ver el > "rationale" de > > todo esto: > > > Si, ahí aclara lo de cuando tenes extensiones a otras clases que no > pertenecen al paquete. > > No se estas suscripto a The general-purpose Squeak developers list > <[hidden email]>, ahora se esta discutiendo una > serie > de temas , este entre otros. > > Yo tengo una modificacion a PackageInfo donde incluyo PackageResources para > que tomando el concepto de los SAR, te permita grabar recursos del package > en un Monticello normal. > > De las montones de posibilidades de hacer cosas y documentar, pongo > prioridad a dos. > > Reconstruir el SqueakRosCore4dot5 viniendo desde este > http://ftp.squeak.org/Experiments/SqueakCore4.2-10382-alpha.zip > > Encontre un problema , bug o cucarachon > > Resulta que ciertos "sabios" decidieron que no hace falta tener numero > precediendo el nombre de los Change Sets que se crean al actualizar una > imagen. > > Pharo y Cuis usan y yo retome la practica que tenia en 3.10. > Pero al ver las ultimas versiones de SqueakRosCore4dot5 veo que hay cambios > vacios. > > "Invente" esto que copio > > 'From SqueakRosCore4dot5 of 20 May 2013 [latest update: #12529] on 28 July > 2013 at 7:12:48 am'! > > !ChangeSorter class methodsFor: 'deprecated' stamp: 'edc 7/28/2013 07:06'! > removeAllEmptyChangeSets > "Remove all change sets that are empty, and which are not nailed down by > belonging to a Project." > "ChangeSorter removeAllEmptyChangeSets" > | toGo | > (toGo := (self allChangeSets) > select: [:cs | cs isEmpty and: [cs okayToRemoveInforming: false]]) > do: [:cs | self removeChangeSet: cs]. > self inform: toGo size printString, ' change set(s) removed.'! ! > > Pero ahora voy a tratar de ver porque paso, la logica de carga debe estar > mal y si por algun motivo al seguir el Trunk no se producen cambios, no > deberia crearse ningun change set. > > La segunda cosa que pienso hacer y documentar es copiar la idea de > http://www.pearltrees.com > > Hoy intente usarlo (estoy jugando mucho con lo social ultimamente, tengo > dos > equipos en la facu trabajando sobre esto) > Y veo que no puedo tenerlo como punto de entrada de "la vuelta larga" ya > que > me entra a pedir claves, etc. > > Mi idea es combinar Squeak,JavaScript y HTML5 para lograr eso > > Asi que atentos a twiteer y a los videos > > Edgar > > > |
Algo corto nuevo:
Si bien fracase con Squeak Source 3, pude publicar en SmalltalkHub, estoy como ajlopez |
> Algo corto nuevo:
> > Si bien fracase con Squeak Source 3, pude publicar en SmalltalkHub, estoy como > ajlopez Ok, yo todavia no pero si tengo un repositorio en SS, cuando pueda pasare todo lo viejo ahí Edgar |
In reply to this post by Angel Java Lopez
> Ah!
> > Que interesante Edgar... bien, parece que ese tema no esta asentado todavia. > > Bueno, hoy puse mi primer paquete (un simple AjUnit assert: ...) > > https://github.com/ajlopez/SmalltalkSamples > > como file out, o como repo de FileTree > > No pude publicarlo en Squeak Source 3, se queda siempre colgado en algo (Pharo > 2.0 congelado congelado) > > Nos leemos! > > Angel "Java" Lopez > @ajlopez Raro, la ultima vez que use SS3 no tuve problemas. Si veo algo en la lista de Squeak o hago algo con SS3 te comento. Nos leemos Edgar @morplenauta |
El otro día hice unos commits de proyectos que tengo ahi en SS3 sin
problemas..... El 28 de julio de 2013 16:26, Edgar J. De Cleene <[hidden email]>escribió: > ** > > > > Ah! > > > > Que interesante Edgar... bien, parece que ese tema no esta asentado > todavia. > > > > Bueno, hoy puse mi primer paquete (un simple AjUnit assert: ...) > > > > https://github.com/ajlopez/SmalltalkSamples > > > > como file out, o como repo de FileTree > > > > No pude publicarlo en Squeak Source 3, se queda siempre colgado en algo > (Pharo > > 2.0 congelado congelado) > > > > Nos leemos! > > > > Angel "Java" Lopez > > @ajlopez > > Raro, la ultima vez que use SS3 no tuve problemas. > Si veo algo en la lista de Squeak o hago algo con SS3 te comento. > > Nos leemos > > Edgar > @morplenauta > > > -- Saludos / Regards, Germán Arduino www.arduinosoftware.com |
Hablando de Cog, aparecio en la lista Smalltalk research
The Cog Smalltalk Virtual Machine writing a JIT in a high-level dynamic language http://www.cs.iastate.edu/~design/vmil/2011/papers/p03-miranda.pdf Otro articulo (a pagar, creo): Back to the future: the story of Squeak, a practical Smalltalk written in itself http://dl.acm.org/citation.cfm?id=263754 2013/7/28 Germán Arduino <[hidden email]> > ** > > > El otro día hice unos commits de proyectos que tengo ahi en SS3 sin > problemas..... > > > El 28 de julio de 2013 16:26, Edgar J. De Cleene <[hidden email]>escribió: > > ** >> >> >> > Ah! >> > >> > Que interesante Edgar... bien, parece que ese tema no esta asentado >> todavia. >> > >> > Bueno, hoy puse mi primer paquete (un simple AjUnit assert: ...) >> > >> > https://github.com/ajlopez/SmalltalkSamples >> > >> > como file out, o como repo de FileTree >> > >> > No pude publicarlo en Squeak Source 3, se queda siempre colgado en algo >> (Pharo >> > 2.0 congelado congelado) >> > >> > Nos leemos! >> > >> > Angel "Java" Lopez >> > @ajlopez >> >> Raro, la ultima vez que use SS3 no tuve problemas. >> Si veo algo en la lista de Squeak o hago algo con SS3 te comento. >> >> Nos leemos >> >> Edgar >> @morplenauta >> >> > > > -- > Saludos / Regards, > Germán Arduino > www.arduinosoftware.com > > > |
Free forum by Nabble | Edit this page |