Merge branch 'pu'
[jungerl.git] / lib / distel / README.ie-session
blob482304e70767870ec40fcd041ec5f7d12d98f2e2
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.
10 Example:
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
25 :-)
28 KEYBINDINGS:
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, 
33             it creates a new one.
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 
51   working.
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).
59 Comments and suggestions are welcome,
61 email_the_author() -> lists:reverse("ei.lu@nillaw.divad").