{"id":13648930,"url":"https://github.com/twitter/rsc","last_synced_at":"2025-07-09T22:43:11.324Z","repository":{"id":57729224,"uuid":"100630876","full_name":"twitter/rsc","owner":"twitter","description":"Experimental Scala compiler focused on compilation speed","archived":false,"fork":false,"pushed_at":"2021-10-21T17:27:10.000Z","size":3335,"stargazers_count":1237,"open_issues_count":82,"forks_count":47,"subscribers_count":74,"default_branch":"master","last_synced_at":"2025-06-07T23:53:07.972Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Scala","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/twitter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-08-17T17:56:27.000Z","updated_at":"2025-06-05T11:20:58.000Z","dependencies_parsed_at":"2022-09-10T21:51:22.811Z","dependency_job_id":null,"html_url":"https://github.com/twitter/rsc","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/twitter/rsc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter%2Frsc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter%2Frsc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter%2Frsc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter%2Frsc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/twitter","download_url":"https://codeload.github.com/twitter/rsc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter%2Frsc/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264504616,"owners_count":23618831,"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-02T01:04:39.029Z","updated_at":"2025-07-09T22:43:11.301Z","avatar_url":"https://github.com/twitter.png","language":"Scala","funding_links":[],"categories":["Scala"],"sub_categories":[],"readme":"# Rsc\n\nReasonable Scala compiler (also known as Rsc) is an experimental Scala compiler\nfocused on compilation speed. This project is developed by the Language Tools team at Twitter.\n\nRsc is not a fork, but a reimplementation of the Scala compiler.\nWe believe that a performance-oriented rewrite will provide a unique perspective\non compilation costs introduced by various Scala features and idioms -\nsomething that is currently very hard to quantify in existing compilers.\n\nWith Rsc, our mission is to complement official compilers and assist with their\nevolution through our experiments. We are aiming to discover actionable\ninsight into Scala compiler architecture and language design that will help\ncompiler developers at Lightbend and EPFL to optimize their compilers\nfor the benefit of the entire Scala community.\n\n## Goals\n\n* Dramatically improve Scala compilation performance\n* Study compilation time overhead of various Scala features\n* Identify a subset of Scala that can be compiled with reasonable speed\n* Facilitate knowledge transfer to other Scala compilers\n\n## Non-goals\n\n* Full backward compatibility\n(consider [Lightbend Scala](https://github.com/scala/scala) instead)\n* New language features\n(consider [Dotty](https://github.com/lampepfl/dotty) and\n[Typelevel Scala](https://github.com/typelevel/scala) instead)\n* Improvements to the type system\n(consider [Dotty](https://github.com/lampepfl/dotty) and\n[Typelevel Scala](https://github.com/typelevel/scala) instead)\n* Runtime performance (will be addressed independently)\n\n## Status\n\n* We expanded the [supported subset of Scala](docs/language.md) and\nare now using [Twitter Util](https://github.com/twitter/util)\nin our experiments.\n* We implemented support for loading dependencies based on\n[the SemanticDB format](https://github.com/scalameta/scalameta/blob/master/semanticdb/semanticdb3/semanticdb3.md)\nprovided by [Scalameta](https://github.com/scalameta/scalameta).\n* Our [prototype outliner](docs/compiler.md) can compute signatures of\npublic and protected definitions and save them in [the ScalaSignature format](https://github.com/scala/scala/blob/v2.11.12/src/reflect/scala/reflect/internal/pickling/PickleFormat.scala)\nthat enables interoperability with the Scala compiler.\n* In the future, we will proceed with development according to\n[our roadmap](docs/roadmap.md).\n\n## Documentation\n\n* [Getting started](docs/gettingstarted.md)\n* [Language](docs/language.md)\n* [Compiler](docs/compiler.md)\n* [Performance](docs/performance.md)\n* [Roadmap](docs/roadmap.md)\n* [Contributing](docs/contributing.md)\n* [Related work](docs/relatedwork.md)\n\n## Credits\n\nOur project is inspired by the work of Martin Odersky, Grzegorz Kossakowski\nand Denys Shabalin. Martin inspiringly showed that in this day and age it is still\npossible to [write a Scala compiler from scratch](https://github.com/lampepfl/dotty).\nGreg unexpectedly demonstrated that\n[compiling Scala can be blazingly fast](https://github.com/gkossakowski/kentuckymule).\nDenys shockingly revealed that\n[Scala apps can have instant startup time](https://github.com/scala-native/scala-native).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwitter%2Frsc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftwitter%2Frsc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwitter%2Frsc/lists"}