1 Things to do for the REPL support in MCS:
3 Documentation for the REPL mode for MCS can be found here:
5 http://mono-project.com/CsharpRepl
9 * Booting the compiler without Main ()
10 * Expose LoadAssembly/LoadPackage
12 * Register a lookup function for fields?
13 * Register classes to expose to REPL
17 * Run a REPL on a socket (from Joe Shaw)
18 * Host a REPL on XSP (from Nat).
22 Clear struct fields inside the clearing code.
28 * Supporting class-level declarations
30 Currently the evaluator has this feature disabled, to enable
31 it edit the eval.cs file and make this be the default:
33 - parser.Lexer.putback_char = Tokenizer.EvalUsingDeclarationsParserCharacter;
34 - //parser.Lexer.putback_char = Tokenizer.EvalCompilationUnitParserCharacter;
35 + //parser.Lexer.putback_char = Tokenizer.EvalUsingDeclarationsParserCharacter;
36 + parser.Lexer.putback_char = Tokenizer.EvalCompilationUnitParserCharacter;
39 It currently has a few problems:
41 * The usability is not as useful, since the defaults
42 for C# are still to make members private, we should
43 change this default to be public in those cases.
47 TODO: when clearing data for variables that have been overwritten
48 we need to check for structs and clear all the fields that contain
51 * DEBATABLE: Implement auto-insert-semicolon
53 This is easy to implement, just retry the parse with a
54 semicolon, the question is whether this is a good idea to do
55 in the first place or not.
62 a.<TAB> to complete members of type `a'
63 a<TAB> for types and namespaces
65 a<TAB> for local variables
70 using statement autocompletion