For example my field - civil and structural engineering - uses almost the entire Greek alphabets in the Eurocodes .

There is a widespread need to go beyond case-sensitivity and ASCII.

I already expressed at the beginning of our efforts the choice to have Unicode source code as a design choice; shame on me for not having been able to find the time necessary to implement what it is clear in our mind.

We shall - at least - write source code in Unicode and lay down some style guide for its usage.

First of all we needs more liberal infix and prefix operators. By “liberal” I mean allowing for example Unicode math codes, like many mathematical symbols the Unicode standard defines.

Unicode libraries available as “logicielle libre” (free-as-in-freedom software) - for example Glib - allows to know it a given character is a symbol (i.e.

g_unichar_type (a_char) = G_UNICODE_MATH_SYMBOL; see also this table ).

Of course I wasn’t meaning to allow code like

*«class PERSON… feature infix "open"»*, otherwise we will drive the parser crazy ending up with something Perl-like.

This way we would get rid of usual rant of people coming from languages with overloading (i.e. C++, Java) that says:

“why do I have to write

my_matrix.multiply (another_matrix).scalar_vector(a_vector)

instead of (my_matrix*another_matrix)*a_vector?”

Because the mathematician would have rather written

"(my_matrix × another_matrix) ^ a_vector"

scalar and matrix multiplications are

**not**arithmentic multiplication and in fact they actually have

**different**symbols in "real" math.

The infix-prefix name rule could be therefore expressed using Unicode classification of characters.

Actually I would like to write Latex-like code `y := { -b +- sqrt { b^2 - 4 a c} } / {2a} ` or ` `A_x := int_0^1 f_m(x)dx ` in a way similar to what ASCIIMathMl does for HTML pages. But this is currently a dream.