The following snippet: -------------------------- #lang typed/racket (: ** [Real Real -> Real]) (define (** a b) (expt a b)) --------------------------
Throws: unsaved editor:5:2: Type Checker: type mismatch expected: Real given: Number in: (expt a b) #(67 10) I believe (because I can’t think of a counterexample) that (expt Real Real) is never Complex; and therefore expt can be of type (Real Real -> Real). First off, is the statement above true? Is there a technical reason why my example HAS TO fall back to (Number Number -> Number)? Or is this simply an oversight? Regards, Tim Version: 6.6.0.4--2016-09-08(-/f) [3m]. -- 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.

