Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/sml-mode/TODO
ViewVC logotype

Annotation of /sml/trunk/sml-mode/TODO

Parent Directory Parent Directory | Revision Log Revision Log


Revision 332 - (view) (download)

1 : monnier 319 -*- 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 : monnier 332 val
31 : monnier 319 in
32 : monnier 332
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 : monnier 319 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 : monnier 332 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 : monnier 319 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 : monnier 332 (if 1 then 1 + 2 else if
88 :     1 then
89 :     1
90 :     + df
91 : monnier 319 else
92 : monnier 332 hell
93 :     de
94 :     der
95 :     +1)
96 : monnier 319
97 :     case
98 : monnier 332 case a of
99 :     2 =>
100 :     1
101 :     + 2
102 :     | =>
103 : monnier 319 of 1 =>
104 :     sd
105 :     | =>

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0