{"id":24691859,"url":"https://github.com/nelson-lang/nelson","last_synced_at":"2025-12-27T23:43:02.138Z","repository":{"id":37561803,"uuid":"77338134","full_name":"nelson-lang/nelson","owner":"nelson-lang","description":"The Nelson Programming Language","archived":false,"fork":false,"pushed_at":"2025-10-06T17:59:49.000Z","size":76985,"stargazers_count":110,"open_issues_count":12,"forks_count":19,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-10-06T18:38:17.470Z","etag":null,"topics":["cpp17","data-science","data-structures","interpreter","mathematical-functions","matlab","matrix-functions","nelson","octave","programming-language","scientific-computing"],"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":"CLA.md"},"funding":{"custom":"https://paypal.me/allanccornet"}},"created_at":"2016-12-25T18:34:28.000Z","updated_at":"2025-09-23T19:48:15.000Z","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":98,"template":false,"template_full_name":null,"purl":"pkg:github/nelson-lang/nelson","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","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nelson-lang%2Fnelson/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000705,"owners_count":26082805,"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","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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"],"created_at":"2025-01-26T19:19:49.581Z","updated_at":"2025-10-08T19:31:59.343Z","avatar_url":"https://github.com/nelson-lang.png","language":"C++","readme":"![Visitor Badge](https://visitor-badge.laobi.icu/badge?page_id=nelson-lang.nelson)\n\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://nelson-lang.github.io/nelson-website/\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://github.com/nelson-lang/nelson/blob/master/resources/banner_nelson_small.png?raw=true\" alt=\"Nelson Logo\" width=\"210\" height=\"142\"\u003e\u003c/img\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cbr\u003e\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://github.com/nelson-lang/nelson/actions/workflows/ccpp.yml\"\u003e\u003cimg src='https://github.com/nelson-lang/nelson/workflows/C%2FC%2B%2B%20CI/badge.svg'/\u003e\u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://github.com/nelson-lang/nelson/actions/workflows/codeql-analysis-cpp.yml\"\u003e\u003cimg src='https://github.com/nelson-lang/nelson/actions/workflows/codeql-analysis-cpp.yml/badge.svg'/\u003e\u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003ca href=\"https://bestpractices.coreinfrastructure.org/projects/602\"\u003e\u003cimg src='https://bestpractices.coreinfrastructure.org/projects/602/badge'/\u003e\u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n# 🚀 The Nelson language\n\nThe main homepage for Nelson can be found at [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## 🎓 **Introduction**\n\nNelson is a powerful, open-source numerical computational language, developed to provide a comprehensive and intuitive environment for engineers, scientists, and students. With over 1,200 built-in functions, Nelson supports a wide range of tasks, from basic algebra to advanced numerical simulations.\n\nOriginally inspired by languages like MATLAB© and GNU Octave, Nelson offers users a lightweight yet feature-rich experience. It is designed to be easy to learn and use, with an emphasis on performance and flexibility.\n\n![Nelson environment](https://github.com/nelson-lang/nelson-website/blob/master/images/Nelson-windows.png?raw=true)\n\n## 🛠️ **Features**\n\n### Data Types Managed by Nelson\n\n- **Double and Complex Double**: Supports scalars, vectors, 2D matrices, N-dimensional arrays, and sparse matrices.\n- **Single and Complex Single**: Includes scalars, vectors, 2D matrices, N-dimensional arrays, and sparse matrices.\n- **Logical**: Handles scalars, vectors, 2D matrices, N-dimensional arrays, and sparse matrices.\n- **Character Arrays**: Supports UNICODE characters.\n- **String Arrays**: Fully supports UNICODE.\n- **Integers**: 8, 16, 32, and 64-bit signed and unsigned scalars, vectors, 2D matrices, and N-dimensional arrays.\n- **Handle Objects**: For object-oriented functionality.\n- **Anonymous Functions**: Allows creation and manipulation of functions without names.\n- **Data Structures**: Supports dictionaries and tables.\n- **Overloading**: All types can be overloaded for custom behavior.\n\n### Performance Enhancements\n\n- **OpenMP and SIMD**: Utilizes parallel processing and vectorization for faster computations.\n\n### Visualization \u0026 Interface\n\n- **2D and 3D Plotting**: High-level commands for visualizations.\n- **User Interface Controls**: Built-in controls for creating custom interfaces.\n- **Desktop Environment**: Comes with history tracking, a file explorer, and workspace browser.\n\n### Advanced Modules\n\n- **Parallel Computing**: Enables efficient use of multi-core processors.\n- **Fast Fourier Transform (FFT)**: High-performance FFT functions based on FFTW and MKL.\n- **SLICOT Interface**: Optional support for the Systems and Control Theory subroutine library.\n- **Control System Module**: Tools for control theory and system design.\n- **MPI (Message Passing Interface)**: Functions for distributed parallel computing.\n\n### Data Formats \u0026 Interfacing\n\n- **JSON Support**: Read and write JSON files.\n- **HDF5 Functions**: High-level I/O functions, with HDF5 as the default file format for `.nh5` workspaces.\n- **MAT-File Compatibility**: Load and save workspaces in MAT-file format.\n- **Foreign Function Interface (FFI)**: Build and load C/Fortran code on the fly.\n- **MEX C API Compatibility**: Interfacing with MEX-compatible C APIs.\n- **Nelson Engine API**: Use Nelson as a backend engine within C code, compatible with the MEX Engine API.\n- **Python Interfacing**: Call Python scripts and functions from Nelson.\n- **RESTful API**: Enables Nelson to interact with web services.\n\n### Additional Capabilities\n\n- **Inter-Process Communication**: Communicate between Nelson processes.\n- **QML Engine**: Use Qt’s QML framework to display and manipulate graphical content.\n- **Component Object Model (COM)**: Interface with COM components, especially on Windows.\n- **Excel File Support**: Write and read `.xlsx` files using COM on Windows.\n- **Embedded Code Editor**: Integrated editor for Nelson scripts.\n\n### Help \u0026 Testing Tools\n\n- **Help Engine**: Generate and view help files in various formats like HTML, Markdown, PDF, or GitBook.\n- **Test Engine**: Validate algorithms using built-in functions, with support for xUnit report export.\n\n### Profiling \u0026 Code Coverage\n\n- **Profiler**: Built-in profiler to analyze and optimize code performance.\n- **Code Coverage**: Measure the coverage of your tests to ensure thorough validation.\n\n### Cloud \u0026 Extensibility\n\n- **Nelson Cloud**: Instant access to Nelson from any web browser via [Nelson Cloud](https://www.npmjs.com/package/nelson-cloud).\n- **Module Skeleton**: Templates for extending Nelson:\n  - [Template with Macros and Builtins](https://github.com/nelson-lang/module_skeleton).\n  - [Basic Macros Template](https://github.com/nelson-lang/module_skeleton_basic).\n- **Nelson Modules Manager (nmm)**: A package manager to install and manage extensions for Nelson.\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## 📚 **Resources**\n\n- **Homepage:** \u003chttps://nelson-lang.github.io/nelson-website/\u003e\n- **GitBook:** \u003chttps://nelson-lang.github.io/nelson-gitbook/\u003e\n- **Documentation:** \u003chttps://nelson-lang.github.io/nelson-website/help/en_US/\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- **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- **LinkedIn:** \u003chttps://www.linkedin.com/groups/13576150\u003e\n\n## 📜 **License**\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## 💻 **Supported Platforms**\n\nNelson is tested and supported on a wide range of platforms. **[Downloads](https://github.com/nelson-lang/nelson/releases)** options and **[continuous integration (CI)](https://github.com/nelson-lang/nelson/actions/workflows/ccpp.yml)** status are listed below:\n\n| **Operating System** |  **Architecture**  | **CI** | **Binaries** |\n| :------------------: | :----------------: | :----: | :----------: |\n|  **Windows 10, 11**  |    x86-64, i686    |   ✓    |      ✓       |\n|  **macOS Sequoia**   |       arm64        |   ✓    |              |\n|   **macOS Sonoma**   |       arm64        |   ✓    |              |\n|  **macOS Ventura**   |  x86-64 (64-bit)   |   ✓    |              |\n|   **Ubuntu 24.04**   |       x86-64       |   ✓    |   ✓ (Snap)   |\n|   **Ubuntu 24.04**   | arm64 (cobalt 100) |   ✓    |   ✓ (Snap)   |\n|   **Ubuntu 22.04**   |       x86-64       |   ✓    |   ✓ (Snap)   |\n|   **Ubuntu 20.04**   |       x86-64       |   ✓    |   ✓ (Snap)   |\n|    **Fedora 40**     |       x86-64       |   ✓    |   ✓ (Snap)   |\n|    **ArchLinux**     |       x86-64       |   ✓    |   ✓ (Snap)   |\n|     **Raspbian**     |  ARM v8 (64-bit)   |        |              |\n\n_Note: The continued support of some platforms may depend on community contributions._\n\nAllan CORNET (nelson.numerical.computation@gmail.com)\n","funding_links":["https://paypal.me/allanccornet"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnelson-lang%2Fnelson","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnelson-lang%2Fnelson","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnelson-lang%2Fnelson/lists"}