├── .gitignore ├── Makefile ├── README ├── code ├── BingTranslate.hs ├── ConcurrentUtils.hs ├── GetURL.hs ├── LICENSE ├── Makefile ├── Sudoku.hs ├── TimeIt.hs ├── bingtranslator.hs ├── bingtranslatorconc.hs ├── chat │ └── Main.hs ├── euler35 │ ├── Stream.hs │ └── euler35.hs ├── fork.hs ├── geturls.hs ├── geturlscancel.hs ├── geturlsstm.hs ├── kmeans │ ├── GenSamples.hs │ ├── KMeansCommon.hs │ ├── Makefile │ ├── clusters │ ├── kmeans-seq.hs │ ├── kmeans.hs │ ├── kmeans2.hs │ ├── kmeans3.hs │ ├── params │ ├── points │ └── points.bin ├── parinfer │ ├── Environment.hs │ ├── FiniteMap.hs │ ├── Infer.hs │ ├── InferMonad.hs │ ├── MaybeM.hs │ ├── MyList.hs │ ├── Parse.hs │ ├── Shows.hs │ ├── State.hs │ ├── StateX.hs │ ├── Substitution.hs │ ├── Term.hs │ ├── TestTerm.hs │ ├── TestType.hs │ ├── Type.hs │ ├── example.in │ ├── example2.in │ └── parinfer.hs ├── server.hs ├── sudoku-par1.hs ├── sudoku-par2.hs ├── sudoku-par3.hs ├── sudoku-par4.hs ├── sudoku1.hs ├── sudoku17.1000.txt ├── sudoku17.16000.txt ├── sudoku17.49151.txt ├── sudoku2.hs ├── sudoku3.hs ├── sudoku4.hs └── windowman.hs └── doc ├── Makefile ├── cefp.bib ├── cefp.tex ├── channel.pdf ├── code.sty ├── conc-asyncex.tex ├── conc-ffi.tex ├── conc-fork.tex ├── conc-higher.tex ├── conc-mvar.tex ├── conc-server.tex ├── conc-stm.tex ├── conc.tex ├── dataflow.pdf ├── dataflow.svg ├── haskell.tex ├── kmeans-example-clusters ├── kmeans-example-points ├── kmeans-example.png ├── kmeans-results ├── kmeans-results.png ├── lab-exercises.tex ├── par.tex ├── parlist1.pdf ├── sudoku2.png ├── sudoku3-zoom.png ├── sudoku3.png └── sudoku4.png /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/.gitignore -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/Makefile -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/README -------------------------------------------------------------------------------- /code/BingTranslate.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/BingTranslate.hs -------------------------------------------------------------------------------- /code/ConcurrentUtils.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/ConcurrentUtils.hs -------------------------------------------------------------------------------- /code/GetURL.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/GetURL.hs -------------------------------------------------------------------------------- /code/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/LICENSE -------------------------------------------------------------------------------- /code/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/Makefile -------------------------------------------------------------------------------- /code/Sudoku.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/Sudoku.hs -------------------------------------------------------------------------------- /code/TimeIt.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/TimeIt.hs -------------------------------------------------------------------------------- /code/bingtranslator.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/bingtranslator.hs -------------------------------------------------------------------------------- /code/bingtranslatorconc.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/bingtranslatorconc.hs -------------------------------------------------------------------------------- /code/chat/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/chat/Main.hs -------------------------------------------------------------------------------- /code/euler35/Stream.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/euler35/Stream.hs -------------------------------------------------------------------------------- /code/euler35/euler35.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/euler35/euler35.hs -------------------------------------------------------------------------------- /code/fork.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/fork.hs -------------------------------------------------------------------------------- /code/geturls.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/geturls.hs -------------------------------------------------------------------------------- /code/geturlscancel.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/geturlscancel.hs -------------------------------------------------------------------------------- /code/geturlsstm.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/geturlsstm.hs -------------------------------------------------------------------------------- /code/kmeans/GenSamples.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/kmeans/GenSamples.hs -------------------------------------------------------------------------------- /code/kmeans/KMeansCommon.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/kmeans/KMeansCommon.hs -------------------------------------------------------------------------------- /code/kmeans/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/kmeans/Makefile -------------------------------------------------------------------------------- /code/kmeans/clusters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/kmeans/clusters -------------------------------------------------------------------------------- /code/kmeans/kmeans-seq.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/kmeans/kmeans-seq.hs -------------------------------------------------------------------------------- /code/kmeans/kmeans.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/kmeans/kmeans.hs -------------------------------------------------------------------------------- /code/kmeans/kmeans2.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/kmeans/kmeans2.hs -------------------------------------------------------------------------------- /code/kmeans/kmeans3.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/kmeans/kmeans3.hs -------------------------------------------------------------------------------- /code/kmeans/params: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/kmeans/params -------------------------------------------------------------------------------- /code/kmeans/points: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/kmeans/points -------------------------------------------------------------------------------- /code/kmeans/points.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/kmeans/points.bin -------------------------------------------------------------------------------- /code/parinfer/Environment.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/parinfer/Environment.hs -------------------------------------------------------------------------------- /code/parinfer/FiniteMap.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/parinfer/FiniteMap.hs -------------------------------------------------------------------------------- /code/parinfer/Infer.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/parinfer/Infer.hs -------------------------------------------------------------------------------- /code/parinfer/InferMonad.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/parinfer/InferMonad.hs -------------------------------------------------------------------------------- /code/parinfer/MaybeM.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/parinfer/MaybeM.hs -------------------------------------------------------------------------------- /code/parinfer/MyList.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/parinfer/MyList.hs -------------------------------------------------------------------------------- /code/parinfer/Parse.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/parinfer/Parse.hs -------------------------------------------------------------------------------- /code/parinfer/Shows.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/parinfer/Shows.hs -------------------------------------------------------------------------------- /code/parinfer/State.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/parinfer/State.hs -------------------------------------------------------------------------------- /code/parinfer/StateX.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/parinfer/StateX.hs -------------------------------------------------------------------------------- /code/parinfer/Substitution.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/parinfer/Substitution.hs -------------------------------------------------------------------------------- /code/parinfer/Term.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/parinfer/Term.hs -------------------------------------------------------------------------------- /code/parinfer/TestTerm.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/parinfer/TestTerm.hs -------------------------------------------------------------------------------- /code/parinfer/TestType.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/parinfer/TestType.hs -------------------------------------------------------------------------------- /code/parinfer/Type.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/parinfer/Type.hs -------------------------------------------------------------------------------- /code/parinfer/example.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/parinfer/example.in -------------------------------------------------------------------------------- /code/parinfer/example2.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/parinfer/example2.in -------------------------------------------------------------------------------- /code/parinfer/parinfer.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/parinfer/parinfer.hs -------------------------------------------------------------------------------- /code/server.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/server.hs -------------------------------------------------------------------------------- /code/sudoku-par1.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/sudoku-par1.hs -------------------------------------------------------------------------------- /code/sudoku-par2.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/sudoku-par2.hs -------------------------------------------------------------------------------- /code/sudoku-par3.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/sudoku-par3.hs -------------------------------------------------------------------------------- /code/sudoku-par4.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/sudoku-par4.hs -------------------------------------------------------------------------------- /code/sudoku1.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/sudoku1.hs -------------------------------------------------------------------------------- /code/sudoku17.1000.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/sudoku17.1000.txt -------------------------------------------------------------------------------- /code/sudoku17.16000.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/sudoku17.16000.txt -------------------------------------------------------------------------------- /code/sudoku17.49151.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/sudoku17.49151.txt -------------------------------------------------------------------------------- /code/sudoku2.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/sudoku2.hs -------------------------------------------------------------------------------- /code/sudoku3.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/sudoku3.hs -------------------------------------------------------------------------------- /code/sudoku4.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/sudoku4.hs -------------------------------------------------------------------------------- /code/windowman.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/code/windowman.hs -------------------------------------------------------------------------------- /doc/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/Makefile -------------------------------------------------------------------------------- /doc/cefp.bib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/cefp.bib -------------------------------------------------------------------------------- /doc/cefp.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/cefp.tex -------------------------------------------------------------------------------- /doc/channel.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/channel.pdf -------------------------------------------------------------------------------- /doc/code.sty: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/code.sty -------------------------------------------------------------------------------- /doc/conc-asyncex.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/conc-asyncex.tex -------------------------------------------------------------------------------- /doc/conc-ffi.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/conc-ffi.tex -------------------------------------------------------------------------------- /doc/conc-fork.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/conc-fork.tex -------------------------------------------------------------------------------- /doc/conc-higher.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/conc-higher.tex -------------------------------------------------------------------------------- /doc/conc-mvar.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/conc-mvar.tex -------------------------------------------------------------------------------- /doc/conc-server.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/conc-server.tex -------------------------------------------------------------------------------- /doc/conc-stm.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/conc-stm.tex -------------------------------------------------------------------------------- /doc/conc.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/conc.tex -------------------------------------------------------------------------------- /doc/dataflow.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/dataflow.pdf -------------------------------------------------------------------------------- /doc/dataflow.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/dataflow.svg -------------------------------------------------------------------------------- /doc/haskell.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/haskell.tex -------------------------------------------------------------------------------- /doc/kmeans-example-clusters: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/kmeans-example-clusters -------------------------------------------------------------------------------- /doc/kmeans-example-points: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/kmeans-example-points -------------------------------------------------------------------------------- /doc/kmeans-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/kmeans-example.png -------------------------------------------------------------------------------- /doc/kmeans-results: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/kmeans-results -------------------------------------------------------------------------------- /doc/kmeans-results.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/kmeans-results.png -------------------------------------------------------------------------------- /doc/lab-exercises.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/lab-exercises.tex -------------------------------------------------------------------------------- /doc/par.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/par.tex -------------------------------------------------------------------------------- /doc/parlist1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/parlist1.pdf -------------------------------------------------------------------------------- /doc/sudoku2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/sudoku2.png -------------------------------------------------------------------------------- /doc/sudoku3-zoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/sudoku3-zoom.png -------------------------------------------------------------------------------- /doc/sudoku3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/sudoku3.png -------------------------------------------------------------------------------- /doc/sudoku4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/simonmar/par-tutorial/HEAD/doc/sudoku4.png --------------------------------------------------------------------------------