{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/21893"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/21893","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Implementation of functional languages with state","abstract":"Imperative and functional programming are two styles which have long been viewed as incompatible. In particular, the functional property of referential transparency could not be maintained in the face of destructive update, as found in assignment statements. Recent work, however, has suggested that the two may be integrated in a formal system which has both imperative features and referential transparency. These systems impose certain constraints on imperative features that allow the effects to be masked out, making them appear purely functional.","abstract_html":"Imperative and functional programming are two styles which have long been viewed as incompatible. In particular, the functional property of referential transparency could not be maintained in the face of destructive update, as found in assignment statements. Recent work, however, has suggested that the two may be integrated in a formal system which has both imperative features and referential transparency. These systems impose certain constraints on imperative features that allow the effects to be masked out, making them appear purely functional.","abstract_has_math":false,"creators":["Springer, Jonathan Charles"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"Ph.D.","degree_level":"Dissertation","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Kamin, Samuel N."],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2011,"date_issued":"2011-05-07T13:22:25Z","date_published":"2011-05-07T13:22:25Z","updated_at":"2026-07-22T22:25:18Z","subjects":["Computer Science"],"languages":["eng"],"rights":["Copyright 1996 Springer, Jonathan Charles"],"rights_urls":[],"identifier_entries":[{"key":"dc:identifier","label":"Identifier","values":["9780591088922","AAI9702672","(UMI)AAI9702672"],"render_values":[{"text":"9780591088922","href":null,"code":true},{"text":"AAI9702672","href":null,"code":true},{"text":"(UMI)AAI9702672","href":null,"code":true}]}]},"links":{"outbound_url":"http://hdl.handle.net/2142/21893","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Kamin, Samuel N."]},{"key":"dc:creator","label":"Author","values":["Springer, Jonathan Charles"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2011-05-07T13:22:25Z","10000-01-01","1996"]},{"key":"dc:type","label":"Dc Type","values":["text"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Dissertation"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Ph.D."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Computer Science"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["eng"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 1996 Springer, Jonathan Charles"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["9780591088922","AAI9702672","(UMI)AAI9702672","http://hdl.handle.net/2142/21893"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Imperative and functional programming are two styles which have long been viewed as incompatible. In particular, the functional property of referential transparency could not be maintained in the face of destructive update, as found in assignment statements. Recent work, however, has suggested that the two may be integrated in a formal system which has both imperative features and referential transparency. These systems impose certain constraints on imperative features that allow the effects to be masked out, making them appear purely functional.","Despite the presence of these formal systems, many questions of practicality remain unanswered. In this thesis, we attempt to address these issues. In particular, we have created a language ALV, based on the formal system $\\lambda\\sb{var},$ and implemented ALV as a compiler. We have also extended a formal analysis known as abstract interpretation, typically applied to functional languages, to this language. Additionally, we have explored ways to make the use of imperative features more convenient, such as by relaxing the restrictions on the use of imperative constructs.","Made available in DSpace on 2011-05-07T13:22:25Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9702672.pdf: 6855698 bytes, checksum: fc37cbdb6b36836da78a901414f9c741 (MD5) Previous issue date: 1996","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T14:53:54Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:24:59-05:00 Original Data Group with Access UIUC Users [automated] Release Date: none Reason: ETDs are only available to UIUC Users without author permission","ETDs are only available to UIUC Users without author permission","U of I Only"]},{"key":"dc:title","label":"Title","values":["Implementation of functional languages with state"]}]}],"canonical_facts":{"dc:contributor":["Kamin, Samuel N."],"dc:creator":["Springer, Jonathan Charles"],"dc:date":["2011-05-07T13:22:25Z","10000-01-01","1996"],"dc:description":["Imperative and functional programming are two styles which have long been viewed as incompatible. In particular, the functional property of referential transparency could not be maintained in the face of destructive update, as found in assignment statements. Recent work, however, has suggested that the two may be integrated in a formal system which has both imperative features and referential transparency. These systems impose certain constraints on imperative features that allow the effects to be masked out, making them appear purely functional.","Despite the presence of these formal systems, many questions of practicality remain unanswered. In this thesis, we attempt to address these issues. In particular, we have created a language ALV, based on the formal system $\\lambda\\sb{var},$ and implemented ALV as a compiler. We have also extended a formal analysis known as abstract interpretation, typically applied to functional languages, to this language. Additionally, we have explored ways to make the use of imperative features more convenient, such as by relaxing the restrictions on the use of imperative constructs.","Made available in DSpace on 2011-05-07T13:22:25Z (GMT). No. of bitstreams: 2 license.txt: 4922 bytes, checksum: 910b249b4beec47e7ab768910c8f966f (MD5) 9702672.pdf: 6855698 bytes, checksum: fc37cbdb6b36836da78a901414f9c741 (MD5) Previous issue date: 1996","Item marked as restricted to the 'UIUC Users [automated]' Group (id=2) by Howard Ding (hding2@illinois.edu) on 2011-05-07T14:53:54Z Item is restricted indefinitely.","Restriction data tranferred 2014-07-01T11:24:59-05:00 Original Data Group with Access UIUC Users [automated] Release Date: none Reason: ETDs are only available to UIUC Users without author permission","ETDs are only available to UIUC Users without author permission","U of I Only"],"dc:identifier":["9780591088922","AAI9702672","(UMI)AAI9702672","http://hdl.handle.net/2142/21893"],"dc:language":["eng"],"dc:rights":["Copyright 1996 Springer, Jonathan Charles"],"dc:subject":["Computer Science"],"dc:title":["Implementation of functional languages with state"],"dc:type":["text"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Dissertation"],"thesis:degree_name":["Ph.D."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:25:18Z"}