Hello again everyone!
Progress on this end slowed down due to the release of OpenZeppelin Contracts v3.0, which ended up taking longer than expected due to large amounts of user feedback during the release candidate period.
As some of you may know, the Solidity Summit started today, and native fixed point support was one of the points in the agenda.
During this session, @criseth outlined his plans for expanding the initial support already in Solidity so that these types could be more widely used. I shared the findings of our discussion here, and we arrived at similar conclusions. Among others, it seems like decimal precision will be the choice taken by the compiler.
@axic shared the following tentative levels of support, with the idea being that Solidity covers at least Core and perhaps Basic, allowing for libraries to then step in and fill remaining needs.
Core:
literals
assignment
abi (e.g. function arguments)
casting to integersBasic operations:
comparison
conversion
addition / substraction / multiplication / divisionExtended operations:
exponentiation
others?
Given this, I think it makes sense to pause this proposal until we learn more about how and when the Solidity team plans to work on this feature, to prevent a duplication of efforts. This issue is where discussion started (4 years ago!) and continues: likely new issues will spawn from that.