Hello, everyone!
We've pushed out some updates to Pyret and
code.pyret.org. They are strictly
additive and bug-fixing, so no existing programs should be troubled by them.
These are all available at the CLI, as well.
We've previously mentioned a new approach to tables. This is embodied in a new
set of methods that we've added to tables to enable more flexible usage. The
essential difference is that column names are now first-class strings, enabling
more programmatic access to rows, columns, and data manipulation in general.
This change is purely additive, and all the existing table operations work just
as before.
See the documentation for details:
https://www.pyret.org/docs/latest/tables.html#%28part._s~3atables~3amethods%29
Function signatures (called contracts in Bootstrap curricula) can now be
specified separately from function definitions:
https://www.pyret.org/docs/latest/s_contracts.html
Spies, mentioned earlier this week, are now live on
code.pyret.org. See the
documentation for details:
https://www.pyret.org/docs/latest/s_spies.html
The type checker is getting significant use this fall and improving
accordingly, thanks to Matt Kolosick's work. This release includes a number of
type-checker bug fixes and improvements to inference of annotations from tests.
https://www.pyret.org/docs/latest/type-check.html
Also, you can now run the type checker at the CLI with the --type-check option.
Jack Wrenn has improved the language and precision of a number of
error messages.
Several performance improvements are included, several UI nitpicks are fixed,
and around 100 issues are closed since our last early-summer update:
https://github.com/brownplt/pyret-lang/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aclosed%20updated%3A%3E2017-07-14%20
https://github.com/brownplt/code.pyret.org/issues?utf8=%E2%9C%93&q=is%3Aissue%20is%3Aclosed%20updated%3A%3E2017-07-14%20
Cheers!
The Pyret Crew