8,436 Hits in 8.6 sec

Command algebras, recursion and program transformation

Wim H. Hesselink
1990 Formal Aspects of Computing  
Dijkstra's language of guarded commands is extended with recursion and transformed into algebra. The semantics is expressed in terms of weakest preconditions and weakest liberal preconditions.  ...  Extreme fixed points are used to deal with recursion. Unbounded nondeterminacy is allowed. The algebraic setting enables us to develop efficient transformation rules for recursive procedures.  ...  Semantics, Equivalence and Program Transformation The elements of our imperative programming language are called commands.  ... 
doi:10.1007/bf01888217 fatcat:zvpy6iiq2jbsvf26heeisydnk4

Reasoning algebraically about recursion

P.H.B. Gardiner, P.K. Pandaya
1992 Science of Computer Programming  
Gardiner, P.H.B. and P.K. Pandya, Reasoning algebraically about recursion, Science of Computer Programming 18 (1992) 271-280.  ...  An algebraic technique for reasoning about recursive programs is proposed.  ...  It was particularly from Carroll Morgan's work on predicate transformers and data refinement that many of our ideas originate.  ... 
doi:10.1016/0167-6423(92)90019-8 fatcat:wlnalupid5fjznbdpebem6aisa

A Language Prototyping Tool Based on Semantic Building Blocks [chapter]

Jose E. Labra Gayo, Juan M. Cueva Lovelle, María C. Luengo Díez, Bernardo M. González Rodríguez
2001 Lecture Notes in Computer Science  
The theoretical basis of our system is the integration of ideas from generic programming and modular monadic semantics.  ...  The copmputational monad M can itself be obtained from the composition of several monad transformers applied to a base monad, and the domain value V can be defined using extensible union types.  ...  Many-sorted algebras and catamorphisms The abstract syntax of a programming language is usually divided in several mutually recursive categories.  ... 
doi:10.1007/3-540-45654-6_46 fatcat:k36lui7uuvasjbqftf7ejwgmq4

A Framework for Concurrent Imperative Programming [article]

Stephan van Staden
2012 arXiv   pre-print
This yields a simple and elegant algebra of programs.  ...  Parametric in states, views and basic commands, it can be instantiated to a variety of concrete languages and settings.  ...  Acknowledgements Special thanks to Tony Hoare for encouragement and fruitful discussions. This work was supported by ETH Research Grant ETH-15 10-1.  ... 
arXiv:1209.2012v1 fatcat:yl6ieqzmlzaoniumrl6gg6o7r4

Towards Provably Correct Code Generation via Horn Logical Continuation Semantics [chapter]

Qian Wang, Gopal Gupta, Michael Leuschel
2005 Lecture Notes in Computer Science  
In this paper we explore approaches to provably correct code generation based on programming language semantics, particularly Horn logical semantics, and partial evaluation.  ...  We show that the definite clause grammar (DCG) notation can be used for specifying both the syntax and semantics of imperative languages.  ...  Acknowledgments We are grateful to Constance Heitmeyer and Elizabeth Leonard of the Naval Research Labs for providing us with the BNF grammar of SCR and the safety injection program as well as for discussions  ... 
doi:10.1007/978-3-540-30557-6_9 fatcat:w37qq7hjwvewfno2bt2cujseyy

Turtle geometry in computer graphics and computer-aided design

Ron Goldman, Scott Schaefer, Tao Ju
2004 Computer-Aided Design  
and turtle programming.  ...  We shall show how to motivate affine coordinates and affine transformations, fractal curves and iterated function systems, relaxation methods and subdivision schemes from elementary notions in turtle geometry  ...  and Clifford algebras [Dorst and Mann, 2002] .  ... 
doi:10.1016/j.cad.2003.10.005 fatcat:4hwlkqsmhjdxtgw6wvb5mhv4a4

Mechanised Refinement of Procedures

Manuela Xavier, Ana Cavalcanti
2007 Electronical Notes in Theoretical Computer Science  
We describe here the extension of Refine to support the development of (possibly recursive) procedures in the algebraic style of the refinement calculus already adopted by Refine.  ...  It was designed to support teaching and use by beginners; it is already in use.  ...  These laws address the existing difficulties, and allow an algebraic approach to the development of recursive programs. They are the basis for the implementation of Refine presented here.  ... 
doi:10.1016/j.entcs.2007.03.015 fatcat:cp3pycrqojfjhhcc7dmg4tgj44


2003 Parallel Processing Letters  
This paper extends the use of Logs to provide support for the protection of local variables in BSP programs, thus completing the link between specifications and programs.  ...  This paper studies top-down program development techniques for Bulk-Synchronous Parallelism.  ...  These commands are used in program development and will be eliminated from the final code using simple algebraic laws.  ... 
doi:10.1142/s0129626403001367 fatcat:obnl5sbywrhytmyjuzyhyfwfcq

An algebraic approach to the design of compilers for object-oriented languages

Adolfo Duran, Ana Cavalcanti, Augusto Sampaio
2009 Formal Aspects of Computing  
commands and parametrised recursive calls.  ...  In Figure 4 .15, we present the transformed version of this recursive method, in which the recursion is defined solely with the use of the recursive command rec X • c end.  ...  Nested Normal Form At this point of the compilation process, we have a program in which every method, as much as the main command, has its body in the same format of the normal form main command.  ... 
doi:10.1007/s00165-009-0124-9 fatcat:niu2yaw3pfc5xjkvbzpw2m4txm

Page 3407 of Mathematical Reviews Vol. , Issue 83h [page]

1983 Mathematical Reviews  
N. 83h:68021 Formalization of transformation algorithms for large-block programs. Programmirovanie 1981, no. 3, 16-25, 95 ( Russian); translated as Programming and Comput.  ...  Recursion-closed algebraic theories are introduced as a proper extension of rational algebraic theories, as defined by Goguen, Thatcher, Wagner and Wright, and they are shown to eliminate a drawback of  ... 

Laws of Programming for References [chapter]

Giovanny Lucero, David Naumann, Augusto Sampaio
2013 Lecture Notes in Computer Science  
We propose a set of algebraic laws for reasoning with sequential imperative programs that use object references like in Java.  ...  As an evidence of relative completeness, we show that any program can be transformed, through the use of our laws, to a normal form which simulates it using an explicit heap with copy semantics. *  ...  No comprehensive set of algebraic laws has been proposed to support transformations of source programs involving references.  ... 
doi:10.1007/978-3-319-03542-0_9 fatcat:fipsg2cizjatfiwvfrfx7kyh6q

On Locality and the Exchange Law for Concurrent Processes [chapter]

C. A. R. Hoare, Akbar Hussain, Bernhard Möller, Peter W. O'Hearn, Rasmus Lerchedahl Petersen, Georg Struth
2011 Lecture Notes in Computer Science  
This paper studies algebraic models for concurrency, in light of recent work on Concurrent Kleene Algebra and Separation Logic.  ...  We exploit the power of algebra to unify models and classify their variations.  ...  algebra of sequential programs [9] .  ... 
doi:10.1007/978-3-642-23217-6_17 fatcat:jk7iielqfrcxzppozglnkpmcrq

A predicate transformer semantics for effects (functional pearl)

Wouter Swierstra, Tim Baanen
2019 Proceedings of the ACM on Programming Languages (PACMPL)  
This paper presents a predicate transformer semantics for a variety of effects, including exceptions, state, non-determinism, and general recursion.  ...  The predicate transformer semantics gives rise to a refinement relation that can be used to relate a program to its specification, or even calculate effectful programs that are correct by construction.  ...  Furthermore, the ICFP reviewers provided us with insightful and detailed feedback for which we are most grateful.  ... 
doi:10.1145/3341707 fatcat:n4xh4s3yarfpdc63tvog3zzpja

Memory Hierarchy Behavior Study during the Execution of Recursive Linear Algebra Library

I. Šimeček
2008 Acta Polytechnica  
In this paper, we represent the recursive implementation ("divide and conquer" approach) of some routines from numerical algebra libraries.  ...  For good performance of every computer program, good cache and TLB utilization is crucial.  ...  Acknowledgement This research has been supported by MŠMT under research program MSM6840770014.  ... 
doaj:c0c35568b18d4d508c178c0943aae00a fatcat:j2pkam6bb5fuhc6opemticrui4

Page 19 of Hewlett-Packard Journal Vol. 38, Issue 5 [page]

1987 Hewlett-Packard Journal  
In the program an empirically selected constant is used to stop recursion.  ...  Examples of dimensioning commands and functions. MAY 1987 HEWLETT-PACKARD JOURNAL 19  ... 
« Previous Showing results 1 — 15 out of 8,436 results