Categories
Podcasts

Functional Geekery Episode 101 – Adam Chlipala

In this episode I talk with Adam Chlipala. We talk Coq, proof assistants, getting started, tooling, domains for advancement using proofs, Ur/Web, and much, much more.

Our Guest, Adam Chlipala

Adam’s home page

Conference Announcements

BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/.

Elixir.LDN will be taking place on August 17th. To help encourage inclusion and diversity 30 Free Scholarship places are available. Visit http://www.elixir.london/ to find out more and register.

Compose Melbourne will be taking place August 28th and 29th. For more information and to register, visit http://www.composeconference.org/2017-melbourne/.

The Strange Loop coming! It will be held in St. Louis, MO on September 28-30, 2017 at the Peabody Opera House. To submit your CfP, visit http://thestrangeloop.com/.

PWLConf 2017 will be taking place September 28th in St. Louis, MO, before Strange Loop. Visit http://pwlconf.org/ for more information and to stay updated on latest announcements.

Open FSharp will be taking place the 28th-29th of September in San Francisco, California. Visit openfsharp.org for more information and to register.

RacketCon is October 7th & 8th at the University of Washington, with keynote speakers Dan Friedman and Will Byrd. Visit http://con.racket-lang.org/ for more information and to register.

LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/.

CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit http://www.codemesh.io/.

Moonconf will be taking place the 9th-11th of November. For more information visit http://moonconf.org/.

If you have a conference related to functional programming, contact me, and I will be happy to announce it.

Announcements

Some of you have asked how you can support Functional Geekery, in that vein,
Functional Geekery now has a Patreon Page.

If that is one of the ways you would like to show your support, you can
find out more at https://www.patreon.com/fngeekery.

Topics [@5:07]

About Adam
Coq
“Theorem proving is a secret weapon for improving the way we build systems”
Adam’s first encounter with ML
Going from ML to Coq
What theorem proving looks like today
Addictiveness of proving software
Xavier Leroy – creator of OCaml
Good domains of software for proof assistants
Compilers
Overall technology of effective proofs
Interfaces between components
The Science of Deep Specification
@deep_spec on Twitter
Proving at the internal layers of a system
Generative Testing compared to Proof Specifications
QuickChick
What using Coq to do your proofs looks like
Proof General
Coq IDE
“We should be able to take all the mental effort going into unit testing and put it into specifying and proving instead, for at least some important classes of systems.”
How to start moving toward adopting proof systems
Bedrock
Kami
Software Foundations by Benjamin Pierce, et. al.
DeepSpec project summer school
What domains where formal proof systems fit well
Heartbleed
Cryptography
Fiat Cryptography
Systematic Synthesis of Elliptic Curve Cryptography Implementations
TLS 1.3 standard draft
Ur
Ur/Web
Tier-less languages
How Ur/Web works at a high level
Automatically compiling Ur to Server code, Client code, or SQL depending on context of usage
Selling points of Ur/Web for Haskell or ML fans
Object Capability Discipline
The Ur/Web People Organizer
How Higher-Kinded Types fit in Ur/Web
Ur/Web’s concurrency model
TechEmpower Web Framework Benchmarks
Importance of database transactions and their usage in Ur/Web
Automatic retry of transaction failure built into Ur/Web
Fiat
Building a DNS server using Fiat
The End of History? Using a Proof Assistant to Replace Language Design with Library Design
SNAPL 2017

As always, a giant Thank You goes to David Belcher for the logo design.

Categories
Podcasts

Functional Geekery Episode 100 – Mark Allen

In this episode I talk with Mark Allen. We talk his introduction to Erlang, deployment, Mark’s various projects, lessons in distributed applications, and much more.

Our Guest, Mark Allen

@bytemeorg on Twitter
mrallen1 on Github

Conference Announcements

EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit http://2017.euroclojure.org/ for more information and to keep updated.

BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/.

Elixir.LDN will be taking place on August 17th. To help encourage inclusion and diversity 30 Free Scholarship places are available. Visit http://www.elixir.london/ to find out more and register.

The Strange Loop coming! It will be held in St. Louis, MO on September 28-30, 2017 at the Peabody Opera House. To submit your CfP, visit http://thestrangeloop.com/.

PWLConf 2017 will be taking place September 28th in St. Louis, MO, before Strange Loop. Visit http://pwlconf.org/ for more information and to stay updated on latest announcements.

Open FSharp will be taking place the 28th-29th of September in San Francisco, California. Visit openfsharp.org for more information and to register.

RacketCon is October 7th & 8th at the University of Washington, with keynote speakers Dan Friedman and Will Byrd. Visit http://con.racket-lang.org/ for more information and to register.

LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/.

CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit http://www.codemesh.io/.

Moonconf will be taking place the 9th-11th of November. For more information visit http://moonconf.org/.

If you have a conference related to functional programming, contact me, and I will be happy to announce it.

Announcements

Some of you have asked how you can support Functional Geekery, in that vein,
Functional Geekery now has a Patreon Page.

If that is one of the ways you would like to show your support, you can
find out more at https://www.patreon.com/fngeekery.

Topics [@4:43]

About Mark
How Mark moved from systems administration to software development
Alert Logic
Erlang
Akka
Microsoft Orleans
Akka.NET
Mark’s first exposure to Erlang
Erlang’s virtues as stumbling blocks to newcomers to Erlang
Understanding loops via recursion
Seeing the power of Erlang with long running concurrent tasks
“[Erlang] makes easy things hard, and hard things easy”
OCaml
Scala
Moving from understanding syntax to thinking in processes
Messages and Mailboxes as a means to concurrency
“If you do have surprises, it’s because you forgot to update that part of the state”
Basho
Making the transition to deeper distributed computing with Erlang
Riak Core
“[In Riak Core] the unit of computation is a VNode”
udon
Reid Draper on Functional Geekery Episode 6
Continuing to fall victim to the fallacies of distributed computing
The Network is Reliable
Deployment story of Erlang
Riak
RabbitMQ
“Your team owns the code… You own the problem the entire time”
AWS and Docker
hex.pm
Project to build a repository behind the company firewall
Elixir
Administrating Erlang
folsom
exometer
Datadog
lager
Error logging and potential to crash the vm with large state
Erlang/OTP release 20.0
Erlang hot-code loading compared to deployment with Amazon AWS and Docker
Ability to patch long running services while still running
“Don’t be intimidated by Erlang”
Way Erlang has changed the way Mark thinks in other languages
Alert Logic is hiring if you want to write Erlang day-to-day
Examples of good Erlang structure
throwdown
Midewest.io
Taipan
parque
udon
kerl
Erlang User Conference 2017
Sagas in Erlang
gisla
Curry On Barcelona
The Sharp Edges of Leaky Abstraction

As always, a giant Thank You goes to David Belcher for the logo design.

Categories
Podcasts

Functional Geekery Episode 99 – Christiano Haesbaert

In this episode I talk with Christiano Haesbaert. We talk his experience with the BSD kernel; foray into OCaml and MirageOS, and how OCaml fits in the realm of “systems languages”.

Our Guest, Christiano Haesbaert

@haesbaert_cf on Twitter
haesbaert on Github

Conference Announcements

Scala Wave 2017 will be taking place July 7th and 8th. Visit scalawave.io to find out more and to register.

EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit http://2017.euroclojure.org/ for more information and to keep updated.

BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/.

Elixir.LDN will be taking place on August 17th. To help encourage inclusion and diversity 30 Free Scholarship places are available. Visit http://www.elixir.london/ to find out more and register.

The Strange Loop coming! It will be held in St. Louis, MO on September 28-30, 2017 at the Peabody Opera House. To submit your CfP, visit http://thestrangeloop.com/.

PWLConf 2017 will be taking place September 28th in St. Louis, MO, before Strange Loop. Visit http://pwlconf.org/ for more information and to stay updated on latest announcements.

Open FSharp will be taking place the 28th-29th of September in San Francisco, California. Visit openfsharp.org for more information and to register.

RacketCon is October 7th & 8th at the University of Washington, with keynote speakers Dan Friedman and Will Byrd. Visit http://con.racket-lang.org/ for more information and to register.

LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/.

CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit http://www.codemesh.io/.

If you have a conference related to functional programming, contact me, and I will be happy to announce it.

Announcements

Some of you have asked how you can support Functional Geekery, in that vein,
Functional Geekery now has a Patreon Page.

If that is one of the ways you would like to show your support, you can
find out more at https://www.patreon.com/fngeekery.

Topics [@4:58]

About Christiano
OCaml
MirageOS
How Christiano was introduced to software
Starting out with Linux
Learning how to program to understand System Administration
K&R book
Linux Kernel interest
OpenBSD
The Little Schemer
Bitrig
Writing kernel code
MirageOS and running DNS in a Unikernel
Xen
Learning OCaml
Real World OCaml
“[In C] you learn to trust nothing”
Overview of MirageOS
Mirage Pioneer Projects Page
Writing a DHCP server in OCaml
C vs OCaml as systems languages
Control vs Data
Inria
OCaml Labs
Power of OCaml for control protocols
Nik Swamy on Functional Geekery about HTTPS in F*
Removing responsibility from the human side and letting the compiler take care of it
Mapping a protocol specification to OCaml versus C
“OCaml made me a lazy C programmer, because I started trusting stuff”
Creating Monsters by pulling in ideas that don’t fit from another language
Co-worker from Haskell and 2,000 line header file
Fuzz Testing in Mirage and OCaml
Docker and MirageOS
linuxkit
Being proved right with DHCP from usage and lack of bug reports
Writing a SSH library in OCaml
OpenSSH
Working on removing side-effects in SSH library (aside from entropy)
TLS Library in OCaml
OCaml TLS paper: Not-quite-so-broken TLS
“Call for request to have ability to zero out memory for security reasons”
Suggestions on getting started in OCaml or MirageOS
Real World OCaml
Mirage Pioneer Projects Page
#ocaml IRC Channel on Freenode
#mirage IRC Channel on Freenode
MirageOS Hackathon in Marrakech

As always, a giant Thank You goes to David Belcher for the logo design.

Categories
Podcasts

Functional Geekery Episode 98 – Scott Wlaschin

In this episode I talk with Scott Wlaschin. We talk on the topic of his upcoming book Domain Modeling Made Functional, and using F# (and ML family type system languages) with Domain Driven Design.

Our Guest, Scott Wlaschin

@ScottWlaschin on Twitter
F# for fun and profit
Domain Modeling Made Functional

Conference Announcements

Curry On Barcelona will be taking place June 19-20th. For more information, visit http://www.curry-on.org/2017/.

Scala Wave 2017 will be taking place July 7th and 8th. Visit scalawave.io to find out more and to register.

O’Reilly Fluent Conference will be taking place June 19–22, 2017 in San Jose, California. Visit http://www.oreilly.com/pub/cpc/61309 to find out more and to register, and use code USRG for 20% off.

EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit http://2017.euroclojure.org/ for more information and to keep updated.

BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/.

The Strange Loop coming! It will be held in St. Louis, MO on September 28-30, 2017 at the Peabody Opera House. To submit your CfP, visit http://thestrangeloop.com/.

PWLConf 2017 will be taking place September 28th in St. Louis, MO, before Strange Loop. Visit http://pwlconf.org/ for more information and to stay updated on latest announcements.

Open FSharp will be taking place the 28th-29th of September in San Francisco, California. Visit openfsharp.org for more information and to register.

RacketCon is October 7th & 8th at the University of Washington, with keynote speakers Dan Friedman and Will Byrd. Visit http://con.racket-lang.org/ for more information and to register.

LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/.

CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit http://www.codemesh.io/.

If you have a conference related to functional programming, contact me, and I will be happy to announce it.

Announcements

Some of you have asked how you can support Functional Geekery, in that vein,
Functional Geekery now has a Patreon Page.

If that is one of the ways you would like to show your support, you can
find out more at https://www.patreon.com/fngeekery.

Topics [@5:41]

About Scott
Scott on Functional Geekery Episode 66
Scott on Three Devs and a Maybe
Programming Like Functions Matter with Jimmy Burrell and Scott Wlaschin
The Tale of State and Behaviour, Part 1 with Scott Wlaschin
The Tale of State and Behaviour, Part 2 with Scott Wlaschin
Scott’s upcoming book Domain Modeling Made Functional
How the book came about
F#
Using F# for Business Domain modeling
Balancing the formalistic mathematical side with the humanistic side of software
Building the thing right vs building the right thing
Domain-Driven Design
F#’s ability to evolve software while keeping aligned to the domain
Ability to lean on the compiler more in ML family languages
Ease, simplicity, and conciseness of adding new domain types
Domain types as concepts separated from their underlying serialization format
Benefit of immutable data in the domain
Ability to focus on domain logic and not defensive programming
Evolving type definitions as the domain logic evolves
Refactoring transformations vs state mutation changes
Abstraction vs Concretion in modeling the domain
Sum/Product Types vs Generic Types in modeling the domain
Ability to model against types without knowing what the types actually are
Monoid – ability to combine two types to make a larger type
“The principles don’t change”
Getting more people to talk about integrating Domain Driven Design and functional programming
Trying to organize the narrative of a book
Overview of what the book’s audience and organization will be
“I wanted to make something approachable”
Demystifying functional programming
Showing people with the focus on practical things over academic things
Lessons learned on not building the right thing
Outline of Scott’s book
Order processing system as example domain
Thirteen ways of looking at a turtle
Upcoming appearances
NDC Oslo
NDC Sydney
Open FSharp conference
NDC Conferences’ videos on Vimeo

As always, a giant Thank You goes to David Belcher for the logo design.

Categories
Podcasts

Functional Geekery Episode 97 – Colin Barrett

In this episode I talk with Colin Barrett. We talk his intro to Objective C; exploration to Haskell, OCaml, and other languages; diving deep into functional programming; functional Swift; and more.

Our Guest, Colin Barrett

@cbarrett on Twitter
https://www.patreon.com/cbarrett

Conference Announcements

Curry On Barcelona will be taking place June 19-20th. For more information, visit http://www.curry-on.org/2017/.

Scala Wave 2017 will be taking place July 7th and 8th. Visit scalawave.io to find out more and to register.

O’Reilly Fluent Conference will be taking place June 19–22, 2017 in San Jose, California. Visit http://www.oreilly.com/pub/cpc/61309 to find out more and to register, and use code USRG for 20% off.

EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit http://2017.euroclojure.org/ for more information and to keep updated.

BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/.

The Strange Loop coming! It will be held in St. Louis, MO on September 28-30, 2017 at the Peabody Opera House. To submit your CfP, visit http://thestrangeloop.com/.

PWLConf 2017 will be taking place September 28th in St. Louis, MO, before Strange Loop. Visit http://pwlconf.org/ for more information and to stay updated on latest announcements.

Open FSharp will be taking place the 28th-29th of September in San Francisco, California. Visit openfsharp.org for more information and to register.

LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/.

CodeMesh is coming up November 8th and 9th in London. For more information, and to keep an eye open for registration, visit http://www.codemesh.io/.

If you have a conference related to functional programming, contact me, and I will be happy to announce it.

Announcements

Some of you have asked how you can support Functional Geekery, in that vein,
Functional Geekery now has a Patreon Page.

If that is one of the ways you would like to show your support, you can
find out more at https://www.patreon.com/fngeekery.

Topics [@5:33]

About Colin
Adium
How Colin first got exposed to software development
First exposures to programming languages
Objective C
C and C++
Hypercard
Looking into Haskell, OCaml, Ruby and other languages
MacRuby
bracer
Getting into Haskell
Going Broad vs Going Deep
Python
Seven Languages in Seven Weeks
Colin’s experience getting started with Haskell
“Depending on the angle you come at it, you either bounce off, or get hooked”
Real World Haskell
Taking lessons back out of Haskell
Blocks in Python and Objective C
Uncanny Valley of functional programming in Objective C
Getting deep into functional programming and functional reactive programming
Conal Elliott
Swift
Itai Ferber
Swift Evolution List
Smart KeyPaths
Digging into Swift
The dream of a ML family language with Objective C inter-op
Scala
Reactive Cocoa
What is the power of Swift vs Objective C?
“Separating out what to do from how to do it”
Swift compared to Haskell or an ML running server side
Rust
Kotlin
FindBugs
Recommendations for introducing more functional Swift
Kickstarter libraries
Kickstarter Prelude
Kickstarter mobile apps open sourced
Kickstarter iOS app
Functional Swift Conferences
Theorems for free!
Propositions as Types
Structure and Interpretation of Computer Programs
Compose Conference
Upcoming plans for a Front-end Functional meetup in NYC
Brandon Williams

As always, a giant Thank You goes to David Belcher for the logo design.

Categories
Podcasts

Functional Geekery Episode 96 – Erik Svedäng

In this episode I talk with Erik Svedäng. We talk his background in functional programming, game development, and creating Carp, a statically typed Lisp for use in game development.

