{"id":13485756,"url":"https://github.com/manifold-systems/manifold","last_synced_at":"2025-05-13T20:13:29.977Z","repository":{"id":37579777,"uuid":"93584426","full_name":"manifold-systems/manifold","owner":"manifold-systems","description":"Manifold is a Java compiler plugin, its features include Metaprogramming, Properties, Extension Methods, Operator Overloading, Templates, a Preprocessor, and more.","archived":false,"fork":false,"pushed_at":"2025-05-07T04:34:13.000Z","size":129554,"stargazers_count":2533,"open_issues_count":91,"forks_count":127,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-05-07T05:27:22.858Z","etag":null,"topics":["android-studio","delegation","duck-typing","extension-methods","graphql","graphql-java","intellij","java","java-development","java-sql","java-tooling","js-java-interoperability","json","manifold","metaprogramming","preprocessor","reflection-framework","structural-typing","template-engine","type-providers"],"latest_commit_sha":null,"homepage":"http://manifold.systems/","language":"Java","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/manifold-systems.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.txt","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-06-07T02:37:23.000Z","updated_at":"2025-05-07T04:34:17.000Z","dependencies_parsed_at":"2025-04-28T12:03:31.636Z","dependency_job_id":null,"html_url":"https://github.com/manifold-systems/manifold","commit_stats":{"total_commits":2349,"total_committers":20,"mean_commits":117.45,"dds":0.09493401447424432,"last_synced_commit":"24678cfc49889831f95127306ce305a6549b9c2b"},"previous_names":[],"tags_count":313,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manifold-systems%2Fmanifold","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manifold-systems%2Fmanifold/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manifold-systems%2Fmanifold/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/manifold-systems%2Fmanifold/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/manifold-systems","download_url":"https://codeload.github.com/manifold-systems/manifold/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254020624,"owners_count":22000755,"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":["android-studio","delegation","duck-typing","extension-methods","graphql","graphql-java","intellij","java","java-development","java-sql","java-tooling","js-java-interoperability","json","manifold","metaprogramming","preprocessor","reflection-framework","structural-typing","template-engine","type-providers"],"created_at":"2024-07-31T18:00:31.192Z","updated_at":"2025-05-13T20:13:24.968Z","avatar_url":"https://github.com/manifold-systems.png","language":"Java","funding_links":[],"categories":["Projects","Java","项目","graphql"],"sub_categories":["Development","发展"],"readme":"\u003cbr\u003e\n\n\u003cimg width=\"500\" height=\"121\" align=\"top\" src=\"./docs/images/manifold_green.png\"\u003e\n\n![latest](https://img.shields.io/badge/latest-v2025.1.12-royalblue.svg)\n[![chat](https://img.shields.io/badge/discord-manifold-seagreen.svg?logo=discord)](https://discord.gg/9x2pCPAASn)\n[![GitHub Repo stars](https://img.shields.io/github/stars/manifold-systems/manifold?logo=github\u0026style=flat\u0026color=tan)](https://github.com/manifold-systems/manifold)\n\n---\n\n## What is Manifold?\nManifold is a Java compiler plugin. Use it to supplement your Java projects with highly productive features.\n\nAdvanced compile-time \u003cb\u003emetaprogramming\u003c/b\u003e type-safely integrates any kind of data, metadata, or DSL directly into Java.\n* [SQL](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-sql/readme.md) _**(New!)**_\n* [GraphQL](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-graphql)\n* [JSON \u0026 JSON Schema](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-json),\n  [YAML](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-yaml),\n  [XML](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-xml)\n* [CSV](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-csv)\n* [JavaScript](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-js)\n* etc.\n\n\nPowerful **language enhancements** significantly improve developer productivity.\n* [Extension methods](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-ext)\n* [_True_ delegation](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-delegation)\n* [Properties](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-props)\n* [Optional parameters](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-params) _**(New!)**_\n* [Tuple expressions](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-tuple)\n* [Operator overloading](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-ext#operator-overloading)\n* [Unit expressions](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-ext#unit-expressions)\n* [A *Java* template engine](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-templates)\n* [A preprocessor](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-preprocessor)\n* ...and more\n\nEach feature is available as a separate dependency. Simply add the Manifold dependencies of your choosing to your existing project and begin taking advantage of them.\n\nAll fully supported in JDK LTS releases 8 - 21 + latest with comprehensive IDE support in **IntelliJ IDEA** and **Android Studio**.\n\n\u003e# _**What's New...**_\n\u003e \n\u003e[\u003cimg width=\"40%\" height=\"40%\" align=\"top\" src=\"./docs/images/manifoldsql.png\"\u003e](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-sql/readme.md)\n\u003e\n\u003e### [Type-safe SQL](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-sql/readme.md)\n\u003e Manifold SQL lets you write native SQL _directly_ and _type-safely_ in your Java code.\n\u003e- Query types are instantly available as you type native SQL of any complexity in your Java code\n\u003e- Schema types are automatically derived from your database, providing type-safe CRUD, decoupled TX, and more\n\u003e- No ORM, No DSL, No wiring, and No code generation build steps\n\u003e \u003cbr\u003e\u003cbr\u003e\n\u003e [![img_3.png](./docs/images/img_3.png)](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-sql/readme.md)\n                       \n## Who is using Manifold?\n\nSampling of companies using Manifold:\n\n\u003cimg width=\"80%\" height=\"80%\" src=\"./docs/images/companies.png\"\u003e\n\n## What can you do with Manifold?\n\n### [Meta-programming](https://github.com/manifold-systems/manifold/tree/master/manifold-core-parent/manifold)\nUse the framework to gain direct, type-safe access to *any* type of resource, such as\n[**SQL**](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-sql),\n[**JSON**](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-json),\n[**GraphQL**](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-graphql),\n[**XML**](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-xml),\n[**YAML**](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-yaml),\n[**CSV**](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-csv), and even\nother languages such as [**JavaScript**](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-js).\nRemove the code gen step in your build process. [\u0026nbsp;**▶**\u0026nbsp;Check\u0026nbsp;it\u0026nbsp;out!](http://manifold.systems/images/graphql.mp4)\n\n[**SQL:**](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-sql) \nUse _native_ SQL of any complexity _directly_ and _type-safely_ from Java.\n```java\nLanguage english =\n  \"[.sql/]select * from Language where name = 'English'\".fetchOne();\nFilm film = Film.builder(\"My Movie\", english)\n  .withDescription(\"Nice movie\")\n  .withReleaseYear(2023)\n  .build();\nMyDatabase.commit();\n```\n\n[**GraphQL:**](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-graphql) \nUse types defined in .graphql files *directly*, no code gen steps! Make GraphQL changes and immediately use them with code completion.\n```java\nvar query = MovieQuery.builder(Action).build();\nvar result = query.request(\"http://com.example/graphql\").post();\nvar actionMovies = result.getMovies();\nfor (var movie : actionMovies) {\n  out.println(\n    \"Title: \" + movie.getTitle() + \"\\n\" +\n    \"Genre: \" + movie.getGenre() + \"\\n\" +\n    \"Year: \" + movie.getReleaseDate().getYear() + \"\\n\");\n}\n```\n\n[**JSON:**](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-json) \nUse .json schema files directly and type-safely, no code gen steps! Find usages of .json properties in your Java code.\n```java\n// From User.json\nUser user = User.builder(\"myid\", \"mypassword\", \"Scott\")\n  .withGender(male)\n  .withDob(LocalDate.of(1987, 6, 15))\n  .build();\nUser.request(\"http://api.example.com/users\").postOne(user);\n```\n\n### [Extension Methods](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-ext)\nAdd your own methods to existing Java classes, even *String*, *List*, and *File*. Eliminate boilerplate code.\n[\u0026nbsp;**▶**\u0026nbsp;Check\u0026nbsp;it\u0026nbsp;out!](http://manifold.systems/images/ExtensionMethod.mp4)\n```java\nString greeting = \"hello\";\ngreeting.myMethod(); // Add your own methods to String!\n```\n\n### [Delegation](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-delegation)\nFavor composition over inheritance. Use `@link` and `@part` for automatic interface implementation forwarding and _true_ delegation.\n\u003e ```java\n\u003e class MyClass implements MyInterface {\n\u003e   @link MyInterface myInterface; // transfers calls on MyInterface to myInterface\n\u003e\n\u003e   public MyClass(MyInterface myInterface) {\n\u003e     this.myInterface = myInterface; // dynamically configure behavior\n\u003e   }\n\u003e\n\u003e   // No need to implement MyInterface here, but you can override myInterface as needed\n\u003e }\n\u003e ```\n\n### [Properties](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-props)\nEliminate boilerplate getter/setter code, improve your overall dev experience with properties.\n```java\npublic interface Book {\n  @var String title; // no more boilerplate code!\n}\n// refer to it directly by name\nbook.title = \"Daisy\";     // calls setter\nString name = book.title; // calls getter \nbook.title += \" chain\";   // calls getter \u0026 setter\n```\nAdditionally, the feature automatically _**infers**_ properties, both from your existing source files and from\ncompiled classes your project uses. Reduce property use from this:\n```java\nActor person = result.getMovie().getLeadingRole().getActor();\nLikes likes = person.getLikes();\nlikes.setCount(likes.getCount() + 1);\n```\nto this:\n```java\nresult.movie.leadingRole.actor.likes.count++;\n``` \n\n### [Optional parameters \u0026 named arguments](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-params)\nUse optional parameters and named arguments with any Java project to add clarity and flexibility to call sites\nand as a refreshing alternative to method overloads and builders.\n```java\nString valueOf(char[] data, \n               int offset = 0, \n               int count = data.length - offset) {...}\n\nvalueOf(array) // use defaults for offset and count\nvalueOf(array, 2) // use default for count\nvalueOf(array, count:20) // use default for offset by naming count\n```\nBinary compatible with methods, constructors, and records.\n\n### [Operator Overloading](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-ext#operator-overloading)\nImplement *operator* methods on any type to directly support arithmetic, relational, index, and unit operators.\n```java\n// BigDecimal expressions\nif (bigDec1 \u003e bigDec2) {\n  BigDecimal result = bigDec1 + bigDec2;\n  ...\n}\n// Implement operators for any type\nMyType value = myType1 + myType2;\n```  \n\n### [Tuple expressions](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-tuple)\nTuple expressions provide concise syntax to group named data items in a lightweight structure.\n```java\nvar t = (name: \"Bob\", age: \"35\");\nSystem.out.println(\"Name: \" + t.name + \" Age: \" + t.age);\n\nvar t = (person.name, person.age);\nSystem.out.println(\"Name: \" + t.name + \" Age: \" + t.age);\n```\nYou can also use tuples with new [`auto` type inference](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-ext#type-inference-with-auto) to enable multiple return values from a method.\n### [Unit Expressions](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-ext#unit-expressions)\nUnit or *binding* operations are unique to the Manifold framework. They provide a powerfully concise syntax and can be\napplied to a wide range of applications.\n```java\nimport static manifold.science.util.UnitConstants.*; // kg, m, s, ft, etc\n...\nLength distance = 100 mph * 3 hr;\nForce f = 5.2 kg m/s/s; // same as 5.2 N\nMass infant = 9 lb + 8.71 oz;\n```  \n\n### [Ranges](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-collections#ranges)\nEasily work with the *Range* API using [unit expressions](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-ext#unit-expressions).\nSimply import the *RangeFun* constants to create ranges.\n```java\n// imports the `to`, `step`, and other \"binding\" constants\nimport static manifold.collections.api.range.RangeFun.*;\n...\nfor (int i: 1 to 5) {\n  out.println(i);\n}\n\nfor (Mass m: 0kg to 10kg step 22r unit g) {\n  out.println(m);\n}\n```\n\n### [Science](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-science)\nUse the [manifold-science](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-science)\nframework to type-safely incorporate units and precise measurements into your applications.\n```java\nimport static manifold.science.util.UnitConstants.*; // kg, m, s, ft, etc.\n...\nVelocity rate = 65mph;\nTime time = 1min + 3.7sec;\nLength distance = rate * time;\n```  \n\n### [Preprocessor](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-preprocessor)\nUse familiar directives such as **#define** and **#if** to conditionally compile your Java projects. The preprocessor offers\na simple and convenient way to support multiple build targets with a single codebase. [\u0026nbsp;**▶**\u0026nbsp;Check\u0026nbsp;it\u0026nbsp;out!](http://manifold.systems/images/preprocessor.mp4)\n```java\n#if JAVA_8_OR_LATER\n  @Override\n  public void setTime(LocalDateTime time) {...}\n#else\n  @Override\n  public void setTime(Calendar time) {...}\n#endif\n```   \n\n### [Structural Typing](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-ext#structural-interfaces-via-structural)\nUnify disparate APIs. Bridge software components you do not control. Access maps through type-safe interfaces. [\u0026nbsp;**▶**\u0026nbsp;Check\u0026nbsp;it\u0026nbsp;out!](http://manifold.systems/images/structural%20typing.mp4)\n```java\nMap\u003cString, Object\u003e map = new HashMap\u003c\u003e();\nMyThingInterface thing = (MyThingInterface) map; // O_o\nthing.setFoo(new Foo());\nFoo foo = thing.getFoo();\nout.println(thing.getClass()); // prints \"java.util.HashMap\"\n```\n \n### [Type-safe Reflection](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-ext#type-safe-reflection-via-jailbreak)\nAccess private features with \u003cb\u003e@Jailbreak\u003c/b\u003e to avoid the drudgery and vulnerability of Java reflection. [\u0026nbsp;**▶**\u0026nbsp;Check\u0026nbsp;it\u0026nbsp;out!](http://manifold.systems/images/jailbreak.mp4) \n```java\n@Jailbreak Foo foo = new Foo();\n// Direct, *type-safe* access to *all* foo's members\nfoo.privateMethod(x, y, z);\nfoo.privateField = value;\n```\n\n### [Checked Exception Handling](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-exceptions)\nYou now have an option to make checked exceptions behave like unchecked exceptions!  No more unintended exception\nswallowing. No more *try*/*catch*/*wrap*/*rethrow* boilerplate!\n```java\nList\u003cString\u003e strings = ...;\nList\u003cURL\u003e urls = strings.stream()\n  .map(URL::new) // No need to handle the MalformedURLException!\n  .collect(Collectors.toList());\n```\n\n### [String Templates](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-strings)\nInline variables and expressions in String literals, no more clunky string concat! [\u0026nbsp;**▶**\u0026nbsp;Check\u0026nbsp;it\u0026nbsp;out!](http://manifold.systems/images/string_interpolation.mp4)\n```java\nint hour = 15;\n// Simple variable access with '$'\nString result = \"The hour is $hour\"; // Yes!!!\n// Use expressions with '${}'\nresult = \"It is ${hour \u003e 12 ? hour-12 : hour} o'clock\";\n``` \n       \n### [A *Java* Template Engine](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-templates)\nAuthor template files with the full expressive power of Java, use your templates directly in your code as types.\nSupports type-safe inclusion of other templates, shared layouts, and more. [\u0026nbsp;**▶**\u0026nbsp;Check\u0026nbsp;it\u0026nbsp;out!](http://manifold.systems/images/mantl.mp4)\n```java\nList\u003cUser\u003e users = ...;\nString content = abc.example.UserSample.render(users);\n```\nA template file *abc/example/UserSample.html.mtl*\n```html\n\u003c%@ import java.util.List %\u003e\n\u003c%@ import com.example.User %\u003e\n\u003c%@ params(List\u003cUser\u003e users) %\u003e\n\u003chtml lang=\"en\"\u003e\n\u003cbody\u003e\n\u003c% for(User user: users) { %\u003e \n  \u003c% if(user.getDateOfBirth() != null) { %\u003e\n    User: ${user.getName()} \u003cbr\u003e\n    DOB: ${user.getDateOfBirth()} \u003cbr\u003e\n  \u003c% } %\u003e\n\u003c% } %\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n```\n\n## [IDE Support](https://github.com/manifold-systems/manifold)\nUse the [Manifold plugin](https://plugins.jetbrains.com/plugin/10057-manifold) to fully leverage\nManifold with **IntelliJ IDEA** and **Android Studio**. The plugin provides comprehensive support for Manifold including code\ncompletion, navigation, usage searching, refactoring, incremental compilation, hotswap debugging, full-featured\ntemplate editing, integrated preprocessor, and more.\n\n\u003cp\u003e\u003cimg src=\"http://manifold.systems/images/ManifoldPlugin.png\" alt=\"manifold ij plugin\" width=\"60%\" height=\"60%\"/\u003e\u003c/p\u003e\n\n[Get the plugin from JetBrains Marketplace](https://plugins.jetbrains.com/plugin/10057-manifold)\n\n## [Projects](https://github.com/manifold-systems/manifold)\nThe Manifold project consists of the core Manifold framework and a collection of sub-projects implementing SPIs provided\nby the core framework. Each project consists of one or more **dependencies** you can easily add to your project:\n\n[Manifold : _Core_](https://github.com/manifold-systems/manifold/tree/master/manifold-core-parent/manifold)\u003cbr\u003e\n\n[Manifold : _Extensions_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-ext)\u003cbr\u003e\n\n[Manifold : _Delegation_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-delegation)\u003cbr\u003e\n\n[Manifold : _Properties_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-props)\u003cbr\u003e\n\n[Manifold : _Optional parameters \u0026 named arguments_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-params)\u003cbr\u003e\n\n[Manifold : _Tuples_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-tuple)\u003cbr\u003e\n\n[Manifold : _SQL_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-sql)\u003cbr\u003e\n[Manifold : _GraphQL_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-graphql)\u003cbr\u003e\n[Manifold : _JSON_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-json)\u003cbr\u003e\n[Manifold : _XML_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-xml)\u003cbr\u003e\n[Manifold : _YAML_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-yaml)\u003cbr\u003e\n[Manifold : _CSV_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-csv)\u003cbr\u003e\n[Manifold : _Property Files_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-properties)\u003cbr\u003e\n[Manifold : _Image_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-image)\u003cbr\u003e\n[Manifold : _Dark Java_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-darkj)\u003cbr\u003e\n[Manifold : _JavaScript_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-js)\u003cbr\u003e\n\n[Manifold : _Java Templates_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-templates)\u003cbr\u003e\n\n[Manifold : _String Interpolation_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-strings)\u003cbr\u003e\n[Manifold : _(Un)checked Exceptions_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-exceptions)\u003cbr\u003e\n\n[Manifold : _Preprocessor_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-preprocessor)\u003cbr\u003e\n\n[Manifold : _Science_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-science)\u003cbr\u003e\n\n[Manifold : _Collections_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-collections)\u003cbr\u003e\n[Manifold : _I/0_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-io)\u003cbr\u003e\n[Manifold : _Text_](https://github.com/manifold-systems/manifold/tree/master/manifold-deps-parent/manifold-text)\u003cbr\u003e\n\n\u003eExperiment with sample projects:\u003cbr\u003e\n\u003e* [Manifold : _Sample App_](https://github.com/manifold-systems/manifold-sample-project)\u003cbr\u003e\n\u003e* [Manifold : _Sample SQL App_](https://github.com/manifold-systems/manifold-sql-sample-project)\u003cbr\u003e\n\u003e* [Manifold : _Sample GraphQL App_](https://github.com/manifold-systems/manifold-sample-graphql-app)\u003cbr\u003e\n\u003e* [Manifold : _Sample REST API App_](https://github.com/manifold-systems/manifold-sample-rest-api)\u003cbr\u003e\n\u003e* [Manifold : _Sample Web App_](https://github.com/manifold-systems/manifold-sample-web-app)\n\u003e* [Manifold : _Gradle Example Project_](https://github.com/manifold-systems/manifold-simple-gradle-project)\n\u003e* [Manifold : _Sample Kotlin App_](https://github.com/manifold-systems/manifold-sample-kotlin-app)\n\n## Platforms\n\nManifold supports:\n* Java SE (8 - 21)\n* [Android](http://manifold.systems/android.html)\n* [Kotlin](http://manifold.systems/kotlin.html) (limited)\n\nComprehensive IDE support is also available for IntelliJ IDEA and Android Studio.\n\n## [Chat](https://discord.gg/9x2pCPAASn)\nJoin our [Discord server](https://discord.gg/9x2pCPAASn) to start\na discussion, ask questions, provide feedback, etc. Someone is usually there to help.\n\n\u003cbr\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanifold-systems%2Fmanifold","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmanifold-systems%2Fmanifold","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmanifold-systems%2Fmanifold/lists"}