Functional Geekery

By Proctor

About this podcast   English    United States

Functional Geeks, Geeking Functionally
March 27, 2018
In this episode I talk with Claudia Doppioslash. We catch up with what she has been doing since Episode 42, which includes PureScript and Elm, GRiSP, applying functional ideas to game programming, and more. Our Guest, Claudia Doppioslash http://doppioslash.com/ @doppioslash on Twitter @lambda_cat on Twitter @shadercat on Twitter LambdaCat ShaderCat Conference Announcements Midlands Graduate School (MGS) is going to be held in Nottingham, UK, 9–13 April, hosted by the School of Computer Science, the University of Nottingham. For more information and to register visit: https://www.functionalgeekery.com/MGS2018 Detroit Day of Functional will be taking place Saturday, April 14th in Pontiac Michigan, just outside of Detroit. For more information and to register, visit https://www.functionalgeekery.com/detroitfp2018 ElixirConf EU will be taking place April 16th and 17th in Warsaw, Poland. For more information, and to register, visit: http://www.elixirconf.eu/. BuzzConf will take place the Thursday 26th of April, with workshops on Friday April 27th, in Buenos Aires, Argentina. For more information, and to register, visit: http://buzzconf.org/. CodeBEAM STO, formerly Erlang User Conference, celebrates the 20th Anniversary of Erlang being made Open Sourced, and will be taking place May 31st and June 1st. For more information and to register visit https://codesync.global. Monadic Party, a 5 day Haskell Summer School, will be taking place in Poznań, Poland the 11th-15th of June. Visit https://monadic.party/ for more information and to register. International Conference on Functional Programming 2018 will be taking place September 23 – 29th in St. Louis, MO. For more information, and to register visit: https://icfp18.sigplan.org/ StrangeLoop 2018 will be taking place September 27th and 28th, with a pre-conference day on the 26th in St. Louis, MO. To keep updated as details become announced you can find out more at: https://www.thestrangeloop.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 [@5:08] About Claudia Claudia’s past appearance on Episode 42 Claudia’s talk on PureScript and Elm at LambdaDays 2017 What Claudia has been up to in the past 2 years Elm Elm 0.17 and the move from Functional Reactive Programming Erlang GRiSP PureScript Halogen Claudia’s LambdaDays presentation Visualizing Home Automation with GRiSP Writing a book on Shader Programming PluralSight course Developing Custom Shaders in Unity Difference in working in Elm and PureScript When she might pick Elm and when PureScript Programming model difference between Elm and Halogen in PureScript purescript-spork Halogen guide GRiSP Applying Functional Programming to writing games Rust AreWeGameYet Clojure in Unity with Arcadia F# in Unity Places where functional ideas fit in with game programming Function Reactive Libraries for game programming Robert Virding – Synchronizing Game Components Erlang Things that are interesting Claudia today Rust Entity Component Systems Caitie McCaffrey on Hanselminutes Idris Ray tracing support in GPUs Vulkan What about Idris seems appealing Upcoming conference talk ideas Rhino 3D modeling Physically Based Shader Development for Unity 2017 As always, a giant Thank You goes to David Belcher for the logo design.
Feb. 20, 2018
In this episode I talk with Lisa Passing. We talk her introduction to Clojure and functional programming, her intro to Rust, how Rust fits in the functional programming world, and more. Our Guest, Lisa Passing lislis on Github Conference Announcements 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/. Comcast Labs Connect Functional Programming conference will be taking place Friday March 9th in Philadelphia, PA. For more information and to register visit: https://comcastlabsconnectfp.comcast.com/ Micheal Nygard will be hosting a 5-day workshop “Monolith to Microservices” on March 12th-16th in Fort Walton Beach, Florida. For more information, and to register, visit: https://n6consulting.com/workshop/monolith-to-microservices/ CodeBeamSF will be taking place March 15th and 16th, with training taking on the 12th-14th and 19th-21st of March. For more information, and to register, visit: https://codesync.global/conferences/code-beam-sf-2018. 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/. Midlands Graduate School (MGS) is going to be held in Nottingham, UK, 9–13 April, hosted by the School of Computer Science, the University of Nottingham. For more information and to register visit: https://www.functionalgeekery.com/MGS2018 ElixirConf EU will be taking place April 16th and 17th in Warsaw, Poland. For more information, and to register, visit: http://www.elixirconf.eu/. BuzzConf will take place the Thursday 26th of April, with workshops on Friday April 27th, in Buenos Aires, Argentina. For more information, and to register, visit: http://buzzconf.org/. Monadic Party, a 5 day Haskell Summer School, will be taking place in Poznań, Poland the 11th-15th of June. Visit https://monadic.party/ 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. 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 [@6:15] About Lisa PHP WordPress Clojure Rust How Lisa first got exposed to Clojure Node.js Ruby ClojureBridge ClojureScript The help/hindrance of exposure to other languages Lua Writing little games to learn a language What was the convincing needed to look at Clojure Grasping what “Code as Data” means Principles picked up from learning Clojure How Rust was put on Lisa’s radar Hesitancy at working with a systems language RustFest “You can try and it doesn’t matter if you fail” Crates Hearing of the idea of a web-framework in Rust Working with a statically typed language Haskell Rust Programming Language Book Pattern Matching How Clojure inspired ways of working in Rust Traits Functions vs Closures in Rust Overview of Lisa’s upcoming talk at LambdaDays Where Lisa sees Rust fitting in the programming languages ecosystem When Clojure vs Rust LambdaDays :clojureD RustFest ClojureBridge ClojureBridge Berlin As always, a giant Thank You goes to David Belcher for the logo design.
Jan. 30, 2018
In this episode I talk with Jared Forsyth. We talk his exploration of programming languages, his exposure to programming languages, work in the Reason community, Reason Town, and more. Our Guest, Jared Forsyth @jaredforsyth on Twitter jaredly on Github https://jaredforsyth.com/ Reason Town @ReasonTownFM on Twitter Conference Announcements PyCon Colombia 2018 will be taking place February 9th, 10th & 11th in Medellin, Colombia. For more information, and to register, visit https://www.pycon.co/. 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/. Micheal Nygard will be hosting a 5-day workshop “Monolith to Microservices” on March 12th-16th in Fort Walton Beach, Florida. For more information, and to register, visit: https://n6consulting.com/workshop/monolith-to-microservices/ CodeBeamSF will be taking place March 15th and 16th, with training taking on the 12th-14th and 19th-21st of March. For more information, and to register, visit: https://codesync.global/conferences/code-beam-sf-2018. 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/. ElixirConf EU will be taking place April 16th and 17th in Warsaw, Poland. For more information, and to register, visit: http://www.elixirconf.eu/. BuzzConf will take place the Thursday 26th of April, with workshops on Friday April 27th, in Buenos Aires, Argentina. For more information, and to register, visit: http://buzzconf.org/. Monadic Party, a 5 day Haskell Summer School, will be taking place in Poznań, Poland the 11th-15th of June. Visit https://monadic.party/ 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. 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:46] About Jared Kahn Academy How Jared got into programming Game-Maker Python Java C++ C# Racket JavaScript CoffeeScript ClojureScript Flow Go Rust Reason What languages were Jared using consistently Languages bleeding in between each other Things Jared ran into in the different languages core.typed WebAssembly What were the things Jared was looking for in a language What put Reason on Jared’s radar The current state of Reason for adoption Current state of integration with JavaScript OCaml BuckleScript ReasonReact Reason React Native Where the Reason adoption is primarily taking place at this point pack.re Targeting native devices on iOS and Android with Reason Jared’s work in Reason Blogging Reason experiments Making a cross-platform mobile game in Reason/OCaml Reason Town “Languages live or die by their community” Format of Reason Town First Reason Conference in Vienna Geographic distribution of Reason Where to stay up to date with Reason Reason Website Reason Discord Channel Reason Articles on Reason website What excites Jared in the Reason community Reason React compiled to native iOS without JavaScript bridge esy package manager Places to contribute to Reason Reason on Twitter ReasonML Hub on Twitter As always, a giant Thank You goes to David Belcher for the logo design.
Dec. 19, 2017
In this episode I talk with Scott Nimrod. We catch up with what he has been up to since he was last on, using F# for profit, Nikeza, Elm, and more. Our Guest, Scott Nimrod @bizmonger on Twitter https://bizmonger.wordpress.com/ bizmonger on Github Scott’s YouTube Channel 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/. 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/ Monadic Party, a 5 day Haskell Summer School, will be taking place in Poznań, Poland the 11th-15th of June. Visit https://monadic.party/ 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. 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:01] Welcome back to Scott Scott on Episode 53 F# Using F# at work beyond just learning on the side Sagas Functional And Reactive Domain Modeling by Debasish Ghosh Lessons learned from moving from using F# for just fun, to using F# for profit Using `` around function names in tests to allow test names to read as sentences Event Driven Architecture and Sagas Eric Normand on Episode 41 talking about how most things can be reduced to a `map`, `filter`, or `reduce`. Ody Mbegbu on Episode 81 LambdaCartel Nikeza LambdaCartel video streams Lessons learned from working on Nikeza .NET Core Giraffe Working with F# on .NET Core Docker Visual Studio Code Visual Studio Code and Ionide Visual Studio 2017 version 15.6 – Preview Release Elm Domain Modeling Made Functional by Scott Wlaschin The Book of F# Branching Out With Elm Differences Scott found between working with F# and working with Elm F# Advent Calendar Scott’s F# Advent Calendar contribution Attending NDC Minnesota Scott talking with Scott Wlaschin As always, a giant Thank You goes to David Belcher for the logo design.
Dec. 5, 2017
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.
Nov. 28, 2017
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.
Nov. 21, 2017
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.
Nov. 7, 2017
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.
Oct. 31, 2017
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.
Oct. 24, 2017
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.
Disclaimer: The podcast and artwork embedded on this page are from Proctor, which is the property of its owner and not affiliated with or endorsed by Listen Notes, Inc.