You are viewing alexey_rom

Previous 50 | Next 50

Nov. 28th, 2010

Психологическое исследование о проблемах качества высшего образования

Случайно увидел ссылку на этот опрос, и думаю, что некоторым из моих френдов тоже может быть интересно :)
Tags:

Беспамятная собака

Вспомнил, что вопрос, только что заданный в "Что? Где? Когда?", недавно видел в ЖЖ. Но этого обсуждения не нашёл, а нашёл версию поинтереснее :)

http://zelchenko.livejournal.com/25558.html
http://zelchenko.livejournal.com/25652.html

Nov. 27th, 2010

Выбранная клавиатура

В результате большинство за Natural Ergonomic Keyboard 4000, несколько человек за клавиатуру от Apple, и ещё одиночные рекомендации Razer Arctosa, BTC 6300C, Trust Slimline KB-1450, Trust Isla и Mitsumi Classic. Заказал в Юлмарте NEK4000, обещают завтра привезти. Заодно и посмотрим, как они работают... И буду надеяться, что эта клавиатура продержится долго.

Клавиатура

Придётся менять клавиатуру, эта на ладан дышит :( Раньше мне очень нравились Microsoft Natural Ergonomic 4000, но несколько сломались почти подряд. Как у них в последнее время с качеством, кто-нибудь брал?

Nov. 16th, 2010

Ещё насчёт теста по чтению эмоций

Милена Попова заметила интересную вещь насчёт соотношения мужских и женских выражений лица в тесте из прошлого поста.

Nov. 14th, 2010

Тест на распознавание выражения лица

via macroevolution

У меня 32 из 36. Что, гм, несколько удивительно, поскольку в жизни удаётся понять, о чём люди думают и чего хотят, довольно редко :)
Tags:

Nov. 9th, 2010

Престижная премия Пифагора?

Читаю новости: "Математическая Премия Пифагора присуждена российскому ученому". Всё бы хорошо, но что это за премия такая? В Гугле по "pythagoras prize" находится только этот самый Сергеев и несколько лауреатов премии за популярные книжки по математике. Может, она как-то по-другому правильно называется?

Oct. 30th, 2010

Лучший фантастический рассказ в истории

Рассказ в Nature (на английском).

Ох, давно ничего не писал...

Нужно возвращаться потихоньку :)
++age;

Jul. 4th, 2010

Документация .Net

Странное у Microsoft понимание о нехватке памяти: If the file does not have a valid image format or if GDI+ does not support the pixel format of the file, this method throws an OutOfMemoryException exception.
Tags:

Jun. 21st, 2010

QuviQ выпустил бесплатную версию QuickCheck

Официальное объявление. Теперь нужно смотреть, достаточно ли там всё просто, чтобы просить студентов писать на нём тесты...

UPDATE: А только что объявили об очередной вариации на тему: http://github.com/manopapad/proper Кроме того, уже некоторое время назад появился http://github.com/krestenkrab/triq от автора Erjang (реализации Erlang на JVM).
Tags: ,

Jun. 20th, 2010

Реклама

Фанфик про то, что могло бы случиться, если бы Гарри Поттер вырос в семье профессора, имел мозги и умел ими пользоваться: Harry Potter and the Methods of Rationality.

UPD:
И ещё одна новелла Юдковски, которая в своё время меня впечатлила, необычная вариация на тему Первого контакта: Three Worlds Collide.

Jun. 19th, 2010

Представление списков в ФП

Возник такой вопрос. Как устроены cons-списки, большей части читающих известно :) А мне сейчас пригодилось бы неизменяемое представление списков в неленивом функциональном языке с хвостовой рекурсией, которое хорошо поддерживает две операции:
1) Конкатенацию (и как частный случай добавление элементов в начало и конец списка). Желательно хотя бы амортизированное O(1), O(log N) тоже сойдёт.
2) Итерацию от начала к концу. Без переполнения стека, независимо от того, как строился список.

Вот из-за второго условия простые conc-списки меня не устраивают, нужно какое-то балансирование. И чем проще, тем лучше.

Благодаря наличию хвостовой рекурсии направо деревья могут расти спокойно, главное, чтобы не росли налево.

Известные мне варианты:
1) Vector в Clojure и Scala. Хорошо добавляет элементы в конец, плохо в начало.
2) 2-3 finger tree (например, Data.Sequence в Haskell). Сложная схема балансирования и, как результат, великоваты постоянные множители у асимптотик (хотя жить можно).

UPDATE: Simple Confluently Persistent Catenable Lists и Purely Functional, Real-Time Deques with Catenation.

Jun. 12th, 2010

Опять об Фитча

Из принципа познаваемости следует существование разумной жизни во всех возможных мирах. Доказательство:

1 будет обозначать тождественную истину

K1 = "кто-то когда-то знает тождественно истинное утверждение". Это истинно в мире α тогда и только тогда, когда его истории есть разумная жизнь.

Kp → K1 ("если в мире кто-то что-то знает, то он знает тождественно истинное утверждение") примем за аксиому.

Рассиотрим такой мир α, где разумной жизни нет. Тогда в нём истинно

1) ¬K1
2) ◊K¬K1 (из 1 по принципу познаваемости)
В каком-то достижимом мире β верно
3) K¬K1 (из 2 по семантике возможных миров) То есть в этом мире есть кто-то, что-то знающий.
4) ¬K1 (из 3 по корректности знания)
5) K1 (из 3 по аксиоме Kp → K1)

Пришли к противоречию. По-моему, это позволяет локализовать проблему вполне чётко: пункт 2 должен говорить, что в мире β мы знаем, что в α нет разумной жизни; а вместо этого получается, что мы знаем, что её нет в β.

Jun. 6th, 2010

О школьном бюджете

Все, наверное, видели копипасту про то, что скоро "в школах останется три бесплатных урока: математика, русский и Закон Божий". Во что пока этот закон выливается на практике, можно прочитать в ЖЖ у xelluin, которая как раз работает бухгалтером в школе-интернате для одарённых детей.

May. 27th, 2010

От Быкова не ожидал

«Надеюсь, вы понимаете, что ничего этого не было? Ведь это бред. Какая в жопу обезьяна? У дарвинизма нет никаких доказательств. Переходного звена нет! Ничего нет!»

UPD: А вот высказывания самого Быкова.

May. 24th, 2010

Последние лабораторные по ФЛП

Домашние задания:
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/homework6.txt
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/homework7.txt

Файлы к лабораторной 6:
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/control.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/cut.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/database.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/difflists.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/negation.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/op.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/search.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/second_order.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/stack.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab6/var_nonvar.pl

Файлы к лабораторной 7:
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/basic_english.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/english_rec_bad.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/english_rec.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/english_pronouns_bad.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/english_pronouns.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/english_parse_trees.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/english_rules_lexicon.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/abc.pl
http://dl.dropbox.com/u/1814290/%D0%A4%D0%9B%D0%9F/lab7/ast.pl

Лабораторная 7 практически целиком по Learn Prolog Now, лекции 7 и 8, только с той разницей, что разностные списки уже были.

May. 16th, 2010

Опрос по языкам программирования

David R. MacIver проводит большой опрос насчёт того, какой язык лучше для каких целей. Думаю, найдутся те, кому будет интересно поучаствовать.

UPDATE: В общем, людям не понравилось. Но тем не менее, ответов набралось достаточно много, и результаты уже можно посмотреть.

Apr. 19th, 2010

5 лабораторная по ФЛП

Слайды
Домашняя работа

Apr. 15th, 2010

Степанов в Москве!

Степанов (один из двух главных авторов STL, автор замечательной книги Elements of Programming) проведёт в офисе Яндекса два доклада: 19 и 20 апреля.

К большому сожалению, на первый я не успеваю :( А вот на 20 уже записался.

Apr. 10th, 2010

(no subject)

Несколько интересных багов в Java: http://blog.cr0.org/2010/04/javacalypse.html (особенно радует автоматическая установка старой версии JRE). Кто хорошо в этих вопросах разбирается? Может быть, автор ошибается и всё не так страшно...
Tags:

Apr. 8th, 2010

Здоровый образ жизни

От igrok213 узнал о том, что olegtern планирует в конце апреля провести интернет-курсы по здоровому образу жизни с большим объёмом практических занятий (подробности, программа и стоимость -- по ссылке).

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

Apr. 1st, 2010

Две ссылки

1. fregimus перевёл «Плач математика» Локхарта.
2. Обращение к президенту РФ насчёт орфанных лекарственных средств

Mar. 30th, 2010

4 лабораторная по ФЛП

Переходим к Prolog.

lab4.txt
homework4.txt
animals.pl
family.pl

Mar. 23rd, 2010

Контрпример Гетье в реальной жизни (ну, почти)

Источник
Как известно, контрпримеры Гетье демонстрируют, с точки зрения многих философов, что истинное обоснованное мнение ещё не обязательно является знанием (хотя эти условия необходимы).

"Философия философии", Уильямсон, стр. 192:
Чтобы лучше донести мысль, я иногда создавал контрпримеры Гетье для моих слушателей. Например, один раз я начал лекцию с извинения за то, что не приготовил слайды в PowerPoint. Я объяснил, что единственный раз, когда я сделал презентацию в PowerPoint, лекция была совершенно неудачной. У слушателей не было причин подвергать сомнению утверждение, так меня дискредитирующее; так что благодаря этому заявлению они приобрели обоснованное мнение, что единственный раз, когда я сделал презентацию в PowerPoint, лекция была совершенно неудачной. Отсюда они корректно заключили, что я ни разу не провёл успешной лекции с использованием PowerPoint. Это их мнение было истинно, но только потому, что я вообще никогда не использовал PowerPoint (и не собираюсь в будущем). Моё утверждение было чистой ложью.

Mar. 22nd, 2010

Третья лабораторная по ФЛП

И последняя по части ФП, со следующей недели начинается Prolog. Текст очень короткий, только по list comprehensions, поскольку про типы я рассказывал на лекции.

Разработка
Задание на лабораторную
streams.erl
diff_list.erl

Mar. 21st, 2010

Теренс Тао о вычислительной теории множеств

http://terrytao.wordpress.com/2010/03/19/a-computational-perspective-on-set-theory/

При этом он допускает счётно-бесконечные вычислительные ресурсы.

Правильно ли я понимаю, что это единственное отличие от конструктивизма и если его убрать, получим хорошую конструктивную теорию множеств?

Mar. 18th, 2010

BitC восстал из могилы

Почти год назад автор BitC закончил работу над проектом и ушёл работать в Microsoft. Недавно он сообщил, что уходит из MS и возвращается к BitC. (Вместо упомянутого в сообщении CLR он сейчас планирует перейти на LLVM.)
Tags: ,

Структура налогов в РФ

в двух графиках.

http://martyshin.livejournal.com/125039.html

Mar. 17th, 2010

Моё любимое решение парадокса неожиданной казни

Формулировка парадокса
Однажды в воскресенье начальник тюрьмы вызвал преступника, приговорённого к казни, и сообщил ему:

* Вас казнят на следующей неделе в полдень.
* День казни станет для вас сюрпризом, вы узнаете о нем только когда палач в полдень войдет к вам в камеру.

Начальник тюрьмы был честнейшим человеком и никогда не врал.
Заключённый подумал над его словами и улыбнулся: «В воскресенье меня казнить не могут! Ведь тогда уже в полдень субботы я буду знать об этом. А по словам начальника я не буду знать день своей казни. Следовательно последний возможный день моей казни — суббота. Но если меня не казнят в пятницу, то я буду заранее знать что меня казнят в субботу, значит и ее можно исключить.» Последовательно исключив пятницу, четверг, среду, вторник и понедельник преступник пришел к выводу, что начальник не сможет его казнить, выполнив все свои слова.

На следующей неделе, палач постучал в его дверь в полдень в среду — это было для него полной неожиданностью. Все, что начальник тюрьмы сказал, осуществилось. Где недостаток в рассуждении заключённого?

Одно из решений

Знание мы будем понимать стандартно: «заключённый знает p» <=> «p есть истинное и обоснованное мнение заключённого».

Обозначим s = "приговор будет в точности исполнен", Ks = "заключённый знает, что s"

Заметьте, что шаг: «В воскресенье меня казнить не могут! Ведь тогда уже в полдень субботы я буду знать об этом.» требует истинности Ks. В самом деле, если заключённый не уверен в исполнении приговора, и его не казнили до полудня субботы, то у него нет оснований полагать, что его казнят в воскресенье, а не (например) в следующий понедельник или вечером субботы. Так что строго говоря, доказано только Ks → ¬s. Из истинности знания мы также имеем Ks → s и Ks → (s ∧ ¬s).

Но само по себе это не противоречие; для противоречия нужно ещё, чтобы Ks было истинно. Это и призвано обеспечить условие «Начальник тюрьмы был честнейшим человеком и никогда не врал.» Но мы видим, что оно эту работу не выполняет: ведь заключённый в результате приходит к выводу, что приговор привести в исполнение нельзя, то есть что начальник соврал!

Значит:
1) приговор может быть приведён в исполнение
2) при этом заключённый не знает, что приговор будет приведён в исполнение

Mar. 14th, 2010

Структурная теория множеств

SEAR (Sets, elements and relations) По-моему, симпатично и достаточно практично (для "нормальной" математики). Мне больше нравится приведённый в конце вариант, где в базовые понятия включены пары и подмножества вместо отношений.

ECTS (Elementary Theory of the Category of Sets)

Mar. 11th, 2010

Откровения Guido van Rossum о функциональных языках

Цитата из Masterminds of Programming:
Python probably has the reputation of supporting functional programming based on the inclusion of lambda, map, filter and reduce in the language, but in my eyes these are just syntactic sugar, and not the fundamental building blocks that they are in functional languages. The more fundamental property that Python shares with Lisp (not a functional language either!) is that functions are first-class objects, and can be passed around like any other object. This, combined with nested scopes and a generally Lisp-like approach to function state, makes it possible to easily implement concepts that superficially resemble concepts from functional languages, like currying, map, and reduce. The primitive operators that are necessary to implement those concepts are built into Python, where in functional languages, those concepts are the primitive operations. You can write reduce() in a few lines of Python. Not so in a functional language.

Перевод:
Считается, что Python поддерживает функциональное программирование, скорее всего из-за включения lambda, map, filter и reduce в язык. Но с моей точки зрения это просто синтаксический сахар, а не основные строительные блоки, которыми они являются в функциональных языках. Куда более фундаментальным свойством, общим для Python и Lisp (который тоже не функциональный язык!), является то, что функции — объекты первого класса, и могут передаваться так же, как и любой другой объект. Это, в сочетании с вложенными областями видимости и в общем близким к Lisp'у подходом к состоянию функций, позволяет легко реализовать возможности, поверхностно напоминающие о таких возможностях функциональных языков, как карринг, map, и reduce. В Python встроены примитивные конструкции, необходимые для реализации этих понятий; а вот в функциональных языках они сами и являются примитивными конструкциями. В Python достаточно нескольких строк, чтобы написать reduce(). В функциональных языках это не так.

Mar. 6th, 2010

Pex

Они это сделали! Я и не надеялся уже, но Pex будет доступен в VS 2010 (и 2008) Pro, а не только в Team Suite.

