Filters








300,521 Hits in 2.1 sec

Imperative functional programming

Simon L. Peyton Jones, Philip Wadler
1993 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '93  
We present a new model, based on monads, for performing input/output in a non-strict, purely functional language.  ...  The rst is again trivial: Imperative programming It will not have escaped the reader's notice that programs written in the monadic style look rather similar to imperative programs.  ...  Does the monadic style force one, in e ect, to write a functional facsimile of an imperative program, thereby losing any advantages of writing in a functional language? We believe not.  ... 
doi:10.1145/158511.158524 dblp:conf/popl/JonesW93 fatcat:72t6xcccojhq3kjo6vpnpnvh7i

Imperative functional programming

U. S. Reddy
1996 ACM Computing Surveys  
Imperative functional programming is the application of these ideas to imperative computations.  ...  It is often felt that imperative computations and functional programming are in conflict.  ...  Imperative functional programming is the application of these ideas to imperative computations.  ... 
doi:10.1145/234528.234736 fatcat:obrufxbfj5eqbkptrah7arerhe

Imperative Functional Programming with Isabelle/HOL [chapter]

Lukas Bulwahn, Alexander Krauss, Florian Haftmann, Levent Erkök, John Matthews
2008 Lecture Notes in Computer Science  
We introduce a lightweight approach for reasoning about programs involving imperative data structures using the proof assistant Isabelle/HOL.  ...  It is based on shallow embedding of programs, a polymorphic heap model using enumeration encodings and type classes, and a state-exception monad similar to known counterparts from Haskell.  ...  As the notion of side-effect is alien to the world of HOL functions, programs with imperative updates of references or arrays cannot be expressed directly.  ... 
doi:10.1007/978-3-540-71067-7_14 fatcat:lcedkeoly5fzxol5ttbj6ezv24

Relational Cost Analysis for Functional-Imperative Programs [article]

Weihao Qu, Marco Gaboardi, Deepak Garg
2019 arXiv   pre-print
Building on this basic idea, we present a type-and-effect system, called ARel, for reasoning about the relative cost of array-manipulating, higher-order functional-imperative programs.  ...  This discipline combined with Hoare-style triples built into the types allows us to express and establish precise relative costs of several interesting programs which imperatively update their data.  ...  Their focus is on first-order functional programs and on the constant time guarantee, while we want to support functional-imperative programs and more general relative costs.  ... 
arXiv:1812.04090v2 fatcat:sw4haewcm5f67gr2mvygc3ugjm

Parallelizing Imperative Functional Programs: the Vectorization Monad

JONATHAN M.D. HILL, KEITH M. CLARKE, RICHARD BORNAT
1996 Journal of symbolic computation  
This paper addresses the template matching problem within the context of functional programming. A small collection of program identities are used to specify vectorizable for-loops.  ...  Traditionally a vectorizing compiler matches the iterative constructs of a program against a set of predefined templates.  ...  One of the techniques gaining widespread acceptance as a model for imperative functional programming is monads (Moggi, 1989; Wadler, 1990) .  ... 
doi:10.1006/jsco.1996.0031 fatcat:3algmvszvva5vgub454lwjsk6e

Imperative functional programs that explain their work

Wilmer Ricciotti, Jan Stolarek, Roly Perera, James Cheney
2017 Proceedings of the ACM on Programming Languages  
We extend this approach to imperative functional programs that combine higher-order programming with references and exceptions.  ...  ., where dynamic slicing was defined for pure higher-order functional programs as a Galois connection between lattices of partial inputs and partial outputs.  ...  Work by Silva and Chitil [2006] on combining algorithmic debugging and program slicing for pure functional programs could be generalised to automated debugging for imperative functional programs.  ... 
doi:10.1145/3110258 dblp:journals/pacmpl/RicciottiSPC17 fatcat:tqlpokyfyzhovoa2tvummf7rfa

Functional or imperative? On pleasant semantics for differentiable programming languages [article]

Michael Innes
2022 arXiv   pre-print
This article explores why imperative and functional styles are used, and how future language designs might get the best of both worlds.  ...  Yet practitioners show an overwhelming preference for dynamic, imperative languages with mutable state, and much engineering effort is spent bridging the resulting semantic divide.  ...  Related work There are many interesting efforts to bridge the gap between functional and imperative, including within numerical and differentiable programming.  ... 
arXiv:2206.11192v1 fatcat:ryrnc542mna43lfdn5uuakapxu

Approximating the domains of functional and imperative programs

Jürgen Brauburger, Jürgen Giesl
1999 Science of Computer Programming  
This paper deals with automated termination analysis of partial functional programs, that is, of functional programs which do not terminate for some input.  ...  Finally, we show that our method can also be used for automated termination analysis of imperative programs.  ...  Wa 652=7-2 as part of the focus program "Deduktion".  ... 
doi:10.1016/s0167-6423(99)00008-8 fatcat:xqzrvhn3evg4pefrmr5gfrichi

Relational cost analysis in a functional-imperative setting

WEIHAO QU, MARCO GABOARDI, DEEPAK GARG
2021 Journal of functional programming  
Building on this basic idea, we present a type-and-effect system, called ARel, for reasoning about the relative cost (the difference in the evaluation cost) of array-manipulating, higher order functional-imperative  ...  This discipline combined with Hoare-style triples built into the types allows us to express and establish precise relative costs of several interesting programs that imperatively update their data.  ...  Their focus is on first-order functional programs and on the constant time guarantee, while we want to support functional-imperative programs and more general relative costs.  ... 
doi:10.1017/s0956796821000071 fatcat:5l6cqir2mfcc3bpojvjd6vqbum

Automated Transpilation of Imperative to Functional Code using Neural-Guided Program Synthesis (Extended Version) [article]

Benjamin Mariano, Yanju Chen, Yu Feng, Greg Durrett, Isil Dillig
2022 arXiv   pre-print
that can be used to automatically translate existing imperative code to functional variants using these APIs.  ...  We have implemented our approach in a tool called NGST2 and use it to translate imperative Java and Python code to functional variants that use the Stream and functools APIs respectively.  ...  1:25 grant numbers CCF-1908494, CCF-1811865, CCF-1918889, DARPA under the HARDEN program, Google under the Google Faculty Research Grant, as well as both Intel and RelationalAI.  ... 
arXiv:2203.09452v2 fatcat:cff7ogv5wfgwlfnql6kvzhpngm

A language-based approach to functionally correct imperative programming

Edwin Westbrook, Aaron Stump, Ian Wehrman
2005 Proceedings of the tenth ACM SIGPLAN international conference on Functional programming - ICFP '05  
In this paper a language-based approach to functionally correct imperative programming is proposed.  ...  The resulting language is powerful enough to verify statically non-trivial properties of imperative and functional programs.  ...  In the present work, we develop an alternative, language-based approach to functionally correct imperative programming, based on the idea of internal verification [1, 2] .  ... 
doi:10.1145/1086365.1086400 dblp:conf/icfp/WestbrookSW05 fatcat:ymu2dmb63zdxtfzg6yfunmeb2e

A language-based approach to functionally correct imperative programming

Edwin Westbrook, Aaron Stump, Ian Wehrman
2005 SIGPLAN notices  
In this paper a language-based approach to functionally correct imperative programming is proposed.  ...  The resulting language is powerful enough to verify statically non-trivial properties of imperative and functional programs.  ...  In the present work, we develop an alternative, language-based approach to functionally correct imperative programming, based on the idea of internal verification [1, 2] .  ... 
doi:10.1145/1090189.1086400 fatcat:vx2rfztk2jd5hego2ds4i4nzo4

LambdaFicator: From imperative to functional programming through automated refactoring

Lyle Franklin, Alex Gyori, Jan Lahoda, Danny Dig
2013 2013 35th International Conference on Software Engineering (ICSE)  
Java 8 introduces two functional features: lambda expressions and functional operations like map or filter that apply a lambda expression over the elements of a Collection.  ...  The second refactoring converts for loops that iterate over Collections to functional operations that use lambda expressions.  ...  However, we are the first ones to help programmer retrofit functional features into an imperative program.  ... 
doi:10.1109/icse.2013.6606699 dblp:conf/icse/FranklinGLD04 fatcat:w4wa4m3ibnh4lcpbtur3apbe6q

Implementing Algebraic Dynamic Programming in the Functional and the Imperative Programming Paradigm [chapter]

Robert Giegerich, Peter Steffen
2002 Lecture Notes in Computer Science  
We describe how this theory is put to practice by providing a specification language that can both be embedded in a lazy functional language, and translated into an imperative language.  ...  Algebraic dynamic programming is a new method for developing and reasoning about dynamic programming algorithms.  ...  Motivation Towards a discipline of dynamic programming Dynamic Programming (DP) [2] is a well-established and widely used programming technique.  ... 
doi:10.1007/3-540-45442-x_1 fatcat:fnvtbjyszvg3taxkwblfy6ipnq

A logical analysis of aliasing in imperative higher-order functions

MARTIN BERGER, KOHEI HONDA, NOBUKO YOSHIDA
2007 Journal of functional programming  
We present a compositional programme logic for call-by-value imperative higher-order functions with general forms of aliasing, which can arise from the use of reference names as function parameters, return  ...  The programme logic extends our earlier logic for alias-free imperative higher-order functions with new operators which serve as building blocks for clean structural reasoning about programms and data  ...  The logic is built on our earlier work , where we introduced a logic for imperative higher-order functions without aliasing. , a reference type in both the programming and assertion languages is never  ... 
doi:10.1017/s0956796807006417 fatcat:5gltqp7ohbbpnpvlvplz36hrl4
« Previous Showing results 1 — 15 out of 300,521 results