It would be nice to preserve as many standard C operations as we can. Bit twiddling is important stuff, so it needs to look nice.
Pipe currently appears in the following places in Haskell and Duck:
data declarations - both
case statements - Duck
pattern guards - Haskell
list comprehensions - Haskell
We're going to switch to { ; } for data declarations and case statements soon. I think using pipe in pattern guards doesn't introduce any new ambiguities as long as pipe doesn't appear in patterns. For list comprehensions we could go the python way and use "for".
We're definitely going to want to grow pattern guards and list comprehensions at some point, though.
We no longer use | for syntax anywhere, but were still lexing it specially. Removed all references to it and now single pipe works fine as an operator. b25d5fc6b7fff0834490a72014f46d835fe7c873
It would be nice to preserve as many standard C operations as we can. Bit twiddling is important stuff, so it needs to look nice.
Pipe currently appears in the following places in Haskell and Duck:
We're going to switch to { ; } for data declarations and case statements soon. I think using pipe in pattern guards doesn't introduce any new ambiguities as long as pipe doesn't appear in patterns. For list comprehensions we could go the python way and use "for".
We're definitely going to want to grow pattern guards and list comprehensions at some point, though.