LINUX.ORG.RU

Сообщения jtootf

 

Расширяемые ЯП

доброго времени суток

"если в языке нет какого-то механизма, то его всегда можно реализовать возможностями самого языка" - почти по Луговскому про LISP. вопрос в следующем: а сколько таких языков вообще есть? интересуют неэзотерические и неэкспериментальные (т.е. доказавшие свою применимость хотя бы в одном завершённом проекте). расширяемость на уровне именно языковых конструкций, не промежуточного представления виртуальной машины, т.е. положительный пример - Tcl/Snit, отрицательный - C#/LINQ

и в дополнение ещё вопрос, просто подумалось. какой языковой конструкции/выразительной мощности/механизма вам не хватает в своём основном ЯП?

заранее спасибо

>>>

jtootf
()

[нетехническое] мир труд жвачка

в связи с внезапно возникшим отпуском отбываю ездить автостопом по маршруту Киев-Одесса-Минск-Питер-Москва-Донецк-Киев

всех желающих развиртуализироваться и пообщаться за жизнь, GNU, Linux и прочая (особенно приветствуются Haskell и Tcl, но в принципе всё равно) - стучитесь в жабры. жабры есть в юзеринфе. если вдруг кому не видно, то жабры jtootf тузик jabber.ru

если кто ещё и впишет в каком-нить из вышеуказанных городов - будет вообще ништяк. нижеподписавшийся будет весьма и весьма благодарен

могу привезти тонну с небольшим полезных статей про ФП и компиляторостроение. ну и на гитаре сыграть ежели чего. ЛОРу временное адиос по крайней мере на пару недель

P.S. xTERM'а (разлогинившегося в своё время после флейма с моим непосредственным участием) - с триумфальным возвращением ;)

P.P.S. хотя запощенная тобой новость всё-таки мегабоян

>>>

jtootf
()

[Asm][SH4] Error: pcrel too far

доброго времени суток

при компиляции проекта на C++ под SH4 (gcc 3.44) получаю ошибку ассемблирования error: pcrel too far. гугление наводит на мысли что это GCC/SH4-специфичная ошибка (впрочем, есть сообщения о подобных ошибках и на Blackfin), однако внятного описания причины найти не удалось. кто-нибудь знает с чем это может быть связано?

заранее спасибо за любую информацию по сабжу

>>>

 

jtootf
()

вопрос модераторам : 5.2 ?

прошу прощения, я на ЛОРе человек относительно новый, и у меня вопрос по правилам. 5.2 "оскорбление участников дискуссии" - какие критерии для его применения ?

отчего-то был уверен, что данное правило подразумевает безосновательное оскорбление - однако лишился коммента за использование слова "идиот" в дискуссии. как следовало поступить по правилам ? молча настучать о вопиющем 4.2 и игнорировать ? избегать в принципе любых слов, которые могут быть трактованы как оскорбление ?

не могу сказать, что происшедшее так уж сильно меня задело, однако хотелось бы каких-нибудь комментариев. если подобный стиль ведения дискуссии (назвать тролля идиотом и потребовать аргументировать свои слова) на ЛОРе и правда является запрещённым, то просто уясню для себя данный факт и в дискуссиях участия принимать больше не буду

заранее спасибо

>>>

jtootf
()

Guitar Pro 4/5

доброго времени суток

интересует софт под linux, способный корректно открывать/проигрывать форматы gp4/gp5. ну и советы по поводу взведения оффтопичной guitar pro под wine приветствуются тоже. поиск по форуму дал только KGuitar, но у него есть два существенных минуса - KDE (ну с этим я ещё смриться могу) и плохая поддержка даже gp4 формата, не говоря уже о gp5 (что как-то совсем грустно). интересует не аналог GP, а именно возможность корректно работать с gp4/gp5 форматами

заранее спасибо

Перемещено JB из Talks

>>>

jtootf
()

[ООП] Время жизни объекта

Доброго времени суток

В связи с недавним обсуждением здесь же возник вопрос. В том ООП который в C++ очень важной особенностью объекта является продолжительность его жизни - многие техники программирования так или иначе отталкиваются от этого понятия (RAII, локальные блоки, auto_ptr<>, etc). А как обстоит с этим дело в языках с GC (поддерживающих ООП в той или иной мере - прежде всего Java, Python, Ruby, Smalltalk и Eiffel; ну и насчёт CL тоже интересно) ? Насколько детерменировано там понятие продолжительности жизни обьекта и насколько оно используется в разработке ? Особенно хотелось бы услышать мнение людей, писавших и на C++ и на каком-то из перечисленных ЯП. Отсылать к литературе не надо, интересует именно личный опыт

