Re: [Vala] Vala bindings for epiphany?
- From: Mikkel Kamstrup Erlandsen <mikkel kamstrup gmail com>
- To: Magnus Therning <magnus therning org>
- Cc: Wouter Bolsterlee <uws xs4all nl>, epiphany-list <epiphany-list gnome org>, vala-list <vala-list gnome org>
- Subject: Re: [Vala] Vala bindings for epiphany?
- Date: Mon, 05 Oct 2009 09:48:08 -0000
2009/10/3 Magnus Therning <magnus therning org>:
> On Sat, Oct 03, 2009 at 01:50:02PM +0300, Xan Lopez wrote:
>> On Sat, Oct 3, 2009 at 1:30 PM, Magnus Therning <magnus therning org> wrote:
>> > On Fri, Oct 02, 2009 at 06:00:07PM +0200, Wouter Bolsterlee wrote:
>> >> Op vrijdag 25-09-2009 om 22:11 uur [tijdzone +0100], schreef Magnus
>> >> Therning:
>> >> > Does anyone out there have a .vapi for epiphany's extension API?
>> >> >
>> >> > I'm particularly interested in the bookmark manipulation API.
>> >>
>> >> Afaik the idea is to have at least Seed extensions for Epiphany. Python
>> >> support has been dropped, and it won't come back. I'm not sure about
>> >> Vala, even though there were plans for it:
>> >>
>> >> http://uwstopia.nl/blog/2008/07/vala-bindings-for-epiphany-extensions
>> >>
>> >> But then, I think Seed extensions are designed fill exactly the same
>> >> gap, so I'm not sure what the added value of Vala extensions is.
>> >
>> > Epiphany has always supported extensions written in C. Basically Vala would
>> > offer a way of writing C extensions in a language that arguably is much nicer
>> > to work with :-)
>> >
>> > My experience with trying to translate a Python extension to Seed was that it
>> > wasn't ready for proper use yet:
>> >
>> > - Javascript doesn't include many of the handy types that is in Python,
>> > especially dictionaries (maps) and sets. Vala has Gee.
>>
>> Objects in JavaScript are dictionaries (I mean, even the syntax is the
>> same...), and I'm sure there's plenty of implementations of data structures
>> like Python sets around.
>
> No, they are "dictionary-like", not proper dictionaries. For instance keys
> can only be strings or numbers.
>
> I'm sure there are implementations of sets around for JavaScript. But that's
> just the point, Seed *doesn't come with one*, instead I have to look around
> for an implementation to use. Then I have to track any upstream changes.
> It's just not the kind of situation I expect from an extension language. I'm
> sure this is going to change at some point, after all Seed is used in other
> parts in Gnome too.
>
>> > - The GNOME libraries are largely written in C, and even though introspection
>> > makes Seed bindings trivial the API's are distinctly non-object orientated.
>> > Vala's .vapi files manage to offer a much improved API.
>>
>> How are Seed bindings not object orientated? Not to say that you can't
>> improve things by doing manual fixing of the automated bindings, as usual,
>> but I'm not sure what you mean here.
>
> Well, first of all, JavaScript's variant of object orientation has a
> distinctive functional feel to me, but beyond that you are right, my comment
> was overly harsh. Seed bindings are as object-orientated as GTK+/GNOME is,
> which means it's somewhat limited by its C roots, but offers a good base to
> build more idiomatic bindings for different object systems. I haven't found
> any idiomatic bindings for JavaScript/Seed yet though.
Sorry for being a pedant; but JavaScript is not some random "variant"
of object orientation. It is a prototype based language[1]. Try to
ignore that and you will run into problems when writing larger bodies
of code.
--
Cheers,
Mikkel
[1]: http://en.wikipedia.org/wiki/Prototype-based_programming
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]