Язык программирования Nemerle является мультипарадигменным и полнофункциональным языком программирования, впитавшем в себя идеи ML, Lisp, C#. Возьмем для примера следующий код: #pragma indent using Nemerle using System . Console def a = $ [ 1 .. 10 ] foreach ( c when c % 2 == 0 in a with i ) WriteLine ( $ "a[$i] = $c" ) Как мы видим, одна простая идея, что все есть выражение позволяет нам делать код простым и понятным. Как тоже самое реализовать в C#? Используя Linq? Но будет ли код тогда такой же однородный и понятный? В примере использованые базовые возможности языка без дополнительных расширений. Шутка, на самом деле базовый синтаксис Nemerle вообще не содержит таких конструкций как if, foreach и т.д., есть только оператор match, синтаксические расширения (сахар) написан на макросах по аналогии с макросистемой Common Lisp.
t.me/perfect0sight