You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We avoided these originally because we wanted Harlan to feel like a dynamically-typed language--that is, the programmer would never have to see or write a type annotation. We've strayed away from this now with ADTs and external function declarations, so it makes sense now to optionally allow type annotations. For example, instead of (define (foo a b) ...) we could write (define (foo (a : float) (b : Expr)) ...).
These type annotations would be allowed in any binding position, such as kernel, let and match expressions.
We avoided these originally because we wanted Harlan to feel like a dynamically-typed language--that is, the programmer would never have to see or write a type annotation. We've strayed away from this now with ADTs and external function declarations, so it makes sense now to optionally allow type annotations. For example, instead of
(define (foo a b) ...)
we could write(define (foo (a : float) (b : Expr)) ...)
.These type annotations would be allowed in any binding position, such as
kernel
,let
andmatch
expressions.This needs to play nicely with #127.
The text was updated successfully, but these errors were encountered: