Skip to content

Releases: mathlingua/mathlingua

v0.22.0

28 Dec 01:28
d2e33c5
Compare
Choose a tag to compare

This release introduces the constructs used for specifying proof sketches. It also fixes various issues.

v0.21.0

30 Apr 01:34
8c8bd5b
Compare
Choose a tag to compare

This release introduces improvements to how content is rendered in mlg view and adds basic support for rendering documents with LaTeX.

Version v0.20.0

05 Apr 05:51
7f8440c
Compare
Choose a tag to compare

This is the first release of the complete re-write of Mathlingua created so that type support and operator overloading can eventually be supported.

This version supports parsing and syntactic level diagnostic checking, but does not support full type-checking, LaTeX rendering, or operator overloading.

It does, however, setup the framework that allow these features to be enabled in future releases.

In addition, for the re-write, the language has been dramatically changed and so existing Mathlingua code that previously checked correctly may not be valid in this version.

Version 0.15.1

18 Jan 06:48
Compare
Choose a tag to compare

Non-breaking Changes:

  • The built binaries are automatically signed for MacOS systems.
  • Address an issue when on initial page load, LaTeX is not rendered.
  • mlg versions indicates the current version instead of indicating the latest version since the latest version is always the first version in the list.

Version 0.15.0

17 Jan 07:55
Compare
Choose a tag to compare

Breaking Changes:

  • The text in called: sections is no longer auto capitalized when rendered as definition titles.
  • The name?? syntax is no longer supported in written: statements. Instead name+? is used to specify that parentheses should be added to complex expressions. (Also see the new name-? syntax below.)
  • The evaluated: section has been renamed to expresses:.
  • A Defines: must have either a means: section or an expresses: section but not both.

Non-breaking Changes:

  • The new name-? syntax support has been added to written: statements. The form name-? means that the expression associated with name should have any surrounding parentheses removed when rendering. This is useful, for example, to specify a written: section that has text \frac{a-?}{b-?} since the numerator and denominator don't need parentheses.
  • The presence of a means: section in a Defines: construct specifies that the definition describes an abstract concept (such as a continuous function) that can be used in the right-hand-side of is or in statements, but not in expressions such as \something{x} + y.
  • The presence of an expresses: section in a Defines: construct specifies that the definition describes a concrete object (such as the sin(x) function) that can be used in expressions, such as \sin(x) + y but not in the right-hand-side of is or in statements.
  • If the MLG_GOOGLE_ANALYTICS_ID environment variable is set when running mlg document, the generated files will have Google Anallytics 4 enabled using the given measurement id.
  • If Google Analytics 4 is enabled for the document rendered by mlg document, a banner will appear asking the user if they would like to allow cookies to be used.
  • The editor in mlg edit provides a multi-tab experience to allow multiple files to be open at the same time.
  • The mlg document command supports having local references to files such as images.
  • The mlg document automatically generates an index to allow the user to search for definitions, theorems, axioms, and conjectures by signature or by name.
  • Signatures can be searched in the document generated by mlg document using the syntax [\some.signature].
  • Some constraints that mlg check didn't verify are now checked correctly.
  • Fixed some mlg document rendering issues on iPad Pros.

Version 0.14.0

02 Dec 04:41
Compare
Choose a tag to compare

Non-breaking Changes:

  • Address some issues preventing mlg from working on Windows.

Version 0.13.0

27 Nov 07:53
Compare
Choose a tag to compare

Breaking Changes:

  • Sequence-like items in the structure language require {...} around parameters. That is, previously {x_i}_i was valid syntax, but now it must be written as {x_{i}}_{i}.
  • The requiring: section has been renamed to given:. This adds consistency across Defines:, States:, Axioms:, Theorem:, and Conjecture: constructs as they all use given: sections.
  • The if: section in Theorem:, Axiom:, and Conjecture: has been renamed to when: to make the constructs more consistent with Defines: and States:.
  • The iff: section in Theorem:, Axiom:, and Conjecture: is now after the then: section.

Non-Breaking Changes:

  • Feature: The structure language now supports symbol names of the form X_1.
  • Feature: Tuples are now supported in using: sections. That is, one can write (+, *) := ... in using: sections.
  • Fix: Operator commands of the form \op.</ are now rendered correctly.
  • Fix: Addressed various cases where mlg check incorrectly reported check errors or didn't identify errors.
  • Feature: The called: section is no longer required in Defines: and States: constructs. If not provided, the content of the written: section will be used.
  • Fix: is is rendered correctly in expressions that have is statements in nested parens, such as in \some.function{x is X}.
  • Feature: {x_{i}}_{i} forms can appear on the left-hand-side of is statements.
  • Feature: (A, B, C) forms can appear on the left-hand-side of is statements.
  • Feature: mlg edit now automatically opens a web browser. The --open and --no-open options have also been added to enforce or suppress this behavior.
  • Feature: The keybinding (Ctrl/Meta)+S causes the editor to save the current file in the client app.
  • Feature: Added stropping support to the expression language. Now `*` is interpreted as an identifier.
  • Feature: Various improvements to the documentation.

Version 0.12.0

25 Oct 00:48
Compare
Choose a tag to compare

Breaking changes:

  • The instance:of:by?: structure has been removed. Use the as:via:by?: structure instead.

Non-breaking changes:

  • Fixed an error where, in some cases, the use of a defined variable was incorrectly marked as the use of an unknown symbol.
  • Improved the CSS of the docs generated by mlg document and mlg edit to better support zooming and larger screens.

Version 0.11.0

11 Oct 07:32
Compare
Choose a tag to compare
  • The client CSS has been updated to use a light theme.
  • The viewing:as: construct is now viewing:as:by?: where the by?: section specifies the theorem that validates the construct.
  • The instance:of:by?: construct is used to specify something is an instance of something else. For example, the real numbers is an instance of a metric space.

Version 0.10.1

30 Sep 04:31
Compare
Choose a tag to compare
  • Client side panel width fits content.
  • Fix incorrect autocompletions on the client.