Viewing profile — mraleph
mraleph
HN member- Joined
- Wed, Sep 29, 2010, 5:53 PM UTC
- HN karma
- 852
- Public activity
- 286 items
- HN profile
- View on Hacker News ↗
About mraleph
Recent public activity
-
comment
Comment #45629401
We are done with NNBD transition for a few years now. Dart 2.12 (released March 2021) introduced null-safety. That started a 2 year transitionary period during which you could mix …
-
comment
Comment #42223441
At some point in my life (when I briefly worked on LuaJIT for DeepMind) I have written a stack walker which can stitch together native and Lua frames: for each native stack frame i…
-
comment
Comment #40689302
> - it is truly native, in the sense I can directly talk to native APIs on each platform without going through bridging code and there's no special runtime I thought Compose Deskto…
-
comment
Comment #39620046
> The fact that I can’t then immediately go Who said you can't? :) This actually works in Dart: Dog? dog; bool isDog = dog is Dog; if (isDog) { dog.bark(); } i.e. boolean variables…
-
comment
Comment #39614010
The reason why languages promote variable types based on control flow is because developers en masse actually expect that to happen, e.g. facing the code like Dog? maybeDog; if (ma…
-
comment
Comment #39613439
In Dart 3 you have patterns and sealed class families to achieve that. See my comment above[1]. The syntax is unfortunately more verbose, but if all goes well we will address that …
-
comment
Comment #39613427
In Dart 3 instead of declaring the variable and then comparing you can simply write an if-case pattern: if (value case final value?) { // value is a fresh final variable }
-
comment
Comment #39613415
In Dart you use class hierarchies instead, rather than enums (which in Dart are way to define a compile time constant set of values). So the original example becomes: sealed class …
-
comment
Comment #38899799
> Dart+Flutter look promising until you notice that they run Skia WASM inside the dart VM which itself runs in WASM which runs inside a JS VM and performance is abysmal. That's not…
-
comment
Comment #37158861
[disclaimer: I work on Dart, though not on the language team] With primary constructors this will become something along the lines of: sealed class Message(); class IncrementBy(fin…
-
comment
Comment #34962876
> it was built on top of v8 Was never built on top of V8 in any shape of form. Dart VM does not even share any code with V8. Dart 1 was designed by people who originally started V8…
-
comment
Comment #33762011
Dart does not have arrays, it has lists. Try replacing "Dart array" with "Dart list" instead.
-
comment
Comment #33716626
It would be interesting to see 1-1 comparison with LuaJIT interpreter _without corresponding runtime changes_. That would given a meaningful baseline for how much you potentially l…
-
comment
Comment #33531749
> The JIT still performs better, but the AOT code starts up faster. I should update that side note because a lot of things has changed. It should probably say something like: > The…
-
comment
Comment #30795896
The extension has recently reached Stage 2 - most of the questions around type system have been resolved. V8 has a working implementation. We have build `dart2wasm` compiler target…
-
comment
Comment #30788513
> what's interesting is that static typing buys you somewhat minimal gains in performance. There are a lot of caveats here. You could potentially claim "minimal gains in peak perfo…
-
comment
Comment #26355300
We are planning to fix it some time in the future, we really only expected moderate usage of `dart2native` and only on Linux. Turns out that there is demand for using it all over t…
-
comment
Comment #26343220
[I work on Dart VM team] `dart2native` just concatenates two binaries together: AOT runtime binary and AOT snapshot binary. AOT snapshot is an ELF binary which contains native code…
-
comment
Comment #24922861
> 2. Dart has optional typing, which is to say it supports type hints but is essentially dynamically rather than statically typed. Dart has not been optionally typed since Dart 2 (…
-
comment
Comment #20812094
The operator itself would throw an error. Dart is planning to have a sound non-nullability which means that if something has static type `SomeType` then it is guaranteed to be a va…
-
comment
Comment #20809139
It's a non-null assertion operator which would throw an error if `e1 == null`.
-
comment
Comment #19868170
[disclaimer: I work on Dart team] Short answer: there are a lot of different editors in the world, but Dart team is not large enough and does not posses necessary expertise to deve…
-
comment
Comment #19856765
In the two experiments that we did LLVM brought only marginal benefits so we could not warrant the huge dependency and associated maintenance costs. We already have a good compilat…
-
comment
Comment #19856725
DDC stands for Dart Development Compiler. It is a fast modular compiler that you use for quick edit&refresh development in the browser. It does not do any global optimizations, unl…
-
comment
Comment #19854029
It's actually the very same main.dart.js (dart2js compiler does not have ability to target a specific browser, its output is supposed to work in every supported browser). 359kb is …