[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.
--
http://homes.eff.org/~barlow/EconomyOfIdeas.html
http://www.dreamsongs.com/MobSoftware.html
http://www.gnu.org/philosophy/shouldbefree.html
More information about the Monodevelop-devel-list
mailing list