[45] C. Schulte and G. Smolka. Encapsulated Search for Higher-Order Concurrent Constraint Programming. In Proc. of the 1994 International <strong>Logic</strong> Programming Symposium, pp. 505– 520. MIT Press, 1994. [46] G. Smolka. The Oz Programming Model. In J. van Leeuwen, editor, Computer Science Today: Recent Trends and Developments, pp. 324–343. Springer LNCS 1000, 1995. [47] T. Suzuki, A. Middeldorp, and T. Ida. Level-Confluence of Conditional Rewrite Systems with Extra Variables in Right-Hand Sides. In Rewriting Techniques and Applications (RTA’95), pp. 179–193. Springer LNCS 914, 1995. [48] P. Wadler. Efficient Compilation of Pattern-Matching. In S.L. Peyton Jones, editor, The Implementation of <strong>Functional</strong> Programming <strong>Language</strong>s, pp. 78–103. Prentice Hall, 1987. [49] D.H.D. Warren. Higher-order extensions to PROLOG: are they needed? In Machine Intelligence 10, pp. 441–454, 1982. 81
Index !!, 49 Dom, 64 VRan, 64 (), 18, 48 (,...,), 18 (...), 48 *, 54 +, 54 ++, 17, 49 -, 54 --, 59 ->, 16 ., 27, 46 .., 20 /=, 48 :, 17, 48 =, 54 >>, 28, 55 >>=, 28, 55 [], 17, 48 [a], 17, 48 $, 16, 47 $!, 16, 47 &, 10, 15, 54 &>, 15, 55 &&, 14, 47 {-...-}, 59 abstract datatype, 24 all, 53 and, 53 annotation rigid, 13 answer expression, 12, 64 any, 53 82 appendFile, 55 application operator, 69 arithmetic sequence, 20 arity, 4 best, 32, 57 Bool, 14, 47 break, 52 browse, 33, 57 browseList, 33, 57 call pattern, 64 case, 22 case expression, 22 Char, 17 choice, 33 chr, 17, 54 comment, 59 committed choice, 33 computation step, 12 concat, 51 concatMap, 51 condition, 5 conditional, 14, 48 conditional equation, 5 conditional rule, 5 condSearch, 33, 57 confluence, 6 conjunction, 10, 14, 15, 54, 55 concurrent, 10, 15, 54 of constraints, 10 sequential, 14, 15, 55 const, 46 constant, 4 constraint, 10, 15, 68 equational, 10, 15, 68 constructor, 3, 64 curry, 46 data term, 4, 64 ground, 4 datatype
- Page 1 and 2:
Curry An Integrated Functional Logi
- Page 3 and 4:
9 Interface to External Functions a
- Page 5 and 6:
and introduces a new n-ary type con
- Page 7 and 8:
tion 3 with σ(t1 . . . tn) = σ(t
- Page 9 and 10:
since the variables occurring in pa
- Page 11 and 12:
tified variable (and, thus, it can
- Page 13 and 14:
such cases, anonymous functions (λ
- Page 15 and 16:
❀ {x=1,y=3} (The empty constraint
- Page 17 and 18:
4.1.3 Functions The type t1 -> t2 i
- Page 19 and 20:
4.1.8 Strings The type String is an
- Page 21 and 22:
g :: [a] -> [b] -> ([a],[b]) g x y
- Page 23 and 24:
In the last translation rule, conca
- Page 25 and 26:
to the module head. For instance, a
- Page 27 and 28:
module main where import m1 hiding
- Page 29 and 30:
take a character (string) and produ
- Page 31 and 32: which takes a search goal and produ
- Page 33 and 34: instance, if we want to compute the
- Page 35 and 36: Intuitively, a function f declared
- Page 37 and 38: 10 Literate Programming To encourag
- Page 39 and 40: A Example Programs This section con
- Page 41 and 42: A.3 Relational Programming Here is
- Page 43 and 44: A.5 Constraint Solving and Concurre
- Page 45 and 46: A.6 Concurrent Object-Oriented Prog
- Page 47 and 48: B Standard Prelude This section con
- Page 49 and 50: not :: Bool -> Bool not True = Fals
- Page 51 and 52: foldr1 _ [x] = x foldr1 f (x1:x2:xs
- Page 53 and 54: takeWhile _ [] = [] takeWhile p (x:
- Page 55 and 56: enumFromThen n1 n2 = iterate ((n2-n
- Page 57 and 58: putStr [] = done putStr (c:cs) = pu
- Page 59 and 60: owseList (g:gs) = browse g >> putCh
- Page 61 and 62: C.2 Layout Similarly to Haskell, a
- Page 63 and 64: SimplePattern ::= VariableID | _ |
- Page 65 and 66: D Operational Semantics of Curry Th
- Page 67 and 68: Computation step for a single expre
- Page 69 and 70: Eval [e; rule(l | c = r)] ⇒ {id
- Page 71 and 72: to an expression): Eval [ϕ(e1, . .
- Page 73 and 74: Eval [try(g)] ⇒ ⎧ [] if Eval [c
- Page 75 and 76: D.8 Eliminating Local Declarations
- Page 77 and 78: f ′′ x1 . . . xk y1 . . . ym =
- Page 79 and 80: References [1] H. Aït-Kaci. An Ove
- Page 81: [29] T. Johnsson. Lambda Lifting: T
- Page 85 and 86: higher-order equation, 6 id, 46 if_