Re: SaxonCS 11.0 is available
Trond Husø <[email protected]> Mon, 11 Oct 2021 13:43:24 +0000
| Newsgroups | gmane.text.xml.saxon.help |
|---|---|
| Message-ID | <AM9P191MB1828D4613FE708E2B8C0D69FA7B59@AM9P191MB1828.EURP191.PROD.OUTLOOK.COM> |
--===============6949859646414316492== Content-Language: en-US Content-Type: multipart/alternative; boundary="_000_AM9P191MB1828D4613FE708E2B8C0D69FA7B59AM9P191MB1828EURP_" --_000_AM9P191MB1828D4613FE708E2B8C0D69FA7B59AM9P191MB1828EURP_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Looks like a common term is that a compiler takes source code and turns it = into a binary executable, where as a transpiler transform the source code i= nto another language before it is being run. T From: Dimitre Novatchev <[email protected]> Reply to: Mailing list for the SAXON XSLT and XQuery processor <saxon-help@= lists.sourceforge.net> Date: Monday, 11 October 2021 at 15:36 To: Mailing list for the SAXON XSLT and XQuery processor <saxon-help@lists.= sourceforge.net> Subject: Re: [saxon] SaxonCS 11.0 is available Some examples of transpilers: > 1. Emscripten: Transpiles C/C++ to JavaScript > 2. Babel: Transpiles ES6+ code to ES5 (ES6 and ES5 are different versions= or generations of the JavaScript language) Typescript has been a well-known example of a transpiler that changed drama= tically how people approach programming on the front-end. Current versions of Google's Angular are written in Typescript. Deno was the next step from Node -- again by embracing Typescript. Just my 2c. :) Dimitre On Mon, Oct 11, 2021 at 5:23 AM Roger L Costello <[email protected]<mailto= :[email protected]>> wrote: > SaxonCS is therefore built by generating C# from the Java source code of = SaxonJ > using a custom transpiler, written in XSLT. What is a transpiler? I learned a new word today: Compiler: is an umbrella term to describe a program that takes source code = written in one language and produce a (or many) output file in some other l= anguage. In practice we mostly use this term to describe a compiler such as= gcc which takes in C code as input and produces a binary executable (machi= ne code) as output. Transpilers are also known as source-to-source compilers. So in essence the= y are a subset of compilers which take in a source code file and convert it= to another source code file in some other language or a different version = of the same language. The ouput is generally understandable by a human. Thi= s output still has to go through a compiler or interpreter to be able to ru= n on the machine. Some examples of transpilers: 1. Emscripten: Transpiles C/C++ to JavaScript 2. Babel: Transpiles ES6+ code to ES5 (ES6 and ES5 are different versions o= r generations of the JavaScript language) https://stackoverflow.com/questions/44931479/compiling-vs-transpiling /Roger -----Original Message----- From: Michael Kay <mike-JkSD5nQpfvpWk0Htik3J/[email protected]<mailto:mike-JkSD5nQpfvpWk0Htik3J/[email protected]>> Sent: Wednesday, October 6, 2021 9:55 AM To: Mailing list for the SAXON XSLT and XQuery processor <saxon-help@lists.= sourceforge.net<mailto:[email protected]>> Subject: [EXT] [saxon] SaxonCS 11.0 is available We are pleased to announce the release of SaxonCS-EE 11.0 - Saxon Enterpris= e Edition for .NET 5. Details: Documentation: https://www.saxonica.com/documentation11/index.html Download: https://www.saxonica.com/download/dotnet.xml (or search for Saxon= CS on nuget) Previous products for .NET were built using IKVM to convert the Java byteco= de of the Java product (which we are now calling SaxonJ). IKVM doesn't work= with .NET Core or .NET 5, so we had to come up with a new approach; SaxonC= S is therefore built by generating C# from the Java source code of SaxonJ u= sing a custom transpiler, written in XSLT. As well as being our first product for .NET 5, this is also the first produ= ct built from the version 11 code base (SaxonJ 11 will follow). There are l= ots of new features, described in detail in the change history section of t= he documentation, but for most users support for .NET 5 will be the main re= ason for adoption. We've tested the product on .NET 5 running on Windows, M= acOS, and Linux. Licensing: being Enterprise Edition, a license key is required. Existing li= cense keys will work provided they have current upgrade rights. You can als= o get a 30-day evaluation license in the usual way. However, we're making a= change to the licensing at the same time: from Saxon 11, we plan to offer = term and/or subscription licenses only, rather than perpetual licenses. The= software is now in a mature phase where many users are looking for stabili= ty and support rather than new features, and we feel that perpetual license= s encourage people to stay on old releases until they hit a support problem= , at which point it's hard for us to offer assistance. Much of the industry= has moved to term and subscription licensing, and we think this will work = better. We'll be updating the online shop over the next few days. Compatibility and transition: the API for SaxonCS follows the design of the= old .NET API closely, but not slavishly. When we've seen where it can be i= mproved by breaking compatibility, we've improved it. (For example, callbac= ks are typically now implemented as delegates rather than interfaces.) So s= ome reworking of existing applications will be needed, but we hope it won't= be onerous. There are a few areas in which we haven't (yet) replicated the= functionality of the old .NET product: the most obvious is localization (n= umber and date formatting), and we'll be addressing this in later releases. Performance: initial results are very encouraging, but slightly inconsisten= t. Some things are faster than SaxonJ, some are slower, and we haven't yet = been able to establish a clear pattern. Please try it out on your own workl= oad and let us know how it goes. Michael Kay Saxonica _______________________________________________ saxon-help mailing list archived at http://saxon.markmail.org/ [email protected]<mailto:[email protected]> https://lists.sourceforge.net/lists/listinfo/saxon-help _______________________________________________ saxon-help mailing list archived at http://saxon.markmail.org/ [email protected]<mailto:[email protected]> https://lists.sourceforge.net/lists/listinfo/saxon-help -- Cheers, Dimitre Novatchev --------------------------------------- Truly great madness cannot be achieved without significant intelligence. --------------------------------------- To invent, you need a good imagination and a pile of junk ------------------------------------- Never fight an inanimate object ------------------------------------- To avoid situations in which you might make mistakes may be the biggest mistake of all ------------------------------------ Quality means doing it right when no one is looking. ------------------------------------- You've achieved success in your field when you don't know whether what you'= re doing is work or play ------------------------------------- To achieve the impossible dream, try going to sleep. ------------------------------------- Facts do not cease to exist because they are ignored. ------------------------------------- Typing monkeys will write all Shakespeare's works in 200yrs.Will they write= all patents, too? :) ------------------------------------- Sanity is madness put to good use. ------------------------------------- I finally figured out the only reason to be alive is to enjoy it. --_000_AM9P191MB1828D4613FE708E2B8C0D69FA7B59AM9P191MB1828EURP_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:sc= hemas-microsoft-com:office:word" xmlns:m=3D"http://schemas.microsoft.com/of= fice/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html40"> <head> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-= 1"> <meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)"> <style><!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4;} @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0cm; font-size:11.0pt; font-family:"Calibri",sans-serif;} a:link, span.MsoHyperlink {mso-style-priority:99; color:blue; text-decoration:underline;} span.EmailStyle18 {mso-style-type:personal-reply; font-family:"Calibri",sans-serif; color:windowtext;} .MsoChpDefault {mso-style-type:export-only; font-size:10.0pt;} @page WordSection1 {size:612.0pt 792.0pt; margin:72.0pt 72.0pt 72.0pt 72.0pt;} div.WordSection1 {page:WordSection1;} --></style> </head> <body lang=3D"en-NO" link=3D"blue" vlink=3D"purple" style=3D"word-wrap:brea= k-word"> <div class=3D"WordSection1"> <p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"mso-fareast-language:E= N-US">Looks like a common term is that a compiler takes source code and tur= ns it into a binary executable, where as a transpiler transform the source = code into another language before it is being run.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"mso-fareast-language:E= N-US"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"mso-fareast-language:E= N-US">T<o:p></o:p></span></p> <p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"mso-fareast-language:E= N-US"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span style=3D"mso-fareast-language:EN-US"><o:p>&nbs= p;</o:p></span></p> <div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm = 0cm 0cm"> <p class=3D"MsoNormal"><b><span style=3D"font-size:12.0pt;color:black">From= : </span></b><span style=3D"font-size:12.0pt;color:black">Dimitre Novatchev= <[email protected]><br> <b>Reply to: </b>Mailing list for the SAXON XSLT and XQuery processor <s= [email protected]><br> <b>Date: </b>Monday, 11 October 2021 at 15:36<br> <b>To: </b>Mailing list for the SAXON XSLT and XQuery processor <saxon-h= [email protected]><br> <b>Subject: </b>Re: [saxon] SaxonCS 11.0 is available<o:p></o:p></span></p> </div> <div> <p class=3D"MsoNormal"><o:p> </o:p></p> </div> <div> <div> <div> <p class=3D"MsoNormal">Some examples of transpilers:<br> <br> > 1. Emscripten: Transpiles C/C++ to JavaScript<br> > 2. Babel: Transpiles ES6+ code to ES5 (ES6 and ES5 are different versi= ons or generations of the JavaScript language)<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal"><o:p> </o:p></p> </div> <p class=3D"MsoNormal">Typescript has been a well-known example of a transp= iler that changed dramatically how people approach programming on the front= -end.<br> <br> Current versions of Google's Angular are written in Typescript. <o:p><= /o:p></p> <div> <p class=3D"MsoNormal"><o:p> </o:p></p> </div> <div> <p class=3D"MsoNormal">Deno was the next step from Node -- again by embraci= ng Typescript.<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal"><o:p> </o:p></p> </div> <div> <p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt">Just my 2c. :)<= br> <br> Dimitre<o:p></o:p></p> </div> </div> <p class=3D"MsoNormal"><o:p> </o:p></p> <div> <div> <p class=3D"MsoNormal">On Mon, Oct 11, 2021 at 5:23 AM Roger L Costello <= ;<a href=3D"mailto:[email protected]">[email protected]</a>> wrote:<o:= p></o:p></p> </div> <blockquote style=3D"border:none;border-left:solid #CCCCCC 1.0pt;padding:0c= m 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"> <p class=3D"MsoNormal">> SaxonCS is therefore built by generating C# fro= m the Java source code of SaxonJ <br> > using a custom transpiler, written in XSLT.<br> <br> What is a transpiler?<br> <br> I learned a new word today:<br> <br> Compiler: is an umbrella term to describe a program that takes source code = written in one language and produce a (or many) output file in some other l= anguage. In practice we mostly use this term to describe a compiler such as= gcc which takes in C code as input and produces a binary executable (machine code) as output.<br> <br> Transpilers are also known as source-to-source compilers. So in essence the= y are a subset of compilers which take in a source code file and convert it= to another source code file in some other language or a different version = of the same language. The ouput is generally understandable by a human. This output still has to go throug= h a compiler or interpreter to be able to run on the machine.<br> <br> Some examples of transpilers:<br> <br> 1. Emscripten: Transpiles C/C++ to JavaScript<br> 2. Babel: Transpiles ES6+ code to ES5 (ES6 and ES5 are different versions o= r generations of the JavaScript language)<br> <br> <a href=3D"https://stackoverflow.com/questions/44931479/compiling-vs-transp= iling" target=3D"_blank">https://stackoverflow.com/questions/44931479/compi= ling-vs-transpiling</a><br> <br> /Roger<br> <br> -----Original Message-----<br> From: Michael Kay <<a href=3D"mailto:mike-JkSD5nQpfvpWk0Htik3J/[email protected]" target=3D"_blank= ">mike-JkSD5nQpfvpWk0Htik3J/[email protected]</a>> <br> Sent: Wednesday, October 6, 2021 9:55 AM<br> To: Mailing list for the SAXON XSLT and XQuery processor <<a href=3D"mai= lto:[email protected]" target=3D"_blank">[email protected]= urceforge.net</a>><br> Subject: [EXT] [saxon] SaxonCS 11.0 is available<br> <br> We are pleased to announce the release of SaxonCS-EE 11.0 - Saxon Enterpris= e Edition for .NET 5.<br> <br> Details:<br> <br> Documentation: <a href=3D"https://www.saxonica.com/documentation11/index.ht= ml" target=3D"_blank"> https://www.saxonica.com/documentation11/index.html</a><br> Download: <a href=3D"https://www.saxonica.com/download/dotnet.xml" target= =3D"_blank"> https://www.saxonica.com/download/dotnet.xml</a> (or search for SaxonCS on = nuget)<br> <br> Previous products for .NET were built using IKVM to convert the Java byteco= de of the Java product (which we are now calling SaxonJ). IKVM doesn't work= with .NET Core or .NET 5, so we had to come up with a new approach; SaxonC= S is therefore built by generating C# from the Java source code of SaxonJ using a custom transpiler, written = in XSLT.<br> <br> As well as being our first product for .NET 5, this is also the first produ= ct built from the version 11 code base (SaxonJ 11 will follow). There are l= ots of new features, described in detail in the change history section of t= he documentation, but for most users support for .NET 5 will be the main reason for adoption. We've tested the = product on .NET 5 running on Windows, MacOS, and Linux.<br> <br> Licensing: being Enterprise Edition, a license key is required. Existing li= cense keys will work provided they have current upgrade rights. You can als= o get a 30-day evaluation license in the usual way. However, we're making a= change to the licensing at the same time: from Saxon 11, we plan to offer term and/or subscription licens= es only, rather than perpetual licenses. The software is now in a mature ph= ase where many users are looking for stability and support rather than new = features, and we feel that perpetual licenses encourage people to stay on old releases until they hit a support= problem, at which point it's hard for us to offer assistance. Much of the = industry has moved to term and subscription licensing, and we think this wi= ll work better. We'll be updating the online shop over the next few days.<br> <br> Compatibility and transition: the API for SaxonCS follows the design of the= old .NET API closely, but not slavishly. When we've seen where it can be i= mproved by breaking compatibility, we've improved it. (For example, callbac= ks are typically now implemented as delegates rather than interfaces.) So some reworking of existing applic= ations will be needed, but we hope it won't be onerous. There are a few are= as in which we haven't (yet) replicated the functionality of the old .NET p= roduct: the most obvious is localization (number and date formatting), and we'll be addressing this in later releas= es.<br> <br> Performance: initial results are very encouraging, but slightly inconsisten= t. Some things are faster than SaxonJ, some are slower, and we haven't yet = been able to establish a clear pattern. Please try it out on your own workl= oad and let us know how it goes.<br> <br> Michael Kay<br> Saxonica<br> <br> _______________________________________________<br> saxon-help mailing list archived at <a href=3D"http://saxon.markmail.org/" = target=3D"_blank"> http://saxon.markmail.org/</a><br> <a href=3D"mailto:[email protected]" target=3D"_blank">saxon= [email protected]</a><br> <a href=3D"https://lists.sourceforge.net/lists/listinfo/saxon-help" target= =3D"_blank">https://lists.sourceforge.net/lists/listinfo/saxon-help</a> <br> <br> <br> _______________________________________________<br> saxon-help mailing list archived at <a href=3D"http://saxon.markmail.org/" = target=3D"_blank"> http://saxon.markmail.org/</a><br> <a href=3D"mailto:[email protected]" target=3D"_blank">saxon= [email protected]</a><br> <a href=3D"https://lists.sourceforge.net/lists/listinfo/saxon-help" target= =3D"_blank">https://lists.sourceforge.net/lists/listinfo/saxon-help</a> <o:p></o:p></p> </blockquote> </div> <p class=3D"MsoNormal"><br clear=3D"all"> <o:p></o:p></p> <div> <p class=3D"MsoNormal"><o:p> </o:p></p> </div> <p class=3D"MsoNormal">-- <o:p></o:p></p> <div> <div> <p class=3D"MsoNormal">Cheers,<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">Dimitre Novatchev<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">---------------------------------------<o:p></o:p></= p> </div> <div> <p class=3D"MsoNormal">Truly great madness cannot be achieved without signi= ficant intelligence.<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">---------------------------------------<o:p></o:p></= p> </div> <div> <p class=3D"MsoNormal">To invent, you need a good imagination and a pile of= junk<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">-------------------------------------<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">Never fight an inanimate object<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">-------------------------------------<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">To avoid situations in which you might make mistakes= may be the<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">biggest mistake of all<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">------------------------------------<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">Quality means doing it right when no one is looking.= <o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">-------------------------------------<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">You've achieved success in your field when you don't= know whether what you're doing is work or play<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">-------------------------------------<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">To achieve the impossible dream, try going to sleep.= <o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">-------------------------------------<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">Facts do not cease to exist because they are ignored= .<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">-------------------------------------<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">Typing monkeys will write all Shakespeare's works in= 200yrs.Will they write all patents, too? :)<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">-------------------------------------<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">Sanity is madness put to good use.<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">-------------------------------------<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal">I finally figured out the only reason to be alive is= to enjoy it.<o:p></o:p></p> </div> <div> <p class=3D"MsoNormal"> <o:p></o:p></p> </div> </div> </div> </div> </body> </html> --_000_AM9P191MB1828D4613FE708E2B8C0D69FA7B59AM9P191MB1828EURP_-- --===============6949859646414316492== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --===============6949859646414316492== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ saxon-help mailing list archived at http://saxon.markmail.org/ [email protected] https://lists.sourceforge.net/lists/listinfo/saxon-help --===============6949859646414316492==--