Go! (programming language)

This is an old revision of this page, as edited by 99.241.159.185 (talk) at 22:40, 11 November 2009. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Go! is a concurrent programming language, first publicly documented by Keith Clark and Francis McCabe in 2003 [1]. It is oriented to the needs of programming secure, production quality, agent based applications. It is multi-threaded, strongly typed and higher order (in the functional programming sense). It has relation, function and action procedure definitions. Threads execute action procedures, calling functions and querying relations as need be. Threads in different agents communicate and coordinate using asynchronous messages. Threads within the same agent can also use shared dynamic relations acting as memory stores.

Go!
Paradigmconcurrent
Designed byFrancis McCabe, Keith Clark
First appeared2003
LicenseGPLv2

Its nature as a a multi-paradigm programming language, integrating logic, functional, object oriented and imperative programming styles, is particularly applied to ontology-based modeling, as exploited for the Semantic Web in allowing a type system where OWL classes can be represented in the type system [2].

Since the launch of Google's programming language Go, Go! has become the subject of a naming controversy that is still to be resolved [3].

Footnotes

  1. ^ Clark and McCabe, AAMAS'03, 2003
  2. ^ Clark and McCabe, Applied Intelligence, 2006
  3. ^ http://www.informationweek.com/news/software/web_services/showArticle.jhtml?articleID=221601351

References

  • Clark, K.L.; McCabe, F.G. (2003). "Go! for multi-threaded deliberative agents". International Conference on Autonomous Agents (AAMAS'03): 964–965. doi:10.1145/860575.860747.
  • Clark, K.L.; McCabe, F.G. (2003). "Ontology Oriented Programming in Go!" (PDF). {{cite journal}}: Cite journal requires |journal= (help)
  • Clark, K.L.; McCabe, F.G. (2004). "Go!—A Multi-Paradigm Programming Language for Implementing Multi-Threaded Agents". Annals of Mathematics and Artificial Intelligence. 41 (2–4): 171–206. doi:10.1023/B:AMAI.0000031195.87297.d9.
  • Clark, K.L.; McCabe, F.G. (2006). "Ontology oriented programming in go!". Applied Intelligence. 24 (3): 189–204. doi:10.1145/860575.860747.