diff --git a/README b/README
index 5ca055203afb51b841c16b77fe095e7937cfbc4f..3019f9c795a2379d7b50ed87f46ed8a33a600266 100644
--- a/README
+++ b/README
@@ -15,7 +15,7 @@ Writing NDP programs
 
 Import Data.Array.Parallel.Unlifted (sequential combinators) and/or
 Data.Array.Parallel.Unlifted.Parallel (parallel combinators). The subdirectory
-Data/Array/Parallel/test contains several examples.
+examples contains several NDP programs.
 
 Before invoking any parallel combinators you must initialise the gang threads,
 usually by calling
diff --git a/Data/Array/Parallel/test/Makefile b/examples/Makefile
similarity index 100%
rename from Data/Array/Parallel/test/Makefile
rename to examples/Makefile
diff --git a/Data/Array/Parallel/test/README b/examples/README
similarity index 100%
rename from Data/Array/Parallel/test/README
rename to examples/README
diff --git a/Data/Array/Parallel/test/concomp/AwShU.hs b/examples/concomp/AwShU.hs
similarity index 100%
rename from Data/Array/Parallel/test/concomp/AwShU.hs
rename to examples/concomp/AwShU.hs
diff --git a/Data/Array/Parallel/test/concomp/AwShUP.hs b/examples/concomp/AwShUP.hs
similarity index 100%
rename from Data/Array/Parallel/test/concomp/AwShUP.hs
rename to examples/concomp/AwShUP.hs
diff --git a/Data/Array/Parallel/test/concomp/Graph.hs b/examples/concomp/Graph.hs
similarity index 100%
rename from Data/Array/Parallel/test/concomp/Graph.hs
rename to examples/concomp/Graph.hs
diff --git a/Data/Array/Parallel/test/concomp/HybU.hs b/examples/concomp/HybU.hs
similarity index 100%
rename from Data/Array/Parallel/test/concomp/HybU.hs
rename to examples/concomp/HybU.hs
diff --git a/Data/Array/Parallel/test/concomp/HybUP.hs b/examples/concomp/HybUP.hs
similarity index 100%
rename from Data/Array/Parallel/test/concomp/HybUP.hs
rename to examples/concomp/HybUP.hs
diff --git a/Data/Array/Parallel/test/concomp/Makefile b/examples/concomp/Makefile
similarity index 100%
rename from Data/Array/Parallel/test/concomp/Makefile
rename to examples/concomp/Makefile
diff --git a/Data/Array/Parallel/test/concomp/README b/examples/concomp/README
similarity index 100%
rename from Data/Array/Parallel/test/concomp/README
rename to examples/concomp/README
diff --git a/Data/Array/Parallel/test/concomp/concomp.hs b/examples/concomp/concomp.hs
similarity index 100%
rename from Data/Array/Parallel/test/concomp/concomp.hs
rename to examples/concomp/concomp.hs
diff --git a/Data/Array/Parallel/test/concomp/mkg.hs b/examples/concomp/mkg.hs
similarity index 100%
rename from Data/Array/Parallel/test/concomp/mkg.hs
rename to examples/concomp/mkg.hs
diff --git a/Data/Array/Parallel/test/dotp/DotPPar.hs b/examples/dotp/DotPPar.hs
similarity index 100%
rename from Data/Array/Parallel/test/dotp/DotPPar.hs
rename to examples/dotp/DotPPar.hs
diff --git a/Data/Array/Parallel/test/dotp/DotPSeq.hs b/examples/dotp/DotPSeq.hs
similarity index 100%
rename from Data/Array/Parallel/test/dotp/DotPSeq.hs
rename to examples/dotp/DotPSeq.hs
diff --git a/Data/Array/Parallel/test/dotp/Makefile b/examples/dotp/Makefile
similarity index 100%
rename from Data/Array/Parallel/test/dotp/Makefile
rename to examples/dotp/Makefile
diff --git a/Data/Array/Parallel/test/dotp/README b/examples/dotp/README
similarity index 100%
rename from Data/Array/Parallel/test/dotp/README
rename to examples/dotp/README
diff --git a/Data/Array/Parallel/test/dotp/dotp.hs b/examples/dotp/dotp.hs
similarity index 100%
rename from Data/Array/Parallel/test/dotp/dotp.hs
rename to examples/dotp/dotp.hs
diff --git a/Data/Array/Parallel/test/fusion/DotP.hs b/examples/fusion/DotP.hs
similarity index 100%
rename from Data/Array/Parallel/test/fusion/DotP.hs
rename to examples/fusion/DotP.hs
diff --git a/Data/Array/Parallel/test/fusion/Map_Map.hs b/examples/fusion/Map_Map.hs
similarity index 100%
rename from Data/Array/Parallel/test/fusion/Map_Map.hs
rename to examples/fusion/Map_Map.hs
diff --git a/Data/Array/Parallel/test/fusion/Map_Map_Replicate.hs b/examples/fusion/Map_Map_Replicate.hs
similarity index 100%
rename from Data/Array/Parallel/test/fusion/Map_Map_Replicate.hs
rename to examples/fusion/Map_Map_Replicate.hs
diff --git a/Data/Array/Parallel/test/fusion/Map_Replicate.hs b/examples/fusion/Map_Replicate.hs
similarity index 100%
rename from Data/Array/Parallel/test/fusion/Map_Replicate.hs
rename to examples/fusion/Map_Replicate.hs
diff --git a/Data/Array/Parallel/test/fusion/runtst.sh b/examples/fusion/runtst.sh
similarity index 100%
rename from Data/Array/Parallel/test/fusion/runtst.sh
rename to examples/fusion/runtst.sh
diff --git a/Data/Array/Parallel/test/lib/Bench/Benchmark.hs b/examples/lib/Bench/Benchmark.hs
similarity index 100%
rename from Data/Array/Parallel/test/lib/Bench/Benchmark.hs
rename to examples/lib/Bench/Benchmark.hs
diff --git a/Data/Array/Parallel/test/lib/Bench/Options.hs b/examples/lib/Bench/Options.hs
similarity index 100%
rename from Data/Array/Parallel/test/lib/Bench/Options.hs
rename to examples/lib/Bench/Options.hs
diff --git a/Data/Array/Parallel/test/lib/Bench/Time.hs b/examples/lib/Bench/Time.hs
similarity index 100%
rename from Data/Array/Parallel/test/lib/Bench/Time.hs
rename to examples/lib/Bench/Time.hs
diff --git a/Data/Array/Parallel/test/lib/Makefile b/examples/lib/Makefile
similarity index 100%
rename from Data/Array/Parallel/test/lib/Makefile
rename to examples/lib/Makefile
diff --git a/Data/Array/Parallel/test/mk/common.mk b/examples/mk/common.mk
similarity index 83%
rename from Data/Array/Parallel/test/mk/common.mk
rename to examples/mk/common.mk
index 9764bbb0b236690118c295d06918f6fcff6e5453..f95464276deaf60c770fd2242ad41ddad4b2db2a 100644
--- a/Data/Array/Parallel/test/mk/common.mk
+++ b/examples/mk/common.mk
@@ -1,4 +1,4 @@
-NDPDIR = $(TESTDIR)/../../../..
+NDPDIR = $(TESTDIR)/..
 BENCHDIR = $(TESTDIR)/lib
 
 NDPLIB = $(NDPDIR)/libHSndp.a
diff --git a/Data/Array/Parallel/test/mk/test.mk b/examples/mk/test.mk
similarity index 100%
rename from Data/Array/Parallel/test/mk/test.mk
rename to examples/mk/test.mk
diff --git a/Data/Array/Parallel/test/primes/H98.hs b/examples/primes/H98.hs
similarity index 100%
rename from Data/Array/Parallel/test/primes/H98.hs
rename to examples/primes/H98.hs
diff --git a/Data/Array/Parallel/test/primes/Makefile b/examples/primes/Makefile
similarity index 100%
rename from Data/Array/Parallel/test/primes/Makefile
rename to examples/primes/Makefile
diff --git a/Data/Array/Parallel/test/primes/README b/examples/primes/README
similarity index 100%
rename from Data/Array/Parallel/test/primes/README
rename to examples/primes/README
diff --git a/Data/Array/Parallel/test/primes/Seq.hs b/examples/primes/Seq.hs
similarity index 100%
rename from Data/Array/Parallel/test/primes/Seq.hs
rename to examples/primes/Seq.hs
diff --git a/Data/Array/Parallel/test/primes/primes.hs b/examples/primes/primes.hs
similarity index 100%
rename from Data/Array/Parallel/test/primes/primes.hs
rename to examples/primes/primes.hs
diff --git a/Data/Array/Parallel/test/quickcheck/Makefile b/examples/quickcheck/Makefile
similarity index 100%
rename from Data/Array/Parallel/test/quickcheck/Makefile
rename to examples/quickcheck/Makefile
diff --git a/Data/Array/Parallel/test/quickcheck/Testsuite.hs b/examples/quickcheck/Testsuite.hs
similarity index 100%
rename from Data/Array/Parallel/test/quickcheck/Testsuite.hs
rename to examples/quickcheck/Testsuite.hs
diff --git a/Data/Array/Parallel/test/quickcheck/Testsuite/Preproc.hs b/examples/quickcheck/Testsuite/Preproc.hs
similarity index 100%
rename from Data/Array/Parallel/test/quickcheck/Testsuite/Preproc.hs
rename to examples/quickcheck/Testsuite/Preproc.hs
diff --git a/Data/Array/Parallel/test/quickcheck/Testsuite/Testcase.hs b/examples/quickcheck/Testsuite/Testcase.hs
similarity index 100%
rename from Data/Array/Parallel/test/quickcheck/Testsuite/Testcase.hs
rename to examples/quickcheck/Testsuite/Testcase.hs
diff --git a/Data/Array/Parallel/test/quickcheck/Testsuite/Utils.hs b/examples/quickcheck/Testsuite/Utils.hs
similarity index 100%
rename from Data/Array/Parallel/test/quickcheck/Testsuite/Utils.hs
rename to examples/quickcheck/Testsuite/Utils.hs
diff --git a/Data/Array/Parallel/test/quickcheck/tests/BUArr.hs b/examples/quickcheck/tests/BUArr.hs
similarity index 100%
rename from Data/Array/Parallel/test/quickcheck/tests/BUArr.hs
rename to examples/quickcheck/tests/BUArr.hs
diff --git a/Data/Array/Parallel/test/quickcheck/tests/Distributed.hs b/examples/quickcheck/tests/Distributed.hs
similarity index 100%
rename from Data/Array/Parallel/test/quickcheck/tests/Distributed.hs
rename to examples/quickcheck/tests/Distributed.hs
diff --git a/Data/Array/Parallel/test/quickcheck/tests/UnliftedSU.hs b/examples/quickcheck/tests/UnliftedSU.hs
similarity index 100%
rename from Data/Array/Parallel/test/quickcheck/tests/UnliftedSU.hs
rename to examples/quickcheck/tests/UnliftedSU.hs
diff --git a/Data/Array/Parallel/test/quickcheck/tests/Unlifted_Basics.hs b/examples/quickcheck/tests/Unlifted_Basics.hs
similarity index 100%
rename from Data/Array/Parallel/test/quickcheck/tests/Unlifted_Basics.hs
rename to examples/quickcheck/tests/Unlifted_Basics.hs
diff --git a/Data/Array/Parallel/test/quickcheck/tests/Unlifted_Combinators.hs b/examples/quickcheck/tests/Unlifted_Combinators.hs
similarity index 100%
rename from Data/Array/Parallel/test/quickcheck/tests/Unlifted_Combinators.hs
rename to examples/quickcheck/tests/Unlifted_Combinators.hs
diff --git a/Data/Array/Parallel/test/quickcheck/tests/Unlifted_Fusion.hs b/examples/quickcheck/tests/Unlifted_Fusion.hs
similarity index 100%
rename from Data/Array/Parallel/test/quickcheck/tests/Unlifted_Fusion.hs
rename to examples/quickcheck/tests/Unlifted_Fusion.hs
diff --git a/Data/Array/Parallel/test/quickcheck/tests/Unlifted_Permutes.hs b/examples/quickcheck/tests/Unlifted_Permutes.hs
similarity index 100%
rename from Data/Array/Parallel/test/quickcheck/tests/Unlifted_Permutes.hs
rename to examples/quickcheck/tests/Unlifted_Permutes.hs
diff --git a/Data/Array/Parallel/test/quickcheck/tests/Unlifted_Subarrays.hs b/examples/quickcheck/tests/Unlifted_Subarrays.hs
similarity index 100%
rename from Data/Array/Parallel/test/quickcheck/tests/Unlifted_Subarrays.hs
rename to examples/quickcheck/tests/Unlifted_Subarrays.hs
diff --git a/Data/Array/Parallel/test/quickcheck/tests/Unlifted_Sums.hs b/examples/quickcheck/tests/Unlifted_Sums.hs
similarity index 100%
rename from Data/Array/Parallel/test/quickcheck/tests/Unlifted_Sums.hs
rename to examples/quickcheck/tests/Unlifted_Sums.hs
diff --git a/Data/Array/Parallel/test/ref/DotProd.hs b/examples/ref/DotProd.hs
similarity index 100%
rename from Data/Array/Parallel/test/ref/DotProd.hs
rename to examples/ref/DotProd.hs
diff --git a/Data/Array/Parallel/test/ref/MatVecMul.hs b/examples/ref/MatVecMul.hs
similarity index 100%
rename from Data/Array/Parallel/test/ref/MatVecMul.hs
rename to examples/ref/MatVecMul.hs
diff --git a/Data/Array/Parallel/test/ref/README b/examples/ref/README
similarity index 100%
rename from Data/Array/Parallel/test/ref/README
rename to examples/ref/README
diff --git a/Data/Array/Parallel/test/ref/dotprod.c b/examples/ref/dotprod.c
similarity index 100%
rename from Data/Array/Parallel/test/ref/dotprod.c
rename to examples/ref/dotprod.c
diff --git a/Data/Array/Parallel/test/ref/dotprod.h b/examples/ref/dotprod.h
similarity index 100%
rename from Data/Array/Parallel/test/ref/dotprod.h
rename to examples/ref/dotprod.h
diff --git a/Data/Array/Parallel/test/ref/matvecmul.c b/examples/ref/matvecmul.c
similarity index 100%
rename from Data/Array/Parallel/test/ref/matvecmul.c
rename to examples/ref/matvecmul.c
diff --git a/Data/Array/Parallel/test/ref/matvecmul.h b/examples/ref/matvecmul.h
similarity index 100%
rename from Data/Array/Parallel/test/ref/matvecmul.h
rename to examples/ref/matvecmul.h
diff --git a/Data/Array/Parallel/test/simple/DotProd.hs b/examples/simple/DotProd.hs
similarity index 100%
rename from Data/Array/Parallel/test/simple/DotProd.hs
rename to examples/simple/DotProd.hs
diff --git a/Data/Array/Parallel/test/simple/MapInc.hs b/examples/simple/MapInc.hs
similarity index 100%
rename from Data/Array/Parallel/test/simple/MapInc.hs
rename to examples/simple/MapInc.hs
diff --git a/Data/Array/Parallel/test/simple/PrefixSum.hs b/examples/simple/PrefixSum.hs
similarity index 100%
rename from Data/Array/Parallel/test/simple/PrefixSum.hs
rename to examples/simple/PrefixSum.hs
diff --git a/Data/Array/Parallel/test/simple/SegPrefixSum.hs b/examples/simple/SegPrefixSum.hs
similarity index 100%
rename from Data/Array/Parallel/test/simple/SegPrefixSum.hs
rename to examples/simple/SegPrefixSum.hs
diff --git a/Data/Array/Parallel/test/simple/SegSum.hs b/examples/simple/SegSum.hs
similarity index 100%
rename from Data/Array/Parallel/test/simple/SegSum.hs
rename to examples/simple/SegSum.hs
diff --git a/Data/Array/Parallel/test/simple/Sum.hs b/examples/simple/Sum.hs
similarity index 100%
rename from Data/Array/Parallel/test/simple/Sum.hs
rename to examples/simple/Sum.hs
diff --git a/Data/Array/Parallel/test/smvm/Makefile b/examples/smvm/Makefile
similarity index 100%
rename from Data/Array/Parallel/test/smvm/Makefile
rename to examples/smvm/Makefile
diff --git a/Data/Array/Parallel/test/smvm/README b/examples/smvm/README
similarity index 100%
rename from Data/Array/Parallel/test/smvm/README
rename to examples/smvm/README
diff --git a/Data/Array/Parallel/test/smvm/SMVMPar.hs b/examples/smvm/SMVMPar.hs
similarity index 100%
rename from Data/Array/Parallel/test/smvm/SMVMPar.hs
rename to examples/smvm/SMVMPar.hs
diff --git a/Data/Array/Parallel/test/smvm/SMVMSeq.hs b/examples/smvm/SMVMSeq.hs
similarity index 100%
rename from Data/Array/Parallel/test/smvm/SMVMSeq.hs
rename to examples/smvm/SMVMSeq.hs
diff --git a/Data/Array/Parallel/test/smvm/mksm.c b/examples/smvm/mksm.c
similarity index 100%
rename from Data/Array/Parallel/test/smvm/mksm.c
rename to examples/smvm/mksm.c
diff --git a/Data/Array/Parallel/test/smvm/smvm-c.c b/examples/smvm/smvm-c.c
similarity index 100%
rename from Data/Array/Parallel/test/smvm/smvm-c.c
rename to examples/smvm/smvm-c.c
diff --git a/Data/Array/Parallel/test/smvm/smvm.hs b/examples/smvm/smvm.hs
similarity index 100%
rename from Data/Array/Parallel/test/smvm/smvm.hs
rename to examples/smvm/smvm.hs
diff --git a/Data/Array/Parallel/test/sumsq/SumSq.hs b/examples/sumsq/SumSq.hs
similarity index 100%
rename from Data/Array/Parallel/test/sumsq/SumSq.hs
rename to examples/sumsq/SumSq.hs
diff --git a/Data/Array/Parallel/test/unit/TestBUArr.hs b/examples/unit/TestBUArr.hs
similarity index 100%
rename from Data/Array/Parallel/test/unit/TestBUArr.hs
rename to examples/unit/TestBUArr.hs
diff --git a/Data/Array/Parallel/test/unit/TestUArr.hs b/examples/unit/TestUArr.hs
similarity index 100%
rename from Data/Array/Parallel/test/unit/TestUArr.hs
rename to examples/unit/TestUArr.hs