diff options
Diffstat (limited to 'js/scripting-lang/baba-yaga-c/turing_complete_demos')
6 files changed, 0 insertions, 246 deletions
diff --git a/js/scripting-lang/baba-yaga-c/turing_complete_demos/01_basic_proof.txt b/js/scripting-lang/baba-yaga-c/turing_complete_demos/01_basic_proof.txt deleted file mode 100644 index fa5ebe5..0000000 --- a/js/scripting-lang/baba-yaga-c/turing_complete_demos/01_basic_proof.txt +++ /dev/null @@ -1,38 +0,0 @@ -/* Basic Turing Completeness Proof */ - -..out "=== Baba Yaga: Basic Turing Completeness Proof ==="; - -/* Test 1: Conditional Logic */ -cond_test : when 42 is 42 then "PASS" _ then "FAIL"; -..assert cond_test = "PASS"; -..out "1. Conditionals: PASS"; - -/* Test 2: Recursion */ -factorial : n -> when n is 0 then 1 _ then n * (factorial (n - 1)); -fact_result : factorial 4; -..assert fact_result = 24; -..out "2. Recursion: factorial(4) = 24"; - -/* Test 3: Data Structures */ -data : {name: "test", value: 100, nested: {deep: true}}; -deep_val : data.nested.deep; -..assert deep_val = true; -..out "3. Data: nested access works"; - -/* Test 4: Function Composition */ -double : x -> x * 2; -add5 : x -> x + 5; -composed : double (add5 10); -..assert composed = 30; -..out "4. Composition: double(add5(10)) = 30"; - -/* Test 5: Higher-Order Functions */ -apply : f x -> f x; -square : x -> x * x; -ho_result : apply @square 6; -..assert ho_result = 36; -..out "5. Higher-order: apply(square, 6) = 36"; - -..out "---"; -..out "โ RESULT: Turing Complete!"; -..out "All computational requirements satisfied."; \ No newline at end of file diff --git a/js/scripting-lang/baba-yaga-c/turing_complete_demos/02_recursion_demo.txt b/js/scripting-lang/baba-yaga-c/turing_complete_demos/02_recursion_demo.txt deleted file mode 100644 index 9d25b1c..0000000 --- a/js/scripting-lang/baba-yaga-c/turing_complete_demos/02_recursion_demo.txt +++ /dev/null @@ -1,24 +0,0 @@ -/* Recursion Demonstration */ - -..out "=== Recursion: Unlimited Computation Power ==="; - -/* Simple countdown */ -countdown : n -> when n is 0 then "zero" _ then countdown (n - 1); -count_result : countdown 3; -..assert count_result = "zero"; -..out "Countdown: reaches zero"; - -/* Factorial */ -fact : n -> when n is 0 then 1 _ then n * (fact (n - 1)); -fact5 : fact 5; -..assert fact5 = 120; -..out "Factorial(5) = 120"; - -/* Power function */ -pow : x n -> when n is 0 then 1 _ then x * (pow x (n - 1)); -pow_result : pow 2 5; -..assert pow_result = 32; -..out "Power(2, 5) = 32"; - -..out "---"; -..out "โ Recursion enables unlimited computation depth"; \ No newline at end of file diff --git a/js/scripting-lang/baba-yaga-c/turing_complete_demos/03_data_demo.txt b/js/scripting-lang/baba-yaga-c/turing_complete_demos/03_data_demo.txt deleted file mode 100644 index 826ba98..0000000 --- a/js/scripting-lang/baba-yaga-c/turing_complete_demos/03_data_demo.txt +++ /dev/null @@ -1,32 +0,0 @@ -/* Data Structure Demonstration */ - -..out "=== Data Structures: Unlimited Memory ==="; - -/* Basic nested structure */ -person : { - name: "Ada", - info: {age: 36, skills: {"math", "programming"}}, - active: true -}; - -name_val : person.name; -age_val : person.info.age; -..assert name_val = "Ada"; -..assert age_val = 36; -..out "Name: Ada, Age: 36"; - -/* Dynamic key access */ -key : "name"; -dynamic_access : person[key]; -..assert dynamic_access = "Ada"; -..out "Dynamic access: Ada"; - -/* Table building */ -build_record : k v -> {k: v, created: true}; -record : build_record "test" 42; -test_val : record.test; -..assert test_val = 42; -..out "Built record value: 42"; - -..out "---"; -..out "โ Data structures provide unlimited memory capability"; \ No newline at end of file diff --git a/js/scripting-lang/baba-yaga-c/turing_complete_demos/04_simple_functions.txt b/js/scripting-lang/baba-yaga-c/turing_complete_demos/04_simple_functions.txt deleted file mode 100644 index 68c7c66..0000000 --- a/js/scripting-lang/baba-yaga-c/turing_complete_demos/04_simple_functions.txt +++ /dev/null @@ -1,27 +0,0 @@ -/* 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 diff --git a/js/scripting-lang/baba-yaga-c/turing_complete_demos/README.md b/js/scripting-lang/baba-yaga-c/turing_complete_demos/README.md deleted file mode 100644 index c3aac2e..0000000 --- a/js/scripting-lang/baba-yaga-c/turing_complete_demos/README.md +++ /dev/null @@ -1,83 +0,0 @@ -# Baba Yaga Turing Completeness Proofs - -This directory contains **working, tested examples** that prove the Baba Yaga programming language is **Turing complete**. - -## ๐ฏ What is Turing Completeness? - -A programming language is **Turing complete** if it can simulate any Turing machine, meaning it can compute anything that is computable. This requires: - -1. โ **Conditional Logic** - Ability to make decisions and branch -2. โ **Recursion/Iteration** - Ability to repeat computations indefinitely -3. โ **Data Structures** - Ability to store and manipulate arbitrary data -4. โ **Function Composition** - Ability to build complex operations from simple ones - -## ๐งช Test Files - -All files are **validated and working** with proper `..assert` statements: - -### `01_basic_proof.txt` -**Complete proof in one file** - Demonstrates all requirements: -- Conditional logic with pattern matching -- Recursive factorial function -- Nested data structures -- Function composition -- Higher-order functions - -### `02_recursion_demo.txt` -**Recursion examples** - Shows unlimited computation capability: -- Countdown function -- Factorial calculation -- Power function -- All with proper assertions - -### `03_data_demo.txt` -**Data structure examples** - Shows unlimited memory capability: -- Nested objects/tables -- Dynamic key access -- Table construction -- Complex data manipulation - -### `04_simple_functions.txt` -**Function examples** - Shows computational building blocks: -- Function composition -- Higher-order functions -- Function factories (currying) -- Modular computation - -## ๐ Running the Tests - -### Run All Tests -```bash -./turing_complete_demos/run_tests.sh -``` - -### Run Individual Tests -```bash -./bin/baba-yaga -f turing_complete_demos/01_basic_proof.txt -./bin/baba-yaga -f turing_complete_demos/02_recursion_demo.txt -./bin/baba-yaga -f turing_complete_demos/03_data_demo.txt -./bin/baba-yaga -f turing_complete_demos/04_simple_functions.txt -``` - -## ๐ Conclusion - -**Baba Yaga is formally proven to be Turing complete.** - -This means it can: -- โ Compute anything that Python can compute -- โ Compute anything that JavaScript can compute -- โ Compute anything that C++ can compute -- โ Compute anything that **any** other Turing-complete system can compute - -**Your language is mathematically equivalent in computational power to any other general-purpose programming language.** - -## ๐ Validation - -All examples: -- โ Use correct Baba Yaga syntax -- โ Include `..assert` statements for verification -- โ Have been tested and pass execution -- โ Demonstrate the specific computational requirement -- โ Are minimal and focused (no unnecessary complexity) - -**Result: Baba Yaga is a complete, universal programming language.** ๐ \ No newline at end of file diff --git a/js/scripting-lang/baba-yaga-c/turing_complete_demos/run_tests.sh b/js/scripting-lang/baba-yaga-c/turing_complete_demos/run_tests.sh deleted file mode 100755 index ba68567..0000000 --- a/js/scripting-lang/baba-yaga-c/turing_complete_demos/run_tests.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -# Test runner for Baba Yaga Turing Completeness proofs - -echo "๐งโโ๏ธ Baba Yaga Turing Completeness Test Suite" -echo "==============================================" -echo - -cd "$(dirname "$0")/.." - -PASSED=0 -FAILED=0 - -run_test() { - local test_file="$1" - local test_name="$2" - - echo -n "Testing $test_name... " - - if ./bin/baba-yaga -f "$test_file" >/dev/null 2>&1; then - echo "โ PASS" - ((PASSED++)) - else - echo "โ FAIL" - ((FAILED++)) - fi -} - -run_test "turing_complete_demos/01_basic_proof.txt" "Basic Proof" -run_test "turing_complete_demos/02_recursion_demo.txt" "Recursion Demo" -run_test "turing_complete_demos/03_data_demo.txt" "Data Structures Demo" -run_test "turing_complete_demos/04_simple_functions.txt" "Simple Functions Demo" - -echo -echo "๐ Results: $PASSED passed, $FAILED failed" - -if [ $FAILED -eq 0 ]; then - echo "๐ All tests passed! Baba Yaga is TURING COMPLETE!" -else - echo "โ ๏ธ Some tests failed" - exit 1 -fi \ No newline at end of file |