<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Jan 7, 2017 at 6:02 PM, Lars <span dir="ltr"><<a href="mailto:noreply@z505.com" target="_blank">noreply@z505.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Some brave soldiers once tried to reinvent generics using these tricks..</blockquote><div><br></div><div>Well, Pascal run-time has been using "hidden" generics forever.</div><div><br></div><div>As an example:</div><div><a href="http://www.freepascal.org/docs-html/rtl/system/val.html">http://www.freepascal.org/docs-html/rtl/system/val.html</a><br></div><div><br></div><div>Val() declares the second parameter as untyped var parameter.</div><div>Unfortunately, it's not quite so. Compiler recognizes  the run-time function and requires the parameter to be either an Integer or Float-point type (or an enumerated type since 2.3.1).</div><div><br></div><div>So it's more a generic-like behavior (with integer and float types specialized)</div><div><br></div><div>thanks,</div><div>Dmitry </div></div></div></div>