- no semicolons - fully agree. They are meant to act as a delimiter when a
code is composed in-line. In such cases they should be obligatory. But not
in others;
- syntax (1..6) - good idea, however I'd even expand it. I remember your
experiments with quasi-parallel operations in loops. They look more
efficient. Therefore, I'd suggest that the syntax you proposed could
optionally contain another pair of parens with a number of "parallel"
chunks. Like this: (1..6)(2). Of course some additional checks must be then
performed on the loop's body. And caution is advised and be reflected in
docs.
- the short syntax of a function Declaration from a C# - arrow function.
Okay. Why not.
- the code attribute `infix` for function from Kotlin - not sure. Function
should look like function.
- no need to write void and put brackets when declaring functions - not
sure as above. Sometimes readability can be more important than ease of
writing. Besides, it's easier to make mistakes and harder to spot them this
way.
- add support of stupid #define from C - absolutely yes.
- add support for tuples - absolutely yes.
- allow to specify variables passed to the function through their names -
absolutely yes.
- same for classes - absolutely yes.

Would add my proposal:
make sizeof and typeof work with expressions as it's in C, not only type
descriptors.

On Wed, Aug 14, 2019 at 3:04 AM gavr via vala-list <vala-list@gnome.org>
wrote:

> For the first time in my life I use mailing list.
> ---------
>
> I dream about the language of the Genie mix with Vala, mostly because I
> (and obviously most people I know) don't like indentation.
> The syntax of Vala doesn't exactly match the syntax of C# (If that was the
> goal at all), some things are missing, and some vice versa (for example
> slices from Python) so here's just a set of ideas what would be nice to
> improve.
>
> - no semicolons, almost all modern languages got rid of them (Or make them
> optional as in js so as not to break backward compatibility)
> - Syntax `(1..6)` for enumerations `foreach var a in (1..10)` instead of
> `for(...;...;...)`
> - The short syntax of a function Declaration from a C# `add(int a,int b) =>
> return a+b`
> - The code attribute `infix` for function from Kotlin to put the
> parentheses, the function takes a single parameter `print "hello"`, it is
> also very useful for creating DSL.
> - No need to write void and put brackets when declaring functions that dont
> take parameters or return values: `init {`\n`Gtk.init db.init ...}`
> - Add support of stupid #define from C for at least some
> metaprogramming(Nim compiles in C too, and has metaprogramming as in lisp
> when vala with supported introspection thanks to GObject Does not have it
> at all), I saw this in commits, but it doesn’t seem like you could declare
> a function in that define, just designate a variable. Or at least add the
> ability to execute patterned strings #784
> <https://gitlab.gnome.org/GNOME/vala/issues/784>
> - Add support for tuples, it's just structures with constant fields in C
> code. ( this
> <https://gitlab.gnome.org/GNOME/vala/blob/master/tests/parser/tuple.vala>
> cannt
> be called tuples,  it’s more like syntactic sugar for declaring variables)
> Fun fact: vala displays an error when trying to use tuples
> `v.vala:2.12-2.20: error: tuples are not supported`
> - Allow to specify variables passed to the function through their names
> like C# `func(name: "Max", age: 12 )` (IDEA doing that in Language Server)
> Vala also displays a related error: `v.vala:6.9-6.11: error: Named
> arguments are not supported yet`
> - Same for Classes
>
> There was some  discussion
> <https://gitlab.gnome.org/GNOME/vala/issues/688> close
> to the topic.
> _______________________________________________
> vala-list mailing list
> vala-list@gnome.org
> https://mail.gnome.org/mailman/listinfo/vala-list
>
_______________________________________________
vala-list mailing list
vala-list@gnome.org
https://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to