Under de senaste åren har det funnits ett intresse av att uppnå konvergenskriterier på tillämpningsnivå utan latens- och tillgänglighetskostnader för starkt konsekventa lagringsinfrastrukturer. En standard teknik är att anta en vokabulär för pendlande operationer; detta undviker risken för inkonsekvens på grund av meddelande omordning. En mer kraftfull strategi fångades nyligen av CALM teorem, som bevisar att logiskt monotona program garanteras vara så småningom konsekvent. I logiska språk som Bloom, CALM analys kan automatiskt verifiera att programmoduler uppnå konsekvens utan samordning. I denna artikel presenterar vi Bloom L, en förlängning till Bloom som hämtar inspiration från båda dessa traditioner. Bloom L generaliserar Bloom för att stödja gitter och utökar kraften i CALM analys till hela program som innehåller godtyckliga gitter. Vi visar hur Bloom-tolken kan generaliseras för att stödja effektiv utvärdering av lattice-baserad kod med hjälp av välkända strategier från logisk programmering. Slutligen använder vi Bloom L för att utveckla flera praktiska distribuerade program, inklusive en nyckel-värde butik som liknar Amazon Dynamo, och visa hur Bloom L uppmuntrar säker sammansättning av små, lättanalyserade gitter till större program.
Conway och Al. REF generalisera Bloom till ett latticeparameteriserat system, Bloom L.
Logic and Lattices for Distributed Programming