-
Notifications
You must be signed in to change notification settings - Fork 0
/
BUGS
43 lines (25 loc) · 874 Bytes
/
BUGS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
- Calling extern-C function with wrong argument number crash hrc
extern ("C") {
void exit(int retv);
}
def foo()
exit()
- macros with empty replacement list are not registered?
def macro assert {
{ assert(?expr:expr) } -> { }
}
def foo()
assert(1 == 1)
0
- macros don't save their context. Macros should be hygienic
by saving the bindings visibile at their declaration point.
module X
export public (y)
import "something.hr"
def macro y { { y() } -> { symbol-from-something() } }
In this example the site using the macro y must also import
something.hr, otherwise symbol-from-something is unknown
- size of array must be constant expression. Ex.:
let t : Char[buffer.num-items]
this produces the totally unusable error message:
error: Parse error: Bad expression: 566