.NET / [Перевод] Machete — скриптовая среда для .Net

В попытке побороть моё стремление к совершенству, я решил открыть исходники моего долгосрочного проекта Machete для всеобщего просмотра. Machete — это мой собственный диалект стандарта ECMAScript 5 или, как его чаще называют, JavaScript.

Основные возможности

Более понятные лямбда-выражения

var succinct = \(x, y) x + y;
var verbose = function (x, y) { return x + y; };
Поддержка итерации с помощью цикла foreach и генераторов

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);
}

Реализация

  • компилятор написан на языке F# с использованием библиотеки FParsec
  • исполняющая среда написана на языке C# и находится под управлением .NET
  • в настоящее время имеется более 400 тестов, и еще множество разрабатывается

Machete — это продукт нескольких лет исследований, проектирования и программирования. Я разместил его на GitHub, так что пожалуйста, заходите и форкайте проект. Я бы очень хотел увеличить количество тестов и тесты от сообщества были бы неоценимы.

Ссылка на репозиторий: GitHub Repository For Machete

Рубрика: Habr