Bloom attempts to remove traditional mismatches between distributed software and platforms. Definitely a systems-oriented programming language (in the sense that this is what systems does these days). Interesting features copied and summarized from their site:
- disorderly programming: Much of the pain in traditional distributed programming comes from programmers bridging from an ordered von Neumann programming model into a disordered distributed systems reality that executes their code. Bloom was designed to match–and exploit–the disorderly reality of distributed systems. Bloom programmers write programs made up of unordered collections of statements, and are given constructs to impose order when needed.
- a collected approach: Taking a cue from successfully-parallelized models like MapReduce, SQL, and Key/Value stores, the standard data structures in Bloom are disorderly collections, rather than scalar variables and structures. These data structures reflect the realities of non-deterministic ordering inherent in distributed systems. Bloom provides simple, familiar syntax for manipulating these structures.
- CALM consistency: Bloom enables powerful compiler analysis techniques to reason about the consistency of distributed code; e.g. it can point out lines of code where a coordination library should be plugged in if you want to ensure distributed consistency.
Currently realized as an embedded Ruby DSL.
Recent comments
1 hour 46 min ago
5 hours 26 min ago
5 hours 40 min ago
6 hours 51 min ago
12 hours 37 min ago
12 hours 42 min ago
12 hours 47 min ago
15 hours 16 min ago
16 hours 51 min ago
17 hours 33 min ago