Com S 342 meeting -*- Outline -*- * means of combination syntax ** syntax of expressions (vs. statements) Q: What should the syntax be for expressions? want to use conventional infix syntax (unlike Scheme/Lisp) want to use parentheses for controlling order of evaluation So can't use () for calling functions (only for grouping) in Oz, use {...} for procedure calls, so () only means grouping no commas (so comma is an operator), more regular Q: How should we make literals/symbols? in Oz and Prolog, use case of first character to distinguish: - starts with lowercase is an atom (symbol) - starts with Upper Case is a (dataflow) variable name ** commands and combinations of commands (statements) Q: What commands do we need? unification of dataflow variables (=), assignment (:=) to cells, sequencing, if-then-else, perhaps other special forms terms: expression language vs. statement language in Oz primitive compound ================================ Cell := E if B then S1 else S2 end skip S1 ... Sn X = Y local X in S end X = E thread S end raise E end case E0 of pat1 then S1 else S2 end {P Arg1 ... Argn} for I in E do S end