github.com/qri-io/qri@v0.10.1-0.20220104210721-c771715036cb/transform/staticlark/testdata/all_syntax.star (about)

     1  load("math.star", "math")
     2  
     3  def some_vals():
     4    xs = [add_one(e) for e in range(4)]
     5    return xs
     6  
     7  def add_one(value):
     8    return value + 1
     9  
    10  def mult(a, b):
    11    return a * b
    12  
    13  def half(n):
    14    return n / 2
    15  
    16  def calc():
    17    def fact_iter(n):
    18      acc = 1
    19      for i in range(1, 10):
    20        acc = mult(acc, i)
    21        if i >= n:
    22          break
    23      return add_one(acc)
    24    return fact_iter(4)
    25  
    26  def yet_more():
    27    def fact_iter(n):
    28      return half(n-1)
    29    return math.floor(fact_iter(4.3))
    30  
    31  def do_math():
    32    num = 0
    33    for v in some_vals():
    34      num += v
    35    num += calc()
    36    num += yet_more()
    37    print(num)
    38  
    39  
    40  do_math()