On September 7th at 11am Central time, please join us for the fifth
Inside Racket Seminar where Robby Findler will give us a walk-through
of the Racket's contract system.
As before, it will be on Google Hangouts on Air with Robby walking
through the code and giving an explanation of how it all hooks
together. This is not a tutorial on Racket or on the library, but a
kind of oral history and explanation of the software and how it works.
Our hope is that this will increase the ability of others to build and
maintain similar software as we share this kind of expertise in a way
that doesn't fit our existing distribution mechanisms (research
papers, RacketCon talks, documentation, etc.)
Hangouts on Air link:
https://plus.google.com/events/ca6nh577aoon86pdvqov13il9fk?hl=en
I hope that you are able to attend and send your own questions as we go through.
Here are some things you may want to look at to prepare:
0. Have a familiarity with the basics of the library. The guide
chapter is excellent in this way. It starts here:
http://docs.racket-lang.org/guide/contract-boundaries.html
In particular, you should take a look at the documentation for ->i and
make-contract, because they explain a lot of the fundamental concepts
on the internals.
http://docs.racket-lang.org/reference/function-contracts.html?q=-%3Ei#%28form._%28%28lib._racket%2Fcontract%2Fbase..rkt%29._-~3ei%29%29
http://docs.racket-lang.org/reference/Building_New_Contract_Combinators.html?q=-%3Ei#%28def._%28%28lib._racket%2Fcontract%2Fprivate%2Fprop..rkt%29._make-contract%29%29
1. The research paper, "Contracts as Pairs of Projections", is an
excellent account that explains the theory of contracts in a way that
matches the implementation very well.
https://www.eecs.northwestern.edu/~robby/pubs/papers/fb-tr2006-01.pdf
Please feel free to send questions beforehand, on this thread or to me
personally. We will archive the video for later viewing, etc.
As a small preview, Robby gave the keynote at ICFP 2014 on Behavioral
Software Contracts, which is another great introduction:
https://www.youtube.com/watch?v=gXTbMPVFP1M
See you all soon!
Jay
--
Jay McCarthy
Associate Professor
PLT @ CS @ UMass Lowell
http://jeapostrophe.github.io
"Wherefore, be not weary in well-doing,
for ye are laying the foundation of a great work.
And out of small things proceedeth that which is great."
- D&C 64:33