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>&nbsp;</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>&nbsp;</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=
 &lt;[email protected]&gt;<br>
<b>Reply to: </b>Mailing list for the SAXON XSLT and XQuery processor &lt;s=
[email protected]&gt;<br>
<b>Date: </b>Monday, 11 October 2021 at 15:36<br>
<b>To: </b>Mailing list for the SAXON XSLT and XQuery processor &lt;saxon-h=
[email protected]&gt;<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>&nbsp;</o:p></p>
</div>
<div>
<div>
<div>
<p class=3D"MsoNormal">Some examples of transpilers:<br>
<br>
&gt; 1. Emscripten: Transpiles C/C++ to JavaScript<br>
&gt; 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>&nbsp;</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.&nbsp;<o:p><=
/o:p></p>
<div>
<p class=3D"MsoNormal"><o:p>&nbsp;</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>&nbsp;</o:p></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt">Just my 2c.&nbsp; :)<=
br>
<br>
Dimitre<o:p></o:p></p>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<div>
<div>
<p class=3D"MsoNormal">On Mon, Oct 11, 2021 at 5:23 AM Roger L Costello &lt=
;<a href=3D"mailto:[email protected]">[email protected]</a>&gt; 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">&gt; SaxonCS is therefore built by generating C# fro=
m the Java source code of SaxonJ
<br>
&gt; 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 &lt;<a href=3D"mailto:mike-JkSD5nQpfvpWk0Htik3J/[email protected]" target=3D"_blank=
">mike-JkSD5nQpfvpWk0Htik3J/[email protected]</a>&gt;
<br>
Sent: Wednesday, October 6, 2021 9:55 AM<br>
To: Mailing list for the SAXON XSLT and XQuery processor &lt;<a href=3D"mai=
lto:[email protected]" target=3D"_blank">[email protected]=
urceforge.net</a>&gt;<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>&nbsp;</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">&nbsp;<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==--