{"id":13779921,"url":"https://github.com/Nelson-numerical-software/nelson","last_synced_at":"2025-05-11T13:31:34.147Z","repository":{"id":37561803,"uuid":"77338134","full_name":"nelson-lang/nelson","owner":"nelson-lang","description":"The Nelson Programming Language","archived":false,"fork":false,"pushed_at":"2024-05-17T19:05:10.000Z","size":60274,"stargazers_count":86,"open_issues_count":16,"forks_count":15,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-05-17T19:12:05.105Z","etag":null,"topics":["cpp17","data-science","data-structures","interpreter","mathematical-functions","matlab","matrix-functions","nelson","octave","programming-language","scientific-computing","scilab"],"latest_commit_sha":null,"homepage":"https://nelson-lang.github.io/nelson-website/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nelson-lang.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG-0.1.x.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"ROADMAP-1.0.0.md","authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":"https://paypal.me/allanccornet"}},"created_at":"2016-12-25T18:34:28.000Z","updated_at":"2024-05-31T19:23:12.082Z","dependencies_parsed_at":"2023-09-24T11:06:51.034Z","dependency_job_id":"8383b689-6139-4d55-9393-3183af0bcd05","html_url":"https://github.com/nelson-lang/nelson","commit_stats":null,"previous_names":["nelson-lang/nelson","nelson-numerical-software/nelson"],"tags_count":89,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nelson-lang%2Fnelson","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nelson-lang%2Fnelson/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nelson-lang%2Fnelson/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nelson-lang%2Fnelson/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nelson-lang","download_url":"https://codeload.github.com/nelson-lang/nelson/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225056752,"owners_count":17414202,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp17","data-science","data-structures","interpreter","mathematical-functions","matlab","matrix-functions","nelson","octave","programming-language","scientific-computing","scilab"],"created_at":"2024-08-03T18:01:10.595Z","updated_at":"2024-11-17T15:30:47.474Z","avatar_url":"https://github.com/nelson-lang.png","language":"C++","funding_links":["https://paypal.me/allanccornet"],"categories":["C"],"sub_categories":[],"readme":"![Nelson logo](https://github.com/nelson-lang/nelson/blob/master/resources/banner_nelson_small.png?raw=true)\n\n![Visitor Badge](https://visitor-badge.laobi.icu/badge?page_id=nelson-lang.nelson)\n\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/d5f82474da134d979b472fa5fbe7b5b9)](https://www.codacy.com/gh/nelson-lang/nelson/dashboard?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=nelson-lang/nelson\u0026utm_campaign=Badge_Grade)\n[![CodeQL analysis (C/C++)](https://github.com/nelson-lang/nelson/actions/workflows/codeql-analysis-cpp.yml/badge.svg)](https://github.com/nelson-lang/nelson/actions/workflows/codeql-analysis-cpp.yml)[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/602/badge)](https://bestpractices.coreinfrastructure.org/projects/602)\n\n[![Build Status](https://github.com/nelson-lang/nelson/workflows/C%2FC%2B%2B%20CI/badge.svg)](https://github.com/nelson-lang/nelson/workflows/C%2FC%2B%2B%20CI/badge.svg)\n\n[![GitHub license](https://img.shields.io/badge/license-LGPL3.0-blue.svg)](https://github.com/nelson-lang/nelson/blob/master/lgpl-3.0.md)\n[![CLA assistant](https://cla-assistant.io/readme/badge/nelson-lang/nelson)](https://cla-assistant.io/nelson-lang/nelson)\n[![Open Hub](https://img.shields.io/badge/Open-Hub-blue.svg)](https://www.openhub.net/p/nelson-interpreter)\n[![Weblate](https://img.shields.io/badge/Weblate--green.svg)](https://hosted.weblate.org/projects/nelson/)\n\n[![Join the chat at https://gitter.im/nelson-lang/Lobby](https://badges.gitter.im/nelson-lang/Lobby.svg)](https://gitter.im/nelson-lang/Lobby?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\nNelson is an array programming language providing a powerful open computing environment for\nengineering and scientific applications using modern C/C++ libraries (Boost, Eigen, …)\nand others state of art numerical libraries.\n\nIt has sophisticated data structures (including cell, struct, dictionary, linear systems, …),\nan interpreter and a high level programming language.\n\nNelson has been developed to be an open/modular system where an user can define\nthese own data types and operations on these data types by using overload.\n\n![Nelson environment](https://github.com/nelson-lang/nelson-website/blob/master/images/Nelson-windows.png?raw=true)\n\n## Website dedicated to users\n\nFor more information go to [https://nelson-lang.github.io/nelson-website/](https://nelson-lang.github.io/nelson-website/).\n\n## Starring the repository\n\nIf you found this project useful, please consider [starring it on GitHub !!!](https://github.com/nelson-lang/nelson/stargazers) This allows me to see how many people are using my code, and motivates me to keep working to improve it.\n\n## Download\n\n[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/nelson)\n\n[Latest Windows Installer](https://github.com/nelson-lang/nelson/releases)\n\n[Get it from the Windows Package Manager](https://winstall.app/apps/NelsonNumericalSoftware.Nelson)\n\n[Get it from the Chocolatey Package Manager](https://community.chocolatey.org/packages/nelson)\n\n## Features\n\n- Types managed by Nelson:\n\n  - double and double complex: scalar, vector, matrix 2D, N dimensions array, sparse matrix.\n  - single and single complex: scalar, vector, matrix 2D, N dimensions array, sparse matrix.\n  - logical: scalar, vector, matrix 2D, N dimensions array, sparse matrix.\n  - character array (UNICODE supported).\n  - string array (UNICODE supported).\n  - integers 8, 16, 32, 64 signed and unsigned: scalar, vector, matrix 2D, N dimensions array.\n  - handle objects.\n  - anonymous functions,\n  - all types can be overloaded.\n\n- `OpenMP` and `SIMD` extensions used.\n\n- 2D and 3D plotting with high-level plot commands.\n\n- Desktop environment with history, file and workspace browser.\n\n- Parallel Computing Module.\n\n- Fast Fourrier Transformation functions based on FFTW and MKL wrapper.\n\n- SLICOT (Subroutine Library in Systems and Control Theory) interfaces (optional).\n\n- Control System module.\n\n- Message Passing Interface (MPI): functions for parallel computing.\n\n- JSON decode/encode data support.\n\n- HDF5 high-level functions I/O,\n\n- HDF5 used as default data file format (.nh5) load/save workspace,\n\n- MAT-file compatible load/save workspace,\n\n- Foreign Function Interface C/Fortran.\n\n- Interfacing C/C++ or Fortran with Nelson (build and load external code on the fly).\n\n- MEX C API compatibility.\n\n- Nelson Engine API for C (compatible with MEX Engine). Call Nelson from your C code as engine.\n\n- Call Python from Nelson.\n\n- RESTful API web service.\n\n- Inter-process communication between Nelson's process.\n\n- The QML engine enables nelson programs to display and manipulate graphical content using Qt's QML framework.\n\n- Component Object Model (COM) client interface: binary-interface standard for software components on Windows.\n\n- Write/Read xlsx files on Windows using COM.\n\n- Embedded Nelson code editor.\n\n- Help engine:\n\n  Generate help files using Nelson dedicated functions.\n  View your generated help files as html, markdown, pdf, gitbook or directly in Nelson help viewer.\n\n- Tests engine:\n\n  Validate your algorithm using Nelson dedicated functions.\n  Export the test results under the xUnit reports format.\n\n- Profiling and Code coverage tools for Nelson's language:\n\n  Nelson has a built-in profiler that is very useful to profile your code and find out what script or function is taking the most time.\n\n- [Nelson cloud](https://www.npmjs.com/package/nelson-cloud):\n  Instant access to Nelson anywhere from an web browser.\n\n- Module skeleton to extend Nelson available here:\n\n  - [template macros and builtin](https://github.com/nelson-lang/module_skeleton),\n  - [basic template macros only](https://github.com/nelson-lang/module_skeleton_basic).\n\n- Nelson Modules Manager (nmm) : package manager for Nelson\n\n## Licenses\n\nNelson is delivered under dual-license:\n\n- [![License (GNU Lesser General Public License (LGPL) v3.0)](\u003chttps://img.shields.io/badge/License-GNU%20Lesser%20General%20Public%20License%20(LGPL)%20v3.0-blue.svg?style=flat-square\u003e)](https://opensource.org/licenses/LGPL-3.0)\n\n  or\n\n- [![License (GNU General Public License (GPL) v3.0)](\u003chttps://img.shields.io/badge/license-GNU%20General%20Public%20License%20(GPL)%20v3.0-blue.svg?style=flat-square\u003e)](https://opensource.org/licenses/GPL-3.0)\n\n## Resources\n\n- **Homepage:** \u003chttps://nelson-lang.github.io/nelson-website/\u003e\n- **Source code:** \u003chttps://github.com/nelson-lang/nelson\u003e\n- **Binaries:** \u003chttps://github.com/nelson-lang/nelson/releases\u003e\n- **Docker:** \u003chttps://hub.docker.com/r/nelsonsoftware/nelson/\u003e\n- **Documentation:** \u003chttps://nelson-lang.github.io/nelson-website/help/en_US/\u003e\n- **GitBook:**\n  \u003chttps://nelson-9.gitbook.io/nelson/\u003e\n- **Gitter:** \u003chttps://gitter.im/nelson-lang/Lobby\u003e\n- **YouTube:** \u003chttps://www.youtube.com/channel/UCdZMnH0HC9XflNGAFFiRX9g\u003e\n- **Twitter:** \u003chttps://twitter.com/Nelson_software\u003e\n\n## Tested and supported platforms\n\nSystems with ✓ downloads are available on [downloads](https://github.com/nelson-lang/nelson/releases) page.\n\nSystems with ✓ for CI are tested with continuous integration for every commit.\n\nThe systems listed here without CI or binaries are known to build and operate, but the continued support of these platforms is user-dependent.\n\n| Operating System |  Architecture   | CI  | Binaries |\n| :--------------: | :-------------: | :-: | :------: |\n| Windows 7 to 11  | x86-64 (64-bit) |  ✓  |    ✓     |\n|                  |  i686 (32-bit)  |  ✓  |    ✓     |\n|   macOS Sonoma   |   arm64 (M1)    |  ✓  |          |\n|  macOS Ventura   | x86-64 (64-bit) |  ✓  |          |\n|  macOS Monterey  | x86-64 (64-bit) |  ✓  |          |\n|   Ubuntu 24.04   | x86-64 (64-bit) |  ✓  | ✓ (snap) |\n|   Ubuntu 22.04   | x86-64 (64-bit) |  ✓  | ✓ (snap) |\n|   Ubuntu 20.04   | x86-64 (64-bit) |  ✓  | ✓ (snap) |\n|   Ubuntu 18.04   | x86-64 (64-bit) |     | ✓ (snap) |\n|    ArchLinux     | x86-64 (64-bit) |  ✓  | ✓ (snap) |\n|    Fedora 36     | x86-64 (64-bit) |  ✓  | ✓ (snap) |\n|     Raspbian     | ARM v8 (64-bit) |     |          |\n\nAllan CORNET (nelson.numerical.computation@gmail.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNelson-numerical-software%2Fnelson","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNelson-numerical-software%2Fnelson","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNelson-numerical-software%2Fnelson/lists"}