{"id":13609513,"url":"https://github.com/ELENA-LANG/elena-lang","last_synced_at":"2025-04-12T20:32:06.937Z","repository":{"id":11202551,"uuid":"13586508","full_name":"ELENA-LANG/elena-lang","owner":"ELENA-LANG","description":"ELENA is a general-purpose language with late binding. It is multi-paradigm, combining features of functional and object-oriented programming. Rich set of tools are provided to deal with message dispatching : multi-methods, message qualifying, generic message handlers, run-time interfaces","archived":false,"fork":false,"pushed_at":"2025-04-08T11:52:55.000Z","size":47955,"stargazers_count":241,"open_issues_count":109,"forks_count":28,"subscribers_count":16,"default_branch":"develop","last_synced_at":"2025-04-08T12:27:36.805Z","etag":null,"topics":["compiler","elena","language","mixins","multi-methods","object-oriented","programming-language","script-engine"],"latest_commit_sha":null,"homepage":"https://elena-lang.github.io/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"jhonis/e-calendar","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ELENA-LANG.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["arakov"],"patreon":"elena_lang","open_collective":null,"ko_fi":"elenaprolang","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null}},"created_at":"2013-10-15T10:02:54.000Z","updated_at":"2025-03-28T16:55:54.000Z","dependencies_parsed_at":"2023-09-28T02:16:16.245Z","dependency_job_id":"c20e3c79-66e0-4a8d-94c2-b54e31256e1a","html_url":"https://github.com/ELENA-LANG/elena-lang","commit_stats":{"total_commits":5470,"total_committers":9,"mean_commits":607.7777777777778,"dds":0.0820840950639854,"last_synced_commit":"a61b5869f6e05f9318bdadb8bdcc457b57550fbe"},"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ELENA-LANG%2Felena-lang","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ELENA-LANG%2Felena-lang/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ELENA-LANG%2Felena-lang/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ELENA-LANG%2Felena-lang/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ELENA-LANG","download_url":"https://codeload.github.com/ELENA-LANG/elena-lang/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248629776,"owners_count":21136310,"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":["compiler","elena","language","mixins","multi-methods","object-oriented","programming-language","script-engine"],"created_at":"2024-08-01T19:01:35.500Z","updated_at":"2025-04-12T20:32:01.920Z","avatar_url":"https://github.com/ELENA-LANG.png","language":"C++","funding_links":["https://github.com/sponsors/arakov","https://patreon.com/elena_lang","https://ko-fi.com/elenaprolang","https://www.patreon.com/elena_lang","https://img.shields.io/static/v1?label=Sponsor\u0026message=%E2%9D%A4\u0026logo=GitHub\u0026link=https://github.com/sponsors/arakov"],"categories":["Uncategorized","Compilers and Interpreters"],"sub_categories":["Uncategorized","Serious Projects"],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cp\u003e\n    \u003cimg src=\"https://user-images.githubusercontent.com/5677187/84074668-31633400-a9d3-11ea-9fd6-9282ab80b537.jpg\"\u003e\n\u003c/p\u003e\n\u003ch1\u003eELENA Programming Language\u003c/h1\u003e\n\n[elena-lang.github.io](https://elena-lang.github.io/) |\n[Docs](https://github.com/ELENA-LANG/elena-lang/wiki/ELENA-Programming-Manual) |\n[Changelog](https://github.com/ELENA-LANG/elena-lang/blob/master/CHANGELOG.md) |\n[Contributing](https://github.com/ELENA-LANG/elena-lang/blob/master/CONTRIBUTING.md)\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \n[![MSBuild](https://github.com/ELENA-LANG/elena-lang/actions/workflows/msbuild.yml/badge.svg?branch=master)](https://github.com/ELENA-LANG/elena-lang/actions/workflows/msbuild.yml)\n[![Sponsor](https://img.shields.io/badge/patreon-donate-green.svg)](https://www.patreon.com/elena_lang)\n[![Sponsor](https://img.shields.io/static/v1?label=Sponsor\u0026message=%E2%9D%A4\u0026logo=GitHub\u0026link=https://github.com/sponsors/arakov)](https://github.com/sponsors/arakov)\n\n\u003c/div\u003e\n\nELENA is a general-purpose language with late binding. It is multi-paradigm, combining features of functional and object-oriented programming. It supports both strong and weak types, run-time conversions, boxing and unboxing primitive types, direct usage of external libraries. A rich set of tools is provided to deal with message dispatching : multi-methods, message qualifying, generic message handlers. Multiple-inheritance can be simulated using mixins and type interfaces. The built-in script engine allows incorporating custom-defined scripts into your applications. Both stand-alone applications and Virtual machine clients are supported.\n\n### Features\n\n  - Free and open-source (MIT licensed)\n  - Complete source code\n  - Unicode support (utf-8)\n  - GUI IDE \u0026 Debugger\n  - Optional types\n  - Multiple dispatching / multi-methods\n  - Returning Multiple Values\n  - Support of variadic methods\n  - Support of yieldable methods\n  - Closures\n  - Mixins\n  - Type interfaces / conversions\n  - Class / code templates\n  - Script Engine\n\n## Currently Supported Platforms\n\n- **Windows** : x86 (32-bit) / x86-64 (64-bit) \n- **Linux** : x86 (32-bit) / x86-64 (64-bit)  / ppc64le / arm64 (a64)\n\n## Source Download and Compilation\n\nTo acquire the source code clone the git repository:\n\n    git clone https://github.com/ELENA-LANG/elena-lang.git\n\n### Windows:\n\nThe compiler code is implemented in C++ and does not require external dependencies. You just need Visual Studio 2019.\n\nYou have to add a path to _BIN_ folder to the system environment *PATH* or copy elenavm.dll and elenart.dll to _Windows\\System32_ folder.\n\nTo build the compiler and API under VS2019 / VS2022 you have to go to the root folder and type:\n\n    recompile60.bat \n\n## Source Code Organization\n\n### Windows:\n\nThe ELENA source code is organized as follows:\n\n    bin                 binaries and shared libraries\n    bin\\scripts         scripts used by the script engine and VM console\n    bin\\templates       ELENA project templates\n    asm                 source for core routines implemented in assembly\n    dat\\sg              language grammar file            \n    dat\\og              language optimization rules\n    doc                 some documentations\n    elenasrc3\\elc       source for the compiler\n    elenasrc3\\elenart   source for the run-time shared library\n    elenasrc3\\elenasm   source for the script engine\n    elenasrc3\\elenavm   source for the virtual machine\n    elenasrc3\\gui       source for IDE\n    elenasrc3\\tools     source for ELENA utilities\n    examples60          ELENA examples\n    src60               source for ELENA libraries\n\n## Community\nWe want your contributions and suggestions! One of the easiest ways to contribute is to participate in Github discussions or on Discord.\n\nPlease take a look at our [contributor page](https://github.com/ELENA-LANG/elena-lang/wiki/Getting-Started-with-the-project)\n\n### 1. Bugs, questions, suggestions?\n\nIf you've noticed a bug or have a question go ahead and [make one](https://github.com/ELENA-LANG/elena-lang/issues/new/choose)!\n\n[Join](https://github.com/ELENA-LANG/elena-lang/issues?q=is%3Aissue+is%3Aopen+label%3A%22Design+Idea%22) design discussions or [take part](https://github.com/ELENA-LANG/elena-lang/issues?q=is%3Aissue+is%3Aopen+label%3ADiscussion) in general talks.\n\n### 2. Implement \"up for grab\" issues\n\n[Good first issue](https://github.com/ELENA-LANG/elena-lang/labels/good%20first%20issue) is a good starting point for a first-time contributors.\n\n### 3. Rosetta code\n\nYou may try to implement some of [Rosetta code tasks](http://rosettacode.org/wiki/Reports:Tasks_not_implemented_in_Elena) \nwhich are not yet implemented\n\n## Contact Us\n\nReach out with any questions you may have and we'll make sure to answer them as soon as possible!\n\n| Platform  | Link        |\n|:----------|:------------|\n| 💬 Instant Message Chat | [![Discord Banner](https://discordapp.com/api/guilds/1023392280087908352/widget.png?style=banner2)](https://discord.gg/pMCjunWSxH)\n| 📧 E-mail | elenaprolang@gmail.com\n| 🐤 Twitter | [@elena_language](https://twitter.com/elena_language)\n\n## Resources\n- **Nightly builds:** \u003chttps://ci.appveyor.com/project/arakov/elena-lang/build/artifacts\u003e\n- **ELENA Documentation** \u003chttps://github.com/ELENA-LANG/elena-lang/wiki/ELENA-Programming-Manual\u003e\n- **ELENA API 6.0** \u003chttps://elena-lang.github.io/api/index.html\u003e\n- **Git clone URL:** \u003cgit://github.com/ELENA-LANG/elena-lang.git\u003e\n- **Tutorials:** \u003chttps://github.com/ELENA-LANG/tutorials\u003e\n- **ELENA reddit:** \u003chttps://www.reddit.com/r/elena_lang/\u003e\n- **Source code:** \u003chttps://github.com/ELENA-LANG/elena-lang\u003e\n- **Twitter:** \u003chttps://twitter.com/elena_language\u003e\n- **Rosetta code:** \u003chttp://rosettacode.org/wiki/Category:Elena\u003e\n\n## License\n\nThe compiler and executables distributed in this package fall under MIT License, \nfor more information read the file LICENSE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FELENA-LANG%2Felena-lang","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FELENA-LANG%2Felena-lang","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FELENA-LANG%2Felena-lang/lists"}