aboutsummaryrefslogtreecommitdiff
path: root/code/main.felan
blob: 3e9889600969eb708a96183896cc6e018c769f3a (plain)
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
// @import("basic.felan");
// @import("lib/memory.felan");
@import("lib/operator.felan");

print :: (value:**anytype)->void{
  if comptime @type_of(value.*) == u8 {
    @putc(value.*);
  }else{
    @putc('h');
  }
};

__get_item__ :: (left:*anytype,index:i64) -> (@type_of(left.*)) {
  return (left + index).*;
};

__set_item__ :: (left:*anytype,index:i64,item:@type_of(left.*)) -> (@type_of(left.*)) {
  return (left + index).* = item;
};

__get_item_address__ :: (left:*anytype,index:i64,item:@type_of(left.*)) -> (@type_of(left)) {
  return (left + index);
};

main :: () -> void {
  a := @stack_alloc(10,u8);
  a[0] = '1';
  @putc(a[0]);
};