Skip to content

Instantly share code, notes, and snippets.

@jpt4
Created May 29, 2016 17:02
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jpt4/0bcbc635da234c73547090cc88d3e1b0 to your computer and use it in GitHub Desktop.
Save jpt4/0bcbc635da234c73547090cc88d3e1b0 to your computer and use it in GitHub Desktop.
LambdaConf 2016 Unconference Schedule (Tentative)
UTC20160530
LambdaConf 2016 Unconference Schedule (Tentative)
A115
1:00 - 3:00 PM
Engineering a Better Twitter panel
3:00 - 3:30 PM
0 - Becoming a LambdaConf Speaker
A108
1:00 - 2:00 PM
Lightning talks:
1 Douglas - Literate Programming
2 - Servant (Haskell library)
3 - Monad-wang (http://jschomay.github.io/monad-wang/#/)
4 - A JVM with tail recursion and first-class continuations
2:00 - 4:00 PM
6 and 5 - Theorem Proving in Coq using Tactics
A104
1:00 - 1:30 PM
7 - Introduction to Programming Languages, IU style.
1:30 - 2:00 PM
8 - On Elm
2:00 - 2:30 PM
9 - Poor man's Spark via Cloud Haskell
(http://yogeshsajanikar.github.io/slides/hspark.html)
2:30 - 3:00 PM
14 - Behavior Driven Development
3:30 - 4:00 PM
10 - ACP and PGA: Two Algebraic Theories in Computer Science
(http://subscript-lang.org/presentations/)
This talk is about 2 fundamental algebraic theories in computer
science that deserve much more attention than they currently get: the
Algebra of Communicating Processes (ACP) and Program Algebra (PGA).
ACP is an algebraic process theory, initiated by Jan Bergstra and Jan
Willem Klop in 1982. It builds on Kleene's formal languages and
automata of the 1950. ACP provides a solid algebraic approach, and
adds high level constructs such as concurrency and communication. ACP
has been made operational in SubScript, an extension to the Scala
language, created by Andre van Delft (presented at Lambda Days
2015). Process lambdas are supported like in Milner's pi-calculus;
this enables a simple definition of dataflow constructs. I will
outline some example applications in SubScript: a GUI controller and
an "async" program. In 1997 Jan Bergstra studied the semantics of
Java programs and found out that the official language specification
was of little help. He then started working on PGA: like the Turing
machine this is a computational model, but based on simple algebraic
laws concerning linear text specifications. PGA may be seen as a very
low level assembly language with many gotos; on this higher-level
layers are be defined, even to the level of programming languages
such as Ruby. I will briefly layout an application of PGA to
reasoning about static variable initialization in Java, which is a
known brainteaser. Our field is flooded with more or less ad-hoc
engineering solutions. Functional Programming is an exception to
this, being strongly rooted in Lambda Calculus. ACP and PGA are
similar Computing Science jewels. Students deserve to have these in
their curricula; for CS researchers there is plenty of low hanging
fruit. Jan Bergstra has worked on other theories as well,
e.g. Promise Theory (with applications in economy and computer
science) and Meadows AKA 0-totalized fields, i.e. fields with 0/0 =
0. The main part of his work is based on algebra. Despite of the
mathematical robustness and applicability his work is relatively
badly known; in particular Jan Bergstra could hardly get any paper on
PGA published. This year Jan Bergstra will retire. It is high time
for his works to be broadly exposed, adapted and continued.
B115
1:00 - 1:30 PM
11 - Web Programming without the DOM
HTML, CSS, and the DOM are difficult tools to use for modern Web
development. As Web developers well know, the programming model they
present has various limitations which often require hacks or
compromises in one's designs to work around. I propose to replace
HTML, CSS, and the DOM with a layout engine written in JavaScript,
which renders the page to HTML canvas. Doing this opens the doors to
using better programming models for layout. I present the layout
programming model I have been designing for the past year, which is
based on the design of Donald Knuth's TeX. It's based on using
nonlinear optimization to find layouts which minimize the net
"badness" of the page elements. I explore how this programming model
would be used in practice and discuss some of its pros and cons.
1:30 - 2:00 PM
12 - Erlang and Common Lisp BoF
B331
1:00 PM - 4:00 PM
13 and 14 - Mob Programming Workshop
@jpt4
Copy link
Author

jpt4 commented May 29, 2016

Note: UTC20160529, not 30.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment