You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Одно из наиболее вероятных применений LENS - создание DSL для конкретных областей применения. Пока для этого в языке не так много средств, кроме импорта функций из программы хоста. Следует подумать над тем, можно ли сделать синтаксис более легким и выразительным.
Например, можно заимствовать идею блоков из Ruby: если после вызова функции идет блок, он неявно превращается в Action и передается в нее в качестве последнего параметра. Например, если я хочу написать оператор while, сейчас пришлось бы сделать так:
while2
|> -> x < 10
|> ->
doStuff ()
x = x + 1
А с новым синтаксисом запись станет сильно короче:
while2 (-> x < 10)
doStuff ()
x = x + 1
Недостаток подхода - не могу придумать удобный способ передавать аргументы. Хотя с учетом замыканий проблема может быть не такой серьезной.
The text was updated successfully, but these errors were encountered:
Одно из наиболее вероятных применений LENS - создание DSL для конкретных областей применения. Пока для этого в языке не так много средств, кроме импорта функций из программы хоста. Следует подумать над тем, можно ли сделать синтаксис более легким и выразительным.
Например, можно заимствовать идею блоков из Ruby: если после вызова функции идет блок, он неявно превращается в
Action
и передается в нее в качестве последнего параметра. Например, если я хочу написать операторwhile
, сейчас пришлось бы сделать так:А с новым синтаксисом запись станет сильно короче:
Недостаток подхода - не могу придумать удобный способ передавать аргументы. Хотя с учетом замыканий проблема может быть не такой серьезной.
The text was updated successfully, but these errors were encountered: