Ticket #8 (new enhancement)

Opened 7 years ago

Extend the semantics for brackets

Reported by: PeterLjunglof Owned by:
Priority: major Version:
Keywords: Cc:

Description

This is even more radical than ticket:7...

Extend the [...] construct to allow a (possibly empty) sequence of strings (and general string terms). Spaces inside the [...] will denote concatenation, not application. Applications can be written inside parenthesis. Then the following will be equivalent:

oper number str = table {Sing => str; Plur => str ++ "s"};
lin f x y = {s = x.s ++ (number "foo" ! x.n) ++ "bar" ++ y.s};
lin f x y = {s = [x.s (number "foo" ! x.n) "bar" y.s]};

Note that if we forget the parentheses, and write [x.s number "foo" ! x.n "bar" y.s], this is equivalent to [x.s number ("foo" ! x.n) "bar" y.s], which will generate a type error.

Note: See TracTickets for help on using tickets.