{"id":13395732,"url":"https://github.com/dart-archive/kernel","last_synced_at":"2025-03-13T22:30:51.315Z","repository":{"id":137552952,"uuid":"57048731","full_name":"dart-archive/kernel","owner":"dart-archive","description":"Dart IR (Intermediate Representation) -- moved to dart-lang/sdk","archived":true,"fork":false,"pushed_at":"2016-11-25T10:22:08.000Z","size":34428,"stargazers_count":20,"open_issues_count":13,"forks_count":3,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-02-04T07:01:37.596Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dart-archive.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"AUTHORS"}},"created_at":"2016-04-25T14:31:32.000Z","updated_at":"2024-10-05T13:57:05.000Z","dependencies_parsed_at":"2024-01-18T10:28:51.857Z","dependency_job_id":null,"html_url":"https://github.com/dart-archive/kernel","commit_stats":null,"previous_names":["dart-lang/kernel"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dart-archive%2Fkernel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dart-archive%2Fkernel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dart-archive%2Fkernel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dart-archive%2Fkernel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dart-archive","download_url":"https://codeload.github.com/dart-archive/kernel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243493194,"owners_count":20299610,"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-07-30T18:00:29.655Z","updated_at":"2025-03-13T22:30:50.322Z","avatar_url":"https://github.com/dart-archive.png","language":"Dart","readme":"Moved\n=====\n\nThis has moved into the [Dart SDK repository](github.com/dart-lang/sdk).\n\nThis repository is not kept up-to-date.\n\nDart Kernel\n===========\n**Dart Kernel** is a small high-level language derived from Dart.\nIt is designed for use as an intermediate format for whole-program analysis\nand transformations, and as a frontend for codegen and execution backends.\n\nThe kernel language has in-memory representations in Dart and C++, and\ncan be serialized as binary or text.\n\nBoth the kernel language and its implementations are unstable and are under development.\n\nThis package contains the Dart part of the implementation and contains:\n- A transformable IR for the kernel language\n- A frontend based on the analyzer\n- Serialization of kernel code\n\nGetting Kernel\n------------\n\nCheckout the repository and run pub get:\n```bash\ngit clone https://github.com/dart-lang/kernel\ncd kernel\npub get\n```\n\nCommand-Line Tool\n-----------------\n\nRun `bin/dartk.dart` from the command-line to convert between .dart files\nand the serialized binary and textual formats.\n\n`dartk` expects the `.dill` extension for files in the binary format.\nThe textual format has no preferred extension right now.\n\nExample commands:\n```bash\ndartk foo.dart            # print text IR for foo.dart\ndartk foo.dart -ofoo.dill # write binary IR for foo.dart to foo.dill\ndartk foo.dill            # print text IR for binary file foo.dill\n```\n\nPass the `--link` or `-l` flag to link all transitive dependencies into one file:\n```bash\ndartk myapp.dart -ppackages -l -omyapp.dill # Bundle everything.\ndartk myapp.dill # Print it back out in a (very, very long) textual format.\n```\n\nSee [ast.dart](lib/ast.dart) for the in-memory IR, or [binary.md](binary.md) for\na description of the binary format.  For now, the textual format is very ad-hoc\nand cannot be parsed back in.\n\n\nTesting\n-------\n\nIf you plan to make changes to kernel, get a checkout of the Dartk SDK and run:\n```bash\ntool/regenerate_dill_files.dart --sdk \u003cpath to SDK checkout\u003e\npub run test\n```\n\n\nLinking\n-------------------------\nLinking from binary files is not yet implemented.  In order to compile a whole\nprogram, currently everything must be compiled from source at once.\n","funding_links":[],"categories":["Libraries"],"sub_categories":["Low Level"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdart-archive%2Fkernel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdart-archive%2Fkernel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdart-archive%2Fkernel/lists"}