# Ticket #8 (new enhancement)

Opened 9 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.