Publication:
The programming language TransLucid

dc.contributor.author Ditu, Gabriel Cristian en_US
dc.date.accessioned 2022-03-21T15:51:27Z
dc.date.available 2022-03-21T15:51:27Z
dc.date.issued 2007 en_US
dc.description.abstract This thesis presents TransLucid, a low-level, purely declarative, intensional programming language. Built on a simple algebra and with just a small number of primitives, TransLucid programs define arbitrary dimensional infinite data structures, which are then queried to produce results. The formal foundations of TransLucid come from the work in intensional logic by Montague and Scott. The background chapters give a history of intensional logic and its predecessors in the Western world, as well as a history of intensional programming and Lucid, the first intensional programming language. The semantics of TransLucid are fully specified in the form of operational semantics. Three levels of semantics are given, in increasing order of efficiency, with the sequential warehouse semantics, the most efficient, being presented together with a proof that any expression will be evaluated by only examining relevant dimensions in the current context. The language is then extended in three important ways, by adding versioned identifiers, (declarative) side-effects and timestamped equations and demands. Adding versioned identifiers to TransLucid enriches the expressiveness of the language and allows the encoding of a variety of programming paradigms, ranging from manipulating large data-cubes to pattern-matching. Adding side-effects supports one of the main reasons for TransLucid: namely, to provide a target language, together with a methodology, for translating the main programming paradigms, thus creating a uniform end platform that can be the focus for optimisation and program verification. A translation of imperative programs into TransLucid is given. Timestamped equations and demands enable TransLucid to become a language for synchronous programming in real-time systems, as well as allowing runtime updates to a program's equations. The language TransLucid represents a decisive advance in declarative programming. It has applications in many fields of computer science and opens up exciting new avenues of research. en_US
dc.identifier.uri http://hdl.handle.net/1959.4/40701
dc.language English
dc.language.iso EN en_US
dc.publisher UNSW, Sydney en_US
dc.rights CC BY-NC-ND 3.0 en_US
dc.rights.uri https://creativecommons.org/licenses/by-nc-nd/3.0/au/ en_US
dc.subject.other TransLucid. en_US
dc.subject.other Lucid (Computer program language) en_US
dc.subject.other Intensional programming. en_US
dc.subject.other Cartesian programming. en_US
dc.subject.other Declarative programming. en_US
dc.subject.other Programming language semantics. en_US
dc.subject.other Programming language translation. en_US
dc.subject.other Modal logic. en_US
dc.subject.other Intensional logic. en_US
dc.subject.other Modality (Logic) en_US
dc.title The programming language TransLucid en_US
dc.type Thesis en_US
dcterms.accessRights open access
dcterms.rightsHolder Ditu, Gabriel Cristian
dspace.entity.type Publication en_US
unsw.accessRights.uri https://purl.org/coar/access_right/c_abf2
unsw.identifier.doi https://doi.org/10.26190/unsworks/17513
unsw.relation.faculty Engineering
unsw.relation.originalPublicationAffiliation Ditu, Gabriel Cristian, Computer Science & Engineering, Faculty of Engineering, UNSW en_US
unsw.relation.school School of Computer Science and Engineering *
unsw.thesis.degreetype PhD Doctorate en_US
Files
Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
whole.pdf
Size:
886.64 KB
Format:
application/pdf
Description:
Resource type