BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Talks.cam//talks.cam.ac.uk//
X-WR-CALNAME:Talks.cam
BEGIN:VEVENT
SUMMARY:QuLog: A modern logic-based agent-implementation language - Profes
 sor Keith L Clark\, Imperial College
DTSTART:20141205T140000Z
DTEND:20141205T150000Z
UID:TALK56443@talks.cam.ac.uk
CONTACT:Alan Mycroft
DESCRIPTION:QuLog is a higher-order logic/functional/string processing lan
 guage with an imperative rule language sitting on top\, defining actions. 
 QuLog's action rules are used to program multi-threaded communicating agen
 t behaviour. Its declarative subset is used for the agent’s belief store
 . The language is flexibly typed and allows a combination of compile time 
 and run-time type checking.\n\nIt is a fully integrated in that function c
 alls can appear as or inside arguments to relation calls\, and relational 
 queries can be used as guards of function rules. It has sets as a separate
  data type from lists with set <-> list convertors. Both can be created us
 ing Trm::Query comprehension expressions.\n\nSets are manipulated using un
 ion\, intersection and difference operators. Lists are manipulated as in P
 rolog but also using non-deterministic pattern matching. Similar pattern m
 atching is used for string processing as a precursor to DCG parsing. An in
  primitive can be used to access elements of sets\, lists and characters i
 n strings.\n\nIt supports type safe meta-level programming to complement i
 ts type safe higher order programming.\n\nIt is the implementation and bel
 ief store language of our multi-threaded TeleoR agent architecture.\n\nThe
  talk will step by step introduce and also exemplify the key features of Q
 uLog using its interpreter.\n\n[Joint work with Peter Robinson\, U of Quee
 nsland]
LOCATION:SS03
END:VEVENT
END:VCALENDAR
