Guide de référence

10 views
Skip to first unread message

Christian Sperandio

unread,
Jul 26, 2012, 7:44:42 PM7/26/12
to clojure-pari...@googlegroups.com
Bonsoir à tous (ou bonne nuit vu l'heure :)),

Quelqu'un a-t-il un guide de référence des fonctions dispo dans clojure.core ? Genre un pdf avec toutes les fonctions  et une présentation succincte de celles-ci.
Afin de pouvoir le lire tranquillement  pour se dire lors d'un problème à resoudre: "tiens, je me rappelle avoir vu une fonction pouvant m'aider sur ce point".
Ceci afin d'éviter de refaire des fonctions existantes et de se limiter qu'à map, recur et compagnie :)

Merci.




Bertrand Dechoux

unread,
Jul 27, 2012, 1:44:47 AM7/27/12
to clojure-pari...@googlegroups.com, clojur...@googlegroups.com, cloju...@googlegroups.com, cloju...@googlegroups.com
http://clojure.org/cheatsheet

http://clojuredocs.org/quickref/Clojure%20Core
http://clojuredocs.org/

Et tu peux même chercher dans ton repl.
http://clojuredocs.org/clojure_core/clojure.repl/dir

Et tu peux même utiliser clojuredocs depuis ton repl (mais je n'ai pas essayé)
https://github.com/dakrone/clojuredocs-client

Bertrand

2012/7/27 Christian Sperandio <christian...@gmail.com>



--
Bertrand Dechoux

eniotna

unread,
Jul 27, 2012, 1:46:30 AM7/27/12
to clojure-paris-user-group@googlegroups com, cloju...@googlegroup.com

Bonjour,

J'utilise ces 2 sites la:

http://clojuredocs.org/clojure_core
(La doc pointe tjs sur 1.3.0 mais c'est déjà un début.)

http://www.clojureatlas.com/
Ça te permet de rechercher par mot clé des fonctions. Le résultat sous forme de graphe est plaisant.

Sinon j'ouvre directement le namespace clojure.core avec emacs, ferme les blocs de code pour ne voir que les noms de fonction et me ballade dedans.

Ah et ultime remarque. 4clojure.com est vraiment sympa. Ça te propose des exercices sous forme de tests unitaires a faire passer. Tu tombes sur des fonctions de clojure a implementer. Du coup,  tu les rencontres de manière ludique.

A bientot

Antoine

Laurent PETIT

unread,
Jul 27, 2012, 2:24:30 AM7/27/12
to clojure-pari...@googlegroups.com
Bonjour,

Si possible, commencer à utiliser la mailing-liste francophone plutôt qu'une liste spécifique d'un user group :

cloju...@googlegroups.com

Page du groupe : http://groups.google.com/group/clojure-fr

Cordialement,

--
Laurent Petit

Christophe Grand

unread,
Jul 27, 2012, 4:04:12 AM7/27/12
to clojure-pari...@googlegroups.com, cloju...@googlegroups.com
Bonjour,

Les liens intéressants ont déjà été fournis, cependant quelques recommandations :
Comme je l'ai déjà dit : n'utilise pas recur.
ni lazy-seq ou lazy-cat
ni la récursion !
ni les types références (atom/ref/agent/delay/promise...)
ni deftype/defrecord/defprotocol
évite l'interop
si tu as vraiment besoin de polymorphisme, essaye les multiméthodes mais dans un premier temps essaye de t'en passer

Ces préconisations ont pour objectif de "casser" tes réflexes et d'obliger à utiliser les fonctions de haut niveau (et donc les apprendre).

Christophe

2012/7/27 Christian Sperandio <christian...@gmail.com>



--
Professional: http://cgrand.net/ (fr)
On Clojure: http://clj-me.cgrand.net/ (en)

Hiram MADELAINE

unread,
Jul 27, 2012, 4:23:15 AM7/27/12
to cloju...@googlegroups.com, clojure-pari...@googlegroups.com
Hello Christian,

Pour bien avancer, je ne saurais trop te conseiller la lecture d'un bon livre sur Clojure.
Cela m'a permis de faire des progrès immense.
Christophe par déontologie ne te donne pas ce conseil alors je m'en charge

A bientôt

Hiram

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes clojure-fr.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse clojure-fr+...@googlegroups.com.
 
 



--
Hiram MADELAINE
96, rue La Fayette 75010 Paris
+33 6 11 51 37 71

Yann Schwartz

unread,
Jul 27, 2012, 4:27:53 AM7/27/12
to clojure-pari...@googlegroups.com


2012/7/27 Christophe Grand <chris...@cgrand.net>

Bonjour,

Les liens intéressants ont déjà été fournis, cependant quelques recommandations :
Comme je l'ai déjà dit : n'utilise pas recur.
ni lazy-seq ou lazy-cat
ni la récursion !
ni les types références (atom/ref/agent/delay/promise...)
ni deftype/defrecord/defprotocol
évite l'interop
si tu as vraiment besoin de polymorphisme, essaye les multiméthodes mais dans un premier temps essaye de t'en passer

Ces préconisations ont pour objectif de "casser" tes réflexes et d'obliger à utiliser les fonctions de haut niveau (et donc les apprendre).

Christophe



Je comprends la plupart de tes recommandations, sauf pour lazy-seq. En quoi cela induit-il un style impératif ? A part que les HOF sur des séquences lazy conservent la paresse (?) de la séquence et que lazy-seq est rarement indispensable... 

Bertrand Dechoux

unread,
Jul 27, 2012, 4:31:20 AM7/27/12
to clojure-pari...@googlegroups.com, cloju...@googlegroups.com
Je connaissais les functions source et doc avant de le lire. Mais c'est notamment grâce à ce livre (mon premier en clojure!) que j'ai appris les functions dir et apropos.
(Cela doit être le chapitre 10, à priori).

Je ne l'avais pas mentionné ce matin car c'était le matin... Mais je le recommande fortement également.

Bertrand

@Yann : par ce que c'est une façon indirecte de faire de la récursion? (sans être certain)

2012/7/27 Hiram MADELAINE <hiram.m...@gmail.com>



--
Bertrand Dechoux

Christophe Grand

unread,
Jul 27, 2012, 4:40:01 AM7/27/12
to clojure-pari...@googlegroups.com
L'objectif n'est pas que l'impératif et la classite aigüe[1] mais aussi se forcer à faire émerger et reconnaître les abstractions. lazy-seq, loop et la récursion sont bas niveau et doivent être éviter dans le cas général pour rechercher comment atteindre les mêmes objectifs en n'utilisant que des fonctiones de haut niveau.
C'est une règle d'aprentissage que l'on assouplit avec l'expérience et les impératifs de production.

Christophe

[1] infection du système objet, ayant pour symptôme la multiplication de classes dont des méthodes n'implétent aucune interface (ou sont la seule implem de cette interface)

2012/7/27 Yann Schwartz <abolib...@gmail.com>

Christophe Grand

unread,
Jul 27, 2012, 6:20:54 AM7/27/12
to clojure-pari...@googlegroups.com
En direct du front : je suis en train de reprendre une base de code pour un client et je tombe sur un loop/recur peu clair.
Le temps de dtéreminer quelles sont les ocnditions de sorties et les invaraints de la boucle, je me rends compte que c'est un reduce.
S'il avait éét écrit sosu la forme d'un reduce dès le début la fonction aurait été plus lisible et compréhensible car non mélangée avec les détails de l'itération.
Avec lazy-seq c'est la même chose : une réinvention de roue.

Christophe

2012/7/27 Christophe Grand <chris...@cgrand.net>

Laurent PETIT

unread,
Jul 27, 2012, 7:33:19 AM7/27/12
to clojure-pari...@googlegroups.com

Le 27 juil. 2012 à 12:20, Christophe Grand <chris...@cgrand.net> a écrit :

En direct du front : je suis en train de reprendre une base de code

Encore en vacances? Tu fais de la spéléo ? :)

Christian Sperandio

unread,
Jul 27, 2012, 7:39:56 AM7/27/12
to clojure-pari...@googlegroups.com
Bonjour à tous et merci pour vos réponses :)

Par contre, j'avais dû mal m'exprimer :$ Je voulais une version papier
(je sais, cela fait has-been de nos jours) pour la lire dans les
transports (les joies de 2 heures de trajets par jour dans le métro
parisiens :P)
Mais, je note l'idée de charger dans emacs directement le source et ne
garder que les doc-strings.

Sinon, je ne sais pas si vous connaissez, mais pour les livres
techniques il y a l'excellent site http://www.safaribooksonline.com/
Promis je n'ai pas d'action chez eux :) Je l'utilise depuis quelques
années et cela m'a permis d'apprendre beaucoup de choses dans les
différents domaines informatiques (pour le travail et perso).
Cela m'a permis, entre autre, d'apprendre Clojure en lisant Practical
Clojure. Et là, je bouquine Clojure Programming :)

eniotna

unread,
Jul 27, 2012, 7:45:14 AM7/27/12
to clojure-pari...@googlegroups.com
Le 27 juillet 2012 13:39, Christian Sperandio <christian...@gmail.com> a écrit :
Bonjour à tous et merci pour vos réponses :)

Par contre, j'avais dû mal m'exprimer :$ Je voulais une version papier
(je sais, cela fait has-been de nos jours) pour la lire dans les
transports (les joies de 2 heures de trajets par jour dans le métro
parisiens :P)

un pdf sur une tablette
ou bien les lecteurs a la 'kindle' ca peut etre bien aussi
c moins lourd a porter et ca ne s'abime point

Mais, je note l'idée de charger dans emacs directement le source et ne
garder que les doc-strings.

cool :D

Bertrand Dechoux

unread,
Jul 27, 2012, 7:55:50 AM7/27/12
to clojure-pari...@googlegroups.com, cloju...@googlegroups.com
Tu n'a pas bien regardé http://clojure.org/cheatsheet !
En bas de la page, tu peux la télécharge en pdf en couleur. Comme ça tu peux même en faire des panneaux. ;)

Et http://clojuredocs.org/quickref/Clojure%20Core peut très bien s'imprimer aussi... C'est une page web.

Bertrand

2012/7/27 Christian Sperandio <christian...@gmail.com>
Bonjour à tous et merci pour vos réponses :)



--
Bertrand Dechoux

Christian Sperandio

unread,
Jul 27, 2012, 7:56:02 AM7/27/12
to clojure-pari...@googlegroups.com
Pour les tablettes, c'est vrai que c'est pratique. Mais, j'ai un
problème philosophique avec les livres numériques qui ne sont pas
techniques.
Je refuse donc d'acheter une tablette pour lire les livres (au sens
général: roman, essai, historique, géopolitique, bref ceux qui
exposent des idées, des opinions, etc) car je veux les posséder, les
corner, les annoter, les faire vivre. Et surtout que personne ne me
les retire de mes mains pour une raison X ou Y (exemple de 1984 avec
Amazon).
Après, je suis un peu réac :) Je fais partie de ceux qui sont prêt à
accepter une complexité pour conserver leur liberté. Par opposition à
une remarque qui *aurait* faite par quelqu'un d'Apple (ou un
apple-addict) que les gens sont prêts à sacrifier un peu de leur
liberté pour de la facilité d'utilisation. Le problème est la
définition de ce "peu".
Allez, j'arrête de divaguer et je retroune à la lecture de Clojure
Programming :)

eniotna

unread,
Jul 27, 2012, 7:58:56 AM7/27/12
to clojure-pari...@googlegroups.com, clojure-fr
Le 27 juillet 2012 13:56, Christian Sperandio <christian...@gmail.com> a écrit :
Pour les tablettes, c'est vrai que c'est pratique. Mais, j'ai un
problème philosophique avec les livres numériques qui ne sont pas
techniques.

'technique', tu veux dire physique au sens du toucher?
 
Je refuse donc d'acheter une tablette pour lire les livres (au sens
général: roman, essai, historique, géopolitique, bref ceux qui
exposent des idées, des opinions, etc) car je veux les posséder, les
corner, les annoter, les faire vivre. Et surtout que personne ne me
les retire de mes mains pour une raison X ou Y (exemple de 1984 avec
Amazon).
Après, je suis un peu réac :) Je fais partie de ceux qui sont prêt à
accepter une complexité pour conserver leur liberté. Par opposition à
une remarque qui *aurait* faite par quelqu'un d'Apple (ou un
apple-addict) que les gens sont prêts à sacrifier un peu de leur
liberté pour de la facilité d'utilisation. Le problème est la
définition de ce "peu".

j'ai mes livres physiques a la maison :D
 

Christian Sperandio

unread,
Jul 27, 2012, 8:02:13 AM7/27/12
to clojure-pari...@googlegroups.com
Par technique, je voulais dire qui explique une technique (genre une
langage de programmation) qui à tendance à évoluer relativement
rapidement dans sa mise en oeuvre.
Donc, je lis tout ce qui touche à une utilisation pratique sur le net,
en version informatique. Par contre, tout ce qui est plus conceptuel,
je les ai en version livre (ex: Système d'exploitation de Tanenbaum ,
ou bien les livres de Knuth).
Reply all
Reply to author
Forward
0 new messages