{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,22]],"date-time":"2026-04-22T20:54:46Z","timestamp":1776891286812,"version":"3.51.2"},"reference-count":0,"publisher":"Centre pour la Communication Scientifique Directe (CCSD)","issue":"1","license":[{"start":{"date-parts":[[2000,1,1]],"date-time":"2000-01-01T00:00:00Z","timestamp":946684800000},"content-version":"unspecified","delay-in-days":0,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Funct. Prog."],"published-print":{"date-parts":[[2000,1]]},"abstract":"<jats:p>We present our experience in implementing a group communication toolkit in Objective \nCaml, a dialect of the ML family of programming languages. We compare the toolkit both \nquantitatively and qualitatively to a predecessor toolkit which was implemented in C. Our \nexperience shows that using the high-level abstraction features of ML gives substantial \nadvantages. Some of these features, such as automatic memory management and message \nmarshalling, allowed us to concentrate on those pieces of the implementation which required \ncareful attention in order to achieve good performance. We conclude with a set of suggested \nchanges to ML implementations.<\/jats:p>","DOI":"10.1017\/s0956796899003275","type":"journal-article","created":{"date-parts":[[2002,7,27]],"date-time":"2002-07-27T09:26:15Z","timestamp":1027761975000},"page":"91-120","source":"Crossref","is-referenced-by-count":1,"title":["Distributed communication in ML"],"prefix":"10.46298","volume":"10","author":[{"given":"MARK","family":"HAYDEN","sequence":"first","affiliation":[]}],"member":"25203","published-online":{"date-parts":[[2000,1,1]]},"container-title":["Journal of Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0956796899003275","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,22]],"date-time":"2026-04-22T20:18:35Z","timestamp":1776889115000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0956796899003275\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2000,1]]},"references-count":0,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2000,1]]}},"alternative-id":["S0956796899003275"],"URL":"https:\/\/doi.org\/10.1017\/s0956796899003275","relation":{},"ISSN":["0956-7968","1469-7653"],"issn-type":[{"value":"0956-7968","type":"print"},{"value":"1469-7653","type":"electronic"}],"subject":[],"published":{"date-parts":[[2000,1]]}}}