chriseth
chriseth
Related to https://github.com/ethereum/solidity/issues/1256
Examples for potential syntax: - `//`-comments are allowed everywhere. - rules are separated by empty (non-comment) lines - first line is match expression, second line is replacement - we need...
This looks very good! Some remarks: - I'm not sure about the `==` if the two sides are not really equal (you can use `lt!(#A, #B)` on the RHS but...
Your proposal sounds very good to me, @ekpyron! I'm wondering how the "redundant masking" rule would look like in his framework. `and(x, y) == x if eq(and(x, y), x)` This...
No, the constant optimizer only operates on actual numbers. Expressions like `sub(codesize(), 10)` will not be improved by the constant optimizer.
Yeah, I'm sorry this is really a mess. Someone should create a consistent overview of the current state of affairs. The ABI for library functions somehow should include which string...
@arachnid suggested supporting namehash in the form `bytes32 nh = namehash("my.name.eth");`.
The latter might either be specifically implemented in the compiler or it could be generalized to "parameterized constants" of the form `$namespace(arg1, arg2, arg3)`. For each such occurrence, the compiler...
Because the values of these parameterised constants might be not be pure expressions or might not be implementable in solidity. Namehash is, but it could also be something like `resolveAddressAtCompileTime("my.name.eth")`
At the moment, I do not see an easy way to do this. We either need to support a specific set of macro functions inside the compiler or move this...