Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Комбинатор раскрытия, есть??? Существует ли комбинатор раскрытия? 
:(
    Опции темы
Sajtran
Дата 13.1.2013, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 15.10.2008
Где: Мегион

Репутация: нет
Всего: 2



Добрый день всем, вопрос теоретикам
Существует ли комбинатор-функтор раскрытия (назвал как мог) в Хаскеле или других ленивых языках?

Как он должен выглядеть:
OCombinator g (A1 A2 A3 A4) = g A1 A2 A3 A4

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

PM MAIL   Вверх
Ryukzak
Дата 3.4.2013, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 40
Регистрация: 12.9.2006

Репутация: 1
Всего: 1



Правильно ли я понял, что речь идёт о apply как в lisp-е? Где можно написать (f a b c) либо (apply f '(a b c)).

Если так, то основная проблема такой функции - её тип. Ответы можно искать в следующих направления:
1. GADT - все варианты аргументов функций необходимо свести к одному типу и использовать. Такое решение не может быть универсальным и будет работать только на функциях использующих ваш тип.
2. Расширения вокруг kind-ов - работы с типом выражений типа.
Код

Int :: *
Maybe :: * -> *
Maybe Bool :: *
a -> a :: *
[] :: * -> *
(->) :: * -> * -> *

PM MAIL   Вверх
beroal
Дата 10.4.2013, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 18.1.2003
Где: Украина

Репутация: нет
Всего: 3



Цитата(Sajtran @  13.1.2013,  07:25 Найти цитируемый пост)
Собственно он мне нужен для  разбора функций. Например, для символьного вычисления производной, 

Вам нужен исходный код функции? Его можно получить с помощью парсинга исходного кода — Hackage.haskell-src или Template Haskell. По-моему, это выходит за рамки языка и уж точно не имеет отношения к комбинаторной логике.
PM WWW   Вверх
dlebedev
Дата 11.4.2013, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 24.4.2012

Репутация: нет
Всего: нет



Давайте начнем с маленького. Какой тип должен иметь этот ваш комбинатор?
PM MAIL   Вверх
Sajtran
Дата 1.9.2014, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 15.10.2008
Где: Мегион

Репутация: нет
Всего: 2



Цитата(dlebedev @ 11.4.2013,  13:58)
Давайте начнем с маленького. Какой тип должен иметь этот ваш комбинатор?

опс, и почему здесь уведомления не стоят

по идее что то вроде пары он должен возвращать

Код

OCombinator( f1.f2)=  \g.\f1.\f2. (g f1 f2)


"Комбинатор неподвижной точки" тоже вроде как типа не имеет 


например, простая задача из физики 

есть функция f(x1,x2,..)

погрешность её расчёта считается 
d f = [ (dx1* д f/д x1 )^2+ (dx2*д f/д x2)^2+..]^0.5  , где д - частная производная


было бы удобно получить функцию расчёта погрешности не напрягаясь?
d f = ... where ( dx1=0.3, dx2= 0.1, ..) ?



Это сообщение отредактировал(а) Sajtran - 1.9.2014, 12:03
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума «Функциональные языки: общие вопросы»
Void
  • Пожалуйста, создавайте темы с содержательными названиями. Если у Вас вопрос по конкретному языку, укажите его в заголовке, например: «[Haskell] Как использовать монаду State».
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Функциональные языки: общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1108 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.