Заранее спасибо

>>>

 

jtootf
()

[Haskell] The Yale Haskell Group

http://haskell.org/yale

последние публикации датированы 2003 годом, e-mail контактного лица невалидный. кто-нибудь знает - ведутся ли ещё работы над AFRP (Yampa) в Йеле, и если нет - подхватили ли эту технологию где-то в другом месте ?

>>>

 

jtootf
()

[Haskell] (+/-) бесконечность

Доброго времени суток

В упор не могу найти лексемы, описывающей (плюс/минус) бесконечность в Haskell. Засело в голове, что было что-то подобное, но ни найти в стандарте, ни нагуглить не получается. На выражение (1/0) GHCi выдаёт Infinity, но конструктора Infinity не видит

Заранее спасибо

>>>

 

jtootf
()

[ФП] Связь между терминами

Доброго времени суток

Не сталкивался раньше с теорией категорий, в связи с чем возник чисто терминологический вопрос. Какое отношение между катаморфизмом и изоморфизмом ? По определению свёртка на списке является изоморфизмом для данной алгебры (собственно, для списка); свёртка на бинарном дереве соответственно является изоморфизмом для алгебры, задаваемой определением бинарного дерева. При этом катаморфизм определяется как обобщённая свёртка над алгебраическими структурами данных - можно ли сказать, что и первая и вторая свёртка будут катаморфизмами ?

И в продолжение - анаморфизм определяется как дуальная концепция к катаморфизму, "развёртка" (unfold); будет ли в таком случае анаморфизм над списком изоморфизмом ? Или для изоморфизма тоже существеут дуальный концепт ?..

Заранее спасибо

>>>

jtootf
()

Generic Haskell

Доброго времени суток

Вопрос по обобщённому программированию в Haskell (возможно, не только, но возник именно в нём). Задача : обобщить стандартную функцию map на функторы с произвольным количеством аргументов

-- стандартный map
map :: (a -> b) -> [a] -> [b]

-- двухаргументный map
map2 :: (a -> a -> b) -> [a] -> [b]

например реализующий попарное суммирование элементов списка :
map2 (\x y -> x + y) [1, 2, 3] = [3, 5]

Задача : реализовать mapn. Стандартный Haskell (Haskell-98) не позволяет обобщить определение map подобным образом. Generic Haskell позволяет обобщить map на произвольный тип (не только список) :
map :: (a -> b) -> d a -> d b

но вот по количеству аргументов никакой документации у них нет. На #haskell @ FreeNode меня отправили смотреть Template Haskell, но, несмотря на наличие некоторого количества примеров, осиливаю его с трудом

Соответственно и вопрос : сталкивался кто-либо с данной задачей, есть ли мысли о решении, есть ли информация о методах/библиотеках для решения подобных задач. Так же было бы интересно услышать о возможностях решения на других ЯП (например, я могу решить эту задачу на Tcl, хотя и не лучшим образом, и вообще не могу на C++) - очевидно, что на CL она должна решаться элементарно, если кто-то сталкивался с Meta OCaml/Nemerle, было бы интересно услышать и их мнение

Заранее спасибо

>>>

jtootf
()

[@] C/C++, Mono, D

доброго времени суток

наблюдая последнее время оживлённые обсуждения, касающиеся Mono, Gtk# и иже с ними, задумался над вопросом. в принципе аргументация сторонников языков порядка Java и C# в контексте программирования под Linux по крайней мере отчасти (там, где она не доходит до истеричного забрасывания камнями) вполне обоснована. да - и С, и С++, при наличии крепко занимаемой ниши универсальных (прошу не цепляться к данному слову) ЯП, имеют существенный ряд недостатков. но почему как альтернатива (очевидно неприемлимая для большинства С/С++ программистов) выдвигается именно VM-решение, будь то Java или Mono ? я не говорю сейчас о платформо-независимых решениях, это дело отдельное - я говорю исключительно о разработке под Linux. почему сторонники C не используют Cyclone ? почему сторонники C++ не используют D ? почему эти ЯП, имеющие практически полный набор преимуществ своих предшественников, и избавляющие программиста от многих и многих недостатков С/C++, имеют под Linux аудиторию куда меньшую, чем у того же C# ?

жду мнений

>>>

jtootf
()

XAR : eXtensible ARchiver

Доброе время суток

Вопрос по сабжу. Сталкивался ли кто-нибудь с этим форматом, может есть где какие готовые утилиты для его использования ? На официальном сайте (в рамках google code) нашёл только исходники библиотеки. Собственно, есть файл в этом формате, крайне необходимо его исследовать, а вручную делать этого не хочется. Заранее спасибо

>>>

jtootf
()

Полиморфные функции в С++

Доброе время суток

Последнее время думал над разницей в реализации шаблонов функций в C++ и полиморфных функций в Haskell; и вот вчерашнее обсуждение подтолкнуло меня к мысли о том, что полиморфные функции в С++ могут быть введены сразу же с введением концепций из C++0x : по сути концепция, описывающая неявный интерфейс в С++ является аналогом класса типов Haskell'а; уточняя с какой концепцией ведётся работа в шаблоне мы имеем возможность избежать генерации избыточного обьектного кода. Комментарии ?

>>>

jtootf
()

Rebol

Доброе время суток

В догонку - сабж. Кто-нибудь писал на нём что-то сложней однострочников ?

>>>

jtootf
()

Паттерн интерпретатор

Доброе время суток

Интересует опыт практической разработки с использованием нескольких языков программирования - в связке host (желательно компилируемый, но не обязательно) + один или несколько embedded интерпретируемых. Причём интересно было бы услышать как об использовании готовых, расчитанных на встраивание языков (tcl, rebol, lua, python etc), так и о создании языка под задачу. Заранее спасибо

P.S. Собственный мой опыт (успешный) ограничен связкой C++ + Tcl/Tk (через библиотеку C++/Tcl), приходилось сталкиваться с boost.python - C++ + Python. С boost.spirit сталкивался, но до практического использования в проекте дело не дошло

>>>

jtootf
()

Парадокс LISP'а

Доброе время суток

В продолжение обсуждения такой казус. Цитата с википедии : "...строгая типизация подразумевает выполнение следующих обязательных условий: 1) каждое значение, переменная, параметр и возвращаемое значение функции на этапе проектирования программы безусловно привязывается к определённому типу данных, который не может быть изменён во время выполнения программы (т. н. статическая типизация)..."

то есть в соответствии с этим определеним (если оно, конечно, верно), строго типизированный язык обязан быть статически типизированным

как при этом LISP может быть строго, но динамически типизированным ? где ошибка ?

>>>

jtootf
()

Типизация : статика против динамики

Доброе время суток

Ещё один вопрос более общего характера. Насколько мне известно, в, скажем, CL и Erlang используется динамическая типизация; в том же Haskell - статическая, с выведением типов, основанным на модели типизации Хиндли-Милнера; во многих языках применяется статическая типизация без выведения типов. Прошу высказать личные (но желательно аргументированные) мнения о преимуществах/недостатках подходов

>>>

jtootf
()

Логика высших порядков (HOL)

Доброе время суток

Ещё один вопрос по ФП. Не так давно столкнулся с рядом задач, требующих логики высших порядков (Higher Order Logic, HOL) для своего решения; столкнулся с языком Isabelle/HOL (Isabelle/HOLCF) и с утверждением, что Haskell не поддерживает HOL (ни подтвердить ни опровергнуть пока не могу - не хватает знаний по сабжу). Соответственно вопрос : сталкивался ли кто-нибудь с подобными задачами, и в каких современных ЯП общего назначения реализован HOL ?Isabelle не подходит - он сугубо DSL. Заранее спасибо

P.S. за ссылки на электронную литературу по сабжу так же буду весьма благодарен :)

>>>

jtootf
()

Ищу красивых задач для ФП

Доброе время суток

Знатоки функциональной парадигмы, а подкиньте-ка с десяток интересных и более-менее сложных задач, которые бы элегантно решались с помощью ФЯП (CL, Haskell), и куда менее элегантно - с помощью, скажем, C/C++/Java. Эффективность важна, поэтому сравнения со скриптовыми языками не требую - хотелось бы, чтобы скомпилированный результат (при наличии компилятора для языка, и при эффективной реализации - без потери элегантности и читаемости кода) не уступал C'шному (в идеале FORTRAN'овскому) коду более чем в 5-7 раз (особенно если задача расчётная). В частности интересуют примеры задач, в которых можно было бы от души воспользоваться гибкостью системы типов, характерной для функциональных языков. Ну и наконец - хотелось бы задач с обьёмом работ на ~пара дней каждая для опытного ФЯ-программиста. Заранее спасибо

>>>

jtootf
()

Реализация итеративного алгоритма Витерби

Кто-нибудь знает хорошо зарекомендовавшие себя по производительности открытые (OSS, не обязательно GPL) реализации итеративного алгоритма Витерби, HMM (Hidden Markov Model), DTW (Dynamic Time Warp) ? В принципе буду благодарен за любую информацию об открытых системах распознавания речи, специализированных под поиск ключевых слов (Keyword Spotting), желательно на компилируемом языке (C/C++, Haskell)...

jtootf
()

RSS подписка на новые темы