]> code.delx.au - gnu-emacs-elpa/blob - TODO
First seemingly acceptable new code.
[gnu-emacs-elpa] / TODO
1 -*- sml -*-
2
3 * make `end' align on `in' when possible
4
5 * if indentation is non-obvious, return a list of possible indentations
6 and choose the first unless the current is one of the possible choices.
7
8 * M-| with datatypes gives "| => " instead of "| of "
9
10 * tab at end or beginning of buffer infinite-loop
11
12 * ignore warnings in C-c `
13
14 * improve the run-sml to allow running on another machine and to take args
15
16 * C-c ` tends to switch to another window
17
18 * sample problematic indentations:
19
20 let fun toStringFKind {isrec,cconv,inline,...} =
21 (if isSome isrec then "R" else "")^
22 (if cconv = F.CC_FCT then "FCT" else "FUN")^
23 (foo)
24
25 | toStringFKind =
26 let fun cfun (fk,f,args,body) = let
27 in (fk, f, args, loop body)
28 end
29 fun foo x = let
30 val
31 in
32
33 let f
34 in if 2 then
35 ~3
36 else
37 asdf
38 end
39
40 (
41 if foo then 1 else 2;
42 ())
43 end
44 end
45 | toStringFKind =
46 let bla
47 in foooooooooo;
48 faaaaaaaaaaa
49 end
50
51
52 let bla
53 in (fn toto => 1,
54 fn tata => 2)
55 end
56
57 let
58 in clet1 (fn [nv] => (Conlv, nv, ndc),
59 fn ([nv],nle) => F.CON(dcon, tycs, nv, lv, nle))
60 (lv,[v],le)
61 end
62
63 let
64 in a d
65 awsdfg
66 sadf
67 (fn bla =>
68 gfsse
69 | ss =>
70 asdf)
71 end
72 (* sadgasgf *)
73 app (fn (fk,f,args,body as F.APP(F.VAR g,vs)) =>
74 if not C.escaping f
75 orelse vs = (map (F.VAR o #1) args) andalso
76 not (C.escaping g)
77 then
78 let val g = F.VAR g
79 in substitute(f, val2sval g, g)
80 end
81 handle NotFound =>
82 addbind (f, Fun(f, body, args, fk, od))
83 else addbind (f, Fun(f, body, args, fk, od))
84 | (fk,f,args,body) =>
85 addbind (f, Fun(f, body, args, fk, od)))
86
87 (if 1 then 1 + 2 else
88 if
89 1 then
90 1
91 + df
92 else
93 hell
94 de
95 der
96 +1)
97
98 case
99 case a
100 of 2 =>
101 1
102 + 2
103 | =>
104 of 1 =>
105 sd
106 | =>