(import java.lang.System) (require "./another" as another) (ann-class java.lang.String) (ann-class java.io.PrintStream methods (: println (-> [java.lang.String] Void))) (ann-class java.lang.System fields (: out java.io.PrintStream)) (defclass Tagged [[java.lang.String tag] [java.lang.Object value]]) (definterface Function (: apply (-> [java.lang.Object] java.lang.Object))) (defclass Tuple0 []) (defclass Tuple1 [[java.lang.Object _0]]) (defclass Tuple2 [[java.lang.Object _0] [java.lang.Object _1]]) (def const "IDENTITY") (def sample (#Tag "value")) (def (constant x y) x) (def (main args) (if true (_. (_.. System out) (println ((lambda [x y] x) "TRUE" "YOLO"))) (_. (_.. System out) (println "FALSE")))) #( (let output ((lambda [x y] x) "TRUE" "YOLO") (_. (_.. System out) (println output))) )# #( (let f (lambda [x y] x) (_. (_.. System out) (println (f "TRUE" "YOLO")))) )# ## ((lambda [x y] (_. (_.. System out) (println x))) "TRUE" "YOLO") ## (_. (_.. System out) (println ((lambda [x y] x) "TRUE" "YOLO")))