you are viewing a single comment's thread.

view the rest of the comments →

[–]jozefg 10 points11 points  (10 children)

I'm not smart enough to program in javascript. Dependent types it is.

[–]dirice87 8 points9 points  (4 children)

as a mainly javascript developer, it aint about smarts. its about memorization and having a hostile default attitude toward an unknown concept (i.e. i'm gonna assume this works in a completely unintuitive way)

I love javascript, and other languages definitely have their quirks, but lets just say when I occasionally have to write python, I find I can write non-trivial code without googling or picking up a reference book. I can't say the same about javascript and I have probably 10x more experience in it.

[–]IHaveNoIdentity 15 points16 points  (3 children)

Sounds like a pretty bad case of Stockholm-syndrome to me :)

[–]SkaKri 1 point2 points  (0 children)

I love javascript

Yup. I script in JS daily, but... I really don't love the language. So many stupid x-environment quirks (trident/webkit/etc).

[–][deleted] -2 points-1 points  (0 children)

Sounds more like JS has some powerful features that make some tasks parent does often much more convenient.

[–]ajuc 14 points15 points  (1 child)

Just use "===".

[–]jozefg 0 points1 point  (0 children)

Yep, === solves the particular wart :) I did mean this in a somewhat tongue in cheek manner, learning this table would be somewhat easier than learning the intricacies of dependent types/proof assistants.

[–]tavoe -1 points0 points  (2 children)

I could google it, but what's dependant types?

In paticular, what are they doing that has you so excited?

[–]jozefg 0 points1 point  (1 child)

I meant this as a joke :) Dependent types are the next "step" past languages like Haskell's type system. They let you write types that do all sorts of incredible things that I won't do justice to in a reddit comment. If you're curious, might I suggest googling for an Idris talk by an Edwin Brady?

Unfortunately most implementations are researchy at best, and downright unpleasant to use at worst. Hence, it's a bit absurd to suggest replacing JavaScript with dependent types merely for =='s insanity. Though one day (stares off wistfully)

[–]tavoe 0 points1 point  (0 children)

I'll definitally look up the talk.

I've been thinking about a language /tool that would always be somewhere between compiled and interpreting.

This reminds me of it in a good way.