Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Utiliser autre chose qu'Emacs Lisp

5 réponses
Avatar
Jacques M
Bonjour,

Je voudrais me mettre à Emacs. En me renseignant, sur Wikipedia, je
trouve : "Les utilisateurs d'Emacs écrivent habituellement du code en
Emacs Lisp afin de personnaliser et rajouter des fonctionnalités à
Emacs." Si certains utilisateurs n'utilisent pas Emacs Lisp, que
peuvent-ils utiliser à la place comme langage ? Scheme, perl, ...
cela permet-il d'atteindre les mêmes résultats au bout du compte ?

Merci



Jacques

5 réponses

Avatar
Jean Magnan de Bornier
Le 06 janvier à 22:02:21 Jacques M écrit notammen t:

| Bonjour,



| Je voudrais me mettre à Emacs. En me renseignant, sur Wikipedia, je
| trouve : "Les utilisateurs d'Emacs écrivent habituellement du code en
| Emacs Lisp afin de personnaliser et rajouter des fonctionnalités à  
| Emacs." Si certains utilisateurs n'utilisent pas Emacs Lisp, que
| peuvent-ils utiliser à la place comme langage ? Scheme, perl, ...
| cela permet-il d'atteindre les mêmes résultats au bout du compt e ?

[...]

Les utilisateurs d'emacs peuvent utiliser tout langage de programmation
qui leur convient, et emacs leur fournira un mode spécifique pour chac un
de ces langages.

Mais la personnalisation d'emacs, comme par exemple la couleur
du fond d'écran ou les racccourcis clavier (pour citer deux cas
élémentaires) ne peut se faire qu'en elisp ... le langage dans le quel
emacs est écrit (sauf son cœur qui est en C mais pas accessible à
personnalisation).

à+,
--
Jean
Avatar
pjb
Jacques M writes:
Je voudrais me mettre à Emacs. En me renseignant, sur Wikipedia, je
trouve : "Les utilisateurs d'Emacs écrivent habituellement du code en
Emacs Lisp afin de personnaliser et rajouter des fonctionnalités à
Emacs." Si certains utilisateurs n'utilisent pas Emacs Lisp, que
peuvent-ils utiliser à la place comme langage ? Scheme, perl, ...



Concrêtement, il y a emacs-cl qui est une implémentation de Common
Lisp en emacs lisp et qui permet d'écrire des extensions emacs en
Common Lisp (puisque celui ci est alors compilé vers emacs lisp).

Mais je ne connais aucun autre langage implémenté en emacs lisp
permettant d'écrire une extension emacs lisp.

C'est cependant quelque chose qui est entièrement possible, il suffit
d'implémenter un interpréteur ou un compilateur pour ce langage en
emacs lisp.

Par exemple, il existe une implémentation de scheme (R4RS) en Common
Lisp nommée "pseudo", qui devrait pouvoir tourner sur emacs-cl, et
donc on devrait pouvoir écrire des extensions emacs en scheme,
compilées en Common Lisp puis en emacs lisp.

Il existe aussi une implémentation de python en Common Lisp, cl-python.

En fait, je connais beaucoup plus d'implémentations de langages de
programmations divers et variés en Common Lisp qu'en emacs lisp. C'est
peut être dû au fait qu'emacs lisp n'a pas de closure.


cela permet-il d'atteindre les mêmes résultats au bout du compte ?



Ça dépend de ce que tu entends par "même".

Si tu veux dire "équivalence de Turing", alors oui. Mais en pratique,
étant donné que les lisp sont les langages les plus expressifs et
souples qu'il existe, on obtiendra "mêmes" résultats mais avec plus
d'effort.


Il existe aussi des emacs qui sont directement programmés avec des
langages différents et qui proposent donc des langages d'extension
différent. Je crois me souvenir que java et python aient été
mentionnés. Il y a plusieurs emacs implémentés directement en Common
Lisp ou en scheme et les utilisant comme langages d'extension
(Hermlock, Climacs, edlin). Le problème dans ces cas est que GNU
emacs est l'emacs le plus utilisé, et donc pour lequel le plus
d'extensions sont écrites.


