diff --git a/lib/resource-1.0/doc/Resource-HOWTO.html b/lib/resource-1.0/doc/Resource-HOWTO.html index 3b7c93577..92a5b7c8c 100644 --- a/lib/resource-1.0/doc/Resource-HOWTO.html +++ b/lib/resource-1.0/doc/Resource-HOWTO.html @@ -7,7 +7,7 @@
Predefined: general-purpose operations with hard-coded definitions
+
+An important decision is what rules to implement in terms of operations in
+ResGer. A golden rule of functional programming says that, whenever
+you find yourself programming by copy and paste, you should write a function
+instead. This indicates that an operation should be created if it is to be
+used at least twice. At the same time, a sound principle of vicinity says that
+it should not require too much browsing to understand what a rule does.
+From these two principles, we have derived the following practice:
+
ResGer. An example is mkClause,
+used in Sentence, Question, and Relative-
+Numerals.
+
+This discipline is very different from the one followed in earlier
+versions of the library (up to 0.9). We then valued the principle of
+abstraction more than vicinity, creating layers of abstraction for
+almost everything. This led in practice to the duplication of almost
+all code on the lin and oper levels, and made the code
+hard to understand and maintain.
+
@@ -670,6 +699,6 @@ This chapter will work out an example of how an Estonian grammar is constructed from the Finnish grammar through parametrization.
- +