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