{"id":19260630,"url":"https://github.com/evant/sparkle","last_synced_at":"2025-07-06T22:35:15.146Z","repository":{"id":36492169,"uuid":"222617307","full_name":"evant/sparkle","owner":"evant","description":"A compiler for FiM++ written in rust","archived":false,"fork":false,"pushed_at":"2021-12-08T01:35:57.000Z","size":388,"stargazers_count":6,"open_issues_count":4,"forks_count":0,"subscribers_count":3,"default_branch":"mane","last_synced_at":"2025-06-04T14:07:49.613Z","etag":null,"topics":["compiler","esolang","rust"],"latest_commit_sha":null,"homepage":"","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/evant.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-11-19T05:41:45.000Z","updated_at":"2024-11-07T17:48:14.000Z","dependencies_parsed_at":"2022-09-06T11:00:40.396Z","dependency_job_id":null,"html_url":"https://github.com/evant/sparkle","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/evant/sparkle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evant%2Fsparkle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evant%2Fsparkle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evant%2Fsparkle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evant%2Fsparkle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evant","download_url":"https://codeload.github.com/evant/sparkle/tar.gz/refs/heads/mane","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evant%2Fsparkle/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263984486,"owners_count":23539707,"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","esolang","rust"],"created_at":"2024-11-09T19:22:11.536Z","updated_at":"2025-07-06T22:35:15.092Z","avatar_url":"https://github.com/evant.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sparkle\n\nA compiler for FiM++ written in rust.\n\nThe language mostly follows the [1.0 reference](https://docs.google.com/document/d/1gU-ZROmZu0Xitw_pfC1ktCDvJH5rM85TxxQf5pg_xmg/edit).\nYou can find notes about differing implementation details in [docs/notes.md](https://github.com/evant/sparkle/blob/master/docs/notes.md).\nYou can find several sample programs in the [examples](https://github.com/evant/sparkle/tree/master/examples) dir.\n\n## Building\n\nBuilding sparkle requires the rust toolchain. The easiest way to obtain this is with [rustup](https://rustup.rs/).\n\n```\ngit clone https://github.com/evant/sparkle.git\ncd sparkle\ncargo build --release\n./target/release/sparkle help\n./target/release/sparkle gallop examples/hello_equestria.fpp\n```\n\n## Usage\n\nYou may execute a report directly with `sparkle gallop [report]` or compile to an executable with \n`sparkle send [report]`.\n\n#### Linux/MacOS\n```\nsparkle send examples/hello_equestria.fpp\n./hello_equestria\n```\n\n#### Windows\n\nYou will need to install the Visual Studio [Build Tools](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2019)\n```\nsparkle send examples/hello_equestria.fpp\nhello_equestria\n```\n\n### Cross Compiling\n\nYou may cross-compile with `spakle send [report] to [linux|macos|windows]`. This will generate an object file for the \ngiven platform. You will still need to invoke that platform's linker to generate the final executable, but you won't \nneed sparkle compiled for that platform.\n\n#### Linux/MacOS\n\n```\ncc hello_equestria.o -o hello_equestria\n```\n\n#### Windows\n\n```\n\"C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Auxiliary\\Build\\vcvarsall.bat\" x64\ncl hello_equestria.obj ucrt.lib msvcrt.lib\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevant%2Fsparkle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevant%2Fsparkle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevant%2Fsparkle/lists"}