> On Jul 8, 2019, at 10:41 AM, David Storrs <david.sto...@gmail.com> wrote: > > Nothing specific that I'm aware of, but others could answer this better. If > there are then they're probably related to speed. > > Personally, I'm quite fond of them because they eliminate the need for a lot > of tests and make the code much more self-documenting. > > Function contracts are detailed here: > https://docs.racket-lang.org/reference/function-contracts.html > <https://docs.racket-lang.org/reference/function-contracts.html> In the > left-hand navbar you'll see a bunch of related topics, like data-structure > contracts.
That would be my suspicion. I suppose it’s an art form balancing the checking with the speed checks. For instance, I’ve used contracts in the provide statement, and as I’ve noted in various places in the documentation (and my own experience) they only guard the boundaries of whatever they’d are associated with. But in a call chain we can end up verifying a value repeatedly and wouldn’t it be marvelous if we could somehow pass it’s certification in syntax (no, I don’t know what I’m talking about, just dreaming) so that verification would only happen once and when needed? Kevin -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/D3D604D5-458B-4CA2-9161-47BFD9D0F54A%40gmail.com. For more options, visit https://groups.google.com/d/optout.