Trends In Functional Programming

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

This book collects the latest research developments in the use of functional programming languages. The contents highlight major research goals and engineering concerns in the subject including: real-time and resource-bounded functional programming; connections between static analysis methods and functional programming; implementation of mobile code functional languages; automated testing of application programs and system models; These research contributions are drawn from the international symposium on Trends in Functional Programming. This meeting provides a vital forum for the dissemination of the latest technical advances in the field.

Author(s): Stephen Gilmore
Year: 2005

Language: English
Pages: 129

Contents......Page 4
1.1 Introduction......Page 8
1.2.2 Essential Properties of Real-Time Languages......Page 9
1.3.1 Using General Purpose Languages for Real-Time Programming......Page 10
1.3.2 Domain-Specific Languages for Real-Time Programming......Page 11
1.3.3 Functional Language Approaches......Page 12
1.4.2 Static Analyses for Bounding Memory Usage......Page 14
1.4.3 Worst Case Execution Time Analysis......Page 15
1.5 Functional Languages for Related Problem Areas......Page 16
1.6 The Hume Language......Page 17
1.6.1 Real Time and Space Behaviour of FSM-Hume Programs......Page 19
1.7 TheChallenges......Page 20
1.8 Conclusion......Page 21
2.1 Introduction......Page 26
2.2 Single Box FSM-Hume Programs are Finite State......Page 29
2.3 Multi-Box FSM-Hume Programs are Finite State......Page 30
2.4 Example: VehicleSimulation......Page 32
2.4.1 Single-box FSM-Hume......Page 33
2.5 Conclusion......Page 35
3.1 Introduction......Page 36
3.2 Camelot......Page 37
3.2.1 Basic Features of Camelot......Page 38
3.2.2 Diamonds and Resource Control......Page 39
3.3 Grail......Page 42
3.3.2 Compilation of Grail......Page 43
3.4.1 Representing Data......Page 45
3.4.2 Compilation of Programs......Page 46
3.4.3 Initial Transformations......Page 47
3.5 Performance......Page 48
3.6 FinalRemarks......Page 51
4.1 Introduction......Page 54
4.2 Camelot......Page 55
4.3 Extensions......Page 56
4.4 Typing......Page 60
4.5 Translation......Page 62
4.6 Objects and Resource Types......Page 64
4.7 RelatedWork......Page 65
4.8 Conclusion......Page 66
5.1 Introduction......Page 70
5.2 RelatedWork......Page 74
5.3 Static Single Information......Page 75
5.4 Transformation......Page 76
5.5 Optimistic versus Pessimistic......Page 78
5.6 ConvertingFunctionalProgramsBack toSSI......Page 79
5.7 Motivation......Page 80
5.8 Conclusions......Page 81
6.1 Introduction......Page 86
6.2.1 Communication Primitives......Page 88
6.2.2 Discovering Resources......Page 89
6.3.1 Introduction......Page 90
6.3.2 Evaluating Expressions before Communication......Page 91
6.3.3 Sharing Properties......Page 92
6.4.1 Packing Routines......Page 93
6.4.2 Communicating User DefinedTypes......Page 94
6.4.3 Evaluating Expressions......Page 95
6.4.4 Implementation of MChannels......Page 96
6.5 Initial Evaluation......Page 97
6.6 RelatedWork......Page 98
6.7 Conclusions and Future Work......Page 99
7.1 Introduction......Page 102
7.2 WebAssign and AT(x)......Page 104
7.3 ASampleSession......Page 105
7.4.1 Components of the AT(x) System......Page 107
7.4.3 Function and Implementation of the Interface Component......Page 108
7.4.4 Global Security Issues......Page 110
7.5.1 Requirements on the Analysis Components......Page 111
7.5.2 Analysis of Scheme Programs......Page 113
7.6 ImplementationandExperiences......Page 114
7.7 RelatedWork......Page 115
7.8 Conclusions and Further Work......Page 116
8.1 Introduction......Page 118
8.2 Overview of G?ST......Page 119
8.2.2 Evaluating Test Results......Page 120
8.2.4 Automatic Generation of Test Values......Page 121
8.3 Specifying Reactive Systems in G?ST......Page 122
8.3.1 Labelled Transition Systems......Page 123
8.3.2 Example: Conference Protocol......Page 124
8.3.3 Executing a Deterministic LTS......Page 125
8.3.5 Testing the Conference Protocol......Page 127
8.4 Better Test Data Generation from the LTS......Page 128
8.5 Functional and Nondeterministic Specifications......Page 130
8.6 Testing Nondeterministic Systems......Page 132
8.7 RelatedWork......Page 133
8.8 Conclusion......Page 134