Skip to content

Instantly share code, notes, and snippets.

@evertedsphere
Created April 17, 2020 16:20
Show Gist options
  • Save evertedsphere/4e91bdf75a18a44cf7393ecec390cede to your computer and use it in GitHub Desktop.
Save evertedsphere/4e91bdf75a18a44cf7393ecec390cede to your computer and use it in GitHub Desktop.
TextTT s-expression format example
(^fn
:name prim__add_Int
:args [arg_0 arg_1]
:body (^prim-app :op +Int :args [arg_0 arg_1]))
(^fn
:name prim__add_Integer
:args [arg_0 arg_1]
:body (^prim-app :op +Integer :args [arg_0 arg_1]))
(^fn
:name prim__sub_Int
:args [arg_0 arg_1]
:body (^prim-app :op -Int :args [arg_0 arg_1]))
(^fn
:name prim__sub_Integer
:args [arg_0 arg_1]
:body (^prim-app :op -Integer :args [arg_0 arg_1]))
(^fn
:name prim__mul_Int
:args [arg_0 arg_1]
:body (^prim-app :op *Int :args [arg_0 arg_1]))
(^fn
:name prim__mul_Integer
:args [arg_0 arg_1]
:body (^prim-app :op *Integer :args [arg_0 arg_1]))
(^fn
:name prim__lt_Integer
:args [arg_0 arg_1]
:body (^prim-app :op <Integer :args [arg_0 arg_1]))
(^fn
:name prim__lte_Integer
:args [arg_0 arg_1]
:body (^prim-app :op <=Integer :args [arg_0 arg_1]))
(^fn
:name prim__eq_Integer
:args [arg_0 arg_1]
:body (^prim-app :op ==Integer :args [arg_0 arg_1]))
(^fn
:name prim__eq_Char
:args [arg_0 arg_1]
:body (^prim-app :op ==Char :args [arg_0 arg_1]))
(^fn
:name prim__gte_Integer
:args [arg_0 arg_1]
:body (^prim-app :op >=Integer :args [arg_0 arg_1]))
(^fn
:name prim__gt_Integer
:args [arg_0 arg_1]
:body (^prim-app :op >Integer :args [arg_0 arg_1]))
(^fn
:name prim__strHead
:args [arg_0]
:body (^prim-app :op op_strhead :args [arg_0]))
(^fn
:name prim__strAppend
:args [arg_0 arg_1]
:body (^prim-app :op ++ :args [arg_0 arg_1]))
(^fn
:name prim__cast_IntString
:args [arg_0]
:body (^prim-app :op cast-Int-String :args [arg_0]))
(^fn
:name prim__cast_IntegerInt
:args [arg_0]
:body (^prim-app :op cast-Integer-Int :args [arg_0]))
(^fn
:name Main_triple
:args [arg_0]
:body
(^app
:fn
(^app
:fn (^call Prelude_asterisk_Num__Int)
:args [(^app :fn (^call Prelude_fromInteger_Num__Int)
:args [(^constant :type 'big-int :val 3)])])
:args [arg_0]))
(^fn
:name Main_minusify
:args [arg_0]
:body
(^app
:fn
(^app
:fn (^call Prelude_asterisk_Num__Int)
:args
[(^app
:fn Prelude_negate_Neg__Int
:args
[(^app :fn (^call Prelude_fromInteger_Num__Int)
:args [(^constant :type 'big-int :val 1)])])])
:args [arg_0]))
(^fn
:name Main_main
:args []
:body
(^app
:fn Prelude_print
:args
['erased
(^con
:tag 0
:args
['erased
(^lam :var x :body (^app :fn Prelude_show_Show__Int :args [x]))
(^lam
:var d
:body
(^lam
:var x
:body
(^app
:fn (^app :fn (^call Prelude_showPrec_Show__Int)
:args [d]) :args [x])))])
(^app
:fn Main_minusify
:args
[(^app
:fn Main_triple
:args
[(^app
:fn (^call Prelude_fromInteger_Num__Int)
:args [(^constant :type 'big-int :val 77)])])])]))
(^fn
:name PrimIO_unsafePerformIO
:args [arg_0 arg_1]
:body (^app :fn PrimIO_unsafeCreateWorld
:args ['erased
(^lam :var w
:body (^app :fn PrimIO_case__307_329
:args ['erased
arg_1
'erased
(^app :fn arg_1 :args [w])]))]))
(^fn
:name PrimIO_unsafeDestroyWorld
:args [arg_0 arg_1 arg_2]
:body arg_2)
(^fn
:name PrimIO_unsafeCreateWorld
:args [arg_0 arg_1]
:body (^app :fn arg_1 :args ['world]))
(^fn
:name PrimIO_putStr
:args [arg_0]
:body (^lam :var x_0
:body (^ext-prim-app :name PrimIO_prim__putStr
:args [arg_0 x_0])))
(^fn
:name PrimIO_prim__putStr
:args [arg_0 arg_1]
:body (^ext-prim-app :name PrimIO_prim__putStr :args [arg_0 arg_1]))
(^fn
:name PrimIO_primIO
:args [arg_0 arg_1]
:body arg_1)
(^fn
:name Builtin_assert_total
:args [arg_0 arg_1]
:body arg_1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment