Ondra Tethal

Results 11 issues of Ondra Tethal

Global variable declarations should be allowed only at the namespace level, not as a statement or even an expression. Current behavior should be possible by a parse option.

feature
llvm-compat

Disallow user declarations of some word, such as `int`, `hash`, `True`, `self`, `if`... The reasons are: - using keywords such as `else` as function names leads to confusion - redefining...

feature
llvm-compat
c++
design

I did not confirm this with an actual example, but the implementation suggests it: ``` any parse_yaml(string yaml) [flags=RET_VALUE_ONLY] { QoreYamlParser parser(*yaml, xsink); return parser.parse(); } DLLLOCAL QoreYamlParser(const QoreString &str,...

module
documentation

Currently it is possible to apply any operator to almost any expression, but many of them do not make sense: ``` class C {}; C c(); code x = sub(){};...

bug
confusing
documentation
llvm-compat

Note that without `my` there is no way to declare multiple variables at once. Also we need a parse option that enables this for compatibility reasons.

feature
llvm-compat

- e.g. `exp2()` accepts either softfloat or number - e.g. `cos()` accepts either float or number - e.q. `floor()` accepts both softfloat and softnumber, which leads to ambiguities (see #47)...

confusing
types
llvm-compat

**Code:** ``` Program p(); p.parsePending(" const f = x(); sub x() { throw \"Uncommited code executed!\"; } ", "test"); try { p.parseCommit(); } catch (ex) { printf("%s\n", ex.err); } printf("x...

bug

Consider: ``` class Base { f(int x) { printf("int version\n"); } f(number x) { printf("number version\n"); } b() { f(1); } c() { f(1.1); } } class Derived inherits Base...

confusing
types
llvm-compat

When a class has both method and a field with the same name, and the field is of type `code`, it is not clear which one of the will/should be...

bug
confusing
llvm-compat

**Code:** ``` class A { public { code f = sub(x) { return x*x; }; } } A a(); a.f(5); ``` **Error:** ``` warning encountered at ./test_crash.q:8 NON-EXISTENT-METHOD-CALL: call to...

feature
confusing
llvm-compat
c++