17 | module Compiler.Stablehlo.Dialect.Version
21 | ffi : String -> String
22 | ffi = libxla "c/stablehlo/dialect/Version.h"
25 | data Version = MkVersion GCAnyPtr
27 | %foreign (ffi "Version_delete")
28 | prim__delete : AnyPtr -> PrimIO ()
30 | %foreign (ffi "Version_getCurrentVersion")
31 | prim__versionGetCurrentVersion : PrimIO AnyPtr
34 | getCurrentVersion : HasIO io => io Version
35 | getCurrentVersion = do
36 | version <- primIO $
prim__versionGetCurrentVersion
37 | version <- onCollectAny' version (primIO . prim__delete)
38 | pure (MkVersion version)
40 | %foreign (ffi "Version_toString")
41 | prim__versionToString : GCAnyPtr -> PrimIO AnyPtr
44 | toString : HasIO io => Version -> io CppString
45 | toString (MkVersion version) = do
46 | str <- primIO $
prim__versionToString version
47 | pure (MkCppString str)