Guest User

Untitled

a guest
May 16th, 2018
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.52 KB | None | 0 0
  1. ((module tak racket
  2. (provide/contract
  3. (tak (-> number? number? number? (-> number? number?) number?)))
  4. (define (tak x y z k)
  5. (if (not (< y x))
  6. (k z)
  7. (tak
  8. (- x 1)
  9. y
  10. z
  11. (lambda (v1)
  12. (tak
  13. (- y 1)
  14. z
  15. x
  16. (lambda (v2) (tak (- z 1) x y (lambda (v3) (tak v1 v2 v3 k))))))))))
  17. (module nums racket (provide/contract (a number?) (b number?) (c number?)))
  18. (require 'tak 'nums)
  19. (tak a b c (lambda (x) x)))
  20.  
  21.  
  22. =====================================================================
  23.  
  24. ((module tak racket
  25. (provide/contract
  26. (tak (-> number? number? number? (-> number? number?) number?)))
  27. (define (tak x y z k)
  28. (if (not (< y x))
  29. (k z)
  30. (tak
  31. (- x 1)
  32. y
  33. z
  34. (lambda (v1)
  35. (tak
  36. (- y 1)
  37. z
  38. x
  39. (lambda (v2) (tak (- z 1) x y (lambda (v3) (tak v1 v2 v3 k))))))))))
  40. (module nums racket (provide/contract (a number?) (b number?) (c number?)))
  41. (module concolic racket
  42. (provide/contract (concolic-main (-> any/c)))
  43. (require 'tak 'nums)
  44. (define (concolic-main) (tak a b c (lambda (x) x)))))
  45.  
  46.  
  47. =====================================================================
  48.  
  49. ((module mtak racket
  50. (provide/contract
  51. (tak
  52. (->
  53. (flat int?)
  54. (->
  55. (flat int?)
  56. (-> (flat int?) (-> (-> (flat int?) (flat int?)) (flat int?)))))))
  57. (define tak
  58. (λ tak
  59. (x)
  60. (λ unused
  61. (y)
  62. (λ unused
  63. (z)
  64. (λ unused
  65. (k)
  66. (((if (not (< y x))) (k z))
  67. ((((tak (- x 1)) y) z)
  68. (λ unused
  69. (v1)
  70. ((((tak (- y 1)) z) x)
  71. (λ unused
  72. (v2)
  73. ((((tak (- z 1)) x) y)
  74. (λ unused (v3) ((((tak v1) v2) v3) k))))))))))))))
  75. (module mnums racket
  76. (provide/contract (a (flat int?)) (b (flat int?)) (c (flat int?))))
  77. (module concolic racket
  78. (provide/contract (concolic-main (-> (flat bool?) any/c)))
  79. (require (submod ".." mtak) (submod ".." mnums))
  80. (define concolic-main
  81. (λ concolic-main (unused) ((((tak a) b) c) (λ unused (x) x))))))
  82.  
  83.  
  84. =====================================================================
  85.  
  86. (let ((mtak@tak
  87. (λ tak
  88. (x)
  89. (λ unused
  90. (y)
  91. (λ unused
  92. (z)
  93. (λ unused
  94. (k)
  95. (((if (not (< y x))) (k z))
  96. ((((tak (- x 1)) y) z)
  97. (λ unused
  98. (v1)
  99. ((((tak (- y 1)) z) x)
  100. (λ unused
  101. (v2)
  102. ((((tak (- z 1)) x) y)
  103. (λ unused (v3) ((((tak v1) v2) v3) k))))))))))))))
  104. (let ((concolic@mtak@tak
  105. (contract
  106. (->
  107. (flat int?)
  108. (->
  109. (flat int?)
  110. (-> (flat int?) (-> (-> (flat int?) (flat int?)) (flat int?)))))
  111. mtak@tak
  112. mtak
  113. concolic)))
  114. (let ((concolic@mnums@a (contract (flat int?) mnums@a mnums concolic))
  115. (concolic@mnums@b (contract (flat int?) mnums@b mnums concolic))
  116. (concolic@mnums@c (contract (flat int?) mnums@c mnums concolic)))
  117. (let ((concolic@concolic-main
  118. (λ concolic-main
  119. (unused)
  120. ((((concolic@mtak@tak concolic@mnums@a) concolic@mnums@b)
  121. concolic@mnums@c)
  122. (λ unused (x) x)))))
  123. (concolic@concolic-main (• Xarg))))))
Add Comment
Please, Sign In to add comment