{"id":{"repo_id":"cornell","oai_identifier":"oai:ecommons.cornell.edu:1813/116455"},"canonical_url":"https://search.dev.ndltd.org/etd/cornell/oai:ecommons.cornell.edu:1813/116455","repository":{"repo_id":"cornell","name":"Cornell University","base_url":"https://ecommons.cornell.edu/server/oai/request"},"display":{"title":"Language Designs for Geometry and Heterogeneous Reasoning in Graphics Programming","abstract":"There has been growing demand for graphical image rendering in the past several decades. This demand has arisen primarily in video games, but also from fields as broad as film, art, architecture, and scientific simulation. A major challenge with expanding use of rendering, however, is that graphics programming is difficult, requiring significant field expertise when abstractions break down. In this dissertation, we will examine how we may be able to design programming languages to ameliorate some of these challenges. Our goal will be to examine two specific difficulties in graphics programming reasoning: geometric correctness and performance in heterogeneous device communication. In the first chunk of this dissertation, we will examine Gator, a language which provides type-level reasoning for a class of bugs we describe as \"geometry bugs\", as well as a lightweight mechanism to reason about operations on geometry. In the second chunk of this dissertation, we will discuss Caiman, a language which typechecks heterogeneous implementations against a fixed specification. We will also examine how Caiman's type-level restrictions allow for separating performance and correctness, as well as providing a mechanism for restricted synthesis of heterogeneous programs.","abstract_html":"There has been growing demand for graphical image rendering in the past several decades. This demand has arisen primarily in video games, but also from fields as broad as film, art, architecture, and scientific simulation. A major challenge with expanding use of rendering, however, is that graphics programming is difficult, requiring significant field expertise when abstractions break down. In this dissertation, we will examine how we may be able to design programming languages to ameliorate some of these challenges. Our goal will be to examine two specific difficulties in graphics programming reasoning: geometric correctness and performance in heterogeneous device communication. In the first chunk of this dissertation, we will examine Gator, a language which provides type-level reasoning for a class of bugs we describe as &quot;geometry bugs&quot;, as well as a lightweight mechanism to reason about operations on geometry. In the second chunk of this dissertation, we will discuss Caiman, a language which typechecks heterogeneous implementations against a fixed specification. We will also examine how Caiman&#x27;s type-level restrictions allow for separating performance and correctness, as well as providing a mechanism for restricted synthesis of heterogeneous programs.","abstract_has_math":false,"creators":["Geisler, Dietrich"],"institution":"Cornell University","degree_name":"Ph. D., Computer Science","degree_level":"Doctor of Philosophy","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":[],"advisors":[],"committee_chairs":[],"committee_members":["Marschner, Stephen","Foster, John","Martinez, Jose"],"year":2024,"date_issued":"2024-08","date_published":"2024-08","updated_at":"2026-07-24T01:49:02Z","subjects":["Compilers","Graphics","Programming Languages"],"languages":["en"],"rights":["Attribution-ShareAlike 4.0 International"],"rights_urls":["https://creativecommons.org/licenses/by-sa/4.0/"],"identifier_entries":[{"key":"dc:identifier.doi","label":"DOI","values":["https://doi.org/10.7298/reh0-tm98"],"render_values":[{"text":"https://doi.org/10.7298/reh0-tm98","href":"https://doi.org/10.7298/reh0-tm98","code":true}]},{"key":"dc:identifier.other","label":"Dc Identifier Other","values":["ProQuest Submission ID: 14574","ProQuest Publication ID: 31488511"],"render_values":[{"text":"ProQuest Submission ID: 14574","href":null,"code":true},{"text":"ProQuest Publication ID: 31488511","href":null,"code":true}]}]},"links":{"outbound_url":"https://hdl.handle.net/1813/116455","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.committeemember","label":"Committee Member","values":["Marschner, Stephen","Foster, John","Martinez, Jose"]},{"key":"dc:creator","label":"Author","values":["Geisler, Dietrich"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2025-01-14T19:59:22Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2025-01-14T19:59:22Z"]},{"key":"dc:date.issued","label":"Date","values":["2024-08"]},{"key":"dc:type","label":"Dc Type","values":["dissertation or thesis"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Doctor of Philosophy"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Ph. D., Computer Science"]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["Cornell University"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Compilers","Graphics","Programming Languages"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language.iso","label":"Language (ISO)","values":["en"]},{"key":"dc:rights","label":"Dc Rights","values":["Attribution-ShareAlike 4.0 International"]},{"key":"dc:rights.uri","label":"Rights URI","values":["https://creativecommons.org/licenses/by-sa/4.0/"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.doi","label":"DOI","values":["https://doi.org/10.7298/reh0-tm98"]},{"key":"dc:identifier.other","label":"Dc Identifier Other","values":["ProQuest Submission ID: 14574","ProQuest Publication ID: 31488511"]},{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://hdl.handle.net/1813/116455"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["169 pages"]},{"key":"dc:description.abstract","label":"Abstract","values":["There has been growing demand for graphical image rendering in the past several decades. This demand has arisen primarily in video games, but also from fields as broad as film, art, architecture, and scientific simulation. A major challenge with expanding use of rendering, however, is that graphics programming is difficult, requiring significant field expertise when abstractions break down. In this dissertation, we will examine how we may be able to design programming languages to ameliorate some of these challenges. Our goal will be to examine two specific difficulties in graphics programming reasoning: geometric correctness and performance in heterogeneous device communication. In the first chunk of this dissertation, we will examine Gator, a language which provides type-level reasoning for a class of bugs we describe as \"geometry bugs\", as well as a lightweight mechanism to reason about operations on geometry. In the second chunk of this dissertation, we will discuss Caiman, a language which typechecks heterogeneous implementations against a fixed specification. We will also examine how Caiman's type-level restrictions allow for separating performance and correctness, as well as providing a mechanism for restricted synthesis of heterogeneous programs."]},{"key":"dc:format.mimetype","label":"Dc Format Mimetype","values":["application/pdf"]},{"key":"dc:title","label":"Title","values":["Language Designs for Geometry and Heterogeneous Reasoning in Graphics Programming"]}]}],"canonical_facts":{"dc:contributor.committeemember":["Marschner, Stephen","Foster, John","Martinez, Jose"],"dc:creator":["Geisler, Dietrich"],"dc:date.accessioned":["2025-01-14T19:59:22Z"],"dc:date.available":["2025-01-14T19:59:22Z"],"dc:date.issued":["2024-08"],"dc:description":["169 pages"],"dc:description.abstract":["There has been growing demand for graphical image rendering in the past several decades. This demand has arisen primarily in video games, but also from fields as broad as film, art, architecture, and scientific simulation. A major challenge with expanding use of rendering, however, is that graphics programming is difficult, requiring significant field expertise when abstractions break down. In this dissertation, we will examine how we may be able to design programming languages to ameliorate some of these challenges. Our goal will be to examine two specific difficulties in graphics programming reasoning: geometric correctness and performance in heterogeneous device communication. In the first chunk of this dissertation, we will examine Gator, a language which provides type-level reasoning for a class of bugs we describe as \"geometry bugs\", as well as a lightweight mechanism to reason about operations on geometry. In the second chunk of this dissertation, we will discuss Caiman, a language which typechecks heterogeneous implementations against a fixed specification. We will also examine how Caiman's type-level restrictions allow for separating performance and correctness, as well as providing a mechanism for restricted synthesis of heterogeneous programs."],"dc:format.mimetype":["application/pdf"],"dc:identifier.doi":["https://doi.org/10.7298/reh0-tm98"],"dc:identifier.other":["ProQuest Submission ID: 14574","ProQuest Publication ID: 31488511"],"dc:identifier.uri":["https://hdl.handle.net/1813/116455"],"dc:language.iso":["en"],"dc:rights":["Attribution-ShareAlike 4.0 International"],"dc:rights.uri":["https://creativecommons.org/licenses/by-sa/4.0/"],"dc:subject":["Compilers","Graphics","Programming Languages"],"dc:title":["Language Designs for Geometry and Heterogeneous Reasoning in Graphics Programming"],"dc:type":["dissertation or thesis"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Doctor of Philosophy"],"thesis:degree_name":["Ph. D., Computer Science"],"thesis:institution_name":["Cornell University"]},"updated_at":"2026-07-24T01:49:02Z"}