Advertisement
Guest User

Untitled

a guest
Apr 19th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.12 KB | None | 0 0
  1. {-# LANGUAGE EmptyDataDecls, EmptyCase, ExistentialQuantification,
  2. ScopedTypeVariables, NoMonomorphismRestriction, Rank2Types,
  3. PatternSynonyms #-}
  4. module MAlonzo.Code.Qfasttail where
  5.  
  6. import MAlonzo.RTE (coe, erased, AgdaAny, addInt, subInt, mulInt,
  7. quotInt, remInt, geqInt, ltInt, eqInt, eqFloat, add64, sub64,
  8. mul64, quot64, rem64, lt64, eq64, word64FromNat, word64ToNat)
  9. import qualified MAlonzo.RTE
  10. import qualified Data.Text
  11. import qualified MAlonzo.Code.Agda.Builtin.IO
  12. import qualified MAlonzo.Code.Agda.Builtin.List
  13. import qualified MAlonzo.Code.Agda.Builtin.String
  14. import qualified MAlonzo.Code.Agda.Builtin.Unit
  15. import qualified MAlonzo.Code.Decidable
  16. import qualified MAlonzo.Code.IO
  17. import qualified MAlonzo.Code.List
  18. import qualified MAlonzo.Code.Nat
  19.  
  20. name4 = "fasttail.findzero"
  21. d4 :: [Integer] -> MAlonzo.Code.Decidable.T24
  22. d4 v0
  23. = case coe v0 of
  24. [] -> coe (\ v1 -> MAlonzo.Code.Decidable.C30) erased
  25. (:) v1 v2
  26. -> let v3 = d4 (coe v2) in
  27. case coe v3 of
  28. MAlonzo.Code.Decidable.C28 v4
  29. -> coe
  30. (MAlonzo.Code.Decidable.C28
  31. (coe (\ v5 v6 v7 -> MAlonzo.Code.List.C110 v7) erased erased v4))
  32. MAlonzo.Code.Decidable.C30
  33. -> let v5 = MAlonzo.Code.Nat.d2 (coe (0 :: Integer)) (coe v1) in
  34. case coe v5 of
  35. MAlonzo.Code.Decidable.C28 v6
  36. -> coe
  37. (MAlonzo.Code.Decidable.C28
  38. (coe
  39. (\ v7 v8 v9 -> MAlonzo.Code.List.C104 v9) erased erased erased))
  40. MAlonzo.Code.Decidable.C30
  41. -> coe (\ v7 -> MAlonzo.Code.Decidable.C30) erased
  42. _ -> MAlonzo.RTE.mazUnreachableError
  43. _ -> MAlonzo.RTE.mazUnreachableError
  44. _ -> MAlonzo.RTE.mazUnreachableError
  45. name33 = "fasttail..absurdlambda"
  46. d33 :: MAlonzo.Code.List.T94 -> MAlonzo.Code.Decidable.T2
  47. d33 = erased
  48. name50 = "fasttail.mklist"
  49. d50 :: Integer -> [Integer]
  50. d50 v0
  51. = case coe v0 of
  52. 0 -> coe
  53. (MAlonzo.Code.Agda.Builtin.List.C22
  54. (coe (0 :: Integer)) (coe MAlonzo.Code.Agda.Builtin.List.C16))
  55. _ -> let v1 = subInt (coe v0) (coe (1 :: Integer)) in
  56. coe
  57. (MAlonzo.Code.Agda.Builtin.List.C22 (coe v0) (coe (d50 (coe v1))))
  58. name54 = "fasttail.test"
  59. d54 :: Integer -> [Integer]
  60. d54 v0
  61. = coe
  62. (MAlonzo.Code.Agda.Builtin.List.C22
  63. (coe (0 :: Integer)) (coe (d50 (coe v0))))
  64. name58 = "fasttail.runfindzero"
  65. d58 :: MAlonzo.Code.Agda.Builtin.String.T6
  66. d58
  67. = let v0 = d4 (coe (d54 (coe (500 :: Integer)))) in
  68. case coe v0 of
  69. MAlonzo.Code.Decidable.C28 v1
  70. -> coe (Data.Text.pack "Found. Done.")
  71. MAlonzo.Code.Decidable.C30
  72. -> coe (Data.Text.pack "Not found. Done.")
  73. _ -> MAlonzo.RTE.mazUnreachableError
  74. main = coe d64
  75. name64 = "fasttail.main"
  76. d64 ::
  77. MAlonzo.Code.Agda.Builtin.IO.T8
  78. AgdaAny MAlonzo.Code.Agda.Builtin.Unit.T6
  79. d64
  80. = coe
  81. (MAlonzo.Code.IO.du42
  82. (coe ()) (coe (MAlonzo.Code.IO.d150 (coe d58))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement