Mono-based solution. Some of these tools can be developed on
Windows before Mono is fully finished.
+ All of these tools should be written using C#.
+
+ For the tools that are typically command line tools: Try to
+ write these as components that could load their input from
+ streams or collections of streams, and implement the command
+ line tools as wrappers around those classes.
+
+ For example, we will be making the C# compiler a component
+ that could be reused by applications that might have a use for
+ the various bits of the compiler (either to embed the
+ compiler, or reuse the code generator part of it).
+
+ This is important so that these components (compiler,
+ assembler, linker, etc) can be integrated later into the
+ visual development environment (hopefully with the help of the
+ SharpDevelop hackers).
+
+TODO=ilasm,IL Assembler
+** IL Assembler.
+
+ This assembler should basically take as input a file
+ containing IL bytecodes as specified in the `Partition II' of
+ the ECMA spec, and produce a binary file.
+
+TODO=al,Assembly Linker
+** Assembly Linker.
+
+ This tool is used to construct assemblies, which are basically
+ deployment units for CLI executables.
+
+TODO=debugger,Debugger
+** Debugger
+
+ We will need a debugging API to debug CLI applications and
+ then a debugger component that can be used in an IDE
+ environment.
+
+TODO=ide,Integrated Development Environment
** Integrated Development Environment
There is already a project to create a C# development
- environment (SharpDevelop). People could work with the
- SharpDevelop hackers to produce a unified development environment.
+ environment: <a
+ href="http://www.icsharpcode.net/OpenSource/SD/default.asp">SharpDevelop</a>.
+ People should work with the SharpDevelop hackers to produce a
+ unified development environment.
-** Help Browser
-
- We need a good help browser that can be used to browse all the
- Mono documentation.
+ Please work with the SharpDevelop hackers to build a good IDE.
+ We will work on creating an embedable compiler component and
+ an embeddable debugger component that can be used withing
+ SharpDevelop
+TODO=hbrowser,Help Browser
+** Help Browser
+ We need a good help browser that can be used to browse
+ documentation. Ideally this help browser can accept as input
+ XML Docbook input and an assorted set of file formats
+ (Microsoft Help, Unix manual pages, Unix Info pages)
+ Look at the GNOME DevHelp for a good set of ideas on how to
+ implement this.
\ No newline at end of file