Live data from Hacker News

Viewing profile — sjrd

sjrd

HN member
Joined
Sat, Jun 15, 2013, 3:50 PM UTC
HN karma
1,266
Public activity
304 items

About sjrd

Compiler Engineer, Scala Center, EPFL. I develop Scala.js https://www.scala-js.org/

Recent public activity

  1. comment
    Comment #48884945

    I guess that's one more good reason to push for correctly rounded transcendental functions. I recently learned that they're basically solved now. [1] [1] https://arith2026.org/prog…

  2. comment
    Comment #47764333

    Have you tried Scala? It checks all the boxes, and is a mature language. The reactive UI runtime is provided by the library Laminar [1]. Technically its type inference is not HM bu…

  3. comment
    Comment #47757342

    Try Scala? You only need one 0-dependency library for UI (Laminar), and you're good to go.

  4. comment
    Comment #47744685

    Oh waw, I had totally forgotten about the handkerchiefs. But this is indeed how I was first thaught juggling when I was a kid. Thanks for the trip down the memory lane!

  5. comment
    Comment #47691815

    Right. I believe we are in agreement on that.

  6. comment
    Comment #47688954

    Only compilers that already had an SSA-based pipeline transform SSA to stack-based for Wasm. And several don't like that they have to comply with Wasm structured control flow (whic…

  7. comment
    Comment #47685432

    It seems to me that there's a certain "blindness" between two compiler worlds. Compiler engineers for mostly linear-memory languages tend to only think in terms of SSA, and assume …

  8. comment
    Comment #47315164

    Hum, IIRC, using your definition of an AOT compiler, then V8 is an AOT compiler. V8 never interprets code. It immediately compiles it to machine code. It improves it later, but it'…

  9. comment
    Comment #47314955

    Wasm is definitely designed to be compiled, either ahead of time or JITed. Wasm interpreters are few and far between.

  10. comment
    Comment #46764935

    Thanks for the feedback, and congrats on your achievement. We do still maintain this code, although it is deprecated now. Even with the unrolled tests, we would still keep the tabl…

  11. comment
    Comment #46762272

    Interesting. When compiling Scala.js to ECMAScript 5, we still have an implementation of bitwise floating point conversions based on double operations and integer shifts. [1] We al…

  12. comment
    Comment #46518078

    I genuinely did that a few times. Using an ssh client to fix a commit failing CI, for example. Even launching release builds remotely. Notably once when I was on vacation and half …

  13. comment
    Comment #45873651

    JavaScript engines do optimize integers. They usually represent integers up to +-2^30 as integers and apply integer operations to them. But of course that's not observable.

  14. comment
    Comment #45709460

    In Scala you can do it, because you can define your own operators (which are nothing but method names), and you can extend types you don't control. You are a bit constrained by the…

  15. comment
    Comment #45564511

    I guess it's one way to look at it. I see it as: I want a reproducible locale, independent of the user's system. If I see US, I'm wondering if it was chosen to be English because t…

  16. comment
    Comment #45562202

    I am one of the maintainers is the Scala compiler, and this is one of the things that immediately jump to me when I review code that contains any casing operation. Always explicitl…

  17. comment
    Comment #45552513

    Or Scala. Or Kotlin. Or any of the other languages that had most of these features years if not decades before Java. ;)

  18. comment
    Comment #45470820

    I'm sure it can do that in many cases. But if the scopes are a bit complicated, and in particular when variables are captured in lambdas, it's just not possible. The semantics requ…

  19. comment
    Comment #45470805

    Usage of Scala.js is steadily growing. Several indicators suggest that 1 in 5 Scala developers use Scala.js at this point. It's regularly brought up as one of the strongest suits o…

  20. comment
    Comment #45468717

    Indeed, `let`s and `const`s incur a significant performance penalty. This is also why the Scala.js compiler emits `var`s by default, even when targeting very recent versions of ECM…

  21. comment
    Comment #45318376

    I'm not surprised. I have introduced several people to gaming, both adults and children. I let them all start with the default settings, and I don't even tell them there are settin…

  22. comment
    Comment #45281408

    If your language and its compiler use JS String Builtins (part of Wasm 3.0) for their strings, then there is no cost to give them to JS and the DOM.

  23. comment
    Comment #45281356

    Wasm 3.0, with its GC and exception support, contains everything you need. The rest is up to the source language to deal with. For example, in Scala.js [1], which is mentioned in t…

  24. comment
    Comment #45281255

    Binaryen has a lot of baggage from Wasm early days, when it was still a strict AST. Many newer features are difficult to manipulate in its model. In our compiler (featured in TFA),…

  25. comment
    Comment #44817653

    Having read the article and read some of the comments here, I think many could learn from dependency management rules in the Scala ecosystem. Scala uses Maven repositories (where t…