Miao has always worked in different streaming technologies, from video streaming in Skype/Microsoft, to Machine Data Streaming in Twilio. Now as CTO and co-founder of Superfluid, Miao is building generalized payment technology that does money streaming.
Miao is also a convert to the vision of a better world where the propagation of information, evolution of social organization and architecture of systems, are all enhanced and optimized through decentralization. And he believes the time is ripe for his vision of a decentralized world coming together through technologies.
Payment as we know it is discrete amount of money units transferred one to one, either as banknotes, coins or through a bank. In Superfluid, we have generalized it to continuous money units transferred not only one to one but also one to many. The system is live on various EVM blockchains. In the next iteration, these concepts of new types of money transfer are being defined and made type-safe using Haskell.
Why Specification? It serves as a reference impelmentation which will help to port the protocol to different blockchain implementations. It allows faster prototyping of new ideas in abstraction without being limited by any specific blockchain.
Why Haskell? First of all, haskell is a pure, strongly typed, concise, high level, memory-managed modular language. Because of this, it is well suited to for the job of writing the specification for the protocol where abstraction, precision and succinctness matter. Having higher level of abstractions gets Superfluid protocol closer to being able to formal definitions in category theory, or in type theory, but hopefully not in set theory! (Opinion) Developers using Haskell tend to be more comfortable in refining concepts and constant refactoring, sometimes pedantically. But production code usually can't afford these due to harder to refactor than using Haskell.