You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Repair the docs build, and bring the quickstart to 2.0.0 (#32)
* Repair the docs build, and bring the quickstart to 2.0.0
The generation had been broken since asc-community/AngouriMath@f0db3eef moved the
library up a folder on 2026-01-03. Two places still pointed at the old layout:
amsite.fsx published from Sources/AngouriMath/AngouriMath, which no longer exists,
so `init` failed outright; and NaiveStaticGenerator read AngouriMath.xml from the
same stale path, so the almanac would have been empty even if the publish had
succeeded. They have to move together, and each now says so.
Two more things stopped it independently of that. The generator targeted net6.0,
out of support since November 2024 and no longer present on a current machine. And
the workflows used actions/checkout@v2 and actions/setup-dotnet@v1, which GitHub no
longer runs -- so the deployment could not have succeeded whatever the paths said.
Verified end to end on this commit: `init` then `build` produces 1944 pages, the
almanac among them, with Latexize present and the members 2.0 removed absent.
The quickstart:
- Drops --prerelease. 2.0.0 is a release, and the flag was installing a preview
against pages that describe something else.
- Removes the MyGet instructions. That feed answers but lists no AngouriMath
package, and it was retired in asc-community/AngouriMath#701.
- Fixes the F# and notebook hello-world programs, which did not compile: they
opened Core and Functions by paths that do not resolve and called `parse` and
`differentiate`, which are `parsed` and `derivative`. This was the first program
a new F# reader runs.
- Fixes the C++ snippet, which had a stray semicolon after its #include and no
<iostream>.
- Says which frameworks the package targets, since a net7.0 project now silently
resolves netstandard2.0 and loses generic math with it.
The C# and F# hello-world blocks carry an amcheck annotation, so a harness compiles
and runs them against a build of the library rather than leaving them to a reader
to discover.
What's new gets its 2.0.0 entry. PackageReleaseNotes sends every NuGet reader to
that page, and its newest entry was 1.4-preview.4 marked "in development".
* Clear the read-only bit before deleting a git clone
uninit deletes the AngouriMath, Yadg.NET and wiki clones, and git marks the files
under .git/objects/pack read-only. Directory.Delete refuses a read-only file on
Windows, so uninit failed there with UnauthorizedAccessException on a pack .idx --
the only red leg of the matrix, with init, build and clean all passing.
<li><code>Latexise</code> is <code>Latexize</code>, <code>ILatexiseable</code> is <code>ILatexizeable</code>. British spelling is gone from the API.</li>
49
+
<li><code>MathS.Quantum.Factorise</code> is <code>TensorFactorize</code>, one letter away from the unrelated <code>Entity.Factorize</code> before; <code>IsNormalised</code> is <code>IsNormalized</code>.</li>
50
+
<li>The 28 members that carried <code>[Obsolete]</code> through 1.x are removed. Each obsolete message named its replacement.</li>
51
+
<li>The implicit conversions from <code>Entity[]</code>, <code>List<Entity></code> and <code>(Entity, Entity)</code> to <code>Entity</code> are removed. The list one made every <code>params Entity[]</code> overload in the library uncallable with a list.</li>
52
+
<li><code>Minusf</code>'s fields are named for the right operands at last: it was <code>Subtrahend - Minuend</code>.</li>
53
+
<li>Target frameworks are <code>netstandard2.0</code>, <code>net8.0</code> and <code>net10.0</code>; <code>net7.0</code> is gone.</li>
54
+
</ul>
55
+
<strong>Answers that changed because they were wrong:</strong>
56
+
<ul>
57
+
<li><code>sqrt(x^2)</code> and <code>sqrt(-x)</code> are left as written rather than becoming <code>x</code> and <code>i*sqrt(x)</code>, which were wrong for negative <code>x</code>.</li>
58
+
<li>Numbers below <code>1e-16</code> are kept instead of being rounded to <code>0</code>.</li>
59
+
<li><code>-7 % 3</code> is <code>2</code>: <code>mod</code> takes the sign of the divisor, as mathematicians, SymPy, Mathematica and Maxima all have it.</li>
60
+
<li><code>abs(x) = -1</code> is the empty set, not a set of numbers that do not satisfy it.</li>
61
+
<li>An identity equation solves to all of <code>CC</code>; a numeric root set has one root per root rather than one per starting point.</li>
62
+
<li>A quadratic inequality with a symbolic coefficient is right for either sign of it.</li>
63
+
<li>Many limits that answered <code>NaN</code> — "this does not exist" — now give the value, or say honestly that they could not settle it.</li>
64
+
<li>What <code>Stringize</code> prints parses back into the expression it printed. It did not for powers, lambdas, applications, piecewises, or complex numbers with a fractional imaginary part.</li>
65
+
</ul>
66
+
<strong>New:</strong>
67
+
<ul>
68
+
<li><code>floor</code>, <code>ceil</code>, <code>round</code>, <code>min</code>, <code>max</code> and <code>gcd</code> are functions rather than parse errors. <code>round</code> is half to even.</li>
69
+
<li>A transformation layer: <code>Simplify</code>, <code>Expand</code>, <code>Factorize</code>, <code>Differentiate</code>, <code>Integrate</code> and <code>Limit</code> are adapters over a <code>Transformation</code> that carries what it claims about its output and how well justified the claim is. Rewrites can be recorded.</li>
70
+
<li>Boolean minimisation, quantum states with tensor factorisation, and a much stronger limit and integration pipeline.</li>
71
+
<li>A syntax reference and an exception reference in the repository.</li>
72
+
<li>Assembly version is pinned at <code>2.0.0.0</code> for the whole of 2.x, so every 2.x release is a drop-in replacement for a signed-assembly consumer.</li>
73
+
</ul>
74
+
<strong>Gone:</strong>
75
+
<ul>
76
+
<li>The MyGet per-push feed. Releases publish to NuGet; remove the feed from your <code>NuGet.Config</code> if you had it.</li>
0 commit comments