Pragmatically, cost and ease of access is especially important in suppressed countries or ones with unstable infrastructure. While the devices you're talking about has lots of conveniences, distribution and price dominate in lower income regions.
For a side project, sure. But in first world countries, the odds of infrastructure breakdown or suppression of Internet is incredibly rare. In Iran's case, suppression is a weapon so phone only makes a lot of sense.
Phoronix paints a very different picture, especially in non-synthetic workloads[1]. Gravitron2 looks like a nice speedup over the first generation but either the optimization isn't there yet or there are areas which need additional work to become more developer/HPC competitive. That said, I'm thrilled we have competition in the architecture space for general purpose compute again.
Menlo Park, Ca - Full time - Onsite - Frontend, AI Systems, Dev Ops
Blackbird is an artificial intelligence technology company focused on solving important challenges faced in today's ecommerce space. Our stack is primarily in functional style Scala (we are heavy functional programming users) and a polyglot AI stack written in everything from Python to Scala to Haskell. Our team has worked on everything from search at Google, distributed systems at Twitter, and self driving cars at Stanford. We work on and implement the state of the art in machine learning.
We're currently looking to add some great engineers to our team. Want to write highly scalable software with the architects who scaled Twitter and Google? Want to run ops for software designed to handle hundreds of millions of API calls? Want to design next generation user interfaces? Want to scale the state of the art in machine learning systems? jobs at blackbird.am
Feel free to ask any questions directly or in thread!
Implicit is basically just an implementation detail. The idea of only allowing one typeclass instance per data is generally referred as confluence and you're correct in that scala doesn't attempt to enforce it.
I understand the Haskell communities desire for coherent typeclasses, but I still find the newtype work around cludge to allow multiple implementation of, say, Monoid to be quasi hacky. What's worse, you can still fairly easily define multiple instances of the same typeclass accidentally (orphan instances) and the compiler won't catch it.
For a side project, sure. But in first world countries, the odds of infrastructure breakdown or suppression of Internet is incredibly rare. In Iran's case, suppression is a weapon so phone only makes a lot of sense.