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 334 - (view) (download)

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

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