Home Demos Forum Research Guide
Viewing topic in forum 'announcements'
back to topic list

Dana v170
Dana v170 provides standard library additions and performance enhancements.

Standard library additions

There's a little collection of functionality that we've wanted to add to the standard library for a while to help with building emergent software systems. We use these components in our research systems regularly, but sometimes it's hard to find time to polish and add some of our favourite little tools to the public release.

The main two additions are very simple:

composition.Search: This component supports searching for all components that provide a given interface. An emergent software system can use the results of this to trial each component in turn and learn about the effects that they have when used in the target system.

composition.ObjectWriter: We've had an "object reader" in the public release for a while, enabling you to read the "info sections" of compiled Dana components. We've now added an "object writer" which provides a simple API to add and delete these info sections This is useful to add annotations to components, such as descriptions of their semantics or performance histories.

Performance enhancements

This release of Dana is, on average, 6x faster than the previous release - a major difference that you'll immediately notice in almost all programs. Optimisation is often lower down our priority list than adding new features or refining the language definition, but some core parts of the programming language have now been sufficiently stable for long enough that we're confident the optimisations here are worthwhile (i.e. the design changes that we needed to undertake to make this happen won't make future planned updates any more difficult to implement). Essentially we've moved some functionality from software into hardware, running more code as native instructions than as virtual / interpreted instructions. We hope to make more of these improvements as the platform matures further in future, but we think this is a good start!

Happy coding :-)
by barry on 2016-06-25 16:46:55 (0 replies)

© Francis Research Ltd. 2018