Commit Graph

1435 Commits (8a430a52bc5623ec4ca6b74bb481bbd03cc6627e)

Author SHA1 Message Date
Mike Gerwitz cb9ccfe5f3 design/tpl: \vdash=>\infer and index entry 2021-05-10 16:54:19 -04:00
Mike Gerwitz 4e7b882aed design/tpl: Begin symbol list at beginning of index 2021-05-10 16:50:30 -04:00
Mike Gerwitz 176c7785e9 design/tpl: Remove stackengine import
This is no longer needed after conversion of \bicomp to superscript.
2021-05-10 14:29:42 -04:00
Mike Gerwitz c371d12a02 design/tpl: Remove glossary
This is an unnecessary feature to maintain right now.  I will include
symbols at the very beginning of the index, which is common in mathematics
texts, and may will add a table of common symbols in the future.
2021-05-10 14:28:37 -04:00
Mike Gerwitz cacb72b2bd RELEASES.md: Entry for TPL 2021-05-10 14:21:24 -04:00
Mike Gerwitz 8d1c29b4cc design/tpl: bicomp: Use superscript instead of stacking
Stacking originally seemed like a good idea, but perhaps this does read a
bit better (and looks more like the composition operation being applied),
and composes a bit better if we needed e.g. \bicomp\bicomp{R}.

It's also less ambiguous when it's over a larger expression.  For example,
\bicomp{[A]} places \circ over top of the A, which looks as if it's
[\bicomp{A}].  It's obvious what the intention is in that context, since
\bicomp{A} makes no sense, but there could be other situations where it
doesn't.  With this change, it results in {[A]}^\circ.
2021-05-10 14:19:49 -04:00
Mike Gerwitz 0a16808542 design/tpl: Subscript notation for function application
This is convenient and visually appealing in certain circumstances.  That's
highly subjective.
2021-05-10 14:08:11 -04:00
Mike Gerwitz bd454f7a7c design/tpl: The Tame Programming Language initial concept
There's a lot of change that's likely going to take place with this thing,
but it's a start.  The abstract summarizes the purpose of this---to formally
define TAME in terms of algebra, first-order logic, and [ZFC] set theory.

This came about while working on compiler changes and optimizations, since
it's difficult to ensure correctness (and discover further optimizations)
without being able to formally define the language.  The focus at the moment
is the classification system rewrite, which can be expressed in terms of
first order logic and set theory.

This commit contains essentially a POC with some carefully chosen
mathematical foundations (abstractions of which are subject to change) and a
basic representation of a subset of the classification system for scalars.
2021-05-10 13:46:49 -04:00
Mike Gerwitz 685549f06b RELEASES.md: Update for v17.8.1 2021-03-18 09:56:02 -04:00
Mike Gerwitz 56210497ad RELEASES.md: Summary for next release 2021-03-18 09:55:36 -04:00
Mike Gerwitz 43204d1dd5 build-aux/Makefile.am: Lookup table dependency fix
%.xml{=>o}: %csvo rater/core/vector/table.xmlo

That is: we'll only build an object file when we try to build another object
file.  This was causing problems with dependency generation, because it will
triggering compilation early.
2021-03-17 17:02:58 -04:00
Mike Gerwitz 6b35812405 RELEASES.md: Mention recent tame and tamed changes 2021-03-15 09:49:57 -04:00
Mike Gerwitz 6221ce5fee bin/tame (verify-runner): Add missing id param
This was referencing a global $id, which is not the value we are interested
in (and may not exist at all).  Add the missing param.
2021-03-12 14:14:42 -05:00
Mike Gerwitz 7325578624 bin/tame{,d}: Fix assignments that lose exit code
Ensure that we fail if the command in the assignment fails.
2021-03-12 14:14:40 -05:00
Mike Gerwitz e7e4a61cf4 bin/tame: read {=>-r} where missing
While these should not be necessary in practice, there's no reason _not_ to
do this.
2021-03-12 09:47:38 -05:00
Mike Gerwitz 2a56c75345 bin/tame: Remove unnecessary trailing backslashes
This was originally in a Makefile, long ago, where backslashes were
actually needed.
2021-03-12 09:47:34 -05:00
Mike Gerwitz dfce9a89d8 RELEASES.md: Update for v17.8.0 2021-02-23 10:51:59 -05:00
Mike Gerwitz 566d9f6536 build-aux/Makefile.am (suppliers.mk): Regenerate when any sources change
This should have been done many years ago.  This will determine if any of
the dependencies have changed for the included suppliers.mk and regenerate
it as needed, without the developer having to do so manually when imports
change.
2021-02-23 10:48:21 -05:00
Mike Gerwitz cda3e845b8 Remove verbose messages from suppliers.mk generation
* build-aux/Makefile.am (suppliers.mk): Invoke ant with `-q` to eliminate
"processing" messages for each and every file.  This also speeds up
operation slightly.
* build-aux/gen-make: Remove information echos for each file.

These changes will allow for suppliers.mk to be regenerated automatically
without being so invasive.
2021-02-23 10:47:40 -05:00
Mike Gerwitz c319719065 src/current/rater.xsd (yieldsNameType): Remove length checks
The intent originally was to try to keep developers to a reasonable name
length, but generated identifiers can easily exceed this, and we further do
not support namespacing.

This can be handled at a template level instead for enforcing naming
conventions.
2021-02-23 10:46:58 -05:00
Mike Gerwitz 8651f683f6 src/current/rater.xsd: Update
This had gotten quite out of date from the actual rater.xsd, which existed
outside of this repository, that is used during our build process.  That was
an unintended artifact from moving files around.

That file has been removed and symlinked to this one.
2021-02-23 10:46:03 -05:00
Mike Gerwitz 6f67a4d6fa build-aux/Makefile.am: Accommodate step-level packages from proguic
Note: this really belongs in liza-proguic, and should be moved in the near
future.

liza-proguic is being modified to generate step-level packages, which are
significantly faster to build than larger ones (XSLT TAME scales
terribly).  These changes handle those new dependencies.

One important thing to note with this change is that suppliers.mk now
requires proguic to have run before generation so that those generated
dependencies can be properly examined.  This is a quick operation, so that
is not problematic.

This also depends on the .version.xml change that was previously made: when
the timestamp changed every time, we got into an infinite build loop.
2021-02-23 10:44:50 -05:00
Mike Gerwitz 9f5517f0d9 src/current/pkg-dep.xsl: Recognize step-level imports
First thing to note: this belong in liza-proguic, not here.  But it's here
right now, so for now I'm making the change.  The relationship between TAME
and proguic is awkward and will hopefully be improved upon in the near
future.

As for this actual change: step-level fragments will be concatenated such
that the imports will appear at the step level rather than the root.
2021-02-23 10:44:03 -05:00
Mike Gerwitz 80a61986bd build-aux/m4/calcdsl.m4: Do not generate suppliers.mk
This will be generated automatically by the Makefile.  It's not appropriate
to generate in the configure script, and I do not recall why I did
so---possibly to work around the issue of delayed tab completion when it
needs regeneration?

This removes suppmk-gen in favor of more generic Makefile targets---in this
case, having `%.tdat` depend upon `rater/core/tdat.xml`, even though that's
not quite true (the %.xml file generated from it needs it).  But these files
are going away soon; a pending TAME optimization branch removes support for
the underlying pattern primitive entirely; CSVMs should be used instead.
2021-02-23 10:43:09 -05:00
Mike Gerwitz 698ddcdd06 build-aux/Makefile.am (.version.xml): Only change timestamp on hash change
The timestamp of the file will now only be updated if the hash (version)
_actually_ changes.  This allows this to be used as a target dependency
without forcing a rebuild each and every time.
2021-02-23 10:41:20 -05:00
Mike Gerwitz 3b1b894dab RELEASES.md: Update for v17.7.0 2020-12-09 09:59:09 -05:00
Mike Gerwitz e27423f909 Fully tail-recursive mrange
This solves issues of hitting stack limits, particularly in browsers, when
querying matrices that return a large number of rows for one or more
predicates.
2020-12-09 09:57:08 -05:00
Mike Gerwitz 8ce217f779 [DEV-8947] Make mrange fully tail-recursive and enable TCO
We were still having issues with this function when taking the positive
branch, when predicates cause many matches within tables.  This was causing
us to hit stack limits in certain browsers on the Summary Page.

This converts it to an iterator so that all branches are tail-recursive, and
then enables TCO on them.

I was disappointed to find that there's little performance or memory benefit
in running our test suite.
2020-12-09 09:56:43 -05:00
Mike Gerwitz cb93f4c02a [DEV-8947] Guided TCO: Reassign argument values after processing all expressions
I did say it was _experimental_ guided TRO.

