-
-
Notifications
You must be signed in to change notification settings - Fork 103
Open
Description
What version of Racket are you using?
8.15
What program did you run?
#lang typed/racket
(require qi)
(: add-up (-> Number Number Number))
(define (add-up n m) (+ n m))
(: cube (-> Number Number))
(define (cube n) (* n n n))
(: flow-values (-> Number Number Number))
(define (flow-values n m) (~> (n m) (add-up _ _) cube))
What should have happened?
The code should have compiled without a problem. This code compiles correctly:
#lang typed/racket
(require qi)
(: add-up (-> Number Number Number))
(define (add-up n m) (+ n m))
(: cube (-> Number Number))
(define (cube n) (* n n n))
(: flow-values (-> Number Number Number))
(define (flow-values n m) (~> (n m) (add-up _ _)))
If you got an error message, please include it here.
3-unsaved-editor:18:0: Type Checker: Polymorphic function `compose' could not be applied to arguments:
Argument 1:
Expected: (-> b c)
Given: (-> Number Number)
Argument 2:
Expected: (-> a b)
Given: (-> Number Number Number)
in: (define (flow-values n m) (~> (n m) (add-up _ _) cube))
Please include any other relevant details
On Ubuntu 24.04 and using DrRacket for testing. Also tested with racket -I typed/racket (8.15 [cs]) and got the same error message.
Metadata
Metadata
Assignees
Labels
No labels