{"id":19715326,"url":"https://github.com/plume-lang/plume","last_synced_at":"2025-08-13T06:05:10.356Z","repository":{"id":225162986,"uuid":"765225918","full_name":"plume-lang/plume","owner":"plume-lang","description":"Plume is a lightweight programming language that aims to be portable, powerful and easy to learn.","archived":false,"fork":false,"pushed_at":"2024-12-11T17:42:56.000Z","size":1362,"stargazers_count":12,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-29T20:39:40.581Z","etag":null,"topics":["algebraic-data-types","compiler","functional-programming","haskell","imperative-programming","lightweight","programming-language","traits"],"latest_commit_sha":null,"homepage":"","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/plume-lang.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"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}},"created_at":"2024-02-29T14:15:42.000Z","updated_at":"2025-02-15T08:38:15.000Z","dependencies_parsed_at":"2024-04-16T11:41:27.829Z","dependency_job_id":"85f2343e-336c-4826-8e99-5c729d93609c","html_url":"https://github.com/plume-lang/plume","commit_stats":null,"previous_names":["sisypheus-dev/feather-language","sisypheus-dev/plume-language","plume-lang/plume-language"],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/plume-lang/plume","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plume-lang%2Fplume","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plume-lang%2Fplume/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plume-lang%2Fplume/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plume-lang%2Fplume/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/plume-lang","download_url":"https://codeload.github.com/plume-lang/plume/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/plume-lang%2Fplume/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270191402,"owners_count":24542267,"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-08-13T02:00:09.904Z","response_time":66,"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":["algebraic-data-types","compiler","functional-programming","haskell","imperative-programming","lightweight","programming-language","traits"],"created_at":"2024-11-11T22:38:02.905Z","updated_at":"2025-08-13T06:05:10.300Z","avatar_url":"https://github.com/plume-lang.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cbr/\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/logo.svg\" width=\"128\"\u003e\n  \u003ch3 align=\"center\"\u003eThe Plume Programming Language\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    A programming language that promotes functional programming for everyone.\n    \u003cbr/\u003e\n    \u003cbr/\u003e\n    \u003ca href=\"https://github.com/plume-lang/plume/wiki\"\u003e\u003cstrong\u003eExplore the docs »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr/\u003e\n    \u003cbr/\u003e\n    \u003ca href=\"https://github.com/plume-lang/plume/issues\"\u003eReport Bug\u003c/a\u003e\n    .\n    \u003ca href=\"https://github.com/plume-lang/plume/issues\"\u003eRequest Feature\u003c/a\u003e\n    .\n    \u003ca href=\"https://discord.gg/rJGdHEfKhj\"\u003eJoin the community\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \n![Downloads](https://img.shields.io/github/downloads/plume-lang/plume/total) \n![Contributors](https://img.shields.io/github/contributors/plume-lang/plume?color=dark-green) \n![Issues](https://img.shields.io/github/issues/plume-lang/plume) \n![License](https://img.shields.io/github/license/plume-lang/plume)\n\n\u003c/div\u003e\n\n## Table Of Contents\n\n- [About the Project](#about-the-project)\n- [Built With](#built-with)\n- [Getting Started](#getting-started)\n  - [Prerequisites](#prerequisites)\n  - [Installation](#installation)\n- [Roadmap](#roadmap)\n- [Contributing](#contributing)\n- [License](#license)\n- [Authors](#authors)\n\n## About The Project\n\nPlume is a programming language that aims to be as simple as existing languages like Python. It has a great learning curve, permitting users either to perform simple tasks or to accomplish large projects.\n\nIts syntax has been designed to be non-aggressive and free, resulting in a pleasant-to-use and very extensible language. Plume supports some very cool features such as:\n\n- **Powerful data structures** enabled with ADTs let you take serious advantage of the language type system\n- **Extension system**, allowing you to define generalized behaviors for your types\n- **Strict type system**, letting you serenely compile your programs without worrying about runtime errors\n- **Safe standard library** to avoid basic but hard-to-find bugs\n- **Macro system** to expand actual syntax and to avoid unnecessary function calls\n\nThese are some of the language features available with Plume. But it still has other interesting properties to offer to you like platform-independent code or binary (because it either runs on a virtual machine or compiles down to WASM), great runtime performances, and so on..\n\n## Built With\n\nPlume has been built using Haskell and some specific libraries\n\n- [megaparsec](https://hackage.haskell.org/package/megaparsec)\n- [mtl](https://hackage.haskell.org/package/mtl)\n- [directory](https://hackage.haskell.org/package/directory)\n- [filepath](https://hackage.haskell.org/package/filepath)\n\n## Getting Started\n\nThis is an example of how you may give instructions on setting up your project locally.\nTo get a local copy up and running follow these simple example steps.\n\n### Prerequisites\n\nYou need to install these dependencies in order to compile and run Plume.\n\n- GHC (`\u003e= 9.8.1`): https://www.haskell.org/get-started/\n- Cabal (`\u003e= 3.0`): https://www.haskell.org/cabal/\n\n\u003e You could alternatively have installed GHCup which is an universal dependency manager for Haskell based tools.\n\n### Installation\n\n1. Clone the repo\n\n```sh\ngit clone https://github.com/plume-lang/plume.git\n```\n\n2. Update fetched Cabal packages\n\n```sh\ncabal update\n```\n\n3. Install or run Plume\n\n```sh\ncabal install # or cabal run in order just to run it\n```\n\n## Roadmap\n\nSee the [open issues](https://github.com/plume-lang/plume/issues) for a list of proposed features (and known issues).\n\n## Contributing\n\nContributions are what make open-source communities such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\n- If you have suggestions for adding or removing projects, feel free to [open an issue](https://github.com/plume-lang/plume/issues/new) to discuss it, or directly create a pull request after you edit the _README.md_ file with the necessary changes.\n- Please make sure you check your spelling and grammar.\n- Create individual PR for each suggestion.\n- Please also read through the [Code Of Conduct](https://github.com/plume-lang/plume/blob/main/CODE_OF_CONDUCT.md) before posting your first idea as well.\n\n### Creating A Pull Request\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## License\n\nDistributed under the MIT License. See [LICENSE](https://github.com/plume-lang/plume/blob/main/LICENSE.md) for more information.\n\n## Authors\n\n- **Sisypheus** - _Programming language designer_ - [Sisypheus](https://github.com/sisypheus-dev) - _Built most of the language_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplume-lang%2Fplume","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplume-lang%2Fplume","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplume-lang%2Fplume/lists"}