diff options
Diffstat (limited to 'js/scripting-lang/design/README.md')
-rw-r--r-- | js/scripting-lang/design/README.md | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/js/scripting-lang/design/README.md b/js/scripting-lang/design/README.md new file mode 100644 index 0000000..c1ebea4 --- /dev/null +++ b/js/scripting-lang/design/README.md @@ -0,0 +1,115 @@ +# Design Documentation + +This directory contains all design documentation for the scripting language project. This README serves as the main entry point and navigation guide. + +## Quick Navigation + +### 🎯 Current Status & Roadmap +- **[PROJECT_ROADMAP.md](./PROJECT_ROADMAP.md)** - Current status, priorities, and next steps + +### 🏗️ Architecture & Design +- **[COMBINATORS.md](./COMBINATORS.md)** - Combinator foundation and architecture +- **[ARCHITECTURE.md](./ARCHITECTURE.md)** - Complete system architecture overview + +### 📋 Implementation Guides +- **[implementation/IMPLEMENTATION_GUIDE.md](./implementation/IMPLEMENTATION_GUIDE.md)** - Current implementation guide +- **[implementation/COMPLETED_FEATURES.md](./implementation/COMPLETED_FEATURES.md)** - Documentation of completed features + +### 📚 Historical Documentation +- **[HISTORY/PRECEDENCE_RESOLUTION.md](./HISTORY/PRECEDENCE_RESOLUTION.md)** - Precedence issues and resolution +- **[HISTORY/FUNCTION_COMPOSITION.md](./HISTORY/FUNCTION_COMPOSITION.md)** - Function composition implementation + +## Document Organization + +### Active Documents (Current Development) +These documents are actively used for current development: + +1. **PROJECT_ROADMAP.md** - Current priorities and status +2. **COMBINATORS.md** - Core architecture explanation +3. **ARCHITECTURE.md** - Complete system overview +4. **implementation/IMPLEMENTATION_GUIDE.md** - Current implementation details + +### Historical Documents (Reference) +These documents are archived for reference but not actively maintained: + +1. **HISTORY/PRECEDENCE_RESOLUTION.md** - Resolved precedence issues +2. **HISTORY/FUNCTION_COMPOSITION.md** - Completed function composition work +3. **implementation/COMPLETED_FEATURES.md** - Summary of completed features + +## Current Development Focus + +### Active Issues +- **Case Expression Parsing**: Fix "Unexpected token in parsePrimary: THEN" errors +- **Parser Robustness**: Address cascading parser issues +- **Test Suite**: Get all tests passing (currently 8/18) + +### Recently Completed ✅ +- **@ Operator**: Function reference syntax working perfectly +- **Standard Library**: All higher-order functions working with @ syntax +- **Precedence Issues**: All operator precedence issues resolved +- **Partial Application**: Fixed `reduce`, `fold`, `curry` functions + +## How to Use This Documentation + +### For New Contributors +1. Start with **[PROJECT_ROADMAP.md](./PROJECT_ROADMAP.md)** for current status +2. Read **[COMBINATORS.md](./COMBINATORS.md)** for architecture understanding +3. Check **[implementation/IMPLEMENTATION_GUIDE.md](./implementation/IMPLEMENTATION_GUIDE.md)** for current work + +### For Development +1. Check **[PROJECT_ROADMAP.md](./PROJECT_ROADMAP.md)** for current priorities +2. Use **[implementation/IMPLEMENTATION_GUIDE.md](./implementation/IMPLEMENTATION_GUIDE.md)** for implementation details +3. Reference **[COMBINATORS.md](./COMBINATORS.md)** for architectural decisions + +### For Historical Context +1. Check **[HISTORY/PRECEDENCE_RESOLUTION.md](./HISTORY/PRECEDENCE_RESOLUTION.md)** for precedence work +2. Review **[HISTORY/FUNCTION_COMPOSITION.md](./HISTORY/FUNCTION_COMPOSITION.md)** for composition implementation + +## Document Maintenance + +### When to Update +- **PROJECT_ROADMAP.md**: Update when priorities or status changes +- **IMPLEMENTATION_GUIDE.md**: Update when starting new implementation work +- **COMBINATORS.md**: Update when architectural decisions change + +### When to Archive +- Move resolved issues to **HISTORY/** directory +- Update status to reflect completion +- Keep for reference but mark as historical + +### Document Standards +- Keep documents focused on single purpose +- Include clear status indicators (✅ Active, 📚 Historical) +- Provide clear navigation between related documents +- Update status when issues are resolved + +## Quick Reference + +### Current Test Status +- **Passing**: 8/18 tests +- **Failing**: 10/18 tests (due to case expression parsing) +- **Architecture**: Working correctly +- **Function Composition**: ✅ Complete and working + +### Key Files +- **lang.js**: Main interpreter with standard library +- **parser.js**: Parser with combinator translation +- **lexer.js**: Tokenizer with all operators +- **tests/**: Comprehensive test suite + +### Development Commands +```bash +# Run all tests +./run_tests.sh + +# Run with debug +DEBUG=1 node lang.js script.txt + +# Run individual test +node lang.js tests/01_lexer_basic.txt +``` + +--- + +**Last Updated**: Current development focus is case expression parsing +**Status**: Active development with solid foundation \ No newline at end of file |