about summary refs log tree commit diff stats
path: root/js/scripting-lang/tutorials/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'js/scripting-lang/tutorials/README.md')
-rw-r--r--js/scripting-lang/tutorials/README.md67
1 files changed, 42 insertions, 25 deletions
diff --git a/js/scripting-lang/tutorials/README.md b/js/scripting-lang/tutorials/README.md
index dd6da1b..30c03dd 100644
--- a/js/scripting-lang/tutorials/README.md
+++ b/js/scripting-lang/tutorials/README.md
@@ -1,6 +1,6 @@
-# Scripting Language Tutorials
+# Baba Yaga Tutorials
 
-Welcome to the scripting language tutorials! These tutorials will guide you through learning this functional programming language step by step.
+Welcome to the Baba Yaga tutorials! These tutorials will guide you through learning this functional programming language step by step.
 
 ## Getting Started
 
@@ -11,25 +11,28 @@ Start with the **Introduction** tutorial to learn the basics, then follow the nu
 ### 🚀 **Beginner Level**
 
 1. **[00_Introduction.md](00_Introduction.md)** - Basic concepts, functions, and pattern matching
-2. **[01_Juxtaposition_Function_Application.md](01_Juxtaposition_Function_Application.md)** - Function calls without parentheses
-3. **[02_Right_Associative_Via_Operator.md](02_Right_Associative_Via_Operator.md)** - Function composition with `via`
-4. **[03_Automatic_Element_Wise_Table_Operations.md](03_Automatic_Element_Wise_Table_Operations.md)** - Working with tables
-5. **[04_Partial_Application_by_Default.md](04_Partial_Application_by_Default.md)** - Partial function application
-6. **[05_When_Expressions_Pattern_Matching.md](05_When_Expressions_Pattern_Matching.md)** - Pattern matching with `when`
-7. **[06_Immutable_Tables_with_Functional_Operations.md](06_Immutable_Tables_with_Functional_Operations.md)** - Table operations
-8. **[07_Function_References_with_At_Symbol.md](07_Function_References_with_At_Symbol.md)** - Function references with `@`
+2. **[01_Function_Calls.md](01_Function_Calls.md)** - Function calls without parentheses (juxtaposition)
+3. **[02_Function_Composition.md](02_Function_Composition.md)** - Function composition with `via`, `compose`, and `pipe`
+4. **[03_Table_Operations.md](03_Table_Operations.md)** - Working with tables and element-wise operations
+5. **[04_Currying.md](04_Currying.md)** - Partial function application by default
+6. **[05_Pattern_Matching.md](05_Pattern_Matching.md)** - Pattern matching with `when` expressions
+7. **[06_Immutable_Tables.md](06_Immutable_Tables.md)** - Immutable table operations and functional programming
+8. **[07_Function_References.md](07_Function_References.md)** - Function references with `@` symbol
 
 ### 🔧 **Intermediate Level**
 
-9. **[08_Combinator_Based_Architecture.md](08_Combinator_Based_Architecture.md)** - Understanding combinators
-10. **[09_No_Explicit_Return_Statements.md](09_No_Explicit_Return_Statements.md)** - Expression-based programming
-11. **[10_Table_Literals_as_Primary_Data_Structure.md](10_Table_Literals_as_Primary_Data_Structure.md)** - Advanced table usage
-12. **[11_Combinators_Deep_Dive.md](11_Combinators_Deep_Dive.md)** - Advanced combinator patterns
-13. **[12_Functional_Harness_Integration.md](12_Functional_Harness_Integration.md)** - Integration with external tools
+9. **[08_Combinators.md](08_Combinators.md)** - Understanding the combinator-based architecture
+10. **[09_Expression_Based.md](09_Expression_Based.md)** - Expression-based programming without explicit returns
+11. **[10_Tables_Deep_Dive.md](10_Tables_Deep_Dive.md)** - Advanced table usage and data structures
+12. **[11_Standard_Library.md](11_Standard_Library.md)** - Overview of available functions and combinators
+13. **[12_IO_Operations.md](12_IO_Operations.md)** - Input/output operations and assertions
+14. **[13_Error_Handling.md](13_Error_Handling.md)** - Error handling patterns and validation
 
-### 🎯 **Best Practices**
+### 🎯 **Advanced Level**
 
-14. **[13_Operator_Spacing_Best_Practices.md](13_Operator_Spacing_Best_Practices.md)** - **Operator spacing and syntax guidelines**
+15. **[14_Advanced_Combinators.md](14_Advanced_Combinators.md)** - Advanced combinator patterns and optimization
+16. **[15_Integration_Patterns.md](15_Integration_Patterns.md)** - External system integration and APIs
+17. **[16_Best_Practices.md](16_Best_Practices.md)** - Best practices and coding guidelines
 
 ## Key Concepts Covered
 
@@ -37,9 +40,10 @@ Start with the **Introduction** tutorial to learn the basics, then follow the nu
 - **Pattern Matching**: `when` expressions for conditional logic
 - **Tables**: Immutable data structures with functional operations
 - **Combinators**: Higher-order functions for data transformation
-- **Operator Spacing**: Proper syntax for unary and binary operators
-- **Function Application**: Juxtaposition-based function calls
-- **Composition**: Function composition with `via` operator
+- **IO Operations**: Input/output, assertions, and event handling
+- **Error Handling**: Functional error patterns and validation
+- **Integration**: External system integration patterns
+- **Best Practices**: Operator spacing, syntax guidelines, and code organization
 
 ## REPL Integration Documentation
 
@@ -73,10 +77,14 @@ when value is
 /* Table literals */
 {key1: value1, key2: value2};
 
-/* Operator spacing */
--5;              /* Unary minus */
-5 - 3;           /* Binary minus */
-5 + 3;           /* Binary plus */
+/* Function references */
+map @function_name collection;
+
+/* IO operations */
+..out "Hello, World!";
+..assert "test" 5 = 5;
+..emit "event" data;
+..listen "event" handler;
 ```
 
 ### Best Practices
@@ -85,12 +93,15 @@ when value is
 - ✅ **Unary minus works without parentheses**: `-5`, `f -5`
 - ✅ **Use parentheses for explicit grouping**: `(-5)`, `(5 + 3) * 2`
 - ✅ **Follow functional conventions**: Immutable data, pure functions
+- ✅ **Keep functions focused**: Single responsibility principle
+- ✅ **Use descriptive names**: Clear intent and purpose
+- ✅ **Handle errors explicitly**: Pattern matching over exceptions
 
 ## Running Examples
 
 To run examples from these tutorials:
 
-1. Create a `.txt` file with the example code
+1. Create a `.txt` or `.baba` file with the example code
 2. Run: `node lang.js your_file.txt`
 
 Example:
@@ -102,10 +113,16 @@ echo "result : 5 - 3;" > test.txt
 node lang.js test.txt
 ```
 
+## File Extensions
+
+Baba Yaga files should use either the `.txt` file extension, or the `.baba` extension.
+
 ## Need Help?
 
 - Check the [main README](../README.md) for language overview
-- Review [Operator Spacing Best Practices](13_Operator_Spacing_Best_Practices.md) for syntax guidelines
+- Review [Best Practices](16_Best_Practices.md) for syntax guidelines
 - Run the test suite: `./run_tests.sh` to see working examples
+- Explore [Advanced Combinators](14_Advanced_Combinators.md) for complex patterns
+- Check [Integration Patterns](15_Integration_Patterns.md) for external system integration
 
 Happy learning! 🚀
\ No newline at end of file