Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
GHC
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
4,260
Issues
4,260
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
398
Merge Requests
398
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Glasgow Haskell Compiler
GHC
Commits
c7c2d6c8
Commit
c7c2d6c8
authored
Aug 05, 2012
by
ian@well-typed.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Whitespace only in UniqFM
parent
668151c8
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
88 additions
and
95 deletions
+88
-95
compiler/utils/UniqFM.lhs
compiler/utils/UniqFM.lhs
+88
-95
No files found.
compiler/utils/UniqFM.lhs
View file @
c7c2d6c8
...
...
@@ -22,50 +22,43 @@ of arguments of combining function.
\begin{code}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# OPTIONS -fno-warn-tabs #-}
-- The above warning supression flag is a temporary kludge.
-- While working on this module you are encouraged to remove it and
-- detab the module (please do the detabbing in a separate patch). See
-- http://hackage.haskell.org/trac/ghc/wiki/Commentary/CodingStyle#TabsvsSpaces
-- for details
{-# OPTIONS -Wall #-}
module UniqFM (
-- * Unique-keyed mappings
UniqFM, -- abstract type
-- * Unique-keyed mappings
UniqFM, -- abstract type
-- ** Manipulating those mappings
emptyUFM,
unitUFM,
unitDirectlyUFM,
listToUFM,
listToUFM_Directly,
listToUFM_C,
addToUFM,addToUFM_C,addToUFM_Acc,
addListToUFM,addListToUFM_C,
addToUFM_Directly,
addListToUFM_Directly,
adjustUFM, alterUFM,
adjustUFM_Directly,
delFromUFM,
delFromUFM_Directly,
delListFromUFM,
plusUFM,
plusUFM_C,
minusUFM,
intersectUFM,
intersectUFM_C,
foldUFM, foldUFM_Directly,
mapUFM, mapUFM_Directly,
elemUFM, elemUFM_Directly,
filterUFM, filterUFM_Directly,
sizeUFM,
isNullUFM,
lookupUFM, lookupUFM_Directly,
lookupWithDefaultUFM, lookupWithDefaultUFM_Directly,
eltsUFM, keysUFM, splitUFM,
ufmToList,
joinUFM
emptyUFM,
unitUFM,
unitDirectlyUFM,
listToUFM,
listToUFM_Directly,
listToUFM_C,
addToUFM,addToUFM_C,addToUFM_Acc,
addListToUFM,addListToUFM_C,
addToUFM_Directly,
addListToUFM_Directly,
adjustUFM, alterUFM,
adjustUFM_Directly,
delFromUFM,
delFromUFM_Directly,
delListFromUFM,
plusUFM,
plusUFM_C,
minusUFM,
intersectUFM,
intersectUFM_C,
foldUFM, foldUFM_Directly,
mapUFM, mapUFM_Directly,
elemUFM, elemUFM_Directly,
filterUFM, filterUFM_Directly,
sizeUFM,
isNullUFM,
lookupUFM, lookupUFM_Directly,
lookupWithDefaultUFM, lookupWithDefaultUFM_Directly,
eltsUFM, keysUFM, splitUFM,
ufmToList,
joinUFM
) where
import Unique ( Uniquable(..), Unique, getKey )
...
...
@@ -82,95 +75,95 @@ import Data.Data
\end{code}
%************************************************************************
%*
*
%*
*
\subsection{The signature of the module}
%*
*
%*
*
%************************************************************************
\begin{code}
emptyUFM
:: UniqFM elt
isNullUFM
:: UniqFM elt -> Bool
unitUFM
:: Uniquable key => key -> elt -> UniqFM elt
emptyUFM
:: UniqFM elt
isNullUFM
:: UniqFM elt -> Bool
unitUFM
:: Uniquable key => key -> elt -> UniqFM elt
unitDirectlyUFM -- got the Unique already
:: Unique -> elt -> UniqFM elt
listToUFM
:: Uniquable key => [(key,elt)] -> UniqFM elt
:: Unique -> elt -> UniqFM elt
listToUFM
:: Uniquable key => [(key,elt)] -> UniqFM elt
listToUFM_Directly
:: [(Unique, elt)] -> UniqFM elt
listToUFM_C :: Uniquable key => (elt -> elt -> elt)
-> [(key, elt)]
:: [(Unique, elt)] -> UniqFM elt
listToUFM_C :: Uniquable key => (elt -> elt -> elt)
-> [(key, elt)]
-> UniqFM elt
addToUFM
:: Uniquable key => UniqFM elt -> key -> elt -> UniqFM elt
addListToUFM
:: Uniquable key => UniqFM elt -> [(key,elt)] -> UniqFM elt
addToUFM
:: Uniquable key => UniqFM elt -> key -> elt -> UniqFM elt
addListToUFM
:: Uniquable key => UniqFM elt -> [(key,elt)] -> UniqFM elt
addListToUFM_Directly :: UniqFM elt -> [(Unique,elt)] -> UniqFM elt
addToUFM_Directly
:: UniqFM elt -> Unique -> elt -> UniqFM elt
:: UniqFM elt -> Unique -> elt -> UniqFM elt
addToUFM_C
:: Uniquable key => (elt -> elt -> elt)
-- old -> new -> result
-> UniqFM elt
-- old
-> key -> elt
-- new
-> UniqFM elt
-- result
addToUFM_C
:: Uniquable key => (elt -> elt -> elt)
-- old -> new -> result
-> UniqFM elt
-- old
-> key -> elt
-- new
-> UniqFM elt
-- result
addToUFM_Acc
:: Uniquable key =>
(elt -> elts -> elts)
-- Add to existing
-> (elt -> elts)
-- New element
-> UniqFM elts
-- old
-> key -> elt
-- new
-> UniqFM elts
-- result
addToUFM_Acc
:: Uniquable key =>
(elt -> elts -> elts)
-- Add to existing
-> (elt -> elts)
-- New element
-> UniqFM elts
-- old
-> key -> elt
-- new
-> UniqFM elts
-- result
alterUFM :: Uniquable key =>
alterUFM :: Uniquable key =>
(Maybe elt -> Maybe elt) -- How to adjust
-> UniqFM elt
-- old
-> key
-- new
-> UniqFM elt
-- result
-> UniqFM elt
-- old
-> key
-- new
-> UniqFM elt
-- result
addListToUFM_C
:: Uniquable key => (elt -> elt -> elt)
-> UniqFM elt -> [(key,elt)]
-> UniqFM elt
addListToUFM_C
:: Uniquable key => (elt -> elt -> elt)
-> UniqFM elt -> [(key,elt)]
-> UniqFM elt
adjustUFM
:: Uniquable key => (elt -> elt) -> UniqFM elt -> key -> UniqFM elt
adjustUFM
:: Uniquable key => (elt -> elt) -> UniqFM elt -> key -> UniqFM elt
adjustUFM_Directly :: (elt -> elt) -> UniqFM elt -> Unique -> UniqFM elt
delFromUFM
:: Uniquable key => UniqFM elt -> key
-> UniqFM elt
delListFromUFM
:: Uniquable key => UniqFM elt -> [key] -> UniqFM elt
delFromUFM
:: Uniquable key => UniqFM elt -> key
-> UniqFM elt
delListFromUFM
:: Uniquable key => UniqFM elt -> [key] -> UniqFM elt
delFromUFM_Directly :: UniqFM elt -> Unique -> UniqFM elt
-- Bindings in right argument shadow those in the left
plusUFM
:: UniqFM elt -> UniqFM elt -> UniqFM elt
plusUFM
:: UniqFM elt -> UniqFM elt -> UniqFM elt
plusUFM_C
:: (elt -> elt -> elt)
-> UniqFM elt -> UniqFM elt -> UniqFM elt
plusUFM_C
:: (elt -> elt -> elt)
-> UniqFM elt -> UniqFM elt -> UniqFM elt
minusUFM
:: UniqFM elt1 -> UniqFM elt2 -> UniqFM elt1
minusUFM
:: UniqFM elt1 -> UniqFM elt2 -> UniqFM elt1
intersectUFM
:: UniqFM elt -> UniqFM elt -> UniqFM elt
intersectUFM_C
:: (elt1 -> elt2 -> elt3)
-> UniqFM elt1 -> UniqFM elt2 -> UniqFM elt3
intersectUFM
:: UniqFM elt -> UniqFM elt -> UniqFM elt
intersectUFM_C
:: (elt1 -> elt2 -> elt3)
-> UniqFM elt1 -> UniqFM elt2 -> UniqFM elt3
foldUFM
:: (elt -> a -> a) -> a -> UniqFM elt -> a
foldUFM
:: (elt -> a -> a) -> a -> UniqFM elt -> a
foldUFM_Directly:: (Unique -> elt -> a -> a) -> a -> UniqFM elt -> a
mapUFM
:: (elt1 -> elt2) -> UniqFM elt1 -> UniqFM elt2
mapUFM
:: (elt1 -> elt2) -> UniqFM elt1 -> UniqFM elt2
mapUFM_Directly :: (Unique -> elt1 -> elt2) -> UniqFM elt1 -> UniqFM elt2
filterUFM
:: (elt -> Bool) -> UniqFM elt -> UniqFM elt
filterUFM
:: (elt -> Bool) -> UniqFM elt -> UniqFM elt
filterUFM_Directly :: (Unique -> elt -> Bool) -> UniqFM elt -> UniqFM elt
sizeUFM
:: UniqFM elt -> Int
--hashUFM
:: UniqFM elt -> Int
elemUFM
:: Uniquable key => key -> UniqFM elt -> Bool
sizeUFM
:: UniqFM elt -> Int
--hashUFM
:: UniqFM elt -> Int
elemUFM
:: Uniquable key => key -> UniqFM elt -> Bool
elemUFM_Directly:: Unique -> UniqFM elt -> Bool
splitUFM :: Uniquable key => UniqFM elt -> key -> (UniqFM elt, Maybe elt, UniqFM elt)
-- Splits a UFM into things less than, equal to, and greater than the key
lookupUFM
:: Uniquable key => UniqFM elt -> key -> Maybe elt
-- Splits a UFM into things less than, equal to, and greater than the key
lookupUFM
:: Uniquable key => UniqFM elt -> key -> Maybe elt
lookupUFM_Directly -- when you've got the Unique already
:: UniqFM elt -> Unique -> Maybe elt
:: UniqFM elt -> Unique -> Maybe elt
lookupWithDefaultUFM
:: Uniquable key => UniqFM elt -> elt -> key -> elt
:: Uniquable key => UniqFM elt -> elt -> key -> elt
lookupWithDefaultUFM_Directly
:: UniqFM elt -> elt -> Unique -> elt
keysUFM
:: UniqFM elt -> [Unique]
-- Get the keys
eltsUFM
:: UniqFM elt -> [elt]
ufmToList
:: UniqFM elt -> [(Unique, elt)]
:: UniqFM elt -> elt -> Unique -> elt
keysUFM
:: UniqFM elt -> [Unique]
-- Get the keys
eltsUFM
:: UniqFM elt -> [elt]
ufmToList
:: UniqFM elt -> [(Unique, elt)]
\end{code}
...
...
@@ -191,7 +184,7 @@ instance Eq ele => Eq (UniqFM ele) where
instance Functor UniqFM where
fmap f = fmap f . unUFM
instance Traversable.Traversable UniqFM where
instance Traversable.Traversable UniqFM where
traverse f = Traversable.traverse f . unUFM
-}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment