1 This file aims to describe what the distel-ie package is.
3 The 'ie' suffix is an acronym for "Interactive Erlang".
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.
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
15 now type (without quotes) :
17 "sista(W) -> lists:last(W)."
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:
22 "sista([1, 2, 3, distel_rocks])."
24 Again, mark this region and press C-M-x, the result should come as no surprise
30 These keybindings are available when you run the distel extension minor mode
32 C-c C-d s : Makes a session buffer the current buffer, if no session exists,
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.
39 C-u C-M-x : Same as above, but the results ends up in the session buffer.
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.
44 C-c C-d c : Same as above but copies an entire buffer.
48 THINGS NOT WORKING/TODO:
50 - Evaluating a region containing more than one function definition is not
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
59 Comments and suggestions are welcome,
61 email_the_author() -> lists:reverse("ei.lu@nillaw.divad").