Sunday, May 8, 2016

fluxus experiences

Quiero compartir mi experiencia con fluxus environment http://www.pawfal.org/fluxus/

Me costo mucho hacer funcionar este con emacs. Pero finalmente lo logre de una forma que no vi descripta claramente en ninguna parte.

Lo unico que llegue a encontrar en internet es un metodo usando OSC para transmitir los codigos de emacs a el motor de fluxus.. pero nunca pude hacerlo andar, por algun problema de librerias ( o algo asi )..

Cuando usaba Debian no lo pude hacer andar para nada, algunas dependencias daban problemas. Despues me pase a Arch y ahí existe un AUR con el fluxus-git pre configurado, asi que habrí la terminal y escribí:

 git clone https://aur.archlinux.org/fluxus-git.git

 cd fluxus-git

 makepkg -sri 

Se instaló todo correctamente, pero... solo podia usar el editor standar de fluxus, "fluxus scratchpad" , el problema de este vistoso y simple editor es que no viene con la funcion copiar y pegar (por lo menos en linux), lo que lo hace sumamente tedioso a la hora de aprender a programar y probar cosas nuevas( Por lo menos para mi..) Asi que leyendo por la documentacion (http://www.pawfal.org/fluxus/files/fluxus-documentation-en.pdf) vi que se podia usar con "drscheme" un editor especial de scheme, pero como ahora scheme se llama racket, el editor se llama drracket :P ...

Resultaba entonces que, al haber instalado fluxus, drracket ya estaba instalado en mi sistema, asi que lo habrí..

Seguí las instrucciones para conectar la REPL de racket a fluxus por medio de un modulo llamado "drflux" lo que habia que hacer es poner este comando arriba del documento:

#lang racket ; esto es el lenguaje que va a usar la REPL
 (require fluxus-018/drflux) ; este es nuestro codigo

 y con eso, finalmente fluxus cobraria vida en una ventana aparte y ahi podria programar y ejecutar codigo para ir viendo el resultado on-the-fly en una ventana aparte.. pero.. ERROR no se encuentran los modulos..

(standard-module-name-resolver: collection not found
  for module path: fluxus-018/drflux
  collection: "fluxus-018"
  in collection directories:
   /home/tu-usuario/.racket/6.4/collects
   /usr/share/racket/collects
   ... [155 additional linked and package directories] in: fluxus-018/drflux
  no packages suggestions are available .)


Observando el error, y buscando info, me di cuenta que el path definido para los modulos no contenia ningun archivo con el codigo de "drflux" ni nada, entonces repeti el procedimiento de instalacion (medio de mas) pero  vi que todo los modulos se instalaban en una carpeta del sistema donde van las librerias en general, pero drracket buscaba en otro path, entonces no tube mas que copy pastear todo el contenido de la carpeta /fluxus-018 en el path donde racket buscaba los modulos..

Entonces cruce los dedos y volvi a ejecutar el codigo:

(require fluxus-018/drflux)

 SII, aparecio el cuadro negro esperando a la ejecucion de codigos frescos.. Ahora el desafio era usarlo atraves de emacs.. mas que nada porque ya lo manejo un poco mejor, y resultaria mas comodo que tener que usar drracket que es un poco demaciado IDE para mi gusto.

Averiguando, di con racket-mode para emacs, me parecio logico pensar que si drracket era un editor para racket y el racket-mode de emacs era una interface para usar la REPL de racket en emacs, se tendria que poder usar drflux desde ahi. Asi que instale racket-mode desde los repositorios MELPA
(https://melpa.org/)
 
Y finalmente, una vez instalado, creando un archivo .rkt se puede invocar a nuestro amigo drflux escribiendo (require fluxus-018/drflux) y se habrira el cuadrado..

Ahora, los comandos para ir probando codigo son:

* C-x C-r = evaluar seleccion
* M-C-x = evaluar bloque donde este el cursor

nota:
Si evaluamos con f5 (evalua todo el contenido del archivo .rkt) obtendremos un error, ya que al evaluar otra vez el "(require fluxus-018/drflux)" la pantalla se vuelve negra permanentemente, hasta que reiniciemos el editor y la REPL, asi que una vez evaluado, y una vez que aparesca el cuadrado negro, no hay que evaluar nuevamente el bloque que invoca a drflux.

Bueno asi que esto seria todo lo que tube que hacer para hacer funcionar fluxus en arch linux atraves de emacs.





pseudo-english version:

I want to share my experience with fluxus environment http://www.pawfal.org/fluxus/
 Run it on emacs was very difficult to me. But finally it succeeds in a way that did not see clearly described anywere.All you get to find on the Internet is a method using OSC to transmit codes from emacs to the Fluxus engine... but I never make it work, for some problems with libs (or something) ..When used Debian, some units gave problems. s me and this is a matter Arch AUR with the Fluxus git pre-configured, so, open a terminal and wrote:

 
git clone https://aur.archlinux.org/fluxus-git.git

 
cd fluxus-git

 
makepkg -sriEverything was installed correctly, but ... could only use the standard editor of fluxus, "fluxus scratchpad", the problem with this colorful and simple editor is not supplied with the copy and paste function (at least on Linux),  that makes it extremely tedious when learning to program and try new things (at least to me ..) so reading the documentation (http://www.pawfal.org/fluxus/files/fluxus-documentation-en.pdf) saw that could be used with "drscheme" a special scheme editor, but as scheme is now called racket , the editor is called DrRacket: P ...It was then that, having installed fluxus, DrRacket was already installed on my system, so start it..I followed the instructions to connect the REPL racket to fluxus by a module called "drflux" all you need to do is put this command above the document: #lang racket; this is the language that will use the REPL

 
(require fluxus-018/drflux);
This is our codeand with that, fluxus finally come to life in a new window and there could schedule and run code to go see the on-the-fly results in a separate window .. but .. not found ERROR modules ..(standard-module-name-resolver: collection not found
  
for module path: fluxus-018/drflux
  
collection: "fluxus-018"
  
in collection directories:
   
/home/tu-usuario/.racket/6.4/collects
   
/usr/share/racket/collects
   
... [155 additional linked and package directories] in: fluxus-018/drflux
  
no suggestions are available packages.)Noting the mistake, and looking for info, I realized that the path defined for the modules contained no file with the code "drflux" or anything, then repeated the installation procedure (nonsense) but I saw that all the modules are settled in a system folder where the libraries are generally, but DrRacket sought another path, then tube rather than graze copy the entire contents of the folder /fluxus-018 in the path where racket sought modules Then cross fingers and returned to run the code:(require fluxus-018/drflux)


YES, appeared the black box waiting for the execution of fresh codes .. Now the challenge was to use emacs.. because I mannage it a little better and more comfortable than having to use would result DrRacket which is a bit too much IDE for my taste.Finding out, I found racket-mode for emacs, it seemed logical to think that if DrRacket was an editor for racket and racket-mode emacs was an interface to use REPL racket in emacs, you should be able to use drflux from there. So racket-mode install from the repositories Melpa


(https://melpa.org/)And finally, once installed, creating a .rkt file can invoke our friend drflux writing (require fluxus-018/drflux) and the black-square comes to life  ..Now, the commands to start testing code are:* C-x C-r = evaluate selection* M-C-x = evaluate  block where the cursor isnote:If we evaluate with f5 (evaluates the entire contents of .rkt file) get an error because when evaluating again "(require fluxus-018/drflux)" screen becomes black permanently until you reboot the editor and the REPL , so, once evaluated, and once it appears the black square, do not reevaluate the block that invokes drflux.Well so this would be all that have to do to run fluxus on arch linux with emacs.

No comments:

Post a Comment