Our Guest, Erik Svedäng

https://eriksvedang.com/
@e_svedang on Twitter
eriksvedang on Github
Carp on Github

Conference Announcements

Elm Europe will be taking place June 8th and 9th in Paris, France. Visit http://elmeurope.org/ for more information and to register.

Erlang User Conference 2017 will be taking place June 8th and 9th in Stockholm, Sweden. Visit http://www.erlang-factory.com/euc2017 for more information and to register.

ZuriHac 2017 will be taking place in Zurich on the 9th-11th of June. For more information, and to register visit https://zurihac.info/

Oslo Elm Day is a one-day conference about Elm taking place June 10th in Oslo, Norway. Visit https://osloelmday.no/ for more information and to register.

Curry On Barcelona will be taking place June 19-20th. For more information, visit http://www.curry-on.org/2017/.

O’Reilly Fluent Conference will be taking place June 19–22, 2017 in San Jose, California. Visit http://www.oreilly.com/pub/cpc/61309 to find out more and to register, and use code USRG for 20% off.

EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit http://2017.euroclojure.org/ for more information and to keep updated.

BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/.

The Strange Loop coming! It will be held in St. Louis, MO on September 28-30, 2017 at the Peabody Opera House. To submit your CfP, visit http://thestrangeloop.com/.

Open FSharp will be taking place the 28th-29th of September in San Francisco, California. Visit openfsharp.org for more information and to register.

LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/.

If you have a conference related to functional programming, contact me, and I will be happy to announce it.

Announcements

Some of you have asked how you can support Functional Geekery, in that vein,
Functional Geekery now has a Patreon Page.

If that is one of the ways you would like to show your support, you can
find out more at https://www.patreon.com/fngeekery.

Topics [@4:50]

About Erik
Carp Language
Desire to make a game
How Erik was exposed to functional programming
Else Heart.Break()
Putting a programming language inside a game
Structure and Interpretation of Computer Programs
Fascination with programming and human languages
Fitting functional programming ideas into game development
Dr. Racket
LINQ
Foundation for starting a new language to do game development with
Clojure
Quill
Haskell
Gloss
F#
Unity
Reasons behind combining types and a Lisp in Carp
Integrating Types and Macros
Typed Racket
Clojure.typed
Lessons in language design for game engine loop performance levels
Rust
Memory management in Carp
Interactivity in developing a game in Carp
Wondering how much should Algebraic Data Types should be brought into a Lisp
Current state of Carp
Where to find out more about Carp
Carp on Gitter
Research.md in Carp repository
Type-Driven Development with Idris

As always, a giant Thank You goes to David Belcher for the logo design.

Categories
Podcasts

Functional Geekery Episode 95 – Dan Friedman

In this episode I talk with Dan Friedman. Dan gives shares stories of his history working with Lisp, including topics such as the power of Lisp, and tips for introducing a language.

Our Guest, Dan Friedman

Dan’s Faculty Page

Conference Announcements

Elm Europe will be taking place June 8th and 9th in Paris, France. Visit http://elmeurope.org/ for more information and to register.

Erlang User Conference 2017 will be taking place June 8th and 9th in Stockholm, Sweden. Visit http://www.erlang-factory.com/euc2017 for more information and to register.

ZuriHac 2017 will be taking place in Zurich on the 9th-11th of June. For more information, and to register visit https://zurihac.info/

Oslo Elm Day is a one-day conference about Elm taking place June 10th in Oslo, Norway. Visit https://osloelmday.no/ for more information and to register.

Curry On Barcelona will be taking place June 19-20th. For more information, visit http://www.curry-on.org/2017/.

O’Reilly Fluent Conference will be taking place June 19–22, 2017 in San Jose, California. Visit http://www.oreilly.com/pub/cpc/61309 to find out more and to register, and use code USRG for 20% off.

EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit http://2017.euroclojure.org/ for more information and to keep updated.

BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/.

The Strange Loop coming! It will be held in St. Louis, MO on September 28-30, 2017 at the Peabody Opera House. To submit your CfP, visit http://thestrangeloop.com/.

Open FSharp will be taking place the 28th-29th of September in San Fransisco, California. Visit openfsharp.org for more information and to register.

LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/.

If you have a conference related to functional programming, contact me, and I will be happy to announce it.

Announcements

Some of you have asked how you can support Functional Geekery, in that vein,
Functional Geekery now has a Patreon Page.

If that is one of the ways you would like to show your support, you can
find out more at https://www.patreon.com/fngeekery.

Topics [@5:03]

About Dan
Dan’s early entry into teaching
Elliott Organick
MAD (Michigan Algorithmic Decoder) language
Multics
LISP 1.5 Programmer’s Manual
Indiana University
The Little Lisper origins
Selectric
Smith Corona
PDP-11
Ben Schneiderman
Getting Tenure
David Wise
CONS should not Evaluate its Arguments
Mitch Wand
Essentials of Programming Languages
Kanren
Oleg Kiselyov
Grasp
Bill Cohagan
Grope
Bob Baron
IBM 360
What about Lisp that appeals now and then to Dan
Brian Smith
Planner
Carl Hewitt
Eugene Charniak
Gerald Sussman
Conniver
Scheme Report (1975)
Higher Order Functions
Coda language
Bob Filman
William Byrd
Simplicity as the over arching model
miniKanren
Prolog
Dan’s 60th Birthday Celebration
Chung-chieh Shan
The Reasoned Schemer
Richard Salter
Implementing languages from scratch in a couple of evenings
Dick Kieburtz
Marigold
Power of macros in Lisp
Matthias Felleisen
Building an Operating System in a week
Racket
Jason Hemann
µKanren
Advice and tips for teaching
Convince students in first two lectures they will be changed
2 or 3 cases max when dealing with recursion
Ackermann function
Carl Eastlund
The Little Prover
David Christiansen
“Little Book” in the works on dependent types
Pie language

As always, a giant Thank You goes to David Belcher for the logo design.

Categories
Podcasts

Functional Geekery Episode 94 – Evan Hubinger

In this episode I talk with Evan Hubinger. We talk his introduction to programming, creating the Coconut language, building Coconut as additive to Python 3, what makes a good language, and much, much more.

Our Guest, Evan Hubinger

@evhub on Github
Coconut
Coconut on Github

Conference Announcements

Elm Europe will be taking place June 8th and 9th in Paris, France. Visit http://elmeurope.org/ for more information and to register.

Erlang User Conference 2017 will be taking place June 8th and 9th in Stockholm, Sweden. Visit http://www.erlang-factory.com/euc2017 for more information and to register.

ZuriHac 2017 will be taking place in Zurich on the 9th-11th of June. For more information, and to register visit https://zurihac.info/

Oslo Elm Day is a one-day conference about Elm taking place June 10th in Oslo, Norway. Visit https://osloelmday.no/ for more information and to register.

Curry On Barcelona will be taking place June 19-20th. For more information, visit http://www.curry-on.org/2017/.

O’Reilly Fluent Conference will be taking place June 19–22, 2017 in San Jose, California. Visit http://www.oreilly.com/pub/cpc/61309 to find out more and to register, and use code USRG for 20% off.

EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit http://2017.euroclojure.org/ for more information and to keep updated.

BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/.

The Strange Loop CfP is open! It will be held in St. Louis, MO on September 28-30, 2017 at the Peabody Opera House. To submit your CfP, visit http://thestrangeloop.com/.

LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/.

If you have a conference related to functional programming, contact me, and I will be happy to announce it.

Announcements

Some of you have asked how you can support Functional Geekery, in that vein,
Functional Geekery now has a Patreon Page.

If that is one of the ways you would like to show your support, you can
find out more at https://www.patreon.com/fngeekery.

Topics [@4:32]

About Evan
Coconut
Harvey Mudd College
Python
Haskell
How Even first was exposed to programming
How Even first was exposed to functional programming
Being exposed to Haskell in High School
Reasonability of functional programs
JavaScript
CoffeeScript
TypeScript
Foundations from Python to learning Haskell
View of functional programming languages in college with previous exposure
Racket
What the Harvey Mudd professors get right teaching functional programming
“You don’t need to go wholesale to functional programming”
What set the stage for the idea to write a language
First pass at writing a programming language on Python
Rabbit
What helped inform lessons learned from first attempt at writing a language
“You have to write a compiler, not an interpreter”
Importance of readability of a language
Flow
Realizing the importance of building additive to Python 3
Babel
Six
2to3
3to2
What makes a good language
“Code gets read more frequently than it gets written”
“We are going to do what Python did for imperative programming”
Readability vs Familiarity
Compiling from Coconut to Universal Python
Inter-operability between Coconut and any Python code
Supporting Tail Call Optimization
Immutability in Coconut
Inter-operability with math libraries
NumPy
Pipeline operator in Coconut
Parsing and compilation
Pyparsing
Undebt: How We Refactored 3 Million Lines of Code
Maturity level of Coconut
Introducing type checking to Coconut
mypy
IPython
Jupyter
Overview of the state of type checking in Python with mypy
Future things to look for in Coconut
PyCon 2017
undebt, refactoring in Python
Coconut on Github
Coconut tutorial
Coconut Documentation
Coconut Gitter chat

As always, a giant Thank You goes to David Belcher for the logo design.

Categories
Podcasts

Functional Geekery Episode 93 – Sander Spies

In this episode I talk with Sander Spies. We talk his intro to functional programming; what made OCaml click for him; the whats, whys, and hows of Reason; and much more.

Our Guest, Sander Spies

@sander_spies on Twitter

Conference Announcements

OSCON will be taking place May 8-11 in Austin, TX. For more information and to register visit: http://www.oreilly.com/pub/cpc/50016, and use code USRG for 20% off most passes.

LambdaConf 2017 will be taking place May 25th – 27th in Boulder, Colorado. Visit http://lambdaconf.us for more information.

Elm Europe will be taking place June 8th and 9th in Paris, France. Visit http://elmeurope.org/ for more information and to register.

ZuriHac 2017 will be taking place in Zurch on the 9th-11th of June. For more information, and to register visit https://zurihac.info/

Oslo Elm Day is a one-day conference about Elm taking place June 10th in Oslo, Norway. Visit https://osloelmday.no/ for more information and to register.

Curry On Barcelona will be taking place June 19-20th. For more information, visit http://www.curry-on.org/2017/.

O’Reilly Fluent Conference will be taking place June 19–22, 2017 in San Jose, California. Visit http://www.oreilly.com/pub/cpc/61309 to find out more and to register, and use code USRG for 20% off.

EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit http://2017.euroclojure.org/ for more information and to keep updated.

BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/.

The Strange Loop CfP is open! It will be held in St. Louis, MO on September 28-30, 2017 at the Peabody Opera House. To submit your CfP, visit http://thestrangeloop.com/.

LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/.

If you have a conference related to functional programming, contact me, and I will be happy to announce it.

Announcements

Some of you have asked how you can support Functional Geekery, in that vein,
Functional Geekery now has a Patreon Page.

If that is one of the ways you would like to show your support, you can
find out more at https://www.patreon.com/fngeekery.

Topics [@4:36]

About Sander
Reason
OCaml Labs
How Sander got into software development
Java Applets
Java
C#
How Sander got into functional programming
JavaScript
Issues around managing state
React
Moving to use immutability and types in JavaScript
How Sander started getting into OCaml
Coming into a language with immutability and types as defaults
What set the foundation for OCaml to be quickly understood
Immutable.js
David Nolan’s talk on immutability
Om
“If you can remove categories of problems, do it”
OCaml PPX
Jordan Walke
Overview of Reason
Where Reason fits between JavaScript and OCaml
ReasonNativeProject
esy-npm-project-example
JavaScript is already compiling to JavaScript
reason-react
Goal of introducing Reason side by side with existing JavaScript
Reason’s interaction with “unsafe” JavaScript
BuckleScript
BuckleTypes
Reason’s fit server side as part of Node.js apps
Bridging the communities of JavaScript and OCaml
What documentation might be helpful to spread the Reason community
“Document what you are doing, [and] explain why you are doing it”
The need for more content on Reason, OCaml, and functional programming in general
What might be looking at for the upcoming future of Reason
“What would happen if you rewrote React in Reason?”
Reason Discord Channel
@reasonmlon Twitter
IRC (freenode #reasonml)
Potential of Reason on the native mobile side
Upcoming Secret Project to be announced
If you are trying out reason feel free to ask questions

As always, a giant Thank You goes to David Belcher for the logo design.

Categories
Podcasts

Functional Geekery Episode 92 – Irina Guberman

In this episode I talk with Irina Guberman. We talk her entry into programming, coming across Erlang at the “perfect time”, importance of learning multiple paradigms, programmable hardware, and more.

Our Guest, Irina Guberman

@irina_guberman on Twitter
iguberman on Github

Conference Announcements

Call for presenters is now open for Velocity London 2017. Visit http://www.oreilly.com/pub/cpc/68627 for more information and to submit your proposal.

The Call for Presenters is now open for Software Architecture in London, UK. Visit http://www.oreilly.com/pub/cpc/68630 for more information and to submit your proposal.

flatMap(Oslo) is a FP-conference with focus on Scala and the JVM, taking place on May 2nd and 3rd in Oslo, Norway. Please go to http://2017.flatmap.no/ to learn more.

ElixirConf EU will be taking place on May 4th and 5th with tutorials on May 3rd. For more information visit: http://www.elixirconf.eu/

OSCON will be taking place May 8-11 in Austin, TX. For more information and to register visit: http://www.oreilly.com/pub/cpc/50016, and use code USRG for 20% off most passes.

LambdaConf 2017 will be taking place May 25th – 27th in Boulder, Colorado. Visit http://lambdaconf.us for more information.

Elm Europe will be taking place June 8th and 9th in Paris, France. Visit http://elmeurope.org/ for more information and to register.

ZuriHac 2017 will be taking place in Zurch on the 9th-11th of June. For more information, and to register visit https://zurihac.info/

Oslo Elm Day is a one-day conference about Elm taking place June 10th in Oslo, Norway. Visit https://osloelmday.no/ for more information and to register.

Curry On Barcelona will be taking place June 19-20th. For more information, visit http://www.curry-on.org/2017/.

O’Reilly Fluent Conference will be taking place June 19–22, 2017 in San Jose, California. Visit http://www.oreilly.com/pub/cpc/61309 to find out more and to register, and use code USRG for 20% off.

EuroClojure will be taking place in Berlin, Germany on July 20th & 21st. Visit http://2017.euroclojure.org/ for more information and to keep updated.

BusConf will be taking place the 3rd-5th of August in Frankfurt, Germany. Registration is open, and more information can be found at http://www.bus-conf.org/.

The Strange Loop CfP is open! It will be held in St. Louis, MO on September 28-30, 2017 at the Peabody Opera House. To submit your CfP, visit http://thestrangeloop.com/.

LambdaWorld will be taking place in Cadiz, Spain on October 26th and 27th. For more information visit and to keep updated visit http://www.lambda.world/.

If you have a conference related to functional programming, contact me, and I will be happy to announce it.

Announcements

Some of you have asked how you can support Functional Geekery, in that vein,
Functional Geekery now has a Patreon Page.

If that is one of the ways you would like to show your support, you can
find out more at https://www.patreon.com/fngeekery.

Topics [@7:43]

About Irina
How Irina got into software development
What made software development click and be “addictive”
SuperCard
How Irina got introduced to Erlang
Java
Recruiter email mentioning Erlang
Programming Erlang by Joe Armstrong
Finding Erlang at the perfect time
Chicago Erlang Community
Martin J. Logan’s on Episode 13
Eric B. Merritt on Episode 20
Garrett Smith on Episode 56
Encountering “Why should I learn another language” questions
Feeling the pain that Erlang has already solved
Elixir
Lisp Flavoured Erlang
mnesia in Erlang
WhatsApp
“A language that has a database built in”
The beauty of “doing nothing” to support concurrency and distribution
“I like solving problems by doing nothing”
Starting to learn Erlang in 2010
Learn You Some Erlang for Great Good
Erlang and OTP in Action
Importance of marketing and documentation for languages
Phoenix Framework
False idea of “These tools will speak for themselves”
Erlang Performance Lab
Michal Slaski presenting Erlang Performance Lab at Erlang and Elixir Factory SF 2017
Learning how to understand how to structure Erlang applications
Building a Cache chapter in Erlang and OTP in Action
Importance of learning and understanding new paradigms
“Letting go of everything you learned before”
Scratch
Hardware Definition Languages
Verilog
Empowering devices for IoT with Erlang and FPGA at Erlang and Elixir Factory SF 2017
Learning a language better by learning other languages
Racket
Beautiful Racket by Matthew Butterick
Hour of Code
FPGA – Field-programmable gate array

As always, a giant Thank You goes to David Belcher for the logo design.