• Stars
    star
    144
  • Rank 250,725 (Top 6 %)
  • Language TLA
  • Created over 2 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Learn TLA+ for free! No prior experience necessary!

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 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

More Repositories

1

awesome-cold-showers

For when people get too hyped up about things
6,601
star
2

lets-prove-leftpad

Proving leftpad correct in a dozen different ways
SystemVerilog
585
star
3

learntla

A TLA+ guide
CSS
278
star
4

autohotkey-scripts

Some of my AutoHotKey scripts
AutoHotkey
196
star
5

tlacli

A script for running TLA+/TLC from the command line
Python
77
star
6

alloydocs

Proposed documentation for alloytools.org
Python
64
star
7

hacker-test-history

Let's explain all the hacker test questions!
42
star
8

aws-lambda-send-to-slack

A quick lambda script that forwards sns messages to slack
JavaScript
34
star
9

tla.vim

Vim plugin for TLA+ and PlusCal
Vim Script
29
star
10

tla-graphing-demo

A demo of analyzing a TLA+ state graph
Python
27
star
11

tla-snippets

A collection of useful TLA+ operators
TLA
21
star
12

gpt-tricks

A collection of useful uses of GPT (and other LLMs), organized as examples
16
star
13

safehouse

Ostensibly a "scale-invariant" "headless" "developer-targeted" thingimajig, actually a mental health tool.
Python
15
star
14

dotfiles

Vim Script
8
star
15

sphinx-github-action-test

A quick repo for testing compiling a sphinx doc and syncing it with S3
3
star
16

tutor

Helps you with math! If you get a problem wrong, tells you why and how you got it wrong.
Python
2
star
17

tla-pygments

A terrible pygments plugin from a terrible human
Python
2
star
18

bad-ideas

Simple problems, terrible solutions.
Shell
1
star
19

wordalyzer

Python
1
star
20

knacks

Python
1
star
21

xmlaatot

XML as a Tool of Thought
1
star
22

rsl

A turing tarpit with multiple registers!
Python
1
star
23

smlcalc

A programmable calculator written in sml/nj.
Standard ML
1
star
24

vim-pivot

Lets you swap text elements around a pivot, eg (a,b) -> (b,a)
Vim Script
1
star
25

minotaur

A Python implementation of Robert Abbott's amazing Theseus and the Minotaur game.
Python
1
star