Re[9]: Как определить принадлежность генерику?
От: dsorokin Россия  
Дата: 21.04.10 10:15
Оценка:
Здравствуйте, dsorokin, Вы писали:

D>>>Иногда yieldcomp — очень полезная штука. Как и returncomp (aka return! в F#). С точки зрения монады yieldcomp и returncomp очень близки.

WH>>А вот тут ИМХО можно смотреть на типы.

Немного гоню. Для list и array comprehension тоже проверяется тип по аккумулятору. Он должен быть единым. А вот билдер, генерирующий сам код, может делать, что угодно с yieldcomp и returncomp, также как и с yield и return. Просто эти конструкции фиксирует сам факт наличия монады для всех зависимых выражений, что может влиять на генерацию. Но в ядре макроса comp сами типы не проверяется, кроме, может быть, самой последней стадии — оборачивания значения в конечный результат. Но там особая история.