Conor McBride and Ross Paterson.
Applicative Functors and Traversable.
www.staff.city.ac.uk/~ross/papers...
Conor McBride and Ross Paterson.
Applicative Functors and Traversable.
www.staff.city.ac.uk/~ross/papers...
Philip Wadler
"Monads provide a convenient framework for simulating effects found in other languages, such as global state, exception handling, output, or non-determinism. "
homepages.inf.ed.ac.uk/wadler/paper...
Philip Wadler
"Monads provide a convenient framework for simulating effects found in other languages, such as global state, exception handling, output, or non-determinism. "
homepages.inf.ed.ac.uk/wadler/paper...
Alexander Stepanov
Meng Lee
The paper that added iterators, algorithms, containers to the standard library.
www.stepanovpapers.com/STL/DOC.PDF
Alexander Stepanov
Meng Lee
The paper that added iterators, algorithms, containers to the standard library.
www.stepanovpapers.com/STL/DOC.PDF
We need to rethink the submission pipeline, close the cracks, and raise the bar. Knowledge production & dissemination is our species’ holy grail of progress and we can’t lose it to slop
/1
We need to rethink the submission pipeline, close the cracks, and raise the bar. Knowledge production & dissemination is our species’ holy grail of progress and we can’t lose it to slop
It's incredibly self-similar and composable, which makes for clean maintainable code, but also powerful and expressive code. I just have to negotiate the exact lenses I want to build for my library, but a lot of that is already figured out.
Thanks!
10/10
It's incredibly self-similar and composable, which makes for clean maintainable code, but also powerful and expressive code. I just have to negotiate the exact lenses I want to build for my library, but a lot of that is already figured out.
Thanks!
10/10
9/10
9/10
This is why the new paradigm is a refinement of the original: The paradigm is still embedded within it.
8/10
This is why the new paradigm is a refinement of the original: The paradigm is still embedded within it.
8/10
This constructive paradigm is shared between all three containers { array, vector, concord }.
7/10
This constructive paradigm is shared between all three containers { array, vector, concord }.
7/10
Next, we can build the container itself the same way we built the model from the kernel:
6/10
Next, we can build the container itself the same way we built the model from the kernel:
6/10
So to construct any given container, we start with its kernel and add to it a minimum amount of lenses (methods) through inheritance and close that off permanently by defining the container's model to inherit the kernel + lenses.
5/10
So to construct any given container, we start with its kernel and add to it a minimum amount of lenses (methods) through inheritance and close that off permanently by defining the container's model to inherit the kernel + lenses.
5/10
Continuing, the arrows in the graphic represent lenses: classes which assume a base class through inheritance (as template parameter), and never contain memory themselves,
4/10
Continuing, the arrows in the graphic represent lenses: classes which assume a base class through inheritance (as template parameter), and never contain memory themselves,
4/10
Anyway, for each kernel you have a corresponding trace, which has the same memory components except you replace the C++ array with a pointer + length.
3/10
Anyway, for each kernel you have a corresponding trace, which has the same memory components except you replace the C++ array with a pointer + length.
3/10