sygnm

From sygnm
Jump to: navigation, search


sygnm (/ˈsiɡ.num/) is a general purpose computer algebra framework, which differs in several aspects from current computer algebra systems. It is free software, licensed under the GNU AGPL.

The main features of sygnm are:

  • It can be used as a library from several different programming languages (currently C++, Python, Ruby, Java), and it can also be used interactively in "calculator mode" through various user interfaces,
  • it does not invent it's own programming language; the core and mathematical packages are in C/C++ and you can also access these from other higher level languages like Python,
  • it's free and open source,
  • it's modular; the core, the packages implementing all mathematical functionality and the user interfaces are clearly separated,
  • it's based on modern technologies,
  • it respects your privacy; no telemetry, data collection, licensing checks or forced updates; it makes no network connections at all unless such a package is loaded and the user explicitly requests so,
  • it has a dynamic "type system" which enables runtime generic programming, based on typeclasses and function overloading,
  • however this runtime "type system" is optional and it is possible to write fast, specialized code without any runtime overhead.

Downloads and current state of development

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

Documentation