Earlier quoted context omitted.
Yeah that's awful. In Ruby it'd be like: all_checked = todo.select(&:completed?) none_checked = todo.reject(&:completed?) todo_count = todo.count(&:completed?)
In C# var allChecked = todos.All(todo -> todo.IsCompleted); var noneChecked = todos.None(todo -> todo.IsCompleted); var todoCount = todos.Count(todo -> todo.IsCompleted);
Try Avail[1]:
allChecked = select element from todos list where [element is completed]
allNotChecked = select element from todos list where [element is not completed]
todoCount = count of element in todos list where [element is completed]
I'm cheating a tiny little bit: `todos list` would probably need to be defined above as a method (I don't remember if one can have variable names with a space inside the name in Avail) and `_is completed`/`_is not completed` would also need to be defined.Rebol or Red could be also interesting in this regard, also Forth and Factor. Still, Avail goes the farthest in terms of allowing you to write a truly human-readable code (EDIT: however, they support all of Unicode for names and such, so you can go nuts with sigils too, if you want).
(Possibly also Inform 7[2], but I don't know it, so can't really say much.)