--
__Pascal Bourguignon__ http://www.informatimago.com/
Avatar
Ph. Ivaldi
Bonsoir,

Le 06 janvier 2010, (Pascal J. Bourguignon)écrivit :

Mais je ne connais aucun autre langage implémenté en emacs lisp
permettant d'écrire une extension emacs lisp.



Si j'ai bien compris la problématique on peut au moins le faire en
Ruby http://www.emacswiki.org/emacs/EmacsLispForRuby et en python
http://www.emacswiki.org/emacs/PyMacs
Voir http://www.emacswiki.org/emacs/CategoryExtensionLanguage pour
d'autres langages.

Il existe aussi des emacs qui sont directement programmés avec des
langages différents et qui proposent donc des langages d'extension
différent. Je crois me souvenir que java



http://jemacs.sourceforge.net/
--
Philippe Ivaldi.
http://www.piprime.fr/
Avatar
Paul Gaborit
À (at) Wed, 06 Jan 2010 22:02:21 +0100,
Jacques M écrivait (wrote):

Je voudrais me mettre à Emacs. En me renseignant, sur Wikipedia, je
trouve : "Les utilisateurs d'Emacs écrivent habituellement du code en
Emacs Lisp afin de personnaliser et rajouter des fonctionnalités à
Emacs." Si certains utilisateurs n'utilisent pas Emacs Lisp, que
peuvent-ils utiliser à la place comme langage ? Scheme, perl, ...
cela permet-il d'atteindre les mêmes résultats au bout du compte ?



À vrai dire, je connais de nombreux utilisateurs d'emacs qui n'ont
jamais écrit la moindre ligne de lisp et qui ont pourtant réussi à
personnaliser leur emacs.

Pour ajouter de nouvelles fonctionnalités, il est vrai qu'il vaut
mieux connaître emacs-lisp. Mais on peut aussi s'en sortir en sachant
chercher sur le web : la plupart du temps, il y a déjà quelqu'un qui a
eu le même besoin et qui a déjà fait le lisp qui va bien.

Dernière remarque : l'apprentissage de lisp n'est pas très
difficile. À mon avis, ce qui est difficile pour ajouter des
fonctionnalités, c'est de bien connaître toutes les fonctions
pré-existantes dans emacs pour les utiliser à bon escient.

--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
Jacques M
Paul Gaborit a écrit :
À (at) Wed, 06 Jan 2010 22:02:21 +0100,
Jacques M écrivait (wrote):

Je voudrais me mettre à Emacs. En me renseignant, sur Wikipedia, je
trouve : "Les utilisateurs d'Emacs écrivent habituellement du code en
Emacs Lisp afin de personnaliser et rajouter des fonctionnalités à
Emacs." Si certains utilisateurs n'utilisent pas Emacs Lisp, que
peuvent-ils utiliser à la place comme langage ? Scheme, perl, ...
cela permet-il d'atteindre les mêmes résultats au bout du compte ?



À vrai dire, je connais de nombreux utilisateurs d'emacs qui n'ont
jamais écrit la moindre ligne de lisp et qui ont pourtant réussi à
personnaliser leur emacs.

Pour ajouter de nouvelles fonctionnalités, il est vrai qu'il vaut
mieux connaître emacs-lisp. Mais on peut aussi s'en sortir en sachant
chercher sur le web : la plupart du temps, il y a déjà quelqu'un qui a
eu le même besoin et qui a déjà fait le lisp qui va bien.

Dernière remarque : l'apprentissage de lisp n'est pas très
difficile. À mon avis, ce qui est difficile pour ajouter des
fonctionnalités, c'est de bien connaître toutes les fonctions
pré-existantes dans emacs pour les utiliser à bon escient.



Ok, merci à tous (beaucoup de forumeurs de fctt par ici ;) ) pour ces
réponses, je vais chercher.