Clojure-py

5 views
Skip to first unread message

Sebastien Douche

unread,
May 26, 2012, 1:37:56 PM5/26/12
to clojure-pari...@googlegroups.com
Un projet qui m'a donné envie de ré-essayer Clojure est le projet
clojure-py[1] , et ceux pour plusieurs raisons (par ordre
d'importance) :

1/ Ca n'utilise pas la JVM. Je porte en horreur de truc.

2/ Je peux utiliser l'écosystème Python (que je connais) et non celui
de Java (que je ne connais pas et que je n'ai *pas* envie
d'apprendre).

3/ Ils tentent de voir si une VM adaptée pour un langage dynamique
(ici la VM CPython) n'est pas "mieux" pour Clojure. Je suis intéresé
par les conclusions.

4/ C'est programmé en Python sur la VM CPython et je suis intéresé par
leurs défauts dans le cadre de ce projet.


La version 1.0 se donne pour objectif d'être 100% compatible.

C'est une façon d'apprendre un langage tout en réutilisant /
approfondissant un autre, bref comme ceux qui sont passé de Java à
Clojure :).



[1] https://github.com/halgari/clojure-py (blog :http://clojure-py.blogspot.fr/)

--
Sebastien Douche <sdo...@gmail.com>
Twitter: @sdouche / G+: +sdouche

eniotna

unread,
May 26, 2012, 2:08:29 PM5/26/12
to clojure-pari...@googlegroups.com
Au dela meme de clojure-py qui, pour toi, a un attrait evident, il faut remarquer une chose, les implementations de clojure commencent a se faire sentir:

- clojure -> java
- clojure-py -> python
- clojurescript -> javascript
- clojure-clr -> .Net

Et au coeur de tout ca, les memes principes sont appliques.

Je ne suis pas encore tres actif sur la mailing list clojure (je suis vraiment timide meme si ce soir, je me decouvre une flamme) mais je peux te dire qu'il n'y a pas ou tres peu d'elitisme et ca c'est vraiment un plus.

Finie l'epoque du RTFM (faut peut etre pas trop le pousser mais qd meme). Je n'ai jamais eu le pb mais je peux concevoir que ce n'est pas agreable de se faire rembarrer.

Un autre point interessant, ca va faire des annees que je suis linuxien.
Je n'ai paradoxalement jamais approche les lisp alors que ca en regorge.

Bref, maintenant que je fais du clojure, je tripote a mon init.el ou .emacs (pour emacs) et a mon .stumpwmrc (pour stump qui est en common-lisp). Je fais certainement mal les choses mais le point principal, c'est que j'apprends vraiment des nouveaux trucs et c'est fun!!!!

Je pense ou en tout cas j'espere que clojure sera le lisp, un pont vers les autres lisp (qui sont parmi les plus vieux langages auxquels on doit par exemple, 3x rien, juste plus de complexite accidentelle de gestion de memoire...).

Anyway

go clojure!

Tu dois bien pouvoir lacher 1 langage parmi tous tes langages :p ou sans en lacher, faire monter clj ds tes priorites ;D

A plus

Antoine

Christophe Grand

unread,
May 27, 2012, 5:01:27 AM5/27/12
to clojure-pari...@googlegroups.com, clojure-pari...@googlegroups.com

Bonjour

Le 26 mai 2012 à 20:08, eniotna <enio...@gmail.com> a écrit :

> Au dela meme de clojure-py qui, pour toi, a un attrait evident, il faut remarquer une chose, les implementations de clojure commencent a se faire sentir:
>
> - clojure -> java
> - clojure-py -> python
> - clojurescript -> javascript
> - clojure-clr -> .Net

Y a aussi un clojure lua qui débute. Un clojure-scheme aussi qui permet d'obtenir des binaires natifs.
Le plan de domination mondial actuel dit que clojure script est l'avenir de clojure car la surface de portage est bien moindre (les types et le compilateur étant écrits en Clojure par exemple). Py et CLR sont des réécritures —mais du côté Py il y a le souhait de se rebaser sur Clojurescript.

Bref Clojurescript doit être la mère de tous les portages à venir :-)

NB le portage de code à coup sûr est un non objectif. L'objectif est le portage de compétences et l'exploitation des spécificités de chaque environnement.

> Et au coeur de tout ca, les memes principes sont appliques.

Voilà, exactement.

Bon WE.

Christophe

Konrad Hinsen

unread,
May 27, 2012, 8:11:15 AM5/27/12
to clojure-pari...@googlegroups.com
Christophe Grand writes:

> Le plan de domination mondial actuel dit que clojure script est
> l'avenir de clojure car la surface de portage est bien moindre (les
> types et le compilateur étant écrits en Clojure par exemple). Py et
> CLR sont des réécritures —mais du côté Py il y a le souhait de se
> rebaser sur Clojurescript.

C'est un sujet actuellement sur la liste clojure-py. Plusieurs évolution
sont envisagées:

- Maintenir le fonctionnement actuel, avec un compilateur écrit en Python.
Avantage: que du code Python pur à gérer.

- Se rebaser sur ClojureScript. Avantage: on profite du travail des autres.
Inconvenient: actuellement, il faut faire tourner le compilateur sous
Clojure-JVM, ce qui complique le développement. Il faut voir si on
peut compiler ClojureScript avec ClojureScript pour avoir un compilateur
en bytecode Python, avec des vrais macros comme il faut.

- Se rapprocher à PyPy, ce qui veut dire écrire un interprète en RPython,
à la place de tout compilateur. Avantage: cette approche donne fort
probablement la meilleure performance. Inconvenient: On quitte la
plateforme CPython avec toutes ses jolies librairies.

Ceux qui veulent donner leur avis devraient s'inscrire à la liste clojure-py
maintenant!

Konrad.

Christophe Grand

unread,
May 27, 2012, 9:24:14 AM5/27/12
to clojure-pari...@googlegroups.com
Mon seul avis est que c'est dur de se lancer dans une réécriture quand on a quelque chose qui marche.

Sûr les IO sont différentes mais un fork du compilo Clojurescript ne pourrait-il pas tourner sur le Clojure-Py actuel ? Bref bootstrapper sur celui ci au lieu de la JVM.

Christophe Grand

Konrad Hinsen

unread,
May 27, 2012, 9:34:20 AM5/27/12
to clojure-pari...@googlegroups.com
Christophe Grand writes:

> Sûr les IO sont différentes mais un fork du compilo Clojurescript
> ne pourrait-il pas tourner sur le Clojure-Py actuel ? Bref
> bootstrapper sur celui ci au lieu de la JVM.

Ça doit être possible en principe, reste à le faire. Si c'était simple,
je suppose que quelqu'un l'aurait déjà fait pour JavaScript.

Konrad.

Christophe Grand

unread,
May 27, 2012, 9:57:43 AM5/27/12
to clojure-pari...@googlegroups.com
Pour Clojurescript, il faudrait déjà compiler une première fois via la JVM pour avoir les types de données définis (le code obtenu pourrait être redistribué bien sûr) pour faire ensuite tourner le compilo cljs mais là il faudrait se marier avec node.js par exemple pour les IO. Clojure-Py n'a pas ce dernier problème — mais ça fait 5 mois que j'ai pas joué avec le compilo cljs.

Mes 2 eurocents mais informés.


Christophe Grand

Christophe Grand

unread,
May 27, 2012, 10:06:21 AM5/27/12
to clojure-pari...@googlegroups.com
Un autre inconvénient de cljs pour être auto hébergé est le non support des métadonnées sur les symboles.

Christophe Grand
Reply all
Reply to author
Forward
0 new messages