Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
willtim
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
71 ms
·
721.
▲
by
willtim
9y ago
This boils down to how much one values static types and code reuse. If you do not have Generics (a.k.a. parametric polymorphism) then you are forced to make a choice between type safety and code reuse. You cannot have them both.
722.
▲
by
willtim
9y ago
The "wait and see" approach as you call it, means that "Generics" (a.k.a. parametric polymorphism) have had to be retro-fitted to languages like Java. This means they are more complex than they need to be and have some u
723.
▲
by
willtim
9y ago
C# was originally trying to copy Java, a language that took influence from C (weak types retrofitted) and Smalltalk (no static types at all). Industry has since learned a lot about the tremendous value that types bring. Other forms of stati
724.
▲
by
willtim
9y ago
> I don't see how generics are needed to deal with "complex business logic". Complex business logic really has no place in Go. I would advise people to use more expressive languages (ideally with a modern type system). Go
725.
▲
by
willtim
9y ago
Maybe Jobs was hoping to sell us an Apple III with 3 expansion slots the following year.
726.
▲
by
willtim
9y ago
There is plenty of GHC Haskell in the codebase. It's very common for banks to have proprietary in-house scripting languages. Mu, is at least based on a language standard and is not some ad-hoc design. The codebases of Facebook and Goog
727.
▲
by
willtim
9y ago
IMHO, sad is when you have large numbers of people hacking on a multi-million line codebase in Python with no static types, unfortunately a far more common situation in finance!
728.
▲
by
willtim
9y ago
Like Ruby and Erlang, Haskell is used a lot for building server-side applications. It's runtime offers N*M threading and software transactional memory, which make it an attractive choice to many. It's webserver, Warp, performance-
729.
▲
by
willtim
9y ago
Haskell is definately one to watch for Blockchain. IOHK have released a currency with their codebase largely in Haskell. Both IOHK and Digital Asset have smart contract / modelling languages based on Haskell.
730.
▲
by
willtim
9y ago
Your list should include Standard Chartered and Barclays. Standard Chartered probably has the largest commercial Haskell codebase in the world, it has over 30 full-time Haskell developers and many more users.
731.
▲
by
willtim
9y ago
The runtime could allocate "stack frames" on the heap, for such cases.
732.
▲
by
willtim
9y ago
You can turn it off, you just can't process large data sets, as you'd run out of stack space. But who wants to debug with large data sets?
733.
▲
by
willtim
9y ago
The dark theme looks much better than Chrome.
734.
▲
by
willtim
9y ago
It's an optimisation. It can be turned off when debugging with stack traces. If you need stack traces in production code, you have too many partial functions.
735.
▲
by
willtim
9y ago
It's even more fundamental than that. The world is built on C and C++, both of which were designed a long time ago and without safety and security in mind.
736.
▲
by
willtim
9y ago
Not surprisingly, most information on this is outside apple.com: http://www.theguardian.com/news/2017/nov/06/apple-secretly-m...
737.
▲
by
willtim
9y ago
> They pay tax where they earn it. No they don't. They employ offshore tax havens, shell companies and exploit various loop holes in order to avoid doing so. It's lawful yes. But it's immoral and unfair to smaller business
738.
▲
by
willtim
9y ago
The corollary to that is that these "exotic languages" are often such an improvement over the mainstream offerings, that such inconveniences have not prevented adoption in many cases.
739.
▲
by
willtim
9y ago
> Scala needs to interoperate with other Java languages But does it? Can I even use e.g. a Scala collection from Java? (let alone Clojure, Kotlin, etc) Certainly it looks easy to import and use Java objects, but that looks to be the exte
740.
▲
by
willtim
9y ago
If it creates a specialised concrete array at runtime, then it can't be a truly "generic" method (whereby I assume generic here means parametric polymorphism?). If you want to specialise object arrays to primitive arrays for
741.
▲
by
willtim
9y ago
I do not see why this problem cannot be solved by a compiler rather than a language feature. The type is statically known. It may require additional metadata alongside class files for separate compilation, but I don't see this as a big
742.
▲
by
willtim
9y ago
Why would type erasure affect the front end language? I'm generally interested.
743.
▲
by
willtim
9y ago
The point is that NPEs are a solved problem, just not in Java and Clojure. I am better able to stay focused on the real problems, as I never have to root out and fix bugs like this.
744.
▲
by
willtim
9y ago
Many universities outside of the US teach functional programming and Haskell. The community is open, international and a healthy mix between industry and academia.
745.
▲
by
willtim
9y ago
Yes 40+ fulltime Haskell devs in London and Singapore at Standard Chartered, with many other users writing Haskell.
746.
▲
by
willtim
9y ago
> turn off our brain and apply type verification everywhere ... type verification more like a religion than a tool. A statically typed language can allow us to use dynamic typing if we want. For example, using a map of variants as a quer
747.
▲
by
willtim
9y ago
No true. I have to try and reverse engineer types whenever I use JSON APIs. The documentation provides only "samples". I literally have to experiment to find out what works with no guarantee it will keep working.
748.
▲
by
willtim
9y ago
What makes you assume Haskell is somehow more niche than Clojure? I would say it depends on the domain. Haskell is certainly more mature (~30 years) and has a lot more tutorials and literature.
749.
▲
by
willtim
9y ago
Classes and ADTs are both examples of Nominal typing, but Structural typing would offer a better fit for your example. Structural types can give types to queries without requiring any declaration or naming of the result type. Correctness in
750.
▲
by
willtim
9y ago
Are we not confusing difficulty with familiarity? For me personally, as someone very familiar with FP, Idris was very approachable and easy to at least write simple proofs in.
More ›