public
Description: Run programs in the Emacs buffer holding their source, seeing their output inline, interactively.
Homepage: http://wry.me/project/halp
Clone URL: git://github.com/darius/halp.git
halp / TODO
100644 67 lines (41 sloc) 1.934 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
clean up code:
  halp.el has some ugly bits still lying around
  group stuff into an examples directory
 
set the current directory for python
 
fix: in pyhalp if the program writes to stdout, successful M-i presses
add an extra newline in front of the output each time
 
fix: ghcihalp.py isn't reporting errors (or anything else) on this input:
myzip [] [] = []
myzip (x:xs) (x:ys) = (x, y) : (myzip xs ys)
--- myzip "hello" "world"
 
fix: in pyhalp any stdout output isn't shown if there's an exception
 
set PYTHONPATH (or something)
 
don't delete old outputs if there's an error in the initial module
loading. but do mark them somehow as no longer the current output.
 
add doc comments to interactive elisp functions
 
We're still getting 'File "<string>", line 14' on syntax errors.
It looks like that message comes out of the SyntaxError exception
rather than the traceback. I tried setting value.filename = halp_filename
in get_lineno, but that did nothing. Come back to this.
 
tush variant
 
continuous halp mode: auto-rerun halp after every change to the buffer;
but don't show changed output after these auto-reruns (too disruptive);
instead just change the prefixes on outputs that change (to '#X ', say).
 
move cursor to position reported by compiler error message
 
use sys.meta_path:
http://www.python.org/dev/peps/pep-0302/
http://blog.dowski.com/2008/07/31/customizing-the-python-import-system/
 
more concise/useful Python error messages
 
doctest support -- mark an output as 'correct', and tell me when
there's an error
 
single-stepping of some sort
 
test isolation
 
allow multiline examples (and outputs?)
 
syntax coloring
 
support "literate python"? noweb?
 
for Haskell, handle compiler error messages for example lines
 
rewrite in elisp?
 
insert results asynchronously; don't hang up emacs
 
lisp support
 
persistent process to avoid startup time, if possible
 
make sure python isn't compiling pyhalp.py every time we run