1. Следование концепции неймановской архитектуре ДО САМОГО КОНЦА в языке программирования неизбежно приводят к динамическому формированию программы и ее выполнению...
То есть как ни крути, а все равно Лисп получается... 
Но в императивных языках этого как раз нет. А должно быть, если следовать принципу обобщения... 
Как это нет? А забить массив а потом его исполнить как функцию? Эстеты содержимое массива могут получить прогнав по сгенерированному тексту транслятор, но можно и без изысков.
Ну а про динамическое формирование кода на этапе компиляции я вообще молчу - это ж сплошь и рядом используется.
Но тут, кстати, следует учесть, что львиная доля микропроцессоров таки не следуют (не реализуют) архитектуре фон Неймана, так что фокус не выйдет и для лиспоподобного поведения придется лепить себе эмулятор оной архитектуры, что накладно. не нужно и вообще изврат.
Так что то, что ты привел - это не обобщение на самом деле, самогенерация эта - это забавный, но все же частный случай одной конкретной архитектуры, поэтому зашивать это в язык высокого уровня не стоит.
А вот автоматическое формирование программы на этапе компиляции - это уже общий случай. Это мы можем всегда (когда у нас есть достаточно информации на этапе компиляции) вне зависимости от целевой архитектуры процессора.
2. В одну строку писать и не надо. Надо писать структурно. Здесь редактор автоматом и обеспечит нужный уровень читабельности.
ok. Как он организует мне нужный уровень читабельности вот этого:
sum := map(function (a, b: Integer) : Integer
begin
Exit(a+b);
end,
list);
Этот код не читабелен.
Если вдумаетесь, то лаконичность написания ( в ущерб читабельности) возникла именно как необходимость набирать ручками каждый символ.
В ущерб читабельности - да. Но в данном случае лаконичность описания идет не в ущерб читабельности, а во благо её. А вот многословность, отсутствие лаконичности, тут уже идет как раз в ущерб читабельности.
Если редактор берет на себя рутину представления, то и нафига лаконичность?
Чтобы было читабельно.