Combining physical and visual simulation---creation of the planet Jupiter for the film “2010” - Yaeger, et al https://buff.ly/2Qi0T6D
#pwlconf2018 #siggraph1986 #fluiddynamics #animation #fx #film
Stable Fluids by Jos Stam - https://buff.ly/2M9DOQa
A Universal Turing Machine with Two Internal States - Claude Shannon
Reliable Circuits Using Less Reliable Relays - Moore, Shannon
A Mathematical Theory of Communication - Claude Shannon
Link: http://buff.ly/2pBTTrh
A Symbolic Analysis of Relay and Switching Circuits - Claude Shannon
PDF: buff.ly/2qjuBNr
Learning concepts through conversations in spoken dialogue systems
Jia, et al.
In this work, we augment a spoken dialogue system with the ability to learn about new concepts by conversing with the user in natural language.
Bootstrapping semantic parsers from conversations
Artzi, Zettlemoyer
Link: http://buff.ly/2qeatKF
In this paper, we present an approach for using conversational interactions of this type to induce semantic parsers. We demonstrate learning without any explicit annotation of the meanings of user utterances.
#parser #learning #language https://mstdn.io/media/ZzXROhQBvN-lybzWGrY
Naturalizing a Programming Language via Interactive Learning - Wang, et al.
Link: http://buff.ly/2qmsghU
Elements of a Relational Theory of Datatypes
Backhouse, Hoogendeijk
Link: http://buff.ly/2p2Qu13
The "Boom hierarchy" is a hierarchy of types that begins at the level of trees and includes lists, bags and sets. This hierarchy forms the basis for the calculus of total functions developed by Bird and Meertens, and which has become known as the "BirdMeertens formalism".
A tutorial on the universality and expressiveness of fold
Hutton
PDF: buff.ly/2pP3ffE
In functional programming, fold is a standard operator that encapsulates a simple pattern of recursion for processing lists. This article is a tutorial on two key aspects of the fold operator for lists.
A commutative replicated data type for cooperative editing
Prequiça, et al
PDF: buff.ly/2oT6qTE
This paper describes Treedoc, a novel CRDT design for cooperative text editing. An essential property is that the identifiers of Treedoc atoms are selected from a dense space.
CRDTs: Consistency without concurrency control
Letia, Preguiça, Shapiro
A CRDT is a data type whose operations commute when they are concurrent. Replicas of a CRDT eventually converge without any complex concurrency control. As an existence proof, we exhibit a non-trivial CRDT: a shared edit buffer called Treedoc. We outline the design, implementation and performance of Treedoc.
Designing a commutative replicated data type
Shapiro, Preguiça
Commuting operations greatly simplify consistency in distributed systems. This paper focuses on designing for commutativity, a topic neglected previously. We show that the replicas of any data type for which concurrent operations commute converges to a correct value, under some simple and standard assumptions
Verified Peephole Optimizations for CompCert
Mullen, Zuniga, Tatlock, Grossman
PDF: buff.ly/2o7iZhe
Transformations over assembly code are common in many compilers. These transformations are also some of the most bug-dense compiler components. Such bugs could be eliminated by formally verifying the compiler, but state-of-theart formally verified compilers like CompCert do not support assembly-level program transformations.
Improving the Static Analysis of Embedded Languages via Partial Evaluation
Herman, Meunier
PDF: buff.ly/2oT5BtY
Programs in embedded languages contain invariants that are not automatically detected or enforced by their host language. We show how to use macros to easily implement partial evaluation of embedded interpreters in order to capture invariants encoded in embedded programs.
Improving Haskell Types with SMT
Improving Haskell Types with SMT - Diatchki
We present a technique for integrating GHC’s type-checker with an SMT solver. The technique was developed to add support for reasoning about type-level functions on natural numbers, and so our implementation uses the theory of linear arithmetic
Type Systems as Macros
Type Systems as Macros - Chang, Knauth, Greenman
Link: buff.ly/2iOXn2K
We present Turnstile, a metalanguage for creating typed embedded languages. To implement the type system, programmers write type checking rules resembling traditional judgment syntax. To implement the semantics, they incorporate elaborations into these rules. Turnstile critically depends on the idea of linguistic reuse.
Paper: Type Tailoring
Type Tailoring - Greenman, Chang, Felleisen
Type tailoring enables programmers to extend the rules of a type system without modifying the compiler. Programmers may thus codify additional knowledge about functions and methods in the form of a library of typing rules, which others may use without imposing any additional burden on their code or work flow
Building Bridges Between Academia and Industry