From d8d12f033831a6ed76049209d52450a7001a6879 Mon Sep 17 00:00:00 2001 From: A404M Date: Thu, 12 Jun 2025 18:03:30 +0330 Subject: removing lazy because macro can do the job --- code/lib/operator.felan | 4 ++-- code/main.felan | 29 +++++++++++++++++++++++++---- 2 files changed, 27 insertions(+), 6 deletions(-) (limited to 'code') diff --git a/code/lib/operator.felan b/code/lib/operator.felan index 998a053..5536343 100644 --- a/code/lib/operator.felan +++ b/code/lib/operator.felan @@ -578,7 +578,7 @@ __logical_not__ :: (value:bool) -> bool { return value == false; }; -__logical_and__ :: (left:bool,lazy right:bool) -> bool { +__logical_and__ :: (left:bool,right:bool) macro -> bool { if left == false { return false; } else if right == false { @@ -588,7 +588,7 @@ __logical_and__ :: (left:bool,lazy right:bool) -> bool { } }; -__logical_or__ :: (left:bool,lazy right:bool) -> bool { +__logical_or__ :: (left:bool,right:bool) macro -> bool { if left == true { return true; } else if right == true { diff --git a/code/main.felan b/code/main.felan index 150dc6d..b13442c 100644 --- a/code/main.felan +++ b/code/main.felan @@ -1,12 +1,33 @@ -@import("basic.felan"); +// @import("basic.felan"); +/* t :: (comptime b:u8) -> void { print(b); - print(a); +}; +*/ + +__equal__ :: (a:u8,b:u8) -> bool { + return @equal(a,b); +}; + +h :: (a:u8,b:u8) macro -> void { + if a == 0u8 { + if b == 0u8 { + @putc('0'); + }else{ + @putc('1'); + } + }else{ + @putc('2'); + } +}; + +f :: (a:u8,c:u8) -> u8 { + @putc(c); + return a; }; main :: () -> void { - a := 2u8; - t(5u8); + h(f(1u8,'a'),f(0u8,'b')); }; -- cgit v1.2.3