diff options
| author | Josh Rahm <joshuarahm@gmail.com> | 2026-01-14 00:09:26 -0700 |
|---|---|---|
| committer | Josh Rahm <joshuarahm@gmail.com> | 2026-01-14 00:11:37 -0700 |
| commit | f216280bc0fdc4a6f00187dba1d1ddc22b54097d (patch) | |
| tree | 64637e9df49011b3ec81738b4347ab7a97e88980 /montis/src/Montis/Core/World | |
| parent | cc6302ee2073d1ea40608abb77ca6019feca4a2a (diff) | |
| download | montis-main.tar.gz montis-main.tar.bz2 montis-main.zip | |
It makes a bit more sense.
Diffstat (limited to 'montis/src/Montis/Core/World')
| -rw-r--r-- | montis/src/Montis/Core/World/Interface.hs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/montis/src/Montis/Core/World/Interface.hs b/montis/src/Montis/Core/World/Interface.hs new file mode 100644 index 0000000..39d4e4c --- /dev/null +++ b/montis/src/Montis/Core/World/Interface.hs @@ -0,0 +1,20 @@ +-- | Provides the world interface through foreign exports. +module Montis.Core.World.Interface where + +import Data.ByteString (ByteString) +import Data.Data (Typeable) +import Data.Singletons.Decide (Void) +import Foreign (Ptr, StablePtr, Word32) +import Foreign.C (CChar) +import Montis.Core.State (SelfPtr) + +-- type OpqStT l w = StablePtr (Context l w, State l w) + +class OpaqueState s where + hotStart :: SelfPtr -> ByteString -> IO s + + coldStart :: SelfPtr -> IO s + + marshalState :: s -> ByteString + + teardown :: s -> IO () |