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

Wishlist

  • 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 :-)

  • Syntax highlight for GtkSourceView => Gedit (#576141) and friends (also vim).

  • 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

Bugs

(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!

Projects/Genie/Feedback (last edited 2013-11-26 21:18:44 by WilliamJonMcCann)