1. Consider the DSL described. Do we consider this to be a Deep or
Shallow embedding, and more importantly, how appropriate do you
think the choice is.
Copyright By PowCoder代写 加微信 powcoder
2. How closely tied is their approach to the use of functional
programming? Could you take their DSL approach and use Java, for
example? Would it feel more natural to try to find a hierarchy of classes
that could represent the various kinds of contracts, rather than a set of
composable functions (and would that be better)?
3. There are at least two uses of the DSL described: describing contracts
and evaluating contracts. Both rely on the language having a clear
semantics, which the paper presents in a mathematical formulation
(section 4) before it gives an implementation (section 5). Why do you
think they regarded it as being important to give that mathematical
formulation first.
4. There are some optimisations are mentioned (for example, at the end
§4.6 and in the introduction to §5). Do you see any connection between
the focus on abstract semantics and pure functional style and the
description of these optimisations (to put it another way, did the
functional approach make it more likely the authors developed those
optimisations and knew they were safe to apply?)
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com