about summary refs log tree commit diff stats
path: root/js/scripting-lang/docs/baba-yaga/0.0.1/tutorial-README.html
diff options
context:
space:
mode:
Diffstat (limited to 'js/scripting-lang/docs/baba-yaga/0.0.1/tutorial-README.html')
-rw-r--r--js/scripting-lang/docs/baba-yaga/0.0.1/tutorial-README.html104
1 files changed, 63 insertions, 41 deletions
diff --git a/js/scripting-lang/docs/baba-yaga/0.0.1/tutorial-README.html b/js/scripting-lang/docs/baba-yaga/0.0.1/tutorial-README.html
index f4d43d4..a9c0e19 100644
--- a/js/scripting-lang/docs/baba-yaga/0.0.1/tutorial-README.html
+++ b/js/scripting-lang/docs/baba-yaga/0.0.1/tutorial-README.html
@@ -2,59 +2,73 @@
 <html lang="en">
 <head>
     <meta charset="utf-8">
-    <title>JSDoc: Tutorial: README</title>
+    <meta name="viewport" content="width=device-width,initial-scale=1">
+    <title>README - Documentation</title>
 
-    <script src="scripts/prettify/prettify.js"> </script>
-    <script src="scripts/prettify/lang-css.js"> </script>
+    <script src="scripts/prettify/prettify.js"></script>
+    <script src="scripts/prettify/lang-css.js"></script>
     <!--[if lt IE 9]>
       <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
     <![endif]-->
+    <link type="text/css" rel="stylesheet" href="https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css">
     <link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
     <link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
 </head>
-
 <body>
 
-<div id="main">
+<input type="checkbox" id="nav-trigger" class="nav-trigger" />
+<label for="nav-trigger" class="navicon-button x">
+  <div class="navicon"></div>
+</label>
 
-    <h1 class="page-title">Tutorial: README</h1>
+<label for="nav-trigger" class="overlay"></label>
+
+<nav>
+    <li class="nav-link nav-home-link"><a href="index.html">Home</a></li><li class="nav-heading">Tutorials</li><li class="nav-item"><a href="tutorial-00_Introduction.html">00_Introduction</a></li><li class="nav-item"><a href="tutorial-01_Function_Calls.html">01_Function_Calls</a></li><li class="nav-item"><a href="tutorial-02_Function_Composition.html">02_Function_Composition</a></li><li class="nav-item"><a href="tutorial-03_Table_Operations.html">03_Table_Operations</a></li><li class="nav-item"><a href="tutorial-04_Currying.html">04_Currying</a></li><li class="nav-item"><a href="tutorial-05_Pattern_Matching.html">05_Pattern_Matching</a></li><li class="nav-item"><a href="tutorial-06_Immutable_Tables.html">06_Immutable_Tables</a></li><li class="nav-item"><a href="tutorial-07_Function_References.html">07_Function_References</a></li><li class="nav-item"><a href="tutorial-08_Combinators.html">08_Combinators</a></li><li class="nav-item"><a href="tutorial-09_Expression_Based.html">09_Expression_Based</a></li><li class="nav-item"><a href="tutorial-10_Tables_Deep_Dive.html">10_Tables_Deep_Dive</a></li><li class="nav-item"><a href="tutorial-11_Standard_Library.html">11_Standard_Library</a></li><li class="nav-item"><a href="tutorial-12_IO_Operations.html">12_IO_Operations</a></li><li class="nav-item"><a href="tutorial-13_Error_Handling.html">13_Error_Handling</a></li><li class="nav-item"><a href="tutorial-14_Advanced_Combinators.html">14_Advanced_Combinators</a></li><li class="nav-item"><a href="tutorial-15_Integration_Patterns.html">15_Integration_Patterns</a></li><li class="nav-item"><a href="tutorial-16_Best_Practices.html">16_Best_Practices</a></li><li class="nav-item"><a href="tutorial-README.html">README</a></li><li class="nav-heading"><a href="global.html">Globals</a></li><li class="nav-item"><span class="nav-item-type type-member">M</span><span class="nav-item-name"><a href="global.html#callStackTracker">callStackTracker</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#debugError">debugError</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#debugLog">debugLog</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#executeFile">executeFile</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#initializeStandardLibrary">initializeStandardLibrary</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#interpreter">interpreter</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#lexer">lexer</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#main">main</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#parser">parser</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#readFile">readFile</a></span></li><li class="nav-item"><span class="nav-item-type type-function">F</span><span class="nav-item-name"><a href="global.html#run">run</a></span></li>
+</nav>
+
+<div id="main">
+    
+    <h1 class="page-title">README</h1>
+    
 
     <section>
 
 <header>
     
