diff --git a/pkg/hs/urbit-atom/.gitignore b/pkg/hs/urbit-atom/.gitignore index 777efe33d3..088be03c68 100644 --- a/pkg/hs/urbit-atom/.gitignore +++ b/pkg/hs/urbit-atom/.gitignore @@ -1 +1,2 @@ urbit-atom.cabal +dist-newstyle/ diff --git a/pkg/hs/urbit-atom/app/Main.hs b/pkg/hs/urbit-atom/app/Main.hs new file mode 100644 index 0000000000..f48b1cd0d7 --- /dev/null +++ b/pkg/hs/urbit-atom/app/Main.hs @@ -0,0 +1,30 @@ +module Main where + +import Prelude +import Urbit.Atom +import Urbit.Atom.Internal (bit, byt) + +main :: IO () +main = do + print (bit, byt) + f "a" + f "x" + f "aa" + f "ax" + f "aaa" + f "aax" + f "aaaa" + f "aaax" + f "aaaaa" + f "aaaax" + f "aaaaaa" + f "aaaaax" + f "aaaaaaa" + f "aaaaaax" + f "aaaaaaaa" + f "aaaaaaax" + f "aaaaaaaaa" + f "aaaaaaaax" + + where + f x = print (x, utf8Atom x) diff --git a/pkg/hs/urbit-atom/lib/Urbit/Atom/Internal.hs b/pkg/hs/urbit-atom/lib/Urbit/Atom/Internal.hs index 12370c0f7b..5f319a6853 100644 --- a/pkg/hs/urbit-atom/lib/Urbit/Atom/Internal.hs +++ b/pkg/hs/urbit-atom/lib/Urbit/Atom/Internal.hs @@ -50,6 +50,12 @@ import qualified Foreign.ForeignPtr.Unsafe as Ptr #error WORD_SIZE_IN_BITS must be either 32 or 64 #endif +bit :: Word +bit = BIT + +byt :: Word +byt = BYT + -------------------------------------------------------------------------------- diff --git a/pkg/hs/urbit-atom/package.yaml b/pkg/hs/urbit-atom/package.yaml index db6d6fe6c1..f1b955a07d 100644 --- a/pkg/hs/urbit-atom/package.yaml +++ b/pkg/hs/urbit-atom/package.yaml @@ -12,14 +12,27 @@ library: - -Werror - -O2 +executables: + urbit-atom: + source-dirs: app + main: Main.hs + dependencies: + - urbit-atom + ghc-options: + - -threaded + - -rtsopts + - -static + - -O2 + - "-with-rtsopts=-N" + dependencies: - - base - - bytestring - - ghc-prim - - integer-gmp - - primitive - - text - - vector + - base == 4.12.0.0 + - bytestring == 0.10.8.2 + - ghc-prim == 0.5.3 + - integer-gmp == 1.0.2.0 + - primitive == 0.6.4.0 + - text == 1.2.3.1 + - vector == 0.12.0.3 default-extensions: - ApplicativeDo