Skip to content

Development: Mogan vs GNU TeXmacs ​

This article focuses on the development differences between Mogan STEM and GNU TeXmacs, providing insights for developers and contributors.

Core Development Differences ​

AspectGNU TeXmacsMogan STEM
Release CycleNot fixedMonthly releases
Performance FocusStabilitySpeed optimization
UI FrameworkMainly Qt 4 (some Qt 5)Mainly Qt 6 (some Qt 5)
Scheme EngineGNU Guile 1.8.xS7 Scheme
Version ControlSVN (Savannah)Git (Codeberg/Gitee/GitHub)
Build SystemGNU Autotoolsxmake
Development LeadJoris van der Hoeven (Mathematician)Darcy Shen (Software Engineer)

Development Workflow Comparison ​

Build Process ​

GNU TeXmacs:

  • Uses traditional GNU Autotools
  • Complex configuration process
  • Slower compilation times
  • Platform-specific setup required

Mogan STEM:

  • Uses modern xmake build system
  • Simplified configuration
  • Faster compilation with parallel builds
  • Cross-platform build consistency

Version Control and Collaboration ​

GNU TeXmacs:

  • SVN-based centralized workflow
  • Limited branching capabilities
  • Slower integration process
  • Single point of failure

Mogan STEM:

  • Git-based distributed workflow
  • Feature branches and pull requests
  • Faster code review and integration
  • Multiple repository mirrors (GitHub, Gitee, Codeberg)

Technical Architecture ​

Scheme Engine Evolution ​

The transition from GNU Guile 1.8.x to S7 Scheme represents a significant technical improvement:

  • Performance: S7 Scheme offers better execution speed
  • Memory: More efficient memory management
  • Modern Features: Better support for contemporary programming patterns
  • Maintenance: Active development and community support

Qt Framework Modernization ​

Mogan's migration to Qt 6 brings several advantages:

  • Performance: Better rendering and UI responsiveness
  • Modern UI: Contemporary look and feel
  • Cross-platform: Improved platform integration
  • Future-proof: Long-term support and updates

Plugin Development ​

Plugin Architecture Differences ​

GNU TeXmacs:

  • Monolithic plugin system
  • Limited extensibility options
  • Complex plugin development process

Mogan STEM:

  • Modular plugin architecture
  • Support for multiple languages (Python, C++, Scheme)
  • Plugin Center for easy distribution
  • Language-specific plugins for internationalization

Development Tools ​

Mogan provides enhanced development capabilities:

  • Debugging: Better debugging tools and error reporting
  • Documentation: Comprehensive API documentation
  • Testing: Automated testing framework
  • Community: Active developer community support

Performance Optimization ​

Startup Performance ​

Mogan STEM implements several optimizations:

  • Lazy loading of components
  • Optimized initialization sequences
  • Reduced memory footprint
  • Faster file loading and parsing

Runtime Performance ​

Key performance improvements include:

  • Efficient rendering pipelines
  • Optimized mathematical formula processing
  • Improved UI responsiveness
  • Better resource management

Development Philosophy ​

GNU TeXmacs Approach ​

  • Academic research focus
  • Mathematical correctness priority
  • Conservative feature adoption
  • Stability over performance

Mogan STEM Approach ​

  • Engineering-driven development
  • User experience optimization
  • Rapid iteration and improvement
  • Performance and usability balance

Contributing to Development ​

For Mogan STEM Developers ​

  1. Repository: https://github.com/XmacsLabs/mogan
  2. Build System: xmake (simple xmake build stem)
  3. Documentation: Comprehensive guides for each platform
  4. Community: Active Discord and GitHub discussions

Development Resources ​

Future Development Direction ​

Mogan STEM continues to evolve with focus on:

  • AI Integration: Built-in AI capabilities (Liii STEM)
  • Cloud Collaboration: Real-time collaborative editing
  • Mobile Support: Touch-friendly interfaces
  • Extended Formats: Support for more document formats
  • Performance: Continued optimization efforts

Conclusion ​

While both projects share the same foundation, Mogan STEM represents a modernized approach to scientific document editor development, emphasizing performance, user experience, and contemporary development practices. The engineering-focused approach and modern tooling make it more accessible for developers and more responsive to user needs.

For a comprehensive comparison including user-facing features, see the complete Mogan vs GNU TeXmacs comparison.

Enjoy exploring science and technology!