AjTalk, cargando modules desde node package manager

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

AjTalk, cargando modules desde node package manager

Angel Java Lopez
Hola gente!

Acabo de agregar a mi interprete C# la posibilidad de cargar modulos
(simples
archivos .st con un Init.st al inicio para ejecutar):

https://github.com/ajlopez/AjTalk/commit/c9e7ce1d1e38bd137838c13e95aeff5da6454336

usando los directorios y paquetes que usa NPM (Node Package Manager) (ya
tengo otros proyectos usando el mismo "viejo truco", pregunte en la lista
de NPM y se puede usar para cosas que no sean JavaScript y hay varios
proyectos que lo usan)

De esta forma, cada modulo se puede publicar en NPM, con version, y
escribiendo un package.json que describe CUALES otros modulos requiere y de
que version

Y cada proyecto puede tener un package.json que describa CUALES otros
modulos necesita, y de que version.

Con un poco de trabajo, combinado con Environments (no se como llamarlos)
se evita la colision de versiones (tengo que probarlo en vivo). Es decir,
el modulo WebServer puede necesitar el modulo Socket 0.1, y no se colisiona
con el modulo Chat que puede necesitar el modulo Socket 0.2

Es decir, lo que quiero explorar es que:

- declarar que versiones necesito, esta fuera del codigo
- la instalacion de los modulos/paquetes/como quieran llamarlo, se hace en
un proceso de instalacion
- la carga de los modulos a memoria, se hace desde el codigo, en forma
controlada: el nuevo modulo va a Smalltalk (si define una clase Class1 va a
Smalltalk, el environment top), o va al environment actual (puede que este
siendo cargado desde Modulo0), o el nuevo modulo va a su environment,
pudiendo manejar Modulo1.Class1 new y esas cosas
alguna idea en
https://github.com/ajlopez/AjTalk/blob/master/Src/AjTalk.Tests/AssertTests/ModuleTests.st

Mwuaaahahaaaa!

Esta noche el mundo, Pinky! ;-)

Angel "Java" Lopez
@ajlopez
Reply | Threaded
Open this post in threaded view
|

Re: AjTalk, cargando modules desde node package manager

garduino
Interesante.

Esto mismo:

> Y cada proyecto puede tener un package.json que describa CUALES otros
modulos necesita, y de que version.

es lo q está ahora disponible en Cuis, q comenté el otro día, pero
especificado en el mismo paquete.


El 4 de agosto de 2013 17:19, Angel Java Lopez <[hidden email]>escribió:

> **
>
>
> Hola gente!
>
> Acabo de agregar a mi interprete C# la posibilidad de cargar modulos
> (simples
> archivos .st con un Init.st al inicio para ejecutar):
>
>
> https://github.com/ajlopez/AjTalk/commit/c9e7ce1d1e38bd137838c13e95aeff5da6454336
>
> usando los directorios y paquetes que usa NPM (Node Package Manager) (ya
> tengo otros proyectos usando el mismo "viejo truco", pregunte en la lista
> de NPM y se puede usar para cosas que no sean JavaScript y hay varios
> proyectos que lo usan)
>
> De esta forma, cada modulo se puede publicar en NPM, con version, y
> escribiendo un package.json que describe CUALES otros modulos requiere y de
> que version
>
> Y cada proyecto puede tener un package.json que describa CUALES otros
> modulos necesita, y de que version.
>
> Con un poco de trabajo, combinado con Environments (no se como llamarlos)
> se evita la colision de versiones (tengo que probarlo en vivo). Es decir,
> el modulo WebServer puede necesitar el modulo Socket 0.1, y no se colisiona
> con el modulo Chat que puede necesitar el modulo Socket 0.2
>
> Es decir, lo que quiero explorar es que:
>
> - declarar que versiones necesito, esta fuera del codigo
> - la instalacion de los modulos/paquetes/como quieran llamarlo, se hace en
> un proceso de instalacion
> - la carga de los modulos a memoria, se hace desde el codigo, en forma
> controlada: el nuevo modulo va a Smalltalk (si define una clase Class1 va a
> Smalltalk, el environment top), o va al environment actual (puede que este
> siendo cargado desde Modulo0), o el nuevo modulo va a su environment,
> pudiendo manejar Modulo1.Class1 new y esas cosas
> alguna idea en
>
> https://github.com/ajlopez/AjTalk/blob/master/Src/AjTalk.Tests/AssertTests/ModuleTests.st
>
> Mwuaaahahaaaa!
>
> Esta noche el mundo, Pinky! ;-)
>
> Angel "Java" Lopez
> @ajlopez
>
>
>  
>



--
Saludos / Regards,
Germán Arduino
www.arduinosoftware.com
Reply | Threaded
Open this post in threaded view
|

Re: AjTalk, cargando modules desde node package manager

Edgar De Cleene
In reply to this post by Angel Java Lopez
> Hola gente!
>
> Acabo de agregar a mi interprete C# la posibilidad de cargar modulos (simples
> archivos .st con un Init.st al inicio para ejecutar):
>
> https://github.com/ajlopez/AjTalk/commit/c9e7ce1d1e38bd137838c13e95aeff5da6454
> 336
>
> usando los directorios y paquetes que usa NPM (Node Package Manager) (ya tengo
> otros proyectos usando el mismo "viejo truco", pregunte en la lista de NPM y
> se puede usar para cosas que no sean JavaScript y hay varios proyectos que lo
> usan)
>
> De esta forma, cada modulo se puede publicar en NPM, con version, y
> escribiendo un package.json que describe CUALES otros modulos requiere y de
> que version
>
> Y cada proyecto puede tener un package.json que describa CUALES otros modulos
> necesita, y de que version.
>
> Con un poco de trabajo, combinado con Environments (no se como llamarlos) se
> evita la colision de versiones (tengo que probarlo en vivo). Es decir, el
> modulo WebServer puede necesitar el modulo Socket 0.1, y no se colisiona con
> el modulo Chat que puede necesitar el modulo Socket 0.2
>
> Es decir, lo que quiero explorar es que:
>
> - declarar que versiones necesito, esta fuera del codigo
> - la instalacion de los modulos/paquetes/como quieran llamarlo, se hace en un
> proceso de instalacion
> - la carga de los modulos a memoria, se hace desde el codigo, en forma
> controlada: el nuevo modulo va a Smalltalk (si define una clase Class1 va a
> Smalltalk, el environment top), o va al environment actual (puede que este
> siendo cargado desde Modulo0), o el nuevo modulo va a su environment, pudiendo
> manejar Modulo1.Class1 new y esas cosas
> alguna idea en
> https://github.com/ajlopez/AjTalk/blob/master/Src/AjTalk.Tests/AssertTests/Mod
> uleTests.st
>
> Mwuaaahahaaaa!
>
> Esta noche el mundo, Pinky! ;-)
>
> Angel "Java" Lopez
> @ajlopez
>
>

Veo que estamos en la misma onda.
Cuando estuve jugando con node, se me ocurrio si se podia usar NPM.

Voy a tratar de poner tiempo a lo que hiciste.

Edgar
>




Reply | Threaded
Open this post in threaded view
|

Re: AjTalk, cargando modules desde node package manager

Angel Java Lopez
Ah! Mira que bien Edgar!

Si, tambien lo voy a poner en AjTalkJs (el interprete/transpiler en
JavaScript). Y ahi va a ser mas facil.  Voy  publicar el ajtalkjs como
module, lo instalaras como el ajtalk global:

npm install ajtalk -g

Y en una demo, se puede hacer

npm install
ajtalk myprogram.st

Por lo que vi, gran parte de los .st los pueden seguir desarrollando y
probando en sus ambientes. Luego todo esto sirve para tener un lanzamiento
minimo (con la cantidad minima de clases) sin necesidad de tener una imagen
de antemano.

Cambiando de implementacion, tambien, recuerden, en AjTalk C# tengo la
posibilidad de generar imagenes minimas:

http://ajlopez.wordpress.com/2012/12/12/ajtalk-in-c-1-a-minimal-hello-world-image/

y algunos otros trucos, como instanciar mas de una VM en el mismo proceso,
y que una VM la ayude a la otra, para que una sea chica en tamanio de
clases y objetos, y todo lo de compilar y demas este en la otra. El camino
a explorar es: NO a obtener una imagen minima desde una grande, SINO nacer
chica desde el principio ;-)

Nos leemos!

Angel "Java" Lopez
@ajlopez



2013/8/5 Edgar J. De Cleene <[hidden email]>

> **
>
>
> > Hola gente!
> >
> > Acabo de agregar a mi interprete C# la posibilidad de cargar modulos
> (simples
> > archivos .st con un Init.st al inicio para ejecutar):
> >
> >
> https://github.com/ajlopez/AjTalk/commit/c9e7ce1d1e38bd137838c13e95aeff5da6454
> > 336
> >
> > usando los directorios y paquetes que usa NPM (Node Package Manager) (ya
> tengo
> > otros proyectos usando el mismo "viejo truco", pregunte en la lista de
> NPM y
> > se puede usar para cosas que no sean JavaScript y hay varios proyectos
> que lo
> > usan)
> >
> > De esta forma, cada modulo se puede publicar en NPM, con version, y
> > escribiendo un package.json que describe CUALES otros modulos requiere y
> de
> > que version
> >
> > Y cada proyecto puede tener un package.json que describa CUALES otros
> modulos
> > necesita, y de que version.
> >
> > Con un poco de trabajo, combinado con Environments (no se como
> llamarlos) se
> > evita la colision de versiones (tengo que probarlo en vivo). Es decir, el
> > modulo WebServer puede necesitar el modulo Socket 0.1, y no se colisiona
> con
> > el modulo Chat que puede necesitar el modulo Socket 0.2
> >
> > Es decir, lo que quiero explorar es que:
> >
> > - declarar que versiones necesito, esta fuera del codigo
> > - la instalacion de los modulos/paquetes/como quieran llamarlo, se hace
> en un
> > proceso de instalacion
> > - la carga de los modulos a memoria, se hace desde el codigo, en forma
> > controlada: el nuevo modulo va a Smalltalk (si define una clase Class1
> va a
> > Smalltalk, el environment top), o va al environment actual (puede que
> este
> > siendo cargado desde Modulo0), o el nuevo modulo va a su environment,
> pudiendo
> > manejar Modulo1.Class1 new y esas cosas
> > alguna idea en
> >
> https://github.com/ajlopez/AjTalk/blob/master/Src/AjTalk.Tests/AssertTests/Mod
> > uleTests.st
> >
> > Mwuaaahahaaaa!
> >
> > Esta noche el mundo, Pinky! ;-)
> >
> > Angel "Java" Lopez
> > @ajlopez
> >
> >
>
> Veo que estamos en la misma onda.
> Cuando estuve jugando con node, se me ocurrio si se podia usar NPM.
>
> Voy a tratar de poner tiempo a lo que hiciste.
>
> Edgar
> >
>
>  
>