Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 64 lines (36 sloc) 1.963 kb
a8f577f import from cvs
Luke Gorrie authored
1 This file aims to describe what the distel-ie package is.
2
3 The 'ie' suffix is an acronym for "Interactive Erlang".
4
5 The original idea was to create something like the *scratch* buffer in emacs,
6 where you can play around with the language: define functions see how things
7 work etc. So in short, distel-ie is a shell with the unique feature of allowing
8 for functions to be defined.
9
10 Example:
11
12 Start a distel-ie session by doing : M-x erl-ie-session, or, if you run the
13 distel extension minor mode: C-c C-d s
14
15 now type (without quotes) :
16
17 "sista(W) -> lists:last(W)."
18
19 mark this region and press C-M-x, the function sista/1 is now defined and ready
20 to be used from the session. You can try and call this function:
21
22 "sista([1, 2, 3, distel_rocks])."
23
24 Again, mark this region and press C-M-x, the result should come as no surprise
25 :-)
26
27
28 KEYBINDINGS:
29
30 These keybindings are available when you run the distel extension minor mode
31
32 C-c C-d s : Makes a session buffer the current buffer, if no session exists,
33 it creates a new one.
34
35 C-M-x : Evaluates the marked region. If the marked region contains a
36 function definition, the function is defined. The result of the
37 evaluation is returned on the minibuffer or in a new buffer.
38
39 C-u C-M-x : Same as above, but the results ends up in the session buffer.
40
41 C-c C-d r : Copies the marked region (in a file buffer) to the session buffer.
42 If no session exists, a session is created.
43
44 C-c C-d c : Same as above but copies an entire buffer.
45
46
47
48 THINGS NOT WORKING/TODO:
49
50 - Evaluating a region containing more than one function definition is not
51 working.
52
53 - It would be nice to not having to mark the region yourself,
54 erlang-mark-function or similar would be convenient, but is currently not
55 a viable option. ("fun(X) ->\nlists:last(X)\nend." is not marking the
56 correct region).
57
58
59 Comments and suggestions are welcome,
60
61 email_the_author() -> lists:reverse("ei.lu@nillaw.divad").
62
63
Something went wrong with that request. Please try again.