<div dir="ltr"><div>For those who were wondering what type of exchange I'm wanting to build, it's a bitcoin exchange with derivative contracts. I asked in the IRC room for some more input, and here's what I received:</div><div><br></div><div>re:failure semantics of Erlang not being appropriate for an exchange</div><div>< tristan_1> failure/recovery in Erlang has nothing to do with that</div><div><div>< tristan_1> no matter the language/framework you have to decide how to handle these things. there isn't a way you can possible write a program that it won't crash at some point</div></div><div><br></div><div><div>< asonge> you can design your app so that you log all requests, and make sure that is as tight as possible, and that you can replay them if there's a crash (for instance)</div></div><div><br></div><div>There was an interesting suggestion to use OCaml or Haskell instead of Erlang:</div><div><div>< digitalmentat> I would pick a language that gives more formal verification of the software properties</div><div>< digitalmentat> Haskell and OCaml would be great picks</div><div>< digitalmentat> I use Haskell in production for my startup and 80% of the dumb shit humans do (including me) is caught by that language's type-system</div><div>< digitalmentat> anything financial is a risky business to get into and most developers aren't aware of the social impact nor the legal ramifications if they fuck something up</div></div><div><br></div><div>My question is, would Dialyzer not be able to offer equivalent functionality?</div><div>Would using Erlang as a wrapper around a well-typed core work out okay, does anyone here have experience they could share on this? I've never done this, so it would be a completely new process for me.</div></div>