> 1 <

Автор Сообщение

UNdeds

Members


Статус

4 сообщений

Где: Belarus
Род занятий:
Возраст:

#4625   2011-08-07 20:31 GMT+3 часа(ов)      
здравствуйте. подскажите как увеличить максимальную глубину рекурсии в clisp
после ~2300 вылетает переполнение стека

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#4626   2011-08-08 11:48 GMT+3 часа(ов)      
На какой операционке? На винде, возможно, пересобрать, не пробовал) На линуксе через ulimit увеличить объём стека. Я увеличивал до 200 Мб.
>sudo ulimit -s 200000, как-то так. И да, я помню, что такая штука работала только один раз перед вызовом интерпретатора. В следующий раз, после закрытия в данном терминале выпадала ошибка и стек не увеличивался.
Хотя, лучше напишите, что делаете, скорее всего вы просто не оптимизировали функцию.
I wish I'd made you angry earlier

UNdeds

Members


Статус

4 сообщений

Где: Belarus
Род занятий:
Возраст:

#4627   2011-08-08 19:02 GMT+3 часа(ов)      
все на винде

задача - написать около 15 функций обработки списков произвольного размера (достаточно больших) и структуры. списки достаются из БД через sql либо небольшие - в качестве параметра к функциям. все это надо оформить в виде dll и вызывать из основного .net приложения
стек хочу увеличить, чтобы потом не возникало проблем при рекурсивном обходе
и еще вопрос - есть ли какой-нибудь толковый мануал по оптимизации?

misha

Moderators


Статус

1273 сообщений
http://racket-lang.org/
Где: Yemen
Род занятий:
Возраст:

#4628   2011-08-08 20:42 GMT+3 часа(ов)      
Цитата
UNdeds :
списки достаются из БД через sql либо небольшие - в качестве параметра к функциям. все это надо оформить в виде dll и вызывать из основного .net приложения


Странная у вас задача. Обработку списков можно реализовать на чем угодно. По мне так лисп тут лишнее звено.

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#4629   2011-08-08 22:46 GMT+3 часа(ов)      
1. Мануалов нет. Есть общие принципы. Использовать TCO, trampoline, засовывать данные в стек, использовать итеративные циклы и т.д. и т.п.
2. Обязательно на Lisp? Обязательно на clisp? Под .net 100% есть реализации лиспа. Странная у вас задача. Обработку списков можно реализовать на чем угодно. По мне так лисп тут лишнее звено.
3. Увеличить у clisp стек вряд ли удастся без проблем. Память под стек выделяет сама ОС, т.е. это не внутренняя конструкция clisp. Поэтому в линухе так просто было избавиться от проблемы.
I wish I'd made you angry earlier

UNdeds

Members


Статус

4 сообщений

Где: Belarus
Род занятий:
Возраст:

#4630   2011-08-08 23:11 GMT+3 часа(ов)      
основная причина - это отличный "повод" на практике изучить лисп

конечно, можно реализовать на чем угодно. но не зря же этот язык назвали лист процессором

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#4631   2011-08-08 23:36 GMT+3 часа(ов)      
почитайте о методах воспитания монахов в Шаолине, о духовной практике и о том, почему во время обряда посвящения часть из них сбрасывались в пропасть.
Если желание не исчезнет, почитайте sicp (Sussman'n'Sussman, Abelson), там есть устройство схемы, методы реализации, оптимизация, история, интересные алгоритмы, применение лиспа для решения ряда задач.
Можно почитать книжку Норвига Paradigms of Artificial Intelligence Programming: case studies in CL. Обе книжки для тех, кто не знает лиспа. Вторая по-интереснее ИМХО. Эти книжки дадут представление о языке и его применении.
Напишите адрес в скайпе, можно будет там позадавать вопросы, потому что писать о том, что здесь уже было писано много раз не хочется.
I wish I'd made you angry earlier

UNdeds

Members


Статус

4 сообщений

Где: Belarus
Род занятий:
Возраст:

#4633   2011-08-09 23:36 GMT+3 часа(ов)      
падали в пропасть наверно после очередного праздника с телками и бухлом

насчет желания - на самообразование времени у меня достаточно
скайп UNdedss
спасибо за советы. занимаюсь по книжке Хювенена - староватая, но изложено достаточно доходчиво. кст, ссылка на sicp в разделе литературы не работает

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#4634   2011-08-10 13:42 GMT+3 часа(ов)      
я тоже начинал по Хю...у. Там всё нормально, до главы про function замыкание, она как-то странновато написана, и вообще тема сисек let,let*,labels не раскрыта. И про макросы плохо написано, там старинный способ приведён, через list, про макросы в practical common lisp нормально, а потом в ansi common lisp можно почитать. Про ооп и говорить нечего - в Хю...е об этом 2 страницы.
I wish I'd made you angry earlier
> 1 <


Онлайн :

0 пользователь(ей), 16 гость(ей) :




Реклама на сайте: