Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yurrriq/tdd-with-idris

:book: Working through Type-Driven Development with Idris
https://github.com/yurrriq/tdd-with-idris

dependent-types functional-programming idris learning theorem-proving type-driven-development

Last synced: 13 days ago
JSON representation

:book: Working through Type-Driven Development with Idris

Awesome Lists containing this project

README

        

#+STARTUP: showall
#+OPTIONS: toc:nil

* Type-Driven Development with Idris
[[https://travis-ci.org/yurrriq/tdd-with-idris][file:https://travis-ci.org/yurrriq/tdd-with-idris.svg]]

/Solutions to exercises from [[https://www.manning.com/books/type-driven-development-with-idris][Type-Driven Development with Idris]] by [[https://github.com/edwinb][Edwin Brady]],
and tests thereof./
** Package
#+BEGIN_SRC idris-ipkg :tangle typedriven.ipkg
package typedriven

pkgs = effects

opts = "--total"
sourcedir = src

modules = Exercises.GettingStarted
, Exercises.Interactive
, Chapter.DataTypes, Exercises.DataTypes
, Exercises.InteractivePrograms
, Chapter.State, Exercises.State
, Chapter.StateMachines, Exercises.StateMachines
, Chapter.DependentStateMachines, Exercises.DependentStateMachines

brief = "Solutions to exercises in Type-Driven Development with Idris."
readme = README.org
license = MIT
author = "Eric Bailey"

homepage = https://github.com/yurrriq/tdd-with-idris
sourceloc = https://github.com/yurrriq/tdd-with-idris
bugtracker = https://github.com/yurrriq/tdd-with-idris/issues
#+END_SRC
** Test package
#+BEGIN_SRC idris-ipkg :tangle test.ipkg
package typedriven.test

pkgs = test

opts = "--total"
sourcedir = src

modules = Exercises.Test.GettingStarted
, Exercises.Test.Interactive
, Exercises.Test.DataTypes
, Exercises.Test.State
, Test.Helpers

brief = "Test for exercises in Type-Driven Development with Idris."
author = "Eric Bailey"
#+END_SRC
** nix-shell config
#+BEGIN_SRC nix :tangle shell.nix
{ doCheck ? false }:

with import {};

let
idris = callPackage ./pkgs/idris.nix { inherit doCheck; };
in

stdenv.mkDerivation rec {
name = "tdd-with-idris-${version}";
version = "0.0.1";

buildInputs = [ idris ];
}
#+END_SRC