{"id":13610070,"url":"https://github.com/gren-lang/compiler","last_synced_at":"2025-04-12T22:32:37.511Z","repository":{"id":39634393,"uuid":"440259297","full_name":"gren-lang/compiler","owner":"gren-lang","description":"Compiler for the Gren programming language","archived":false,"fork":false,"pushed_at":"2025-04-04T12:48:15.000Z","size":11889,"stargazers_count":428,"open_issues_count":70,"forks_count":24,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-04-06T04:29:05.661Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://gren-lang.org","language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gren-lang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"gren-lang"}},"created_at":"2021-12-20T17:50:36.000Z","updated_at":"2025-04-04T12:46:26.000Z","dependencies_parsed_at":"2023-11-12T10:20:25.200Z","dependency_job_id":"99fa4efe-a8b4-45d3-bc4e-1a0de09ce1db","html_url":"https://github.com/gren-lang/compiler","commit_stats":{"total_commits":5939,"total_committers":128,"mean_commits":46.3984375,"dds":0.5590166694729752,"last_synced_commit":"a6043531b434a6f65ec1c78b9da92e68864f7f9c"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gren-lang%2Fcompiler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gren-lang%2Fcompiler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gren-lang%2Fcompiler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gren-lang%2Fcompiler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gren-lang","download_url":"https://codeload.github.com/gren-lang/compiler/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248553856,"owners_count":21123535,"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":[],"created_at":"2024-08-01T19:01:40.912Z","updated_at":"2025-04-12T22:32:36.965Z","avatar_url":"https://github.com/gren-lang.png","language":"Haskell","readme":"# Gren\n\nCompiler for Gren, a pure functional programming language that is easy to learn, but powerful in use.\n\nThere are easier ways to install the compiler than compiling the source, you might want to read the [setup instructions](https://gren-lang.org/install).\n\n## Build from source\n\nThis project uses [devbox](https://www.jetify.com/devbox) for managing dependencies required to build the project. If you don't want to use devbox,\nyou can find a list of the requried dependencies and the commands for building the compiler in `devbox.json`.\n\nSince Gren 0.4 the compiler is implemented in two parts. The Gren-part of the compiler lives in `src`, and once built it acts\nas a frontend to the Haskell-part of the compiler.\n\nThe end goal is for the entire compiler to be written in Gren.\n\nTo build the compiler:\n\n1. Use `devbox run prepare-deps` to setup the required dependencies. The first time you run this it might take a while.\n2. Build the compiler with `devbox run build`. This will create a `cli.js` file and a `gren` executable in the project root directory.\n\nYou can now execute the Gren-part of the compiler with `node ./cli.js` or just `./cli.js`. This either requires `node` to be installed,\nor that you've entered the development shell by using `devbox shell`. The Gren-part of the compiler will by default download a pre-built\nbinary of the Haskell-part from Github. If you want to run the compiler with the Haskell-part you've just built, set the path\nto the Haskell-binary in a `GREN_BIN` environment variable, like: `GREN_BIN=$PWD/gren node ./cli.js`.\n\nYou might also want to study the scripts defined in `devbox.json`. You can execute one of these scripts by running\n`devbox run \u003cscript_name\u003e`.\n","funding_links":["https://github.com/sponsors/gren-lang"],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgren-lang%2Fcompiler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgren-lang%2Fcompiler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgren-lang%2Fcompiler/lists"}