Для тех, кто не встречался с Pex: это дальний родственник QuickCheck для .Net (в первую очередь для C#). Дальний потому, что аргументы, на которых проверяются свойства, генерируются не случайно, а с помощью анализа тестируемого кода и попытки подобрать значения так, чтобы пройти по всем возможным потокам управления, а потом сохраняются в виде обычных юнит-тестов.

Теперь ещё бы статическую проверку контрактов в VS Pro и будет совсем замечательно.

Mar. 2nd, 2010

Уголовное преследование за рецензию

О таком я раньше не слышал. Доктор Кальво-Голлер за эту рецензию подала в суд на клевету, даже не на рецензента, а на главного редактора сайта, на котором она опубликована. Причём подала во Франции. По законам которой все обвинения в клевете рассматриваются в Уголовном суде.

Источники:
http://languagelog.ldc.upenn.edu/nll/?p=2147
http://opiniojuris.org/2010/02/12/criminal-libel-for-publishing-a-critical-book-review-seriously/

Мои Shared items в Google Reader

Благодаря Google Buzz вспомнил об их существовании и наличии в FeedDemon кнопки share.

Собственно URL: http://www.google.com/reader/shared/05538518460582448118

Прочитанное

Дочитал JavaScript: The Good Parts. Книга неплохая и короткая (а повторений всё равно хватает :( ) Насчёт недостатков во многом могу согласиться с этой рецензией, но я всё-таки оценил на 4, а не 3.

Feb. 28th, 2010

Mathematics made difficult

Раньше слышал об этой книге, но не искал. Прочитав предисловие, уже понял, что зря.

Цитаты (взяты с reddit):

[Dedication] "To Clement V. Durell, M.A., without whom this book would not have been necessary"
[p.10] "Mathematicians always strive to confuse their audiences; where there is no confusion there is no prestige. Mathematics is prestidigitation."
He manages to pose several confusing questions about even the most basic facts. Leave alone "Question 4. Whether 1 is a number?", who can ever answer ""Question 5. Whether one should count with the same numbers he adds with, up to isomorphism?" :-)
[p.23] "This section is about addition. The fact that the reader has been told this does not necessarily mean that he knows what the section is about, at all. He still has to know what addition is, and that he may not yet know. It is the author's fond hope that he may not even know it after he has read the whole section."
[p.28] "With a few brackets it is easy enough to see that 5+4 is 9. What is not easy to see is that 5+4 is not 6."
[p.40] He defines a cancellable number x as one for which x+p = x+q never holds unless p=q. He first proves that if x and y are cancellable so is x+y, then with great care proves that 1 is cancellable, and therefore all numbers are cancellable.
[p.44–48]. In just a few pages, he gives a category-theoretic construction of the group of integers. Surely, this has never been done before.
[p.25] (On mathematical "beliefs".) "Like the world of a science-fiction story, a system of beliefs need not be highly credible—it may be as wild as you like, so long as it is not self-contradictory—and it should lead to some interesting difficulties, some of which should, in the end, be resolved."
[p.37] "unfortunately, there is a flaw in the reasoning. [..] to say that each of two numbers cannot be bigger than the other is to repeat the statement that is to be proved. It is not correct in logic to prove something by saying it over again; that only works in politics, and even there it is usually considered desirable to repeat the proposition hundreds of times before considering it as definitely established."
[Starred exercise] "Show that 17 × 17 = 289. Generalise this result."

Ссылка на DJVU версию (1.7 MB)
Ссылка на PDF версию (24.3 MB)

Feb. 27th, 2010

Курс ФЛП, вторая лабораторная

Разработка
Задание

Файлы с кодом:
lists2.erl
control.erl
file_io.erl

Feb. 26th, 2010

Курс по языкам программирования от Ralf Lämmel

Ссылка с более подробным описанием

Материалы

Coverage
- Parsing and interpretation in Prolog
- Basics of small-step and big-step semantics
- Basics of untyped and typed lambda calculi
- Introduction to Haskell
- Basics of denotational semantics
- Denotational semantics in Haskell
- Basics of static program analysis
- Static program analysis in Haskell
- OO programming in Haskell
- The Expression Problem
- Basics of Constraint-Logic Programming
- Basics of Process Algebra (CCS)
- ... a few more specialized lectures

Characteristics
- English as the course language
- Slides, videos, exercises available online publicly
- 42 hours (45mins each) of lectures over 4 months
- 12 programming-oriented, interactive labs
- Transparent scheme for midterm and final exam
- Heavy reuse of material from other courses
- Use of Twitter for notification and aggregation

SQLite на GPU

На некоторых запросах SELECT быстрее в 70 раз.

Обсуждение на Reddit, с участием разработчика.

Feb. 25th, 2010

Mendeley

Новая версия Mendeley рулит.
1) Улучшили результаты поиска по названию в Google Scholar (хотя всё ещё не идеально).
2) Добавлять файлы любого формата теперь можно так же просто, как pdf. Правда, метаинформацию не извлекает, но см. пункт 1.

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

Feb. 23rd, 2010

Жизнь коротка, а искусство вечно

И тут исходный смысл поговорки очень отличается от общепринятого.

Feb. 22nd, 2010

Закон сохранения энергии

не выполняется в общей теории относительности. Не знаю, как для вас, а для меня это новость.

Feb. 21st, 2010

NextPlease (самореклама)

Понял, что забыл написать об этом в ЖЖ.

Есть очень полезное расширение NextPlease для FireFox, которое пытается автоматически найти на страницах форумов/поиска/блогов/и т.д. ссылки на следующую, предыдущую, первую и последнюю страницы и позволяет быстрый доступ к ним по нажатию кнопки на тулбаре или по горячей клавише.

Проблема с ним была в том, что автор последнюю версию выпустил два года назад и она была совместима только с FireFox 3.0. Стандартный метод "изменить maxVersion в install.rdf" давал совместимость с FF 3.5, а вот с FF 3.6 не работал.

Впрочем, это оказалось довольно легко исправить. Так что я теперь я новый разработчик этого расширения и выпустил версию, поддерживающую 3.6.

Feb. 20th, 2010

Один из самых тёплых январей в истории

Пока мы вместе с Европой и США мёрзли, в мире было вот что:

Источник: State of the Climate, Global Analysis, January 2010

Планы Oracle по развитию JDK

Две статьи:
http://itfreak.ru/news/bright-future-of-java/
http://java.dzone.com/articles/mark-reinhold-talks-about-jdk (на англ.)
Вторую я перевёл: http://habrahabr.ru/blogs/java/85034/

Я ожидал худшего, так что приятно удивлён.
Tags:

Feb. 17th, 2010

Skype

Купил гарнитуру и присоединился к 21-му веку. Имя в Скайпе: alexeyvromanov

Feb. 11th, 2010

foldl and foldr considered slightly harmful

Guy Steele про параллелизацию функциональных программ: слайды (в pdf), видео
Tags:

Feb. 10th, 2010

Не только у нас хватает идиотов

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

Плата за регистрацию: 5$.
Tags:

Feb. 9th, 2010

Курс ФЛП

Уже третий год в весеннем семестре я веду курс "Функциональное и логическое программирование" у двух групп. У нас будет 7 лекций и 7 лабораторных (по две пары). (В одной группе, возможно, 6).

Выбор языков:
По ЛП, понятно, Пролог. По ФП Эрланг ради простоты и синтаксической близости с Прологом.

Мои планы:
3 занятия по ФП, 4 по ЛП

Лекция 1. Преимущества неизменяемых данных, списки в ФП, хвостовая vs нехвостовая рекурсия
Лабораторная 1. Знакомство с Эрлангом, написание первых функций.
Лекция 2. Функции как значения. Напомнить лямбда-исчисление. Замыкания. Сравнить с указателями на функции в C и поговорить о ситуации в других языках.
Лабораторная 2. ФВП. Применение для работы со списками и как управляющих конструкций.
Лекция 3. Алгебраические типы данных. Если успею -- немного о выводе типов. Ленивость.
Лабораторная 3. List comprehensions. Представление сложных данных. Пример: деревья.

По ЛП куда меньше теории, которая не связана непосредственно с Прологом.

Лекция 4. Идея логического программирования. Синтаксис Пролога.
Лабораторная 4. Знакомство с Прологом. Простая БД. Написание правил и запросов.
Лекция 5. Арифметика. Операторы.
Лабораторная 5. Работа со списками. Представление сложных данных. Деревья.
Лекция и лабораторная 6. Алгоритм унификации и поиска с откатом. Порядок клозов в правилах. Сечения (зелёные и красные). Отрицание.
Если успеваю: Работа со свободными переменными. Разностные списки.
Лекция и лабораторная 7. Грамматики (DCG). Код как данные.

Ваше мнение? Есть ли что-то, о чём обязательно нужно рассказать, а у меня этого нет? Есть ли что-то явно лишнее?

Кроме того, выложил на Dropbox материал и задание к первой лабораторной. Может быть, кому-нибудь будет интересно. Те же вопросы, что по общему плану занятий.

Previous 50 | Next 50

December 2014

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
28293031   

Page Summary

Syndicate

RSS Atom
Powered by LiveJournal.com