Hacker News new | past | comments | ask | show | jobs | submit login

Interesting ideas, very different, but still reminds me a lot of Light Table (probably because they have the same author :p)

Seems to be built on a rather interesting Rust + TypeScript stack? Can't say I've seen that one before - anyone have experience with such a stack?




The stack choice is especially interesting since I thought they were big fans of Clojure.

I would like to hear their rationale for Rust/TypeScript over Clojure/ClojureScript (or Clojure/Javascript).

EDIT: typo


There was some discussion in http://incidentalcomplexity.com/2015/02/24/january--february...

> While running in the browser is a requirement for Eve, it's always been clear that using javascript directly was not a long-term option. So many of our implementation problems come down to lack of control over data layout. For Eve we need to implement:

> New types (like intervals) - but there is a space overhead of 24 extra bytes per object Polymorphic comparisons - but dispatching on typeof is slow Cache-friendly indexes - but it's hard to store multiple js objects sequentially in memory Radix tries - but converting strings to bytes is slow

> We also want to be able to distribute native code for mobile devices and use real threads on servers. Lastly, there is some benefit to using reference-counting for the indexes so that we can avoid copying nodes when we know we have sole access.

> We ruled out C++ and D on aesthetic grounds - we have a preference for small, simple languages that we can understand completely. Rust wins points for safety and abstraction but the toolchain is not nearly as mature and there are issues that currently prevent compiling with Emscripten. C gives us less support in the language but is much more future-proof at the moment.

I also wrote about our experiences with Rust later at http://scattered-thoughts.net/blog/2015/06/04/three-months-o...


I'm curious, why not LuaJIT? It's small and fast and when you need it to be faster, it has excellent C FFI and the ability to add inline assembly[0].

[0]: https://gist.github.com/lukego/d15f3a65bd316ea2c2b6


We needed control over memory layout and some path to running in the browser. I considered writing the data-structures in C and the rest in Lua but it would require more manual memory management than Rust and there is no clear path to compiling mixed Lua/C projects into Javascript.


That's a good reason. :)


Why is jamii's reply to this dead? It is very informative and on-topic.


It accidentally triggered a spam filter. Sorry; we fixed it.


Thanks! It's a testament to how rarely things go wrong that seeing such a good comment ranked so low was so surprising to me.


We're currently testing a feature that lets users unkill comments that shouldn't be dead. Once we roll it out to everyone, this will hopefully be less of a problem.


@jamii: For some odd reason you seem to be hell-banned. I couldn't find anything in your comment history to suggest why though :s

@mej10: Turn on showdead if you want to see jamii's response to your question.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: