Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Shayne Fletcher
Glasgow Haskell Compiler
Commits
6d2b0b34
Commit
6d2b0b34
authored
Dec 12, 2006
by
Ian Lynagh
Browse files
Silence some warnings
parent
7db21c54
Changes
2
Hide whitespace changes
Inline
Side-by-side
utils/nofib-analyse/CmdLine.hs
View file @
6d2b0b34
...
...
@@ -19,18 +19,26 @@ import System.IO.Unsafe ( unsafePerformIO )
-----------------------------------------------------------------------------
-- Command line arguments
args
::
[
String
]
args
=
unsafePerformIO
getArgs
flags
::
[
CLIFlags
]
other_args
::
[
String
]
cmdline_errors
::
[
String
]
(
flags
,
other_args
,
cmdline_errors
)
=
getOpt
Permute
argInfo
args
default_tooquick_threshold
=
0.2
{- secs -}
::
Float
default_tooquick_threshold
,
tooquick_threshold
::
Float
default_tooquick_threshold
=
0.2
{- secs -}
tooquick_threshold
=
case
[
i
|
OptIgnoreSmallTimes
i
<-
flags
]
of
[]
->
default_tooquick_threshold
(
i
:
_
)
->
i
devs
,
nodevs
::
Bool
devs
=
OptDeviations
`
elem
`
flags
nodevs
=
OptNoDeviations
`
elem
`
flags
default_title
,
reportTitle
::
String
default_title
=
"NoFib Results"
reportTitle
=
case
[
t
|
OptTitle
t
<-
flags
]
of
[]
->
default_title
...
...
utils/nofib-analyse/GenUtils.lhs
View file @
6d2b0b34
...
...
@@ -85,7 +85,7 @@ HBC has it in one of its builtin modules
>
maybeMap
::
(
a
->
b
)
->
Maybe
a
->
Maybe
b
>
maybeMap
f
(
Just
a
)
=
Just
(
f
a
)
>
maybeMap
f
Nothing
=
Nothing
>
maybeMap
_
Nothing
=
Nothing
>
joinMaybe
::
(
a
->
a
->
a
)
->
Maybe
a
->
Maybe
a
->
Maybe
a
>
joinMaybe
_
Nothing
Nothing
=
Nothing
...
...
@@ -102,12 +102,12 @@ This will never terminate.
>
mkClosure
::
(
a
->
a
->
Bool
)
->
(
a
->
a
)
->
a
->
a
>
mkClosure
eq
f
=
match
.
iterate
f
>
where
>
match
(
a
:
b
:
c
)
|
a
`
eq
`
b
=
a
>
match
(
a
:
b
:
_
)
|
a
`
eq
`
b
=
a
>
match
(
_
:
c
)
=
match
c
>
foldb
::
(
a
->
a
->
a
)
->
[
a
]
->
a
>
foldb
f
[]
=
error
"can't reduce an empty list using foldb"
>
foldb
f
[
x
]
=
x
>
foldb
_
[]
=
error
"can't reduce an empty list using foldb"
>
foldb
_
[
x
]
=
x
>
foldb
f
l
=
foldb
f
(
foldb'
l
)
>
where
>
foldb'
(
x
:
y
:
x'
:
y'
:
xs
)
=
f
(
f
x
y
)
(
f
x'
y'
)
:
foldb'
xs
...
...
@@ -133,7 +133,7 @@ Sorting is something almost every program needs, and this is the
quickest sorting function I know of.
>
sortWith
::
(
a
->
a
->
Bool
)
->
[
a
]
->
[
a
]
>
sortWith
le
[]
=
[]
>
sortWith
_
[]
=
[]
>
sortWith
le
lst
=
foldb
(
mergeWith
le
)
(
splitList
lst
)
>
where
>
splitList
(
a1
:
a2
:
a3
:
a4
:
a5
:
xs
)
=
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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