AmbientTalk

(Learn how and when to remove this message)

AmbientTalk is an experimental object-oriented distributed programming language developed at the Programming Technology Laboratory at the Vrije Universiteit Brussel, Belgium. The language is primarily targeted at writing programs deployed in mobile ad hoc networks.

AmbientTalk
Paradigmobject-oriented (prototype-based), Concurrent, Event-driven, Reflective
Designed byTom Van Cutsem, Stijn Mostinckx, Jessie Dedecker, Wolfgang De Meuter
DeveloperSoftware Languages Lab, University of Brussels
First appeared2006
Stable release
2.19 / April 2011
Typing disciplinedynamic, strong
OSPlatform-independent
LicenseMIT License
Filename extensions.at
Websitesoft.vub.ac.be/amop
Major implementations
AmbientTalk (interpreter)
Influenced by
Smalltalk, Self, Scheme, E, ABCL
Influenced
ECMAScript Harmony

AmbientTalk is meant to serve as an experimentation platform to experiment with new language features or programming abstractions to facilitate the construction of software that has to run in highly volatile networks exhibiting intermittent connectivity and little infrastructure.[1] It is implemented in Java which enables interpretation on various platforms, including Android. The interpreter standard library also provides a seamless interface between Java and AmbientTalk objects, called the symbiosis.

The language's concurrency features, which include support for futures and event-loop concurrency, are founded on the actor model and have been largely influenced by the E programming language. The language's object-oriented features find their influence in languages like Smalltalk (i.e. block closures, keyworded messages) and Self (prototype-based programming, traits, delegation).

Hello world

system.println("Hello world");

The classical "Hello, World!" program is not very representative of the language features. However, consider its distributed version:

/* Define types that could be discovered on the network */deftype Greeter;def makeGreeter(myName) {    /* Spawn an actor */    actor: {        /* Actors have a separate namespace, include the language futures in it */        import /.at.lang.futures;        /* A method that could be called by other greeters */        def getName(){myName};        /* Export this actor on the network */        export: self as: Greeter;                /* Main logic: if we discover another Greeter ... */        whenever: Greeter discovered: {|other|            /* Asynchronously get their name, and greet them */            when: other<-getName()@FutureMessage becomes: {|name|                system.println("Hello " + name + " from " + myName);            };        };    };};/* Spawn 2 actors that will greet each other */makeGreeter("Alice");makeGreeter("Bob");

References

Retrieved from "https:https://www.search.com.vn/wiki/index.php?lang=en&q=AmbientTalk&oldid=1222231254"
🔥 Top keywords: Main PageSpecial:SearchPage 3Wikipedia:Featured picturesHouse of the DragonUEFA Euro 2024Bryson DeChambeauJuneteenthInside Out 2Eid al-AdhaCleopatraDeaths in 2024Merrily We Roll Along (musical)Jonathan GroffJude Bellingham.xxx77th Tony AwardsBridgertonGary PlauchéKylian MbappéDaniel RadcliffeUEFA European Championship2024 ICC Men's T20 World CupUnit 731The Boys (TV series)Rory McIlroyN'Golo KantéUEFA Euro 2020YouTubeRomelu LukakuOpinion polling for the 2024 United Kingdom general electionThe Boys season 4Romania national football teamNicola CoughlanStereophonic (play)Gene WilderErin DarkeAntoine GriezmannProject 2025