git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Expose version at runtime

This commit allows programs that depend on `purescript` to ask what version of it they've got at runtime. This was motivated by Pursuit, where we want to show which version of a particular package is being used. Specifically, we want to be able to say things like "this is the documentation for the prelude in PureScript 0.6.8". refs #purescript/pursuit/34

commit5d886a4f95324d57dfc23e0228e2029dc7ff8f46 authorHarry Garrood <harry@garrood.me> dateSat 28 Feb 2015, 23:01 (12 years ago) parent7caa01d
1 file changed+7
src/Language/PureScript.hs+7
src/Language/PureScript.hs+7
@@ -27,6 +27,7 @@ module Language.PureScript
2727 , MonadMake(..)
2828 , make
2929 , prelude
30+ , version
3031 ) where
3132
3233import Data.FileEmbed (embedFile)
@@ -34,6 +35,7 @@ import Data.Function (on)
3435import Data.List (sortBy, groupBy, intercalate)
3536import Data.Maybe (fromMaybe)
3637import Data.Time.Clock
38+import Data.Version (Version)
3739import qualified Data.Traversable as T (traverse)
3840import qualified Data.ByteString.UTF8 as BU
3941import qualified Data.Map as M
@@ -66,6 +68,8 @@ import Language.PureScript.Types as P
6668import qualified Language.PureScript.CoreFn as CoreFn
6769import qualified Language.PureScript.Constants as C
6870
71+import qualified Paths_purescript as Paths
72+
6973-- |
7074-- Compile a collection of modules
7175--
@@ -267,3 +271,6 @@ importPrelude = addDefaultImport (ModuleName [ProperName C.prelude])
267271
268272prelude :: String
269273prelude = BU.toString $(embedFile "prelude/prelude.purs")
274+
275+version :: Version
276+version = Paths.version