-
- Downloads
There was an error fetching the commit references. Please try again later.
Remove support for binary newline sends
This removes syntax support for sending messages to the result of a binary expression without using parentheses. In other words, this: foo == bar .something Is no longer parsed as `(foo == bar).something`, instead it is not parsed as `foo == bar.something`. To send a message to the result you need to use parentheses: (foo == bar).something This might be a bit more verbose, but it makes the syntax easier to parse for both humans and computers. It also makes it possible to spread the right-hand side over multiple lines when necessary. For example, prior to this MR this would not work as expected: foo == bar .baz .quix This would be parsed as `(foo == bar).baz.quix`, and not `(foo == bar.baz.quix)`.
Showing
- compiler/lib/inkoc/parser.rb 2 additions, 21 deletionscompiler/lib/inkoc/parser.rb
- runtime/src/std/array.inko 9 additions, 8 deletionsruntime/src/std/array.inko
- runtime/src/std/boolean.inko 1 addition, 2 deletionsruntime/src/std/boolean.inko
- runtime/src/std/byte_array.inko 13 additions, 17 deletionsruntime/src/std/byte_array.inko
- runtime/src/std/compiler/keywords.inko 3 additions, 4 deletionsruntime/src/std/compiler/keywords.inko
- runtime/src/std/compiler/lexer.inko 178 additions, 232 deletionsruntime/src/std/compiler/lexer.inko
- runtime/src/std/debug.inko 3 additions, 4 deletionsruntime/src/std/debug.inko
- runtime/src/std/ffi.inko 6 additions, 7 deletionsruntime/src/std/ffi.inko
- runtime/src/std/float.inko 6 additions, 8 deletionsruntime/src/std/float.inko
- runtime/src/std/format.inko 7 additions, 8 deletionsruntime/src/std/format.inko
- runtime/src/std/inspect.inko 9 additions, 12 deletionsruntime/src/std/inspect.inko
- runtime/src/std/integer/extensions.inko 3 additions, 5 deletionsruntime/src/std/integer/extensions.inko
- runtime/src/std/map.inko 27 additions, 36 deletionsruntime/src/std/map.inko
- runtime/src/std/net/ip.inko 113 additions, 142 deletionsruntime/src/std/net/ip.inko
- runtime/src/std/net/socket.inko 1 addition, 2 deletionsruntime/src/std/net/socket.inko
- runtime/src/std/object.inko 1 addition, 2 deletionsruntime/src/std/object.inko
- runtime/src/std/range.inko 2 additions, 4 deletionsruntime/src/std/range.inko
- runtime/src/std/string.inko 3 additions, 4 deletionsruntime/src/std/string.inko
- runtime/src/std/test/assert.inko 9 additions, 12 deletionsruntime/src/std/test/assert.inko
- runtime/src/std/test/config.inko 8 additions, 10 deletionsruntime/src/std/test/config.inko
Please register or sign in to comment