April Meeting

Ben Kyrlach will be presenting:

My take on Propositions as Types

The best way to learn something is to teach it. In this presentation, I’ll be explaining my take of Phillip Wadler’s famous “Propositions as Types” talk, with practical examples using PureScript. We’ll explore how to catch logic errors using nothing but the type system, and compare and contrast typical statically typed programs with programs using this understanding of types.

March Meeting

Jason Voegele will be presenting:

The Wonderful World of Recursion

Recursion is an indispensable tool in the functional programmer’s toolbox, but when used improperly it can be the source of disastrous errors. The world’s most popular programming Q&A site is even named after the dreaded stack overflow error that is the result of misuse of recursion! How can we take advantage of this fundamental tool without falling victim to its pitfalls?

Join me as we journey through the wonderful world of recursion where we will discover a treasure trove of recursive techniques, including tail recursion, mutual recursion, and trampolines. We will also learn how tail call optimization is achieved (or not) in various languages. Example code and discussion is presented in various functional languages including Clojure, Scala, Elixir, Haskell, and F#.

February Meeting

Creighton Kirkendall will present:

Building with Legos – The Joys and Struggles of Architecting in Clojure

January Meeting

We are having a hack night with Data Science. We’ll break into groups and look at Wine Quality Data and analyze it with your choice or R, Python, or Clojure.

Then we’ll participate in a mini-Kaggle and compare our results

December Meeting

Chris Hodapp will present

Introduction to R

An introduction to the R language, ecosystem, and some of its quintessential libraries (like ggplot2 and dplyr). If time permits,  an entry into some basic machine learning in R.

November Meeting

Join us for Nick Howard’s talk Fun with F# and Type Providers

October Meeting

Carin Meier will talk about


Clojure.spec allows us to generate test data based on our specifications. But what about generating a clojure.spec program based off of data? With genetic programming, we’ll explore creating clojure.spec creatures that consume data for food. Then, we’ll breed, mutate, and evolve them until we have a perfect fitting spec for our data. Finally, we’ll take a step back and think about how clojure.spec gives us the ability to have our programs describe themselves and what that means to AI and self-repairing code.