-
-    <h2>README</h2>
 </header>
 
 <article>
-    <h1>Scripting Language Tutorials</h1>
-<p>Welcome to the scripting language tutorials! These tutorials will guide you through learning this functional programming language step by step.</p>
+    <h1>Baba Yaga Tutorials</h1>
+<p>Welcome to the Baba Yaga tutorials! These tutorials will guide you through learning this functional programming language step by step.</p>
 <h2>Getting Started</h2>
 <p>Start with the <strong>Introduction</strong> tutorial to learn the basics, then follow the numbered sequence for a complete learning path.</p>
 <h2>Tutorial Sequence</h2>
 <h3>🚀 <strong>Beginner Level</strong></h3>
 <ol>
 <li><strong><a href="00_Introduction.md">00_Introduction.md</a></strong> - Basic concepts, functions, and pattern matching</li>
-<li><strong><a href="01_Juxtaposition_Function_Application.md">01_Juxtaposition_Function_Application.md</a></strong> - Function calls without parentheses</li>
-<li><strong><a href="02_Right_Associative_Via_Operator.md">02_Right_Associative_Via_Operator.md</a></strong> - Function composition with <code>via</code></li>
-<li><strong><a href="03_Automatic_Element_Wise_Table_Operations.md">03_Automatic_Element_Wise_Table_Operations.md</a></strong> - Working with tables</li>
-<li><strong><a href="04_Partial_Application_by_Default.md">04_Partial_Application_by_Default.md</a></strong> - Partial function application</li>
-<li><strong><a href="05_When_Expressions_Pattern_Matching.md">05_When_Expressions_Pattern_Matching.md</a></strong> - Pattern matching with <code>when</code></li>
-<li><strong><a href="06_Immutable_Tables_with_Functional_Operations.md">06_Immutable_Tables_with_Functional_Operations.md</a></strong> - Table operations</li>
-<li><strong><a href="07_Function_References_with_At_Symbol.md">07_Function_References_with_At_Symbol.md</a></strong> - Function references with <code>@</code></li>
+<li><strong><a href="01_Function_Calls.md">01_Function_Calls.md</a></strong> - Function calls without parentheses (juxtaposition)</li>
+<li><strong><a href="02_Function_Composition.md">02_Function_Composition.md</a></strong> - Function composition with <code>via</code>, <code>compose</code>, and <code>pipe</code></li>
+<li><strong><a href="03_Table_Operations.md">03_Table_Operations.md</a></strong> - Working with tables and element-wise operations</li>
+<li><strong><a href="04_Currying.md">04_Currying.md</a></strong> - Partial function application by default</li>
+<li><strong><a href="05_Pattern_Matching.md">05_Pattern_Matching.md</a></strong> - Pattern matching with <code>when</code> expressions</li>
+<li><strong><a href="06_Immutable_Tables.md">06_Immutable_Tables.md</a></strong> - Immutable table operations and functional programming</li>
+<li><strong><a href="07_Function_References.md">07_Function_References.md</a></strong> - Function references with <code>@</code> symbol</li>
 </ol>
 <h3>🔧 <strong>Intermediate Level</strong></h3>
 <ol start="9">
-<li><strong><a href="08_Combinator_Based_Architecture.md">08_Combinator_Based_Architecture.md</a></strong> - Understanding combinators</li>
-<li><strong><a href="09_No_Explicit_Return_Statements.md">09_No_Explicit_Return_Statements.md</a></strong> - Expression-based programming</li>
-<li><strong><a href="10_Table_Literals_as_Primary_Data_Structure.md">10_Table_Literals_as_Primary_Data_Structure.md</a></strong> - Advanced table usage</li>
-<li><strong><a href="11_Combinators_Deep_Dive.md">11_Combinators_Deep_Dive.md</a></strong> - Advanced combinator patterns</li>
-<li><strong><a href="12_Functional_Harness_Integration.md">12_Functional_Harness_Integration.md</a></strong> - Integration with external tools</li>
+<li><strong><a href="08_Combinators.md">08_Combinators.md</a></strong> - Understanding the combinator-based architecture</li>
+<li><strong><a href="09_Expression_Based.md">09_Expression_Based.md</a></strong> - Expression-based programming without explicit returns</li>
+<li><strong><a href="10_Tables_Deep_Dive.md">10_Tables_Deep_Dive.md</a></strong> - Advanced table usage and data structures</li>
+<li><strong><a href="11_Standard_Library.md">11_Standard_Library.md</a></strong> - Overview of available functions and combinators</li>
+<li><strong><a href="12_IO_Operations.md">12_IO_Operations.md</a></strong> - Input/output operations and assertions</li>
+<li><strong><a href="13_Error_Handling.md">13_Error_Handling.md</a></strong> - Error handling patterns and validation</li>
 </ol>
-<h3>🎯 <strong>Best Practices</strong></h3>
-<ol start="14">
-<li><strong><a href="13_Operator_Spacing_Best_Practices.md">13_Operator_Spacing_Best_Practices.md</a></strong> - <strong>Operator spacing and syntax guidelines</strong></li>
+<h3>🎯 <strong>Advanced Level</strong></h3>
+<ol start="15">
+<li><strong><a href="14_Advanced_Combinators.md">14_Advanced_Combinators.md</a></strong> - Advanced combinator patterns and optimization</li>
+<li><strong><a href="15_Integration_Patterns.md">15_Integration_Patterns.md</a></strong> - External system integration and APIs</li>
+<li><strong><a href="16_Best_Practices.md">16_Best_Practices.md</a></strong> - Best practices and coding guidelines</li>
 </ol>
 <h2>Key Concepts Covered</h2>
 <ul>
@@ -62,9 +76,10 @@
 <li><strong>Pattern Matching</strong>: <code>when</code> expressions for conditional logic</li>
 <li><strong>Tables</strong>: Immutable data structures with functional operations</li>
 <li><strong>Combinators</strong>: Higher-order functions for data transformation</li>
-<li><strong>Operator Spacing</strong>: Proper syntax for unary and binary operators</li>
-<li><strong>Function Application</strong>: Juxtaposition-based function calls</li>
-<li><strong>Composition</strong>: Function composition with <code>via</code> operator</li>
+<li><strong>IO Operations</strong>: Input/output, assertions, and event handling</li>
+<li><strong>Error Handling</strong>: Functional error patterns and validation</li>
+<li><strong>Integration</strong>: External system integration patterns</li>
+<li><strong>Best Practices</strong>: Operator spacing, syntax guidelines, and code organization</li>
 </ul>
 <h2>REPL Integration Documentation</h2>
 <p>For comprehensive integration patterns and harness architecture documentation, see the <strong><a href="../docs/repl/scripting-lang/0.0.1/repl.js.html">REPL Documentation</a></strong> which is generated directly from the REPL source code and contains extensive JSDoc comments about:</p>
@@ -94,10 +109,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 &quot;Hello, World!&quot;;
+..assert &quot;test&quot; 5 = 5;
+..emit &quot;event&quot; data;
+..listen &quot;event&quot; handler;
 </code></pre>
 <h3>Best Practices</h3>
 <ul>
@@ -105,11 +124,14 @@ when value is
 <li>✅ <strong>Unary minus works without parentheses</strong>: <code>-5</code>, <code>f -5</code></li>
 <li>✅ <strong>Use parentheses for explicit grouping</strong>: <code>(-5)</code>, <code>(5 + 3) * 2</code></li>
 <li>✅ <strong>Follow functional conventions</strong>: Immutable data, pure functions</li>
+<li>✅ <strong>Keep functions focused</strong>: Single responsibility principle</li>
+<li>✅ <strong>Use descriptive names</strong>: Clear intent and purpose</li>
+<li>✅ <strong>Handle errors explicitly</strong>: Pattern matching over exceptions</li>
 </ul>
 <h2>Running Examples</h2>
 <p>To run examples from these tutorials:</p>
 <ol>
-<li>Create a <code>.txt</code> file with the example code</li>
+<li>Create a <code>.txt</code> or <code>.baba</code> file with the example code</li>
 <li>Run: <code>node lang.js your_file.txt</code></li>
 </ol>
 <p>Example:</p>
@@ -119,11 +141,15 @@ echo &quot;result : 5 - 3;&quot; > test.txt
 # Run the example
 node lang.js test.txt
 </code></pre>
+<h2>File Extensions</h2>
+<p>Baba Yaga files should use either the <code>.txt</code> file extension, or the <code>.baba</code> extension.</p>
 <h2>Need Help?</h2>
 <ul>
 <li>Check the <a href="../README.md">main README</a> for language overview</li>
-<li>Review <a href="13_Operator_Spacing_Best_Practices.md">Operator Spacing Best Practices</a> for syntax guidelines</li>
+<li>Review <a href="16_Best_Practices.md">Best Practices</a> for syntax guidelines</li>
 <li>Run the test suite: <code>./run_tests.sh</code> to see working examples</li>
+<li>Explore <a href="14_Advanced_Combinators.md">Advanced Combinators</a> for complex patterns</li>
+<li>Check <a href="15_Integration_Patterns.md">Integration Patterns</a> for external system integration</li>
 </ul>
 <p>Happy learning! 🚀</p>
 </article>
@@ -132,17 +158,13 @@ node lang.js test.txt
 
 </div>
 
-<nav>
-    <h2><a href="index.html">Home</a></h2><h3>Tutorials</h3><ul><li><a href="tutorial-00_Introduction.html">00_Introduction</a></li><li><a href="tutorial-01_Juxtaposition_Function_Application.html">01_Juxtaposition_Function_Application</a></li><li><a href="tutorial-02_Right_Associative_Via_Operator.html">02_Right_Associative_Via_Operator</a></li><li><a href="tutorial-03_Automatic_Element_Wise_Table_Operations.html">03_Automatic_Element_Wise_Table_Operations</a></li><li><a href="tutorial-04_Partial_Application_by_Default.html">04_Partial_Application_by_Default</a></li><li><a href="tutorial-05_When_Expressions_Pattern_Matching.html">05_When_Expressions_Pattern_Matching</a></li><li><a href="tutorial-06_Immutable_Tables_with_Functional_Operations.html">06_Immutable_Tables_with_Functional_Operations</a></li><li><a href="tutorial-07_Function_References_with_At_Symbol.html">07_Function_References_with_At_Symbol</a></li><li><a href="tutorial-08_Combinator_Based_Architecture.html">08_Combinator_Based_Architecture</a></li><li><a href="tutorial-09_No_Explicit_Return_Statements.html">09_No_Explicit_Return_Statements</a></li><li><a href="tutorial-10_Table_Literals_as_Primary_Data_Structure.html">10_Table_Literals_as_Primary_Data_Structure</a></li><li><a href="tutorial-11_Combinators_Deep_Dive.html">11_Combinators_Deep_Dive</a></li><li><a href="tutorial-12_Functional_Harness_Integration.html">12_Functional_Harness_Integration</a></li><li><a href="tutorial-13_Operator_Spacing_Best_Practices.html">13_Operator_Spacing_Best_Practices</a></li><li><a href="tutorial-README.html">README</a></li></ul><h3>Global</h3><ul><li><a href="global.html#callStackTracker">callStackTracker</a></li><li><a href="global.html#debugError">debugError</a></li><li><a href="global.html#debugLog">debugLog</a></li><li><a href="global.html#executeFile">executeFile</a></li><li><a href="global.html#initializeStandardLibrary">initializeStandardLibrary</a></li><li><a href="global.html#interpreter">interpreter</a></li><li><a href="global.html#lexer">lexer</a></li><li><a href="global.html#main">main</a></li><li><a href="global.html#parser">parser</a></li><li><a href="global.html#readFile">readFile</a></li><li><a href="global.html#run">run</a></li></ul>
-</nav>
-
 <br class="clear">
 
 <footer>
-    Documentation generated by <a href="https://github.com/jsdoc/jsdoc">JSDoc 4.0.4</a> on Tue Jul 29 2025 14:41:59 GMT-0400 (Eastern Daylight Time)
+    Generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 4.0.4</a> on Tue Jul 29 2025 23:15:00 GMT-0400 (Eastern Daylight Time) using the Minami theme.
 </footer>
 
-<script> prettyPrint(); </script>
-<script src="scripts/linenumber.js"> </script>
+<script>prettyPrint();</script>
+<script src="scripts/linenumber.js"></script>
 </body>
 </html>
\ No newline at end of file