В попытке побороть моё стремление к совершенству, я решил открыть исходники моего долгосрочного проекта Machete для всеобщего просмотра. Machete — это мой собственный диалект стандарта ECMAScript 5 или, как его чаще называют, JavaScript.
Machete — это продукт нескольких лет исследований, проектирования и программирования. Я разместил его на GitHub, так что пожалуйста, заходите и форкайте проект. Я бы очень хотел увеличить количество тестов и тесты от сообщества были бы неоценимы.
Ссылка на репозиторий: GitHub Repository For Machete
Основные возможности
Более понятные лямбда-выражения
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