Created
August 1, 2018 15:06
-
-
Save Lazzlo2096/b9eccc4a2f21398bc8c7216c640ed59d to your computer and use it in GitHub Desktop.
Has Pre kek 0.1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- Int : 1,2,3,.. | |
data Qwe = Non1 | Non2 deriving( Show ) | |
data As = AA Int | SS Qwe deriving( Show ) | |
----data As2 a = AAA (Just Int) | SSS (Just Qwe) | |
data As2 = AAA (Maybe Int) | SSS (Maybe Qwe) deriving( Show ) | |
----f :: Int of Qwe -> (Maybe Int or Maybe Qwe) | |
f :: As -> As2 | |
f (AA a) = AAA (Just a) | |
f (SS Non1) = SSS Nothing | |
f (SS a) = SSS (Just a) | |
------------------ | |
-- data Tt a = AAAt (a Int) | SSSt (a Qwe) | |
data As2' a = AAA' (a Int) | SSS' (a Qwe) | |
-- f' :: As -> (Int -> a Int) -> As2' a | |
-- f' :: As -> (Int -> Maybe Int) -> As2' Maybe | |
-- f' :: As -> (b -> (a -> b) -> Maybe a -> b) -> As2' Maybe | |
-- f' (AA a) b = AAA' (b a) | |
-- f' (SS a) b = SSS' (b a) | |
-- f' (SS Non1) b = SSS' b | |
-- let res1 = f' (AA 5) Just | |
-- let res2 = f' (AA 5) Nothing | |
f'' a b = (b a) -- = h -- (если b типа (a->b a)) | |
f' (AA a) b = AAA' (b a) --(если b типа (a->b a)) | |
-- f' (AA a) b = AAA' (b) --(если b не типа (a->b a)) или (если b типа (b a)) | |
-- g = f' (AA 5) Just | |
-- g2 = f' (AA 5) Nothing | |
-- f' :: As -> As2' Maybe | |
-- f' (AA a) = AAA' (Just a) | |
-- f' (SS Non1) = SSS' Nothing | |
-- f' (SS a) = SSS' (Just a) | |
--=============================== | |
-- data Maybe a = Just a | Nothing | |
data Maybe2 a = Just2 a | Nothing2 | |
-- let res1 = h 5 Just -- == Just 5 | |
-- let res2 = h 5 Nothing -- == Nothing | |
-- или хотябы let res2 = h Nothing (5) опцион парам -- == Nothing | |
h :: Int -> (Int -> Maybe Int) -> Maybe Int | |
-- h _ Nothing = Nothing | |
h a b = b a | |
h2 :: Int -> (Maybe Int) -> Maybe Int | |
h2 _ Nothing = Nothing |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment