Functional Geekery

Proctor
undefined
Oct 25, 2016 • 49min

Functional Geekery Episode 71 - Nikhil Swamy

In this episode I talk with Nikhil Swamy. We talk F*, dependent types, proving software, Dijkstra Monads, Project Everest for verified HTTPS, and more. Our Guest, Nikhil Swamy Nikhil Swamy F* Announcements CodeMesh is taking place the 3rd and 4th of November with tutorials on the 2nd of November. Tickets are available now, but they are going fast. Visit codemesh.io to register and submit your talk. Scala Wave is coming up on the 25th and 26th of November in Gdańsk, Poland. Visit http://www.scalawave.io/ to find out more and sign up for their newsletter for updates. Destination Code, a new unconference starting in Utah, is having its inaugural event this December. Visit http://www.destination.codes/ to find out more. The 2016 Clojure Conj will be taking place in Austin, TX on December 1st – 3rd. Visit http://2016.clojure-conj.org for more information and to register. Lambda Days will be taking place again on the 9th and 10th of February 2017. Visit www.lambdadays.org to submit your talk and keep updated as more information becomes available. ClojureD will be taking place on the 25th of February, 2017, in Berlin, Germany. Visit www.clojured.de to submit your talk, get tickets and keep updated as more information becomes available. If you have a conference related to functional programming, contact me, and I will be happy to announce it. Topics About Nik Microsoft Research Labs F* How Nik got into proving software Coq Agda Cyclone F* as a combination of interactive and automated proofs SMT Solvers Dependent Types and Dependent Type systems as provers Embracing Effects in F* Using Type Systems to prove things about your program Idris Expressing a list as sorted using Dependent Types Types as Sets Testing is a means try to disprove your program Dependent Types as a means to verify your program Lean Typed Lambda Calculus Proving that a list is sorted Quicksort Hints and Lemmas Curry-Howard Isomorphism F* Tutorial F* Quicksort Tutorial Example POPL 2017 Dijkstra Monads for Free Weakest Pre-condition of a program Weakest Pre-condition adapted to monads Improvement of tooling for proving software in the past 10 years Project Everest Inria Build and deploy verified drop in replacement for HTTPS stack HTTPS TLS – Transport Layer Security OpenSSL Heartbleed X.509 Spartan Writing programs at the Assembly level and proving them correct Dafny Z3 Theorem Prover F* being used to prove Project Everest’s correctness Euro Security and Privacy F* on Github F* Slack channel F* mailing list “Specify before proving” “Try to specify before even writing a line of code” F* for the Masses blog As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Oct 18, 2016 • 1h 3min

Functional Geekery Episode 70 - Simon Thompson

In this episode I talk with Simon Thompson. We cover a broad range of topics from a history of functional programming from the 1980s, to his involvement with Haskell, teaching Haskell and Erlang, the functional programming hype cycle, recent and future work, and much, much more. Our Guest, Simon Thompson https://www.cs.kent.ac.uk/people/staff/sjt/ @thompson_si on Twitter https://profsjt.blogspot.co.uk/ Announcements EuroClojure is coming up in Bratislava, Slovakia from October 25-26. Visit http://euroclojure.org/ to find out more, register, or sign up for their mailing list. The 2016 edition of ScalaIO will take place in Lyon, France, on 27th and 28th of October. Visit http://scala.io/ for more information and to register. CodeMesh is taking place the 3rd and 4th of November with tutorials on the 2nd of November. Tickets are available now, but they are going fast. Visit codemesh.io to register and submit your talk. Scala Wave is coming up on the 25th and 26th of November in Gdańsk, Poland. Visit http://www.scalawave.io/ to find out more and sign up for their newsletter for updates. Destination Code, a new unconference starting in Utah, is having its inaugural event this December. Visit http://www.destination.codes/ to find out more. The 2016 Clojure Conj will be taking place in Austin, TX on December 1st – 3rd. Visit http://2016.clojure-conj.org for more information and to register. Lambda Days will be taking place again on the 9th and 10th of February 2017. Visit www.lambdadays.org to submit your talk and keep updated as more information becomes available. ClojureD will be taking place on the 25th of February, 2017, in Berlin, Germany. Visit www.clojured.de to submit your talk, get tickets and keep updated as more information becomes available. If you have a conference related to functional programming, contact me, and I will be happy to announce it. Topics About Professor Thompson University of Kent Overview of Functional Programming in the 1980’s Functional Programming and its Applications: An Advanced Course by Peter Henderson, David Turner, and John Darlington SASL – Saint Andrew’s Static Language Alice Hope KRC – Kent Recursive Calculator Miranda Functional Programming and Computer Architecture conference “Revolutionary new architectures that only functional programming languages would work with” David Turner saying “I am sure by 2000, mathematicians will use automated proof as a matter of course” Haskell Simon Peyton Jones What Professor Thompson worked on in Haskell Haskell: The Craft of Functional Programming Type Theory and Functional Programming [pdf] Work on input in Miranda as streams of Input and Output Year of Programming Input/Output as combinators which became the precursor to monads Interactive functional programs: a method and a formal semantics Turning Haskell programs into logical formulas Ericsson and Erlang Open Source strengthening Haskell and Erlang Cabal Hackage WhatsApp Elixir Scala Java View of the recent hype cycle of functional programming “People are so scared to program Java on a 100-core machine, they haven’t come into the mainstream” Seeing the change in jobs doing functional programming Professor Thompson’s work over the past 10 years Refactoring tooling Randomly generate programs and randomly apply refactorings OCaml Z3 SMT solver CakeML Prove refactoring in CakeML JaneStreet Wrangler Creating a DSL for scripting refactorings Overview of differences between Haskell and Erlang Laziness in Haskell Differences between the size of the languages Simulating a dependency typed language in Haskell Differences in the rates of release in new versions of the languages Central place to have a place to upload and download software libraries Differences between first exposures to Erlang and Haskell for students Erlang is more approachable due to smaller syntax Notation for lists in Erlang is a stumbling block for students Erlang’s weak types as a weakness for beginners Dialyzer Success Typing Complexity of Type System in Haskell and errors for beginners Benefit of simple syntax and concurrency story for beginners in Erlang Haskell as a laboratory for concurrency ideas Thoughts on teaching students functional programming ideas Erlang MOOC preliminary launch Erlang MOOC to be coming in Spring 2017 Recursion Threads vs Processes in Erlang for experienced programmers “Let the concurrency in the program mirror the concurrency in the real world” “It would be lovely to do some work […] to validate these claims” OSCON CodeMesh Importance of bottom up development of learning materials Peter Landin Semantic Seminar Erlang MOOC composed of two “mini-MOOCs” “Give it a try” “Different languages have different things to offer” As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Oct 11, 2016 • 1h 1min

Functional Geekery Episode 69 - Bartosz Milewski

In this episode I talk with Bartosz Milewski. We talk his introduction to category theory, teaching category theory, comparison of Monads and other composition patterns in functional programming to composition patterns in object oriented programming, and finish with some philosophical thoughts on category theory. Our Guest, Bartosz Milewski @bartoszmilewski on Twitter https://bartoszmilewski.com/ Bartosz’s YouTube channel for his category theory videos Announcements EuroClojure is coming up in Bratislava, Slovakia from October 25-26. Visit http://euroclojure.org/ to find out more, register, or sign up for their mailing list. The 2016 edition of ScalaIO will take place in Lyon, France, on 27th and 28th of October. Visit http://scala.io/ for more information and to register. CodeMesh is taking place the 3rd and 4th of November with tutorials on the 2nd of November. Tickets are available now, but they are going fast. Visit codemesh.io to register and submit your talk. Scala Wave is coming up on the 25th and 26th of November in Gdańsk, Poland. Visit http://www.scalawave.io/ to find out more and sign up for their newsletter for updates. Destination Code, a new unconference starting in Utah, is having its inaugural event this December. Visit http://www.destination.codes/ to find out more. The 2016 Clojure Conj will be taking place in Austin, TX on December 1st – 3rd. Visit http://2016.clojure-conj.org for more information and to register. Lambda Days will be taking place again on the 9th and 10th of February 2017. Visit www.lambdadays.org to submit your talk and keep updated as more information becomes available. If you have a conference related to functional programming, contact me, and I will be happy to announce it. Topics About Bartosz Bartosz’s videos on category theory on YouTube How Bartosz became exposed to category theory Elegant code, and what does it mean for code to be elegant? Exposure to functional programming through C++ Template meta-programming in C++ Andrei Alexandrescu’s Modern C++ Design: Generic Programming and Design Patterns Applied Haskell Translating functional solutions in Haskell to C++ Exposure to category theory Categories for the Working Mathematician Edward Kmett Understanding category theory through examples What clicked about category theory once Bartosz “got it” “Category Theory can be simplified to just two things, composition and identity” Futures in C++ Futures are monads “Monads are just about how to compose stuff” Bartosz’s posts on Futures – Broken promises–C++0x futures – Futures done right – C++17: I See a Monad in Your Future! “You cannot design a good library, if you don’t understand category theory, or at least elements of it” Category of Types and Functions “A composition is the essence of a category” “A monad is a way about composing side-effects” Category theory patterns become hard to understand because they are so general Function composition in an imperative language “A monad is the overloading of a semicolon” Background of attendees in his courses Interest in teaching category theory to artists and other domains Curry-Howard Isomorphism “You take a concept from logic, you can translate it almost mechanically to a concept in programming, and visa versa” LamdaDays 2016 Philip Wadler’s keynote on Curry-Howard Isomorphism at LambdaDays 2016 Bartosz’s Curry-Howard-Lambek Isomorphism at LambdaDays 2016 Imposing structure on the universe because that is the only way we can understand stuff Wondering if “mathematics is just the way of studying our minds rather than an objective reality” “If category theory is the study of the human mind, then everything must follow the laws of category” Possibility to take category theory and explain it using examples from other domains Introduction to Category Theory talk as a starting point How useful it is to learn category theory??? “I think that getting this higher-level view […] drives you to better solutions” Importance of keeping your mind open because you never know when something will be useful As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Oct 4, 2016 • 1h 7min

