Great programmers aren’t born—they’re made. The industry is moving from object-oriented languages to functional languages, and you need to commit to radical improvement. New programming languages arm you with the tools and idioms you need to refine your craft. While other language primers take you through basic installation and “Hello, World,” we aim higher. Each language in Seven More Languages in Seven Weeks will take you on a step-by-step journey through the most important paradigms of our time. You’ll learn seven exciting languages: Lua, Factor, Elixir, Elm, Julia, MiniKanren, and Idris.

Buy Now

Select a DRM-free Format:

In Stock
In Stock
Buy the eBook and get these DRM-free formats delivered immediately:
  • epub (for iPhone/iPad, Android, eReaders)
  • mobi (for Kindle)
  • PDF
We can automatically send them to your Kindle, and your Dropbox. (You'll need to log in to enable these options.)

This title is currently available in Beta. Buy the eBook now, and you'll be able to download successive releases of the eBook as the authors add material and correct mistakes. You'll get the final eBook when the book is finished.

If you buy the combo pack (Beta eBook + finished Paper Book) now, you'll get the Beta eBook immediately. You'll get the finished paper book when it's released (we're currently estimating 2014-09-10, but these dates can change).


About this Book

  • 350 pages (est)
  • Published:
  • Release: B2.0 (2014-07-14)
  • ISBN: 978-1-94122-215-7

Learn from the award-winning programming series that inspired the Elixir language. Hear how other programmers across broadly different communities solve problems important enough to compel language development. Expand your perspective, and learn to solve multicore and distribution problems.

In each language, you’ll solve a non-trivial problem, using the techniques that make that language special. Write a fully functional game in Elm, without a single callback, that compiles to JavaScript so you can deploy it in any browser. Write a logic program in Clojure using a programming model, MiniKanren, that is as powerful as Prolog but much better at interacting with the outside world. Build a distributed program in Elixir with Lisp-style macros, rich Ruby-like syntax, and the richness of the Erlang virtual machine. Build your own object layer in Lua, a statistical program in Julia, a proof in code with Idris, and a quiz game in Factor.

When you’re done, you’ll have written programs in five different programming paradigms that were written on three different continents. You’ll have explored four languages on the leading edge, invented in the past five years, and three more radically different languages, each with something significant to teach you.

Contents and Extracts

This book is currently in beta, so the contents and extracts will change as the book is developed.

  • Foreword
  • Introduction
    • The Lay of the Land
    • Bruce Tate (Elixir and Elm)
    • Fred Daoud (Factor)
    • Ian Dees (Lua, Idris)
    • Jack Moffit (Julia, miniKanren)
    • Who Should Read This Book
    • A Final Charge
    • Online Resources
  • Lua
    • Day 1: The Call to Adventure
    • Day 2: Tables All the Way Down
    • Day 3: Lua and the World
    • Wrapping Up Lua
  • Factor
    • Day 1: Stack On, Stack Off
    • Day 2: Painting the Fence
    • Day 3: Balancing on a Boat
    • Wrapping Up Factor
  • Elm
    • Day 1: Handling the Basics
    • Day 2: Taming Callbacks excerpt
    • Day 3: It’s All a Game
    • Wrapping Up Elm
  • Elixir
    • Day 1: Laying a Great Foundation excerpt
    • Day 2: Controlling Mutations
    • Day 3: Spawning and Respawning
    • Wrapping Up Elixir
  • Julia
  • miniKanren
    • Day 1: Unified Theories of Code
    • Day 2: Mixing the Logical and Functional
    • Day 3: Writing Stories with Logic excerpt
    • Wrapping Up miniKanren
  • Idris
  • Wrapping Up

About the Author

Bruce Tate, CTO of, is a mountain biker, climber, and father of two from Austin, Texas. He is the author of more than ten books, including Seven Languages in Seven Weeks, and is the series editor of the Seven in Seven series.

By day, Ian Dees slings code, tests, and puns at a Portland-area test equipment manufacturer. By night, he converts espresso into programming books, including Cucumber Recipes. Ian tweets as @undees.

Fred Daoud is a truly passionate developer who loves functional programming. He coauthored Seven Web Frameworks in Seven Weeks with Jack Moffitt.

Jack Moffitt falls in love with languages easily. He is a senior research engineer at Mozilla Research and works on Servo, an experimental browser engine written in Mozilla’s new Rust language.