-
Notifications
You must be signed in to change notification settings - Fork 4
/
TODO
96 lines (57 loc) · 2.54 KB
/
TODO
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
*********** general:
make an emacs package now that emacs has a package system
auto-timeout the helper-subprocess runs
fill out test suite
other languages:
lisp
tush
doctest support -- mark an output as 'correct', and tell me when
there's an error
test isolation
allow multiline examples (and outputs?)
syntax coloring
support "literate python"? noweb?
insert results asynchronously; don't hang up emacs
persistent process to avoid startup time, if possible
clean up code:
halp.el has some ugly bits still lying around
group stuff into an examples directory
wouldn't it be better to centralize the diffing in halp.el instead of
in each helper? *tries to remember why I didn't*
*********** halp.el:
(defconst selectric-files-path (file-name-directory load-file-name))
when the output changes, take the cursor to the first change,
with the mark set so you can go back
add doc comments to interactive elisp functions
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
*********** pyhalp:
check against test results (#= prefix or something)
make up a key-command to convert the textually next output into
a test expectation
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.
halp.print(foo) => prints the result inline at the point in the
source it occurs (or as close as we can figure out), instead of
being collected with the general stdout output
may be useful:
inspect.currentframe()/getouterframes()/getinnerframes()/getframeinfo()
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.
more concise/useful Python error messages
single-stepping of some sort
make sure python isn't compiling pyhalp.py every time we run
*********** v8halp:
get v8halp to handle & report errors from loading the file
(not just from running each /// line)
v8halp: prettyprint objects (not just [object Object])
*********** ghcihalp:
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"
for Haskell, handle compiler error messages for example lines