[Monodevelop-devel] Brainstorming for 2.4 code quality

Levi Bard taktaktaktaktaktaktaktaktaktak at gmail.com
Thu Sep 10 08:44:18 EDT 2009

>> ProjectDom is highly .NET centric.  PyBinding conforms to this for in
>> file parsing since it gives us persistence "for free".  But this is
>> not
>> suitable for indexing the system packages.  I would like this to be
>> easily re-usable for writing other add-ins such as JavaScript, Ruby,
>> or
>> even SQL.
> Why it is .NET centric ? It's usable for defining a class model. It's
> not suited for defining a language that doesn't contain classes (like
> SQL). And for non oo languages it can be simulated (just put all members
> in a generated container class).
>> Currently, it is very tough to map python language concepts to things
>> like IType, IMember, and such.  Even when conforming to that, features
>> like tooltips are bound to using words like "Namespace" rather than
>> "Module" or "Package".
> This should be changeable by using another ambience. Currently they
> don't contain these strings, but thats somethin we should put into them.

It's not just a difference in terminology - different languages often
have slightly (or drastically) different OO models, due to different
language features, designer mindsets, what have you.  For example, a
Ruby module is kind of a mixture, from a c# perspective, of a
namespace, a static class, and an interface. Or in Vala, one can have
static methods that belong directly to a namespace.

So, it would be nice to have a more generic builtin dom.

I'm in favor of removing the language binding, as long as the
information in the syntax modes is sanely exposed.

A generic REPL using Mono.TextEditor would be fantastic.
I'd love to see M.TE reworked a little so that it would be easy for
extenders and aggregators to pick/choose/add/remove/rearrange things
like the margins.


More information about the Monodevelop-devel-list mailing list