atomo-0.4.0.2: src/Atomo/Kernel/Environment.hs
{-# LANGUAGE QuasiQuotes #-}
module Atomo.Kernel.Environment where
import System.Environment
import Atomo
load :: VM ()
load = do
([p|Environment|] =::) =<< eval [e|Object clone|]
[p|Environment arguments|] =:
liftM (list . map string) (liftIO getArgs)
[p|Environment program-name|] =:
liftM string $ liftIO getProgName
[p|Environment get: (name: String)|] =:
getString [e|name|]
>>= liftM string . liftIO . getEnv
[p|Environment all|] =: do
env <- liftIO getEnvironment
assocs <- forM env $ \(k, v) ->
dispatch (keyword ["->"] [string k, string v])
return $ list assocs