Mathics3’s Developer Reference¶
Contents:
- The Components of Mathics3
- Mathics3 Core
- Mathics3 Character Tables and Tokenizer
- Mathics3 Syntax Highlighting
- mathicsscript
- Django-based GUI
- Mathics3 Python Modules
- Determining when Something should be a Mathics3 Module
- “Hello, World” as a Mathics3 Python Module
- Mathics3 Module ICU
- Natural Language Mathics3 Module
- Network Graph Mathics3 Python Module
- Matplotlib Python Module Backend Renderer
- Asymptote Python Module Backend Renderer
- Mathics3 Debugger https://github.com/Mathics3/Mathics3-Module-trepan
- Installing Mathics3
- Running Mathics3
- Reporting Bugs and Problems
- Input/Output Unicode Tables
- Mathics3 Kernel Interpreter
- Session
- Scanning
- Parsing
- AST, M-Expression, General List: same thing
- Evaluation of an Expression
- Pattern Matching in Evaluation
- Rules
- Forms, Boxes, and Formats
- Python Modules in Mathics-Core
- Object Classes
- Glossary
- Extending Mathics3
- Mathics3 Setup Code Read on Loading
- Mathics3 Packages
- Setup for Developing Mathics3 Python Code
- Mathics3 from Python
- Using Mathics3 from your code
- Tutorial: Adding a new Mathics3 Function
- Hello, World! – using
Predefined - Introducing the
BuiltinClass and Pattern-based Parameter Specification - Checking Parameter Counts
- Adding Help (
Information[]) Text - Writing Document Tests
- Working with Multiple Patterns
- Function Application via Rules
- Class variables and Function Attributes
- Emitting Warnings and Errors
- Hello, World! – using
- Case Studies for Adding Builtins
- Guide Sections and Subsections
- Documentation Markup
- Guidelines for Writing Documentation
- Thoughts and Experience from Adding Builtins
- Contributing & Developing
- Running Tests
- Making a Mathics3 Release
- Beforehand
- Release Order
- Making a Mathics-Scanner Release
- Create a new Mathics3-Scanner branch
- Update Mathics3 Scanner Changes
- Check Mathics3 Scanner Python versions
- Merge Mathics3 Scanner Release
- Check Mathics3 Scanner package from github
- Make Mathics3 Scanner packages and check
- Release Mathics3 Scanner on Github
- Upload the Mathics3 Scanner release to PyPI
- Move Mathics3 Scanner dist files to
uploaded - Post Mathics3 Scanner Release
- Making a mathics-pygments Release
- Making a Mathics3 Kernel Release
- Making a MathicsScript Release
- Create a new Mathicsscript release branch
- Mathicsscript Workflows update?
- Update Mathicsscript Changes
- Check Python versions for Mathicsscript
- Merge Mathicsscript release
- Check Mathicsscript package from github
- Make Maticsscript packages and check
- Release on Mathicsscript on Github
- Upload the Mathicsscript release to PyPI
- Move Mathicsscript dist files to uploaded
- Post Mathicsscript Release
- Making a Mathics3 Django Release
- Mathics3 Django Workflows update?
- Create a new Mathics3 Django release branch
- Update Changes to Mathics3 Django
- Check Mathics3 Django on other Python versions
- Merge Mathics3 Django release
- Check Mathics3 Django package from github
- Make Mathics3 Django packages and check
- Release Mathics3 Django on Github
- Upload the Mathics-Django release to PyPI
- Move Mathics-Django distributed files to uploaded
- Post Mathics-Django Release
- Making a Mathics3 Module
networkxRelease - Making a Mathics3 Module
nltkRelease - Making a Mathics3 “Hello World” Module Release
- Making a Mathics-Scanner Release