{"id":13608280,"url":"https://github.com/snowleopard/build","last_synced_at":"2026-01-24T08:33:12.001Z","repository":{"id":29588683,"uuid":"122148935","full_name":"snowleopard/build","owner":"snowleopard","description":"Build Systems à la Carte","archived":false,"fork":false,"pushed_at":"2024-06-30T10:37:20.000Z","size":2660,"stargazers_count":259,"open_issues_count":3,"forks_count":19,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-12-07T20:21:39.861Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TeX","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/snowleopard.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":null,"funding":null,"license":"LICENSE","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":"2018-02-20T02:59:35.000Z","updated_at":"2025-11-24T17:11:23.000Z","dependencies_parsed_at":"2024-01-16T23:30:28.499Z","dependency_job_id":"6e4155d3-371a-4c87-9bf1-c08a5d52a321","html_url":"https://github.com/snowleopard/build","commit_stats":{"total_commits":768,"total_committers":9,"mean_commits":85.33333333333333,"dds":0.3125,"last_synced_commit":"975e05dc67906a5e252338c9819cda6c5e6819c6"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/snowleopard/build","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowleopard%2Fbuild","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowleopard%2Fbuild/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowleopard%2Fbuild/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowleopard%2Fbuild/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/snowleopard","download_url":"https://codeload.github.com/snowleopard/build/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/snowleopard%2Fbuild/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28720792,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T08:27:05.734Z","status":"ssl_error","status_checked_at":"2026-01-24T08:27:01.197Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-08-01T19:01:25.855Z","updated_at":"2026-01-24T08:33:11.986Z","avatar_url":"https://github.com/snowleopard.png","language":"TeX","funding_links":[],"categories":["TeX","others"],"sub_categories":[],"readme":"# Build Systems à la Carte\n\n[![Hackage version](https://img.shields.io/hackage/v/build.svg?label=Hackage)](https://hackage.haskell.org/package/build) [![Build status](https://img.shields.io/github/actions/workflow/status/snowleopard/build/ci.yml?branch=main)](https://github.com/snowleopard/build/actions)\n\nThis project provides an executable framework for developing and comparing build systems, viewing them as\nrelated points in landscape rather than as isolated phenomena. The code derives from the ICFP 2018 paper\n[\"Build Systems à la Carte\"](https://dl.acm.org/citation.cfm?id=3236774)\n([PDF](https://dl.acm.org/ft_gateway.cfm?id=3236774)).\n\n## Getting Started\n\nYou may be interested to:\n\n* Run `stack test` to execute all the provided build systems on a very simple example.\n* Look at the [HTML documentation](https://hackage.haskell.org/package/build) of all modules for the last release,\n  or generate it yourself using `stack haddock`.\n* Read the code, particularly [Build.System](src/Build/System.hs), which is the concrete implementation of\n  all build systems.\n\n## Related Material\n\n* Blog post [on the motivation behind the project](https://blogs.ncl.ac.uk/andreymokhov/cloud-and-dynamic-builds/).\n* Blog post [on the task abstraction](https://blogs.ncl.ac.uk/andreymokhov/the-task-abstraction/).\n* Blog post [reviewing how the paper was written](https://neilmitchell.blogspot.com/2018/07/inside-paper-build-systems-la-carte.html).\n* Talk [by Neil on this paper and Shake](https://ndmitchell.com/#shake_18_may_2018).\n* A talk on build systems\n  [by Andrey](https://github.com/snowleopard/build/releases/download/icfp-final/build-systems-slides-andrey.pdf).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnowleopard%2Fbuild","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsnowleopard%2Fbuild","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsnowleopard%2Fbuild/lists"}