Move languages into languages dir. Move 'tdd' dir into testing (#403)

* add languages dir

* moved files into language sub dir

* move tdd into testing
This commit is contained in:
Joe Reynolds
2016-07-11 04:04:17 +01:00
committed by Sean Broderick
parent 6af9910099
commit 5af1fef111
10 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
# Clojure
This is a cross-listing of papers related to Clojure, it's core, contrib and popular libraries. Papers noted at Clojure talks, meetups, and conferences can be found here as well.
## Data Structures
* core.rrb-vector
* [RRB-Trees: Efficient Immutable Vectors](http://infoscience.epfl.ch/record/169879/files/RMTrees.pdf)
## Pattern Matching
* core.match
* [Compiling Pattern Matching to good Decision Trees](http://www.cs.tufts.edu/~nr/cs257/archive/luc-maranget/jun08.pdf)
## Type Theory
* [:scroll:](a-practical-optional-type-system-for-clojure.pdf) [Practical Optional Types for Clojure](http://frenchy64.github.io/papers/typed-clojure-draft.pdf) (draft)
## Clojure/West 2014
* Applicative Functional Programming
* [Backtracking Iterators](https://www.lri.fr/~filliatr/publis/enum2.pdf)
* [Breadth-First Numbering: Lessons from a Small Exercise in Algorithm Design](http://www.cs.tufts.edu/~nr/cs257/archive/chris-okasaki/breadth-first.pdf)
* Testing
* QuickCheck
* [QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs](http://www.cs.tufts.edu/~nr/cs257/archive/john-hughes/quick.pdf)
* [QuickCheck Testing for Fun and Profit](http://people.inf.elte.hu/center/fulltext.pdf)
* Property-Based Testing, best explained in John Hughes own talk at [ClojureWest 2014](https://www.youtube.com/watch?v=zi0rHwfiX1Q&list=PLZdCLR02grLp__wRg5OTavVj4wefg69hM).

View File

@@ -0,0 +1,7 @@
# Haskell
* [A History of Haskell: Being Lazy With Class](http://research.microsoft.com/en-us/um/people/simonpj/papers/history-of-haskell/history.pdf) by Paul Hudak, John Hughes, Simon Peyton Jones
* :scroll: [Tackling the Awkward Squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell](tackling-the-awkward-squad-monadic-input-output-concurrency-exceptions-and-foreign-language-calls-in-haskell.pdf) by Simon Peyton Jones
* :scroll: [Making a Fast Curry: Push/Enter vs. Eval/Apply for Higher-order Languages](making-a-fast-curry-push-enter-versus-eval-apply-for-higher-order-languages.pdf) by Simon Marlow and Simon Peyton Jones. A classic... describes well the execution model GHC uses for Haskell, and catches the brilliant authors in a design pivot from original intuition to new conclusions based on empirical data.
* :scroll: [A Poor Man's Concurrency Monad](a-poor-mans-concurrency-monad.pdf) by Koen Claessen. Paper describes how without adding any primitives to the language, you could define a concurrency monad transformer in Haskell.
* :scroll: [Parallel Generational-Copying Garbage Collection with a Block-Structured Heap](../garbage_collection/parallel_generational_copying_garbage_collection_with_a_block_structured_heap.pdf). In Haskell, data immutability forces us to produce a lot of temporary data but also helps to collect this garbage rapidly. This paper explains how the Glasgow Haskell Compiler accomplishes this task in a simple, yet effective, manner with no programmer intervention.

Binary file not shown.

View File

@@ -0,0 +1,4 @@
## Smalltalk
* :scroll: [Design Principles Behind Smalltalk](Design-Principles-Behind-Smalltalk.pdf)
* :scroll: [The Early History of Smalltalk, by Alan Kay](The-Early-History-Of-Smalltalk.pdf)

Binary file not shown.