2018, January 6th-9th | Whistler, BC, Canada
Escape the hustle of everyday coding with LambdaConf’s second Winter Retreat, held this year in Whistler, British Columbia, Canada—a beautiful mountain town nestled in the southern Pacific Ranges of the Coast Mountains!
With 12 hours of content, 12 hours of dedicated Office Hours from expert guides, a continuous unconference track, and 9 shared meals, Winter Retreat packs an incredible amount of content, mentoring, and networking into a 4 day, 3 night package.
Leisurely explore selected topics in functional programming from invited LambdaConf Guides. Pair with attendees on interesting projects. Apply what you have learned from conferences, books, and blogs. And start 2018 with fresh passion for writing software in ways better than you ever thought possible.
- Takes place in Whistler, a beautiful mountain town. Whistler's pedestrian village has won many design awards and the town has been voted among the top destinations in North America by major ski magazines since the mid-1990s. There are numerous shops, restaurants, and cafes, and opportunities for downhill skiing, cross-country skiing, snowboarding, sledding, snowshoeing, and much more. Experience Whistler's legendary beauty and charm for yourself!
- Easy, cheap flights and open borders. Vancouver is a direct and affordable plane flight away from most major cities in the USA and Canada and has many non-stop international routes. Canada is well-known for relatively open borders, low hassle with customs, and no travel bans, making it a perfect vacation destination.
- Original content from hand-invited Guides. These LambdaConf Guides have been selected based on their expert teaching skills, mastery of key topics in functional programming, and popularity with attendees. You'll find helpful and very knowledgeable Guides with backgrounds in Haskell, Scala, Elm, PureScript, mathematics, and more.
- Dedicated mentoring time with Guides. Every Guide dedicates 2 hours of Office Hours to help attendees, whether that's by teaching concepts, pairing with them on challenging code, or practicing with them to enhance key skills essential for mastery of functional programming.
- Plenty of time for collaboration and peer-learning. Scheduled content consumes only four hours each day, allowing plenty of time for learning from Guides and fellow attendees, collaborating on interesting projects, and sharing your own knowledge with fellow attendees.
- Includes 3 days with breakfast, lunch, and dinner. Self-pay for lodging and activities, but 9 full meals are included, which keeps costs low and provides ample opportunity for networking. If you stay at the official retreat hotel, which gets you phenomenal rates, you get to stay with most other attendees and Guides!
- Two reserved conference rooms and several lounges. Wifi is included and projectors can be used by attendees outside hours of scheduled content. Bring some fun problems or side projects and expect to make some serious progress with help from some of the most experienced engineers working in functional programming.
- Legendary LambdaConf swag. Expect the "cold weather" edition of LambdaConf swag, which will help you keep warn during your trip to Whistler. Hot chocolate, bookmarks, and premium zippable jackets are all included!
- Childcare available. Don't let little ones deter you from leveling up. You'll have the option of signing up for childcare for any of the days of the retreat, either half day or full day. There are also plenty of outdoor activities and classes available for older kids (5+) and teens, including sledding, skiing, snow-boarding, and more.
Unlike Winter Retreat 2017, your Winter Retreat 2018 ticket does not including lodging. Please purchase accommodations separately. We recommend the official conference hotel (a very short walk away from the conference center), for which we have secured an excellent rate.
Note: Due to the nature of this small, intimate event, attendance is strictly capped, so if you want to attend, purchase a ticket at the earliest opportunity. As with all LambdaConf events, there are no refunds or exchanges.
Hardy is a language enthusiast, was the first professional PureScript developer, and currently writes Elm daily for NoRedInk.
Running With PureScript
2 Hours — PureScript
PureScript is well-known for its row-polymorphism. Extensible records use row-polymorphism to increase modularity. The Eff data type uses row-polymorphism to describe the effects a program can produce in more detail than the IO data type.
In this hands-on workshop, we'll explore other data types that make use of row-polymorphism in intriguing ways. We'll see how to use row-polymorphism to increase modularity in a different way from extensible records. We'll also see how to use row-polymorphism to describe effects in a more rigorous way than the Eff data type.
Michael Snoyman is the founder and lead developer of multiple Haskell open source projects, including Yesod, Conduit, Stack, and Stackage. His main interests are creating developer-friendly, high performance libraries that minimize bugs. Michael is VP of Engineering at FP Complete, where he focuses on using Haskell and modern devops to help projects make it to market faster and with fewer bugs.
Whirlwind Tour of Core Haskell Libraries
2 Hours — Haskell
Central to writing any significantly sized project in Haskell is choosing the right libraries. Data structures, network protocols, and file I/O are some tasks that most applications will run into.
In this talk, we'll cover some of the most popular libraries in Haskell, covering the majority of use cases. In the process, we'll get a better sense of how to choose a library, how to familiarize yourself with a new library, and how to structure production code bases.
2 Hours — Haskell & Others
Michael will be available for review and pair programming of any code you're working on, though you'd probably prefer to talk Haskell. If you've got some questions on specific topics in Haskell, such as exceptions, streaming data, or tooling, bring 'em too.
Sig is an aerospace engineer, currently building a scramjet-powered smallsat launch vehicle, and a startup. Sig occasionally tries to reinvent the Internet, and did Haskell things a long time ago.
Telluric: An Arcane and Contrarian Distributed Network
The Telluric network is a new distributed cryptosystem focused on fast streaming communication and broadcast messaging. Its architecture, interface paradigm, and community structure are very very different from the web.
This talk will provide a brief overview of its design, interfaces, mathematics, and philosophy.
After describing Telluric and taking questions, Sig will assist attendees in setting up the Telluric client, creating identities for the messaging protocol, and getting started developing applications.
- A computer or VM running Linux, with network access
- Some familiarity building C programs from source
After the workshop, Sig will be available to help with any further telluric questions or issues, or to talk about rocketry and financing ambitious projects.
John De Goes
John A. De Goes has been functional programming for more than seven years at multiple companies, and has assembled world-renowned Scala and PureScript engineering teams, trained new developers in Scala and PureScript, and developed several successful open source FP projects. Known for his ability to take very complex concepts and explain them simply, John has taught numerous workshops and classes, including several highly-regarded workshops on Scala and PureScript. John moonlights as an instructor for LambdaConf, but his primary job is Chief Technology Officer of SlamData, an open source software company using pure functional programming to redefine analytics for modern data.
Using Functional Programming to Rapidly Build Scalable, Concurrent, Non-Leaky Scala Services
1 Hour — Scala
Rapidly building scalable, concurrent applications that don't leak memory and threads has proven all but impossible for procedural and object-oriented programming. Scala frameworks like Akka have simplifed parts of this problem, but only by sacrificing equational reasoning, type safety, and modular composability, all of which dramatically increase development and maintenance costs.
In this presentation & workshop, you'll learn how to build applications with Scalaz 8 IO, a powerful, purely functional effect system that will help you build type-safe, concurrent, scalable, and non-leaky applications, faster and easier than ever before. By the end of the session, John hopes you'll agree that purely functional programming is the only practical, Enterprise-grade choice for the working programmer.
Making a Testing Framework Using Applicative Functors
1 Hour — PureScript, Haskell, Scala, Others
In this workshop, you'll get to follow along in Scala, PureScript, or Haskell, as John leads you on an exploration of building a testing framework DSL using applicative functors, a very powerful and under-utilized abstraction in functional programming. Bring your laptop, your wish list for a testing framework, and your very best functional thinking cap for what's sure to be an exciting and useful exercise in functional design and development.
2 Hours — Any Programming Language
In John's office hours, he will be happy to pair with you on projects in PureScript, Scala, Haskell, or most other programming languages, to work with you on learning concepts in functional programming, and to provide exercises to help increase your skills in specific areas related to functional programming, algebra, advanced types, distributed computation, and analytics.
Aaron is a passionate computing artist with over a decade of experience in Scheme before he began to explore the wider application of array languages to HCI/d, parallel programming, human/computer performance, and human to human communication.
Notational Thinking with Arrays in APL/Co-dfns Workshop — Part 1
1 Hour - APL/Co-dfns
This workshop, which is split into two parts with time between them to let things simmer and gestate, is focused on helping to stretch your mental and aesthetic muscles by using a problem-driven, interactive approach that helps to guide you to think about problems in new ways, using notation, structure, and Iverson-style array programming as a focal point.
The workshop will focus on the use of APL and the Co-dfns dialect in particular to build programs that are concise, transparent, and leverage parallel hardware by construction. Come see how to merge visualization, pen-and-paper exploration, and high-performance array programming into a highly productive, parallel by default method of solving problems.
This workshop will be intense, highly interactive, and audience driven. The workshop will not require any prerequisites, but it is highly recommended that anyone wishing to get the most out of their time spend some time before the workshop getting prepared and checking out some existing materials in order to set the stage and prepare their minds.
Notational Thinking with Arrays in APL/Co-dfns Workshop — Part 2
1 Hour - APL/Co-dfns
Part 2 of the workshop.
Come and discuss anything related to the HCI of programming languages, Array Programming, and code minimization and aesthetics. Aaron would love to work with any of your existing code or problems to develop new approaches to existing solutions, or to find ways of formulating problems most efficiently in Array Programming style. He’d also love to help you get into thinking in an Array-centric style, and solving your problems through notational thought rather than abstractive scaffolding.
Aava Whistler Hotel
The official hotel of Winter Retreat 2018 is the Aava hotel in Whistler. This beautiful hotel is located close to the Whistler Conference Center, and a few minutes away from ski lifts for those planning to engage in winter sports.
Although attendees are free to book and stay at any place of their choosing, we have negotiated excellent rates at Aava, and most speakers and attendees will be staying at the hotel.
To receive the discount, call Aava and mention that you are with the "LambdaConf" group. The discounted rate is available a day before the retreat begins, so you may want to arrive a day early the Whistler mountain.
"I do data engineering with Scala, heavily applying functional programming. I would like to learn more about theoretical CS concepts applicable in the real world to make better software."
"Comparing functional web frameworks across languages, building apps in a functional language, and practical functional programming."
"Exploration of next FP language concepts like dependent types, generic programming and proof solving."
"Love to talk about FP vs OOP and how OOP languages are converging on FP in some ways. Also love to touch base on microservices in FP."
"Haskell, FP paradigms, application development in FP languages."
"I'd like more in-depth Elm and other related areas. I'm interested in using Haskell for backend work as well."
"More understanding of functional programming concepts in general. I've been introduced via Elm and started learning Haskell."
"Interested in either working learning more formal methods for improving code quality or maybe hacking on LLVM stuff in Haskell."
"Networked servers, event sourcing, Elm, Haskell, databases, uni-directional data flow, functional architecture. I can share about event sourcing."
"Elm, Haskell, FP game dev, concurrency. I can share quite a bit about Elm."
"I've been writing Elm recently and have really enjoyed the functional paradigm. I'm hoping to learn more here as well as meet other functional programmers."
"Functional programming has amazed me with its efficiency and power. I have been working recently in Elm and look forward to working with other local programmers to learn more."
"My coworker pointed me at Elm and I'd love to learn more about functional application development. I need to learn the ropes of FP in general."
"I am just learning about lambdas, but I am so excited to be surrounded by people who are enamored by it!"
"Open source strategies. Lean, robust products."
"I see FP as having so much potential to improve our interactions with technology, both as a developer and in the world in general. I'd like to understand how and when to apply these techniques to improve lives, and how to spread the ideas to others. I'm particularly interested in how to evolve systems safely, from the smallest refactoring to an entire distributed system."
"Learn me a Haskell. And Scala Cats."
"Excited to learn more Elm, PureScript, or other FP greatness."
"I am a costumer, so I'm super interested in furthering knowledge of modeling transformations. Rigging lights within that can be programed for different things, connecting little servos to create moving parts within a costume, special effects, etc."
"I'm learning Haskell. I want to get comfortable with functional programming in general and specifically Haskell. Current goal is to be able to write a simple parser."
"I'd like to get a more fundamental understanding of Haskell and/or F#. Ideally this would be some work with web apps as well as console applications.Additionally, I'd like to enhance my understanding of functional programming so I can better apply it to my day to day work in C++ and C#."