рдкрд░рд┐рдЪрдп
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рд╕рд╛рдзреБ рд╕рджреА рдХрд╛ рд░рд╣рд╕реНрдп рдмрди рдЧрдП рд╣реИрдВред рдФрд░ рдЗрд╕рдХреЗ рджреЛ рдХрд╛рд░рдг рд╣реИрдВ:
- рд╢реНрд░реЗрдгреА рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЕрдкрд░реНрдпрд╛рдкреНрдд рдЬреНрдЮрд╛рди;
- рдХрдИ рд▓реЗрдЦрдХ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВред
рдпрд╣ рдПрдХ рдЪрдЯрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдмрд┐рдЬрд▓реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдЬреИрд╕рд╛ рд╣реИред рд╡рд┐рд╢реНрд▓реЗрд╖рдгред рдлреНрдпреВрдЬ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд, рдПрдХ рдПрдореНрдкрд▓реАрдлрд╛рдпрд░ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред
рд╣рдо рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдФрд░ рдлрдВрдХреНрд╢рдирд▓рд░реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдкрд░рд┐рдЪрдп рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рдПрдХ рдореЛрдирдб рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рджреЗрддреЗ рд╣реИрдВ, рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рдордареЛрдВ рдХреЗ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рджреЗрддреЗ рд╣реИрдВ, рдФрд░ рдЕрдВрдд рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдореЛрдиреИрдбрд┐рдХ рд╢рдмреНрджрд╛рд╡рд▓реА рджреЗрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдорда рд▓рдЧрднрдЧ рдкреНрд░рд╛рдердорд┐рдХ рд╣реИрдВред
рд╕рд╛рдордЧреНрд░реА
- рд╢реНрд░реЗрдгреА
- functor
- рдкреНрд░рд╛рдХреГрддрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди
- рдЗрдХрд╛рдИ
- рдЕрдкрд╡рд╛рдж рдФрд░ рд╕реНрдерд┐рддрд┐ рдХреЗ рдорда
- рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореЗрдВ рдореЛрдирд╛рдбреНрд╕
- рд╕рдВрджрд░реНрдн
рд╢реНрд░реЗрдгреА
рдПрдХ рд╢реНрд░реЗрдгреА рдореЗрдВ рдЙрдирдХреЗ рдмреАрдЪ
рд╡рд╕реНрддреБрдУрдВ рдФрд░
рдЖрдХрд╛рд░рд┐рдХреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рд╢рдмреНрдж "рдореЙрд░реНрдлрд┐рдЬреНрдо" рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ (рдпрд╣ рдХреБрдЫ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ), рдЗрд╕рд▓рд┐рдП, рдЕрдХреНрд╕рд░, рд╕рд╛рд░ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдХрд╛рд░ рдХреЛ "рдПрд░реЛ" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╣рдо рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ "рддреАрд░" рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрдм рддреАрд░ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдлрд╝рдВрдХреНрд╢рди рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕реЗ "рд░реВрдкрд╡рд╛рдж" рдХрд╣реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдЕрднреА рднреА рдПрдХ рддреАрд░ рд░рд╣реЗрдЧрд╛ред
рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╡рд╕реНрддреБ рдпрд╛ рддреАрд░ рдХреНрдпрд╛ рд╣реИ, рдХреЗрд╡рд▓ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреБрдг рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ:
рдПрдХ рддреАрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмреАрдЪ рдЦреАрдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд╕реНрддреБ рдПрдХ рдФрд░ рдПрдХ рд╣реА рд╣реЛ рд╕рдХрддреА рд╣реИ); рдЗрд╕реЗ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:
f: a тЖТ b , рдЬрд╣рд╛рдВ
f рдПрдХ рддреАрд░ рд╣реИ, рдФрд░
a рдФрд░
b рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВред
- рддреАрд░ f рдХреЗ рд▓рд┐рдП: a тЖТ b рдФрд░ g: b тЖТ c, рдРрд╕реЗ рддреАрд░ h рдореМрдЬреВрдж рд╣реИ : a тЖТ c рдЬрд┐рд╕реЗ рд░рдЪрдирд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ: h = g ┬░ f ред
- рдкреНрд░рддреНрдпреЗрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдП рдХреЗ рд▓рд┐рдП, рдПрдХ рдпреВрдирд┐рдЯ рдПрд░реЛ рд╣реИ , рдЖрдИрдбреА a : a тЖТ a , рдЬреИрд╕реЗ рдХрд┐ рдХрд┐рд╕реА рднреА f рдХреЗ рд▓рд┐рдП: a тЖТ b рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рддреНрдп рд╣реИ:
f ┬░ id a = f рдФрд░ рдХрд┐рд╕реА рднреА g: c тЖТ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ id a ┬░ g = g рд╣реИ ред - рд░рдЪрдирд╛ рд╕рд╣рдпреЛрдЧреА рд╣реИ: f ┬░ (g ┬░ h) = (f ┬░ g) ┬░ h ред
рд░рд┐рдорд╛рд░реНрдХ ред рдЗрд╕ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреА рдЕрддреНрдпрдВрдд рд╕рд╛рд░рдЧрд░реНрднрд┐рдд рдкреНрд░рдХреГрддрд┐ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рд╣рдо рдпрд╣ рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ "рд╕рднреА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕" рдпрд╛ "рдП рд╕реЗ рдмреА рддрдХ рд╕рднреА рддреАрд░" рдПрдХ рд╕реЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВред рдЬрд┐рди рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рд╡реЗ рд╕реЗрдЯ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ "рдЫреЛрдЯрд╛" рдпрд╛ "рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЫреЛрдЯрд╛" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╢реНрд░реЗрдгреА рдХреЗ рдЙрджрд╛рд╣рд░рдг
"рдХреНрд▓рд╛рд╕рд┐рдХ" рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг:
- рд╕реЗрдЯ рд╕рднреА рд╕реЗрдЯреЛрдВ рдХреА рд╢реНрд░реЗрдгреА рд╣реИред рдЗрд╕рдХреА рд╡рд╕реНрддреБрдПрдВ рд╕рднреА рд╕реЗрдЯ рд╣реИрдВ, рдФрд░ рдЖрдХрд╛рд░рд┐рдХреА рд╕реЗрдЯ рдкрд░ рдХрд╛рд░реНрдп рд╣реИрдВред
- рд╕реЗрдЯрдл рдЙрдирдХреЗ рдмреАрдЪ рд╕рднреА рдкрд░рд┐рдорд┐рдд рд╕реЗрдЯреЛрдВ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╢реНрд░реЗрдгреА рд╣реИред
- Rel рдПрдХ рдРрд╕реА рд╢реНрд░реЗрдгреА рд╣реИ рдЬрд╣рд╛рдБ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рднреА рд╕реЗрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдмрд╛рдЗрдирд░реА рд╕рдВрдмрдВрдз рдореЛрд░реНрдлрд┐рдЬрд╝реНрдо рдХреА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреЗ рд╣реИрдВред рдПрдХ рдЖрдВрддрд░рд┐рдХ рд╕рдВрдШ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рдЪрдирд╛ рдХрд╛ рд╡рд┐рд▓рдп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рднрд╛рдЧ рд╕рднреА рд╕реЗрдЯреЛрдВ рдХреА рд╢реНрд░реЗрдгреА рд╣реИ рдФрд░ рдЖрдХреГрддрд┐ рд╡рд┐рдЬреНрдЮрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдВрд╢рд┐рдХ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред X рд╕реЗ Y рддрдХ рдХрд╛ рдЖрдВрд╢рд┐рдХ рдХрд╛рд░реНрдп, X o Y X рд╕реЗ Y рдХреЗ рд╕рдмрд╕реЗрдЯ рд╕реЗ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ:
- рдЯреЙрдк рд╕рднреА рдЯреЛрдкреЛрд▓реЙрдЬрд┐рдХрд▓ рд╕реНрдкреЗрд╕ рдХреА рд╢реНрд░реЗрдгреА рд╣реИ рдФрд░ рдЙрдирдХреЗ рдмреАрдЪ рдирд┐рд░рдВрддрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред
рдРрд╕реА рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рднреА рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рджреНрдзрд╛рдВрдд рдирд╣реАрдВ рд╣реИрдВ:
- рдХрд┐рд╕реА рднреА рд╕рдореВрд╣ рдХреЛ рдПрдХ рд╢реНрд░реЗрдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рддрддреНрд╡реЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рдПрдХ рд╡рд╕реНрддреБ рдкрд░ рдЖрдХрд╛рд░рд┐рдХреА рд╣реИред
рдкрд╣рдЪрд╛рди рд╕рдорд╛рд░реЛрд╣ рд╕рдореВрд╣ рдХрд╛ рддрдЯрд╕реНрде рддрддреНрд╡ рд╣реИред рдФрд░ рд░рдЪрдирд╛ рдХрдИ рдЧреБрдирд╛ рд╣реИред - рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП рд╕реЗрдЯ рдХреЛ рдПрдХ рд╢реНрд░реЗрдгреА рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕реЗрдЯ рдХреЗ рддрддреНрд╡ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдЬреЛрдбрд╝реА a, b рдХреЗ рд▓рд┐рдП рдПрдХ рддреАрд░ a тЖТ b рдЬреЛрдбрд╝реЗрдВ рддрд╛рдХрд┐ рдПрдХ <b рдФрд░ рдПрдХ рдЗрдХрд╛рдИ a тЖТ рдкреНрд░рддреНрдпреЗрдХ a рдХреЗ рд▓рд┐рдП a ред
рдкреНрд░рддреНрдпреЗрдХ рдЬреЛрдбрд╝реА рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рддреАрд░ рдирд╣реАрдВ рд╣реИрдВ рдФрд░, рдЪреВрдВрдХрд┐ рдЖрдВрд╢рд┐рдХ рдХреНрд░рдо рд╕рдХрд░реНрдордХ рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд░рдЪрдирд╛ ( рдПрдХ <b, b <c => a <c ) рд╣реИ, рдпрд╛рдиреА рдЖрдк рдЗрд╕рдХреА рд╕рдорд╛рд▓реЛрдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред - рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдХреЗ рд░реВрдк рдореЗрдВ, рдкреВрд░реНрдгрд╛рдВрдХ [N ... M] рдХреЗ рд╕реЗрдЯ рдХреЛ рдПрдХ рд╢реНрд░реЗрдгреА рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
- рдХрд┐рд╕реА рднреА рдирд┐рд░реНрджреЗрд╢рд┐рдд рдЧреНрд░рд╛рдл рдХреЛ рдПрдХ рд╢реНрд░реЗрдгреА рдореЗрдВ рддрдмреНрджреАрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдЧрд░ рд╣рдо рдЗрд╕рдХреЗ рд░рд╛рд╕реНрддреЛрдВ рдХреЛ рддреАрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирддреЗ рд╣реИрдВред рдЦрд╛рд▓реА рдкрде рдПрдХ рдПрдХрд▓ рдЖрдХрд╛рд░рд┐рдХреА рд╣реИ, рдФрд░ рдкрде рдХрд╛ рд╕рдВрдШрдЯрди рдПрдХ рд░рдЪрдирд╛ рд╣реЛрдЧреАред
- рдкреНрд░рд╛рдХреГрддрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдПрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ, рддреАрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рдкрдХреНрд╡ рд╣реЛрддреА рд╣реИрдВред рдХреЛрдИ рднреА рдореИрдЯреНрд░рд┐рдХреНрд╕ NxM рдПрдХ рддреАрд░ N тЖТ M рд╣реЛрдЧрд╛ред рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЧреБрдгрди рд░рдЪрдирд╛ рдХреА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рдПрдЧрд╛, рдФрд░ рдкрд╣рдЪрд╛рди рдореИрдЯреНрд░рд┐рдХреНрд╕ NxN рдкрд╣рдЪрд╛рди рддреАрд░ N тЖТ N рд╣реЛрдЧрд╛ред
рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдордЧреНрд░реА
рдмрд╕ рдПрдХ рдЖрдЗрд╕реЛрдореЛрд░реНрдлрд┐рдЬреНрдо рдХреЛ рдПрдХ рд╢реНрд░реЗрдгреА рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ - рдпрд╣ рдПрдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдЙрд▓рдЯрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЗрд╕ рдШрдЯрдирд╛ рдореЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕
f: a тЖТ b рдФрд░
g: b тЖТ a , рдФрд░
f ┬░ g = id b рдФрд░
g ┬░ f = id a рд╕рдВрддреБрд╖реНрдЯ рд╣реИрдВред рд╣рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдЗрд╕ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдореЛрдиреЛрдореЛрд░реНрдлрд┐рдЬреНрдо рдФрд░ рдПрдкрд┐рдореЛрд░реНрдлрд┐рдЬреНрдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ, рдпрд╣ рдХреБрдЫ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ рдФрд░ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИред
рдкрд┐рдЫрд▓реЗ рдЕрдзреНрдпрд╛рдп рд╕реЗ рд╡рд╕реНрддреБрдУрдВ
[0 ... N] рдХреЛ рдпрд╛рдж рд░рдЦреЗрдВ? рд╡рд┐рд╢реЗрд╖ рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рд╣реИрдВ:
1 = [0] рдФрд░
2 = [0 ... 1] ред рдкрд╣рд▓рд╛ рдПрдХ рдПрдХрд▓ рдЖрдХреГрддрд┐рд╡рд╛рдж рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд╕реНрддреБ рд╣реИ, рджреВрд╕рд░рд╛ рджреЛ рд╡рд╕реНрддреБрдУрдВ рдФрд░ рддреАрди рдЖрдХрд╛рд░ рдХрд╛ рд╣реИред
рдХреНрдпрд╛ рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рдЦреБрдж рдПрдХ рд╢реНрд░реЗрдгреА рдмрдирд╛рддреА рд╣реИрдВ? рд╣рд╛рдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╣рдореЗрдВ рдЙрдирдХреЗ рдмреАрдЪ рдХреЗ рддреАрд░реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡реЗ рджреВрд╕рд░реЗ рдХреНрд░рдо рдХреЗ рддреАрд░ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдлрдВрдХреНрд╢рдирд▓ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
functor
рдлрд╝рдирдХрд╛рд░ рдПрдХ рд╢реНрд░реЗрдгреА рдХреЛ рджреВрд╕рд░реА рд╢реНрд░реЗрдгреА рдореЗрдВ рд░рдЦрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкрд╣рд▓реА рд╢реНрд░реЗрдгреА рд╕реЗ рджреВрд╕рд░реА рд╢реНрд░реЗрдгреА рдореЗрдВ рдФрд░ рддреАрд░ (рдЖрдХрд╛рд░рд┐рдХреА) рдХреЛ рдкрд╣рд▓реА рд╢реНрд░реЗрдгреА рд╕реЗ рджреВрд╕рд░реЗ рд╢реНрд░реЗрдгреА рдХреЗ рддреАрд░ рдкрд░ рд╕реБрд╕рдВрдЧрдд рддрд░реАрдХреЗ рд╕реЗ рдореИрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рдо рдХрд┐рд╕ рд╕реНрдерд┐рд░рддрд╛ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ?
X рдФрд░
Y рджреЛ рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рд╣реИрдВ; рдПрдХ рдлрдВрдХреНрдЯрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ
F: X тЖТ Yред рдЕрдм рд╣рдореЗрдВ
X рд╕реЗ
Y рддрдХ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдореИрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ,
X рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ
рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ
F (a) рдХреЗ рд▓рд┐рдП
Y рдФрд░
X рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рддреАрд░ рдХреЗ рд▓рд┐рдП
Y рдореЗрдВ рддреАрд░
F (f) рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
редрд╕реНрдерд┐рд░рддрд╛ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
- рдПрдл рдХреЗ рд▓рд┐рдП: рдПрдХ тЖТ рдмреА, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдл (рдПрдл): рдПрдл (рдП) тЖТ рдПрдл (рдмреА) - рдбреЛрдореЗрди рдФрд░ рдХреЛрдбрдиреЗрдо рд╕рд╣реЗрдЬреЗ рдЧрдП рд╣реИрдВ;
- рдЖрдИрдбреА рдХреЗ рд▓рд┐рдП a : a тЖТ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ F (id a ) = id F (a) : F (a) тЖТ F (a) - рдпреВрдирд┐рдЯ рд╕реЗрд╡ рд╣реИ;
- рдПрдл рдХреЗ рд▓рд┐рдП: рдПрдХ тЖТ рдмреА рдФрд░ рдЬреА: рдмреА тЖТ рд╕реА рдПрдл (рдЬреА ┬░ рдПрдл) = рдПрдл (рдЬреА) ┬░ рдПрдл (рдПрдл) , рд░рдЪрдирд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИред
рдлрдВрдХреНрд╢рдирд▓рд░реНрд╕ рдХреА рд╕рдВрд░рдЪрдирд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреА рдЧрдИ рд╣реИ: рд╢реБрд░реБрдЖрдд рдореЗрдВ рдкрд╣рд▓реЗ рдлрд╝рдирдХрд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдмрд╛рдХреА рдХреЛред
рдлрдирдХрд╛рд░ рдЙрджрд╛рд╣рд░рдг
- рд╢реНрд░реЗрдгреА X рдХреЗ рд▓рд┐рдП рдкрд╣рдЪрд╛рди рдлрд╝рдирдХрд╛рд░ред рдпрджреНрдпрдкрд┐ рдкрд╣рдЪрд╛рди X тЖТ X рд╡рд╕реНрддреБрдУрдВ рдФрд░ рддреАрд░реЛрдВ рдХреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рдЦрддрд╛ рд╣реИ, рдлрд┐рд░ рднреА рдпрд╣ рдПрдХ рдлрд╝рдирдХрд╛рд░ рд╣реИред
- рд╕реЗрдЯрдл рд╕реЗрдЯ рдПрдХ рдРрд╕рд╛ рдлрдиреНрдиреЗрдХрд╛рд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реЗрдЯрдл рдХреЛ рд╕реЗрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдкрд░рд┐рдорд┐рдд рд╕реЗрдЯреЛрдВ рдХреЛ рдореИрдк рдХрд░рддрд╛ рд╣реИ, рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рднреАред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдПрдХ рд╕рдорд╛рди рдлрд╝рдирдХрд╛рд░ рдирд╣реАрдВ рд╣реИред
- рд╕реЗрдЯ рдХрд░реЗрдВ тЖТ рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рдорд╛рди рд╢реАрд░реНрд╖ , рдпрд╣ рдлрд╝рдирдХрд╛рд░ рд╕реЗрдЯ рдХреЛ рд╢реАрд░реНрд╖ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдирд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрдЯ рдХреЛ рдЕрд╕рддрдд рдЯреЛрдкреЛрд▓реЙрдЬрд┐рдХрд▓ рд╕реНрдкреЗрд╕ рдореЗрдВ рдореИрдк рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдХрд┐рд╕реА рднреА рд╕реЗрдЯ A рдХреЗ рд▓рд┐рдП, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝рдирдХрд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
(- xA): рд╕реЗрдЯ тЖТ рд╕реЗрдЯ - рдпрд╣ рдХрд┐рд╕реА рднреА рд╕реЗрдЯ X рдХреЛ рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдЙрддреНрдкрд╛рдж X ├Ч A рдореЗрдВ рдореИрдк рдХрд░рддрд╛ рд╣реИ ред
- рдХрд┐рд╕реА рднреА рд╕реЗрдЯ A рдХреЗ рд▓рд┐рдП, рдХреЛрдИ рдлрд╝рдирдХрд╛рд░ P A : рд╕реЗрдЯ тЖТ рд╕реЗрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рднреА рд╕реЗрдЯ X рдХреЛ X A рдореЗрдВ рдореИрдк рдХрд░рддрд╛ рд╣реИ - A рд╕реЗ X рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╕реЗрдЯред
- рд╕реЗрдЯ рднрд╛рдЧ рдЖрдВрд╢рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕реЗрдЯ рдореЗрдВ рд╕реЗрдЯ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддрд╛ рд╣реИ - рдЙрдирдореЗрдВ рд╕реЗрдЯ рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
- рдЖрдЗрдЯрдо 6 рдХрд╛ рдХрдирдХреНрд▓реВрдЬрди рдлрдиреНрдХреНрдЯрд░ + рдиреВрд▓ : рдкрд╛рд░реНрдЯ тЖТ рд╕реЗрдЯ рд╣реИ - рдпрд╣ рдлрдирдХрд╛рд░ рдкреНрд░рддреНрдпреЗрдХ рд╕реИрдЯ X each (X + Null) рдореЗрдВ рдПрдХ " Null рдПрдХреНрд╕рдЯреЗрдВрд╢рди" рдЬреЛрдбрд╝рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЖрдВрд╢рд┐рдХ рдлрдВрдХреНрд╢рди X тЖТ Y рдлрдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдореИрдкреНрд╕ (X + Null) тЖТ (Y + рдирд▓) ред
рд╡реНрдпрд╛рдпрд╛рдо рдХрд░реЗрдВ ред рдЖрдВрд╢рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред
рдЖрдЗрдП рдЫреЛрдЯреА рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдФрд░ рдЙрдирдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рджреЗрдЦреЗрдВред
- рдпрджрд┐ рд╣рдо рд╕рдореВрд╣реЛрдВ рдХреЛ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ рдЙрдирдХреЗ рдХрд╛рд░реНрдпрдХрд▓рд╛рдк рдХреНрдпрд╛ рд╣реЛрдВрдЧреЗ? рдлрд╝рдирдХрд╛рд░ рдХреЛ рдПрдХ рдПрдХрд▓ рд░реВрдкрд╡рд╛рдж рдФрд░ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП, рдПрдХ рдлрд╝рдирдХрд╛рд░ рдПрдХ рд╕рдореВрд╣ рд╕рдорд░реВрдкрддрд╛ рд╣реИред
- рдХреЛрдИ рднреА рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рджреЛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдСрд░реНрдбрд░ рдХрд┐рдП рдЧрдП рд╕реЗрдЯреЛрдВ рдХреЗ рдмреАрдЪ рдСрд░реНрдбрд░ (рддрдерд╛рдХрдерд┐рдд рдореЛрдиреЛрдЯреЛрди) рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдлрд╝рдирдХрд╛рд░ рд╣реИред
- рдЙрдиреНрдореБрдЦ рд░реЗрдЦрд╛рдВрдХрди рдФрд░ рдХрд┐рдирд╛рд░реЛрдВ рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдирдХреНрд╢реЗ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рд▓реЗрдВред рд╣рдо рдЗрд╕ рдореИрдкрд┐рдВрдЧ рдХреЛ рдПрдХ рдРрд╕реЗ рдлрдВрдХреНрд╢рди рддрдХ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдЧреНрд░рд╛рдл рд╕реЗ рджреВрд╕рд░реЗ рдЧреНрд░рд╛рдл рдкрд░ рдПрдХ рдкрде рдкрд░ рдореИрдк рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди, рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд▓рд┐рдВрдХ рдФрд░ рдЦрд╛рд▓реА рд░рд╛рд╕реНрддреЛрдВ рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЧреНрд░рд╛рдлрд╝ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рдПрдХ рд╢реНрд░реЗрдгреА рд╕реЗ рджреВрд╕рд░реЗ рддрдХ рдПрдХ рдлрд╝рдирдХрд╛рд░ рд╣реИред
- рд╢реНрд░реЗрдгреА 1 рдпрд╛рдж рд╣реИ? рдФрд░ рдЗрд╕рд▓рд┐рдП, 1 рд╕реЗ рд╢реНрд░реЗрдгреА рд╕реА рддрдХ рдХрд╛ рдлрдирдХрд╛рд░ рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛? 1 рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╡рд╕реНрддреБ рдФрд░ рдПрдХ рд╕рдорд╛рди рд░реВрдкрд╡рд╛рдж рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЗрд╕ рдлрдиреНрдиреЗрдХрд╛рд░ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд╕реА рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рд╕реЗ рдПрдХ рд╡рд╕реНрддреБ рдХреЛ рдЪреБрдирдиреЗ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ - рд╢реНрд░реЗрдгреА рд╕реА рдореЗрдВ рдХрд┐рд╕реА рднреА рд╡рд╕реНрддреБ рдПрдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╣рдо рдПрдХ рдлрдирдХрд╛рд░ рдкреНрд╡рд╛рдЗрдВрдЯ рдПрдХреНрд╕ : 1 тЖТ рд╕реА рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред
рдкреНрд░рд╛рдХреГрддрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди
рдпрд╣ рд╕рдмрд╕реЗ рдХрдард┐рди рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдлрд╝рдВрдХреНрд╢рдирд▓рд░реНрд╕ рд╣реИрдВ
рдПрдл, рдЬреА: рдПрдХреНрд╕ тЖТ рд╡рд╛рдИред рдкреНрд░рд╛рдХреГрддрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди
each: F тЖТ G рддрдм рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛
рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдкреНрд░рддреНрдпреЗрдХ рд╡рд╕реНрддреБ
x тИИ X рдХреЗ рд▓рд┐рдП рдПрдХ рддреАрд░ рд╣реЛрддрд╛ рд╣реИ
╬╖ (x): F (x) тЖТ G (x) Y рдореЗрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреБрдг рд╣реИрдВ:
- рд╕рднреА f рдХреЗ рд▓рд┐рдП: a тЖТ b рд╕рдорд╛рдирддрд╛ рд░рдЦрддреА рд╣реИ: G (f) ┬░ a (a) = ╬╖ (b) ┬░ F (f) ред
рдЗрд╕рд▓рд┐рдП, рдЗрд╕реЗ "рдкреНрд░рд╛рдХреГрддрд┐рдХ" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ - рдпрд╣ рддреАрд░реЛрдВ рдкрд░ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд▓рдЧрд╛рддрд╛рд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред
рдкреНрд░рд╛рдХреГрддрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг
- рдмрд┐рдВрджреБ рдлрдирдХрд╛рд░ рдпрд╛рдж рд╣реИ? рдФрд░ рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рд╢реНрд░реЗрдгреА C рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рддреАрд░ f: a тЖТ b рд╣реИ , рддреЛ рдпрд╣ рддреАрд░ рдмрд┐рдВрджреБ a рд╕реЗ рдмрд┐рдВрджреБ b рддрдХ рдХреЗ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдмрд┐рдВрджреБ рдлрд╝рдирдХрд╛рд░ рд░реВрдкрд╛рдВрддрд░рдг рдФрд░ рд╢реНрд░реЗрдгреА рддреАрд░ рдХреЗ рдмреАрдЪ рдПрдХ-рд╕реЗ-рдПрдХ рд╕рдВрдмрдВрдз рд╣реИред
- рджреЛ рд╕реЗрдЯ A рдФрд░ B рдФрд░ рдПрдХ рдлрд╝рдВрдХреНрд╢рди f: A тЖТ B рд▓реЗрдВред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдлрд╝рдВрдХреНрд╢рдВрд╕ (- xA), (- xB): рд╕реЗрдЯ тЖТ рд╕реЗрдЯ рдХреЗ рдмреАрдЪ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред (- xf): (- xA) тЖТ (- xB) рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реВрддреНрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░: (x, a) f (x, f (a)) ред
рдЖрдк рдЗрд╕ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЛ рдирд┐рдореНрди рд░реВрдк рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ:(define (cartesian f)
(lambda (x a) (list x (f a))))
A A тЖТ (.), (.) , (- xA) тЖТ 1, X : X тип A тЖТ X.
A Set 1 тЖТ PA.
X Set;
X XA. ,
x X A X,
x.
, :
(define (return x) (lambda (a) (x)))
C T: C тЖТ C :
╬╖: 1 тЖТ T ╬╝: T ┬░ T тЖТ T.
T(╬╖): T тЖТ T ┬░ T ,
T ╬╖ T(╬╝): (T ┬░ T) ┬░ T тЖТ T ┬░ T.
:
- T(╬╖) ┬░ ╬╝ T тЖТ T
- T(╬╝) ┬░ ╬╝ ╬╝ ┬░ ╬╝:
- C , .
- , G. MG Set. :
X тЖж X ├Ч G.
u(X): X тЖТ X ├Ч G x (x, e), e .
MG(MG(X)) = (idX, mG), mG . - Set. , List, X (x1, x2, x3...) X, . , u m. uX: X тЖТ List(X) x тИК X mX: List(List(X)) тЖТ List(X) .
. , ┬лcomputer science┬╗.
, - , , ?
( )
C: X тЖТ X ,
тИА x тИК X x <= C(x) C(C(x)) = C(x).
, , - , , - . - .
Part.
A :
PlusNull: X тЖж (X+Null),
Part Set.
Set Part, .
?
uX: X тЖТ (X+Null) mX: ((X+Null)+Null) тЖТ (X+Null).
,
Null Null. Lisp :
(define (ux x) x)
(define (mx x) x)
, ( , , , ).
Set.
A :
X тЖж (X ├Ч A)AA , ,
(X ├Ч A)A X X,
A тЖТ (A ├Ч X), ,
X.
?
uX: X тЖТ (A ├Ч X)A x тИК X ,
A x X.
Lisp:
(define (ux x)
(lambda (a) (list a x)))
mX: (A ├Ч (A ├Ч X)A)A тЖТ (A ├Ч X)A?
mX: (A ├Ч (A ├Ч X)A)A,
A , (
A ,
X ). , ,
A?
Lisp:
(define (mx f)
(let (tr1 out1)
((car f) (cadr f)))
(lambda (a)
(let a1 (tr1 a))
(let f2 (out1 a))
(let (tr2 out2) ((car f2) (cadr f2)))
(list (tr2 a1) (out2 a1))))
:
A A ├Ч (A ├Ч X)A,
A тЖТ A A тЖТ (A ├Ч X)A,
a a1 ,
A A ├Ч X .
. , .
,
f: X тЖТ Y,
X ┬л┬╗,
Y ┬л┬╗.
, ; , 100% , . , ┬л ┬╗ .
, , .
NullObject NaN.
,
X,
(Y+Null),
.
, ,
.
IO Haskell
Haskell IO, , .
. , . ,
A , ,
X .
.
A String, ┬л┬╗, ┬л┬╗.
, ,
getc, , ,
putc, .
, .
- .
- , , .
- тАЬComprehending MonadsтАЭ Frederik Eaton тАФ .
- Haskell u return, m join
- Haskell List .
- map/reduce Google.