metaclass: (Default)
[personal profile] metaclass
Элементарно.
Экспортируем из опердени датасет с 381 записью по 40 полей в каждой в формат исходника F# и пытаемся это компилировать. Каких-то несчастных 10 тыс строк и 660 килобайт кода. Компилятор сдыхает с переполнением стека. Так же как и хаскель когда-то в такой же ситуации.
Придется все-таки для таких целей написать адекватную сериализацию, чтобы данные лежали не в исходнике, а отдельно, а исходник содержал только метаданные и код чтения.

Вообще, изначальная идея такова - часто есть необходимость произвести некое нетривиальное вуду над отчетом для проверки, и мне кажется, что экспорт отчета в виде исходника, а затем загрузка этого исходника в интерактивную консоль хаскеля или F# - это самый простой способ надругаться над данными отчета функциональщиной.
Например, сегодня была надобность из метаданных SQL запроса генерировать более другой запрос, чтобы эти самые пресловутые 40 полей не повторять 10 раз вручную.

Date: 2010-11-13 11:44 pm (UTC)
From: [identity profile] volodymir-k.livejournal.com
а что, опции нет компилятору, чтобы стека больше жрал?

Date: 2010-11-14 07:12 am (UTC)
From: [identity profile] metaclass.livejournal.com
Нету.

Date: 2010-11-14 06:05 am (UTC)
From: [identity profile] gds.livejournal.com
+1 про опцию (или, если у камла спёрли всё, то через окружение задаётся -- ведь оно само на себе должно быть написано), а ещё можно разбить всё на модули, которые потом открыть. Если все типы взаимно-рекурсивны, конечно, фокус не пройдёт.

Date: 2010-11-14 12:17 pm (UTC)
From: [identity profile] guamoka.livejournal.com
Да. С++ у меня запиливался только безумными шаблонами. А недавно словил отличный глюк от жаббы. Суть в том, что не закрыл комментарий, но как-то хитро получился перенос строк. И компилятор это проглотил. А на рантайме все упало.

Profile

metaclass: (Default)
metaclass

April 2017

S M T W T F S
      1
2345678
9101112 131415
16171819202122
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 16th, 2025 06:03 pm
Powered by Dreamwidth Studios