Thanks Sam,
I swear I came *so* close to that!
I'll take a good hard look over the TR Guide; I'm sure it'll make sense.
Tim
On 18/05/15 17:16, Sam Tobin-Hochstadt wrote:
Typed Racket doesn't bring the type variable `A` into scope on the
right-hand side of the `define`, because it isn't a function definition.
This should probably change, but it means that all we need to do is make
the definition less point-free:
(: composed-overhand-shuffler (All (A) (Shuffler A)))
(define (composed-overhand-shuffler x)
(((inst shuffler-composer A)
overhand-cutter
overhand-riffler) x))
Sam
On Mon, May 18, 2015 at 4:15 AM Tim Brown <[email protected]
<mailto:[email protected]>> wrote:
I have tried everything (with the exception of the right thing) to mould
this function to my will:
- used longhand types rather than the define-types Riffler, Cutter and
Shuffler
- All'ed, inst'ed, ann'ed and cast'ed everywhere
- used various approached to the implementation. Here we
have call-with-values, but I have used define-values (with/without
annotations), explicit and automatic currying -- the works.
--
Tim Brown CEng MBCS <[email protected]>
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
City Computing Limited · www.cityc.co.uk
City House · Sutton Park Rd · Sutton · Surrey · SM1 2AE · GB
T:+44 20 8770 2110 · F:+44 20 8770 2130
────────────────────────────────────────────────────────────────────────
City Computing Limited registered in London No:1767817.
Registered Office: City House, Sutton Park Road, Sutton, Surrey, SM1 2AE
VAT No: GB 918 4680 96
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.