Strange Loop

From Installed to Productive in Julia

Julia is a high-level, high-performance dynamic functional language with first-class types and homoiconic macros. Programs are organized in a functional style; development workflows center on the REPL; types are flexible, useful, and dynamic; syntax is clean and familiar. Where languages like OCaml and Haskell can feel filled with challenging ideas and focused on ideological concerns, Julia feels as practical and easy to learn and use as Python. In fact, Julia is noticeably fun to write.

The goal of this workshop is to take you from having Julia installed to being able to fluently write small programs in it. The workshop will cover Julia basics, such as syntax, development workflow, features of the REPL, and places to find documentation and assistance. Effective uses of multiple dispatch and the dynamic type system in program design will be highlighted. Specific features, such as the mechanics of running shell commands and writing macros will be covered. Julia is mostly written in Julia, so some code examples will be sourced from the core Julia codebase.

Attendees will be expected to have Julia already installed, as there will be frequent hands-on exercises. Becoming more fluent in the language requires that you write Julia code; the workshop will be filled with opportunities to do so.

Leah Hanson

Leah Hanson

Leah is a programmer with an interest in lesser-known languages and technologies – Rust, Julia, and the Haiku operating system. A summer of writing OCaml as an intern at Jane Street completely convinced her of the value and practicality of functional programming. While at Hacker School [1] this spring, she tried out Julia, wrote the WebSockets.jl package [2], and fell in love with the language. Since then she has given several workshops on Julia and spent the summer at MIT adding opt-in type “critiquing” (like type checking, but gentler) to the language. In the fall, she will return to finish an MSE at Johns Hopkins University, where her thesis project will be the continuation of her type critiquing work. [1]: [2]: