Discussion:
[dart-misc] Dart 2.0 and Flutter
kc
2016-06-29 13:07:29 UTC
Permalink
There are a couple of github issues relating to Flutter:

https://github.com/dart-lang/sdk/issues/26703
Optional auto-generation of operator== and hashCode on classes with const
constructors #26703
aka 'value objects'

https://github.com/dart-lang/sdk/issues/26494
Fixed point numeric types #26494
aka close-to-the-metal numeric value types useful for graphics

Are they being worked on as part of Dart 2.0?
Is the Flutter team involved in Dart 2.0 design?

K.
--
For other discussions, see https://groups.google.com/a/dartlang.org/

For HOWTO questions, visit http://stackoverflow.com/tags/dart

To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups "Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to misc+***@dartlang.org.
Filipe Morgado
2016-06-29 14:43:14 UTC
Permalink
Here's "proof"
<https://groups.google.com/a/dartlang.org/forum/#!searchin/vm-dev/perf$20meeting/vm-dev/5n5Hdxwgids/JYOEduZACwAJ>
that something is in the works.

I'm hoping for native arithmetic as well.

Dartino disables bigint altogether
<https://groups.google.com/forum/#!topic/dartino-discuss/7ZcF__mm-Ec>.

Fixed-size numbers and value types could work well in a lot of cases.

Also, I check the commits once in a while.
Some VM commits refer to "DBC", which I assume means "Design By Contract".
I read that is supposed to improve inference and allow for unboxed doubles
and other niceties.
Not sure if this is related to JiT, AoT or both.
Maybe the next performance feature is just a better VM.

Time to run some benchmarks to see if something has changed.
--
For other discussions, see https://groups.google.com/a/dartlang.org/

For HOWTO questions, visit http://stackoverflow.com/tags/dart

To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups "Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to misc+***@dartlang.org.
'Vyacheslav Egorov' via Dart Misc
2016-06-29 19:46:53 UTC
Permalink
Post by Filipe Morgado
Some VM commits refer to "DBC", which I assume means "Design By Contract".
DBC means "Dart Byte Code", it's an interpreter for platforms which do not
allow JITing into machine code. It's there to enable quick development
experience on such platforms without relying on costly AOT step. It's also
capable of dynamically regenerating bytecode with speculative optimizations
- just like normal Dart VM JIT.
Post by Filipe Morgado
Here's "proof"
<https://groups.google.com/a/dartlang.org/forum/#!searchin/vm-dev/perf$20meeting/vm-dev/5n5Hdxwgids/JYOEduZACwAJ>
that something is in the works.
I'm hoping for native arithmetic as well.
Dartino disables bigint altogether
<https://groups.google.com/forum/#!topic/dartino-discuss/7ZcF__mm-Ec>.
Fixed-size numbers and value types could work well in a lot of cases.
Also, I check the commits once in a while.
Some VM commits refer to "DBC", which I assume means "Design By Contract".
I read that is supposed to improve inference and allow for unboxed doubles
and other niceties.
Not sure if this is related to JiT, AoT or both.
Maybe the next performance feature is just a better VM.
Time to run some benchmarks to see if something has changed.
--
For other discussions, see https://groups.google.com/a/dartlang.org/
For HOWTO questions, visit http://stackoverflow.com/tags/dart
To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups
"Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an
--
// Vyacheslav Egorov
--
For other discussions, see https://groups.google.com/a/dartlang.org/

For HOWTO questions, visit http://stackoverflow.com/tags/dart

To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups "Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to misc+***@dartlang.org.
Filipe Morgado
2016-06-29 22:28:42 UTC
Permalink
Thanks for the clarification :)
Post by Filipe Morgado
Post by Filipe Morgado
Some VM commits refer to "DBC", which I assume means "Design By
Contract".
DBC means "Dart Byte Code", it's an interpreter for platforms which do not
allow JITing into machine code. It's there to enable quick development
experience on such platforms without relying on costly AOT step. It's also
capable of dynamically regenerating bytecode with speculative optimizations
- just like normal Dart VM JIT.
Post by Filipe Morgado
Here's "proof"
<https://groups.google.com/a/dartlang.org/forum/#!searchin/vm-dev/perf$20meeting/vm-dev/5n5Hdxwgids/JYOEduZACwAJ>
that something is in the works.
I'm hoping for native arithmetic as well.
Dartino disables bigint altogether
<https://groups.google.com/forum/#!topic/dartino-discuss/7ZcF__mm-Ec>.
Fixed-size numbers and value types could work well in a lot of cases.
Also, I check the commits once in a while.
Some VM commits refer to "DBC", which I assume means "Design By Contract".
I read that is supposed to improve inference and allow for unboxed
doubles and other niceties.
Not sure if this is related to JiT, AoT or both.
Maybe the next performance feature is just a better VM.
Time to run some benchmarks to see if something has changed.
--
For other discussions, see https://groups.google.com/a/dartlang.org/
For HOWTO questions, visit http://stackoverflow.com/tags/dart
To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups
"Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an
--
// Vyacheslav Egorov
--
For other discussions, see https://groups.google.com/a/dartlang.org/

For HOWTO questions, visit http://stackoverflow.com/tags/dart

To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups "Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to misc+***@dartlang.org.
kc
2016-07-06 11:30:10 UTC
Permalink
Post by Filipe Morgado
Post by Filipe Morgado
Some VM commits refer to "DBC", which I assume means "Design By
Contract".
DBC means "Dart Byte Code", it's an interpreter for platforms which do not
allow JITing into machine code. It's there to enable quick development
experience on such platforms without relying on costly AOT step. It's also
capable of dynamically regenerating bytecode with speculative optimizations
- just like normal Dart VM JIT.
Is DBC and the overall VM design documented anywhere. JSC write occasional
insightful docs on their approach - like the new B3 backend:

https://webkit.org/blog/5852/introducing-the-b3-jit-compiler/

K.
Post by Filipe Morgado
Post by Filipe Morgado
Here's "proof"
<https://groups.google.com/a/dartlang.org/forum/#!searchin/vm-dev/perf$20meeting/vm-dev/5n5Hdxwgids/JYOEduZACwAJ>
that something is in the works.
I'm hoping for native arithmetic as well.
Dartino disables bigint altogether
<https://groups.google.com/forum/#!topic/dartino-discuss/7ZcF__mm-Ec>.
Fixed-size numbers and value types could work well in a lot of cases.
Also, I check the commits once in a while.
Some VM commits refer to "DBC", which I assume means "Design By Contract".
I read that is supposed to improve inference and allow for unboxed
doubles and other niceties.
Not sure if this is related to JiT, AoT or both.
Maybe the next performance feature is just a better VM.
Time to run some benchmarks to see if something has changed.
--
For other discussions, see https://groups.google.com/a/dartlang.org/
For HOWTO questions, visit http://stackoverflow.com/tags/dart
To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups
"Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an
--
// Vyacheslav Egorov
--
For other discussions, see https://groups.google.com/a/dartlang.org/

For HOWTO questions, visit http://stackoverflow.com/tags/dart

To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups "Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to misc+***@dartlang.org.
Filipe Morgado
2016-06-29 14:52:22 UTC
Permalink
Post by kc
https://github.com/dart-lang/sdk/issues/26703
Optional auto-generation of operator== and hashCode on classes with const
constructors #26703
aka 'value objects'
The "perf meeting" mentions value objects but I don't think it's the same
"kind" you're referring to.

I think they mean tuples, a collection of values which sit on the stack or
registers, multiple-value returns, etc...
Just like Swift tuples.
--
For other discussions, see https://groups.google.com/a/dartlang.org/

For HOWTO questions, visit http://stackoverflow.com/tags/dart

To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups "Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to misc+***@dartlang.org.
Daniel Morilha
2016-06-29 16:23:59 UTC
Permalink
there is a pending code review item for a possible pixel type into the vm
as well: https://codereview.chromium.org/2005723004/
Post by Filipe Morgado
Post by kc
https://github.com/dart-lang/sdk/issues/26703
Optional auto-generation of operator== and hashCode on classes with const
constructors #26703
aka 'value objects'
The "perf meeting" mentions value objects but I don't think it's the same
"kind" you're referring to.
I think they mean tuples, a collection of values which sit on the stack or
registers, multiple-value returns, etc...
Just like Swift tuples.
--
For other discussions, see https://groups.google.com/a/dartlang.org/
For HOWTO questions, visit http://stackoverflow.com/tags/dart
To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups
"Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an
--
Daniel Morilha (***@gmail.com)
--
For other discussions, see https://groups.google.com/a/dartlang.org/

For HOWTO questions, visit http://stackoverflow.com/tags/dart

To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups "Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to misc+***@dartlang.org.
'Bob Nystrom' via Dart Misc
2016-06-29 16:56:37 UTC
Permalink
Post by kc
https://github.com/dart-lang/sdk/issues/26703
Optional auto-generation of operator== and hashCode on classes with const
constructors #26703
aka 'value objects'
https://github.com/dart-lang/sdk/issues/26494
Fixed point numeric types #26494
aka close-to-the-metal numeric value types useful for graphics
Are they being worked on as part of Dart 2.0?
Yes, but it depends a lot on how you define "worked on". We are actively
working on Dart 2.0, but a lot of that involves trying to figure out which
features are feasible and which ones are the best way to solve a set of
problems. In many cases, "working on" a feature might result in, "we
figured out you can solve the same problem better using ___".

We did *work* related to the feature, but it didn't end up getting shipped.
In general, that's a good thing. Our goal isn't the longest possible
feature list. It's the longest set of problems you can gracefully solve
using the *shortest* list of features.

So a big part of the reason we've been cagey lately about Dart 2.0 is it's
hard to talk about what we're "working on" without falsely implying that we
intend to *ship* something.

We are definitely focused on improving performance of Dart 2.0, especially
on mobile and in ahead-of-time compiled scenarios like iOS and the web.
"Value types"—some sort of way to express objects without the overhead of
boxing and references, is high on the list of things we want to investigate
to tackle that.

More closer-to-hand is having a more reliable, sound static type system,
which is why we've put so much work into strong mode.
Post by kc
Is the Flutter team involved in Dart 2.0 design?
Yes, we (the language team, and other people on the Dart team) talk to
Flutter folks pretty much all the time. We're doing our absolute best to
make Dart 2.0 a beautiful language for their framework.
Post by kc
there is a pending code review item for a possible pixel type into the vm
as well: https://codereview.chromium.org/2005723004/
Note the description, though: "prototype and test (not to be committed)". :)

At this point, it's an experiment to help the VM team gather some data.

Cheers!

– bob
--
For other discussions, see https://groups.google.com/a/dartlang.org/

For HOWTO questions, visit http://stackoverflow.com/tags/dart

To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups "Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to misc+***@dartlang.org.
Michael Francis
2016-06-29 17:22:58 UTC
Permalink
I'm currently working an a Flutter inspired virtual reality platform (
http://www.masonvr.com/) . I'm really excited to hear about Dart 2.0
details. I hope you guys begin sharing the road map shortly. Like the
Flutter team I'm very interested in the VM performance. Hitting that 90+
fps in VR is going to be important.


On Wed, Jun 29, 2016 at 12:57 PM 'Bob Nystrom' via Dart Misc <
Post by 'Bob Nystrom' via Dart Misc
Post by kc
https://github.com/dart-lang/sdk/issues/26703
Optional auto-generation of operator== and hashCode on classes with const
constructors #26703
aka 'value objects'
https://github.com/dart-lang/sdk/issues/26494
Fixed point numeric types #26494
aka close-to-the-metal numeric value types useful for graphics
Are they being worked on as part of Dart 2.0?
Yes, but it depends a lot on how you define "worked on". We are actively
working on Dart 2.0, but a lot of that involves trying to figure out which
features are feasible and which ones are the best way to solve a set of
problems. In many cases, "working on" a feature might result in, "we
figured out you can solve the same problem better using ___".
We did *work* related to the feature, but it didn't end up getting
shipped. In general, that's a good thing. Our goal isn't the longest
possible feature list. It's the longest set of problems you can gracefully
solve using the *shortest* list of features.
So a big part of the reason we've been cagey lately about Dart 2.0 is it's
hard to talk about what we're "working on" without falsely implying that we
intend to *ship* something.
We are definitely focused on improving performance of Dart 2.0, especially
on mobile and in ahead-of-time compiled scenarios like iOS and the web.
"Value types"—some sort of way to express objects without the overhead of
boxing and references, is high on the list of things we want to investigate
to tackle that.
More closer-to-hand is having a more reliable, sound static type system,
which is why we've put so much work into strong mode.
Post by kc
Is the Flutter team involved in Dart 2.0 design?
Yes, we (the language team, and other people on the Dart team) talk to
Flutter folks pretty much all the time. We're doing our absolute best to
make Dart 2.0 a beautiful language for their framework.
Post by kc
there is a pending code review item for a possible pixel type into the vm
as well: https://codereview.chromium.org/2005723004/
Note the description, though: "prototype and test (not to be committed)". :)
At this point, it's an experiment to help the VM team gather some data.
Cheers!
– bob
--
For other discussions, see https://groups.google.com/a/dartlang.org/
For HOWTO questions, visit http://stackoverflow.com/tags/dart
To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups
"Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an
--
For other discussions, see https://groups.google.com/a/dartlang.org/

For HOWTO questions, visit http://stackoverflow.com/tags/dart

To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups "Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to misc+***@dartlang.org.
kc
2016-07-05 11:52:51 UTC
Permalink
When will a reveal of what is being considered for Dart 2.0 happen?

K.
--
For other discussions, see https://groups.google.com/a/dartlang.org/

For HOWTO questions, visit http://stackoverflow.com/tags/dart

To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups "Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to misc+***@dartlang.org.
Günter Zöchbauer
2016-07-05 19:58:13 UTC
Permalink
perhaps https://www.dartlang.org/events/2016/summit/
Post by kc
When will a reveal of what is being considered for Dart 2.0 happen?
K.
--
For other discussions, see https://groups.google.com/a/dartlang.org/

For HOWTO questions, visit http://stackoverflow.com/tags/dart

To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups "Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to misc+***@dartlang.org.
kc
2016-07-06 11:39:37 UTC
Permalink
David Morgan has some interesting input re value objects - and also
builders:
https://github.com/dart-lang/sdk/issues/26703

Is his input part of Dart 2.0 discussions?

Also John Messerly had some interesting comments on records/patterns and
C#7.

K.
Post by 'Bob Nystrom' via Dart Misc
Post by kc
https://github.com/dart-lang/sdk/issues/26703
Optional auto-generation of operator== and hashCode on classes with const
constructors #26703
aka 'value objects'
https://github.com/dart-lang/sdk/issues/26494
Fixed point numeric types #26494
aka close-to-the-metal numeric value types useful for graphics
Are they being worked on as part of Dart 2.0?
Yes, but it depends a lot on how you define "worked on". We are actively
working on Dart 2.0, but a lot of that involves trying to figure out which
features are feasible and which ones are the best way to solve a set of
problems. In many cases, "working on" a feature might result in, "we
figured out you can solve the same problem better using ___".
We did *work* related to the feature, but it didn't end up getting
shipped. In general, that's a good thing. Our goal isn't the longest
possible feature list. It's the longest set of problems you can gracefully
solve using the *shortest* list of features.
So a big part of the reason we've been cagey lately about Dart 2.0 is it's
hard to talk about what we're "working on" without falsely implying that we
intend to *ship* something.
We are definitely focused on improving performance of Dart 2.0, especially
on mobile and in ahead-of-time compiled scenarios like iOS and the web.
"Value types"—some sort of way to express objects without the overhead of
boxing and references, is high on the list of things we want to investigate
to tackle that.
More closer-to-hand is having a more reliable, sound static type system,
which is why we've put so much work into strong mode.
Post by kc
Is the Flutter team involved in Dart 2.0 design?
Yes, we (the language team, and other people on the Dart team) talk to
Flutter folks pretty much all the time. We're doing our absolute best to
make Dart 2.0 a beautiful language for their framework.
Post by kc
there is a pending code review item for a possible pixel type into the vm
as well: https://codereview.chromium.org/2005723004/
Note the description, though: "prototype and test (not to be committed)". :)
At this point, it's an experiment to help the VM team gather some data.
Cheers!
– bob
--
For other discussions, see https://groups.google.com/a/dartlang.org/

For HOWTO questions, visit http://stackoverflow.com/tags/dart

To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups "Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to misc+***@dartlang.org.
'Bob Nystrom' via Dart Misc
2016-07-06 17:35:34 UTC
Permalink
Post by kc
David Morgan has some interesting input re value objects - and also
https://github.com/dart-lang/sdk/issues/26703
Is his input part of Dart 2.0 discussions?
Also John Messerly had some interesting comments on records/patterns and
C#7.
We take input from pretty much all corners, including this list. But, yes,
we keep in touch with David and John too. :)

Cheers!

– bob
--
For other discussions, see https://groups.google.com/a/dartlang.org/

For HOWTO questions, visit http://stackoverflow.com/tags/dart

To file a bug report or feature request, go to http://www.dartbug.com/new
---
You received this message because you are subscribed to the Google Groups "Dart Misc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to misc+***@dartlang.org.
Continue reading on narkive:
Loading...