Inside Racket Seminar 5: Robby Findler on Contracts

188 views
Skip to first unread message

Jay McCarthy

unread,
Aug 10, 2016, 12:07:42 PM8/10/16
to dev
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

Robby Findler

unread,
Aug 10, 2016, 1:54:09 PM8/10/16
to Jay McCarthy, dev
Another research paper that is probably worth reading:

http://www.eecs.northwestern.edu/~robby/pubs/papers/icfp2016-dnff.pdf

It is more conceptual, but the concepts do show up in the implementation.

Robby
> --
> You received this message because you are subscribed to the Google Groups "Racket Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+...@googlegroups.com.
> To post to this group, send email to racke...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/CAJYbDanv5NiTE-Um3aXBQ9GaKWzBuB25uYWN1JGq8Za0sp%3DA0Q%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.

Jay McCarthy

unread,
Sep 5, 2016, 9:32:06 AM9/5/16
to dev
A little reminder to everyone... this is on Wednesday!

Jay
Reply all
Reply to author
Forward
0 new messages