A proof-of-concept parser demonstrating that programming languages can be built entirely from mathematical notation, enabling cognitive universality in computing. MPL replaces English keywords with mathematical symbols, making programming accessible to the 80% of humanity who don't speak English. Every design decision follows the Fatima Test: "Will this make sense to a 10-year-old who doesn't speak English?" Current implementation: - Complete ANTLR 4 grammar with 70+ mathematical operators - Parser supporting all major programming paradigms - Zero grammar ambiguities - ASCII escape sequences for every Unicode symbol This release contains: - Core parser implementation - Grammar specification - Example programs - Comprehensive documentation - Whitepaper outlining the vision Note: This is a parser-only proof of concept. Programs can be parsed but not executed. The interpreter and runtime are future work.
4 KiB
4 KiB
Getting Help with MPL
Thank you for using the Mathematical Programming Language! We're here to help you succeed.
🚀 Quick Links
- Documentation: Full specification
- Examples: Working programs
- Symbol Reference: All symbols with ASCII escapes
- Whitepaper: Academic paper
❓ Getting Support
1. Check Existing Resources
Before asking for help:
- 📖 Read the README for overview and quick start
- 🔤 Check glyph-escapes.md for symbol questions
- 💡 Review examples for working code patterns
- 🐛 Search existing issues for similar problems
2. Community Support
GitHub Discussions
For general questions, ideas, and community interaction:
- Visit GitHub Discussions
- Categories:
- Q&A: Ask and answer questions
- Ideas: Suggest new features or improvements
- Show and Tell: Share your MPL projects
- General: Everything else
GitHub Issues
For bugs and feature requests:
3. Direct Contact
For sensitive issues or private concerns:
- Email: developtheweb@protonmail.com
- Maintainer: Reverend Steven Milanese (@developtheweb)
🎓 Learning Resources
For Beginners
- Start with 01_hello_world.mpl
- Learn basic operators from the Symbol Reference
- Progress through numbered examples in order
For Educators
- Review the educational philosophy in our README
- Check the Fatima Test principle in CONTRIBUTING.md
- Contact us about classroom materials
For Developers
- CONTRIBUTING.md - How to contribute
- Grammar file - ANTLR 4 specification
- Test suite - See how testing works
🐛 Reporting Issues
When reporting issues, please include:
- MPL version (check releases)
- Operating system and version
- Java version (
java -version) - Minimal code example that reproduces the issue
- Expected behavior vs actual behavior
- Full error message if applicable
Good Bug Report Example
Title: ∑ operator precedence incorrect with nested expressions
Version: MPL 2.0.0
OS: Ubuntu 22.04
Java: OpenJDK 11.0.17
Code:
∑(i ∈ [1,5] : i × 2) + 3
Expected: 33 (sum is 30, plus 3)
Actual: 45 (seems to be computing ∑(i ∈ [1,5] : i × (2 + 3)))
Error: No error, just wrong result
💬 Communication Guidelines
- Be respectful - We're all learning together
- Be patient - MPL is a volunteer project
- Be clear - Provide context and examples
- Be mindful - Not everyone speaks English fluently
- Follow the Code of Conduct - See CODE_OF_CONDUCT.md
🌍 Language Support
While project documentation is in English, we welcome questions in any language:
- Use your native language if it helps explain your issue
- We'll use translation tools if needed
- Community members may help translate
Remember: MPL exists to break language barriers - that includes our support!
🔧 Common Issues
Unicode Display Problems
- Ensure your terminal supports UTF-8
- Try ASCII escapes (e.g.,
\suminstead of ∑) - Check font support for mathematical symbols
Parser Errors
- Verify correct symbol usage with glyph-escapes.md
- Check operator precedence in precedence.csv
- Ensure balanced brackets/parentheses
Build Issues
- Requires Java 11 or higher
- Run
./gradlew clean build - Check CONTRIBUTING.md for setup steps
Remember: Every question helps us improve MPL for everyone. Don't hesitate to ask!