| Why over Scala? * .NET runs everywhere now without problems, the JVM doesn't have a reliable IOS implementation and Dalvik on Android is too slow for the things I'm doing and many desktops don't come with a JVM installed. * Better type inference * FP isolated from OOP * Lighter indent aware syntax. * Easier to reason about performance because of lower abstractions * Pattern matching can be used in performance sensitive situations. * Easier equational reasononing because FP and OO are isolated from each other. * Initialization order bugs can't happen easily by design due to the way class ctors work. * Easy to use Native FFI without having to write boilerplate C stubs * A generics aware runtime so cross language .NET interop is seamless and without perf cost. * Built-in Units of measure without perf cost or having to wait for a mature macro'ed implementation.. * Built-in Type Providers allowing typed access to untyped data and much more without having to wait for a mature macro'ed implementation. * Built-in support for runtime code quoations, with code inspection * Extensible computation expression syntax for more than just monads. |