rule: name(params) WHEN activation_condition
[LET bindings]
THEN actions
[EXPIRES trigger]
[PRIORITY val]
activation_condition: bool_exp
binding : variable = expression ...
expression : variable | header_fields | arithm_op ...
z
Dockerfile + docker build . => Docker image
docker tag 66c76cea05bb image_name
docker run -i -t --name container_name image_name
bash
!$ - last argument of prev command
!* - all arguments of prev command
python
virtualenv env
translation unit | |
extern vs. static linkage |
automatically discover useful facts about programs dynamic tools can only infer likely invariants abstract state <- collections of concrete states
static alanysis sacrifices completeness?! but soundness is ok
iterative approximation
sound - all claims are true (no false positives) complete- if there is anything to claim, it will be claimed (no false negatives)
automatically discover useful facts about programs dynamic tools can only infer likely invariants abstract state <- collections of concrete states
static alanysis sacrifices completeness?! but soundness is ok
iterative approximation
sound - all claims are true (no false positives) complete- if there is anything to claim, it will be claimed (no false negatives)
automatically discover useful facts about programs dynamic tools can only infer likely invariants abstract state <- collections of concrete states
static alanysis sacrifices completeness?! but soundness is ok
iterative approximation
sound - all claims are true (no false positives) complete- if there is anything to claim, it will be claimed (no false negatives)
Little typer
- Normal forms
- Sameness according to a type
- 2 values the same <-> same normal form
- values the same if same constructor applied to the same values
- expression with constructor at top -> value
- constructors are the direct way of constructing expressions of that type
- value enough because the top-level ctor will dictate what happens next
- eliminators take apart values created by data constructors
- lambda is data ctor for functions
apt-get install -y libssl-dev python zlib1g make clang re2c lld | |
git clone https://github.com/llvm/llvm-project.git | |
git clone https://github.com/martine/ninja.git | |
git clone https://github.com/Kitware/CMake.git | |
cd ninja/ | |
CXX=clang++ ./configure.py --bootstrap | |
cp ninja /usr/bin/ | |
cd .. |