About: Janus (concurrent constraint programming language)     Goto   Sponge   NotDistinct   Permalink

An Entity of Type : dbo:ProgrammingLanguage, within Data Space : dbpedia.org associated with source document(s)
QRcode icon
http://dbpedia.org/describe/?url=http%3A%2F%2Fdbpedia.org%2Fresource%2FJanus_%28concurrent_constraint_programming_language%29

Janus is a computer programming language partially described by K. Kahn and Vijay A. Saraswat in the paper "Actors as a special case of concurrent constraint (logic) programming" in 1990. It is a concurrent constraint language without backtracking. Janus models concurrency through the use of bag channels. Code that needs to send a message to a process does so by constraining a bag to be the union of another bag and the singleton bag of the message. The other bag is then available to be constrained for sending subsequent messages.

AttributesValues
rdf:type
rdfs:label
  • Janus (concurrent constraint programming language)
rdfs:comment
  • Janus is a computer programming language partially described by K. Kahn and Vijay A. Saraswat in the paper "Actors as a special case of concurrent constraint (logic) programming" in 1990. It is a concurrent constraint language without backtracking. Janus models concurrency through the use of bag channels. Code that needs to send a message to a process does so by constraining a bag to be the union of another bag and the singleton bag of the message. The other bag is then available to be constrained for sending subsequent messages.
foaf:name
  • Janus
name
  • Janus
foaf:isPrimaryTopicOf
dct:subject
Wikipage page ID
Wikipage revision ID
Link from a Wikipage to another Wikipage
sameAs
dbp:wikiPageUsesTemplate
designer
  • Ken Kahn and Vijay A. Saraswat
implementations
paradigm
year
has abstract
  • Janus is a computer programming language partially described by K. Kahn and Vijay A. Saraswat in the paper "Actors as a special case of concurrent constraint (logic) programming" in 1990. It is a concurrent constraint language without backtracking. Janus models concurrency through the use of bag channels. Code that needs to send a message to a process does so by constraining a bag to be the union of another bag and the singleton bag of the message. The other bag is then available to be constrained for sending subsequent messages. The process receives the message by matching the bag to a pattern that says it is the union of some singleton and some other bag. The logic of the bag channels produces a property shared by the actor model, namely that the order of arrival of the messages is not guaranteed. However, unlike actors in the actor model, processes in Janus can pass around their "mailboxes" so to speak, in the form ofbags, and can hold more than one. This ability to pass mailboxes around and hold more than one is inherited in computer programming language ToonTalk, which is influenced by Janus. Janus, the programming language, is named after Janus, the two-faced Roman god, because every logical variable in Janus has as its two "faces", two aspects that can be passed as arguments. These are called the asker and the teller. These represent, respectively, the right to ask the value of the variable (or some characteristic of the value) and the right to tell the value (or to tell some constraint on what the value can be). The asker and teller aspects can be passed around as arguments independently of each other. Neither right implies the other right. The syntax of the language prevents copying a teller or exercising it more than once. Logical contradiction is statically prevented, according to Kahn and Saraswat.
turing-complete
  • Yes
designer
prov:wasDerivedFrom
page length (characters) of wiki page
is foaf:primaryTopic of
is Link from a Wikipage to another Wikipage of
is Wikipage disambiguates of
is influenced by of
is influenced by of
Faceted Search & Find service v1.17_git51 as of Sep 16 2020


Alternative Linked Data Documents: PivotViewer | iSPARQL | ODE     Content Formats:       RDF       ODATA       Microdata      About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 08.03.3321 as of Jun 2 2021, on Linux (x86_64-generic-linux-glibc25), Single-Server Edition (61 GB total memory)
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2021 OpenLink Software