<div dir="ltr"><div dir="ltr">On Thu, Oct 17, 2019 at 5:48 PM Michael Van Canneyt <<a href="mailto:michael@freepascal.org">michael@freepascal.org</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
Hm. I am amazed and pleasantly surprised.<br>
<br>
Do you ever sleep ?<br>
<br>
You're much farther than I expected. The todo list is actually quite short.<br>
<br>
3 questions:<br>
1. Should we notify Bruno or do you think it is better to wait ?<br>
   He asked about progress on the phone yesterday, I said I'd investigate<br>
   but I think the answer is now quite clear, so not much investigation is needed.<br>
2. Do you think the fgl unit can be ported ?<br>
3. I saw you created simple version of some generics routines. Do you think<br>
    it is already possible to port the rtl-generics units ?<br>
    TMS Software and wagner Landgraf in particular use these units.<br>
<br>
In each case, congratulations on the huge progress you made !<br>
<br>
Michael.<br>
<br>
On Thu, 17 Oct 2019, Mattias Gaertner via Pas2js wrote:<br>
<br>
> Hi,<br>
><br>
> pas2js trunk now supports generics.<br>
> Here is a list of features, what should work and what not:<br>
><br>
> <a href="https://wiki.lazarus.freepascal.org/pas2js_Generics" rel="noreferrer" target="_blank">https://wiki.lazarus.freepascal.org/pas2js_Generics</a><br>
><br>
> As demonstration I added the generic TList<T> in the rtl units:<br>
> generics.collections.pas<br>
> generics.defaults.pas<br>
> generics.strings.pas<br>
><br>
> Now I'm searching some brave adventurers to test this alpha feature and<br>
> report bugs.<br>
><br>
><br>
> Mattias<br>
> _______________________________________________<br>
> Pas2js maillist  -  <a href="mailto:Pas2js@lists.freepascal.org" target="_blank">Pas2js@lists.freepascal.org</a><br>
> <a href="https://lists.freepascal.org/cgi-bin/mailman/listinfo/pas2js" rel="noreferrer" target="_blank">https://lists.freepascal.org/cgi-bin/mailman/listinfo/pas2js</a><br>
_______________________________________________<br>
Pas2js maillist  -  <a href="mailto:Pas2js@lists.freepascal.org" target="_blank">Pas2js@lists.freepascal.org</a><br>
<a href="https://lists.freepascal.org/cgi-bin/mailman/listinfo/pas2js" rel="noreferrer" target="_blank">https://lists.freepascal.org/cgi-bin/mailman/listinfo/pas2js</a></blockquote><div><br></div><div>Nice work! I'm not much of a web person myself, but I find Pas2JS interesting, so I've been following the development pretty closely.<br></div><div><br></div><div>FYI: I've done a lot of experimentation with generics, and have found that basically all the classes that directly represent ones from Javascript (like TJSArray and so on) can be re-defined as generic (so that all the instances of "JSValue" become "T") and it works just as well as what you might expect from TypeScript (where everything has pretty much always been defined as generic.)</div><div><br></div><div>Personally, I don't see too much of a need for anything like generic classes ported over from Pascal, as for example the generic version of TJSArray does everything TList<T> does (more, actually!)</div><div><br></div><div>I'm sure there are people out there who'd like a more complete version of rtl-generics in Pas2JS though, so it's probably worth doing. </div></div></div>