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

How is this inspired by Crystal and Nim? I don't see anything in the post indicating their influence.



First: compile an interpreted/dynamic language, then, tooling, philosophy, compilation mode, llvm ...


Not one of the mentioned languages has dynamic typing, they are all statically typed.


I'm guessing it is the compilation of dynamic languages to machine code.


To machine code, and more : llvm, wasm, asm.js ...


> and more : llvm, wasm, asm.js ...

Neat for sure, but not a lot of stuff you can "usefully" do in asm.js in terms of end-user-facing "RIA", you have numbers, byte arrays, function calls, numeric operators, primops keywords. (Hell of a way to go type-safe: eliminate all types but numbers and byte-arrays! ;) No JS-native/runtime-own strings, no DOM, no built-in objects (window etc), hard to impractical to try to do other record/object handling. Wrap all interaction with stuff you don't get in asm.js in exports and "foreign"s. (OK fair game for code generation but still what a mess and constant switches between the asmjs context and the normal interpreted context aren't free either --- the bulk of "RIA" logic seems to be string/list ops, DOM/window interop, basic cheap control flow.) All the funky emscripten stuff that works in asm.js just also-compiles-and-then-uses the original memory/byte-based logic for these (records, lists, strings, objects etc) of the source's native runtime/compiler/libs.

As for wasm, seems to aim to mostly follow in the above footsteps "at first" (read, the next half decade at best, realistically...)

(But yeah, asm.js is of course still neat for overwhelmingly-numerical high load computations (game-playing / media-editing stuff etc comes to mind) as well as showcasing/proof-of-concepting both older C / OpenGL games and newer 3D engine demos..)


Fantastic, and the description of cross compilation in the blog post intrigues me. Looking forward to checking this out.


Crystal is a static language with Ruby-like syntax, not a dynamic language.

Nim, likewise, is static.




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

Search: