Skip to main content

Posts

Showing posts from March, 2012

Dart Team's (Bi)Weekly Digest

Posted by Anders Sandholm

Another round of updates from the Dart team:
In terms of the language, version of the spec 0.08 was pushed out.  The dart2js compiler is now self-hosting - at least under certain “lab” conditions. A few more commits (that are underway) and we should be there.In Dartium we now have initial support for SVG documents.In the Dart Editor, we have Copy/Paste and show libraries in bold in Files view. There is also initial support for excluding files/directories from analysis. Debugger improvements. Analysis, Frog, and SDK fixesPerformance on dart:html significantly improved.Work on the pub -- a package manager for Dart -- has started. First checkin has occurred and discussions happening on the Dart mailing list.SDK now includes unittest.We improved error handling in dart:io to give meaningful error messages to users when operations fail.

New Dart Editor build available

Posted by Dan Rubel

A new Dart Editor build is available. Highlights from build 5845 include:Copy/Paste and show libraries in bold in Files viewInitial support for excluding files/directories from analysisDebugger improvementsAnalysis, Frog, and SDK fixesPlease check out the full change log or start with the Dart Editor tutorial.
(We apologize, we accidentally reported that this build had local rename refactoring. This feature is still in the works, but not available in this build. Stay tuned!)

Dart language spec update to 0.08

Posted by Seth Ladd
The Dart team has updated the Dart language spec to version 0.08. Changes include:
5:Static variables are lazily initialized, but need not be constants. Orthogonal notion of constant variable introduced.7.1.2: Added equals operator as part of revised == treatment.7.5.1: Initializing formals have the same type as the field they correspond to.7.7: Static variable getter rules revised to deal with lazy initialization.10: Modified syntax to support cascaded method invocations.10.1: Removed support for + operator on Strings. Extended string constants to support certain cases of string interpolation. Revised constants to deal with constant variables10.5: Corrected definition of HEX_DIGIT_SEQUENCE. Support implicit concatenation of adjacent single line strings.10.13.2: Centralized and corrected type rules for function invocation.10.14: Moved rules for checking function/method invocations to 10.1.3.2. Added definition of cascaded method invocations.10.1510.16: Updated noS…

Dart slides from Smalltalk and 33rd Degree conferences now online

Posted by Seth Ladd

We've just posted the slides for two Dart talks from this week.

Eric Clayberg, engineering manager at Google, presented an Introduction to Dart for Smalltalkers to the Smalltalk Industry Conference.Mike West, Chrome Developer Advocate, presented A tour of Dart to 33rd Degree Conference.
You can find those and other Dart presentations, videos, and slides at dartlang.org.

Thanks to Eric and Mike for their presentations!

Sydney GTUG has fun with Dart

Posted by Seth Ladd

On the night of Tuesday the 20th of March, the trusty crew of the Sydney GTUG gathered at the hallowed halls of the Sydney Googleplex to learn the ins and outs of the Dart programming language. Pizza was consumed, questions were asked, Dart Editors edited, and Dart compilers compiled. For two and a half hours, everyone was head down, tails up, giving this shiny new technology a very close inspection, and at the end of the night, everyone went home happy, having learned a new thing or two about this great new programming language!

Thanks to Brett Morgan and the Syndey GTUG crew for hosting this Dart event.

Want your Dart event advertised here? Drop us a line and we'll help get the word out!

Call for use cases for Dart package system

The Dart team is calling for your use cases for a Dart package system.


What do you need a package system to do? What problems do you have? What would you like to accomplish? The Dart team wants to know!

Please don't say "build npm or bundler", instead, let us know what problems you need solving. We'll collect your feedback and look at the existing systems out there for inspiration and familiarity.

I deliberately left "package system" vague in the hopes of catching a wide array of use cases. Use your imaginations. :)



If you are on Google+, you can leave a comment on the original post. Or, please feel free to leave a comment here in this post.


Thanks in advance, your input is important to us.

New Dart Editor adds SDK libraries view

Posted by Eric Clayberg


New Dart Editor build is now available. Highlights from build 5549 include:
Show SDK libraries in new Files viewSyntax highlighting improvementsRefresh action in new Files viewCode completion for identifiers in string interpolationBring Dartium to the front when launched from editorFrog JS compilation fixesUI and Analysis improvementsRead the full change log or start with the Dart Editor tutorial.

Dart Team's Weekly Digest

Posted by Anders Sandholm

Another round of weekly updates from the Dart team:
Language-wise, mirror implementation and testing in flight.In the VM, the new compiler pipeline compiles 90+% of all methods in frog. We support regular expressions as patterns in String methods and implemented spawnFunction in the new isolates API. First steps of adding thread pool support for isolates and native ports. Support in the Dart C API for prologue weak persistent handles.In the Dart to JavaScript Compiler, we added support for concatenating adjacent string literals, made the optimizing backend capable of dealing with large code bases by being a bit smarter about how we enqueue methods we haven’t yet compiled. Finally, we’re getting ready to consolidate the frog and leg components into a single dart2js compiler.We now have Dartium on Windows.In the Dart Editor, we added new “SDK” entry in Files view to show dart: libraries and undo support for new Files view plus other improvements and fixes. Omnib…

14 cool projects from the Dart Community

Posted by Seth Ladd

I woke up this morning and found lots of great news from around the Dart community.

Chris Buckett presented Dart to London Ajax User Group. Chris released the slides and there is a video available.Lars Bak and Kasper Lund, co-creators of Dart, talk about V8 and Dart in JavaScript Jabber podcast. Learn about the history of V8 and Dart, and why Dart has curly braces. :)Chris Strom continues his chain of Dart blog posts to support his Dart for Hipsters books. His latest posts focus on Dart with Web sockets.Adam Smith tries out the new dart:isolate code and posts his isolate experiment. Check out his example of Isolates to power a merge sort.Vadim Tsushko released a MongoDB driver for Dart, including a small sample.Seth Ladd (me :) posted about using Futures for better async code. </shameless plug>Seth also started LawnDart, an interface for HTML5 offline storage, wrapping Local Storage and IndexedDB. </shameless plug>Mads Ager, engineer on the Dart team, wr…

New Dart Editor builds supports adjacent string literals

Posted by Dan Rubel


A new Dart Editor build is now available. Highlights from build 5427 include:
Undo support for new Files view plus other improvements and fixesOmnibox fixesAssociate HTML files with Dart libraryUpdate analysis to support adjacent string literalsAnalysis fixes and continued cleanup of deprecated codeRead the full change log or start with the Dart Editor tutorial to download and learn more.

New article on server-side programming with dart:io

Posted by Mads Ager

We've just published an article on how to use dart:io, our library for writing server-side code that runs on the standalone Dart VM. The library provides, among other things, access to files, directories, and processes. It also allows you to write HTTP servers like this simple one that just answers ‘Hello, world’ to any request:
#import('dart:io'); main() { var server = new HttpServer(); server.listen('127.0.0.1', 8080); server.onRequest = (HttpRequest request, HttpResponse response) { response.outputStream.write('Hello, world'.charCodes()); response.outputStream.close(); }; } To see further examples and find more out about how to use the dart:io library, take a look at the new article, An Introduction to the dart:io Library, on dartlang.org.

Dart Team's Weekly Digest

Posted by Anders Sandholm

Quick update on what happened in Dart-land this week.

Dart language specification revisions for version 0.08 are ongoing: cascades, lazy init, liberalized string constants, relaxed compile-time errors.In the Dart VM, the new compiler infrastructure now compiles about half of the methods in frog and we have better support for source breakpoints. We implemented Dart C API for weak reference sets (aka object grouping) and automatic concatenation of string literals. Finally, we have better resolution of URIs in the dart standalone binary.In the Dart to JavaScript Compiler, we started to support constructs that introduce complicated control flow (break, continue) in the new optimizing backend. Moreover, the first samples that use the new wrapperless dart:html library work when compiled with the optimizing backend.The Dart Editor has a new Files view which replaces the old Libraries view. We also made a switch to perform analysis against Dart SDK runtime libraries a…

New Dart Editor build has improved Files browser

Posted by Eric Clayberg
The Dart Editor team is cranking out the releases! This new build include a brand new way to browse your project: the Files view.
Highlights from build 5104 include:New Files view replaces old Libraries viewSwitch to perform analysis against Dart SDK runtime librariesCleaned up wizards, welcome page, and UI to reflect switch to new Files viewImproved launch configurationsAnalysis engine (DartC) improvements and cleanupModified "native" keyword analysis to support usage in Frog Read the full change log or start with the Dart Editor tutorial.

Dart Team's Weekly Digest

Posted by Anders Sandholm

Another action-packed week of events in Dart-land is passing by:
On the language front, we announced lazy initialization of statics. Moreover, initializing formals will use the declared type of the field by default.In the VM, we removed the dependency on the OpenSSL library for big integer implementation, reduced memory overhead of loaded scripts by about 35% and landed some stability work and bug fixing.In the editor, we transitioned from dartc libraries to libraries in dart-sdk/lib and worked on the new Files view and in Dartium, we did an initial pass over step into, step over and step out in the debugger.New wrapperless html bindings checked in. Next step is activating these, which will cause the changes outline here. Isolates refactored, move into dart/lib/isolate in change 4647.For dart:io, we added an http library making it easy to write web servers and clients. We also changed everything in dart:io (which was a lot of fun!):Event names went from eventH…

Video: Josh Bloch talks about Dart Libraries

Posted by Seth Ladd

Watch Josh Bloch chat about the Dart libraries in this video from our latest Dartisans broadcast.



Thanks to everyone that watched and asked questions. Be sure to +1 the original post if you liked the format, and let us know what other topics you'd like to see covered in the future.

Improvements to the dart:io libraries

Posted by Seth Ladd

Mads Ager, engineer on the Dart server and IO libraries, has just posted some breaking changes to the dart:io libraries.


One-shot methods now take their callback as an argument.

Old 'n busted:

var f = new File('myfile.txt'); 
f.exists(); 
f.existsHandler = (result) { 
  // do stuff. 
}; 

New hotness:

var f = new File('myfile.txt'); 
f.exists((result) { 
  // do stuff. 
}); 

For active objects such as streams that emit events, the event handlers have changed names from eventHandler to onEvent.

Old 'n busted:

stdin.dataHandler = () { 
  // do stuff. 
}; 

New hotness:

stdin.onData = () { 
  // do stuff. 
}; 

Why not follow the lead of the dart:html libraries and use the convention of object.on.event.add(handler)? Mads explains: We did consider going with object.on.event.add(handler). However,
having a collection of handlers for dart:io events usually doesn't
make sense. Then you are down to object.on.event = stuff. At that
point I think it is better to just …