LINUX.ORG.RU

История изменений

Исправление qnikst, (текущая версия) :

Ну я поиграл по их правилам немного, сделав структуру как просили. То, что тут две задачи - об этом забыди - одна сделать структуру с требуемыми свойствами, другая сделать flatten. При этом им ещё хочется без «тегов» (конструкторов), которые в лиспе есть под капотом, и там любой тип умеет в typeof :: Lispy -> TypeRep, и cast :: Lispy -> TypeRep -> Lispy, где Lispy это внутреннее представление типов, а TypeRep внутренне описание типа, что уже странно.

Исходная версия qnikst, :

Ну я поиграл по их правилам немного, сделав структуру как просили. То, что тут две задачи - об этом забыди - одна сделать структуру с требуемыми свойствами, другая сделать flatten. При этом ещё хочется без «тегов» (конструкторов), которые в лиспе есть под капотом, и там любой тип умеет в typeof :: Lispy -> TypeRep, и cast :: Lispy -> TypeRep -> Lispy, где Lispy это внутреннее представление типов, а TypeRep внутренне описание типа.