2026-07-06 10:43:17 +02:00
|
|
|
#+title: README
|
|
|
|
|
|
|
|
|
|
* Syntax example:
|
|
|
|
|
#+begin_src
|
|
|
|
|
funzione :: fn(parametro1: Number, parametro2: String): String do
|
|
|
|
|
|
|
|
|
|
end
|
|
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
* Planning:
|
|
|
|
|
allora quello che devo fare è:
|
|
|
|
|
** TODO Controllare se ho finito la questione del retourn:labe
|
2026-07-07 20:31:23 +02:00
|
|
|
** TODO Complete the use os source slice inside parser (many node hase syntetic source slice or badly wrpapped)
|
2026-07-06 10:43:17 +02:00
|
|
|
** TODO implement struct:
|
|
|
|
|
#+begin_src rlox
|
|
|
|
|
Cosa :: struct{
|
|
|
|
|
field1: Number
|
|
|
|
|
}
|
|
|
|
|
#+end_src
|
2026-07-11 18:01:40 +02:00
|
|
|
*** TODO update lexer
|
2026-07-06 10:43:17 +02:00
|
|
|
*** TODO update ast
|
|
|
|
|
*** TODO update parser
|
|
|
|
|
** TODO implement partial function ...
|
|
|
|
|
#+begin_src rlox
|
2026-07-11 18:01:40 +02:00
|
|
|
cosa := Cosa{feld1: 42}
|
2026-07-06 10:43:17 +02:00
|
|
|
function :: fn(self:Cosa, b: Number) -> Number
|
|
|
|
|
res := function(cosa,44)
|
|
|
|
|
#+end_src
|
2026-07-11 18:01:40 +02:00
|
|
|
*** TODO ... to undirectly create method
|
2026-07-06 10:43:17 +02:00
|
|
|
#+begin_src rlox
|
2026-07-11 18:01:40 +02:00
|
|
|
res := cosa.function(44);
|
2026-07-06 10:43:17 +02:00
|
|
|
#+end_src
|
|
|
|
|
*** TODO ... to make pipeline
|
|
|
|
|
#+begin_src rlox
|
2026-07-11 18:01:40 +02:00
|
|
|
res := cosa |> function(44);
|
2026-07-06 10:43:17 +02:00
|
|
|
#+end_src
|
|
|
|
|
** TODO Understand what is a type system
|
2026-07-11 18:01:40 +02:00
|
|
|
** TODO implement struct method:
|
|
|
|
|
#+begin_src rlox
|
|
|
|
|
Cosa.new :: fn(field1: Number):Self #+begin_src do
|
|
|
|
|
return Self{ field1 };
|
|
|
|
|
end;
|
|
|
|
|
#+end_src
|