This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
at:changelog [2007/04/06 15:46] stijnm Added |
at:changelog [2010/02/11 17:54] tvcutsem |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== AmbientTalk/ | ||
- | === build060407 === | ||
- | System library additions: | ||
- | * added a unit testing framework, see at/ | ||
- | * added a proper vector abstraction, | ||
- | * added support for ambient references, see at/ | ||
- | * added initial support for exceptions, see at/ | ||
- | * added a small timer library for scheduling code, see at/ | ||
- | * added a minimal object inspector using symbiosis with java, see at/ | ||
- | |||
- | Implementation changes: | ||
- | * The AT/2 interpreter no longer uses any of the JGroups or Log4J Dependencies. Rather, distributed network communication is performed in a dedicated manner. This improved performance, | ||
- | To the AT/2 programmer, the interface remains the same. | ||
- | |||
- | * 0000009: [] Bug in Detection of offline VMs (in new distribution layer) (tvcutsem) | ||
- | * 0000010: [] Race condition in distribution layer when going offline (tvcutsem) | ||
- | |||
- | === build230307 === | ||
- | * added a new option ' | ||
- | * Symbiosis: when Java code performs obj.equals(obj2), | ||
- | * Meta-level interface: createMessage' | ||
- | * Added new syntax to support the ' | ||
- | * Reworked the futures language module to support ' | ||
- | The futures language module now also exports two stripes, ' | ||
- | Hence, you have two options to work with futures from now on: you can evaluate ' | ||
- | * distributed memory management extensions by Elisa: it is now possible to take an exported object offline (using the takeOffline native). Far references that point to objects that are taken offline perceive this event as though it was a disconnection, | ||
- | * added the ' | ||
- | |||
- | === build150307 === | ||
- | |||
- | * Contains important bugfixes w.r.t the 050307 release. | ||
- | * Based on comments by all of you during our meeting, we changed the semantics of actor.install: | ||
- | actor.install: | ||
- | If you still want to mimick the old behaviour, you can do so with code like: | ||
- | < | ||
- | def mixin(protocolCode) { | ||
- | def oldActor := actor.install: | ||
- | object: { | ||
- | def uninstall() { | ||
- | // restore the previously active protocol | ||
- | actor.install: | ||
- | } | ||
- | } | ||
- | } | ||
- | </ | ||
- | |||
- | * The import: native now works, but to make it work, we had to implement it as syntax, not as a native method. If you would like to find out why, come by and ask me :-) Here's an example of how to use import: | ||
- | < | ||
- | def trait := object: { | ||
- | def foo() { self.bar() + 3 }; | ||
- | def bar() { 5 }; | ||
- | def baz := 3; | ||
- | }; | ||
- | |||
- | def obj := object: { | ||
- | import trait alias bar := tralala exclude baz; | ||
- | def bar() { 1 }; | ||
- | } | ||
- | |||
- | obj.bar() => 1 | ||
- | obj.foo() => 4 | ||
- | obj.baz => error | ||
- | obj.tralala() => 5 | ||
- | </ | ||
- | * The futures language mixin now works! Please check out the source code in the native library provided with the distribution under at/ | ||
- | Example: | ||
- | < | ||
- | import / | ||
- | enableFutures(); | ||
- | def id(x) { x } | ||
- | when: self< | ||
- | </ | ||
- | It might be that we later decide to invoke ' | ||
- | * The mirror architecture has been updated, but I'm not going to detail all bugfixes/ | ||
- | * Project/ | ||
- | * Don't forget to change the value of the AT_HOME environment variable in TextMate to point to the latest build! | ||
- | * Based on the proposal by StijnT, I changed the structure of the AmbientTalk ' | ||
- | path1: | ||
- | to | ||
- | name1=path1: | ||
- | The names given in the path will be the names of slots defined in the lobby at startup time. For example, if you specify: | ||
- | < | ||
- | Then in AmbientTalk: | ||
- | lobby.foo is bound to the namespace "/ | ||
- | lobby.bar is bound to the namespace "/ | ||
- | * By default, if you do not give an object path to iat in the command line (using -o), IAT will use the following path: | ||
- | '' | ||
- | In other words: it uses the value of '' | ||
- | It is now allowed to shadow names in the object path (a warning is printed on the console to make you aware of the shadowing). For example, if your '' | ||
- | < | ||
- | then '' | ||
- | * If you do not give the location of an init file to iat (using '' | ||
- | * In order to run IAT properly from within Eclipse with this new semantics, you have to set the value of the AT_HOME environment variable in your 'run configuration' | ||
- | < | ||
- | This passes to the JVM the value of the '' |