{"id":16476295,"url":"https://github.com/dominicburkart/marigold","last_synced_at":"2025-03-16T18:31:35.909Z","repository":{"id":41175774,"uuid":"463637545","full_name":"DominicBurkart/marigold","owner":"DominicBurkart","description":"Marigold is a programming language for operating on async streams that compiles to Rust 🏵️🦀","archived":false,"fork":false,"pushed_at":"2024-07-21T13:08:58.000Z","size":223,"stargazers_count":3,"open_issues_count":7,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-27T12:08:55.239Z","etag":null,"topics":["async","dsl","lalrpop","programming-language","rust"],"latest_commit_sha":null,"homepage":"https://dominic.computer/marigold","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DominicBurkart.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"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":"2022-02-25T18:31:17.000Z","updated_at":"2022-12-14T16:24:25.000Z","dependencies_parsed_at":"2024-07-21T14:31:40.287Z","dependency_job_id":"2861abde-0089-4c97-8a4c-e769153a655c","html_url":"https://github.com/DominicBurkart/marigold","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DominicBurkart%2Fmarigold","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DominicBurkart%2Fmarigold/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DominicBurkart%2Fmarigold/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DominicBurkart%2Fmarigold/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DominicBurkart","download_url":"https://codeload.github.com/DominicBurkart/marigold/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243826788,"owners_count":20354220,"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":["async","dsl","lalrpop","programming-language","rust"],"created_at":"2024-10-11T12:41:59.518Z","updated_at":"2025-03-16T18:31:35.086Z","avatar_url":"https://github.com/DominicBurkart.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Marigold\n\n[![crates.io](https://img.shields.io/crates/v/marigold.svg)](https://crates.io/crates/marigold)\n[![docs.rs](https://img.shields.io/docsrs/marigold.svg)](https://docs.rs/marigold)\n[![website](https://img.shields.io/badge/-website-blue)](https://dominic.computer/marigold)\n[![lines of code](https://raw.githubusercontent.com/DominicBurkart/marigold/main/development_metadata/badges/lines_of_code.svg)](https://github.com/DominicBurkart/marigold)\n[![contributors](https://raw.githubusercontent.com/DominicBurkart/marigold/main/development_metadata/badges/contributors.svg)](https://github.com/DominicBurkart/marigold/graphs/contributors)\n[![bench](https://github.com/DominicBurkart/marigold/workflows/bench/badge.svg)](https://github.com/DominicBurkart/marigold/actions/workflows/bench.yaml)\n[![tests](https://github.com/DominicBurkart/marigold/workflows/tests/badge.svg)](https://github.com/DominicBurkart/marigold/actions/workflows/tests.yaml)\n[![style](https://github.com/DominicBurkart/marigold/workflows/style/badge.svg)](https://github.com/DominicBurkart/marigold/actions/workflows/style.yaml)\n[![wasm](https://github.com/DominicBurkart/marigold/workflows/wasm/badge.svg)](https://github.com/DominicBurkart/marigold/actions/workflows/wasm.yaml)\n[![last commit](https://img.shields.io/github/last-commit/dominicburkart/marigold)](https://github.com/DominicBurkart/marigold)\n\nMarigold is an imperative, domain-specific language for data pipelining and\nanalysis using async streams. It can be used as a standalone language or within\nRust programs.\n\n```rust\nuse marigold::m;\n\nlet odd_digits = m!(\n  fn is_odd(i: \u0026i32) -\u003e bool {\n    i.wrapping_rem(2) == 1\n  }\n\n  range(0, 10)\n    .filter(is_odd)\n    .return\n).await.collect::\u003cVec\u003c_\u003e\u003e();\n\nprintln!(\"{:?}\", odd_digits); // [1, 3, 5, 7, 9]\n```\n\n## Runtimes\n\nBy default, Marigold works in a single future and can work with any runtime.\n\nThe `tokio` and `async-std` features allow Marigold to spawn additional tasks,\nenabling parallelism for multithreaded runtimes.\n\nMarigold supports async tracing, e.g. with tokio-console.\n\n## Platforms\n\nMarigold's CI builds against aarch64, arm, WASM, and x86 targets, and builds\nthe x86 target in mac and windows environments.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdominicburkart%2Fmarigold","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdominicburkart%2Fmarigold","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdominicburkart%2Fmarigold/lists"}