Viewing profile — huahaiy
huahaiy
HN member- Joined
- Mon, Nov 07, 2011, 4:38 PM UTC
- HN karma
- 342
- Public activity
- 206 items
- HN profile
- View on Hacker News ↗
About huahaiy
Recent public activity
-
comment
Comment #49225298
Writing about Postgres internals and managing a Postgres cluster is the extent of your database expertise? You are not self aware enough to know that doesn’t earn any trust?
-
story
Show HN: Datalevin – a simple, fast, and versatile Datalog database
After 6 years of open source development, Datalevin has now reached 1.0. The goal of the project is to have better ergonomics than a SQL database for OLTP workloads. We have made D…
- story
-
comment
Comment #47646319
I am glad you enjoyed it. I am happy to report that the next release will have many new features: Raft consensus based high availability (comes with an extensive Jepsen test suite)…
-
comment
Comment #47646173
I have been using AI to write Clojure code this past half year. The frontline LLM has no problem with writing idiomatic Clojure code. Both Codex and Claude Code fix their missing c…
- story
- story
-
comment
Comment #46620100
https://yyhh.org
-
comment
Comment #46046398
Wonderful. Looking forward to it.
-
comment
Comment #46042202
Very nice. Is there a plan to have an EDN writer in C as well?
-
comment
Comment #43167249
I wrote my library this way for both performance AND type checking reasons. You cannot tell me the reasons why I wrote my code my way. That is just absurd. In any case, it is possi…
-
comment
Comment #43167060
But if you add type hint in the signature, it does check the type. Basically, if you specify the type, it will check type. Just like any language that is not automatically inferrin…
-
comment
Comment #43163811
That has nothing to do with types. You are now talking about when a compiler is run. Clojure gives you the option to run the compiler at runtime, so that's what people normally do.…
-
comment
Comment #43163640
deftype IS a Java class, it's not compiled into something else. What is a Clojure function? A Clojure function is a Java class. Clojure is a compiled language, so it does check typ…
-
comment
Comment #43161400
Then you are not writing in defprotocol everywhere style. The keyword is everywhere. All the domain objects are deftype or defrecord. Try that. It is the same as Java, basically. I…
-
comment
Comment #43160726
No, defprotocol and deftype have the same properties as Java interface and Java classes, and the types are checked at compile time. This is static typing. Period. Clojure is a comp…
-
comment
Comment #43155712
Nobody would argue that Java is not statically typed. That's my point. Clojure offers the same as what Java offers. If you write code in a defprotocol everywhere style, as many Clo…
-
comment
Comment #43155686
I thought distributed system is exactly one of the things that got Clojure going to begin with. Remember Storm? As to databases, there are a fountain of databases emerging from the…
-
comment
Comment #43155650
You can still do lein new and away you go, today. That still works. Many people still use lein for new projects, especially for larger ones. For small on-off thing, clojure command…
-
comment
Comment #43155607
REPL code is copy/pasted straight into tests. So really, REPL is for helping write tests. BTW, when Clojurians talk about REPL, it's not about that separate window where you type a…
-
comment
Comment #43155578
Scales very well. Immutable data pairs great with REPL. Because data are immutable, you don't need to care about where that data come from and where it will go. Just focus on what …
-
comment
Comment #43155548
Not really. Database is where immutability may not be a good fit, at least not all the time. In many use cases, database is where application state resides, hence a mutable databas…
-
comment
Comment #43155474
For someone who needs static typing, Clojure give them defprotocol, deftype and defrecord. Interestingly, most of the low level libraries in the Clojure ecosystem are programmed th…
-
comment
Comment #42675935
No. I have looked at your code. You did not use the mentioned https://github.com/clj-easy/graal-build-time If you don't do what everybody is doing to solve a problem, then of cours…
-
comment
Comment #42671736
Graalvm native image for Clojure is a solved problem. Just add this library to the project and add a flag to native image command line. https://github.com/clj-easy/graal-build-time…