aboutsummaryrefslogtreecommitdiff
path: root/spec/outputs/codes_from_doc.lua
diff options
context:
space:
mode:
Diffstat (limited to 'spec/outputs/codes_from_doc.lua')
-rw-r--r--spec/outputs/codes_from_doc.lua60
1 files changed, 58 insertions, 2 deletions
diff --git a/spec/outputs/codes_from_doc.lua b/spec/outputs/codes_from_doc.lua
index a5412ab..644b7c3 100644
--- a/spec/outputs/codes_from_doc.lua
+++ b/spec/outputs/codes_from_doc.lua
@@ -20,6 +20,38 @@ local inventory = {
20 } 20 }
21 } 21 }
22} 22}
23local map
24map = function(arr, action)
25 local _accum_0 = { }
26 local _len_0 = 1
27 for _index_0 = 1, #arr do
28 local item = arr[_index_0]
29 _accum_0[_len_0] = action(item)
30 _len_0 = _len_0 + 1
31 end
32 return _accum_0
33end
34local filter
35filter = function(arr, cond)
36 local _accum_0 = { }
37 local _len_0 = 1
38 for _index_0 = 1, #arr do
39 local item = arr[_index_0]
40 if cond(item) then
41 _accum_0[_len_0] = item
42 _len_0 = _len_0 + 1
43 end
44 end
45 return _accum_0
46end
47local reduce
48reduce = function(arr, init, action)
49 for _index_0 = 1, #arr do
50 local item = arr[_index_0]
51 init = action(init, item)
52 end
53 return init
54end
23print(reduce(filter(map({ 55print(reduce(filter(map({
24 1, 56 1,
25 2, 57 2,
@@ -1026,12 +1058,24 @@ local _len_0 = 1
1026for i = 1, 20 do 1058for i = 1, 20 do
1027 if i % 2 == 0 then 1059 if i % 2 == 0 then
1028 _accum_0[_len_0] = i * 2 1060 _accum_0[_len_0] = i * 2
1061 _len_0 = _len_0 + 1
1029 else 1062 else
1030 _accum_0[_len_0] = i 1063 _accum_0[_len_0] = i
1064 _len_0 = _len_0 + 1
1031 end 1065 end
1032 _len_0 = _len_0 + 1
1033end 1066end
1034doubled_evens = _accum_0 1067doubled_evens = _accum_0
1068local first_large
1069local _accum_0
1070local _list_0 = numbers
1071for _index_0 = 1, #_list_0 do
1072 local n = _list_0[_index_0]
1073 if n > 10 then
1074 _accum_0 = n
1075 break
1076 end
1077end
1078first_large = _accum_0
1035local func_a 1079local func_a
1036func_a = function() 1080func_a = function()
1037 for i = 1, 10 do 1081 for i = 1, 10 do
@@ -3189,12 +3233,24 @@ local _len_0 = 1
3189for i = 1, 20 do 3233for i = 1, 20 do
3190 if i % 2 == 0 then 3234 if i % 2 == 0 then
3191 _accum_0[_len_0] = i * 2 3235 _accum_0[_len_0] = i * 2
3236 _len_0 = _len_0 + 1
3192 else 3237 else
3193 _accum_0[_len_0] = i 3238 _accum_0[_len_0] = i
3239 _len_0 = _len_0 + 1
3194 end 3240 end
3195 _len_0 = _len_0 + 1
3196end 3241end
3197doubled_evens = _accum_0 3242doubled_evens = _accum_0
3243local first_large
3244local _accum_0
3245local _list_0 = numbers
3246for _index_0 = 1, #_list_0 do
3247 local n = _list_0[_index_0]
3248 if n > 10 then
3249 _accum_0 = n
3250 break
3251 end
3252end
3253first_large = _accum_0
3198local func_a 3254local func_a
3199func_a = function() 3255func_a = function()
3200 for i = 1, 10 do 3256 for i = 1, 10 do