Add type system and refator for having only epression
This commit is contained in:
Giulio Agostini
2026-07-06 10:43:17 +02:00
parent 9f15a00b98
commit 842216729b
23 changed files with 940 additions and 979 deletions
+6 -6
View File
@@ -1,12 +1,12 @@
closure :: fn() do
closure :: fn(): Any do
value := "Closure";
internal :: fn() do
internal :: fn(): String do
print value;
return value;
end
end;
return internal;
end
end;
internal := closure();
internal();
@@ -17,9 +17,9 @@ c := b;
c = b = a;
d := c = b = a;
do
showA :: fn() do
showA :: fn(): Nil do
print a;
end
end;
showA();
a := "Local";
+3 -3
View File
@@ -4,7 +4,7 @@
// address: String,
// }
//func_name :: fn(param: Number, param2: String) {param is Int} do
func_name :: fn(param: Int, param2: String) do
func_name :: fn(param: Int, param2: String): Any do
print param;
print param2;
while param < param2 do
@@ -26,6 +26,6 @@ func_name :: fn(param: Int, param2: String) do
end
return False or True;
end
end;
func_name(1,20)
func_name(1,20);
+14 -14
View File
@@ -1,30 +1,30 @@
function :: fn() do
function :: fn(): Nil do
print "Function";
end
end;
function_factory :: fn() do
function_factory :: fn(): Any do
print "Function Factory";
function
end
function;
end;
function_fatcoty_factory :: fn() do
function_fatcoty_factory :: fn(): Any do
print "Function Factory Factory";
return function_factory;
end
end;
//function();
//function_factory()();
//function_fatcoty_factory()()();
clock()
clock();
closure :: fn() do
value = "Closure";
internal :: fn() do
closure :: fn(): Any do
value := "Closure";
internal :: fn(): Nil do
print value;
end
end;
return internal;
end
end;
closure()
closure();