| 1 |
|
| 2 | echo 'This is a shell script with OSH extensions!'
|
| 3 | echo
|
| 4 |
|
| 5 | var x = 1 + 2*3
|
| 6 |
|
| 7 | echo "x: $x"
|
| 8 |
|
| 9 | # NOTE: we will take over 'set'
|
| 10 | setvar x += 1
|
| 11 |
|
| 12 | echo "x: $x"
|
| 13 |
|
| 14 | var mylist = [1, 2, 3]
|
| 15 |
|
| 16 | var y = mylist[1] * 10
|
| 17 |
|
| 18 | echo "y: $y"
|
| 19 |
|
| 20 | var list2 = mylist ++ [4, 5]
|
| 21 |
|
| 22 | # TODO: $json(list) should print [1,2,3,4,5]?
|
| 23 | #echo $list2
|
| 24 |
|
| 25 | # This is a more explicit representation.
|
| 26 | pp cell list2
|
| 27 |
|
| 28 | str1='shell string' # traditinoal shell-style assignment
|
| 29 |
|
| 30 | # Oil assignment
|
| 31 | var str2 = "Oil string"
|
| 32 |
|
| 33 | var str3 = str1 ++ str2
|
| 34 |
|
| 35 | echo "str3 = $str3"
|
| 36 |
|
| 37 |
|
| 38 |
|
| 39 | #var f1 = 1.23
|
| 40 | #var f2 = 3.45
|
| 41 |
|
| 42 |
|
| 43 |
|
| 44 | # TODO:
|
| 45 | # - lexing
|
| 46 | # - single-quoted strings
|
| 47 | # - floats
|
| 48 | # - parsing
|
| 49 | # - dicts
|
| 50 | # - comments at end of line
|
| 51 | # - eval
|
| 52 | # - Mutate variables with 'setvar'
|
| 53 |
|