[Kde-bindings] KDE/kdebindings/csharp

Arno Rehn arno at arnorehn.de
Sat Dec 6 15:23:33 UTC 2008



On Friday 05 December 2008 20:10:51 Richard Dale wrote:
> On Friday 05 December 2008 18:03:12 Arno Rehn wrote:
> > On Friday 05 December 2008 18:48:23 Richard Dale wrote:
> > > On Friday 05 December 2008 17:35:28 Arno Rehn wrote:
> > > > * Add support for compiling sources at runtime. Supported languages
> > > > for now: C#, Boo, Nemerle, VB.NET (this one doesn't quite work yet -
> > > > the compiler seems to be buggy).
> > > >   The first non-blank line in the mainscript file needs to be a
> > > > comment in the form // language:csharp references:System.Xml
> > > > sources:otherfile.cs 'meta-comments' for different languages look
> > > > equivalent. By default references for qt-dotnet, kde-dotnet and
> > > > plasma-dll are added. The default language is C#, the default source
> > > > file is only 'main'. So if a script is written in C#, only needs qt,
> > > > kde and plasma bindings and all the code is contained in 'main', this
> > > > comment can be omitted.
> > > >   For each source file a md5 hash is created so it's only recompiled
> > > > if the source was modified.
> > >
> > > Interesting commit! I didn't know this was possible. We could have a
> > > different plasmoid package type where the main file was a 'main.cs'
> > > source instead of a compiled 'main' assembly perhaps, instead of having
> > > to tell them apart at runtime?
> >
> > I actually like it the way it is now - otherwise we would have to create
> > a different package structure for each supported language.. (for main.cs,
> > main.vb, main.n, main.boo etc.)
>
> Yes, that's a good point.
>
> > And differentiating between a binary assembly and a source file is rather
> > easy at runtime with KMimeType.
>
> Ah, ok.
>
>  Maybe it would be interesting to try doing some plasma applets in these
> other languages - I think it would work in basic although it's a pretty
> ugly language.
I've ported the tiger example to all the languages, although the visual basic 
thing doesn't quite work. The compiler expects the references to have an 
absolute path, so it won't accept 'qt-dotnet'. Instead it wants 
/usr/lib/mono/2.0/qt-dotnet.dll. It seems quite buggy anyway.
But nemerle and boo work fine :). I'll add them to svn.

-- 
Arno Rehn
arno at arnorehn.de



More information about the Kde-bindings mailing list