Emacs: Melpa ja paketit

MELPA on Emacs-editorille tarkoitettu pakettivarasto ja helppo menetelmä pakettien käyttöönottoon. Aiemmin, kuten monien ohjelmointiympäristöjen kanssa, myös Emacsin paketit olivat levällään ja aikaa kului turhaan metsästämiseen.

Emacs nielee .el -päätteistä koodia. Näillä laajennetaan editorin omia ominaisuuksia, ja voidaan myös yliajaa toimintoja halutun kaltaisiksi. .el on eLisp -kielen standardi tiedostopääte. eLispistä muutama sananen alempana.

Kannattaa muistaa, että eLisp on nimenomaan “Emacsin oma Lisp”. Editorissa on siis Lisp-tulkki, joka on tehty tarkoitukseen sopivaksi, ja lisäksi ajonaikainen eLisp -koodi “näkee” Emacsin skoopin; määritelmät eli muuttujien ja funktioiden nimet. Puhdas kielen syntaksi on sinänsä Lispiä, mutta tuo ‘e’ eLispissä viittaa Emacs-terästykseen.

Paketeista

Emacsissa ehkä alkuun vierastuttaa koko jytkyn olomuoto. Onko se Emacs nyt koodia, skriptoja, paketteja, ja mikäs ihme tämä eLisp sitten on?! .el pääte ei kovin monelle ole tuttu ennen Emacsin aikaa. Ja Emacsiakin voi käyttää aivan täysin rinnoin ilman eLisp-gospelia!

Näppärät komennot eLisp (.el) debuggaamiseen

Emacs voi jouhevasti suorittaa koodia suoraan editorissa, eli “kyseisessä kontekstissa”.

Helpoin tapa kokeilla suoritusta on komennolla (e = “evaluate”):
C-c C-e

Lisp kielenä

Lisp painottaa kaunista skooppia; kieli on lisäksi varsin yksinkertainen syntaksiltaan. Kun Lispiä opetettiin Scheme-murteella esimerkiksi Aallossa vuoden 1998 paikkeilla, muistan erityisesti muutamat asiat:

Ainoa mikä yleensä aluksi pistää silmään ja saattaa painaa alas, on tuo “pelätty” sulkeiden määrä, ja käänteinen puolalainen notaatio. Siihenkin tottuu, voin sanoa. Kaikki Lispissä perustuu vain aivan muutamalle, kouralliselle ohjelmoinnin perusasioita; eLisp ei paljoa krumeluureja ole lisännyt. Itse asiassa jos luet tarkemmin esimerkiksi Scheme -kurssin materiaaleja (työkalupaketin nimi on “Racket” nykyään), jotka ovat vapaasti saatavilla

Jatkan seuraavaksi toisessa osassa mm. käymällä hieman lisää .el tiedostoista ja niiden pakatuista vastineista. Näkymisiin!

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: