dotemacs

My Emacs configuration
git clone git://git.entf.net/dotemacs
Log | Files | Refs | LICENSE

install.texi (5738B)


      1 @node Installation, The REPL, Introduction, Top
      2 @chapter Installation
      3 
      4 @menu
      5 * Must needs::
      6 * The quick and easy way::
      7 * From the source's mouth::
      8 * Friends::
      9 @end menu
     10 
     11 @node Must needs, The quick and easy way, Installation, Installation
     12 @section Must needs
     13 
     14 @cindex supported versions
     15 @cindex versions supported
     16 If Geiser came with any guarantees, you'd break all of them by not using
     17 GNU Emacs @value{EMACS_VERSION} (or better: i regularly use it with a
     18 recent Emacs snapshot) and at least one of the supported Schemes,
     19 namely:
     20 
     21 @itemize @bullet
     22 @supimpl{Chez, http://www.scheme.com, 9.4,chez}
     23 @supimpl{Chibi, http://synthcode.com/scheme/chibi, 0.7.3,chibi}
     24 @supimpl{Chicken, http://call-cc.org, 4.8.0, chicken}
     25 @supimpl{Gambit, http://gambitscheme.org/wiki/index.php/Main_Page, 4.9.3, gambit}
     26 @supimpl{Gauche, http://practical-scheme.net/gauche/, 0.9.6, gauche}
     27 @supimpl{Guile, http://www.gnu.org/software/guile, 2.2, guile}
     28 @supimpl{GNU Kawa, http://www.gnu.org/software/kawa/index.html, 3.1, kawa}
     29 @supimpl{MIT/GNU Scheme, https://www.gnu.org/software/mit-scheme, 9.0, mit}
     30 @supimpl{Racket, http://www.racket-lang.org, 7.0, racket}
     31 @supimpl{Stklos, https://stklos.net/, 1.50, stklos}
     32 @end itemize
     33 
     34 Since Geiser supports multiple REPLs, having all of them will just add
     35 to the fun.
     36 
     37 You'll also need Geiser itself.  The quickest installation is via your
     38 favourite implementation's ELPA packages (as of this writing, they're
     39 all available in MELPA and (most of them) also in NonGNU ELPA, which
     40 comes included with the batteries of Emacs 28 or better).
     41 
     42 @node The quick and easy way, From the source's mouth, Must needs, Installation
     43 @section The quick and easy way
     44 
     45 @cindex quick install
     46 @cindex ELPA
     47 @cindex NonGNU ELPA
     48 Did i mention that the easiest way of installing Geiser is using its
     49 @uref{http://emacswiki.org/emacs/ELPA, ELPA} package?  If you're using
     50 Emacs 24, @uref{http://emacswiki.org/emacs/ELPA, ELPA} is already there;
     51 for earlier versions, the page i just linked to twice will tell you
     52 where to find the goodies.
     53 
     54 ELPA packages live in repositories accessible via HTTP.  You can find
     55 Geiser's package in either
     56 @uref{https://elpa.nongnu.org/nongnu/geiser.html, NonGNU ELPA} or, if
     57 you like living on the bleeding edge, @uref{http://melpa.org/#/geiser,
     58 MELPA} (directly from the git repo).  To tell Emacs that an ELPA repo
     59 exists, you add it to @code{package-archives}@footnote{If you're using
     60 Emacs 28 or better, @code{package-archives} already comes with the
     61 non-gnu archive preconfigured, so you're lucky in more than one way.}:
     62 
     63 @example
     64 (require 'package)
     65 
     66 (add-to-list 'package-archives
     67   '("nongnu" . "https://elpa.nongnu.org/nongnu/"))
     68 
     69 (package-initialize)
     70 @end example
     71 
     72 And then installing your favourite Geiser is as easy as (if, say, you're
     73 a MIT aficionado):
     74 
     75 @example
     76 M-x package-install RET geiser-mit RET
     77 @end example
     78 
     79 Rinse and repeat for each of the scheme implementations that you would
     80 like to use.  Some of them (e.g. Gambit or Chicken) have a bit of
     81 additional setup, specific to them, so make sure you also check their
     82 respective package documentation.
     83 
     84 With that, you are pretty much all set up.  See @ref{The REPL} to start
     85 using Geiser.
     86 
     87 @ifnotinfo
     88 And, by the way, if you prefer to keep reading this manual within Emacs,
     89 @kbd{C-h i m Geiser RET} will bring you to the info version of it that
     90 you just installed!
     91 @end ifnotinfo
     92 
     93 @node From the source's mouth, Friends, The quick and easy way, Installation
     94 @section Installing from source
     95 
     96 All Geiser packages are ready to be used out of the box without much
     97 more ado.  For the sake of concreteness, let's assume you put its source
     98 in the directory @file{~/lisp/geiser}.  All you need to do is to add the
     99 following line to your Emacs initialisation file (be it @file{~/.emacs},
    100 @file{~/.emacs.d/init.el} or any of its moral equivalents):
    101 
    102 @example
    103 (add-to-list 'load-path "~/lisp/geiser/elisp")
    104 @end example
    105 
    106 and, if your, say, @code{geiser-gambit} checkout lives in
    107 @file{~/lisp/geiser-mit} add to that:
    108 
    109 @example
    110 (add-to-list 'load-path "~/lisp/geiser-gambit")
    111 @end example
    112 
    113 The autoloads defined in those packages should be enough to start
    114 scheming.
    115 
    116 @node Friends,  , From the source's mouth, Installation
    117 @section Friends
    118 
    119 Although Geiser does not need them, it plays well with (and is enhanced
    120 by) the following Emacs packages:
    121 
    122 @cindex ac-geiser
    123 @cindex autocomplete
    124 @cindex paredit
    125 @cindex company
    126 @cindex macrostep
    127 @itemize @bullet
    128 @item @uref{http://www.emacswiki.org/emacs/ParEdit, Paredit}.
    129 @anchor{paredit}
    130 Regardless of whether you use Geiser or not, you shouldn't be coding
    131 in any Lisp dialect without the aid of Taylor Campbell's structured
    132 editing mode.
    133 @item @uref{http://company-mode.github.io/, Company}.
    134 Nikolaj Schumacher's and Dmitry Gutov's @code{company-mode} provides a
    135 generic front-end for completion engines (such as Geiser's), with pretty
    136 and automatic completion lists.
    137 @item @uref{https://github.com/nbfalcon/macrostep-geiser, macrostep-geiser}
    138 provides support for in-buffer macro expansion, using the
    139 @uref{https://github.com/joddie/macrostep, macrostep} package.
    140 @item @uref{https://github.com/xiaohanyu/ac-geiser/, ac-geiser}
    141 If you prefer @code{auto-complete-mode} to @code{company-mode}, Xiao
    142 Hanyu's @code{ac-geiser}, which provides a Geiser plugin for the
    143 popular @uref{https://www.emacswiki.org/emacs/AutoComplete, Emacs Auto
    144 Completion Mode}, is the package for you.  Like Geiser,
    145 @code{ac-geiser} is available in MELPA, and also as an
    146 @code{el-get} package.
    147 @end itemize
    148 
    149 @noindent
    150 You just need to install and setup them as usual, for every package's
    151 definition of usual.  Geiser will notice their presence and react
    152 accordingly.
    153 
    154 @c Local Variables:
    155 @c mode: texinfo
    156 @c TeX-master: "geiser"
    157 @c End: