24 karma · joined July 8, 2010
A good starting point would be some of the themes touched towards the end of this article: https://blog.adamant-lang.org/2019/dreaming-of-a-parser-gene...
https://blog.mozilla.org/addons/2018/01/26/extensions-firefo...
What are the big ideas from E that Solidity is missing?
Also, the article by Nick Szabo has some interesting ideas, but as far as I understand, it does not describe a language for programming arbitrary smart contracts, just some notation for common financial contracts.
This is different from the kinds of objects that you would instantiate in a language like Java, where best practices suggest defining as immutable unless you have a good reason not to.
I don't have much experience with the ML family of languages, so I may have jumped to conclusions based on my previous experience with Haskell/Elm, but I did not intend it to sound as a dismissal of functional languages at all.
In fact, there is a growing community of researchers working on functional language design for the EVM, but I would wager that it's way more complex to build such a compiler than something a bit more "close to the metal", especially since no one had much experience with the implications of the memory/storage/execution model of Ethereum at the time work started on Solidity, let alone the kinds of vulnerabilities these contracts would be exposed to.
Hindsight is 20/20.
The problem is that it's just not easy to get all those details right from day 1, and interest in Ethereum has grown way faster than its capacity to produce a reliable, mature set of tools around it.
It's also quite hard for programmers to reason about performance or complexity in most functional languages. In the EVM, all functions should either be O(1) or bounded O(n) and should strive to use the most economical bytecode available to perform each task.
Disclaimer: I am a regular contributor to Solidity.
This shows how stupid it is to measure wealth without taking human capital into account.
"We can almost always find someone who will do a job for less money". Where does this come from? Try hiring someone equally capable for half the salary you are paying now.
Sounds like the corpus had a little too much philosophy or sociology texts.
A possible attack scenario could be showing a certain Bitcoin address but copying a different one to your clipboard.