<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3863229176846580288</id><updated>2012-01-31T15:13:15.943Z</updated><title type='text'>Vala Journal</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jiří Zárevúcky</name><uri>http://www.blogger.com/profile/01793653028161709160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>47</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-3263510392099284383</id><published>2012-01-31T15:12:00.002Z</published><updated>2012-01-31T15:12:30.534Z</updated><title type='text'>Vala 0.14.2 released</title><content type='html'>The new 0.14.2 stable version of the Vala programming language has been released. This version doesn't only include many bug fixes but also many enhancements.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Add libnl-3.0 bindings. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add packagekit-glib2 bindings. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add xtst bindings. &lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;More information at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-3263510392099284383?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/3263510392099284383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2012/01/vala-0142-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/3263510392099284383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/3263510392099284383'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2012/01/vala-0142-released.html' title='Vala 0.14.2 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-4964931542270322769</id><published>2012-01-26T23:41:00.000Z</published><updated>2012-01-31T15:13:15.960Z</updated><title type='text'>Vala 0.15.1 released</title><content type='html'>The new 0.15.1 version of the Vala programming language has been released. This version introduces a lot of enhancements and regression fixes with regards to the previous 0.15.0 release.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Support arrays with nullable elements. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;div class="line862"&gt;Add &lt;doc&gt; support to .gir reader and writer. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/doc&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;Switch clutter-gtk-1.0 bindings to .gir. &lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch gio-2.0 bindings to .gir. &lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add cogl-pango-1.0 bindings. &lt;span class="anchor" id="line-15"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add gdl-3.0 bindings. &lt;span class="anchor" id="line-16"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add libnl-3.0 bindings. &lt;span class="anchor" id="line-17"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add packagekit-glib2 bindings. &lt;span class="anchor" id="line-18"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add xtst bindings. &lt;span class="anchor" id="line-19"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Important breakage note&lt;/b&gt;&lt;br /&gt;Now captured parameters of &lt;u&gt;array type&lt;/u&gt; are no more copied implicitly by Vala. A captured parameter is one of the following:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Either it is a parameter of an async method&lt;/li&gt;&lt;li&gt;Or it is a parameter used inside of a closure &lt;/li&gt;&lt;/ul&gt;The  advantage is that async methods in GIO that have arrays as parameters (like buffers) can finally be overridden, otherwise impossible. Same goes parameters referred by closures.&lt;br /&gt;Therefore, if you were relying on the implicit array copy made by Vala in these cases, please take care of this change.&lt;br /&gt;&lt;br /&gt;More information and downloads at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-4964931542270322769?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/4964931542270322769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2012/01/vala-0151-released.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/4964931542270322769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/4964931542270322769'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2012/01/vala-0151-released.html' title='Vala 0.15.1 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-7382165072007285116</id><published>2011-12-06T20:11:00.001Z</published><updated>2011-12-06T20:15:15.588Z</updated><title type='text'>Vala 0.15.0 released</title><content type='html'>The development snapshot version 0.15.0 of the Vala programming language has been released. All the bugs fixes shipped with 0.14.1 have been included in 0.15.0 plus other fixes and enhancements.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Manage memory of GQueue elements. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch atk bindings to .gir. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch gdk-pixbuf-2.0 bindings to .gir. &lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch gdk-3.0 bindings to .gir. &lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add libwnck-3.0 bindings. &lt;span class="anchor" id="line-15"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;Most notably this release fixes the memory management with GLib.Queue. If you were using this data structure, the change will fix several memory leaks.&lt;br /&gt;&lt;br /&gt;More information and download at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-7382165072007285116?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/7382165072007285116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2011/12/vala-0150-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/7382165072007285116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/7382165072007285116'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2011/12/vala-0150-released.html' title='Vala 0.15.0 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-7305368551158916705</id><published>2011-11-30T14:43:00.001Z</published><updated>2011-11-30T15:04:42.332Z</updated><title type='text'>Vala 0.14.1 released</title><content type='html'>The new stable release 0.14.1 of the Vala programming language introduces a number of significant fixes with regards to the first 0.14.0 stable release. It is very recommended to upgrade to 0.14.1.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Add libwnck-3.0 bindings. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&amp;nbsp; &lt;br /&gt;More information and downloads at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-7305368551158916705?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/7305368551158916705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2011/11/vala-0141-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/7305368551158916705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/7305368551158916705'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2011/11/vala-0141-released.html' title='Vala 0.14.1 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-1878613960749708731</id><published>2011-09-17T16:25:00.002Z</published><updated>2011-09-17T16:25:49.943Z</updated><title type='text'>Vala 0.14.0 released</title><content type='html'>Hello,&lt;br /&gt; the new stable 0.14 version of Vala has been released. Changes since 0.13.4 are bug fixes, nothing particularly noteworthy.&lt;br /&gt;&lt;br /&gt;Changes since version 0.12.1:&lt;br /&gt;&lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Enable flow analysis for out parameters. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Refactor attribute handling.&amp;nbsp;&lt;/li&gt;&lt;li&gt;More refactoring in the code generator. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Improvements to the .gir reader. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Drop deprecated support for D-Bus GLib in favor of GDBus. &lt;/li&gt;&lt;li&gt;Add gedit-3.0, gtksourceview-3.0, rest-0.7, vte-2.90 and libpeas-1.0 bindings.&lt;/li&gt;&lt;li&gt;Switch pangocairo, gudev-1.0, mx-1.0, clutter-1.0, libgdata, libsoup-2.4 and json-glib-1.0 bindings to use GIR.&lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;Additionally you might want to take a look at the notes in the following two links when upgrading to vala 0.14:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://valajournal.blogspot.com/2011/06/vala-0130-released.html"&gt;About discouraged copy of delegates&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://valajournal.blogspot.com/2011/08/vala-0132-released.html"&gt;About libvala breakage, command "valac file.vapi" breakage and warnings for out parameters&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;More information at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-1878613960749708731?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/1878613960749708731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2011/09/vala-0140-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/1878613960749708731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/1878613960749708731'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2011/09/vala-0140-released.html' title='Vala 0.14.0 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-8556031218655366026</id><published>2011-09-07T15:51:00.002Z</published><updated>2011-09-07T15:52:01.537Z</updated><title type='text'>Vala 0.13.4 has been released</title><content type='html'>The new 0.13.4 version of the Vala programming language has been released. Notice that we didn't announce the 0.13.3 version on this blog. So this post will be cumulative of the changes since version 0.13.2:&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Switch pangocairo bindings to .gir. &lt;/li&gt;&lt;li&gt;Switch gudev-1.0 bindings to .gir. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch mx-1.0 bindings to .gir. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;As usual more information and download at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-8556031218655366026?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/8556031218655366026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2011/09/vala-0134-has-been-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/8556031218655366026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/8556031218655366026'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2011/09/vala-0134-has-been-released.html' title='Vala 0.13.4 has been released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-2591792822960445216</id><published>2011-08-19T14:35:00.002Z</published><updated>2011-08-19T14:42:13.241Z</updated><title type='text'>Libgee 0.7.0 released</title><content type='html'>Hello,&lt;br /&gt;the new 0.7.0 version of libgee has been released. Libgee is a collection library providing GObject-based interfaces and classes for commonly used data structures.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;API changes&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Move to delegates with targets&lt;/li&gt;&lt;li&gt;Name of delegates moved into Gee namespace (Alban Browaeys)&lt;/li&gt;&lt;li&gt;Gee.Hashable interface&lt;/li&gt;&lt;li&gt;Moved Iterator.first into BidirIterator.first&lt;/li&gt;&lt;li&gt;Allow checking if iterator is valid by Iterator.valid property&lt;/li&gt;&lt;li&gt;Add highier-level functions by Traversable interface&lt;/li&gt;&lt;li&gt;Add lazy values&lt;/li&gt;&lt;li&gt;Introduce SortedMap interface&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;New implementations&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt; TreeMap now implements SortedMap&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Infrastructure&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Use automake 1.11 vala support&lt;/li&gt;&lt;li&gt;Allow installation in parallel with libgee 0.5/0.6&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Code Quality&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Many bug fixes&lt;/li&gt;&lt;li&gt;Allow better code optimization for user by higher level functions&lt;/li&gt;&lt;li&gt;Lots of additional documentation&lt;/li&gt;&lt;/ul&gt;Also please note that now Libgee has its own &lt;a href="http://mail.gnome.org/mailman/listinfo/libgee-list"&gt;mailing-list&lt;/a&gt; and its own #gee IRC channel.&lt;br /&gt;&lt;br /&gt;More information at the &lt;a href="https://live.gnome.org/Libgee"&gt;libgee homepage&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-2591792822960445216?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/2591792822960445216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2011/08/libgee-070-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/2591792822960445216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/2591792822960445216'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2011/08/libgee-070-released.html' title='Libgee 0.7.0 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-771181617393557512</id><published>2011-08-16T21:01:00.004Z</published><updated>2011-08-16T21:22:31.684Z</updated><title type='text'>Vala 0.13.2 released</title><content type='html'>Hello,&lt;br /&gt;after one month of active development, the new 0.13.2 version of the Vala programming language has been released.&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt; &lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Enable flow analysis for out parameters. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Refactor attribute handling. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add gedit-3.0 bindings. &lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add gtksourceview-3.0 bindings. &lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add rest-0.7 bindings. &lt;span class="anchor" id="line-15"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add vte-2.90 bindings. &lt;span class="anchor" id="line-16"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch clutter-1.0 bindings to .gir. &lt;span class="anchor" id="line-17"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch libgdata bindings to .gir. &lt;span class="anchor" id="line-18"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch libsoup bindings to .gir. &lt;span class="anchor" id="line-19"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates. &lt;/li&gt;&lt;/ul&gt;Some stats since 0.13.1: 216 commits and 77+ bug fixes (56 of which were bug reports).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;libvala breakage&lt;/span&gt;. Due to the "Refactor attribute handling" point in the release notes, the libvala API regarding the C information of symbols etc. has changed. All the C bits like get_cname() have been moved out of the code tree into CCodeBaseModule. Notice that CCodeBaseModule extensively cache the results of the calls per codenode, and never invalidates it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;valac file.vapi breakage&lt;/span&gt;. Passing .vapi files to valac won't peek the relative .deps file anymore. This behavior will be available only when using the --pkg switch.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;out parameter warnings&lt;/span&gt;. The "Enable flow analysis for out parameters" point in the release notes means that out parameters must be initialized both before using it and before returning from the method.&lt;br /&gt;&lt;br /&gt;More information and download at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-771181617393557512?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/771181617393557512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2011/08/vala-0132-released.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/771181617393557512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/771181617393557512'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2011/08/vala-0132-released.html' title='Vala 0.13.2 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-7331442779794886687</id><published>2011-07-09T07:16:00.008Z</published><updated>2011-07-09T07:36:22.747Z</updated><title type='text'>Generators in Vala</title><content type='html'>Hello,&lt;br /&gt;here I'll show a cool snippet code making use Vala async functions for emulating Python/Ruby generators. Creating a generator is as simple as extending the &lt;span style="font-weight: bold;"&gt;Generator&lt;/span&gt; class and implementing the &lt;span style="font-weight: bold;"&gt;generate()&lt;/span&gt; method.&lt;br /&gt;&lt;br /&gt;&lt;pre style='color:#000000;background:#ffffff;'&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;abstract&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;class&lt;/span&gt; Generator&lt;span style='color:#808030; '&gt;&amp;lt;&lt;/span&gt;G&lt;span style='color:#808030; '&gt;&gt;&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;private&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;bool&lt;/span&gt; consumed&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;private&lt;/span&gt; G value&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;private&lt;/span&gt; SourceFunc callback&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;public&lt;/span&gt; Generator &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;        helper &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;private&lt;/span&gt; async &lt;span style='color:#800000; font-weight:bold; '&gt;void&lt;/span&gt; helper &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;        yield generate &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;        consumed &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;true&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;protected&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;abstract&lt;/span&gt; async &lt;span style='color:#800000; font-weight:bold; '&gt;void&lt;/span&gt; generate &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;protected&lt;/span&gt; async &lt;span style='color:#800000; font-weight:bold; '&gt;void&lt;/span&gt; feed &lt;span style='color:#808030; '&gt;(&lt;/span&gt;G value&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#800000; font-weight:bold; '&gt;this&lt;/span&gt;&lt;span style='color:#808030; '&gt;.&lt;/span&gt;value &lt;span style='color:#808030; '&gt;=&lt;/span&gt; value&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#800000; font-weight:bold; '&gt;this&lt;/span&gt;&lt;span style='color:#808030; '&gt;.&lt;/span&gt;callback &lt;span style='color:#808030; '&gt;=&lt;/span&gt; feed&lt;span style='color:#808030; '&gt;.&lt;/span&gt;callback&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;        yield&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;public&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;bool&lt;/span&gt; next &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#800000; font-weight:bold; '&gt;return&lt;/span&gt; &lt;span style='color:#808030; '&gt;!&lt;/span&gt;consumed&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;public&lt;/span&gt; G get &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;        var result &lt;span style='color:#808030; '&gt;=&lt;/span&gt; value&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;        callback &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#800000; font-weight:bold; '&gt;return&lt;/span&gt; result&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;public&lt;/span&gt; Generator&lt;span style='color:#808030; '&gt;&amp;lt;&lt;/span&gt;G&lt;span style='color:#808030; '&gt;&gt;&lt;/span&gt; iterator &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#800000; font-weight:bold; '&gt;return&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;this&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;class&lt;/span&gt; IntGenerator &lt;span style='color:#808030; '&gt;:&lt;/span&gt; Generator&lt;span style='color:#808030; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt;&lt;span style='color:#808030; '&gt;&gt;&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;protected&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;override&lt;/span&gt; async &lt;span style='color:#800000; font-weight:bold; '&gt;void&lt;/span&gt; generate &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#800000; font-weight:bold; '&gt;for&lt;/span&gt; &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;int&lt;/span&gt; i&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt; i &lt;span style='color:#808030; '&gt;&amp;lt;&lt;/span&gt; &lt;span style='color:#008c00; '&gt;10&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt; i&lt;span style='color:#808030; '&gt;+&lt;/span&gt;&lt;span style='color:#808030; '&gt;+&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;            yield feed &lt;span style='color:#808030; '&gt;(&lt;/span&gt;i&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;        &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;void&lt;/span&gt; main &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;    var gen &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#800000; font-weight:bold; '&gt;new&lt;/span&gt; IntGenerator &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;foreach&lt;/span&gt; &lt;span style='color:#808030; '&gt;(&lt;/span&gt;var i &lt;span style='color:#800000; font-weight:bold; '&gt;in&lt;/span&gt; gen&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;        message &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;%d&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#808030; '&gt;,&lt;/span&gt; i&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;You can find the above &lt;a href="http://www.refactory.org/s/generators_in_vala/view"&gt;code snippet here&lt;/a&gt; as well.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-7331442779794886687?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/7331442779794886687/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2011/07/generators-in-vala.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/7331442779794886687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/7331442779794886687'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2011/07/generators-in-vala.html' title='Generators in Vala'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-6723743878461691146</id><published>2011-07-06T15:09:00.006Z</published><updated>2011-07-06T15:16:37.880Z</updated><title type='text'>Vala 0.13.1 released</title><content type='html'>Hello,&lt;br /&gt;the new  development version 0.13.1 of the Vala programming language has been released.&lt;br /&gt;Below the changes since version 0.13.0:&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;New libpeas-1.0 bindings (Michal Hruby).&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line867"&gt; &lt;/p&gt;More information and download at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-6723743878461691146?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/6723743878461691146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2011/07/vala-0131-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/6723743878461691146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/6723743878461691146'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2011/07/vala-0131-released.html' title='Vala 0.13.1 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-4278080156851550226</id><published>2011-06-17T17:45:00.010Z</published><updated>2011-06-17T18:40:43.002Z</updated><title type='text'>Vala 0.13.0 released</title><content type='html'>Hello,&lt;br /&gt;after two months of active development, the &lt;a href="http://live.gnome.org/Vala"&gt;Vala programming language&lt;/a&gt; has reached version 0.13.0.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt; &lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;More refactoring in the code generator. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Improvements to the .gir reader. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Switch JSON-GLib bindings to .gir. &lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Drop deprecated support for D-Bus GLib in favor of GDBus. &lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Some numbers: 314 commits and 94 bug fixes since version 0.12.0. So this new development release is a mix of enhancements and fixes.&lt;br /&gt;&lt;br /&gt;A noteworthy change is the deprecation of copying delegates. A delegate is copied when it is assigned to an owned delegate variable like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SourceFunc a = () =&amp;gt; false;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SourceFunc b = a;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You will get a warning: "&lt;span style="font-style: italic;"&gt;copying delegates is discouraged&lt;/span&gt;". This is because of the nature of delegates in glib. Owned delegate variables have a related target and a GDestroyNotify, but it's not known how to copy/ref the target. Therefore,  it's impossible to copy/ref a delegate target.&lt;br /&gt;&lt;br /&gt;So, how do we shut the warning? There are two  ways:&lt;br /&gt;&lt;br /&gt;1) If you don't need owned delegate, you can assign to an unowned variable like this:&lt;span style="font-weight: bold;"&gt; unowned SourceFunc b = a&lt;/span&gt;;&lt;br /&gt;2) If you want to transfer the ownership:&lt;span style="font-weight: bold;"&gt; SourceFunc b = (owned) a&lt;/span&gt;; After this, you can still invoke &lt;span style="font-weight: bold;"&gt;a()&lt;/span&gt; but the target will not be destroyed anymore when &lt;span style="font-weight: bold;"&gt;a&lt;/span&gt; runs out of the scope.&lt;br /&gt;&lt;br /&gt;You might experience the same warning for delegate properties as well, like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;public SourceFunc func { get; set; }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Here there are two solutions:&lt;br /&gt;1) If you need owned delegate, use owned set like this: &lt;span style="font-weight: bold;"&gt;public SourceFunc func { get; owned set; }&lt;/span&gt;, while keeping the getter unowned.&lt;br /&gt;2) If you don't need owned delegate: &lt;span style="font-weight: bold;"&gt;public unowned SourceFunc func { get; set }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It must be noted that due to a bug (now fixed in this release), although you defined an owned delegate property, it was practically unowned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-4278080156851550226?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/4278080156851550226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2011/06/vala-0130-released.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/4278080156851550226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/4278080156851550226'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2011/06/vala-0130-released.html' title='Vala 0.13.0 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-2747812045641574955</id><published>2011-06-01T19:18:00.006Z</published><updated>2011-06-01T19:32:19.528Z</updated><title type='text'>Vala 0.12.1 released</title><content type='html'>Hello,&lt;br /&gt;the new stable version 0.12.1 of the Vala programming language has been released.&lt;br /&gt;&lt;br /&gt;Release notes are "Many bug fixes and binding updates.".&lt;br /&gt;From a quantitative view point, this release fixed 42  reported bugs plus other 30 commits with fixes.&lt;br /&gt;&lt;br /&gt;Stay tuned for the 0.13.0 development release&lt;br /&gt;&lt;br /&gt;More information and download at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-2747812045641574955?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/2747812045641574955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2011/06/vala-0121-released.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/2747812045641574955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/2747812045641574955'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2011/06/vala-0121-released.html' title='Vala 0.12.1 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-829354137066046568</id><published>2011-05-23T22:06:00.003Z</published><updated>2011-05-23T22:20:00.404Z</updated><title type='text'>Vala 0.13 preview</title><content type='html'>Hello,&lt;br /&gt;Vala 0.12.0 has been released on April the 3th. So, you may think that the project is a little dead without a new release in almost two months. Well, this is not the case!&lt;br /&gt;&lt;br /&gt;I'd like to introduce beforehand that the new development cycle will include &lt;span style="font-weight: bold;"&gt;lots&lt;/span&gt; of bug fixes, &lt;span style="font-weight: bold;"&gt;lots&lt;/span&gt; of code generator improvements and &lt;span style="font-weight: bold;"&gt;lots&lt;/span&gt; of gir parser improvements.&lt;br /&gt;&lt;br /&gt;If you ever wanted to try out Vala, I'm pretty sure you will enjoy Vala 0.14. Stay tuned!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-829354137066046568?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/829354137066046568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2011/05/vala-013-preview.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/829354137066046568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/829354137066046568'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2011/05/vala-013-preview.html' title='Vala 0.13 preview'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-4323333496799249044</id><published>2011-04-04T12:59:00.005Z</published><updated>2011-04-04T13:18:47.269Z</updated><title type='text'>Vala 0.12.0 released</title><content type='html'>Hello,&lt;br /&gt;a new stable release of the &lt;a href="http://live.gnome.org/Vala"&gt;Vala programming language&lt;/a&gt; has been released. The version 0.12.0 is now out and branched, therefore the new development series will be 0.13.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes since 0.11.7&lt;br /&gt;&lt;/h3&gt; &lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Add get_next_char to string class. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes since 0.10.4&lt;br /&gt;&lt;/h3&gt;  &lt;span class="anchor" id="line-10"&gt;&lt;/span&gt; &lt;ul&gt;&lt;li&gt;Add last_index_of, last_index_of_char, get_next_char, index_of, index_of_char, char_count to string class. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add parse and try_parse methods to boolean and numeric types. &lt;span class="anchor" id="line-42"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add clutter-gtk-1.0, pixmap-1 bindings. &lt;span class="anchor" id="line-43"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Refactoring in the code generator. &lt;span class="anchor" id="line-64"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Improvements to the .gir writer.&lt;/li&gt;&lt;li&gt;Support &lt;span class="nonexistent"&gt;BusName&lt;/span&gt; sender parameter in GDBus servers. &lt;/li&gt;&lt;li&gt;Update libnotify bindings to 0.7.0. &lt;span class="anchor" id="line-105"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Improvements to the .gir reader.&lt;/li&gt;&lt;li&gt;Require and target GLib &amp;gt;= 2.16. &lt;span class="anchor" id="line-126"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Guard access to out parameters to allow null arguments. &lt;span class="anchor" id="line-127"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add support for local constants. &lt;span class="anchor" id="line-128"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Support file descriptor passing with GDBus. &lt;span class="anchor" id="line-129"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Support cached property values in GDBus clients. &lt;span class="anchor" id="line-130"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Support Cancellable parameter in GDBus clients. &lt;span class="anchor" id="line-131"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Support no-reply methods in GDBus clients and servers. &lt;/li&gt;&lt;/ul&gt;I'd like to anticipate that the first 0.13.0 version will completely drop the dbus-glib support in favor of &lt;a href="http://library.gnome.org/devel/gio/2.25/ch27.html"&gt;gdbus (migrating guide for C)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Stay tuned for the next stable and development releases.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-4323333496799249044?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/4323333496799249044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2011/04/vala-012-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/4323333496799249044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/4323333496799249044'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2011/04/vala-012-released.html' title='Vala 0.12.0 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-4474150453981107995</id><published>2011-03-16T19:29:00.002Z</published><updated>2011-03-16T19:34:07.216Z</updated><title type='text'>Vala 0.11.7 released</title><content type='html'>Hello,&lt;br /&gt;a new version of the 0.11.x development series of the &lt;a href="http://live.gnome.org/Vala"&gt;Vala programming language&lt;/a&gt; has been released.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt; &lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Add support for async signal handlers (Frederik Sdun). &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;More refactoring in the code generator (Luca Bruno). &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Improvements to the .gir writer (Michal Hruby). &lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates. &lt;/li&gt;&lt;/ul&gt;The first mentioned change allows passing an async method as callback for a signal. The behavior is simple: the async method will be started when the signal is fired, like with async_method_cb.begin().&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-4474150453981107995?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/4474150453981107995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2011/03/vala-0117-released.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/4474150453981107995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/4474150453981107995'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2011/03/vala-0117-released.html' title='Vala 0.11.7 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-1523809742691986266</id><published>2011-02-15T13:58:00.004Z</published><updated>2011-02-15T16:02:27.714Z</updated><title type='text'>Vala 0.11.6 released</title><content type='html'>Hello,&lt;br /&gt;a new version of the 0.11.x development series of the &lt;a href="http://live.gnome.org/Vala"&gt;Vala programming language&lt;/a&gt; has been released.&lt;br /&gt;&lt;br /&gt;&lt;h3 id="Changes"&gt;Changes&lt;/h3&gt; &lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Add parse and try_parse methods to boolean and numeric types. &lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add clutter-gtk-1.0 bindings. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add pixmap-1 bindings (Evan Nemerson). &lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates. &lt;/li&gt;&lt;/ul&gt;Most notably in this release is the deprecation of string.to_basictype() methods in favor of basictype.parse (...). This allows a more elastic convention for adding further parsing methods for other types.&lt;br /&gt;&lt;br /&gt;As usual download and more information at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-1523809742691986266?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/1523809742691986266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2011/02/vala-0116-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/1523809742691986266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/1523809742691986266'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2011/02/vala-0116-released.html' title='Vala 0.11.6 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-1181182407019041146</id><published>2011-01-21T18:35:00.005Z</published><updated>2011-01-21T18:38:41.628Z</updated><title type='text'>Vala 0.11.5 released</title><content type='html'>Hello,&lt;br /&gt;a new version of the &lt;a href="http://live.gnome.org/Vala"&gt;Vala programming language&lt;/a&gt; has been released. The previous version 0.11.4 was released only about a week ago, so the development is going on fast.&lt;div&gt;&lt;br /&gt;&lt;span class="Apple-style-span"   style="  ;font-family:sans-serif;font-size:medium;"&gt;&lt;h3 id="Changes" style="color: rgb(63, 63, 63); font-size: 1em; "&gt;Changes&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Add last_index_of and last_index_of_char to string class.&lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;More refactoring in the code generator (Luca Bruno).&lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Improvements to the .gir writer (Michal Hruby).&lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/div&gt;More information and download at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-1181182407019041146?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/1181182407019041146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2011/01/vala-0115-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/1181182407019041146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/1181182407019041146'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2011/01/vala-0115-released.html' title='Vala 0.11.5 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-7161605709204467689</id><published>2011-01-15T21:24:00.004Z</published><updated>2011-01-15T22:36:00.116Z</updated><title type='text'>Vala 0.11.4 released</title><content type='html'>&lt;span class="Apple-style-span"   style="  ;font-family:sans-serif;font-size:medium;"&gt;Hello,&lt;div&gt;the 0.11.4 version of the &lt;a href="http://live.gnome.org/Vala"&gt;Vala&lt;/a&gt; programming language has been released.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;h3 id="Changes" style="color: rgb(63, 63, 63); font-size: 1em; "&gt;Changes&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Add index_of, index_of_char, and char_count to string class.&lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Most of changed the methods to the string class (like string.index_of) replaced other methods (like string.chr), that are now deprecated.&lt;/div&gt;&lt;div&gt;This version, though released soon after the 0.11.3 version, contains a lot of bug fixes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Information and download at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala&lt;/a&gt; homepage.&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-7161605709204467689?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/7161605709204467689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2011/01/vala-0114-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/7161605709204467689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/7161605709204467689'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2011/01/vala-0114-released.html' title='Vala 0.11.4 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-6526352682041855266</id><published>2011-01-06T09:31:00.002Z</published><updated>2011-01-06T09:39:06.289Z</updated><title type='text'>Vala 0.10.2 and 0.11.3 released</title><content type='html'>Hello,&lt;br /&gt;stable and development version of the &lt;a href="http://live.gnome.org/Vala"&gt;Vala&lt;/a&gt; programming language have been released.&lt;br /&gt;&lt;br /&gt;Vala 0.10.2 changes are bug fixes and binding updates.&lt;br /&gt;&lt;br /&gt;Vala 0.11.3 changes are:&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:sans-serif;font-size:medium;"&gt;&lt;ul&gt;&lt;li&gt;&lt;p class="line862" style="margin-top: 0.25em; margin-right: 0px; margin-bottom: 0.25em; margin-left: 0px; "&gt;Support BusName sender parameter in GDBus servers.&lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;More refactoring in the code generator.&lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;More information and download at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-6526352682041855266?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/6526352682041855266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2011/01/vala-0102-and-0113-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/6526352682041855266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/6526352682041855266'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2011/01/vala-0102-and-0113-released.html' title='Vala 0.10.2 and 0.11.3 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-2422669352753979668</id><published>2010-12-19T12:25:00.001Z</published><updated>2010-12-19T12:25:37.056Z</updated><title type='text'>Valag 1.1 released, graph generator for the Vala AST</title><content type='html'>Hello,&lt;div&gt;a new version of &lt;a href="http://lethalman.hostei.com/valag.html"&gt;Valag&lt;/a&gt;, a graphviz generator for the &lt;a href="http://live.gnome.org/Vala"&gt;Vala&lt;/a&gt; language AST, has been released.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Changes since 1.0 version:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Add --format and --prefix options.&lt;/li&gt;&lt;li&gt;Update to latest libvala-0.12.&lt;/li&gt;&lt;li&gt;Bug fixes.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;This new version also distributes the &lt;a href="http://code.google.com/p/jrfonseca/wiki/XDot"&gt;xdot.py program&lt;/a&gt; as a viewer for the generated graphs.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;More information and download at the &lt;a href="http://lethalman.hostei.com/valag.html"&gt;Valag homepage&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-2422669352753979668?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/2422669352753979668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/12/valag-11-released-graph-generator-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/2422669352753979668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/2422669352753979668'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/12/valag-11-released-graph-generator-for.html' title='Valag 1.1 released, graph generator for the Vala AST'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-8004086978432731942</id><published>2010-12-17T19:49:00.000Z</published><updated>2010-12-17T19:50:46.317Z</updated><title type='text'>Maja - The Vala to Javascript compiler</title><content type='html'>Hello,&lt;div&gt;the first version of &lt;a href="http://lethalman.hostei.com/maja/index.html"&gt;Maja&lt;/a&gt;, the &lt;a href="http://live.gnome.org/Vala"&gt;Vala&lt;/a&gt; to Javascript compiler, has just been released. The mapping is not quite complete but you can do pretty much everything you could do with javascript directly. There are (still incomplete) bindings for the &lt;a href="http://qooxdoo.org/"&gt;qooxdoo framework&lt;/a&gt; and the &lt;a href="http://demo.qooxdoo.org/current/demobrowser/"&gt;demo browser&lt;/a&gt; is being ported to vala successfully.&lt;/div&gt;&lt;div&gt;Maja can be used in any environments, not only web browsers.&lt;/div&gt;&lt;div&gt;Programming in Vala saves you from lots of type safety troubles (Javascript), lot of typing (Java) and the syntax is really enjoyable as it is quite close to the Javascript model.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Usage and download &lt;a href="http://lethalman.hostei.com/maja/index.html"&gt;at the homepage&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-8004086978432731942?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/8004086978432731942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/12/maja-vala-to-javascript-compiler.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/8004086978432731942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/8004086978432731942'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/12/maja-vala-to-javascript-compiler.html' title='Maja - The Vala to Javascript compiler'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-8892484001412997829</id><published>2010-11-08T20:55:00.002Z</published><updated>2010-11-08T20:57:52.861Z</updated><title type='text'>Vala 0.11.2 released</title><content type='html'>Hello,&lt;br /&gt;the development series of Vala continues and we got another release full of bug fixes, binding updates as usual and enhancements on the GIR side.&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:sans-serif;font-size:medium;"&gt;&lt;h3 id="Changes" style="color: rgb(63, 63, 63); font-size: 1em; "&gt;Changes&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Update libnotify bindings to 0.7.0.&lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Improvements to the .gir reader.&lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Bug fixes and binding updates.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;More information and download at &lt;a href="http://live.gnome.org/Vala"&gt;the Vala homepage&lt;/a&gt;.&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-8892484001412997829?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/8892484001412997829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/11/vala-0112-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/8892484001412997829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/8892484001412997829'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/11/vala-0112-released.html' title='Vala 0.11.2 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-7993225349624575190</id><published>2010-10-26T20:22:00.003Z</published><updated>2010-10-26T20:25:18.194Z</updated><title type='text'>Vala 0.10.1 released</title><content type='html'>Hello,&lt;br /&gt;the new version of the most stable Vala compiler has been released. Obviously, no features have been added, instead many bugs have been fixed.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif; font-size: medium; "&gt;&lt;h3 id="Changes" style="color: rgb(63, 63, 63); font-size: 1em; "&gt;Changes&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Remove outdated GTK+ 3 bindings.&lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;More information and download at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-7993225349624575190?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/7993225349624575190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/10/vala-0101-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/7993225349624575190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/7993225349624575190'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/10/vala-0101-released.html' title='Vala 0.10.1 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-1365898587288458190</id><published>2010-10-25T17:30:00.004Z</published><updated>2010-10-25T17:38:40.905Z</updated><title type='text'>Vala 0.11.1 release</title><content type='html'>Hello,&lt;br /&gt;this is a new release of the development series of the Vala programming language. As you can see a lot of improvement on the side of GDbus has been made. Also notice the resolution of the out parameters nightmare, guarded access is provided automatically by Vala so you don't need to check whether the out parameter is null or not.&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:sans-serif;font-size:medium;"&gt;&lt;h3 id="Changes" style="color: rgb(63, 63, 63); font-size: 1em; "&gt;Changes&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;&lt;p class="line862" style="margin-top: 0.25em; margin-right: 0px; margin-bottom: 0.25em; margin-left: 0px; "&gt;Require and target GLib &gt;= 2.16.&lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;Guard access to out parameters to allow null arguments.&lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add support for local constants.&lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Support file descriptor passing with GDBus.&lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Support cached property values in GDBus clients.&lt;span class="anchor" id="line-15"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Support Cancellable parameter in GDBus clients.&lt;span class="anchor" id="line-16"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Support no-reply methods in GDBus clients and servers.&lt;span class="anchor" id="line-17"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;More refactoring in the code generator.&lt;span class="anchor" id="line-18"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;As usual, more information and download at the &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-1365898587288458190?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/1365898587288458190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/10/vala-0111-release.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/1365898587288458190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/1365898587288458190'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/10/vala-0111-release.html' title='Vala 0.11.1 release'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-1700199236411774236</id><published>2010-10-06T08:19:00.003Z</published><updated>2010-10-06T08:26:01.792Z</updated><title type='text'>Vala 0.11.0 released</title><content type='html'>Hello,&lt;br /&gt;after Vala 0.10.0 a new development series has begun with new features and changes. Vala 0.10 will continue to be updated when necessary. So these are the release notes of this new release:&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif; font-size: medium; "&gt;&lt;ul&gt;&lt;li&gt;Use byte indices for strings. &lt;i&gt;Accessing strings by index is now based on bytes, no more on characters. This is an important change for applications relying on character indices for unicode strings.&lt;/i&gt;&lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Use uint8[] for binary data in bindings.&lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add support for parallel compilation.&lt;i&gt; To take advantage of this feature it is suggested to make use of parvala, distributed together with vala under the contrib/parvala directory.&lt;/i&gt;&lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Improve compiler performance.&lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;More refactoring in the code generator.&lt;span class="anchor" id="line-15"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;As usual more information and downloads at &lt;a href="http://live.gnome.org/Vala"&gt;Vala homepage&lt;/a&gt;.&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-1700199236411774236?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/1700199236411774236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/10/vala-0110-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/1700199236411774236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/1700199236411774236'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/10/vala-0110-released.html' title='Vala 0.11.0 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-1651018653629363073</id><published>2010-09-17T23:30:00.000Z</published><updated>2010-09-17T23:30:11.120Z</updated><title type='text'>Vala 0.10.0 released</title><content type='html'>Actually, there are two announcements today.&lt;br /&gt;Let's start with the interesting one, &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Vala 0.10.0 has just been released&lt;/b&gt;!&lt;br /&gt;&lt;br /&gt;download at: &lt;a href="http://download.gnome.org/sources/vala/0.10/"&gt;http://download.gnome.org/sources/vala/0.10/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Changes since 0.9.8 include&lt;/b&gt;&lt;br /&gt;* Port GIR parser and writer to GIR version 1.2.&lt;br /&gt;* Update GLib bindings to 2.26 branch.&lt;br /&gt;* Bug fixes.&lt;br /&gt;&lt;br /&gt;That's it. Nothing too fancy for this round release, so you'll enjoy it mainly if you are interested in bindings or a bug that affects you has been fixed.&lt;br /&gt;Also, if you didn't know already, you probably just noticed that 1.0 is not next in line. That's right and I don't think we should expect it anytime soon. There's still so much to do, you know.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Let's get to the other announcement then, no less important..&lt;br /&gt;Blogger SUCKS!&lt;br /&gt;No, seriously, should we switch to wordpress or some other blog hosting? Actually, the first ever comment on this blog was a request that we move there. I didn't pay much attention back then. So what do you think? What is your experience?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-1651018653629363073?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/1651018653629363073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/09/vala-0100-released.html#comment-form' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/1651018653629363073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/1651018653629363073'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/09/vala-0100-released.html' title='Vala 0.10.0 released'/><author><name>Jiří Zárevúcky</name><uri>http://www.blogger.com/profile/01793653028161709160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-3045674823011855931</id><published>2010-09-05T10:12:00.002Z</published><updated>2010-09-05T10:13:24.001Z</updated><title type='text'>Vala 0.9.8 released</title><content type='html'>Hello,&lt;br /&gt;a new version of the Vala programming language has been released yesterday.&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif; color: rgb(63, 63, 63); font-weight: bold; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif; color: rgb(63, 63, 63); font-weight: bold; "&gt;Changes&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif; font-size: medium; "&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Add --fatal-warnings commandline option.&lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Deprecate string.len () in favor of string.length.&lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Deprecate use of D-Bus GLib in favor of GDBus.&lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;As usual, more information and download at the &lt;a href="http://www.vala-project.org"&gt;homepage&lt;/a&gt;.&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-3045674823011855931?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/3045674823011855931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/09/vala-098-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/3045674823011855931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/3045674823011855931'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/09/vala-098-released.html' title='Vala 0.9.8 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-1958494267710385581</id><published>2010-08-19T19:26:00.001Z</published><updated>2010-08-19T19:26:36.264Z</updated><title type='text'>Vala 0.9.7 released</title><content type='html'>A small update was released today that fixes a regression introduced with previous version. In case you use 0.9.6 already, update is very recommended.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif; font-size: medium;"&gt;As always, see &lt;a href="http://live.gnome.org/Vala"&gt;homepage&lt;/a&gt; for further details and download.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-1958494267710385581?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/1958494267710385581/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/08/vala-097-release.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/1958494267710385581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/1958494267710385581'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/08/vala-097-release.html' title='Vala 0.9.7 released'/><author><name>Jiří Zárevúcky</name><uri>http://www.blogger.com/profile/01793653028161709160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-9144672651255194606</id><published>2010-08-18T13:52:00.003Z</published><updated>2010-08-18T13:57:53.313Z</updated><title type='text'>Vala 0.9.6 release</title><content type='html'>Hello,&lt;br /&gt;a new versione of the &lt;a href="http://live.gnome.org/Vala"&gt;Vala programming language&lt;/a&gt; has been released. This version contains some bugfixes and the beginning of the codegen refactoring which will lead to lots of bugfixes in the next releases.&lt;br /&gt;&lt;span class="Apple-style-span"  style=" color: rgb(63, 63, 63); font-weight: bold; font-family:sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" color: rgb(63, 63, 63); font-weight: bold; font-family:sans-serif;"&gt;Changes&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:sans-serif;font-size:medium;"&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Drop deprecated support for assigning to construct properties.&lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Some refactoring in the code generator.&lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Bug fixes in bindings and vapigen.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;As always, download and more information at the &lt;a href="http://live.gnome.org/Vala"&gt;homepage&lt;/a&gt;.&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-9144672651255194606?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/9144672651255194606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/08/vala-096-release.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/9144672651255194606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/9144672651255194606'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/08/vala-096-release.html' title='Vala 0.9.6 release'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-8776413591230564191</id><published>2010-08-09T09:03:00.002Z</published><updated>2010-08-09T09:10:15.663Z</updated><title type='text'>Vala 0.9.5 released</title><content type='html'>Hello,&lt;br /&gt;another version of the &lt;a href="http://live.gnome.org/Vala"&gt;Vala programming language&lt;/a&gt; has been released. The homepage has been reorganized and some content has been added for &lt;a href="http://live.gnome.org/Vala/Planning"&gt;planning and bug triaging&lt;/a&gt;. Release notes:&lt;span class="Apple-style-span"   style="font-family:sans-serif;color:#3F3F3F;"&gt;&lt;b&gt;&lt;span class="Apple-style-span"   style="font-family:Georgia, serif;color:#000000;"&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:sans-serif;font-size:medium;"&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Add version suffix to support parallel installation.&lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Define VALA_X_Y according to compiler version.&lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Enable version header by default.&lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add vala.m4 with VALA_CHECK_PACKAGES macro.&lt;span class="anchor" id="line-15"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add gedit-2.20 bindings (Andrea Del Signore).&lt;span class="anchor" id="line-16"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add tokyocabinet bindings (Evan Nemerson).&lt;span class="anchor" id="line-17"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Various improvements to the Dova profile.&lt;span class="anchor" id="line-18"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;More information at the &lt;a href="http://live.gnome.org/Vala/Tools"&gt;download page&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-8776413591230564191?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/8776413591230564191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/08/vala-095-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/8776413591230564191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/8776413591230564191'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/08/vala-095-released.html' title='Vala 0.9.5 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-5104053491817464170</id><published>2010-08-04T12:42:00.006Z</published><updated>2010-08-04T12:46:47.289Z</updated><title type='text'>Puzzled by locking in Vala?</title><content type='html'>If you can't wrap your head around how Vala locks variables, take a look at this great article about locking in Vala by Jim Nelson.&lt;br /&gt;Apart from explaining how it actually works, he also compares it to Java, which is perfect if you come from that strange world :).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.yorba.org/blog/jim/2010/08/synchronization-in-vala.html"&gt;http://www.yorba.org/blog/jim/2010/08/synchronization-in-vala.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-5104053491817464170?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/5104053491817464170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/08/puzzled-by-locking-in-vala.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/5104053491817464170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/5104053491817464170'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/08/puzzled-by-locking-in-vala.html' title='Puzzled by locking in Vala?'/><author><name>Jiří Zárevúcky</name><uri>http://www.blogger.com/profile/01793653028161709160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-7140422600564346555</id><published>2010-07-27T20:42:00.004Z</published><updated>2010-07-27T20:47:04.517Z</updated><title type='text'>Vala 0.9.4 released</title><content type='html'>Hello,&lt;div&gt;a new version of the Vala compiler has been released. This version does not introduce major features but mostly bug-fixes and Dova profile enhancements:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  ;font-family:sans-serif;font-size:medium;"&gt;&lt;ul&gt;&lt;li&gt;Append documentation comments to generated C files.&lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="line862" style="margin-top: 0.25em; margin-right: 0px; margin-bottom: 0.25em; margin-left: 0px; "&gt;Skip &amp;lt;doc&amp;gt; tags in .gir files.&lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/doc&gt;&lt;/doc&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;Various improvements to the Dova profile.&lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&lt;span class="anchor" id="line-15"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-16"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;As usual, you can find more information at &lt;a href="http://live.gnome.org/Vala"&gt;live.gnome.org/Vala&lt;/a&gt;.&lt;/div&gt;&lt;p class="line867"&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-7140422600564346555?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/7140422600564346555/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/07/vala-094-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/7140422600564346555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/7140422600564346555'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/07/vala-094-released.html' title='Vala 0.9.4 released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-8398042381840534307</id><published>2010-07-14T19:33:00.002Z</published><updated>2010-07-14T19:40:00.924Z</updated><title type='text'>Vala 0.9.3 released and documentation news</title><content type='html'>Hello,&lt;div&gt;this 0.9.3 release of the Vala programming language adds many interesting features as well as many bug fixes and binding improvements. Also I'd like to point you out to the new collaborative &lt;a href="http://live.gnome.org/Vala/Manual"&gt;Vala Reference Manual&lt;/a&gt; and &lt;a href="http://live.gnome.org/Vala/Hacking"&gt;Hackers' Guide to Vala&lt;/a&gt;. The release notes:&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif; font-size: medium; "&gt;&lt;ul&gt;&lt;li&gt;Support newlines in double quoted string literals.&lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add experimental support for main blocks.&lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add experimental vala tool to compile and run code.&lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Initial support for generic delegates.&lt;span class="anchor" id="line-15"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Support using GClosure for delegate parameters.&lt;span class="anchor" id="line-16"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Support GBoxed-based memory management.&lt;span class="anchor" id="line-17"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Improvements to the .gir reader and writer.&lt;span class="anchor" id="line-18"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Various improvements to the Dova profile.&lt;span class="anchor" id="line-19"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Check out the &lt;a href="http://live.gnome.org/Vala"&gt;Vala home&lt;/a&gt; for more information and download.&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-8398042381840534307?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/8398042381840534307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/07/vala-093-released-and-documentation.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/8398042381840534307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/8398042381840534307'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/07/vala-093-released-and-documentation.html' title='Vala 0.9.3 released and documentation news'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-4300466387765963134</id><published>2010-07-11T15:09:00.002Z</published><updated>2010-07-11T15:20:55.303Z</updated><title type='text'>Vala for scripting</title><content type='html'>Hello,&lt;div&gt;the upcoming release of Vala will have basic scripting capability (mostly for small tests). Yes, this sounds weird, but it's more trivial than what you expect. The installation will create a symbolic link &lt;b&gt;/usr/bin/vala -&gt; /usr/bin/valac&lt;/b&gt; that you can use to run vala scripts.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also, vala scripts can have &lt;b&gt;implicit main()&lt;/b&gt;, so that it becomes faster to write test scripts. An example:&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;#!/usr/bin/env vala&lt;/div&gt;&lt;div&gt;message ("test");&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Save it as test.vala, now you can either &lt;em&gt;chmod +x test.vala&lt;/em&gt; and run &lt;b&gt;./test.vala&lt;/b&gt; or just &lt;b&gt;vala test.vala&lt;/b&gt;.&lt;/div&gt;&lt;div&gt;Valac will automatically compile the script and run it. After that the executable will be deleted, which means there's no cache.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This feature is of course experimental and it's not currently possible to import other vala files.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-4300466387765963134?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/4300466387765963134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/07/vala-for-scripting.html#comment-form' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/4300466387765963134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/4300466387765963134'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/07/vala-for-scripting.html' title='Vala for scripting'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-2544831940097874185</id><published>2010-06-24T11:29:00.008Z</published><updated>2010-06-24T12:33:44.600Z</updated><title type='text'>Vala and Monads</title><content type='html'>Hello,&lt;div&gt;I've been reading around lately about &lt;a href="http://en.wikipedia.org/wiki/Monad_(functional_programming)"&gt;functional&lt;/a&gt; &lt;a href="http://www.haskell.org/tutorial/monads.html"&gt;monads&lt;/a&gt; written in &lt;a href="http://blog.sigfpe.com/2007/03/monads-in-c-pt-iii.html"&gt;imperative&lt;/a&gt; &lt;a href="http://lukeplant.me.uk/blog/posts/understanding-monads-via-python-list-comprehensions/"&gt;languages&lt;/a&gt;, then I've tried to bring them to Vala. I'm not going to explain what a monad is, there's a lot of papers out there.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you want to test the code below you &lt;b&gt;need&lt;/b&gt; Vala git master (more recent than 0.9.2).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;First of all we need a basic framework and some monads you can immediately &lt;a href="http://www.refactory.org/s/vala_monads/view/4"&gt;read here&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;Notice some comments are in &lt;a href="http://www.haskell.org/haskellwiki/Do_notation_considered_harmful"&gt;do notation&lt;/a&gt; and that related functions are really only &lt;b&gt;utilities&lt;span class="Apple-style-span" style="font-weight: normal;"&gt; to let the example code below be more readable, they respect the functional semantics of monads without adding more imperative power.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;The only difference with other implementations is that BindFunc not only passes the underlying value but also the &lt;/span&gt;&lt;span class="Apple-style-span"&gt;return&lt;/span&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt; function. This is helpful to avoid keeping monads around in termporary variables.&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Now let's port some &lt;a href="http://www.haskell.org/"&gt;Haskell&lt;/a&gt; typic examples to Vala:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;safe_div a b = if b == 0 then Nothing else Just (div a b)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Monad safe_div (int a, int b) { if (b == 0) return nothing; return new Just (a/b); }&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The &lt;b&gt;nothing&lt;/b&gt; variable is initialized with &lt;b&gt;Nothing.instance&lt;/b&gt; which is a singleton&lt;b&gt;.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;Now let's map a simple multiplication function:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span"&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;bind_and_mul monad factor = do { x &lt;- monad; return (x*factor); }&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Monad bind_and_mul (Monad monad, double factor) {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;return monad.bind ((v,unit) =&gt; unit (((int)v) * factor)) as Monad;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Pretty easy, we get the unpacked value and multiply it with the given value.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Things get a bit longer with list monads. We want that given an x the function returns [x,x+1]:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;bind_and_list_plus monad val = do { x &lt;- monad; return [x,x+1]; }&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Monad bind_and_list_plus (Monad monad, int val) {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;return monad.bind ((x,unit) =&gt; {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;var l = new List (); l.add (x); l.add (((int)x)+val); return unit(l);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;});&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;b&gt;Ok, but what is the result of those weird definitions?&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Haskell: &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;do { x &lt;- safe_div 5 2; return (x*2); }&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Vala: &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;bind_and_mul (safe_div(5,2), 2);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Result: &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Just (4)&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;/blockquote&gt;What if we divide by zero?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;do { x &lt;- safe_div 5 0; return (x*2); }&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;bind_and_mul (safe_div(5,0), 2);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Result: Nothing&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;Transform -10 into some useless list:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;do { x &lt;- -10; return [x,x+1]; }&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;bind_and_list_plus (new Just (-10), 1);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Result: [-10,-9]&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now do the same transformation for a list:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Haskell: &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;do { x &lt;- [1,2,3]; return [x,x+2]; }&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Vala:&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;var l = new List(); l.add(1); l.add(2); l.add(3);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/span&gt;bind_and_list_plus (l, 2);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Result: &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;[[1,3],[2,4],[3,5]]&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Again, the complete code with test cases can be found &lt;a href="http://www.refactory.org/s/vala_monads/view/4"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style=""&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-weight: normal;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-2544831940097874185?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/2544831940097874185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/06/vala-and-monads.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/2544831940097874185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/2544831940097874185'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/06/vala-and-monads.html' title='Vala and Monads'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-7852941209721518525</id><published>2010-06-20T19:55:00.003Z</published><updated>2010-06-20T19:59:18.011Z</updated><title type='text'>Vala 0.9.2 has been released</title><content type='html'>Hello,&lt;br /&gt;this new release follows the huge changes coming along with GLib and GTK+ latest releases:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Initial support for GDBus-based clients and servers.&lt;/li&gt;&lt;li&gt;Support implicit and explicit GVariant casts.&lt;/li&gt;&lt;li&gt;Add support for [Deprecated] attribute.&lt;/li&gt;&lt;li&gt;Add GenericArray as alternative binding to GPtrArray.&lt;/li&gt;&lt;li&gt;Add gdk-pixbuf-3.0, gdk-3.0, gdk-x11-3.0, and gtk+-3.0 bindings.&lt;/li&gt;&lt;li&gt;Updates to the GLib bindings.&lt;/li&gt;&lt;li&gt;Many bug fixes.&lt;/li&gt;&lt;/ul&gt;Stay tuned with furter updates.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-7852941209721518525?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/7852941209721518525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/06/vala-092-has-been-released.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/7852941209721518525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/7852941209721518525'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/06/vala-092-has-been-released.html' title='Vala 0.9.2 has been released'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-2590749745781150920</id><published>2010-06-08T18:49:00.002Z</published><updated>2010-06-08T18:54:01.196Z</updated><title type='text'>Vala 0.9.1 is out</title><content type='html'>Hello,&lt;div&gt;yesterday the announce of the 0.9.1 release of Vala. You can find &lt;a href="http://live.gnome.org/Vala/Release"&gt;release notes here&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;This is more like a transitional development release torward a new 0.8.x branch stable release.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: sans-serif; font-size: medium; "&gt;&lt;h3 id="Changes" style="color: rgb(63, 63, 63); font-size: 1em; "&gt;Changes&lt;/h3&gt;&lt;span class="anchor" id="line-10"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-11"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Support constants in enums.&lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Deprecate +=/-= syntax to connect/disconnect signal handlers.&lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add experimental support for Dova profile.&lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="line862" style="margin-top: 0.25em; margin-right: 0px; margin-bottom: 0.25em; margin-left: 0px; "&gt;Update Genie parser (Jamie &lt;a class="nonexistent" href="/McCracken" style="color: rgb(52, 101, 164); border-top-width: 0px; border-right-width: 0px; border-bottom-width: 1px; border-left-width: 0px; border-style: initial; border-color: initial; border-bottom-style: dotted; border-bottom-color: rgb(136, 136, 136); text-decoration: none; "&gt;McCracken&lt;/a&gt;).&lt;span class="anchor" id="line-15"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;Add clutter-gst-1.0 bindings (Ali Sabil).&lt;span class="anchor" id="line-16"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add gdu and gdu-gtk bindings.&lt;span class="anchor" id="line-17"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add libesmtp bindings (Adrien Bustany).&lt;span class="anchor" id="line-18"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add mx-1.0 bindings (Evan Nemerson).&lt;span class="anchor" id="line-19"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add orc-0.4 bindings (Fabian Deutsch).&lt;span class="anchor" id="line-20"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add rest-extras-0.6 bindings (Adrien Bustany).&lt;span class="anchor" id="line-21"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Updates to the GLib, GStreamer, Linux, SQLite, and other bindings.&lt;span class="anchor" id="line-22"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes.&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-2590749745781150920?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/2590749745781150920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/06/vala-091-is-out.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/2590749745781150920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/2590749745781150920'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/06/vala-091-is-out.html' title='Vala 0.9.1 is out'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-1340955340368444857</id><published>2010-05-27T18:08:00.004Z</published><updated>2010-05-27T18:37:32.799Z</updated><title type='text'>Post Vala 0.8.1 update</title><content type='html'>Hello,&lt;br /&gt;thanks to Jiří Zárevúcký for giving me the permission to write to this blog, this is my first post.&lt;br /&gt;&lt;br /&gt;It's been at least a month since 0.8.1 has been released, and Vala is growing day by day. I'd like to share some news that will be available in the next release:&lt;div&gt;&lt;ul&gt;&lt;li&gt;New regex literals&lt;/li&gt;&lt;li&gt;New libesmtp, mx-1.0, rest-extras and orc-0.4 bindings.&lt;/li&gt;&lt;li&gt;Improvements for sqlite3, alsa, libgdata and gstreamer-0.10 bindings&lt;/li&gt;&lt;li&gt;rest bindings renamed to rest-0.6&lt;/li&gt;&lt;li&gt;Several bug fixes for the compiler (especially for arrays, async and delegates), bindings and lots of other vapigen and vala-gen-introspect improvements.&lt;/li&gt;&lt;li&gt;Gtkdoc support for Valadoc.&lt;/li&gt;&lt;li&gt;And more...&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Stay tuned!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-1340955340368444857?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/1340955340368444857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/05/post-vala-081-update.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/1340955340368444857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/1340955340368444857'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/05/post-vala-081-update.html' title='Post Vala 0.8.1 update'/><author><name>Luca Bruno aka Lethalman</name><uri>http://www.blogger.com/profile/06329046616630750783</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://bp2.blogger.com/_E0EaaGGWB9c/SIRcSW4rfmI/AAAAAAAAAA8/W5ETQHySFGc/S220/avatar.png'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-6716321714416762040</id><published>2010-03-31T21:19:00.000Z</published><updated>2010-03-31T21:19:09.621Z</updated><title type='text'>Vala 0.8.0 Released!</title><content type='html'>For the official release notes and download link, see &lt;a href="http://live.gnome.org/Vala/Release"&gt;http://live.gnome.org/Vala/Release&lt;/a&gt; ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-6716321714416762040?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/6716321714416762040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/03/vala-080-released.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/6716321714416762040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/6716321714416762040'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/03/vala-080-released.html' title='Vala 0.8.0 Released!'/><author><name>Jiří Zárevúcky</name><uri>http://www.blogger.com/profile/01793653028161709160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-7847410745602492865</id><published>2010-03-17T23:20:00.000Z</published><updated>2010-03-17T23:20:48.878Z</updated><title type='text'>Shotwell 0.5.0</title><content type='html'>A few days back, a new version of Shotwell got released.&lt;br /&gt;For those of you who don't know, Shotwell is a great open-source photo manager written in Vala.&lt;br /&gt;The new version has some cool features, including but not limited to uploading photos to Picasa Web Albums. ;)&lt;br /&gt;&lt;br /&gt;Read the full release announcement here:&lt;br /&gt;&lt;a href="http://www.yorba.org/blog/jim/2010/03/shotwell-050-released.html"&gt;http://www.yorba.org/blog/jim/2010/03/shotwell-050-released.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-7847410745602492865?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/7847410745602492865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/03/shotwell-050.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/7847410745602492865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/7847410745602492865'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/03/shotwell-050.html' title='Shotwell 0.5.0'/><author><name>Jiří Zárevúcky</name><uri>http://www.blogger.com/profile/01793653028161709160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-8738525570611051612</id><published>2010-02-18T03:22:00.004Z</published><updated>2010-02-18T03:28:44.217Z</updated><title type='text'>To compare, or not to compare? That is a question for you</title><content type='html'>Since I don't want to sleep yet, but don't have anything to do either, I thought I might as well start with the new, totally random single-topic approach to the Vala Journal.&lt;br /&gt;&lt;br /&gt;A while ago (in the first attempt on this journal thingy to be precise), I noted a proposed feature of "complex conditionals". Since there hasn't been much response, it may be better to dedicate a post to it.&lt;br /&gt;&lt;br /&gt;It all boils down to a single new added possibility - chain more relational operations in a single expression. Example: if you need to compare a variable to two values, you currently need to do this:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;if (1 &amp;lt; a &amp;amp;&amp;amp; a &amp;lt; 5) {}&lt;/div&gt;&lt;br /&gt;Well, that doesn't look too bad, you're right. What about this?&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;if (0 &amp;lt; a &amp;amp;&amp;amp; a &amp;lt; b &amp;amp;&amp;amp; b &amp;lt; c &amp;amp;&amp;amp; c &amp;lt; d &amp;amp;&amp;amp; d &amp;lt; 255) {&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; &amp;nbsp; // do something &lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;} else {&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; error ("Invalid data");&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;}&lt;/div&gt;&lt;br /&gt;I don't know about you, but I think this is just evil.&lt;br /&gt;Now, with the complex conditionals thingy, this would be possible:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;if (1 &amp;lt; a &amp;lt; 5) {}&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;if (0 &amp;lt; a &amp;lt; b &amp;lt; c &amp;lt; d &amp;lt; 255) {&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp; &amp;nbsp; // do something &lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;} else {&lt;/div&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; error ("Invalid data");&lt;/div&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Muuuuuch nicer. :)&lt;br /&gt;&lt;br /&gt;However, Jürg suggested that there are more possible approaches to this problem. For example a range syntax:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;if (a in [1..5]) {}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I don't find this possibility particularly bad, but it wouldn't allow any fancier chaining, like in my second example.&lt;br /&gt;&lt;br /&gt;So, questions for you: What do you thing about it? Which one do you prefer? Do you have any other suggestions?&lt;br /&gt;&lt;br /&gt;EDIT:&lt;br /&gt;Ahh, forgot to link the bug report.&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=606480"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=606480&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-8738525570611051612?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/8738525570611051612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/02/to-compare-or-not-to-compare-that-is.html#comment-form' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/8738525570611051612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/8738525570611051612'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/02/to-compare-or-not-to-compare-that-is.html' title='To compare, or not to compare? That is a question for you'/><author><name>Jiří Zárevúcky</name><uri>http://www.blogger.com/profile/01793653028161709160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-1023082583932145262</id><published>2010-02-17T23:59:00.002Z</published><updated>2010-02-18T00:02:16.037Z</updated><title type='text'>Issue #3</title><content type='html'>I apologize for being late with this one. The flu season has finally caught up with me, so I wasn't in a very good shape for writing long texts.&lt;br /&gt;&lt;br /&gt;As I have found out recently, it's pointless to post a verbatim list of changes in git, since you can all see it at &lt;a href="http://git.gnome.org/browse/vala/log"&gt;http://git.gnome.org/browse/vala/log&lt;/a&gt;. That means I'll just stick to stuff I find noteworthy, which will be a challenge since my memory sucks.&lt;br /&gt;&lt;br /&gt;Alternatively, since I moved this to a blog, I can very well treat it as a blog and simply write about interesting things ad-hoc, instead of trying to summarize them once a week. That would be a lot better, I suppose. What do you think?&lt;br /&gt;&lt;br /&gt;Anyway, there have been a lot of fixes again.&lt;br /&gt;Among others, some threading-related functions have been added to the MainLoop bindings. Good for those of you who want to use async functions within threads. Also libpurple bindings have been added.&lt;br /&gt;&lt;br /&gt;It is now possible to use the "in" operator with arrays, which is quite nice I think.&lt;br /&gt;Somewhat related is that it's now possible to use a different iterator style, I quote: "If the iterator object has a .next_value() function that returns a nullable type then we iterate by calling this function until it returns null". This can be useful for containers that can't contain null value.&lt;br /&gt;&lt;br /&gt;Some might also find interesting that "likely" and "unlikely" functions have been added to the GLib bindings, binding G_LIKELY and G_UNLIKELY macros. Along with that, "static_assert" was added for G_STATIC_ASSERT, which I find utterly useless in Vala as it would cause a GCC error.&lt;br /&gt;&lt;br /&gt;Well, that's all for today. Have a good time hacking (in) Vala. ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-1023082583932145262?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/1023082583932145262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/02/issue-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/1023082583932145262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/1023082583932145262'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/02/issue-3.html' title='Issue #3'/><author><name>Jiří Zárevúcky</name><uri>http://www.blogger.com/profile/01793653028161709160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-3625698359483834281</id><published>2010-02-08T18:09:00.001Z</published><updated>2010-02-08T18:12:54.312Z</updated><title type='text'>Valadoc.org is back online</title><content type='html'>After an unplanned "extended downtime", our lovely documentation site is back to its former glory.&lt;br /&gt;&lt;br /&gt;Well, almost. Since the wiki style that allowed us to improve documentation was making the site incredibly slow, all pages are now static.&lt;br /&gt;&lt;br /&gt;The site is now fast and the database is to be uploaded to a git repository as XML files, so changes will still be possible. It will be possible to download it and use locally, which is very nice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-3625698359483834281?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/3625698359483834281/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/02/valadocorg-is-back-online.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/3625698359483834281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/3625698359483834281'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/02/valadocorg-is-back-online.html' title='Valadoc.org is back online'/><author><name>Jiří Zárevúcky</name><uri>http://www.blogger.com/profile/01793653028161709160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-8898943919917193423</id><published>2010-02-08T01:55:00.004Z</published><updated>2010-02-08T02:04:48.504Z</updated><title type='text'>Issue #2; the week after</title><content type='html'>Ah, so it's a week already! The time sure flies by.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;First of all, I'd like to say I'm reaaaally disappointed that there have been no comments since last Tuesday. Not to say that I haven't seen a single response regarding undecided features of the language!&lt;br /&gt;If you like Vala, please go back to the first issue and skim over the "proposed features" and "opinions needed" parts. No bugzilla account? Doesn't matter, simply comment here or (if necessary) start a discussion on the mailing list. I'd hate having to do all that myself.&lt;br /&gt;&lt;br /&gt;Since the Thursday release the waters of Vala are quite calm. Two git commit, no mind-numbing IRC discussions as far as I can tell. Though a very interesting &lt;a href="http://www.gnomejournal.org/article/80/writing-multimedia-applications-with-vala"&gt;article about Vala&lt;/a&gt; has been posted in the GNOME Journal (actually, until then I didn't know there is a GNOME Journal; otherwise I wouldn't choose such a ripoff name for this one :).&lt;br /&gt;&lt;br /&gt;As all mailing-list subscribers already know, new version of &lt;a href="http://vtg.googlecode.com/"&gt;Vala Toys for gEdit&lt;/a&gt; has been released today. Thank you so much! I'm not fan of bloated heavy-weight IDEs, so this really made my day. gEdit for president, huh?&lt;br /&gt;&lt;br /&gt;Just today, sejerpz mentioned on the IRC that he's made a working port of GObject to Windows CE! I'm not too fond of the system, but I have to say that it's great news anyway. My dream of having Vala apps running on every thinkable piece of hardware is one step closer to reality.&lt;br /&gt;&lt;br /&gt;Okay, so either I've forgotten any other noteworthy piece of information, or this is all there is to say today. As always, suggestions welcome.&lt;br /&gt;&lt;br /&gt;By the way, I want to write up some definitive guide explaining delegates, signals, lambdas and closures in detail (down to the implementation specifics) and with a lot of examples. The same for async later. Any suggestions? Or do you think it is not necessary and that it is all well explained elsewhere? &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;------- GIT activity in the last week -------&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Before the release:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;table height="251" style="width: 656px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;7df67279&lt;/i&gt;&lt;/td&gt;&lt;td&gt;Do not check unexpected errors if there is a general catch clause (&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=608553"&gt;bug 608553&lt;/a&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;79e7b46d&lt;/i&gt;&lt;/td&gt;&lt;td&gt;Do not check unexpected errors within finally blocks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;e7314db8&lt;/i&gt;&lt;/td&gt;&lt;td&gt;Include string.h when using strcmp&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;9aa7997e&lt;/i&gt;&lt;/td&gt;&lt;td&gt;Fix symbol resolving in enums&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;7d7b02d0&lt;/i&gt;&lt;/td&gt;&lt;td&gt;Fix crash on invalid field initializer (&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=595725"&gt;bug 595725&lt;/a&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;2ae8cd15&lt;/i&gt;&lt;/td&gt;&lt;td&gt;GAsync: Support async callback from closure (&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=608184"&gt;bug 608184&lt;/a&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;e3a8480f&lt;/i&gt;&lt;/td&gt;&lt;td&gt;Fix symbol resolving for base types of structs (&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=607955"&gt;bug 607955&lt;/a&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;0fffc0e8&lt;/i&gt;&lt;/td&gt;&lt;td&gt;D-Bus: Fix crash on properties without set accessors&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;09583398&lt;/i&gt;&lt;/td&gt;&lt;td&gt;Use intermediate variables to initialize static structs (&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=608250"&gt;bug 608250&lt;/a&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;dc68bd9a&lt;/i&gt;&lt;/td&gt;&lt;td&gt;Fix GIR writing to only add &lt;include&gt; lines for API dependencies &lt;/include&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;Bindings:&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;39d3c4d3&lt;/i&gt;&lt;/td&gt;&lt;td&gt;glib-2.0: Include stdlib.h when using abs function family&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;ea914d14&lt;/i&gt;&lt;/td&gt;&lt;td&gt;linux: bind mount(2) and friends as well as the rest of net/if.h, net/route.h&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;7887af51&lt;/i&gt;&lt;/td&gt;&lt;td&gt;dbus-glib-1: Fix type id of BusName&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;01438cc7&lt;/i&gt;&lt;/td&gt;&lt;td&gt;dbus-glib-1: Fix marshalling of ObjectPath&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;8586c7e1&lt;/i&gt;&lt;/td&gt;&lt;td&gt;posix: bind struct sockaddr_in&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;9a987307&lt;/i&gt;&lt;/td&gt;&lt;td&gt;libsoup-2.4: nullability fixes for Soup.MessageHeaders methods (&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=604907"&gt;bug 604907&lt;/a&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;After the release:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;3587d178&lt;/i&gt;&lt;/td&gt;&lt;td&gt;Fix crash when opening file fails (&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=606837"&gt;bug 606837&lt;/a&gt;)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;i&gt;75008bd5&lt;/i&gt;&lt;/td&gt;&lt;td&gt;Do not use string.replace&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-8898943919917193423?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/8898943919917193423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/02/issue-2-week-after.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/8898943919917193423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/8898943919917193423'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/02/issue-2-week-after.html' title='Issue #2; the week after'/><author><name>Jiří Zárevúcky</name><uri>http://www.blogger.com/profile/01793653028161709160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-3291349035812333769</id><published>2010-02-05T19:40:00.006Z</published><updated>2010-02-05T19:43:12.133Z</updated><title type='text'>Vala 0.7.10 Released!</title><content type='html'>Well, I'm a little late with this, but I guess you all already know.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;This release is perhaps a bit different in that the timing has a very specific reason, which is the upcoming FOSDEM. Still, the amount of fixes since the last release is impressive. When you ask bugzilla, you'll see almost one hundred bugs fixed. That's very nice!&lt;br /&gt;Everyone applaud to people who risk their hands and keyboards typing patches. :)&lt;br /&gt;&lt;br /&gt;The official release notes are as follows:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Support coalescing operator ??. &lt;span class="anchor" id="line-12"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Support  to_string and bitwise complement with enums. &lt;span class="anchor" id="line-13"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Return handler id when connecting signal  handlers. &lt;span class="anchor" id="line-14"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Support  struct comparison. &lt;span class="anchor" id="line-15"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Support  constructor chaining in structs. &lt;span class="anchor" id="line-16"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Enforce  protected member restrictions. &lt;span class="anchor" id="line-17"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Improve  performance of flow analysis. &lt;span class="anchor" id="line-18"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Support  automatic line continuations in Genie. &lt;span class="anchor" id="line-19"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Improvements to the .gir reader and writer.  &lt;span class="anchor" id="line-20"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Add  --enable-mem-profiler commandline option. &lt;span class="anchor" id="line-21"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Many bug fixes and binding updates. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Not so many surprises. Some of those I've already noted in the first issue of the Vala Journal, with the corresponding bug numbers.&lt;br /&gt;By the way, the regressions I have noted are already fixed, though there is not as much activity from &lt;b&gt;you&lt;/b&gt; regarding open questions.&lt;br /&gt;&lt;br /&gt;What I find particularly interesting is the improved performance of &lt;i&gt;flow analysis&lt;/i&gt;. Not so much because of it's benefits, but because I didn't really notice. Perhaps it's just me and my system, but compared to the time gcc consumes, I don't notice valac that much. Maybe I just need a faster C compiler. :) Does anyone have a different experience here?&lt;br /&gt;&lt;br /&gt;On the other hand, automatic&lt;i&gt; line continuations in Genie&lt;/i&gt; sound like an awesome enhancement for everyone using it. Too bad I don't use Genie (I get a rash from Python-like languages, nothing personal).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Well, and then there is the &lt;i&gt;memory profiler support&lt;/i&gt;, which is great, though there seem to be problems when combined with multithreading. See &lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=607973"&gt;bug 607973.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Big amount of various small fixes and improved bindings were committed as well, which is not that surprising. Not too much to be concerned about unless the particular bug affected you (in which case you probably know already).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Ah! And valadoc.org is still offline, but hopefully, weekend will change that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-3291349035812333769?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/3291349035812333769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/02/vala-0710-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/3291349035812333769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/3291349035812333769'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/02/vala-0710-released.html' title='Vala 0.7.10 Released!'/><author><name>Jiří Zárevúcky</name><uri>http://www.blogger.com/profile/01793653028161709160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-783120056804813044</id><published>2010-02-03T16:17:00.002Z</published><updated>2010-02-03T17:58:23.904Z</updated><title type='text'>Issue #1; introduction, questions and whatever</title><content type='html'>&lt;span style="font-size: xx-small;"&gt;This one was originally posted to the Vala mailing list on Sunday.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;Hello everyone. Seeing the subject of this message, you probably started to wonder what the heck this is. &lt;br /&gt;Here's the plan: Each weekend, I'm going to sumarize what is going on around Vala. This includes recently included features, open discussions, fixed issues, etcetera. I may even drop in some unintrusive advertisement of interesting projects written in Vala. ;)&lt;br /&gt;&lt;br /&gt;The exact form this takes I haven't really decided yet, and will depend mainly on your feedback. The point will be to keep those of you, who are not subscribed to bugzilla and don't enjoy reading git log, informed, and make this list more involved in the development.&lt;br /&gt;&lt;br /&gt;This week, since it is the first attempt, I just went through bugs changed during last month and picked those I find most interesting. This only includes language related bugs this time. Next time I'll probably include a full report of last weeks changes, add small info about some really cool projects that catch my interest (or someone points out to me), perhaps note discussions on the IRC channel that are relevant (in case I'm present there at the time. isn't there any log of the channel?). But as I said, the final form is still largely undecided.&lt;br /&gt;&lt;br /&gt;So, enough of the introduction. In case you have any suggestions, feel free to present them to me. Also, any noteworthy information related to Vala should go straight to my INBOX. ;) If you have a blog where you write about Vala, I'd be glad if you dropped me a message as well.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Note:&lt;/i&gt;&lt;br /&gt;I'm not a journalist, so this my attempt may very well seem lame at first. As has already been said, suggestions are more than welcome.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And here comes the promised bug digest. Enjoy!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size: small;"&gt;Interesting new features to be (perhaps someday) added:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;Consider these part of the next category as well. :)&lt;br /&gt;&lt;br /&gt;Patch for native regular expression literals in the bugzilla.&lt;br /&gt;Though I'm not a big user of those, I like it very much. :)&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=607702"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=607702&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Complex conditionals! The form it should take is undecided. Comments needed.&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=606480"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=606480&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Local constants? Fairy old one. I don't know how useful that would be, really. What about you?&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=530623"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=530623&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This one proposes "in" operator to be usable for arrays. Quite nice I think.&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=602511"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=602511&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Everyone's opinions welcome:&lt;/b&gt;&lt;br /&gt;It would probably be best to discuss those here, so as not to spam bugzilla. Also, not all of you have an account there.&lt;br /&gt;&lt;br /&gt;Should casting between array types convert members or just recalculate length?&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=515408"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=515408&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;What should be the correct way to handle automatic properties in compact classes?&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=607568"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=607568&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Complex array types. Any thoughts about elmarco's proposal?&lt;br /&gt;I thinks it's quite cool and simple.&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=571486"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=571486&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Nullability of out parameters. This can actually be quite unobvious at the moment. And I was getting it all wrong.. do'h!&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=591673"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=591673&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Some more interesting fixed problems:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Coalesce operator (??) is now implemented in master. ;)&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=580816"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=580816&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Enums now support to_string ().&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=595458"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=595458&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can compare structs now.&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=530605"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=530605&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Signal.connect() now returns handler ID, so you can finally disconnect closures easily.&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=537146"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=537146&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Pre- and post-conditions for constructors are now allowed.&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=607110"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=607110&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can now declare multiple variables in for initializer.&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=601350"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=601350&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;.end() for async methods should now work correctly.&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=606780"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=606780&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Throwing constructors shouldn't leak now.&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=567181"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=567181&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Generic arrays as return values fixed.&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=568972"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=568972&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Boxing and unboxing structs into GValue now works.&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=590987"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=590987&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Relational operations now work with nullable types.&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=600652"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=600652&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can use nullable structs as property type now.&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=606202"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=606202&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;And, unfortunately, regressions:&lt;/b&gt;&lt;br /&gt;Yeah, happens.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=608548"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=608548&lt;/a&gt;&lt;br /&gt;&lt;a href="https://bugzilla.gnome.org/show_bug.cgi?id=608553"&gt;https://bugzilla.gnome.org/show_bug.cgi?id=608553&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-783120056804813044?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/783120056804813044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/02/issue-1-introduction-questions-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/783120056804813044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/783120056804813044'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/02/issue-1-introduction-questions-and.html' title='Issue #1; introduction, questions and whatever'/><author><name>Jiří Zárevúcky</name><uri>http://www.blogger.com/profile/01793653028161709160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3863229176846580288.post-9005294717758372608</id><published>2010-02-03T16:09:00.002Z</published><updated>2010-02-03T17:56:46.283Z</updated><title type='text'>Let there be light</title><content type='html'>So, a few days back, I started with an idea of a periodic summary of what is going on around the Vala programming language, mainly for those subscribed to the mailing list who are not that much interested in bugzilla.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;The original idea was to write it weekly and post it on the Vala mailing list. However, a few people asked me whether I shouldn't use some more public location instead.&lt;br /&gt;&lt;br /&gt;That is actually a very good idea, for several reasons:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;not everyone interested in Vala is subscribed to the list&lt;/li&gt;&lt;li&gt;even when they are, they probably don't read all the messages&lt;/li&gt;&lt;li&gt;making the journal blog-based will give me much more flexibility&lt;/li&gt;&lt;/ul&gt;As you might have guessed, this blog is the answer to those questions. What I am unsure about at the moment is whether to post messages to the list as well, or just a link, or not at all.&lt;br /&gt;The obvious benefit of posting *something* to the list is that various issues noted in the journal can be discussed on the mailing list in a single thread. Doing that using comments on a blog would suck.&lt;br /&gt;&lt;br /&gt;For now I'll simply re-post the first issue and see what happens. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3863229176846580288-9005294717758372608?l=valajournal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://valajournal.blogspot.com/feeds/9005294717758372608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://valajournal.blogspot.com/2010/02/let-there-be-light.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/9005294717758372608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3863229176846580288/posts/default/9005294717758372608'/><link rel='alternate' type='text/html' href='http://valajournal.blogspot.com/2010/02/let-there-be-light.html' title='Let there be light'/><author><name>Jiří Zárevúcky</name><uri>http://www.blogger.com/profile/01793653028161709160</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
