Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.

Shapeless Guide Code

Copyright 2016-17 Dave Gurnell. Licensed Apache 2.0.

This repository contains code for the main examples in The Type Astronaut's Guide to Shapeless.

If you want to discuss the content or exercises with the authors, join us in our chat room on Gitter.


Using the Source Code

This repository contains two branches: one for exercises and one for solutions. The directory structure is the same in each branch.

You will need to have Git and Java and an internet connection to run the exercises. All other dependendencies are either included with the repo or downloaded on demand during compilation.

Notes on Editors and IDEs

If you don't have a particular preference for a Scala editor or IDE, we recommend the Atom editor and a Linux or OS X terminal. See the instructions below to get started.

If you want to use Scala IDE for Eclipse, we recommend using sbteclipse. Follow the instructions on the sbteclipse web page to install it as a global SBT plugin.

If you want to use IntelliJ IDEA, follow the instructions for Importing an SBT Project in the IntelliJ online documentation.

Getting Started on Linux or OS X

To get started:

  1. Clone this repository to a directory on your hard drive, e.g. ~/shapeless-guide-code:

    bash$ git clone
  2. Change to the root directory in the repository:

    bash$ cd shapeless-guide-code
  3. Run the script. You may have to wait while SBT downloads various dependencies:

    bash$ ./
    # Lots of output here...
    # The first run will take a while...
  4. Type helloworld/run at the SBT prompt. You may have to wait while SBT downloads various dependencies.

  5. If you see the message "Hello from shapeless!", you're ready to go!

If you have any problems getting started, get in touch on Gitter.


Example code to accompany shapeless-guide.







No releases published


No packages published

Contributors 4