Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Colin J. M. Kemp is active.

Publication


Featured researches published by Colin J. M. Kemp.


new trends in software methodologies, tools and techniques | 2014

From computer science to software engineering – a programming-level perspective

Paul A. Bailes; Leighton Brough; Colin J. M. Kemp

An important step from computer science to a true discipline of software engineering is to impose discipline upon the behavior of practitioners. At the programming level, this is manifested by the constraint to use catamorphisms as the basic pattern of recursion/iteration. Catamorphisms exist for all regular recursive types and discipline (and simplify programming) to the selection of recursion pattern parameters. Reasoning about programs (for verification, transformation and optimization purposes) is similarly simplified. Catamorphisms are just one of a range of programming patterns explained by and understood in terms of mathematical category theory. The proposition that category theory provides the theory of programming (design as well as coding) is reinforced by the ability of modern programming languages to represent categorical abstractions in source code.


formal methods | 2003

Formal Methods within a Totally Functional Approach to Programming

Paul A. Bailes; Colin J. M. Kemp

Taking functional programming to its extremities in search of simplicity still requires integration with other development (e.g. formal) methods. Induction is the key to deriving and verifying functional programs, but can be simplified through packaging proofs with functions, particularly folds, on data (structures). Totally Functional Programming avoids the complexities of interpretation by directly representing data (structures) as platonic combinators - the functions characteristic to the data. The link between the two simplifications is that platonic combinators are a kind of partially-applied fold, which means that platonic combinators inherit fold-theoretic properties, but with some apparent simplifications due to the platonic combinator representation. However, despite observable behaviour within functional programming that suggests that TFP is widely-applicable, significant work remains before TFP as such could be widely adopted.


international conference on evaluation of novel approaches to software engineering | 2016

Software Engineering Foundations of Zoetic Data and Totally Functional Programming

Paul A. Bailes; Colin J. M. Kemp

Traditional higher-order functional programming is validated by how its logical conclusion in the shape of a “Totally Functional” style is consistent with and indeed determined by some fundamental principles of Software Engineering. The key to Totally Functional Programming is the notion of “zoetic” representations of data which embody the behaviours that we hypothesise to underlie all conventional symbolic datatypes. These representations minimise the interpretation of symbolic data at each use, and thus embody the principle of reuse. Further, we develop a scheme for formal synthesis of generator functions for zoetic data which entirely avoid the need for a separate interpretation stage. This avoidance allows us to achieve a clear separation of concerns between the creation of zoetic data objects on the one hand and their use in various applications on the other. Zoetic data are thus validated as the key enablers of the fulfilment of functional programming in its “Totally Functional” manifestation, firmly grounded in the language design consequences of software engineering principles.


Applied Informatics | 2003

Why functional programming really matters

Paul A. Bailes; Colin J. M. Kemp; Ian Peake; Sean Seefried


international conference on software engineering | 2005

Fusing folds and data structures into zoetic data

Paul A. Bailes; Colin J. M. Kemp


ENASE 2016 Proceedings of the 11th International Conference on Evaluation of Novel Software Approaches to Software Engineering | 2016

Zoetic Data and their Generators

Paul A. Bailes; Colin J. M. Kemp


australian software engineering conference | 2004

Obstacles to a totally functional programming style

Paul A. Bailes; Colin J. M. Kemp


international conference on software engineering advances | 2014

Fundamentals, Prospects and Challenges for Totally Functional Programming Style

Paul A. Bailes; Leighton Brough; Colin J. M. Kemp


computer software and applications conference | 2003

Integrating runtime assertions with dynamic types: structuring a derivation from an incomputable specification

Paul A. Bailes; Colin J. M. Kemp


Archive | 2000

Fusing Folds and Data Structures into Animated Data: towards a Totally Functional Programming Style

Paul A. Bailes; Colin J. M. Kemp

Collaboration


Dive into the Colin J. M. Kemp's collaboration.

Top Co-Authors

Avatar

Paul A. Bailes

University of Queensland

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Ian Peake

University of Queensland

View shared research outputs
Top Co-Authors

Avatar

Sean Seefried

University of Queensland

View shared research outputs
Researchain Logo
Decentralizing Knowledge