HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
manifold-systems
manifold
Java2018–2026
manifold-systems / manifold

manifold

Manifold is a Java compiler plugin, its features include Metaprogramming, Properties, Extension Methods, Operator Overloading, Templates, a Preprocessor, and more.

13Distinct people
125Mentions
0Explicit recommenders
2.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Manifold is a Java compiler plugin, its features include Metaprogramming, Properties, Extension Methods, Operator Overloading, Templates, a Preprocessor, and more.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 10:49:33 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year125 dated mentions

Observed mentions: 2018-10-30 05:10:46 UTC to 2026-07-23 19:57:57 UTC.

01020302018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 18 mentions; 15 submissions, 3 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 13 mentions; 4 submissions, 9 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 21 mentions; 5 submissions, 16 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 33 mentions; 17 submissions, 16 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 19 mentions; 4 submissions, 15 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 15 mentions; 3 submissions, 12 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC110
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC18153
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC1349
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC202
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC312
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC21516
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC331716
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC19415
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC15312

What Hacker News says

33 sources
Yep. They demo great, but unless your use case is on the trivial end, you either find yourself making unreasonable compromises or, if the tool provides API escapes, you’re not only coding, but hacking against the tool. In my view, mainstream languages like Java should offer static metaprogramming for library authors to make tooling like Rails possible and more approachable in IDEs. The manifold project[1] has something like this for SQL, but it’s obviously providing its own static metaprogramming layer over Java. Shrug. 1. https://github.com/manifold-systems/manifold/blob/master/man...
In Rails is better low code than low code
> 1) Yet another protocol etc. Agreed. > 3) The biggest challenge about data models is not auto-generated code I would say auto-generated code is most definitely the harder problem to solve, and I’d also go out on a limb and say it is THE problem to solve. Whether it’s JSON, XML, JavaScript, SQL, or what have you, integrating both data and behavior between languages is paramount. But nothing has changed in the last 40+ years solving this problem, we still generate code the same clumsy way… Chinese wall between systems, separate build steps, and all the problems that go with it. Something like project manifold[1] for the jvm world is in my view the way forward. Shrug. 1. https://github.com/manifold-systems/manifold
In Show HN: TypeSchema – A JSON specification to describe data models
Generally, the idea is that there is no incompatibility between units. Money is a bit exotic given its abstract nature wrt units / exchange rates. For instance, physical dimensions store values as SI units, regardless of supplied unit, but retain the supplied unit type as a display hint. Here, the Length dimension illustrates working with amounts of any unit. Length orbit = 250 mi; Length moon = 238000 km; Length landing = moon + orbit; display(landing); // prints 148,136.344 mi display(landing.to(km)); // prints 238,402.336 km // where display(landing.to(mi) == landing.to(km)); // prints true // perhaps a better example Rate rate = 1.41 km/s; Time duration = 76 hours; Length distance = rate * duration; // make your own unit constants RateUnit kps = km/s; rate = 1.41 kps; You can play with the manifold-science[1] project, it implements t
Read the rest
he complete SI physical dimensions and many derived dimensions along with comprehensive operator overloading[2] support etc. to make working with and reading code using quantities more productive in Java. 1. https://github.com/manifold-systems/manifold/tree/master/man... 2. https://github.com/manifold-systems/manifold/tree/master/man...
In Show HN: Kotlin Money
Would be cool to hook this up as a manifold unit[1]. This way you could write code like: Money ask = 2.1M USD; What I don't see with the Java JSR is how exchange rate services are integrated (if at all?). In the best of worlds, as with manifold's units I could write. Money deposit = 300 USD + 500 EUR; Where internally the deposit automatically maintains the amounts separately and uses exchange rates only for spot display/calc, transfer, etc. 1. https://github.com/manifold-systems/manifold/tree/master/man...
In Show HN: Kotlin Money
The advantages of composition (or "true" delegation) over inheritance are well documented, but many languages remain poorly suited for it, particularly Java. In the influential book "Effective Java" the author advocates favoring composition over inheritance, yet Java provides little support for it. One is left having to write or generate large portions of boilerplate code to achieve the most basic form of interface composition. More pragmatic support for the feature requires language/VM intervention, such as with true delegation and mix-in traits. This isn't to say the author's claims about inheritance and composition aren't well intentioned, however in practice it is difficult to make use of this advice when the language he champions, nearly a quarter century later, still does little to facilitate his position. The library mentioned here
Read the rest
In Favor composition over inheritance for Java via True Delegation

Show HN: Native SQL, type-safe, in-lined. Pick three

Manifold SQL[1] is a compiler plugin that lets you write _native_ SQL directly and type-safely in your Java code. - Query types are instantly available as you type native SQL of any complexity in your Java source - Query results are type-safe and API-rich and simple to use - Entity types are automatically derived from your database, providing type-safe CRUD, decoupled TX, and more - No ORM, No DSL, No wiring, and No code generation build steps - Use Manifold SQL simply by adding the javac -Xplugin:Manifold argument and manifold-sql and manifold-sql-rt dependencies to your gradle or maven build 1. https://github.com/manifold-systems/manifold/blob/master/man...
3 points · Open discussion

Show HN: GitHub Traffic CLI Tool

Use this command line interface (CLI) tool to produce a textual GitHub traffic report for any repository. The report is similar in format to GitHub's Traffic page, but includes additional features such as star diffs between usages, who starred/unstarred the repo, unique view ratio per top views, more. See the example[1]. Written in Java + manifold[2]. 1. https://github.com/manifold-systems/github-traffic/blob/main... 2. https://github.com/manifold-systems/manifold
1 points · Open discussion

Show HN: Use DuckDB type-safely in Java

manifold-sql[1] is a schema-first JPA alternative that lets you type-safely inline native SQL in Java source among other capabilities. DuckDB[2] is a high-performance, in-process database based on PostgreSQL specifically designed for analytics. Combining manifold-sql and DuckDB results in a uniquely productive platform for analytics with Java. 1. https://github.com/manifold-systems/manifold/blob/master/man... 2. https://duckdb.org/
1 points · Open discussion

Show HN: Rational numbers for Java, why not?

A while back I built a science library supporting both physical and abstract dimensions. Almost immediately I discovered working with floating point numbers suck in that space and BigDecimal isn't much better in terms of managing scale wrt margin of error across calculations, Java doesn't make this easy. Rationals are in my view much better suited for science/math in that information cannot be unintentionally lost when using them. So I made a Rational for Java, and in the process _forced_ Java to work better with science and math.
6 points · Open discussion

Showing the 15 most recent of 33 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.