Logic Programming à la Carte
schedule Submitted 1 month ago
People who liked this proposal, also liked:
Philip Wadler - (Programming Languages) in Agda = Programming (Languages in Agda)Philip WadlerProfessor of Theoretical Computer ScienceUniversity of Edinburgh
schedule 1 month agoSold Out!
BeginnerThe most profound connection between logic and computation is a pun. The doctrine of Propositions as Types asserts that propositionscorrespond to types, proofs to programs, and simplification of proofs to evaluation of programs. The proof of a conjunction is a pair, theproof of a disjunction is a case expression, and the proof of an implication is a lambda expression. Proof by induction is just programming by recursion.Dependently-typed programming languages, such as Agda, exploit this pun. To prove properties of programming languages in Agda, all weneed do is program a description of those languages Agda. Finding an abstruse mathematical proof becomes as simple and as fun as hacking aprogram. This talk introduces *Programming Language Foundations in Agda*, a new textbook that is also an executable Agda script---and also explains the role Agda is playing in IOHK's new cryptocurrency.
Edward Kmett / Tony Morris - Let's LensEdward KmettChair of the Haskell Core Libraries Committee, Software Engineering LeadSenior Software Engineer at Digital AssetTony MorrisSr. Software EngineerQueensland FP Lab, Data61
schedule 1 month agoSold Out!
Let's Lens presents a series of exercises, in a similar format to the Data61 functional programming course material. The subject of the exercises is around the concept of lenses, initially proposed by Foster et al., to solve the view-update problem of relational databases.
The theories around lenses have been advanced significantly in recent years, resulting in a library, implemented in Haskell, called lens.
This workshop will take you through the basic definition of the lens data structure and its related structures such as traversals and prisms. Following this we implement some of the low-level lens library, then go on to discuss and solve a practical problem that uses all of these structures.
Xuanyi Chew - An Alien Lambda CalculusXuanyi ChewChief Data ScientistOrdermentum
schedule 2 days agoSold Out!
The conventional wisdom in functional programming communities is that lambda calculus was "discovered". Extending the logic of the statement to its extreme, we might propose that an alien would recognize lambda calculus as a computational model. But would we be able to recognize an alien lambda calculus?
This talk is part gedankenexperiment, part speculative fiction, part practical advice on compiler design. We begin by imagining ourselves to be creatures in a universe which is very different from the one we're in, except the notion of consciousness and intelligence are preserved from our current universe. From there, we shall explore the physics and alternate philosophies that would yield an alien lambda calculus.
Of course, being from an alien conception, there are some questions that must be answered - in the name of practicality, is there perhaps even a weak notion of a functor from the alien lambda calculus to that of the one we know today? Is there anything from the alien lambda calculus that we may yield and put into practice? And what is this pesky business with state? Isn't the point of functional programming to hide states from the programmer by abstracting over them? Or was it to make clear the states? And what of names? Isn't lambda purely anonymous?