{"id":21928492,"url":"https://github.com/matthewelse/llambda","last_synced_at":"2026-05-02T10:37:14.547Z","repository":{"id":72083149,"uuid":"336817846","full_name":"matthewelse/llambda","owner":"matthewelse","description":"LLVM backend for OCaml","archived":false,"fork":false,"pushed_at":"2021-03-10T19:18:29.000Z","size":561,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-27T11:49:45.601Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"OCaml","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/matthewelse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2021-02-07T15:17:33.000Z","updated_at":"2021-05-01T08:47:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"6bbffcc1-f9c4-4aba-b4c4-6a4c48b616bb","html_url":"https://github.com/matthewelse/llambda","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/matthewelse%2Fllambda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewelse%2Fllambda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewelse%2Fllambda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/matthewelse%2Fllambda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/matthewelse","download_url":"https://codeload.github.com/matthewelse/llambda/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244954773,"owners_count":20537818,"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-11-28T22:26:15.419Z","updated_at":"2026-05-02T10:37:09.511Z","avatar_url":"https://github.com/matthewelse.png","language":"OCaml","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Llambda: An LLVM backend for OCaml\n\nThis is a crazy (and unimaginative) experiment to build an LLVM backend for\nOCaml. It is intended to be correct enough to satisfy my need to see the right\nnumbers printed to standard output. It is (probably very) buggy and certainly\ndoesn't generate great code.\n\nBig hairy audacious goal: interop with the existing flambda/lambda OCaml\ncompilers for optimising straight-line memory-access-intensive code that could\nbenefit from LLVM's peephole optimisations, as well as things like vector\ninstructions where possible.\n\n## Building LLVM \u0026 OCaml bindings\n\nThis is tested on macos and Linux, with OCaml 4.11.1 with and without flambda.\nYou may need `-DBUILD_SHARED_LIBS=On` if you don't have enough RAM to statically\nlink libLLVM.\n\n### Build LLVM:\n\n```bash\ncd external/llvm/llvm-project\nmkdir build\ncd build\ncmake -G Ninja -DLLVM_ENABLE_PROJECTS='' -DCMAKE_BUILD_TYPE=Debug \\\n      -DLLVM_ENABLE_ASSERTIONS=On -DLLVM_TARGETS_TO_BUILD=\"X86\" ../llvm\nninja # this is a good time to go and get some lunch\n```\n\n### Set up bindings\n\n```bash\ncd external/llvm\n./setup.sh\ndune build\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatthewelse%2Fllambda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatthewelse%2Fllambda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatthewelse%2Fllambda/lists"}