Abstract
The lambda calculus forms without any question *the* theoretical backbone of functional programming languages. For the design and implementation of the lazy functional language Concurrent Clean we have used a related computational model: Term Graph Rewriting Systems (TGRS's). This paper wraps up our main conclusions after 10 years of experience with graph rewriting semantics for functional programming languages. TGRS's are not a direct extension of the lambda calculus, so one sometimes has to re-establish known theoretical results. But TGRS's are that much closer to the world of functional programming that its use has been proven to be very worthwhile. In TGRS's functions have names, there are constants, pattern matching and one can choose to either share expressions or copy them.Graph reduction very accurately models the essential behaviour of most implementations of functional languages and therefore it forms a good base for reasoning about reduction properties as well as the time and space consumption of functional applications.With uniqueness typing important information can be derived for efficient implementation and for purely functional interfacing with imperative programs.KeywordsUniqueness TypeFunctional ProgrammingStandard TypeFunctional LanguageConventional TypingThese keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.