Le dimanche 07 mai 2017 à 14:05 +1000, Michael Gratton a écrit :
Hey Guillaume, I think this is a generally good idea - didn't vala already have some notion of profiles already though?
The notion of profiles has been dropped for maintainability. What I'm proposing here is not profiles per-se, but more a modular design with a core Vala compiler. It will also be the basis for general compiler plugins once the libvala API will be stabilized.
In particular I like getting rid of the implicit "using GLib" - explcit is always better. It's especially annoying given every single symbol from all of of GLib, GObject and GIO is crammed into that one namespace.
Same here, I always put "using GLib" to make things clearer.
WRT --nostdpkg, I kind of wonder if it's a better idea to instead simply bump the major version number and drop backwards compat, so we know that existing projects will continue to compile fine with the old 0.x series, at no additional development overhead cost. Once projects have migrated to having an explicit --pkg=glib-2.0 and "using GLib" then they can just cut over to 1.x of the compiler.
Personally, I think it would be more efficient to make thoses changes incrementally and release them continuously to get some solid feedback. I don't really want to have a pending wip/transform again for years and if we decide to make all those in the perspective of a 1.x, it will never release. Let's do what we can do now and make it usable with --nostdpkg and in a 1.x, we'll just drop explicit stuff.
This would also be a good opportunity to split GLib, GObject and GIO up into separate namespaces, which would be more consistent with this suggested approach of using --pkg to enable compiler-specific features.
I'm not so sure about all this. These three already use the same C namespace 'g_', so it's already consistent to have them under the same Vala namespace.
//Mike
-- Guillaume Poirier-Morency <guillaumepoiriermorency gmail com> Étudiant au baccalauréat en informatique à l'Université de Montréal Stagiaire de recherche à l'IRIC Mon blog: https://arteymix.github.io/ Clé PGP: B1AD6EA5
Attachment:
signature.asc
Description: This is a digitally signed message part