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

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