TR issue with the type of expt

Tim Brown <[email protected]>
Newsgroups gmane.comp.lang.racket.user,gmane.lisp.scheme.plt
Message-ID <[email protected]>
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.