TRIZ, рд╣рд╛рд╕реНрдХреЗрд▓ рдФрд░ рдлрдВрдХреНрд╢рдирд▓ рдерд┐рдВрдХрд┐рдВрдЧ

TRIZ рд╢рдмреНрдж рдореЗрдВ, рдЕрдХреНрд╕рд░ рдПрдХ рдереАрд╕рд┐рд╕ рдХреЛ рдпрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ "рдПрдХ рдЖрджрд░реНрд╢ рдкреНрд░рдгрд╛рд▓реА рд╡рд╣ рд╣реИ рдЬреЛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ (рдФрд░ рдЗрд╕рдХрд╛ рдХрд╛рд░реНрдп рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ)ред" рдПрдХ рдЕрдЪреНрдЫреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреА рддрд░рд╣ рдЬреЛ рдХрд╛рд░реНрдпрд╛рд▓рдп рдореЗрдВ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред


TRIZ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ рд╣реИрдВ, рд╡реЗ рд╕реЛрдЪ рдХреА рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╢реИрд▓реА рднреА рдмреЛрд▓рддреЗ рд╣реИрдВред рд╕рдЪ рд╣реИ, рдЗрди рд╢рдмреНрджреЛрдВ рдХреЗ рд╕рд╛рде, рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рддреБрд░рдВрдд рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рддрд╛ рд╣реВрдВред


рдЖрдЗрдП рдпрд╣ рджреЗрдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ TRIZ рдХреЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╕реЛрдЪ рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд╢реБрджреНрдз рдХрд╛рд░реНрдпрд╛рддреНрдордХ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣рд╛рд╕реНрдХреЗрд▓ рдкрд░ рдХреИрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рд╕рдорд╛рд░реЛрд╣


рдлрд╝рдВрдХреНрд╢рди - рдлрд╝рдВрдХреНрд╢рди рд╡рд╛рд╣рдХ ("рдЯреВрд▓") рджреНрд╡рд╛рд░рд╛ рдлрд╝рдВрдХреНрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ ("рдЙрддреНрдкрд╛рдж") рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рдПрдХ рдореЙрдбрд▓ред


рдПрдХ рдЙрдкрдХрд░рдг рд╡рд╣ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдо рдХреБрдЫ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рд╣рдо рдХреБрдЫ рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВред рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рд╡рд╣ рд╣реИ рдЬрд┐рд╕реЗ рд╕реБрдзрд╛рд░рдиреЗ рдпрд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рд╡рд╛рд╣рдХ рд╣реИ рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА TRIZ рддрд░реНрдХреЛрдВ рдореЗрдВ "рд╕рд┐рд╕реНрдЯрдо" рд╢рдмреНрдж рд╕реЗ рд╣реЛрддрд╛ рд╣реИред


рдПрдХ рдЙрддреНрдкрд╛рдж рд╡рд╣ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдПрдХ рдЯреВрд▓ рдХреЗ рд╕рд╛рде рдмрджрд▓рддреЗ (рдкреНрд░реЛрд╕реЗрд╕) рдХрд░рддреЗ рд╣реИрдВред



рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдПрдХ рдЙрдкрднреЛрдХреНрддрд╛ рд╕рдВрдкрддреНрддрд┐ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдХ рддрдХрдиреАрдХреА рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛рдИ рдЧрдИ рд╣реИред


рдлрд╝рдВрдХреНрд╢рди рд╕реНрд╡рдпрдВ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд╕рд░рд▓ рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рд░ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ (рд╡рд┐рд╢реЗрд╖ рд╢рдмреНрдж рдирд╣реАрдВ, рддрд╛рдХрд┐ рд╕реЛрдЪ рдХреА рдЬрдбрд╝рддрд╛ рдореЗрдВ рд╣рд╕реНрддрдХреНрд╖реЗрдк рди рдХрд░реЗрдВ), рд╡рд╛рд╣рдХ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреА рд╡рд╕реНрддреБ рдХреЛ рд╕реВрддреНрд░реАрдХрд░рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдПрдХ рд╣рдереМрдбрд╝рд╛ рдПрдХ рдХреАрд▓ рдХреЛ рд╣рд┐рд▓рд╛рддрд╛ рд╣реИ; рдЭрд╛рдбрд╝реВ рдЪрд▓рддреА рд╣реИ рдХрдЪрд░рд╛; рдордЧ рдХреЙрдлреА рдкрдХрдбрд╝рддрд╛ рд╣реИ; рд╡реИрдХреНрдпреВрдо рдХреНрд▓реАрдирд░ рдзреВрд▓ рдХреЛ рд╣рд┐рд▓рд╛рддрд╛ рд╣реИ; рдИрдВрдзрди рд░реЙрдХреЗрдЯ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред


рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдПрдХ рдХрдк рдХреЙрдлреА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдПрдХ рдХрдк рдореЗрдВ рдХреЙрдлреА рд╣реЛрддреА рд╣реИред
рдлрд╝рдВрдХреНрд╢рди (рдЙрдкрдХрд░рдг) рдХрд╛ рд╡рд╛рд╣рдХ рдПрдХ рдХрдк рд╣реИ, рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдХреЙрдлреА рд╣реИ, рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрдХрдбрд╝рдирд╛ рд╣реИред



--        -- ,       -  hold :: Cup -> Coffee -> Coffee --   hold - ""         cup `hold` coffee 

рдкрдХрдбрд╝ рдХрд╛рд░реНрдп рдмрд╣реБрд░реВрдкрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдХрдк рди рдХреЗрд╡рд▓ рдХреЙрдлреА рдкрдХрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рди рдХреЗрд╡рд▓ рдПрдХ рдХрдк рдореЗрдВ рдХреЙрдлреА рдбрд╛рд▓реА рдЬрд╛ рд╕рдХрддреА рд╣реИ:


 --        b,      b hold :: a -> b -> b --  ,      thermos `hold` coffee --  ,      shirt `hold` coffee 

рдЙрдкрдХрд░рдг рдФрд░ рдЙрддреНрдкрд╛рдж рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рд╡реНрдпрдХреНрдд рдЙрдирдХреА рдмрд╛рддрдЪреАрдд рдХрд╛ рд╕рд╛рд░, рд╕рдорд╛рди рд░рд╣рддрд╛ рд╣реИред рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рддрдХрдиреАрдХреА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рддрддреНрд╡реЛрдВ рдХреЗ рдмреАрдЪ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЬреЛрдбрд╝реА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рддреАрди рджрд░реНрдЬрди рдХреНрд░рд┐рдпрд╛рдУрдВ (рдЪрд╛рд▓, рдкрдХрдбрд╝, рдЧрд░реНрдореА, рдЕрд╡рд╢реЛрд╖рд┐рдд, рд╕реВрдЪрд┐рдд, рдЖрджрд┐) рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд╕реНрдХреЗрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рдмрд╣реБрд░реВрдкреА рдХрд╛рд░реНрдп рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкреНрд░рд╛рдХреГрддрд┐рдХ рднрд╛рд╖рд╛ рдХреА рдмрд╛рдХреА рдХреНрд░рд┐рдпрд╛рдПрдВред


рдЙрд▓рдЯрд╛ рдХрд╛рд░реНрдп


рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рд╣рдореЗрд╢рд╛ рд╡рд┐рдкрд░реАрдд рдХрд╛рд░реНрдп рд╣реЛрддрд╛ рд╣реИ - рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯ рдкрд░ рдЙрддреНрдкрд╛рдж рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ (рдиреНрдпреВрдЯрди рдХрд╛ рддреАрд╕рд░рд╛ рдирд┐рдпрдо рд░рджреНрдж рдирд╣реАрдВ)ред



рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрд╕рд╛рдзрд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рдзрд╛рддреБ рдбреНрд░рд┐рд▓ рдХреЛ рдХреБрдВрдж рдХрд░ рджреЗрддреА рд╣реИ, рдПрдХ рд▓рд╛рдкрд░рд╡рд╛рд╣ рдЫрд╛рддреНрд░ рд╢рд┐рдХреНрд╖рдХ рдХреЛ рдердХрд╛ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдлрд╝рд╛рдЗрд▓ рдореБрдХреНрдд рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдХреЛ рдХрдо рдХрд░ рджреЗрддреА рд╣реИред
рдХреЙрдлреА рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╡рд╣ рдХрдк рдХреЛ рдЧрд░реНрдо рдФрд░ рдЪрд┐рдХрдирд╛ рдХрд░рддрд╛ рд╣реИред



рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЙрд▓рдЯрд╛ рдлрд╝рдВрдХреНрд╢рди рд╣рдореЗрдВ рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИ (рдЯреВрд▓ рд╡рд┐рдпрд░, рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдЧрдд), рд▓реЗрдХрд┐рди рдЕрдиреНрдп рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд╣рдо рдЗрд╕рд╕реЗ рд▓рд╛рдн рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдардВрдбреЗ рдХрдорд░реЗ рдореЗрдВ рд░рд╣рддреЗ рд╣реБрдП рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рдХреЛ рдЧрд░реНрдо рдХрдк рдкрд░ рдЧрд░реНрдо рдХрд░реЗрдВред


 hold:: a -> b -> b warm :: a -> b -> b cup `hold` coffee coffee `warm` cup 

рд╕рдорд╛рд░реЛрд╣ рдЬрдВрдЬреАрд░реЛрдВ


рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрдм рд╕рд┐рд╕реНрдЯрдо рдХреЗ рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рджреЛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ (рдпрд╛рдиреА, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдореЗрд╢рд╛) рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝реЗ рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВред


рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЪрд┐рддреНрд░ рдореЗрдВ, рдПрдХ рд╣рд╛рде рдПрдХ рдХрдк рдХреЗ рд╕рд╛рде рдПрдХ рдЯреНрд░реЗ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рдЯреНрд░реЗ рдПрдХ рдХрдк рд░рдЦрддреА рд╣реИ, рдФрд░ рдПрдХ рдХрдк рдХреЙрдлреА рд░рдЦрддреА рд╣реИред



 ((arm `move` wrist) `hold` cup) `hold` coffee 

рдмрд╛рдИрдВ рд╕рд╣рдХрд╛рд░рд┐рддрд╛ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рдХреЛрд╖реНрдардХ рдирд┐рдХрд╛рд▓реЗрдВ


 infixl 9 hold arm `move` wrist `hold` cup `hold` coffee 

рд╣рд╛рд╕реНрдХреЗрд▓ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдкреНрд░рд╛рдХреГрддрд┐рдХ рднрд╛рд╖рд╛ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рдХреЗ рдмрд╣реБрдд рдХрд░реАрдм рд╣реИред


рдФрд░ рд╡рд┐рдкрд░реАрдд рджрд┐рд╢рд╛ рдореЗрдВ рд╢реНрд░реГрдВрдЦрд▓рд╛: рдХреЙрдлреА рдХрдк рдХреЛ рдЧрд░реНрдо рдХрд░рддреА рд╣реИ, рдХрдк рддрд╢реНрддрд░реА рдХреЛ рдЧрд░реНрдо рдХрд░рддреА рд╣реИ, рддрд╢реНрддрд░реА рдХреЛ рд╣рд╛рде рд╕реЗ рд▓реЛрдб рдХрд░рддреА рд╣реИред


 infixl 9 warm, weight coffee `warm` cup `warm` wrist `weight` arm 

рддрддреНрд╡реЛрдВ рдХреЗ рдмреАрдЪ рдореБрдЦреНрдп рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЛ рд╕рдордЭрдирд╛ рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реАрдорд╛рдУрдВ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рдЪреБрдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рд╡рд╣реА рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬреЛ рд▓рдХреНрд╖реНрдп рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рдмрд┐рдирд╛ рдХреБрдЫ рдпрд╛рдж рдХрд┐рдП) рдФрд░ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЙрд╕рд╕реЗ рдкрд░реЗ рдореЙрдбрд▓ рдХреЛ рдЬрдЯрд┐рд▓ рди рдХрд░реЗрдВред


рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдЬреЛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ ...


рд╣рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рдЗрд╕рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдЙрдкрдХрд░рдг рдХреЛ рд╕реНрд╡рдпрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдПрдХ рдЙрдкрднреЛрдЬреНрдп рд╣реИ, рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдЖрдХрд░реНрд╖рд┐рдд рд╣реИред


