Now each behavior specification "knows" its type information.
Also bumps version number and sets up so that the scripts will run on Windows as well as Unix (thanks to Jos).
Resolves#5.
Resolves#16.
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
Reviewed-on: #17
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-committed-by: Glen Whitney <glen@studioinfinity.org>
Adds a new subdirectory `interfaces` where standard interfaces
are defined. Additional interfaces for a given operation can
be added with an `AliasOf` type operator. Provides type
operators that give the return type, full function type, and
the type of a dependency on, a given operator.
Resolves#6.
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Co-authored-by: Jos de Jong <wjosdejong@gmail.com>
Reviewed-on: #8
This PR is an effort to address #1. It removes all boilerplate
from individual implementation files, and moves it into
a small, fixed section in the single `all.ts` module for each
type that collects up all of the implementations relating
to that type.
Co-authored-by: Glen Whitney <glen@studioinfinity.org>
Reviewed-on: #2
A first pass at specifying some implementations in TypeScript
that actually compiles. It doesn't do anything, as installing
types and operation specifications are currently dummy operations,
but they are all invoked.