HNHacker News
TopNewBestAskShowJobs

davesnx

199 karma · joined January 28, 2015

submissionscomments
davesnx··on Why I love OCaml (2023)
is very alive, released with OCaml 5.4 support and improving bit by bit
davesnx··on Ask HN: Abandoned/dead projects you think died before their time and why?
OCaml / Reason (Melange)
davesnx··on A better build system for OCaml
that's what' melange is lol
davesnx··on A better build system for OCaml
this is a good naval-style tweet, well done
davesnx··on OCaml Syntax Sucks (2016)
Curious to know more, do you think can make a long-form of "why" and a detailed experience? If you have some time, would be massive to compare it with what's the same experience today
davesnx··on OCaml Syntax Sucks (2016)
Shame on me; I have a few draft posts that never got the chance to publish. My non-native english doesn't fully help ^^

Expect some of them to be published at the end of the year or early january!

davesnx··on OCaml Syntax Sucks (2016)
There are a few missleadings in your message:

ReScript isnt a fork of Reason, jsoo focuses only on compiling all OCaml and allows JS interop

Reason with Melange is a viable option for JS/TS devs.

davesnx··on Hazel: A live functional programming environment featuring typed holes
I always loved hazel, probably a great tool to teach. What has been build with it?
davesnx··on Ask HN: What programming languages are you using at $WORK?
OCaml
davesnx··on Melange 1.0: Compile OCaml / ReasonML to JavaScript
Biased answer:

The biggest differences between Elm and ReScript/ReasonML as language features are bindings, JSX and purity. Bindings in Elm are cumbersome and limited (on purpose) while in ReScript/ReasonML are easy, more feature complete and a little more fragile. JSX is exactly as React, while Elm doesn't have it; some people prefer it, some people don't. I love it. Purity in general terms makes Elm more strict while ReasonML/ReScript allow impurity when needed, still most APIs enforce functional style, immutability and proper data structures.

Regarding community, there's drama everywhere not sure If I can do a good job here. Maybe community size Elm is much bigger than others, but they need to reinvent most of tooling that is done in JS and ReScript/Reason takes advantage.

I encourage to not rely on anyones opinion about what's better, because you listed 5 languages with opposite directions.

Try it out yourself and decide based on users/team needs. Cheers.

davesnx··on Melange 1.0: Compile OCaml / ReasonML to JavaScript
It's a good idea to read "A bit of history" under Melange docs: https://melange.re/v1.0.0/rationale/#a-bit-of-history
davesnx··on Melange 1.0: Compile OCaml / ReasonML to JavaScript
With Melange ReasonML has a small comeback, since Melange and dune supports it out-of-the-box.

There has been a bit of activity on fixing bugs on refmt and polish the experience, no plans for big features so far but we will keep working on it.

We will update documentation from either reason-react and reason to highlight the integration with Melange soon.

davesnx··on [dead]
Hi, I worked on rendering React in OCaml and cross-compiling it to JavaScript and wrote a blog post about it.

I'm happy to share it here <3

davesnx··on Bun v0.5
versus other than JavaScript stuff: Java, C++, OCaml or Go
davesnx··on Learning OCaml in 2023
Hey, thanks! This tries to solve exactly that, let me know if there's anything else that feels that needs an intro to OCaml community.
davesnx··on Selecting a programming language can be a form of premature optimization
Mi bad english played me bad here. I meant to write "Picks python... blabla"

Looked to me like a "Python isn't than bad for perf" article.

davesnx··on Selecting a programming language can be a form of premature optimization
The author: Selecting a programming language can be a form of premature optimization

Also the author: Pick python no matter the problem, the team, the libraries, the deployment targets, etc.

davesnx··on The road to OCaml 5.0
This is a great explanation about concurrency and parallelism and where multicore fits, FYI https://discuss.ocaml.org/t/multicore-ocaml-vs-thread/5838/1...
davesnx··on ReScript 8.4
That's a project that we all wished was in a perfect shape in order to make Reason more approchable with jsoo.
davesnx··on ReScript 8.4
That's very doable, but tedious to make and it's probably on of the selling points for Reason. Writting React code with OCaml is very tedious.
davesnx··on Q: A faster re-implementaiton of jq written in Reason Native/OCaml
I tried to explain it on the Performance section and on the report

https://github.com/davesnx/query-json#performance https://github.com/davesnx/query-json/blob/master/benchmarks...

But all explanations aren't based by any evidence, just asumptions.

davesnx··on Q: A faster re-implementaiton of jq written in Reason Native/OCaml
Yep, kind of.

The comma operations means that the "filters" are duplicated, so instead of one json state you would pass two if there's one coma; and ofcourse any number of commas are allowed.

davesnx··on Q: A faster re-implementaiton of jq written in Reason Native/OCaml
I trend to use jq with a file all the time, I prefer to curl first and later operate on top. /slug
davesnx··on Q: A faster re-implementaiton of jq written in Reason Native/OCaml
Thanks, next time if you paste the list somewhere else you can add query-json :P
davesnx··on Q: A faster re-implementaiton of jq written in Reason Native/OCaml
+1
davesnx··on Q: A faster re-implementaiton of jq written in Reason Native/OCaml
Yes, jq is written in C. Where LISP comes from?
davesnx··on Q: A faster re-implementaiton of jq written in Reason Native/OCaml
Exactly I didn't claim to be faster in all the cases, since there's no feature parity and I won't make it that way.

For the set of operations that I implement it it's faster, that's true.

davesnx··on Q: A faster re-implementaiton of jq written in Reason Native/OCaml
Exactly! I wanted to contact him
davesnx··on Q: A faster re-implementaiton of jq written in Reason Native/OCaml
I hope so!
davesnx··on Q: A faster re-implementaiton of jq written in Reason Native/OCaml
There are a few good asumtions about why is faster, there are just speculations since I didn't profile jq or query-json.

The feature that I think penalizes a lot jq is "def functions", the capacity of define any function that can be available during run-time.

This creates a few layers, one of the difference is the interpreter and the linker, the responsible for getting all the builtin functions and compile them have them ready to use at runtime.

The other pain point is the architecture of the operations on top of jq, since it's a stack based. In query-json it's a piped recursive operations.

Aside from the code, the OCaml stack, menhir has been proved to be really fast when creating those kind of compilers.

I will dig more into performance and try to profile both tools in order to improve mine.

Thanks

Page 1 of 2Next →