рдХреЙрдлреА рдХреЛ рд╕реАрдЬрд╝рд╡реЗ, рдЪрд╛рдпрджрд╛рдиреА, рдерд░реНрдорд╕, рддрд╢реНрддрд░реА рдФрд░ рдЯреЗрдмрд▓ рдФрд░ рд╢рд░реНрдЯ (рдпрджрд┐ рдХреЙрдлреА рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рдЧрд┐рд░рд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рджреНрд╡рд╛рд░рд╛ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рд╣рдо рднреА рдмреБрд░рд╛ рдирд╣реАрдВ рдорд╛рдиреЗрдВрдЧреЗ рдЕрдЧрд░ рдХреЙрдлреА рдЦреБрдж рд╣реА рдЖрдпреЛрдЬрд┐рдд рдХрд░реЗрдВред рдпрд╣ рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдЕрдВрддрд░рд┐рдХреНрд╖ рд╕реНрдЯреЗрд╢рди рдкрд░ рд╢реВрдиреНрдп рдЧреБрд░реБрддреНрд╡рд╛рдХрд░реНрд╖рдг рдореЗрдВ рдкрд╛рдиреА рдХреЗ рд╕рд╛рдеред



рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ TRIZ рдореЗрдВ "рдХреЙрдлреА рд╣реЛрд▓реНрдб рдХреЙрдлреА" рдЬреИрд╕реЗ рд▓реВрдкреНрдб рдлреЙрд░реНрдореВрд▓реЗрд╢рди рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдерд╛рдЧрдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдмреЗрдХрд╛рд░ рд╣реИ - рдпрд╣ рдЙрди рддрддреНрд╡реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ, рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд╕реВрддреНрд░реАрдХрд░рдг рдЦрд░рд╛рдм рд╣реИ рдХрд┐ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╢рд░реНрдд рдирд╣реАрдВ рд╣реИред


рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЧрд╣рд░рд╛рдИ рдореЗрдВ рдЬрд╛рдПрдВ рдФрд░ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдХреМрди рд╕реЗ рднрд╛рдЧ (рдЙрдкрддрдВрддреНрд░) рдлрд╝рдВрдХреНрд╢рди рдХреА рдкреВрд░реНрддрд┐ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред


рддрд░рд▓ рд╕рддрд╣ рдХреЗ рддрдирд╛рд╡ рдмрд▓реЛрдВ рдХреЗ рдХрд╛рд░рдг рд╢реВрдиреНрдп рдЧреБрд░реБрддреНрд╡рд╛рдХрд░реНрд╖рдг рдореЗрдВ рдПрдХ рдХреЙрдореНрдкреИрдХреНрдЯ рд░реВрдк рдзрд╛рд░рдг рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╡рд┐рд╡рд░рдг рд╣реЛрдЧрд╛: рд╕рддрд╣ рдХреА рдкрд░рдд рдХреЙрдлреА рдХреА рдЖрдВрддрд░рд┐рдХ рдорд╛рддреНрд░рд╛ рд░рдЦрддреА рд╣реИред


рдЖрдк рдХреЙрдлреА рдХреА рд╕рдВрдкреВрд░реНрдг рдорд╛рддреНрд░рд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдкрд░рддреЛрдВ рдХреЗ рдПрдХ рдореИрдЯреНрд░рд┐рдпреЛрд╢рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдзрд╛рд░рдг рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдмрд╛рд╣рд░реА рдкрд░рдд рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



 --    - ,  -   let coffee = [layer1, layer2, layer3, layer4, layer5] head coffee `hold` tail coffee 

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдкрд░рддреЗрдВ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рдХрд╛рд╢ рдЕрд╡рд╢реЛрд╖рдг рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ),
рдХреЛрдИ рд╕рд╛рдЗрдХрд┐рд▓ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдмрд╛рддрдЪреАрдд рдХрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред


рдШрдЯрдирд╛ рдХреА рдкреБрдирд░рд╛рд╡рд░реНрддреА рдкреНрд░рдХреГрддрд┐ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдк-рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдЕрдВрддрд░реНрд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рд╕рдордЭрдХрд░, рд╣рдо рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╢рд░реНрддреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╣рдорд╛рд░реА рд╕реЗрд╡рд╛ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред



 --  "",      hold :: String -> String -> String hold tool "" = tool hold tool workpiece = tool ++ " -> holds -> " ++ workpiece --  " ". --        --     "" --       selfHold :: [String] -> String selfHold [] = "" selfHold (x:xs) = x `hold` selfHold xs --     selfHold ["Layer1","Layer2","Layer3"] 

рдЕрдВрдд рдореЗрдВ рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ


Layer1 -> рдзрд╛рд░рдг -> Layer2 -> рдзрд╛рд░рдг -> Layer3

рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд╣реАрдВ рднреА рдЧрд╛рдпрдм рдирд╣реАрдВ рд╣реБрдИ рд╣реИ, рд▓реЗрдХрд┐рди рд░рдЪрдирд╛рддреНрдордХ рд╣реЛ рдЧрдИ рд╣реИ, рдФрд░ рди рдХрд┐ рдЕрд░реНрдерд╣реАрди рд░реВрдк рд╕реЗред


рд╕реВрдЪреА рдХреЗ рджреГрдврд╝реАрдХрд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╣реА рдмрд╛рдд рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд▓рд┐рдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:


 foldl1 hold ["Layer1","Layer2","Layer3"] 

рдирд┐рд╖реНрдХрд░реНрд╖


рддрдХрдиреАрдХреА рдкреНрд░рдгрд╛рд▓реА рдХреА рджреГрд╖реНрдЯрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдПрдХ рдХрдкрдбрд╝реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛ рдЗрд╕реЗ рдПрдХрдЬреБрдЯ рдХрд░рддреА рд╣реИ рдФрд░ TRIZ рдХреЗ рд╕рд╛рд░ рдФрд░ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИ, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде TRIZ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдореБрдЦреНрдп рдирд┐рдпрдВрддреНрд░рдг рд╕рдВрд░рдЪрдирд╛ рд╣реИред


рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдФрд░ рдореЙрдбрд▓ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдорд╛рдирд╛ рдЧрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдПрдХ рдЕрдЪреНрдЫреА рдорджрдж рд╣реИред

Source: https://habr.com/ru/post/hi414929/


All Articles