HNHacker News
TopNewBestAskShowJobs

anmonteiro90

211 karma · joined April 6, 2014

[ my public key: https://keybase.io/anmonteiro; my proof: https://keybase.io/anmonteiro/sigs/EaEkogO5IgpeIL3Jg88wf8HdTnezsHZFj9r3_rT8Dk0 ]
submissionscomments
anmonteiro90··on Melange 1.0: Compile OCaml / ReasonML to JavaScript
Thank you :-)

You also make a good point. I didn't go into too much detail about ReasonML in another comment, but I know Jordan (@jordwalke) has plans for a ReasonML v4 [1] with slight syntax improvements. I don't currently know the status of that work, however, but I think we'll want to make progress soon.

So the TL;DR is more that ReasonML is not going anywhere, especially since Ahrefs have a huge ReasonML frontend codebase [2].

[1]: https://github.com/reasonml/reason/pull/2605 [2]: https://tech.ahrefs.com/ahrefs-is-now-built-with-melange-b14...

anmonteiro90··on Melange 1.0: Compile OCaml / ReasonML to JavaScript
Hi Paul, appreciate the kind words.

Your perspective on the project is exactly how we think about it: Melange provides the tooling for fullstack (@davesnx likes to call them Universal) Reason/OCaml applications.

I suspect my time in Clojure(Script) has heavily influenced how I look at a "Language of the System"[1], and that's effectively what we're trying to do here.

Re: ReasonML, I very much understand the sentiment. In my mind right now, ReasonML is only there to provide JSX and reason-react support. I suspect we'll eventually write a JSX PPX for OCaml and stop using ReasonML down the road (fairly longer term).

[1]: https://www.youtube.com/watch?v=ROor6_NGIWU

anmonteiro90··on Melange 1.0: Compile OCaml / ReasonML to JavaScript
ReasonML purely as a syntax layer on top of OCaml is still being updated and released[1]. Incidentally, I'm one of the maintainers of that project too :-)

With this Melange release, we're hoping to somewhat revive ReasonML and channel some folks back to the community from the perspective of a vertically integrated platform[2] that has seen major investment in the past few years.

[1]: https://github.com/reasonml/reason [2]: https://ocaml.org/docs/platform

anmonteiro90··on Melange 1.0: Compile OCaml / ReasonML to JavaScript
Melange approaches the problem from the OCaml perspective. It inserts itself within the OCaml community, so you need the OCaml Platform[1] tooling to install and use it.

This way, you get all the benefits of having a native toolchain and build system, and a great integration with modern JavaScript with e.g. npm or yarn.

[1]: https://ocaml.org/docs/platform

anmonteiro90··on Melange 1.0: Compile OCaml / ReasonML to JavaScript
Melange and ReScript target different audiences.

AFAIU, ReScript is a new language that offers an alternative to TypeScript.

Melange approaches the problem from the perspective of compatibility with OCaml / ReasonML. We've focused very hard on vertical integration with the OCaml Platform[1] and we're getting all the benefits with this release!

That said, both communities are fairly small, and I don't doubt that somewhat competing projects have some impact on community. From our perspective (the Melange team), our goals fit a specific use case, and e.g. Ahrefs, one of the leading SEO engines in the world, is using Melange[2] in production to power all their web experiences.

[1]: https://ocaml.org/docs/platform [2]: https://tech.ahrefs.com/ahrefs-is-now-built-with-melange-b14...

anmonteiro90··on Clojure: A Lisp that wants to spread
I don't wanna nitpick too much (I realize that's all I'm doing). I just wanted to caution against stating what you perceive as a fact without any backing references.
anmonteiro90··on Clojure: A Lisp that wants to spread
That makes sense but it's not what comes across. The sentence immediately after says that "the language continues to grow". That's what I'm questioning.
anmonteiro90··on Clojure: A Lisp that wants to spread
It'd be interesting to back the claim that "Clojure is (slowly) eating the world.".

Interestingly, that's absolutely not my perspective and I don't see any sources for that statement in the post.

anmonteiro90··on ClojureScript Is Not An Island: Integrating Node Modules
He was referring to these https://github.com/cljsjs/packages/blob/950064853c8391ac7a88...
anmonteiro90··on ClojureScript Is Not An Island: Integrating Node Modules
strings in `:npm-deps` should just work. I'm more concerned about the npm syntax for `@namespace/package@version` which I'm not sure is valid. If it doesn't work though, please open a ticket so we can fix it!
anmonteiro90··on ClojureScript Is Not An Island: Integrating Node Modules
We shell out to `npm` to install the dependencies you specify, so I don't see why it wouldn't work.
anmonteiro90··on ClojureScript Is Not An Island: Integrating Node Modules
Native CLJS libraries are regular JARs that you add to your classpath. Most people publish them to Clojars[1] (which also has Clojure libs). Maven Central may also have some.

[1] http://clojars.org

anmonteiro90··on ClojureScript Is Not An Island: Integrating Node Modules
This functionality is opt-in, so you can still live on your island if you'd like :-)
anmonteiro90··on ClojureScript Is Not An Island: Integrating Node Modules
Just to add to this statement, even in cases where externs will still be necessary, adding CLJSJS packages[1] to your project's classpath will result in those externs being used even if you don't use the libraries that the packages provide.

http://github.com/cljsjs/packages

anmonteiro90··on Lumo – A fast, standalone ClojureScript REPL that runs on Node.js and V8
Why not?! Sounds like a great idea. Happy to see someone help me with that
anmonteiro90··on Lumo – A fast, standalone ClojureScript REPL that runs on Node.js and V8
Just like you'd do in Node. Add deps to a package.json and npm install. Then just `(js/require "your-package")`
anmonteiro90··on Lumo – A fast, standalone ClojureScript REPL that runs on Node.js and V8
Unfortunately, Node.js and V8 seem to be about 2.5X slower than JavaScriptCore for bootstrapped ClojureScript. I haven't found a way around it. I also don't mean to trick anyone and this is explained in the post.
anmonteiro90··on Lumo – A fast, standalone ClojureScript REPL that runs on Node.js and V8
There are a number of pre-bundled libraries in Lumo. `cljs.nodejs` is actually part of ClojureScript so it's included too.
anmonteiro90··on Lumo – A fast, standalone ClojureScript REPL that runs on Node.js and V8
Lumo, just like Planck, implements classpath emulation. You can specify colon separated paths to JARs/dirs in which Lumo will resolve requires. Take a look at `lumo -h` for all the available options.
anmonteiro90··on Lumo – A fast, standalone ClojureScript REPL that runs on Node.js and V8
Makes sense, I didn't specifically mean "just Homebrew", but I'm definitely open to uploading it to the NPM registry.
anmonteiro90··on Lumo – A fast, standalone ClojureScript REPL that runs on Node.js and V8
The difference is that both Planck and Replete run on JavascriptCore, while Lumo runs on Node.js and V8. One of the advantages of piggybacking on Node is that we get access to its whole ecosystem for free.
anmonteiro90··on Lumo – A fast, standalone ClojureScript REPL that runs on Node.js and V8
Happy to consider it, but I'm unsure what the benefits would be? Probably something like Homebrew would be more suitable I believe.
anmonteiro90··on Lumo – A fast, standalone ClojureScript REPL that runs on Node.js and V8
Yeah, we have access to the whole Node.js ecosystem :-) it's also possible to npm install a package and use it from Lumo. The Node require resolution algorithm just works.
anmonteiro90··on Lumo – A fast, standalone ClojureScript REPL that runs on Node.js and V8
Author here. Happy to answer any questions.
anmonteiro90··on A Criminal Mind – Why did a respected psychiatrist became a drug dealer?
Hate to be the grammar nazi, but there's an error in the title: "become" and not "became"
anmonteiro90··on Ask HN: Why are hackernews comments so off topic?
https://news.ycombinator.com/item?id=8620479
anmonteiro90··on About the OS X Yosemite v10.10.1 Update
And... it didn't
anmonteiro90··on About the OS X Yosemite v10.10.1 Update
Update in progress, I hope it solves some PDF file crashes on preview for which I submitted some crash reports :)
anmonteiro90··on Ask HN: Free resources to learn design(for a programmer)
Try https://hackdesign.org/lessons
anmonteiro90··on Anyone willing to checkout a startup I just launched?
Haha, agreed; categories/tags would actually add the possibility of content selection. I even suppose the lack of those will shift people away from the site; I closed the page as soon as I saw those NSFW questions.

Good luck!

Page 1 of 2Next →