A concurrent, object-oriented, distributed language with constraint-based inference