<div dir="ltr">Currently, the FloatingPoint protocol does not conform to ExpressibleByFloatLiteral, whereas BinaryFloatingPoint does.<div><br></div><div>The only explanation I can find for this is a <a href="https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160425/015691.html">brief comment from Steve Canon</a> during the review of <a href="https://github.com/apple/swift-evolution/blob/master/proposals/0067-floating-point-protocols.md">SE-0067 (Enhanced Floating Point Protocols)</a>:</div><div><br></div><div><br></div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, Apr 25, 2016 at 1:32 PM, Stephen Canon via swift-evolution &lt;swift-evolution at <a href="http://swift.org">swift.org</a>&gt; wrote:<br><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Apr 23, 2016, at 8:53 PM, Brent Royal-Gordon via swift-evolution &lt;swift-evolution at <a href="http://swift.org">swift.org</a>&gt; wrote:<br><br>Any reason why FloatLiteralConvertible isn&#39;t on FloatingPoint?</blockquote><br>It doesn’t make sense for non-radix-2 types; you would change bases multiple times.</blockquote></div><div><br></div><div><br></div><div>I don’t have Steve’s level of floating-point expertise, but from a conceptual standpoint Swift protocols encapsulate semantics and, unless I am quite mistaken, semantically a floating-point number *can* be expressed as a floating-point literal.</div><div><br></div><div>So, what exactly is the problem preventing such a conformance, and what would be required to fix it? Do we need to revamp how numeric literals are handled, eg. to allow arbitrary-precision integers and base-agnostic floats?</div><div><br></div><div>Nevin</div></div>