This waits to perform the actual argument reassignment until after
processing the expressions associated with the new arguments, since they
will otherwise be replaced when their original values are still needed.
2020-12-09 09:56:40 -05:00
Mike Gerwitz f175042f41 RELEASES.md (v17.6.5): Add missing subheading
I also rephrased it a bit.  The original phrasing was not incorrect.
2020-12-09 09:56:32 -05:00
Corey Vollmer 3913ed9d81 RELEASES.md: Update for v17.6.5 2020-12-03 14:09:37 -05:00
Corey Vollmer eb2951d8ba [DEV-8927] Improve summary page performance with new element queries in TAME 2020-11-30 16:18:26 -05:00
Corey Vollmer 38f4d52e32 [DEV-8927] Improve summary page performance with new element queries 2020-11-30 16:06:36 -05:00
Mike Gerwitz 3df31d0ffc RELEASES.md: Update for v17.6.4 2020-11-23 15:26:54 -05:00
Mike Gerwitz 79e2583ca1 map: Tolerate non-string inputs for `uppercase` and `hash` methods
This change simply prevents failure in such situations, (e.g. on invalidated
fields in Liza).  We'll worry about proper errors and correctness, which
ought to be compile-time, in TAMER.
2020-11-23 15:24:08 -05:00
Joseph Frazer 32f0245038 RELEASES.md: Update for v17.6.3 2020-11-03 13:24:36 -05:00
Joseph Frazer c55564e076 [DEV-8571] Update the MathJax CDN
Merge branch 'jira-8571' into master

* jira-8571:
  [DEV-8571] Update the MathJax CDN
2020-11-03 13:16:01 -05:00
Joseph Frazer 18731c9c62 [DEV-8571] Update the MathJax CDN
The MathJax CDN stopped working in April 2017. I updated it to the
recommended CDN with the last version from April 2017 to ensure it works
like it used to work before the CDN stopped.

I added the checksum to ensure the content of the script.
2020-11-03 12:37:38 -05:00
Joseph Frazer a3d47321d8 RELEASES.md: Update for v17.6.2 2020-10-01 10:22:17 -04:00
Joseph Frazer cc19e0065f [DEV-8362] Include program.mk in project root
Merge branch 'jira-8362' into master

* jira-8362:
  [DEV-8362] Include program.mk in project root
2020-10-01 10:12:16 -04:00
Joseph Frazer f7968c0513 [DEV-8362] Include program.mk in project root
If a "program.mk" exists in a project's root, it should be included in
the Makefile.

Co-Authored-By: Anthony Dalfonso <anthony.dalfonso@ryansg.com>
2020-10-01 09:58:45 -04:00
Mike Gerwitz 37a8fb29f0 RELEASES.md: Update for v17.6.1 2020-09-23 16:32:19 -04:00
Mike Gerwitz fb5e7c68df Fail lv:param-class-to-yields without relying on propagation 2020-09-23 16:29:53 -04:00
Mike Gerwitz 89d3494c57 [DEV-8492] Fail lv:param-class-to-yields rather than awaiting propagation
This problem manifested when the name of the attempted classification is the
same name as another object.  For example, if we have `t:match-class
name="foo"`, and `foo` is a param instead of a class, then `@yields` will
fail, and it'd fall back to matching on the param.

This is absolutely not what we want.

The error message in this context is ugly, but it does work.

Example:

  !!! Unknown match @on (/lv:package/lv:classify/match): `error: unable to
  determine @yields for class `scheduled_ai' (has the class been imported?)'
  is unknown for classification --vis-scheduled-ai-type
2020-09-23 16:29:37 -04:00
Schaffer, Austin c02a32f22e Stop using accumulate in tdat template
See merge request floss/tame!46
2020-08-21 10:06:06 -04:00
Austin Schaffer d8651cfb95 [DEV-8081] Stop using accumulate in tdat template 2020-08-20 18:18:46 -04:00
Mike Gerwitz 6743bfff4a package{,-lock}.json additions
These were being changed every time npm was run.
2020-08-19 15:39:50 -04:00
Mike Gerwitz 9111c3373e RELEASES.md: Update for v17.6.0 2020-08-19 15:30:00 -04:00
Mike Gerwitz da7a2c71c7 tamed: TAMED_JAVA_OPTS: New environment variable
This will be passed to dslc and then to the JVM.  The intent is to permit
fine-grained heap ratio tuning.
2020-08-19 10:19:04 -04:00
Mike Gerwitz 680691c4cf bootstrap: Permit directory for hoxsl
Now I recall the reason I had -e: we clone hoxsl in the pipeline.
2020-07-27 12:51:10 -04:00