This commit removes almost everything from the repo. This is in
preparation for bringing in the new Trieste based frontend.
The commit is very aggressive in removing things, but old stuff
can be reinstated from the `old_version` branch.
The aim is to ensure everything in the repo is consistent, so we
will need to PR in any documentation and code.
* Fix region_rc to use correct method
* Fix bug in weak reference count
The existing implementation has a bug in promoting a weak reference
count to strong. This address this bug, and
documents the fix, and provides a proof of the properties using
starling.
Some previous documents are being removed because the new ones are more
thorough in describing the language concepts.
Other documents are being moved into the internal directory so that we
can keep all in-design documents into one place.
Idealy, those will eventually promote new directories (tutorial,
standard), containing more formal and complete descriptions.
This is work in progress towards a tutorial like Pony
(https://tutorial.ponylang.io/). But first, we need to make sure the
documentation is accurate with the syntax and semantics of the language.
The overall idea is to write each of the "chapters" as a separate
document and then when we're happy with their contents, we can collate
them into a tutorial via some existing document handling software (like
Pony did).
Note that this is now meant to be correct, so all examples must conform
to the expected syntax and semantics and we should have no more
hand-waving code. If any of the examples are syntactically or
semantically wrong, we need to fix them now.
Also note that I'm not the best person to write this document, as there
are a lot of the syntax and semantics that I don't know or am confused
about, so please double check that what I wrote is correct. It very
likely won't be.
Co-authored-by: David Chisnall <davidchisnall@users.noreply.github.com>
Co-authored-by: Sean T Allen <sean@seantallen.com>
Co-authored-by: Nathaniel Wesley Filardo <VP331RHQ115POU58JFRLKB7OPA0L18E3@cmx.ietfng.org>
After writing a document explaining that 'character' is an overloaded
name and no one agrees on what it means, it's somewhat embarrassing to
then use it in a proposed API.
* Add interoperability document, describing the sandbox functionality
This is a very early preview of what we'll do with sandboxing, so some
of it may be too vague, some of it probably wrong, but this is a preview
of what the functionality will look like in the compiler.
* Respond to reviews
* Moved to one line per phrase, no line breaks, to make reviews easier.
* Fixed numbered/bullet lists.
* Added many of David's comments verbatim.
* Tried to reword confusing and misleading statements without getting
bogged into implementation details.
* review comments
* Complete rewrite after discussions
* Small corrections
* Rewrite document based on last meeting
* add explicit type c-tor for literals to make the type clear
Present authors in blog posts and clean up some of the styling slightly.
Blog posts can specify an array as `authors:` instead of a single author
as `author:`. These will be sorted by the sort key in the people yaml file
and put in the by line.