diff options
Diffstat (limited to 'js/scripting-lang/c/turing_complete_demos/04_simple_functions.txt')
-rw-r--r-- | js/scripting-lang/c/turing_complete_demos/04_simple_functions.txt | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/js/scripting-lang/c/turing_complete_demos/04_simple_functions.txt b/js/scripting-lang/c/turing_complete_demos/04_simple_functions.txt new file mode 100644 index 0000000..68c7c66 --- /dev/null +++ b/js/scripting-lang/c/turing_complete_demos/04_simple_functions.txt @@ -0,0 +1,27 @@ +/* Simple Function Examples */ + +..out "=== Functions: Computational Building Blocks ==="; + +/* Basic function composition */ +add_five : x -> x + 5; +double : x -> x * 2; +result1 : double (add_five 10); +..assert result1 = 30; +..out "Composition: double(add_five(10)) = 30"; + +/* Higher-order function */ +apply_twice : f x -> f (f x); +increment : x -> x + 1; +result2 : apply_twice @increment 5; +..assert result2 = 7; +..out "Apply twice: increment(increment(5)) = 7"; + +/* Function returning function */ +make_adder : n -> x -> x + n; +add_ten : make_adder 10; +result3 : add_ten 25; +..assert result3 = 35; +..out "Function factory: add_ten(25) = 35"; + +..out "---"; +..out "✅ Functions enable modular computation"; \ No newline at end of file |