Functional Geekery Episode 68 - Matthew Butterick

In this episode I talk with Matthew Butterick. We talk about using Racket as someone who doesn’t consider themselves a developer; the power of Domain Specific Languages; Pollen, a DSL for creating web sites; and his book Beautiful Racket. Our Guest, Matthew Butterick Practical Typography Beautiful Racket Pollen Announcements EuroClojure is coming up in Bratislava, Slovakia from October 25-26. Visit http://euroclojure.org/ to find out more, register, or sign up for their mailing list. The 2016 edition of ScalaIO will take place in Lyon, France, on 27th and 28th of October. Visit http://scala.io/ for more information and to register. CodeMesh is taking place the 3rd and 4th of November with tutorials on the 2nd of November. Tickets are available now, but they are going fast. Visit codemesh.io to register and submit your talk. Scala Wave is coming up on the 25th and 26th of November in Gdańsk, Poland. Visit http://www.scalawave.io/ to find out more and sign up for their newsletter for updates. Destination Code, a new unconference starting in Utah, is having its inaugural event this December. Visit http://www.destination.codes/ to find out more. The 2016 Clojure Conj will be taking place in Austin, TX on December 1st – 3rd. Visit http://2016.clojure-conj.org for more information and to register. Lambda Days will be taking place again on the 9th and 10th of February 2017. Visit www.lambdadays.org to submit your talk and keep updated as more information becomes available. If you have a conference related to functional programming, contact me, and I will be happy to announce it. Topics About Matthew Practical Typography Pollen Beautiful Racket Episode 24 with Matthew Flatt Episode 48 with Matthias Felleisen Cognicast with Sam Tobin-Hochstadt Racket Scheme Starting out as a type designer “Maybe I should just write a program to do it” Kerning Just van Rossum Guido van Rossum Python for automating tasks in type design Starting as web designer and frustration with templating languages The pain of XSLT for creating web pages The secret connection of Lisp and XML Scribble Typography for Lawyers Pollen code TeX “Before computers were the technology industry, printing was the technology industry” Quad What was Matthew’s transition to Racket as someone looking for a better tool “Beautiful Racket is the book I wish I could travel through time and give to myself” Why Racket, Why Lisp Hackers and Painters by Paul Graham The idea of an expression based language Knuth’s idea of “You don’t really know anything until you can teach it to a computer” Pollen as a Domain Specific Language What people can expect from Beautiful Racket Dr. Racket DSLs as a problem solving technique “By making it easy to make languages, it makes it cheap to make languages” RacketCon Shill a secure shell scripting language “It’s a tool you can use and don’t need any permission” Finding the magic moment to share ideas “If you want to help yourself, check out Racket” Typography for Lawyers Pollen source Joel Dueck’s Secretary of Foreign Relations Flatland e-book created by Pollen on createspace Flatland Pollen Source “If any of you go out and try Racket and hate it, let me know” Sending message via comments on Beautiful Racket As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Sep 27, 2016 • 1h 6min

Functional Geekery Episode 67 - Hardy Jones

In this episode I talk with Hardy Jones. We talk his enthusiasm for languages, why types, working in teams, trade-offs, and much, much more. Our Guest, Hardy Jones @st58 on Twitter joneshf on Github https://joneshf.github.io/ Magic Read Along Announcements EuroClojure is coming up in Bratislava, Slovakia from October 25-26. Visit http://euroclojure.org/ to find out more, register, or sign up for their mailing list. The 2016 edition of ScalaIO will take place in Lyon, France, on 27th and 28th of October. Visit http://scala.io/ for more information and to register. CodeMesh is taking place the 3rd and 4th of November with tutorials on the 2nd of November. Tickets are available now, but they are going fast. Visit codemesh.io to register and submit your talk. Scala Wave is coming up on the 25th and 26th of November in Gdańsk, Poland. Visit http://www.scalawave.io/ to find out more and sign up for their newsletter for updates. Destination Code, a new unconference starting in Utah, is having its inaugural event this December. Visit http://www.destination.codes/ to find out more. The 2016 Clojure Conj will be taking place in Austin, TX on December 1st – 3rd. Visit http://2016.clojure-conj.org for more information and to register. If you have a conference related to functional programming, contact me, and I will be happy to announce it. Topics About Hardy NoRedInk Brian Lonsdorf on Episode 51 Magic Read Along How Hardy got into software Python Haskell RPL Prolog JavaScript “How to work effectively on a team with a lot of people” Learn You a Haskell Haskell: The Craft of Functional Programming What was the spark for being a language enthusiast Learning programming languages compared to learning natural languages What features in languages Hardy is favoring now Types as a languages all to itself Benefits of type systems vs a dynamic functional language Functional JavaScript without enforced purity Value of type system to coordinate changes between teammates “There’s so much more that helps less” Elm Ruby Elixir Folding ideas back in between different languages Trying to stick to the idioms of the language and project one works in “You want to talk lenses, we can talk lenses” Encoding effects into types What are lenses? Prisms Proofs Attempting to bring Proofs to Elm Hardy’s view of the difference between PureScript and Elm PureScript Proofs “It’s not this scary thing” Different levels of proving software “If your function is ‘a -> a’ there is only one implementation of that” Proof examples in Elm Equivalence example vs Equality example “Whatever you’re doing take a step back and try something different” Magic Read Along Episode 11 Magic Read Along Episode 13 As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Sep 13, 2016 • 59min

Functional Geekery Episode 66 - Scott Wlaschin

In this episode I talk with Scott Wlaschin. We talk his introduction to functional programming and F#, making the ideas accessible without needing a math background, functional programming being similar to object oriented programming taken to the extreme, and much, much more. Our Guest, Scott Wlaschin @ScottWlaschin on Twitter F# for fun and profit Announcements Lambda World will be taking place September 30th & October 1st, 2016. Lambda.World is the longest functional programming conference in Spain and Portugal and one of the biggest in Europe. Visit www.lambda.world to find out more and to register. The 2016 edition of ScalaIO will take place in Lyon, France, on 27th and 28th of October. Visit http://scala.io/ for more information and to register. CodeMesh is taking place the 3rd and 4th of November with tutorials on the 2nd of November. Tickets are available now, but they are going fast. Visit codemesh.io to register and submit your talk. Scala Wave is coming up on the 25th and 26th of November in Gdańsk, Poland. Visit http://www.scalawave.io/ to find out more and sign up for their newsletter for updates. Destination Code, a new unconference starting in Utah, is having its inaugural event this December. Visit http://www.destination.codes/ to find out more. If you have a conference related to functional programming, contact me, and I will be happy to announce it. Topics About Scott F# for fun and profit Ten reasons not to use a statically typed functional programming language F# How Scott got introduced to functional programming Smalltalk Python How Scott got introduced to F# Haskell OCaml Miranda Convenience of getting started in F# Benefit of being on a known platform Immutability Partial Application Yaron Minsky Jane Street Making Illegal States Unrepresentable Learning a language by writing a blog Reluctance to use jargon “I had to translate Haskell into F#” “Why do people care about Monads, Monoids, Applicatives, and all that?” Railway Oriented Programming Difference between giving someone tools vs giving someone a recipe Railway Oriented Programming is really about error handling What are some of the most well received topics from his content for getting started FP Patterns presentation A functional approach to Domain Driven Design Scott’s slide on “Patterns in Functional versus Object Oriented Programming” “How do you do a loop [if you don’t have immutability]?” “The most common functional programming language is Excel macros Organization of F# for fun and profit site F# for fun and profit e-book GitBook Dr Frankenfunctor and the Monadster April Fool’s post of migrating to Scala Scala for fun and profit Understanding fundamentals and patterns Monoids series The Elevated World series Schism between mathematically oriented and humanist sides of programming “[Functional Programming] is not that scary” “Object Oriented design principles taken to the extreme look a lot like Functional Programming.” The Design of Everyday Things Don’t Make Me Think The call to start looking into usability of your applications What is on Scott’s radar “If your young, learn as many languages as possible” Learn how to be a better teacher Dan North’s Accelerating Agile talk As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Sep 6, 2016 • 54min

Functional Geekery Episode 65 - Morten Kromberg

In this episode I talk with Morten Kromberg. We talk his introduction to APL, the APL landscape, what the future looks like for APL, resources for getting started, and much more. Our Guest, Morten Kromberg @mkromberg on Twitter About the CXO Announcements PWLConf 2016 is the first full-day Papers We Love conference, co-located with the preconference events at Strange Loop in Saint Louis, Missouri on September 15th. Keep an eye out for updates on pwlconf.org. The Erlang User Conference is coming up in Stockholm, Sweden, the 6th through the 16th of September. Early Bird tickets are now available and get a 10% discount on the conference when you use the code: FunctionalGeekery10 when registering. Lambda World will be taking place September 30th & October 1st, 2016. Lambda.World is the longest functional programming conference in Spain and Portugal and one of the biggest in Europe. Visit www.lambda.world to find out more and to register. The 2016 edition of ScalaIO will take place in Lyon, France, on 27th and 28th of October. Visit http://scala.io/ for more information and to register. CodeMesh is taking place the 3rd and 4th of November with tutorials on the 2nd of November. Tickets are available now, but they are going fast. Visit codemesh.io to register and submit your talk. Scala Wave is coming up on the 25th and 26th of November in Gdańsk, Poland. Visit http://www.scalawave.io/ to find out more and sign up for their newsletter for updates. Destination Code, a new unconference starting in Utah, is having its inaugural event this December. Visit http://www.destination.codes/ to find out more. If you have a conference related to functional programming, contact me, and I will be happy to announce it. Topics About Morten Morten’s introduction to APL 1 2 3 + 4 5 6 “Waiting for APL to dominate the world” A Programming Language by Kenneth Iverson Designed for teaching mathematics and arrays 50th Anniversary of APL coming up What the user-base of APL looks like What makes Morten still smile about using APL after all these years Where APL fits in a application environment Using APL for reading and crunching data APL as a prototyping tool Shape Invariance in APL Optimized internal types Symantec density of APL Dyalog What the future of APL might look like Roger Hui J language Ability to optimize special cases of idiomatic APL John Scholes Point Free APL mean← +/ ÷ ≢ ⍝ “The mean is the sum (plus reduction) divided by the count (tally)” – this juxtaposition of functions is a “points free” or “tacit” form known as a “fork”: (f g h)x ←→ (f x) g (h x), inherited from classical mathematical notation, as in (f+g) x ←→ (f x) + (g x) variance←{mean (⍵-mean ⍵)*2} ⍝ “The variance is the mean of the squares of the differences between each item and the mean of the argument” stddev←{(variance ⍵)*0.5} ⍝ “The standard deviation is the square root of the variance” stddev 600 470 170 430 300 ⍝ 147.3227749 Try APL How to find out more about APL Dyalog Forums Dyalog blog Morten’s Google Talk video.dyalog.apl Conway’s Game of Life in APL Interactive tutorial of Conway’s Game of Life on Try APL British APL Association Vector K programming language Dyalog APL version 15.0 available for non-commercial use 2016 Dyalog User Meeting Functional Conf in Bangalore Morten’s call to action About the CXO Morten’s posts on the Dyalog blog As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Aug 30, 2016 • 0sec

Functional Geekery Episode 64 - Alex Weiner

In this episode I talk with Alex Weiner. We talk his introduction to APL, comparison to Assembly and C programming, use in side projects to show examples of APL, discuss the power of APL, getting started with APL, and more. Our Guest, Alex Weiner @alexcweiner on Twitter http://alexweiner.com/ alexweiner@alexweiner.com Announcements Compose Melbourne is a new functional programming conference focused on developing the community and bringing typed functional programming to a wider audience. Visit www.composeconference.org/ to find out more. ElixirConf is taking place August 31st through September 2nd in Orlando, Florida. Visit http://www.elixirconf.com to register and find out more. Full Stack Fest will be hold in Barcelona on September 5-9th. You can check out 2016.fullstackfest.com to find out more. PWLConf 2016 is the first full-day Papers We Love conference, co-located with the preconference events at Strange Loop in Saint Louis, Missouri on September 15th. Keep an eye out for updates on pwlconf.org. The Erlang User Conference is coming up in Stockholm, Sweden, the 6th through the 16th of September. Early Bird tickets are now available and get a 10% discount on the conference when you use the code: FunctionalGeekery10 when registering. Lambda World will be taking place September 30th & October 1st, 2016. Lambda.World is the longest functional programming conference in Spain and Portugal and one of the biggest in Europe. Visit www.lambda.world to find out more and to register. The 2016 edition of ScalaIO will take place in Lyon, France, on 27th and 28th of October. Visit http://scala.io/ for more information and to register. CodeMesh is taking place the 3rd and 4th of November with tutorials on the 2nd of November. Tickets are available now, but they are going fast. Visit codemesh.io to register and submit your talk. Scala Wave is coming up on the 25th and 26th of November in Gdańsk, Poland. Visit http://www.scalawave.io/ to find out more and sign up for their newsletter for updates. Destination Code, a new unconference starting in Utah, is having its inaugural event this December. Visit http://www.destination.codes/ to find out more. If you have a conference related to functional programming, contact me, and I will be happy to announce it. Topics About Alex APL Conway’s Game of Life in APL A Programming Language How Alex got into APL Background in Electrical Engineering Sticking to the classic math symbols Math background of APL Teaching Linear Algebra “This should be writable on a whiteboard” Learning APL from “masters” on the job Similarities and differences between thinking in APL vs Assembly and C Infix operators “Already the math I knew” Where APL is a benefit Image Processing in APL Parsing HTTP response in APL Map and Each in APL Max example – ⌈/ 1 7 3 9 2 5 Epsilon example – 3 5 7 9 10 ∊ 7 Various APL Examples FizzBuzz example in APL “What’s the qualities you want in this list” What excites Alex about APL How much does APL lead to complex solutions? “You will meet all of us very quickly” Resources for people to start learning APL Dyalog tryapl.org Mastering Dyalog APL J language APL to J dictionary GNU APL J’s relation to APL Dyalog ’16 As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Aug 23, 2016 • 53min

Functional Geekery Episode 63 - Yan Cui

In this episode I talk with Yan Cui. We talk his introduction to functional programming via Erlang and F#, getting functional languages adopted in a company, type providers, we wrap up with a rundown of a number of different languages, and much more in between. Our Guest, Yan Cui @theburningmonk on Twitter http://theburningmonk.com/ Announcements Compose Melbourne is a new functional programming conference focused on developing the community and bringing typed functional programming to a wider audience. Visit www.composeconference.org/ to find out more. ElixirConf is taking place August 31st through September 2nd in Orlando, Florida. Visit http://www.elixirconf.com to register and find out more. Full Stack Fest will be hold in Barcelona on September 5-9th. You can check out 2016.fullstackfest.com to find out more. PWLConf 2016 is the first full-day Papers We Love conference, co-located with the preconference events at Strange Loop in Saint Louis, Missouri on September 15th. Keep an eye out for updates on pwlconf.org. The Erlang User Conference is coming up in Stockholm, Sweden, the 6th through the 16th of September. Early Bird tickets are now available and get a 10% discount on the conference when you use the code: FunctionalGeekery10 when registering. Lambda World will be taking place September 30th & October 1st, 2016. Lambda.World is the longest functional programming conference in Spain and Portugal and one of the biggest in Europe. Visit www.lambda.world to find out more and to register. Scala Wave is coming up on the 14th and 15th of October in Gdańsk, Poland. Visit http://www.scalawave.io/ to find out more and sign up for their newsletter for updates. The 2016 edition of ScalaIO will take place in Lyon, France, on 27th and 28th of October. Visit http://scala.io/ for more information and to register. CodeMesh is taking place the 3rd and 4th of November with tutorials on the 2nd of November. Tickets are available now, but they are going fast. Visit codemesh.io to register and submit your talk. Destination Code, a new unconference starting in Utah, is having its inaugural event this December. Visit http://www.destination.codes/ to find out more. If you have a conference related to functional programming, contact me, and I will be happy to announce it. Topics About Yan Gamesys Yubl A look at Microsoft Orleans through Erlang-tinted glasses Membase Erlang Tomas Petricek Real-World Functional Programming by Tomas Petricek F# Microsoft Orleans What appealed to Yan about Erlang Message passing in Erlang Alan Kay’s definition of Object Oriented Growing Object Oriented Software, Guided by Tests What appealed to Yan about F# Simon Cousin moving to F# Type system of F# Making legal states unrepresentable in your program Edwin Brady on Episode 54 Getting a junior developer up to speed on F# in two weeks Difference in way of thinking vs syntax between F# and C# Lessons learned introducing F# to a company Type Providers Evelina Gabasova Integration to other languages via Type Providers Overview of what it means to write a Type Provider Michael Newton’s Type Providers from the Ground Up Elm Reactive Extensions Elm Architecture Idris Dependent Types Rust Shared Borrowed Pointers F# Unit of Measure types Mars Climate Orbiter bug Go Implicit interfaces Clojure Macros Elixir Haskell Upcoming appearances Leetspeak 2016 CodeMesh Look at serverless technologies “Learn F#, use F#” Scott Wlaschin’s F# for Fun and Profit As always, a giant Thank You goes to David Belcher for the logo design.
undefined
Aug 9, 2016 • 1h 4min

Functional Geekery Episode 62 - Lars Hupel

In this episode I talk with Lars Hupel. We talk his introduction to Functional Programming with Haskell, Scala, and move to working on Isabelle for creating theorems about proving your program. Our Guest, Lars Hupel @larsr_h on Twitter Lars online Announcements Compose Melbourne is a new functional programming conference focused on developing the community and bringing typed functional programming to a wider audience. Visit www.composeconference.org/ to find out more. ElixirConf is taking place August 31st through September 2nd in Orlando, Florida. Visit http://www.elixirconf.com to register and find out more. Full Stack Fest will be hold in Barcelona on September 5-9th. You can check out 2016.fullstackfest.com to find out more. PWLConf 2016 is the first full-day Papers We Love conference, co-located with the preconference events at Strange Loop in Saint Louis, Missouri on September 15th. Keep an eye out for updates on pwlconf.org. The Erlang User Conference is coming up in Stockholm, Sweden, the 6th through the 16th of September. Early Bird tickets are now available and get a 10% discount on the conference when you use the code: FunctionalGeekery10 when registering. Lambda World will be taking place September 30th & October 1st, 2016. Lambda.World is the longest functional programming conference in Spain and Portugal and one of the biggest in Europe. Visit www.lambda.world to find out more and to register. The 2016 edition of ScalaIO will take place in Lyon, France, on 27th and 28th of October. Visit http://scala.io/ for more information and to register. CodeMesh is taking place the 3rd and 4th of November with tutorials on the 2nd of November. Tickets are available now, but they are going fast. Visit codemesh.io to register and submit your talk. Destination Code, a new unconference starting in Utah, is having its inaugural event this December. Visit http://www.destination.codes/ to find out more. If you have a conference related to functional programming, contact me, and I will be happy to announce it. Topics About Lars How Lars Isabelle Haskell Scala Lars’ first exposure to Haskell from a C and Java background Using Scala as a transition strategy from OOP to FP Importance of feedback on actual code Programming in Scala Writing the Travelling Sales Person problem in Haskell Progression to tooling that assures your program is right Lack of debugger in Haskell and Scala Use of the REPL in Haskell and Scala scalaz Relation of QuickCheck and ScalaCheck to Isabelle What is Isabelle Ability to extract code from Isabelle Isar HOL higher order logic Where Isabelle fits with other theorem proving languages Coq HOL Light Agda Idris What Lars is working on in Isabelle Code generation to x86 machine language Lem Different proving strategies available in Isabelle Interactive Theorem Proving Automated Theorem Proving Tactics Lemmas Relationship between Tactics and Lemmas Programming and Proving Isabelle Archive of Formal Proofs Gödel’s ontological proof Typelevel Lambda World ITP 2016 EPFL Check out Isabelle to know what is possible As always, a giant Thank You goes to David Belcher for the logo design.

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app