Subversion

Galculator

?curdirlinks? - Rev 1

?prevdifflink? - Blame



{-# LANGUAGE FlexibleContexts #-}
{-# OPTIONS_GHC -Wall #-}

-------------------------------------------------------------------------------

{- |
Module      :  Language.Module.Refresh
Description :  Operations for refreshing the variable names.
Copyright   :  (c) Paulo Silva
License     :  LGPL

Maintainer  :  paufil@di.uminho.pt
Stability   :  experimental
Portability :  portable

-}


-------------------------------------------------------------------------------

module Language.Module.Refresh (
  refresh
 ) where

import Control.Monad.Fresh
import qualified Language.Law.Refresh as L
import Language.Module.SyntaxADT
import qualified Language.R.Refresh as R

-------------------------------------------------------------------------------

refresh :: MonadFresh [String] String m => ModuleS -> m ModuleS
refresh (ModuleS nm laws gcs defs) = do
   laws' <- mapM L.refresh laws
   gcs'  <- mapM R.refresh gcs
   defs' <- mapM R.refresh defs
   return $ ModuleS nm laws' gcs' defs'

-------------------------------------------------------------------------------

 

Theme by Vikram Singh | Powered by WebSVN v2.3.3