all tasks
This commit is contained in:
parent
b83f433714
commit
68f8f3e56b
14735 changed files with 178959 additions and 0 deletions
3
Task/Undefined-values/Haskell/undefined-values-1.hs
Normal file
3
Task/Undefined-values/Haskell/undefined-values-1.hs
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
main = print $ "Incoming error--" ++ undefined
|
||||
-- When run in GHC:
|
||||
-- "Incoming error--*** Exception: Prelude.undefined
|
||||
1
Task/Undefined-values/Haskell/undefined-values-2.hs
Normal file
1
Task/Undefined-values/Haskell/undefined-values-2.hs
Normal file
|
|
@ -0,0 +1 @@
|
|||
main = print $ length [undefined, undefined, 1 `div` 0]
|
||||
1
Task/Undefined-values/Haskell/undefined-values-3.hs
Normal file
1
Task/Undefined-values/Haskell/undefined-values-3.hs
Normal file
|
|
@ -0,0 +1 @@
|
|||
resurrect 0 = error "I'm out of orange smoke!"
|
||||
2
Task/Undefined-values/Haskell/undefined-values-4.hs
Normal file
2
Task/Undefined-values/Haskell/undefined-values-4.hs
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
undefined :: a
|
||||
undefined = error "Prelude.undefined"
|
||||
16
Task/Undefined-values/Haskell/undefined-values-5.hs
Normal file
16
Task/Undefined-values/Haskell/undefined-values-5.hs
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
import Control.Exception (catch, evaluate, ErrorCall)
|
||||
import System.IO.Unsafe (unsafePerformIO)
|
||||
import Prelude hiding (catch)
|
||||
import Control.DeepSeq (NFData, deepseq)
|
||||
|
||||
scoopError :: (NFData a) => a -> Either String a
|
||||
scoopError x = unsafePerformIO $ catch right left
|
||||
where right = deepseq x $ return $ Right x
|
||||
left e = return $ Left $ show (e :: ErrorCall)
|
||||
|
||||
safeHead :: (NFData a) => [a] -> Either String a
|
||||
safeHead = scoopError . head
|
||||
|
||||
main = do
|
||||
print $ safeHead ([] :: String)
|
||||
print $ safeHead ["str"]
|
||||
15
Task/Undefined-values/Haskell/undefined-values-6.hs
Normal file
15
Task/Undefined-values/Haskell/undefined-values-6.hs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
global G1
|
||||
|
||||
procedure main(arglist)
|
||||
local ML1
|
||||
static MS1
|
||||
undeftest()
|
||||
end
|
||||
|
||||
procedure undeftest(P1)
|
||||
static S1
|
||||
local L1,L2
|
||||
every #write all local, parameter, static, and global variable names
|
||||
write((localnames|paramnames|staticnames|globalnames)(¤t,0)) # ... visible in the current co-expression at this calling level (0)
|
||||
return
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue