Functional Geekery Episode 117 – Eric Normand

In this episode I talk with Eric Normand. We catch up with what he has been up to since last episode, talk re-frame in ClojureScript, his newsletter, Clojure SYNC, online community discussions, and more.

Our Guest, Eric Normand

@ericnormand on Twitter
http://www.lispcast.com/
http://www.clojuregazette.com/
http://www.purelyfunctional.tv/
Clojure SYNC

Conference Announcements

LambdUp, Prague’s biggest functional programming event of the year, will be taking place December 16th at MeetFactory in Prague. For more information and to register visit: https://www.lambdup.io/

Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/.

LambdaDays 2018 will be taking place February 22nd and 23rd in Kraków, Poland. For more information, and to register, visit http://www.lambdadays.org/.

BOB 2018 is coming up in Berlin, Germany on February 23rd, 2018. For more information, and to register, visit http://bobkonf.de/.

:clojureD will be following BOB 2018 in Berlin, Germany on February 24th, 2018. For more information, and to register, visit http://clojured.de/.

Lambda Squared is a new conference taking place March 30th in Knoxville, Tennessee. For more information, and to register, visit https://www.lambda-squared.com/.

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 [@2:59]

Welcome back to Eric
Eric on Episode 18
Eric on Episode 41
http://www.purelyfunctional.tv/
re-frame
JQuery
Backbone.js
ClojureScript
React
Angular
Vue
Reagent
What re-frame gets you
Event architecture
“Your events and subscriptions become your bedrock”
Redux
The Elm Architecture
“Confidence that we are onto something” with similar ideas coming out
Centralizing the state management
Bringing the ideas to “non-functional programmers” with Redux in JavaScript
PurelyFunctional.tv Newsletter
Clojure
Looking at trends and threads across multiple disciplines
Clojure SYNC
The Craft of Programming theme
Zach Tellman
The Elements Of Clojure
George Kierstein
Emily Ashley
Career theme
Rebecca Kinsella
Elana Hashman
Leiningen
Baishampayan Ghose
HelpShift
Context theme
Gerald Jay Sussman
Will Byrd
David Nolen
Kim Crayton
Discount code of `geekery` for 10% off registration
What made Eric make the leap to put on a conference
Clojure/west and Clojure/Conj being combined
French Quarter
Putting together a food guide for the conference
Southern Food and Beverage Museum
The New Orleans Hotel Collection
Smaller more intimate time for after conference events
Online talk about Clojure community being in decline
Negative tone of discussions online
“People don’t complain about strengths that much”
Complaining being a sign of a healthy community
Gossip being the way to determine the mores of the group
“[The negatively talked about subject] is significant, […] that is the thing that is important”
Upcoming projects from Eric
Understanding Re-frame Video Course
Upcoming talk at LambdUp
Giving discounts for people where their country’s economy might not be as strong

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

Functional Geekery Episode 116 – Radu Popescu

In this episode I talk with Radu Popescu. We talk his introduction to software development, high performance C++, where functional ideas fit in with high performance C++, CernVM File System, Erlang, an overview of where Rust fits between functional languages and C++, and more.

Our Guest, Radu Popescu

radupopescu on Github
@iradupopescu on Twitter
https://radupopescu.net/

Conference Announcements

LambdUp, Prague’s biggest functional programming event of the year, will be taking place December 16th at MeetFactory in Prague. For more information and to register visit: https://www.lambdup.io/

Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/.

LambdaDays 2018 will be taking place February 22nd and 23rd in Kraków, Poland. For more information, and to register, visit http://www.lambdadays.org/.

BOB 2018 is coming up in Berlin, Germany on February 23rd, 2018. For more information, and to register, visit http://bobkonf.de/.

:clojureD will be following BOB 2018 in Berlin, Germany on February 24th, 2018. For more information, and to register, visit http://clojured.de/.

Lambda Squared is a new conference taking place March 30th in Knoxville, Tennessee. For more information, and to register, visit https://www.lambda-squared.com/.

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 [@3:00]

About Radu
Cern
CernVM File System
How Radu came into software development
C++
Functional Programming Principles in Scala by Martin Odersky on Coursera
High Performance computing with C++
Fortran
TensorFlow
What standards of C++ Radu was writing against
Lambdas and Higher Order Functions being introduced into C++
How some of the functional ideas fit into high performance C++
C++ Template Language as a purely functional language
CernVM File System
Linux FUSE (Filesystem in Userspace)
Terabytes of new software every day at CERN
Content Addressed Storage
Field-programmable Gate Array
Using Erlang for a publication system
Moving from Command Line based to Server based
“Let it Crash” approach in Erlang
What the Erlang based Repository Gateway solves
The different roles the Repository Gateway fulfills
Key takeaways from using Erlang for the Repository Gateway
C++ Inter-op story
Statically-typed C++ versus Dynamic Erlang
Dialyzer
OTP
Functional Composition and Immutable Values for ease of debugging
Erlang QuickCheck
John Hughes
Quviq
RapidCheck
Rust
Where Rust fits in between C++ and the functional family of languages
RAII
Algebraic Data Types
Why one might pick Rust over Haskell, OCaml, or other similar languages
Wrapping C libraries with Rust, and wrapping Rust libraries with C
CodeMesh
Radu’s Talk page at CodeMesh
CernVM Documentation
CernVM 10th Anniversary Workshop

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

Functional Geekery Episode 115 – Sam Williams

In this episode I talk with Sam Williams. We talk his introduction to programming, moving to web-development with Erlang, the HydrOS project, the Archain project, and more.

Our Guest, Sam Williams

samcamwilliams on Github
@ArchainTeam on Twitter

Conference Announcements

Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/.

LambdaDays 2018 will be taking place February 22nd and 23rd in Kraków, Poland. For more information, and to register, visit http://www.lambdadays.org/.

BOB 2018 is coming up in Berlin, Germany on February 23rd, 2018. For more information, and to register, visit http://bobkonf.de/.

:clojureD will be following BOB 2018 in Berlin, Germany on February 24th, 2018. For more information, and to register, visit http://clojured.de/.

Lambda Squared is a new conference taking place March 30th in Knoxville, Tennessee. For more information, and to register, visit https://www.lambda-squared.com/.

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 [@2:25]

About Sam
The University of Kent
How Sam was introduced to programming
Visual Basic
PHP
Writing a Meta-News analysis site
How Sam first came across Erlang
Exposure to Lisp and Scheme
Getting started in Erlang
Learn You Some Erlang for Great Good by Fred Herbert
Programming Erlang (2nd Edition) by Joe Armstrong
“If you want to really learn a language, you have to have some sufficiently difficult task, to make you engage with it properly”
Getting a deeper understanding of the nuances of Erlang
Building a web technology company on Erlang
Yaws
ehtml
Moving to write Erlang to run on Unikernerl as a final project
Unikernels
Xen
How a final project works
Richard Mortier
Migrating the Erlang Virtual Machine to run on bare metal
HydrOS
Distributed Operating System
What is the goal of the HydrOS project
Idea of process mobility across devices
Archain
What is a block-chain
What is Archain
How block-chain differs from Git or CRDTs
Proof-of-work
How Archain works to incentivize distribution of archive data
What kinds of information does Archain hope to Archive
Preventing the “Orwellian Memory Hole”
Internet Archive
Some of the limitations of the Internet Archive
How Erlang fits with building a block-chain
Simulating large networks
Archain as a platform for writing distributed applications
Sam’s talk at CodeMesh 2017
Code BEAM STO 2018

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

Functional Geekery Episode 114 – Fred Herbert

In this episode I talk with Fred Herbert. We talk his introduction to Erlang, making languages accessible to the community, productionization as a phase of software, property testing, we wrap up with a tease of how “Everything is Terrible”, and much more.

Our Guest, Fred Herbert

@mononcqc on Twitter
https://ferd.ca/

Conference Announcements

Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/.

LambdaDays 2018 will be taking place February 22nd and 23rd in Kraków, Poland. For more information, and to register, visit http://www.lambdadays.org/.

BOB 2018 is coming up in Berlin, Germany on February 23rd, 2018. For more information, and to register, visit http://bobkonf.de/.

:clojureD will be following BOB 2018 in Berlin, Germany on February 24th, 2018. For more information, and to register, visit http://clojured.de/.

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 [@2:06]

About Fred
Learn You Some Erlang For Great Good
Erlang in Anger
How Fred got introduced Erlang
Writing “Learn You Some Erlang” as he was learning Erlang
Python
Structure and Interpretation of Computer Programs
Structure of Erlang programs
“The idea that there is no main function”
OTP
Go
Links and Monitors in Erlang
Erlang and OTP in Action
“Difference in trying to prevent the errors compared to trying to deal with them”
Making languages approachable and health of the community
Fred’s Keynote at Erlang User Conference 2016
Getting interaction with newcomers to remove hurdles to getting started in a language
Thinking about the Productionization Phase of your software
“A lot of the work you do is not writing it the first time, its really keeping the thing going after that”
Smalltalk
dtrace
Importance of thinking about your people as a part of your system
Conway’s Law
Haskell
Racket
House M.D.
Seeing your code as a piece of writing
The importance of predictable code
Programming in the Large and Programming in the Small
Programming Paradigms for Dummies by Peter Van Roy
Lasp
Property Testing
PropEr Testing.com
“Most of the errors in the system are mistakes that I didn’t see coming”
Haskell QuickCheck
Erlang QuickCheck
Hypothesis in Python
PropEr
Quviq
Upcoming talk at CodeMesh
Everything is Terrible
SpawnFest
This Week in Erlang

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

Functional Geekery Episode 113 – Oskar Wickström

In this episode I talk with Oskar Wickström. We talk his introduction to software development, journey to functional programming, tooling, state machines and static typing, and more.

Our Guest, Oskar Wickström

@owickstrom on Twitter
owickstrom on Github
https://wickstrom.tech/

Conference Announcements

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/.

Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/.

LambdaDays 2018 will be taking place February 22nd and 23rd in Kraków, Poland. For more information, and to register, visit http://www.lambdadays.org/.

BOB 2018 is coming up in Berlin, Germany on February 23rd, 2018. For more informationa, and to register, visit http://bobkonf.de/.

:clojureD will be following BOB 2018 in Berlin, Germany on February 24th, 2018. For more information, and to register, visit http://clojured.de/.

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 [@2:35]

About Oskar
How Oskar moved from music to programming
PHP for a band website
What made software become more interesting to move into development
WordPress
What made to move to looking into other languages
Object-Oriented Programming in PHP
C# and .NET
Java
Scala
Haskell
“Absorbing every advice from people that I respected”
How Oskar was exposed to Haskell
Learn You A Haskell
Programming Scala as Java, but with a better syntax
What were the “Ah-Ha” moments when starting to learn Haskell
Static-Dispatch in Haskell vs Dynamic-Dispatch in Java
Implementing an Event Store
Event Sourcing
Making the move from Haskell in side projects to working in Haskell
Functional JavaScript
React
Reactive Programming
Implementing functional ideas from Haskell to JavaScript
Giving mini-trainings on functional programming concepts
Dual Feedback loop between play projects and applying to work problems
First work project in Haskell
Oden
Go language
PureScript
Using a language to deliver small tooling for yourself
Trying to use the best tooling
How Oskar thinks about picking tooling
The Unix Philosophy of “doing one thing and one thing well”
Documentation
Sphinx
reStructuredText
Hyper
PureScript middleware like Express and Connect in Node.js
Representing middleware as a state-machine verified by a type system
Why run PureScript in a Node.js environment?
“That’s a question I always get asked when people ask me about Hyper”
Row Polymorphism
Migrating an existing Node.js app to PureScript
purerl
Cowboy
Hardy Jones mentioning purerl on Magic Read Along
servant
Overview of upcoming talk “Finite State Machines – Your Compiler Wants In”
Idris
“This is a very nice hammer, but you don’t want to apply it everywhere”
CodeMesh
Haskell eXchange 2018

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

Functional Geekery Episode 112 – Micheal Sperber

In this episode I talk with Micheal Sperber. We talk his introduction to programming and functional programming languages, important commonalities across languages, power of syntactic abstraction, teaching programming to beginners and experienced programmers, Concurrent ML, and more.

Our Guest, Micheal Sperber

@sperbsen on Twitter
http://www.deinprogramm.de/sperber/

Conference Announcements

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/.

Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/.

LambdaDays 2018 will be taking place February 22nd and 23rd in Kraków, Poland. For more information, and to register, visit http://www.lambdadays.org/.

BOB 2018 is coming up in Berlin, Germany on February 23rd, 2018. For more informationa, and to register, visit http://bobkonf.de/.

:clojureD will be following BOB 2018 in Berlin, Germany on February 24th, 2018. For more information, and to register, visit http://clojured.de/.

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 [@3:03]

About Micheal
How Micheal got into software
How Micheal’s interest in teaching related to his interest in software
Micheal journey of learning different languages
BASIC
C
Germany’s National Competition of Programmers for high school students
Finding a community of people to learn from
How Micheal came across functional programming
LISP
Structure and Interpretation of Computer Programs
Scheme
Hope
Miranda
Haskell
ML
OCaml
Clojure
Erlang
F#
Scala
Elixir
What is the core that Micheal finds across functional languages
Immutability
Type Based Design (regardless of static or dynamic typed)
Macros as the “feature wish” for all languages
Hygienic Macros
Power of a common, well known, syntactic abstraction
What Micheal has found about teaching functional languages
“Your students are different than you”
“You have to put some distance between what you teach and what you love”
Racket
“You need to have languages designed for teaching, and tooling designed for teaching”
Dr. Racket
Commonality of teaching beginning programmers and teaching experienced professionals
Common principles for teaching as starting points
“Keep excitement out of it”
Program by Design
How to Design Programs
Design Recipe
Using types about your data to match information in your problem statement
Lessons from taking the teachers’ excitement out of the curriculum
“Here’s this thing, we don’t care if you love it or not, just do your thing”
Letting the students get excited for themselves.
Difference in thinking in types between dynamically and statically typed languages
Concurrent ML
Overview of similarity and differences in concurrency across functional programming languages
Messages and immutable data
Erlang process model for concurrency
Overview of Concurrent ML
Rendezvous
Algebra of Rendezvous
“It’s like Christmas when you pull it out of the box”
Composition of Rendezvous across different concurrent mechanisms
Wittgenstein “The limits of your language are the limits of your world”
Going back to other concurrency mechanisms after knowing about Concurrent ML
core.async
Concurrent ML as a way of thinking
Standard ML of New Jersey
Extracting Concurrent ML concepts as a library
Star
Concurrent Programming in ML
Concurrent ML as the best book on concurrent programming
John Reppy Ph.D. thesis
Concurrent ML book on covers multiple paradigms
Mike’s upcoming CodeMesh presentation
International Conference on Functional Programming
Funktionale Programmierung
BOB Konf

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

Functional Geekery Episode 111 – Stian Veum Møllersen

In this episode I talk with Stian Veum Møllersen. We talk his introduction to programming, exploring programming languages, “Perlis Languages”, Concatenative Languages, Creative Programming, and more.

Our Guest, Stian Veum Møllersen

@mollerse on Twitter
mollerse on Github

Conference Announcements

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/.

Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/.

LambdaDays 2018 will be taking place February 22nd and 23rd in Kraków, Poland. For more information, and to register, visit http://www.lambdadays.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 [@2:42]

About Stian
How Stian got into programming
Java
Starting out as a consulting
“I didn’t see programming as fun; it was more of a means to an end”
Discovering the fun of programming through front end development
ClojureScript
Elm
PureScript
Prolog
Michael Fogus’ Perlis Languages post
Eifell
Joy (mirror)
What about web development sparked the excitement about programming
Angus Croll – Break all the rules
Jed Schmidt browserver: a node.js HTTP server, in your browse
What sparked the excitement about learning about different languages
“I wanted to understand how we arrived at this point in history”
“If you take a framework to its ultimate conclusion you end up with a language anyway”
Evolution of language learning exploration
Java and Python in University
Functions as Values in JavaScript
Clojure
Exposure to the idea of Language Families
Lisp
Racket
Scheme
F#
Standard ML
Programming Languages Coursera Course by Dan Grossman
Prolog
“A language even stranger than Prolog”
First exposure Concatenative Languages
Difference between Stack-based and Concatenative Languages
Joy (mirror)
Experience when starting to learn Joy
The balance between declarative versus imperative in Concatenative Languages
Difficulty of just programming your way to a solution without thinking about the problem
Thinking Forth
How Concatenative Languages change your thinkings
Focus on Factoring in Thinking Forth
Algol
Cobol
C++
Smalltalk
Refactoring: Improving the Design of Existing Code
Stian’s upcoming presentation at CodeMesh 2017
How Creative Programming works well with Concatenative Languages
Recommendations on getting started with Concatenative Languages
Read-Eval-Print-λove
Joy
Factor
Flatmap Oslo 2017 presentation (slides)
ait
turtle-ait
FARM 2017 presentation (slides)
#concatenative on FreeNode
Concatenative Languages wiki

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

Functional Geekery Episode 110 – Kiwamu Okabe

In this episode I talk with Kiwamu Okabe. We talk his introduction to writing software for hardware; exposure to functional programming; running Haskell, ATS, and VeriFast verification on bare metal hardware; and more.

Our Guest, Kiwamu Okabe

http://metasepi.org/

Conference Announcements

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/.

Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/.

LambdaDays 2018 will be taking place February 22nd and 23rd in Kraków, Poland. For more information, and to register, visit http://www.lambdadays.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 [@2:41]

About Kiwamu
Ricoh
Functional IoT
How Kiwamu got into software
BSD
Transitioning from OS development to hardware programming
What made Kiwamu want to try running functional languages on bare metal hardware
Haskell
How Kiwamu was first exposed to Haskell
OCaml
Scheme
Why Haskell appealed to run on hardware
Glasgow Haskell Compiler
QuickCheck
First pass at applying Haskell to bare metal hardware
Jhc Haskell Compiler
ATS
Experience with ATS on bare metal hardware
ChibiOS/RT and ATS
VeriFast
What the social aspect of functional languages running on bare metal looks like
Balance of ATS vs VeriFast
seL4
What the technical aspect of functional languages running on bare metal looks like

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

Functional Geekery Episode 109 – Zach Kessin

In this episode I talk with Zach Kessin. We talk his transition to using Elm for front-end web development, using it with Erlang back-ends, his goal to help grow the community around Elm, and more.

Our Guest, Zach Kessin

@zkessin on Twitter
Pain Free Web Development YouTube Channel

Conference Announcements

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.

Celebrate the 10th anniversary of the release of Clojure October the 12th – 14th at the Clojure/Conj in Baltimore, Maryland. Visit http://2017.clojure-conj.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/.

Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/.

LambdaDays 2018 will be taking place February 22nd and 23rd in Kraków, Poland. For more information, and to register, visit http://www.lambdadays.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 [@3:22]

What Zach has been up to in since Episode 4
Erlang
Elm
Mostly Erlang
What put Elm on Zach’s radar
Perl
Going from loan calculator to large complicated applications
CoffeeScript
ClojureScript
Friendliness of “you are viewing out of date version” message on package documentation
The Elm Architecture
Initial hump of Elm looking very different than JavaScript
Scheme
Prolog
Only handful of ways to crash an Elm program vs a JavaScript program
“Like superheros, [programming] languages have origin stories”
Thinking in types in Elm compared to JavaScript compared to Erlang
“Level 1 Elm is ‘Yay! Types!”
“Level 2 Elm […] is how can we use the type system as a design tool”
QuickCheck
Curry-Howard Correspondence
Haskell
Idris
Ability to get runtime errors in Haskell
Upcoming Elm in Motion video course
Pain Free Web Development
Using Elm with Erlang
WebMachine
Cowboy
Parse Transform library in Erlang
JavaScript interop via “ports”
JSON Decoders and Decoders in Elm
Problems around silent errors
MySQL and column value truncation in non Strict Mode
Handling JSON decoder parse errors
Result type
HTTP Errors as a type in Elm
Being forced to think about errors and how to handle them
“Suddenly a 12-hour debugging session has become 12 seconds of fix a typo”
Bootstrap CSS Elm Package
The Elm compiler as the best pair you could have sitting next to you
Making Impossible States Impossible
Pain Free Web Development YouTube Channel
Leave comments as suggestions for upcoming topics
Elm Weekly Training Course
_FunctionalG12_ discount code to get it at $12/month instead of $15/month
Zach’s goal of helping building up the community around Elm
NoRedInk
Building the business case for using Elm

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

Functional Geekery Episode 108 – David Christiansen

In this episode I talk with David Christiansen. We talk his introduction to functional programming, research in dependent types, Idris, Nuprl and LFC traits, work to add dependent types to macro-expansion in Racket, and much, much more.

Our Guest, David Christiansen

@d_christiansen on Twitter
http://davidchristiansen.dk/

Conference Announcements

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.

Celebrate the 10th anniversary of the release of Clojure October the 12th – 14th at the Clojure/Conj in Baltimore, Maryland. Visit http://2017.clojure-conj.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/.

Clojure SYNC will be taking place in New Orleans on February 15th & 16th of 2018. For more information and to register visit: http://clojuresync.com/.

LambdaDays 2018 will be taking place February 22nd and 23rd in Kraków, Poland. For more information, and to register, visit http://www.lambdadays.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 [@3:22]

About David
Idris
Indiana University Bloomington
Racket
Type Driven Development in Idris
The Type Theory Podcast
Dan Friedman on Functional Geekery
David’s introduction to programming and computers
MS-DOS GW-BASIC
Major in Philosophy with Minor in Computer Science
What put functional programming on David’s radar
Lisp
Haskell
A Gentle Introduction to Haskell
Structure and Interpretation of Computer Programs
PLTScheme, now Racket
Internship doing I.T.
QBasic
C
Perl
Smalltalk
David’s grad school work
Exposure to Idris at St Andrew’s summer school
General ML exposure around Copenhagen
False dichotomy between industry and “academic” languages
Progression to push into dependent types
“Part of my job description at the time was: learn about interesting things”
The Type Theory Podcast
Software Foundations
Adam Chlipala on Functional Geekery
Dependent Types as a aesthetic thing
Type Driven Development
Interactive programming environments from the 80’s
“Let the computer do what the computer is good at, which is the details”
Nuprl
Jon Sterling’s jonPRL and RedPRL
Types as predicates that describe behavior
Agda
Coq
Typed Racket
Using Racket as a proof language for Nuprl type system
Logic for Computable Functions by Dana S. Scott
Robin Milner
Edinburgh LCF
ML
Running LCF style proofs in Racket macro-expansion
Hackett
cur
miniKanren
µKanren
Scribble
Slideshow
video
Resources to get started understanding dependent types
Software Foundations
Upcoming _Little Schemer_ family book on dependent types with Dan Friedman
Little Schemer
Upcoming talks previewing book at RacketCon and CodeMesh
Oregon Programming Languages Summer School videos
Suggestions for a title in Little Schemer tradition

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