13 of 16 people found the following review helpful
on October 21, 2009
You will buy this book as a faithful if you have been writing software for more than thirty years and are confronted with the tear and wear in its current theoretical and practical foundations. The eternal question is "how to blend data and functions together so as be rigorously expressive but also to allow later growth of design"? This book presents one of the strongest answers this question in the form of a theoretical presentation of pattern calculus and its implementation as a programming language. Conceptually that would deserve five stars. But... style wise the book is terse and it takes sheer will power to read it carefully because the writing is linear and it does become a bit monotonous. Thus the four stars only score!
You need at least notions of type theory to read the book.
on May 28, 2014
In short... Programmers paradise. Pattern polymorphism can be used to create wrappers natively for all three programing idioms.... Imperative, object oriented and declarative.... Wow....
Now... Onto learning bondi... And working on automated reasoning...
Babel and babble finally overcome... The gift of tongues, as prophesied long ago...
... Angelic hosts speak bondi in Heaven... Amen..........
5 of 8 people found the following review helpful
on August 25, 2010
Software developers know the painful truth that it takes very high caliber people to produce an average to poor quality product. The reason : software developers do not have a set of tools that construction engineers have, by which they repeatedly check their work before, during and after construction.
Pattern calculus is the next step in filling that void, next step for those who have understood Turing machines, Lambda Calculus and other forms of discrete mathematics, i.e., the state of art of computer theory. It has taken many decades for someone to come up with the next step of computation theory because this is not an easy step. To comprehend the next step requires an ability jumping from concrete to abstract thinking, the kind of jump that was required to understand Lambda calculus by arithematicians. The author has used an easy to understand style with simple examples to help us towards that.
The success of the book and the next revolution in theoretical computer science depends on the ability of a critical mass of computer scientists, understanding the concepts and realizing their significance. It is bound to happen.