Difference between revisions of "Sygnm"

From sygnm
Jump to: navigation, search
 
 
(46 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<strong>MediaWiki has been installed.</strong>
+
{{lowercase}}
 +
__NOTOC__
 +
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.
  
Consult the [https://meta.wikimedia.org/wiki/Help:Contents User's Guide] for information on using the wiki software.
+
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.  
  
== Getting started ==
+
== Downloads and current state of development ==
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]
+
'''sygnm is currently in pre-alpha, there are no releases yet and the mathematical functionality is limited.'''
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]
+
The source is available at https://git.sygnm.org.
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki release mailing list]
+
There is some documentation on how to [[Building sygnm from source|build]] and [[Using sygnm|run]] sygnm from source.
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]
+
 
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]
+
== Documentation ==
 +
 
 +
* [[sygnm|sygnm (this page)]]
 +
* User documentation
 +
** [[Downloading and installing sygnm]]
 +
** [[Tutorial: sygnm in 15 minutes]]
 +
** [[Using sygnm]]
 +
** [[Tutorial: basic features]]
 +
** [[Configuration]]
 +
** [[Overview of sygnm architecture]]
 +
** [[Packages]]
 +
** [[Objects, types and function overloading]]
 +
** [[Expression trees and evaluation]]
 +
** [[Tutorial: creating sygnm packages]]
 +
** [[Tutorial: sygnm C++ API]]
 +
** [[Tutorial: using the sygnm framework from other software]]
 +
** [[Package file format reference]]
 +
* Developer documentation
 +
** [[Building sygnm from source]]
 +
** [[Developer manual]]
 +
** [[Roadmap]]
 +
** [[Wrappers]]
 +
** [[Removed or rejected features]]
 +
* [[License]]
 +
* [[Credits]]

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