Topic: proposal
Author: Robert Ramey <ramey@rrsd.com>
Date: Sun, 12 Jun 2016 22:05:29 -0700
Raw View
C++, Abstract Algebra and Practical Applications
Author keywords:
abstract algebra
types
metaprogramming
correctness
Abstract: ****************************** Abstract
******************************
Modern C++ includes ample facilities for manipulating types a compile
time. These facilities have evolved from a small bag of miscellaneous
tricks to an large bag of miscellaneous tricks. It turns out we can
select a subset of these tricks to build a representation of abstract
algebra within the C++ type system. This methodology will help
programmers select and exploit the C++ type manipulation facilities to
create more transparently correct, efficient and maintainable programs.
This session does not presuppose and particular mathematical background.
It depends upon only the most basic and key ideas of abstract algebra
which will be explained as part of the presentation.
This work was initially inspired by work by Barton and Nackman as well
as some ideas from Denotational Semantics.
**********************************************************************
Type: lecture
Level: Beginner, Intermediate, Advanced, Expert
Audience: UnHackers. Beginner to advanced C++ programers who want to
construct programs in a more formal, systematic way in order to produce
more correct, maintainable and efficient programs with less effort and
stress.
Material: slides, source code examples
Sessions are 60 minutes long (including Q & A).
Optimum Length: one session (60 minutes)
Minimum Length: one session (60 minutes)
Maximum Length: two sessions (120 minutes)
Permission to record was given.
**********************************************************************
****************************** Comment *******************************
This is information from the first chapter of a book that I'm currently
writing.
**********************************************************************
****************************** Outline *******************************
Types
primitive types
type composition
parameterized types - templates
type reflection
type refinement through inheritance
type conversion
type aliases
opaque type aliases
type (meta)functions
Types and Sets
Operations on Types and Sets
membership
inclusion
intersection
union
product
complement
difference
Types and Abstract Algebra
semigroups
monoids
groups
Applications to Program Correctness
**********************************************************************
****************************** History *******************************
I have not given any such talk before.
**********************************************************************
******************************* Bios *********************************
-----
Robert Ramey
Long time C++ library developer
Developer and Maintainer of the Boost Serialization Library
-----
**********************************************************************
Time: May 23, 16:13 GMT
--
Robert Ramey
www.rrsd.com
(805)569-3793
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/e4a9f307-4694-efdc-d2c6-5d990f1388ae%40rrsd.com.
.
Author: Robert Ramey <ramey@rrsd.com>
Date: Mon, 13 Jun 2016 07:50:48 -0700
Raw View
whoops - mistakenly sent here. Please ignore
Robert Ramey
--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/497efad3-612e-77d6-feee-04eb090bce7b%40rrsd.com.
.