module Main where
{
import Control.Monad.Reference;
import Data.Witness;
import Platform.JavaVM;
import Foreign.JavaVM.VM;
message :: JavaString;
message = "Hello, World!";
main :: IO ();
main = vmRun [] (do
{
systemClass <- vmFindClass "java/lang/System";
outRef <- vmGetStaticField systemClass (MkMemberNameType "out" (MkObjectType "java/io/PrintStream"));
out <- get outRef;
cref <- vmFindClass "java/io/PrintStream";
method <- vmGetMethod cref (MkMemberNameType "println" (MkFunctionType [MkArrayType MkCharType] MkVoidType));
arr <- vmNewArray Tchar (fromIntegral (length message));
vmSetArrayRegion arr 0 message;
method Nothing out [Any arr];
});
}