{"id":"https://openalex.org/W7165665536","doi":"https://doi.org/10.1145/3814885.3816416","title":"TurtleTalk: A DSL for Constraint-Based Turtle Graphics in Programmatic CAD","display_name":"TurtleTalk: A DSL for Constraint-Based Turtle Graphics in Programmatic CAD","publication_year":2026,"publication_date":"2026-06-23","ids":{"openalex":"https://openalex.org/W7165665536","doi":"https://doi.org/10.1145/3814885.3816416"},"language":null,"primary_location":{"id":"doi:10.1145/3814885.3816416","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3814885.3816416","pdf_url":null,"source":null,"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 25th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://doi.org/10.1145/3814885.3816416","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5002051862","display_name":"Jef Jacobs","orcid":"https://orcid.org/0000-0002-4939-3453"},"institutions":[{"id":"https://openalex.org/I13469542","display_name":"Vrije Universiteit Brussel","ror":"https://ror.org/006e5kg04","country_code":"BE","type":"education","lineage":["https://openalex.org/I13469542"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Jef Jacobs","raw_affiliation_strings":["Vrije Universiteit Brussel, Brussels, Belgium"],"raw_orcid":"https://orcid.org/0000-0002-4939-3453","affiliations":[{"raw_affiliation_string":"Vrije Universiteit Brussel, Brussels, Belgium","institution_ids":["https://openalex.org/I13469542"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5090657641","display_name":"Wolfgang De Meuter","orcid":"https://orcid.org/0000-0002-5229-5627"},"institutions":[{"id":"https://openalex.org/I13469542","display_name":"Vrije Universiteit Brussel","ror":"https://ror.org/006e5kg04","country_code":"BE","type":"education","lineage":["https://openalex.org/I13469542"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Wolfgang De Meuter","raw_affiliation_strings":["Vrije Universiteit Brussel, Brussels, Belgium"],"raw_orcid":"https://orcid.org/0000-0002-5229-5627","affiliations":[{"raw_affiliation_string":"Vrije Universiteit Brussel, Brussels, Belgium","institution_ids":["https://openalex.org/I13469542"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5043235206","display_name":"Jens Nicolay","orcid":"https://orcid.org/0000-0003-4653-5820"},"institutions":[{"id":"https://openalex.org/I13469542","display_name":"Vrije Universiteit Brussel","ror":"https://ror.org/006e5kg04","country_code":"BE","type":"education","lineage":["https://openalex.org/I13469542"]}],"countries":["BE"],"is_corresponding":false,"raw_author_name":"Jens Nicolay","raw_affiliation_strings":["Vrije Universiteit Brussel, Brussels, Belgium"],"raw_orcid":"https://orcid.org/0000-0003-4653-5820","affiliations":[{"raw_affiliation_string":"Vrije Universiteit Brussel, Brussels, Belgium","institution_ids":["https://openalex.org/I13469542"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I13469542"],"apc_list":null,"apc_paid":null,"fwci":null,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":null,"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"39","last_page":"49"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11596","display_name":"Constraint Satisfaction and Optimization","score":0.20649999380111694,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11596","display_name":"Constraint Satisfaction and Optimization","score":0.20649999380111694,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11159","display_name":"Manufacturing Process and Optimization","score":0.17489999532699585,"subfield":{"id":"https://openalex.org/subfields/2209","display_name":"Industrial and Manufacturing Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12290","display_name":"Human Motion and Animation","score":0.09880000352859497,"subfield":{"id":"https://openalex.org/subfields/2207","display_name":"Control and Systems Engineering"},"field":{"id":"https://openalex.org/fields/22","display_name":"Engineering"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/cad","display_name":"CAD","score":0.6165000200271606},{"id":"https://openalex.org/keywords/digital-subscriber-line","display_name":"Digital subscriber line","score":0.6072999835014343},{"id":"https://openalex.org/keywords/graphics","display_name":"Graphics","score":0.44209998846054077},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.397599995136261},{"id":"https://openalex.org/keywords/computer-aided-design","display_name":"Computer Aided Design","score":0.314300000667572}],"concepts":[{"id":"https://openalex.org/C194789388","wikidata":"https://www.wikidata.org/wiki/Q17855283","display_name":"CAD","level":2,"score":0.6165000200271606},{"id":"https://openalex.org/C201374245","wikidata":"https://www.wikidata.org/wiki/Q104534","display_name":"Digital subscriber line","level":2,"score":0.6072999835014343},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.5457000136375427},{"id":"https://openalex.org/C199639397","wikidata":"https://www.wikidata.org/wiki/Q1788588","display_name":"Engineering drawing","level":1,"score":0.44999998807907104},{"id":"https://openalex.org/C121684516","wikidata":"https://www.wikidata.org/wiki/Q7600677","display_name":"Computer graphics (images)","level":1,"score":0.446399986743927},{"id":"https://openalex.org/C21442007","wikidata":"https://www.wikidata.org/wiki/Q1027879","display_name":"Graphics","level":2,"score":0.44209998846054077},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.397599995136261},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.3896999955177307},{"id":"https://openalex.org/C119823426","wikidata":"https://www.wikidata.org/wiki/Q184793","display_name":"Computer Aided Design","level":2,"score":0.314300000667572},{"id":"https://openalex.org/C77660652","wikidata":"https://www.wikidata.org/wiki/Q150971","display_name":"Computer graphics","level":2,"score":0.3077999949455261},{"id":"https://openalex.org/C109766332","wikidata":"https://www.wikidata.org/wiki/Q3532550","display_name":"Turtle (robot)","level":2,"score":0.29260000586509705},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.2581000030040741}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3814885.3816416","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3814885.3816416","pdf_url":null,"source":null,"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 25th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.1145/3814885.3816416","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3814885.3816416","pdf_url":null,"source":null,"license":"cc-by-nc-nd","license_id":"https://openalex.org/licenses/cc-by-nc-nd","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 25th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":6,"referenced_works":["https://openalex.org/W2069429776","https://openalex.org/W2296513191","https://openalex.org/W2787976344","https://openalex.org/W4251071502","https://openalex.org/W4386177577","https://openalex.org/W7101725689"],"related_works":[],"abstract_inverted_index":{"In":[0],"programmatic":[1],"CAD":[2],"(PCAD),":[3],"3D":[4,57,108],"shapes":[5,45,82,105,149],"are":[6,47,59],"generally":[7],"modelled":[8],"either":[9],"by":[10,17,50,150],"position-based":[11,33],"composition":[12,85],"of":[13,86,95,131,147],"simpler":[14],"shapes,":[15],"or":[16],"direct":[18],"generation":[19],"via":[20],"path-based":[21,40,81,87,148],"techniques":[22],"(e.g.,":[23],"extrusions,":[24],"sweeps,":[25],"revolves).":[26],"While":[27],"state-of-the-art":[28],"PCAD":[29,73,98],"tools":[30],"effectively":[31],"support":[32,78],"modelling,":[34],"they":[35],"lack":[36],"expressive":[37],"mechanisms":[38],"for":[39,79,102,116,154],"modelling.":[41],"As":[42],"a":[43,52,56,72,97],"result,":[44],"that":[46,75,137],"naturally":[48],"formed":[49],"sweeping":[51],"2D":[53],"path":[54,132],"into":[55,106],"shape":[58],"difficult":[60],"to":[61,126],"model":[62],"and":[63,83,88,122,141,163],"use":[64],"in":[65],"these":[66],"tools.":[67],"This":[68],"paper":[69],"introduces":[70],"TurtleTalk,":[71],"language":[74,99],"offers":[76],"rich":[77],"constructing":[80,117],"the":[84,128,145,152],"primitive":[89],"shapes.":[90],"TurtleTalk":[91,110],"is":[92],"an":[93],"extension":[94],"PrintTalk,":[96],"featuring":[100],"constraints":[101,125,143],"composing":[103],"constituent":[104],"complex":[107,155],"models.":[109],"takes":[111],"inspiration":[112],"from":[113],"turtle":[114],"graphics":[115],"paths":[118],"using":[119],"imperative":[120,139],"instructions":[121,140],"uniquely":[123],"integrates":[124],"enable":[127],"declarative":[129,142],"expression":[130],"properties.":[133],"Our":[134],"evaluation":[135],"shows":[136],"combining":[138],"facilitates":[144],"design":[146],"reducing":[151],"need":[153],"manual":[156],"calculations,":[157],"while":[158],"also":[159],"enhancing":[160],"their":[161],"composability":[162],"reusability.":[164]},"counts_by_year":[],"updated_date":"2026-07-14T23:27:15.235271","created_date":"2026-06-24T00:00:00"}
