Difference between revisions of "Sygnm"

From sygnm
Jump to: navigation, search
(Documentation)
(How is sygnm different?)
Line 14: Line 14:
 
* 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)
 
* 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
 
* implements a dynamic type system for runtime function overload resolution on top of C++, based on typeclasses and parametric polymorphism
* highly modular, divided to three main parts: core, packages and user interfaces
+
* 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
 
* 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 system (even in function names and other identifiers)  
+
* fully localizable, Unicode can be used everywhere in the sygnm system (even in function names and other identifiers)
  
 
== Download sygnm ==
 
== Download sygnm ==

Revision as of 03:54, 9 May 2017


sygnm is a general purpose computer algebra system, currently in pre-alpha state of development, which differs in several aspects from other 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 system (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.

Documentation