https://github.com/hwayne/learntla-v2
Learn TLA+ for free! No prior experience necessary!
https://github.com/hwayne/learntla-v2
book formal-methods formal-specification formal-verification tla tlaplus
Last synced: 4 months ago
JSON representation
Learn TLA+ for free! No prior experience necessary!
- Host: GitHub
- URL: https://github.com/hwayne/learntla-v2
- Owner: hwayne
- License: other
- Created: 2022-01-27T05:27:06.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-02-12T19:49:06.000Z (over 1 year ago)
- Last Synced: 2025-03-03T04:14:40.183Z (over 1 year ago)
- Topics: book, formal-methods, formal-specification, formal-verification, tla, tlaplus
- Language: TLA
- Homepage: https://www.learntla.com
- Size: 2.14 MB
- Stars: 209
- Watchers: 14
- Forks: 43
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Learntla V2
A guide to learning the TLA+ specification language. Going to be a gigantic mess right now, will be a while before the dust settles.
## Usage
### Installation
Requires Python 3.10.
```
git clone https://github.com/hwayne/learntla-v2.git
python -m venv learntla-v2
# Activate the venv yo
python -m pip install -r requirements.txt
```
### Building
```
# with todos
sphinx-build docs/ docs/_build/html/
# without todos
sphinx-build -D todo_include_todos=0 docs/ docs/_build/html/
# check links for issues
sphinx-build -b linkcheck docs/ docs/_build/
```
### Working with Specs
See the [raw-specs readme](/raw-specs/README.md) for explanation of what these are for.
To expand an xml template:
```
# dryrun
python expand_template.py --dryrun file.xml
# actually write files
python expand_template.py file.xml
```
To process a spec, write
```
# one file
python process_spec.py file.tla
# every file in a folder
ConvertFolder.ps1 folder
```
### Watcher.ps1
Builds the site whenever an rst file changes. Can be ignored, unnecessary for development.
Requires
```
Install-Module -Name FSWatcherEngineEvent
```