This is a feedback page for the Genie Langauge
Feel free to add comments on syntax or stuff you would like to see in genie here
Support for nullable generic types, for example the vala snippet
LinkedList<string>? lst = new LinkedList<string>();has no genie analogue.
pythonesque syntax for declaring and initializing arrays, for example
# compiler should assume this is a list of int var a_int = [ 1, 2, 3, 4, 5, 6] # same here with string var a_str = [ "one", "too", "sree"]
maybe with optional type hint
# tell the compile to cast all values var a_float : array of float = [ 1, 2, 3 ]
have a complete test suite for genie. I always like to grep in the vala test for specific usages of certain types, having a full set of genie programs to borrow from would suite me very well
- docstrings! If they make sense with GObjects, that is ... Even if GObject/GLib don't have hooks for them, they'd make sense to produce static API documentation
Better iterator support. At the moment you cant return an Gee.Iterator and use it in a for loop. For example:
[indent=4] l : list of string def returns_iterator() : Gee.Iterator of string return l.iterator() init l.add("wan") l.add("tuu") for s in l print s for s in returns_iterator() print s
fails at compilation:
test_iterator.gs:14.5-14.32: error: Gee.List not iterable for s in returns_iterator() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Generate apps that need libc only. Jamie, this wiki page is perhaps not the best way to post feedback. I have posted my suggestion to your livejournal: http://jamiemcc.livejournal.com/12009.html?view=224745#t224745
- "protected" classifier (ala Vala) for internal variables/methods which should be accessible (and potentially overridable) by child classes, but not outside of the class
(Do we list bugs here or should I use bugzilla?)
- When doing continuing lines with backslashes, the error output from the compiler is thrown off. It lists the correct line numbers, but the actual data is from teh wrong line. This makes it very awkward to see what is wrong.
Dicts will not compile with Vala 0.5.1. It has Gee in the source, so an external libgee should not be required? I have reported this bug here: http://jamiemcc.livejournal.com/12009.html?view=225001#t225001
Wishes Come True
The following whishes have been granted:
- Allow indentation when breaking up long lines with backslash.
An operator to check if an object is of a given type or implements a given interface. Genie already has the isa operator (syntax from Boo language) to check types
if x isa Object
Other Help and Documentation
Probably in the wrong place - so please move to somewhere more appropriate or delete:
http://bkhome.org/genie/ - An introduction to Genie by Barry Kauler - creator of Puppy Linux
GtkGuiTutorial - Programming Gtk GUI with Genie - by a raw beginner - please review!