Difference between revisions of "Sygnm"

From sygnm
Jump to: navigation, search
Line 44: Line 44:
** [[Developer manual]]
** [[Developer manual]]
** [[Roadmap]]
** [[Roadmap]]
** [[Wrapper status]]
* [[License]]
* [[License]]
* [[Credits]]
* [[Credits]]

Revision as of 13:23, 14 October 2017

sygnm (pronounced as "signum") is a general purpose computer algebra framework, currently in pre-alpha state of development, which differs in several aspects from current computer algebra systems. It is free software, licensed under the GNU AGPL.

sygnm aims to:

  • build on existing open source technologies while keeping the whole system consistent
  • be highly modular and extensible
  • be portable
  • support parallellization
  • focus solely on mathematics, not being a general purpose programming environment
  • respect user rights and privacy
  • be a good base for future development

How is sygnm different?

  • no new programming language to learn: sygnm can operate in a simplified interactive ("calculator") mode, or can be used as a library from existing languages (currently C++ and Python)
  • implements a dynamic type system for runtime function overload resolution on top of C++, based on typeclasses and parametric polymorphism
  • highly modular, divided into three main parts: core, packages and user interfaces
  • unique I/O architecture supporting multiple expression parsers, renderers and I/O interfaces with different syntaxes, which can be combined freely
  • fully localizable, Unicode can be used everywhere in the sygnm framework (even in function names and other identifiers)

Download sygnm

sygnm is currently in pre-alpha, there are no releases yet. The source is available at https://git.sygnm.org. There is some documentation on how to build and run sygnm from source.