Skip to content

Conversation

@paul-hammant
Copy link
Contributor

…demo

Implements the classic 1966 ELIZA chatbot by Joseph Weizenbaum, demonstrating pattern matching and symbolic processing in ChrysaLisp.

Features:

  • Pattern matching engine with wildcard support
  • Pronoun reflection (I->you, my->your, etc.)
  • 20+ keyword patterns with multiple response templates
  • VDU-based chat interface with word wrapping
  • Simulates a Rogerian psychotherapist

This implementation showcases:

  • Symbolic list manipulation and processing
  • Functional programming (map, filter, reduce)
  • Classic AI pattern matching techniques
  • Text normalization and tokenization
  • Template-based response generation

Files:

  • apps/eliza/app.lisp: GUI interface and event handling
  • apps/eliza/engine.inc: Pattern matching and processing engine
  • apps/eliza/patterns.inc: Pattern rules and response templates
  • apps/eliza/README.md: Documentation and historical context

claude and others added 3 commits November 18, 2025 10:44
…demo

Implements the classic 1966 ELIZA chatbot by Joseph Weizenbaum,
demonstrating pattern matching and symbolic processing in ChrysaLisp.

Features:
- Pattern matching engine with wildcard support
- Pronoun reflection (I->you, my->your, etc.)
- 20+ keyword patterns with multiple response templates
- VDU-based chat interface with word wrapping
- Simulates a Rogerian psychotherapist

This implementation showcases:
- Symbolic list manipulation and processing
- Functional programming (map, filter, reduce)
- Classic AI pattern matching techniques
- Text normalization and tokenization
- Template-based response generation

Files:
- apps/eliza/app.lisp: GUI interface and event handling
- apps/eliza/engine.inc: Pattern matching and processing engine
- apps/eliza/patterns.inc: Pattern rules and response templates
- apps/eliza/README.md: Documentation and historical context
…zation

Enhanced the ELIZA chatbot with three major new features:

1. Save Conversation History
   - Saves conversations to timestamped files (eliza_<timestamp>.txt)
   - Files saved to user's home directory
   - Preserves full conversation for later review

2. Adjustable Response Delay
   - Toggle typing delay on/off via toolbar button
   - 500ms delay creates more natural, thoughtful responses
   - Simulates human thinking/typing time

3. Debug Mode with Pattern Visualization
   - Educational feature showing pattern matching process
   - Displays matched pattern, rank/priority, and wildcard captures
   - Helps users understand symbolic processing and transformation
   - Example: Shows how "I am sad" matches "* i am * sad *"

Additional Changes:
   - Added TODO.md tracking completed and future enhancements
   - Updated README.md with usage instructions for new features
   - New toolbar buttons with tooltips for all features
   - Enhanced engine.inc with eliza-debug-info function

Files Modified:
   - apps/eliza/app.lisp: Added UI and event handling for new features
   - apps/eliza/engine.inc: Added debug info extraction function
   - apps/eliza/README.md: Documented new features with examples
   - apps/eliza/TODO.md: New file tracking enhancement roadmap

This makes ELIZA more educational and practical while maintaining
its classic pattern-matching demonstration purpose.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants