Skip to content

Instantly share code, notes, and snippets.

@evertedsphere
Created April 18, 2020 04:39
Show Gist options
  • Save evertedsphere/bbb77d654695b8729abd21f996c2af84 to your computer and use it in GitHub Desktop.
Save evertedsphere/bbb77d654695b8729abd21f996c2af84 to your computer and use it in GitHub Desktop.
TextTT s-expression language
(fn
#:name Main_main
#:args []
#:body (app #:fn PrimIO_putStrLn #:args [(constant #:type 'string #:val "hello world")]))
(fn
#:name Prelude_case__3176_3342
#:args [arg_0 arg_1]
#:body
(con-case
#:bind-var sc0
#:bind-body arg_1
#:tag-of sc0
#:cases
[(con-alt #:tag 0 #:rhs (constant #:type 'big-int #:val 0))
(con-alt
#:tag 1
#:rhs
(prim-app
#:op +Integer
#:args
[(constant #:type 'big-int #:val 1)
(prim-app
#:op -Integer
#:args
[arg_0
(app
#:fn (call Prelude_fromInteger_Num__Integer)
#:args [(constant #:type 'big-int #:val 1)])])]))]))
(fn
#:name Prelude_fromInteger_Num__Integer
#:args []
#:body (lam #:var x_0 #:body x_0))
(fn
#:name Prelude___Impl_Num_Integer
#:args []
#:body
(con #:tag 0
#:args
['erased
(lam #:var arg_1928
#:body
(lam #:var arg_1929
#:body
(app
#:fn (app #:fn (call Prelude_-zpl_Num__Integer) #:args [arg_1928])
#:args [arg_1929])))
(lam #:var arg_1930
#:body
(lam #:var arg_1931
#:body
(app
#:fn (app #:fn (call Prelude_-zst_Num__Integer) #:args [arg_1930])
#:args [arg_1931])))
(lam #:var arg_1932
#:body (app
#:fn (call Prelude_fromInteger_Num__Integer)
#:args [arg_1932]))]))
(fn
#:name Prelude_-zpl_Num__Integer
#:args []
#:body (lam #:var x_0
#:body (lam #:var x_1
#:body (prim-app #:op +Integer
#:args [x_0 x_1]))))
(fn
#:name Prelude_-zst_Num__Integer
#:args []
#:body (lam #:var x_0
#:body (lam #:var x_1
#:body (prim-app #:op *Integer
#:args [x_0 x_1]))))
(fn
#:name Prelude_id
#:args [arg_0 arg_1]
#:body arg_1)
(fn
#:name PrimIO_case__307_329
#:args [arg_0 arg_1 arg_2 arg_3]
#:body (app #:fn PrimIO_unsafeDestroyWorld #:args ['erased 'erased arg_3]))
(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_putStrLn
#:args [arg_0]
#:body (app #:fn PrimIO_putStr
#:args [(prim-app #:op ++
#:args [arg_0
(constant #:type 'string
#:val "\u000a")])]))
(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]))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment