Code examples accompanying a blog post series by Daniel Brice.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
haskell
scala
.gitignore
README.md
validate-makefiles

README.md

Models of Exception Control Flow

Code examples accompanying a blog post series by Daniel Brice.

Scala Workflow

Assumes you have make and scala installed and on your path.

This project uses a Makefile. Run any of the below make targets by invoking make <target> from the scala directory, or (optionally) continually run any of the make targets by invoking watch make <target>.

Make Targets:

  • all: Alias for clean test.

  • clean: Remove the lib subdirectory, if it exists.

  • compile: Compile all source files, saving build artifacts in the lib directory (creating it if it does not exist).

  • test: compile, and run the automated tests.

  • repl: compile, and Open a Scala REPL with all source files in scope.

  • check: Parse and typecheck all source files without compiling. Use with watch while editing files for quick feedback.

Haskell Workflow

Assumes you have make and haskell-platform installed.

This project uses a Makefile. Run any of the below make targets by invoking make <target> from the haskell directory, or (optionally) continually run any of the make targets by invoking watch make <target>.

Make Targets:

  • all: Alias for test.

  • test: Run the automated tests.

  • repl: Open a GHCi REPL, with the contents of Spec.hs, Test.hs, and Undefined.hs in global scope and the contents of Continuations.hs, Eithers.hs, and Transformers.hs scoped to Continuations, Eithers, and Transformers respectively.

  • check: Parse and typecheck all source files without compiling. Use with watch while editing files for quick feedback.