publications: - title: "Modeling Interactive 3D and Multimedia Animation with an Embedded Language" author: - name: "Conal Elliott" link: "http://conal.net/" year: "1997" doi: "http://www.usenix.org/publications/library/proceedings/dsl97/elliott.html" links: doi: "http://www.usenix.org/publications/library/proceedings/dsl97/elliott.html" tags: - "modeling language" - "modeling" - "language modeling" - "DSL" - "multimedia" researchr: "https://researchr.org/publication/Elliott97" cites: 0 citedby: 0 pages: "285-296" booktitle: "DSL" kind: "inproceedings" key: "Elliott97" - title: "Functional Reactive Animation" author: - name: "Conal Elliott" link: "http://conal.net/" - name: "Paul Hudak" link: "https://researchr.org/alias/paul-hudak" year: "1997" researchr: "https://researchr.org/publication/ElliottH97" cites: 0 citedby: 0 pages: "263-273" booktitle: "ICFP" kind: "inproceedings" key: "ElliottH97" - title: "Functional 3D Graphics in C++ - with an Object-Oriented, Multiple Dispatching Implementation" author: - name: "Greg Schechter" link: "https://researchr.org/alias/greg-schechter" - name: "Conal Elliott" link: "http://conal.net/" - name: "Ricky Yeung" link: "https://researchr.org/alias/ricky-yeung" - name: "Salim S. Abi-Ezzi" link: "https://researchr.org/alias/salim-s.-abi-ezzi" year: "1994" tags: - "C++" researchr: "https://researchr.org/publication/SchechterEYA94" cites: 0 citedby: 0 pages: "171-193" booktitle: "oographics" kind: "inproceedings" key: "SchechterEYA94" - title: "Compiling Embedded Languages" author: - name: "Conal Elliott" link: "http://conal.net/" - name: "Sigbjorn Finne" link: "https://researchr.org/alias/sigbjorn-finne" - name: "Oege de Moor" link: "http://progtools.comlab.ox.ac.uk/members/oege" year: "2000" doi: "http://link.springer.de/link/service/series/0558/bibs/1924/19240009.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/1924/19240009.htm" tags: - "compiler" researchr: "https://researchr.org/publication/ElliottFM00" cites: 0 citedby: 0 pages: "9-27" booktitle: "saig" kind: "inproceedings" key: "ElliottFM00" - title: "Genuinely functional user interfaces" author: - name: "Anthony Courtney" link: "https://researchr.org/alias/anthony-courtney" - name: "Conal Elliott" link: "http://conal.net/" year: "2001" abstract: "Fruit is a new graphical user interface library for Haskell based on a formal model of user interfaces. The model identifies signals (continuous time-varying values) and signal transformers (pure functions mapping signals to signals) as core abstractions, and defines GUIs compositionally as signal transformers. In this paper, we describe why we think a formal denotational model of user interfaces is useful, present our model and prototype library implementation, and show some example programs that demonstrate novel features of our library." links: "url": "http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.136.1413" tags: - "rule-based" - "meta programming" - "meta-model" - "composition" - "functional programming" - "Haskell" - "abstraction" - "Meta-Environment" researchr: "https://researchr.org/publication/citeulike%3A7899533" cites: 0 citedby: 0 booktitle: "PLI" kind: "inproceedings" key: "citeulike:7899533" - title: "Higher-Order Abstract Syntax" author: - name: "Frank Pfenning" link: "http://www.cs.cmu.edu/~fp/" - name: "Conal Elliott" link: "http://conal.net/" year: "1988" doi: "https://doi.org/10.1145/960116.54010" links: doi: "https://doi.org/10.1145/960116.54010" tags: - "abstract syntax" researchr: "https://researchr.org/publication/PfenningE88" cites: 0 citedby: 0 pages: "199-208" booktitle: "PLDI" kind: "inproceedings" key: "PfenningE88" - title: "Compiling embedded languages" author: - name: "Conal Elliott" link: "http://conal.net/" - name: "Sigbjorn Finne" link: "https://researchr.org/alias/sigbjorn-finne" - name: "Oege de Moor" link: "http://progtools.comlab.ox.ac.uk/members/oege" year: "2003" doi: "http://dx.doi.org/10.1017/S0956796802004574" abstract: "Functional languages are particularly well-suited to the interpretive implementations of Domain-Specific Embedded Languages (DSELs). We describe an implemented technique for producing optimizing compilers for DSELs, based on Kamin's idea of DSELs for program generation. The technique uses a data type of syntax for basic types, a set of smart constructors that perform rewriting over those types, some code motion transformations, and a back-end code generator. Domain-specific optimization results from chains of domain-independent rewrites on basic types. New DSELs are defined directly in terms of the basic syntactic types, plus host language functions and tuples. This definition style makes compilers easy to write and, in fact, almost identical to the simplest embedded interpreters. We illustrate this technique with a language Pan for the computationally intensive domain of image synthesis and manipulation." links: doi: "http://dx.doi.org/10.1017/S0956796802004574" tags: - "embedded languages" - "programming languages" - "optimization" - "rule-based" - "syntax definition" - "data-flow language" - "graph transformation" - "interpreter" - "transformation language" - "functional programming" - "data-flow programming" - "data-flow" - "graph-rewriting" - "code generation" - "compiler" - "DSL" - "program optimization" - "internal languages" - "rewriting" - "transformation" - "program transformation" - "domain-specific language" researchr: "https://researchr.org/publication/ElliottFM03" cites: 17 citedby: 0 journal: "JFP" volume: "13" number: "3" pages: "455-481" kind: "article" key: "ElliottFM03" - title: "Functional Implementations of Continuos Modeled Animation" author: - name: "Conal Elliott" link: "http://conal.net/" year: "1998" doi: "http://link.springer.de/link/service/series/0558/bibs/1490/14900284.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/1490/14900284.htm" tags: - "meta-model" - "Meta-Environment" researchr: "https://researchr.org/publication/Elliott98" cites: 0 citedby: 0 pages: "284-299" booktitle: "plilp" kind: "inproceedings" key: "Elliott98" - title: "Tangible functional programming" author: - name: "Conal Elliott" link: "http://conal.net/" year: "2007" doi: "http://doi.acm.org/10.1145/1291151.1291163" links: doi: "http://doi.acm.org/10.1145/1291151.1291163" tags: - "functional programming" - "programming" researchr: "https://researchr.org/publication/Elliott07" cites: 0 citedby: 0 pages: "59-70" booktitle: "ICFP" kind: "inproceedings" key: "Elliott07" - title: "Declarative event-oriented programming" author: - name: "Conal Elliott" link: "http://conal.net/" year: "2000" doi: "http://doi.acm.org/10.1145/351268.351276" links: doi: "http://doi.acm.org/10.1145/351268.351276" tags: - "object-oriented programming" - "programming" - "subject-oriented programming" - "feature-oriented programming" researchr: "https://researchr.org/publication/Elliott00" cites: 0 citedby: 0 pages: "56-67" booktitle: "ppdp" kind: "inproceedings" key: "Elliott00" - title: "Lambda in Motion: Controlling Robots with Haskell" author: - name: "John Peterson" link: "https://researchr.org/alias/john-peterson" - name: "Paul Hudak" link: "https://researchr.org/alias/paul-hudak" - name: "Conal Elliott" link: "http://conal.net/" year: "1999" doi: "http://link.springer.de/link/service/series/0558/bibs/1551/15510091.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/1551/15510091.htm" tags: - "Haskell" researchr: "https://researchr.org/publication/PetersonHE99" cites: 0 citedby: 1 pages: "91-105" booktitle: "PADL" kind: "inproceedings" key: "PetersonHE99" - title: "Higher-order Unification with Dependent Function Types" author: - name: "Conal Elliott" link: "http://conal.net/" year: "1989" researchr: "https://researchr.org/publication/Elliott89" cites: 0 citedby: 0 pages: "121-136" booktitle: "RTA" kind: "inproceedings" key: "Elliott89" - title: "Stretching the Storage Manager: Weak Pointers and Stable Names in Haskell" author: - name: "Simon L. Peyton Jones" link: "http://research.microsoft.com/en-us/people/simonpj/" - name: "Simon Marlow" link: "https://researchr.org/alias/simon-marlow" - name: "Conal Elliott" link: "http://conal.net/" year: "1999" tags: - "Haskell" researchr: "https://researchr.org/publication/JonesME99" cites: 0 citedby: 0 pages: "37-58" booktitle: "IFL" kind: "inproceedings" key: "JonesME99" - title: "TBAG: a high level framework for interactive, animated 3D graphics applications" author: - name: "Conal Elliott" link: "http://conal.net/" - name: "Greg Schechter" link: "https://researchr.org/alias/greg-schechter" - name: "Ricky Yeung" link: "https://researchr.org/alias/ricky-yeung" - name: "Salim S. Abi-Ezzi" link: "https://researchr.org/alias/salim-s.-abi-ezzi" year: "1994" doi: "http://doi.acm.org/10.1145/192161.192276" links: doi: "http://doi.acm.org/10.1145/192161.192276" tags: - "application framework" researchr: "https://researchr.org/publication/ElliottSYA94" cites: 0 citedby: 0 pages: "421-434" booktitle: "siggraph" kind: "inproceedings" key: "ElliottSYA94" - title: "From Functional Animation to Sprite-Based Display" author: - name: "Conal Elliott" link: "http://conal.net/" year: "1999" doi: "http://link.springer.de/link/service/series/0558/bibs/1551/15510061.htm" links: doi: "http://link.springer.de/link/service/series/0558/bibs/1551/15510061.htm" tags: - "rule-based" researchr: "https://researchr.org/publication/Elliott99" cites: 0 citedby: 0 pages: "61-75" booktitle: "PADL" kind: "inproceedings" key: "Elliott99" - title: "An Embedded Modeling Language Approach to Interactive 3D and Multimedia Animation" author: - name: "Conal Elliott" link: "http://conal.net/" year: "1999" doi: "http://computer.org/tse/ts1999/e0291abs.htm" links: doi: "http://computer.org/tse/ts1999/e0291abs.htm" tags: - "modeling language" - "modeling" - "language modeling" - "multimedia" - "systematic-approach" researchr: "https://researchr.org/publication/Elliott99%3A0" cites: 0 citedby: 1 journal: "TSE" volume: "25" number: "3" pages: "291-308" kind: "article" key: "Elliott99:0"