fork(1) download
  1. --[[
  2. fn x => fn y => fn z => if x then y else z
  3. --]]
  4. function _styx_builtin_if(c)
  5. return function(t)
  6. return function(f)
  7. if c then
  8. return t()
  9. else
  10. return f()
  11. end
  12. end
  13. end
  14. end
  15. f8 = {
  16. __call = function(self, p)
  17. local v1 = self['c1']
  18. local v2 = self['c2']
  19. local v3 = self['c3']
  20. local v6 = p
  21. local v1 = self['c1']
  22. local v2 = self['c2']
  23. local v3 = self['c3']
  24. return v2
  25. end
  26. }
  27. f23 = {
  28. __call = function(self, p)
  29. local v1 = p
  30. local v21 = {
  31. c1 = v1,
  32. }
  33. setmetatable(v21, f20)
  34. return v21
  35. end
  36. }
  37. f17 = {
  38. __call = function(self, p)
  39. local v1 = self['c1']
  40. local v2 = self['c2']
  41. local v3 = p
  42. local v1 = self['c1']
  43. local v2 = self['c2']
  44. local v4 = _styx_builtin_if
  45. local v1 = self['c1']
  46. local v2 = self['c2']
  47. local v5 = v4(v1)
  48. local v1 = self['c1']
  49. local v2 = self['c2']
  50. local v9 = {
  51. c1 = v1,
  52. c2 = v2,
  53. c3 = v3,
  54. }
  55. setmetatable(v9, f8)
  56. local v1 = self['c1']
  57. local v2 = self['c2']
  58. local v10 = v5(v9)
  59. local v1 = self['c1']
  60. local v2 = self['c2']
  61. local v14 = {
  62. c1 = v1,
  63. c2 = v2,
  64. c3 = v3,
  65. }
  66. setmetatable(v14, f13)
  67. local v1 = self['c1']
  68. local v2 = self['c2']
  69. local v15 = v10(v14)
  70. local v1 = self['c1']
  71. local v2 = self['c2']
  72. return v15
  73. end
  74. }
  75. f13 = {
  76. __call = function(self, p)
  77. local v1 = self['c1']
  78. local v2 = self['c2']
  79. local v3 = self['c3']
  80. local v11 = p
  81. local v1 = self['c1']
  82. local v2 = self['c2']
  83. local v3 = self['c3']
  84. return v3
  85. end
  86. }
  87. f20 = {
  88. __call = function(self, p)
  89. local v1 = self['c1']
  90. local v2 = p
  91. local v1 = self['c1']
  92. local v18 = {
  93. c1 = v1,
  94. c2 = v2,
  95. }
  96. setmetatable(v18, f17)
  97. local v1 = self['c1']
  98. return v18
  99. end
  100. }
  101.  
  102. local main = {}
  103. setmetatable(main, f23)
  104.  
  105. print(main(true)(1)(2))
  106. print(main(false)(1)(2))
Success #stdin #stdout 0.01s 2540KB
stdin
Standard input is empty
stdout
1
2