{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T21:03:41Z","timestamp":1760043821207,"version":"3.41.0"},"reference-count":36,"publisher":"Association for Computing Machinery (ACM)","issue":"ICFP","license":[{"start":{"date-parts":[[2019,7,26]],"date-time":"2019-07-26T00:00:00Z","timestamp":1564099200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100007297","name":"Office of Naval Research","doi-asserted-by":"publisher","award":["N00014-17-1-2699"],"award-info":[{"award-number":["N00014-17-1-2699"]}],"id":[{"id":"10.13039\/100007297","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Proc. ACM Program. Lang."],"published-print":{"date-parts":[[2019,7,26]]},"abstract":"<jats:p>Algorithms for solid modeling, i.e., Computer-Aided Design (CAD) and computer graphics, are often specified on real numbers and then implemented with finite-precision arithmetic, such as floating-point. The result is that these implementations do not soundly compute the results that are expected from their specifications.<\/jats:p>\n          <jats:p>We present a new library, StoneWorks, that provides sound and robust solid modeling primitives. We implement StoneWorks in MarshallB, a pure functional programming language for exact real arithmetic in which types denote topological spaces and functions denote continuous maps, ensuring that all programs are sound and robust. We developed MarshallB as an extension of the Marshall language.<\/jats:p>\n          <jats:p>\n            We also define a new shape representation,\n            <jats:italic>compact representation<\/jats:italic>\n            (\n            <jats:italic>K-rep<\/jats:italic>\n            ), that enables constructions such as Minkowski sum and analyses such as Hausdorff distance that are not possible with traditional representations. K-rep is a nondeterminism monad for describing all the points in a shape.\n          <\/jats:p>\n          <jats:p>With our library, language, and representation together, we show that short StoneWorks programs can specify and execute sound and robust solid modeling algorithms and tasks.<\/jats:p>","DOI":"10.1145\/3341703","type":"journal-article","created":{"date-parts":[[2019,7,29]],"date-time":"2019-07-29T20:55:51Z","timestamp":1564433751000},"page":"1-29","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":4,"title":["Sound and robust solid modeling via exact real arithmetic and continuity"],"prefix":"10.1145","volume":"3","author":[{"given":"Benjamin","family":"Sherman","sequence":"first","affiliation":[{"name":"Massachusetts Institute of Technology, USA"}]},{"given":"Jesse","family":"Michel","sequence":"additional","affiliation":[{"name":"Massachusetts Institute of Technology, USA"}]},{"given":"Michael","family":"Carbin","sequence":"additional","affiliation":[{"name":"Massachusetts Institute of Technology, USA"}]}],"member":"320","published-online":{"date-parts":[[2019,7,26]]},"reference":[{"volume-title":"International Conference on Computability and Complexity in Analysis","year":"2008","author":"Bauer Andrej","key":"e_1_2_2_1_1"},{"key":"e_1_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0960129509007695"},{"key":"e_1_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0166-218X(00)00231-6"},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/220279.220330"},{"volume-title":"On the commutativity of the powerspace constructions. arXiv preprint arXiv:1709.06226","year":"2017","author":"de Brecht Matthew","key":"e_1_2_2_5_1"},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0304-3975(01)00091-3"},{"key":"e_1_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/3110271"},{"volume-title":"Intersections of compactly many open sets are open","year":"2009","author":"Escard\u00f3 Mart\u0131n","key":"e_1_2_2_8_1"},{"key":"e_1_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1863597.1863605"},{"key":"e_1_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1002\/1097-024X(200009)30:11%3C1167::AID-SPE337%3E3.0.CO;2-B"},{"key":"e_1_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1016\/0010-4485(93)90072-V"},{"volume-title":"International Conference on Parallel Processing and Applied Mathematics","year":"2007","author":"Fl\u00f3rez Jorge","key":"e_1_2_2_12_1"},{"first-page":"14","volume-title":"Applied Computational Geometry Towards Geometric Engineering","author":"Fortune Steven","key":"e_1_2_2_13_1"},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1109\/LICS.2012.41"},{"first-page":"22","volume-title":"Applied Computational Geometry Towards Geometric Engineering","author":"Guibas Leonidas J","key":"e_1_2_2_15_1"},{"first-page":"8","volume-title":"Applied Computational Geometry Towards Geometric Engineering","author":"Hoffmann Christoph M","key":"e_1_2_2_16_1"},{"key":"e_1_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/73393.73405"},{"key":"e_1_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1016\/0010-4485(96)00013-9"},{"volume-title":"University of Bremen","year":"1982","author":"Johnstone Peter T","key":"e_1_2_2_19_1"},{"key":"e_1_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.5555\/1971362.1971369"},{"key":"e_1_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/3236794"},{"key":"e_1_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1057432.1057465"},{"volume-title":"TM-25. Technical memorandum. Production Automation Project","year":"1977","author":"Requicha A.A.G.","key":"e_1_2_2_23_1"},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/73833.73857"},{"key":"e_1_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/SIBGRA.2003.1240989"},{"volume-title":"Robustness and precision issues in geometric computation","year":"1998","author":"Schirra Stefan","key":"e_1_2_2_26_1"},{"first-page":"1223","volume-title":"J.E. Goodman, J. O\u2019Rourke, and C","author":"Sharma Vikram","key":"e_1_2_2_27_1"},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/3209108.3209193"},{"first-page":"464","volume-title":"International Symposium on Mathematical Foundations of Computer Science","author":"Simpson Alex K","key":"e_1_2_2_29_1"},{"key":"e_1_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/142920.134024"},{"volume-title":"Generative Modeling for Computer Graphics and CAD: Symbolic Shape Design Using Interval Analysis","year":"1992","author":"Snyder John M","key":"e_1_2_2_31_1"},{"key":"e_1_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.2168\/LMCS-2(1:1)2006"},{"key":"e_1_2_2_33_1","first-page":"1","article-title":"A lambda calculus for real analysis","volume":"2","author":"Taylor Paul","year":"2010","journal-title":"Journal of Logic and Analysis"},{"volume-title":"Local compactness and bases in various formulations of topology","year":"2019","author":"Taylor Paul","key":"e_1_2_2_34_1"},{"key":"e_1_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.5555\/64996"},{"key":"e_1_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1016\/0925-7721(95)00040-2"}],"container-title":["Proceedings of the ACM on Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3341703","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3341703","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3341703","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T00:43:23Z","timestamp":1750207403000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3341703"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,7,26]]},"references-count":36,"journal-issue":{"issue":"ICFP","published-print":{"date-parts":[[2019,7,26]]}},"alternative-id":["10.1145\/3341703"],"URL":"https:\/\/doi.org\/10.1145\/3341703","relation":{},"ISSN":["2475-1421"],"issn-type":[{"type":"electronic","value":"2475-1421"}],"subject":[],"published":{"date-parts":[[2019,7,26]]},"assertion":[{"value":"2019-07-26","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}