<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
	<title>Хабрахабр / Комментарии к посту «Three Futamura Projections и не только» в блоге «Ненормальное программирование»</title>
	<link>http://habrahabr.ru/rss/post/47418/</link>
	<description><![CDATA[Новые комментарии к посту «Three Futamura Projections и не только» в блоге «Ненормальное программирование»]]></description>
	<language>ru</language>
	<managingEditor>editor@habrahabr.ru</managingEditor>
	<generator>habrahabr.ru</generator>
	<pubDate>Sat, 11 Feb 2012 14:17:38 GMT</pubDate>
	<lastBuildDate></lastBuildDate>
	<image>
		<link>http://habrahabr.ru/</link>
		<url>http://habrahabr.ru/i/logo.gif</url>
		<title>Хабрахабр</title>
	</image>
	

	
	
	
	
	
		
	
		<item>
			<title>03.01.2009 02:39:07 cdev</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1247489</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1247489</link>
			<description><![CDATA[А мне вот интересно что бы такое применить для борьбы с лесом зависимостей.<br/>
На примере unix — некая программа может быть скомпилирована с поддержкой библиотек A, B, C. А может обойтись и без них. Например, с поддержкой JPG, PNG, X11 или без части из них. Это отразится на ее функциональности, но про это мы можем знать заранее. Далее — есть дистрибутивы ОС. Они поставляются с предкомпилированными программами. При инсталляции есть варианты выбора вида инсталляции — с X11 и без оного. Вопрос в том как отрубить у готовых бинарников лишние зависимости? Т.е как вести разработку программ и их оформление чтобы это отрубание происходило без их пере компиляции? Вроде эта задача может иметь решение в отличии от оптимизации любого кода? :)<br/>
<br/>
Если обобщать — как оптимизировать программу зная не фиксированные параметры, а перечни или диапазоны параметров. Или же от обратного — зная те диапазоны параметров, которые заведомо не будут поданы на вход программе. <br/>
<br/>
Или же еще по другому — отсекать диапазоны входных значений на уровне их ввода, а не на уровне использования. При этом оставляя ту же программу — без пере компиляции способную включить требуемую функциональность. Пример — как только появляется библитотека Mysql включить поддержку ее не пересобирая с соответствующей libmysqlclient, но при этом не валиться в core, если пользователь укажет на входе ключик -connect-mysql.<br/>
<br/>
Сейчас по большей части в C это решается через условную компиляцию и #ifdef.<br/>
<br/>
Может есть уже готовые решения?<br/>
<br/>
ps. в давние времена был забавный глюк в некоей IDE — если в программе на C не встречалось ни одного дробного числа в явном виде, то в printf переставало обрабатываться %f — вывод чисел с плавающей запятой. :)]]></description>
			<pubDate>Sat, 03 Jan 2009 02:39:07 GMT</pubDate>
			<author>cdev</author>
		</item>
	

	
		<item>
			<title>03.01.2009 02:13:32 cdev</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1247475</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1247475</link>
			<description><![CDATA[Наверное потому что большинство (норма) не задумываются о таком :)]]></description>
			<pubDate>Sat, 03 Jan 2009 02:13:32 GMT</pubDate>
			<author>cdev</author>
		</item>
	

	
		<item>
			<title>22.12.2008 16:35:18 markshevchenko</title>
			<guid isPermaLink="true">#comment_1220603</guid>
			<link>#comment_1220603</link>
			<description><![CDATA[&gt; есть у меня определённые сомнения в том, что на десктопе так уж много задач, которые<br/>
&gt; прямо «взлетят» от распараллеливания… <br/>
<br/>
Я тоже не думаю, что взлетят. Скорее, появится поле для реализации более сложных функций. Помните время, когда проверка правильности текста выполнялась отдельно от его ввода? А потом в Office 2000 (если не в 97) текст стал проверяться «на лету». Машины дорасли. Но тогда всё это делалось на одном процессоре, а тут, пожалуйста — ещё несколько таких же процессоров под боком.<br/>
<br/>
Из того, что у всех на виду, ожидаю серьёзных прорывов в компьютерных играх. Там производительность всегда актуальна.<br/>
<br/>
Вот с точки зрения прикладного разработчика не всё однозначно. Но вот, скажем, такая частая операция, как построение отчётов, параллелится влёт.<br/>
<br/>
&gt; Где гарантия, что всё это станет действительно быстрее работать? А не начнётся<br/>
&gt; пыхтение, сопение и переключение контекстов и постоянные проблемы с кэшем и<br/>
&gt; синхронизацией?<br/>
<br/>
Вот тут не могу сказать. Насколько я представляю ситуацию сейчас, требуется определённый опыт параллельного программирования, чтобы избегать «опасных» способов распараллеливания. То есть, по сути, надо заставлять себя учиться новым способам думания. Но освоение функциональных языков в том числе предполагает изучение правильных способов думания.<br/>
<br/>
&gt; Только вот такие программы и на Си писать легко. Проблемы начинаются, когда<br/>
&gt; возникает необходимость сделать «share something». <br/>
<br/>
Я бы не сказал, что легко. Можно, но слишком многословно, и слишком нетрадиционно. Был у меня опыт написания библиотеки нечёткой логики на Си++, воспоминания весёлые. :) Закончилось тем, что когда я этот код пытался показывать другим программистам, они его не понимали, потому что воспринимали императивно. :)<br/>
<br/>
Да, так вот, по поводу разделения ресурсов. Вы, конечно, правы. Но тут без конкретики уже очень сложно обсуждать. Вы приведёте мне проблему, которая не параллелится, я буду приводить проблему, которая хорошо параллелится, и так мы можем впасть в вечный цикл. :)]]></description>
			<pubDate>Mon, 22 Dec 2008 16:35:18 GMT</pubDate>
			<author>markshevchenko</author>
		</item>
	

	
		<item>
			<title>22.12.2008 16:06:17 Daymz</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1220516</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1220516</link>
			<description><![CDATA[Футамуре бы добавить нулевую проекцию: программа есть специализация возможностей языка процессом разработки.<br/>
<br/>
И ещё «минус первую» проекцию: процесс разработки есть специализация возможностей разработчика конкретной задачей. <br/>
<br/>
Отыскал свои высказывания шестилетней давности на эти темы:<br/>
<a href="http://www.jroller.com/deep/entry/cyber_telepathy_of_generative_programming">www.jroller.com/deep/entry/cyber_telepathy_of_generative_programming</a>]]></description>
			<pubDate>Mon, 22 Dec 2008 16:06:17 GMT</pubDate>
			<author>Daymz</author>
		</item>
	

	
		<item>
			<title>22.12.2008 15:32:23 mraleph</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1220418</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1220418</link>
			<description><![CDATA[есть у меня определённые сомнения в том, что на десктопе так уж много задач, которые прямо «взлетят» от распараллеливания… <br/>
<br/>
более-того ну возьмем мы автоматическое распараллеливание какой-нибудь десктопной программки на Haskell, в которой списки ([a]) автоматически превратились в параллельные массивы ([:a:]) и даже очень много функций принимающих списки автоматически распаралилились и стали принимать параллельные массивы… Где гарантия, что всё это станет действительно быстрее работать? А не начнётся пыхтение, сопение и переключение контекстов и постоянные проблемы с кэшем и синхронизацией?<br/>
<br/>
Нет, я, конечно, не отрицаю, что на Haskell можно достаточно легко писать руками параллельные программы в стиле «share nothing». Только вот такие программы и на Си писать легко. Проблемы начинаются, когда возникает необходимость сделать «share something». <br/>
<br/>
Я считаю на этом поле the next big thing это транзакционная память. Будет ли от неё счастье, мне пока не ясно до конца, но надежды есть… <br/>
]]></description>
			<pubDate>Mon, 22 Dec 2008 15:32:23 GMT</pubDate>
			<author>mraleph</author>
		</item>
	

	
		<item>
			<title>22.12.2008 15:16:48 markshevchenko</title>
			<guid isPermaLink="true">#comment_1220363</guid>
			<link>#comment_1220363</link>
			<description><![CDATA[Ну вот года через три будет стоять у всех по 10 ядер на машине. Все сишные программы придётся распараллеливать вручную. Геморрой.<br/>
<br/>
С функциональными значительно всё проще, вплоть до автоматического распараллеливания. Посмотрим, вдруг и окажется так, что хаскель быстрее си будет.]]></description>
			<pubDate>Mon, 22 Dec 2008 15:16:48 GMT</pubDate>
			<author>markshevchenko</author>
		</item>
	

	
		<item>
			<title>22.12.2008 11:57:14 BisnoyZakat</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1219752</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1219752</link>
			<description><![CDATA[ооода без тернарного выражения никуда)]]></description>
			<pubDate>Mon, 22 Dec 2008 11:57:14 GMT</pubDate>
			<author>BisnoyZakat</author>
		</item>
	

	
		<item>
			<title>22.12.2008 11:53:10 afterdark</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1219734</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1219734</link>
			<description><![CDATA[imho = футурама — матчасть? lol: omg]]></description>
			<pubDate>Mon, 22 Dec 2008 11:53:10 GMT</pubDate>
			<author>afterdark</author>
		</item>
	

	
		<item>
			<title>21.12.2008 21:51:36 RumataEstora</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1218718</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1218718</link>
			<description><![CDATA[очень интересный материал, но подача его, простите, весьма сумбурная.]]></description>
			<pubDate>Sun, 21 Dec 2008 21:51:36 GMT</pubDate>
			<author>RumataEstora</author>
		</item>
	

	
		<item>
			<title>21.12.2008 20:36:17 artyfarty</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1218577</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1218577</link>
			<description><![CDATA[Ой, я только после этого каммента заметил )]]></description>
			<pubDate>Sun, 21 Dec 2008 20:36:17 GMT</pubDate>
			<author>artyfarty</author>
		</item>
	

	
		<item>
			<title>21.12.2008 20:34:14 maxshopen</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1218575</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1218575</link>
			<description><![CDATA[Я где то написал про случайный порядок перестановки? Ясное дело, что он не может быть случайным. У слова должен остаться узнаваемый оптический образ. Тот фейк, про который вы упоминаете — вовсе не фейк, а результат чьей то проделанной работы по нахождению таких образов. Я не вчитывался в какие то исследования на эту тему, но мне кажется, что там есть несколько параметров, расположение букв (крайние должны остаться на месте. следующие с концов желательно тоже), группы букв, которые можно разрушать а какие нельзя, типы самих переставляемых букв.<br/>
<br/>
В этом смысле «Футамура» и «Футурама», имхо — идеальная пара, на глаз практически неразличимая.<br/>
<br/>
Да и вообще теории териями, а практика без всяких глупостей доказывает этот тезис. У меня есть знакомый, он часто опечатывается в словах именно по типу неправильного порядка нажатия клавиш. Когда я читаю его письма ~90% слов читаются на ходу]]></description>
			<pubDate>Sun, 21 Dec 2008 20:34:14 GMT</pubDate>
			<author>maxshopen</author>
		</item>
	

	
		<item>
			<title>21.12.2008 17:25:27 FatalErr</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1218279</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1218279</link>
			<description><![CDATA[Visual Studo тоже иногда такое показывает — unreachable code]]></description>
			<pubDate>Sun, 21 Dec 2008 17:25:27 GMT</pubDate>
			<author>FatalErr</author>
		</item>
	

	
		<item>
			<title>21.12.2008 16:36:30 alex_blank</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1218189</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1218189</link>
			<description><![CDATA[это для иллюстративных целей, чтобы было меньше редукций при вычислении]]></description>
			<pubDate>Sun, 21 Dec 2008 16:36:30 GMT</pubDate>
			<author>alex_blank</author>
		</item>
	

	
		<item>
			<title>21.12.2008 16:04:46 AstralMan</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1218128</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1218128</link>
			<description><![CDATA[И я… надо больше отдыхать =)]]></description>
			<pubDate>Sun, 21 Dec 2008 16:04:46 GMT</pubDate>
			<author>AstralMan</author>
		</item>
	

	
		<item>
			<title>21.12.2008 15:51:36 abdalAziz</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1218106</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1218106</link>
			<description><![CDATA[ти раза перечитал. пытался понять причем тут Футурама]]></description>
			<pubDate>Sun, 21 Dec 2008 15:51:36 GMT</pubDate>
			<author>abdalAziz</author>
		</item>
	

	
		<item>
			<title>21.12.2008 15:15:50 Kartoshk0</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1218035</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1218035</link>
			<description><![CDATA[мне кажется в функции возведения в степень «1 → x» необязательно… ]]></description>
			<pubDate>Sun, 21 Dec 2008 15:15:50 GMT</pubDate>
			<author>Kartoshk0</author>
		</item>
	

	
		<item>
			<title>21.12.2008 15:09:43 quintus</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1218027</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1218027</link>
			<description><![CDATA[ээээ я один до сих пор пытаюсь это осмыслить? оО]]></description>
			<pubDate>Sun, 21 Dec 2008 15:09:43 GMT</pubDate>
			<author>quintus</author>
		</item>
	

	
		<item>
			<title>21.12.2008 14:48:11 VDG</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217969</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217969</link>
			<description><![CDATA[сложность зависит от длины между позицией где должна быть буква и там где она написана.<br/>
<br/>
перескоки букв на одну-две позиции очень легко читаются. а в вашем примере дальность «перескока» в основном 3-5 позиций, это сложный пример.]]></description>
			<pubDate>Sun, 21 Dec 2008 14:48:11 GMT</pubDate>
			<author>VDG</author>
		</item>
	

	
		<item>
			<title>21.12.2008 14:36:13 alex_blank</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217925</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217925</link>
			<description><![CDATA[&gt;&gt; Так вот! По сути компилятором (вернее, генератором кода), оказывается вторая переданная функция, а вовсе не specialize<br/>
<br/>
разумеется]]></description>
			<pubDate>Sun, 21 Dec 2008 14:36:13 GMT</pubDate>
			<author>alex_blank</author>
		</item>
	

	
		<item>
			<title>21.12.2008 14:29:59 lostmsu</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217903</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217903</link>
			<description><![CDATA[О-о-о! Долго думал что в этой идее не так и, наконец, понял!<br/>
<br/>
Очевидно, нельзя написать такую specialize, которая смогла бы специализировать код на любом языке. Нужно некое внутреннее представление, которая specialize могла бы обрабатывать и функция перевода кода в это представление — это раз.<br/>
<br/>
Далее. Какой код, как вы думаете, получится после применения specialize к этому внутреннему представлению? Правильно! Получится снова промежуточный код. А значит, нам нужно преобразовать его к исходному формату. То есть нам нужна ещё и функция перевода промежуточного кода в старый код.<br/>
<br/>
Так вот! По сути компилятором (вернее, генератором кода), оказывается вторая переданная функция, а вовсе не specialize.<br/>
<br/>
Таким образом, мы ничего нового не изобрели, а эта «магическая функция» specialize остаётся не более чем тем, чем она являлась первоначально — вычислителем константных выражений.]]></description>
			<pubDate>Sun, 21 Dec 2008 14:29:59 GMT</pubDate>
			<author>lostmsu</author>
		</item>
	

	
		<item>
			<title>21.12.2008 13:30:21 lostmsu</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217755</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217755</link>
			<description><![CDATA[Замечательная статья! Спасибо!<br/>
<br/>
Очень интересно, реально ли воспользоваться идеей для написания компиляторов. Есть некая загвоздка — всё было бы прекрасно, если бы транслярор был написан на ассемблере, но сейчас трансляторы пишут на высокоуровневых языках. А это означает, что specialize(interpreter, code) вернёт код на том языке, на котором написан interpreter, а не на asm'е, к сожалению.]]></description>
			<pubDate>Sun, 21 Dec 2008 13:30:21 GMT</pubDate>
			<author>lostmsu</author>
		</item>
	

	
		<item>
			<title>21.12.2008 13:26:19 mraleph</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217749</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217749</link>
			<description><![CDATA[<blockquote>в статье как раз рассказывается про оптимизации на высоком уровне (частичные вычисления)</blockquote><br/>
<br/>
в статье функциональщина, я говорил про С++<br/>
<br/>
<blockquote>потому что анализировать функциональный код проще</blockquote><br/>
<br/>
не думаю что уж сильно проще, где-то проще, а где-то сложнее… вот над fusion в GHC сколько бьются, никак сделать нормально не могут =)<br/>
<br/>
и вообще вас разве привлекают только простые задачи? меня наоборот =)]]></description>
			<pubDate>Sun, 21 Dec 2008 13:26:19 GMT</pubDate>
			<author>mraleph</author>
		</item>
	

	
		<item>
			<title>21.12.2008 13:22:30 alex_blank</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217740</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217740</link>
			<description><![CDATA[<i>&gt; большинство известных мне оптимизаций* делаются на уровне весьма себе низкоуровневого императивного IR.</i><br/>
<br/>
в статье как раз рассказывается про оптимизации на высоком уровне (частичные вычисления)<br/>
<br/>
<i>&gt;&gt; не понял почему. </i><br/>
<br/>
потому что анализировать функциональный код проще<br/>
]]></description>
			<pubDate>Sun, 21 Dec 2008 13:22:30 GMT</pubDate>
			<author>alex_blank</author>
		</item>
	

	
		<item>
			<title>21.12.2008 13:19:09 mraleph</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217734</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217734</link>
			<description><![CDATA[согласен, имеет смысл говорить о скорости реализации языка.<br/>
<br/>
]]></description>
			<pubDate>Sun, 21 Dec 2008 13:19:09 GMT</pubDate>
			<author>mraleph</author>
		</item>
	

	
		<item>
			<title>21.12.2008 13:16:16 alex_blank</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217729</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217729</link>
			<description><![CDATA[«скорость» языка это слишком мутное понятие, чтобы им оперировать]]></description>
			<pubDate>Sun, 21 Dec 2008 13:16:16 GMT</pubDate>
			<author>alex_blank</author>
		</item>
	

	
		<item>
			<title>21.12.2008 13:13:59 mraleph</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217723</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217723</link>
			<description><![CDATA[<blockquote>а C не быстрее, C — более explicit, так же, как assembler vs. CM</blockquote><br/>
<br/>
Ну не надо противопоставлять теплое мягкому. explicit это одно свойство языка, а скорость — это совершенно другое. <br/>
Графики явно показывают, что С быстрее… Конечно, можно возразить, что у Haskell'а есть другие преимущества и его оптимизацией занимаются не столько времени, сколько занимаются оптимизациями императивных языков… Но тут мы ступаем на весьма зыбкую почву. ]]></description>
			<pubDate>Sun, 21 Dec 2008 13:13:59 GMT</pubDate>
			<author>mraleph</author>
		</item>
	

	
		<item>
			<title>21.12.2008 13:10:14 rumkin</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217715</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217715</link>
			<description><![CDATA[Это просто шутка, не принимайте на свой счёт.]]></description>
			<pubDate>Sun, 21 Dec 2008 13:10:14 GMT</pubDate>
			<author>rumkin</author>
		</item>
	

	
		<item>
			<title>21.12.2008 13:09:42 mraleph</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217713</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217713</link>
			<description><![CDATA[<blockquote>т.е. я вообще не считаю, что с императивными языками стоит возиться</blockquote><br/>
<br/>
не понял почему. <br/>
<br/>
<blockquote>ну в самом деле, не будете же вы делать оптимизацию ассемблерного кода, когда эти оптимизации проще делать на уровне, скажем, C++</blockquote><br/>
<br/>
опять не понял, что значит на уровне C++? большинство известных мне оптимизаций* делаются на уровне весьма себе низкоуровневого императивного IR. на выскоуровневом структурном IR делается незначительное число оптимизаций. <br/>
<br/>
* — я говорю об императивщине. ]]></description>
			<pubDate>Sun, 21 Dec 2008 13:09:42 GMT</pubDate>
			<author>mraleph</author>
		</item>
	

	
		<item>
			<title>21.12.2008 12:59:15 ciiccii</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217689</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217689</link>
			<description><![CDATA[я заметил это, только после Вашего комментария о.О]]></description>
			<pubDate>Sun, 21 Dec 2008 12:59:15 GMT</pubDate>
			<author>ciiccii</author>
		</item>
	

	
		<item>
			<title>21.12.2008 12:44:36 alex_blank</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217666</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217666</link>
			<description><![CDATA[т.е. я вообще не считаю, что с императивными языками стоит возиться<br/>
<br/>
ну в самом деле, не будете же вы делать оптимизацию ассемблерного кода, когда эти оптимизации проще делать на уровне, скажем, C++]]></description>
			<pubDate>Sun, 21 Dec 2008 12:44:36 GMT</pubDate>
			<author>alex_blank</author>
		</item>
	

	
		<item>
			<title>21.12.2008 12:43:29 alex_blank</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217663</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217663</link>
			<description><![CDATA[не знаю, как с императивными быть — в этом и бич императивных языков, из-за функционально нечистой семантики к ним тяжело применять методы math reasoning<br/>
<br/>
в статье есть ссылка на попытку сделать суперкомпилятор для Java, но что-то у них не пошло<br/>
<br/>
а C не быстрее, C — более explicit, так же, как assembler vs. C<br/>
<br/>
задача в том, чтобы сделать функциональный код как минимум не медленнее вручную написанного]]></description>
			<pubDate>Sun, 21 Dec 2008 12:43:29 GMT</pubDate>
			<author>alex_blank</author>
		</item>
	

	
		<item>
			<title>21.12.2008 12:23:33 mraleph</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217623</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217623</link>
			<description><![CDATA[окей, для Haskell понятно, а как с императивными быть? <br/>
<br/>
// в статье кстати красивый график есть, к которому заглавие «А Си быстрее и без суперкомпиляции» подходит =)<br/>
<br/>
]]></description>
			<pubDate>Sun, 21 Dec 2008 12:23:33 GMT</pubDate>
			<author>mraleph</author>
		</item>
	

	
		<item>
			<title>21.12.2008 12:11:11 alex_blank</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217588</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217588</link>
			<description><![CDATA[есть<br/>
<br/>
<a href="http://www-users.cs.york.ac.uk/~ndm/downloads/paper-a_supercompiler_for_core_haskell-01_may_2008.pdf">A Supercompiler For Core Haskell</a> (pdf)]]></description>
			<pubDate>Sun, 21 Dec 2008 12:11:11 GMT</pubDate>
			<author>alex_blank</author>
		</item>
	

	
		<item>
			<title>21.12.2008 11:55:59 taketwo</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217550</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217550</link>
			<description><![CDATA[На самом деле согласен, прочитать можно, но действительно на порядок сложнее, чем тот текст про исследование.]]></description>
			<pubDate>Sun, 21 Dec 2008 11:55:59 GMT</pubDate>
			<author>taketwo</author>
		</item>
	

	
		<item>
			<title>21.12.2008 11:52:48 alex_blank</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217542</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217542</link>
			<description><![CDATA[сначала был пример сложнее, но редукций оказалось слишком много, сократил )]]></description>
			<pubDate>Sun, 21 Dec 2008 11:52:48 GMT</pubDate>
			<author>alex_blank</author>
		</item>
	

	
		<item>
			<title>21.12.2008 11:49:54 Temp1ar</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217533</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217533</link>
			<description><![CDATA[Качество материалов никаких нареканий не вызывает. ~ с 3 раза.]]></description>
			<pubDate>Sun, 21 Dec 2008 11:49:54 GMT</pubDate>
			<author>Temp1ar</author>
		</item>
	

	
		<item>
			<title>21.12.2008 11:46:57 VlK</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217525</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217525</link>
			<description><![CDATA[Интересно, кажется именно об этом читал недавно вышедшей «Функциональном программировании на яхыке Хаскелл». Честно говоря, заметка значительно лучше объясняет эти вопросы. :)]]></description>
			<pubDate>Sun, 21 Dec 2008 11:46:57 GMT</pubDate>
			<author>VlK</author>
		</item>
	

	
		<item>
			<title>21.12.2008 11:39:23 leonard</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217511</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217511</link>
			<description><![CDATA[Качество материалов никаких нареканий не вызывает. Но читать сложно.]]></description>
			<pubDate>Sun, 21 Dec 2008 11:39:23 GMT</pubDate>
			<author>leonard</author>
		</item>
	

	
		<item>
			<title>21.12.2008 11:13:47 BisnoyZakat</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217469</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217469</link>
			<description><![CDATA[Футурама — матчасть? omg…]]></description>
			<pubDate>Sun, 21 Dec 2008 11:13:47 GMT</pubDate>
			<author>BisnoyZakat</author>
		</item>
	

	
		<item>
			<title>21.12.2008 11:03:46 vuspenskiy</title>
			<guid isPermaLink="true">http://habrahabr.ru/blogs/crazydev/47418/#comment_1217465</guid>
			<link>http://habrahabr.ru/blogs/crazydev/47418/#comment_1217465</link>
			<description><![CDATA[Я думаю это просто обобщение техник, применяемых в компилляторах с красивыми названиями.]]></description>
			<pubDate>Sun, 21 Dec 2008 11:03:46 GMT</pubDate>
			<author>vuspenskiy</author>
		</item>
	

	
</channel>
</rss>

