Live data from Hacker News

Why we're supporting Typed Clojure

blog.circleci.com

21–30 of 77 posts

Re: Why we're supporting Typed Clojure

#21
post #18

Earlier quoted context omitted.

FWIW I've been pushing Typed Clojure in interesting directions that can be directly applied back to Typed Racket. The implementations are so similar that there is good potential for cross pollination.

Fair enough, it does sound like an interesting research project, I'm just not sure what will come of it. Can you make any speculations about what those directions might be? Or is it too early? Edit: global type inference? I thought that was infeasible for TR and Clojure at the moment?

Also I'm not aware of a tool to "guess" top level annotations for Typed Racket. This is an area I want to explore further, soon.

Re: Why we're supporting Typed Clojure

#22
post #17
post #10

Earlier quoted context omitted.

You're totally wrong. For one thing, PHP coerces WAY too much for any type system to be effective. That's just plain duck typing.

What do you mean?

I'd like to see your defintion of structural typing in PHP. (Hint: Not casts, not lots of manual gettype)

Re: Why we're supporting Typed Clojure

#23
post #5

> Typed Clojure is one of the biggest advancements to dynamic programming languages in the last few decades. It shows that you can have the amazing flexibility of a dynamic language, while providing lightweight, optional typing. I'm sure there have been great advances. But you are showcasing this as if it was a completely new idea, even though PHP has been using it for a long time. Correct me if I'm wrong.

The type system for typed closure is much more powerful and is build on solid PL research. For example, it handles higher order types, union types and has a nifty system for overloading.

Re: Why we're supporting Typed Clojure

#26
post #24

Typescript also uses 'gradual' typing. See http://siek.blogspot.co.uk/2012/10/is-typescript-gradually-t... - Siek is referenced in the original post, too. Clojure's type system sounds more powerful than Typescript's though.

AFAIK Typescript is level 1 gradual typing. Typed Clojure is also level 1, but I'm aiming for level 3.

I guess Typed Clojure is more powerful than Typescript in a few ways, but it's more about how well the type system fits the language. I've never used Typescript, but it seems to fit nicely, with interesting tradeoffs.

Re: Why we're supporting Typed Clojure

#27
post #18

Earlier quoted context omitted.

Fair enough, it does sound like an interesting research project, I'm just not sure what will come of it. Can you make any speculations about what those directions might be? Or is it too early? Edit: global type inference? I thought that was infeasible for TR and Clojure at the moment?

Also I'm not aware of a tool to "guess" top level annotations for Typed Racket. This is an area I want to explore further, soon.

One of the TR maintainers (samth?) told me on IRC a while ago that it is very infeasible to do global type inference (top level) for TR. So I'm not sure how much you could get done in so short a time.

Re: Why we're supporting Typed Clojure

#28
post #27

Earlier quoted context omitted.

Also I'm not aware of a tool to "guess" top level annotations for Typed Racket. This is an area I want to explore further, soon.

One of the TR maintainers (samth?) told me on IRC a while ago that it is very infeasible to do global type inference (top level) for TR. So I'm not sure how much you could get done in so short a time.

Yep that's correct. I want a tool that infers a rough approximation of top-levels to accelerate the process of porting untyped code to be typed. The programmer would inspect the annotations manually and fix any inaccurate ones, and then run the type checker.

Re: Why we're supporting Typed Clojure

#30
post #4

One of the best ways to get people to support optional typing in dynamic languages is to make sure their tools can read those types and provide metadata. Program verification is cool, but enabling "intellisense" on a hash is even cooler.

Indeed. I'm hoping the IDE support will include emacs - it can already do loads of cool things connected to nrepl, but completion on a hash would be amazing.

Does emacs support language aware intelliense (auto complete) for any language? I thought the common case was support through CTAGs.
Post reply on HN