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!

Published by jukkasoft

Me: a code enthusiasta, technology optimist, but also a realist. In my blog something like 80% of the articles are technology related - mostly in English and Finnish. I like to envision and ponder about things, how life could be, what we are doing wrong today, and so on. "Invented" a facebook -like system in 2000, as a short product pamphlet. Haven't yet realized the 20+ ideas that might have become big things. Maybe learning this skill one of these days!

Leave a comment

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 )

Google photo

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

Twitter picture

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

Facebook photo

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

Connecting to %s

%d bloggers like this: