Why Declarative ?.
Easy to reason about.
Regular expressions are excellent for generating and recognising structures in the
A lot of designs need to conform to protocol specifications anyway.
Reversible. Can generate the transmitter and receiver from the same source code.
Likely to be HIGHLY composable. Just pile on more specifications.
Metrics can be quickly altered to select different designs: e.g. ratio
of hardware to software or silicon to performance.
Many possible solutions in an enormous search space.
Little success so far, except with executable specifications (e.g. Prolog).
Let's be Pragmatic
Let's be pragmatic and create a source language where we can
freely mix all three forms of specification and hope that
the declarative subset becomes the most used.
Let's use manual structure to provide component re-use and to constrain computational
explosion, but allow the system to disolve structural boundaries when it is up to it.
Home. SRG Talk. 12 March 2003. DJ Greaves. www.cl.cam.ac.uk.