рдЙрддреНрдХреГрд╖реНрдЯрддрд╛ рдХреА рдЕрдкрдиреА рдЦреЛрдЬ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ, рдореИрдВрдиреЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рдорд╛рдЪреЗрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдЦреЛрд▓рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред Machete ECMAScript 5 рдорд╛рдирдХ рдХреА рдореЗрд░реА рдЕрдкрдиреА рдмреЛрд▓реА рд╣реИ, рдпрд╛ рдЗрд╕реЗ рдЕрдХреНрд╕рд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ
рдЕрдзрд┐рдХ рд╕рд╣рдЬ рд▓рдВрдмреЛрджрд░ рднрд╛рд╡
var succinct = \(x, y) x + y; var verbose = function (x, y) { return x + y; };
рдлрд╝реЙрд░рдЪ рд▓реВрдк рдФрд░ рдЬрдирд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде Iteration рд╕рдорд░реНрдерди
var numbers = generator { yield 1; yield 2; yield 3; }; foreach (var n in numbers) { Output.write(n); } foreach (var e in ["Array", " objects", " are", " iterable", "!"]) { Output.write(e); } foreach (var ch in "Strings are iterable!") { Output.write(ch); }
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
- рд╕рдВрдХрд▓рдХ рдПрдл # рдореЗрдВ FParsec рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ
- рд░рдирдЯрд╛рдЗрдо C # рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ .NET рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
- рд╡рд░реНрддрдорд╛рди рдореЗрдВ 400 рд╕реЗ рдЕрдзрд┐рдХ рдкрд░реАрдХреНрд╖рдг рд╣реИрдВ рдФрд░ рдХрдИ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ
Machete рдХрдИ рд╡рд░реНрд╖реЛрдВ рдХреЗ рдЕрдиреБрд╕рдВрдзрд╛рди, рдбрд┐рдЬрд╛рдЗрди рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдЙрддреНрдкрд╛рдж рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ GitHub рдкрд░ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреГрдкрдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЖрдПрдВ рдФрд░ рдХрд╛рдВрдЯрд╛ рдХрд░реЗрдВред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдореБрджрд╛рдп рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬреЛ рдЕрдореВрд▓реНрдп рд╣реЛрдЧрд╛ред
рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рд▓рд┐рдВрдХ:
рдореИрдХрд╣реЗрдЯ рдХреЗ рд▓рд┐рдП рдЧрд┐рдЯрд╣рдм рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА