Difference between revisions of "Sygnm"

From sygnm
Jump to: navigation, search
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{lowercase}}
 
{{lowercase}}
 
__NOTOC__
 
__NOTOC__
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.
+
sygnm (/ˈsiɡ.num/, short for '''sy'''mbolic computing and '''nu'''merical '''m'''athematics) 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:
 
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 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 languages,
+
* 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 '''free''' and '''open source''',
 
* it's '''modular'''; the core, the packages implementing all mathematical functionality and the user interfaces are clearly separated,
 
* 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's based on '''modern''' technologies,
* it respects your '''privacy'''; no telemetry, data collection, licensing or forced updates; it makes no network connections at all unless such a package is loaded and the user explicitly requests so,
+
* 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,
 
* 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.  
 
* 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 ==
 
== Downloads and current state of development ==
sygnm is currently in pre-alpha, there are no releases yet.
+
'''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.
 
The source is available at https://git.sygnm.org.
 
There is some documentation on how to [[Building sygnm from source|build]] and [[Using sygnm|run]] sygnm from source.
 
There is some documentation on how to [[Building sygnm from source|build]] and [[Using sygnm|run]] sygnm from source.

Latest revision as of 16:54, 28 April 2018


sygnm (/ˈsiɡ.num/, short for symbolic computing and numerical mathematics) 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