alogic: (war)
Купил за $122 смартфон Lenovo K80M с 4Гб оперативки, 64Гб карты памяти и Intel процессором. Везли из Китая почти месяц. Вот, думал, теперь можно будет Haskell компилировать сколько хочешь. Планшет Dell Venue 7 со своим 1Гб уже не тянет. Однако, не тут то было. Поставил GNU Root Debian, но все сборки GHC - 7.8.4, 7.10.3, 8.0.1 - выдают:

ghc: failed to create OS thread: Cannot allocate memory

В Гугле говорят про какой-то SELinux и что это из-за него. Так что осталась надежда, что получив права root проблему можно будет решить.

Update: Проблему решило
ulimit -s 820000
alogic: (war)
Филип Дж. Купман придумал систему редукции на графах TIGRE (pdf) в 1989 году. Сначала он защитил диссертацию, потом издал книгу (всё есть на его странице), где утверждал, что вместо 7 процессорных инструкций, как в G-machine, его система использует 1 и поэтому по производительности ставит функциональные языки в один ряд с императивными. G-machine (pdf), в которую транслируется код Haskell, была придумана Самоном Пейтоном Джонсом раньше и что-то не видно, чтобы он обратил внимание на TIGRE. Вскоре Купман перестал интересоваться оптимизацией функциональных языков и перешёл на встроенные системы. Почему TIGRE не была принята и была ли она так уж хороша? Непонятно.
alogic: (war)
Этот пакет восстанавливает историческую справедливость и превращает непонятное каррирование в простой шонинг.
alogic: (war)
3 часа назад открыли очередной модуль на курсе по Haskell. Уже 15 человек решили первые задачи и 1 добрался до последней. Кто все эти люди? Почему им не спится по ночам? Какой-то нездоровый ажиотаж.

Joey Hess

Sep. 28th, 2015 04:14 am
alogic: (war)
Оказывается, Joey Hess, автор debian-installer, debhelper, debconf, променял Debian на Haskell.
alogic: (war)
Наконец-то вышел единственный, но качественный курс Функциональное программирование на языке Haskell на русском языке. Курс выглядит гораздо грамотнее, чем даже английские. Главная тема для новичков, монады, разбирается подробно и, как рекомендуется ныне, каждая из монад по отдельности.
http://deni-ok.livejournal.com/59290.html
alogic: (war)
Теперь Haskell стал, как никогда, близок к Java.

main = do
  print("bananas".reverse)
  print(4.negate.recip)
  print([1..5].map (\ x -> x * 2).filter (\ x -> x > 5))

  where (.) = flip id


shebang
alogic: (war)
Заслужил благодарность от индийского профессора за активное участие в форуме. Даже в лекции упомянули
acnowledgment

NPTEL Haskell course, Week 4, Lecture5: Defining functions in ghci (pdf) (видео)
alogic: (war)
www.tutorialspoint.com/compile_haskell_online.php предлагает редактор и терминал, внизу окна, в котором можно запускать ghci. Подсветки синтаксиса только нет, а так отличный сайт для изучения Haskell прямо в браузере.

tutorialspoint
alogic: (war)
Национальная Программа Улучшения Технического Образования от правительства Индии предлагает начальный курс по Haskell.
https://onlinecourses.nptel.ac.in/noc15_cs13/course

Регистрация простая, через Гугл, начало курса 15 июля, язык -- английский.

На русском есть видеолекции Haskell и слайды Дениса Москвина ([livejournal.com profile] deni_ok). Этот курс читался весной в Питербурге и включает также лямбда-исчисление, монады, аппликативные функторы, трансформеры.
https://compscicenter.ru/courses/func-prog/2015-spring/

UPD: Ещё вики-страничка, там дополнительные домашние задания и исходники программ.
http://logic.pdmi.ras.ru/sewiki/index.php/Функциональное_программирование_2015
alogic: (war)
В Debian Unstable удалось запустить ghci на ARM процессоре. Теперь с Haskell можно играться на каждом смартфоне.

joey@darkstar:~$ dpkg --print-architecture 
armhf
joey@darkstar:~$ ghci
GHCi, version 7.8.4: http://www.haskell.org/ghc/  :? for help

Новость на reddit.com

FP101x

Dec. 23rd, 2014 08:53 am
alogic: (war)

Закончил, между делом, единственный пока он-лайн курс по Haskell FP101x. Как для человека, который уже почти всё там знает, курс просто прекрасный:) Для новичков наверняка будут трудности, связанные с освоением монад, но тут, по собственному опыту знаю, нужно время, чтобы к ним привыкнуть. Однако, чтобы получить сертификат об окончании, монады можно и пропустить. Надо сделать всего лишь 60% заданий и авторы накидали много таких, где монады не используются.

Основная книга, по которой всё читается, Graham Hutton "Programming in Haskell"( в сети есть pdf). Пару больших упражнений взято оттуда, остальные команда Мейера, надо полагать, сама выдумала. Так как университетский курс по книге читается уже много лет, то в сети есть и решения к книжным упражнениям, что для любителей читинга делает задачу прохождения курса вообще элементарной.

Честно говоря, один раз к читингу прибегнул и я, когда в предпоследней лабораторной работе надо было построить управление параллельным выполнением задач (concurrency) с помощью продолжений (continuations). Эти continuations ещё хуже монад. Начали их использовать ещё в Лиспе для программирования исключений и уже там написали горы руководств в попытке объяснить, что это такое. Многие всё равно не поняли. Тут же всю эту тему попытались уложить в небольшую лабораторную работу. Народ на форуме честно признавался: благодаря тому, что авторы типы функций дали, построить сами функции можно, но понять, что они делают, мало у кого получилось.

Вот и я, проделал 24 из 26 заданий, а последний шаг никак не давался. И обидно ведь, всё равно что угадал все буквы, но не смог назвать слово. Пришлось найти оригинальную статью про "poor man's concurrency" и подсмотреть. Оказалось, что настолько простой и прямолинейный шаг надо было сделать, основанный на элементарном паттерн-матчинге, что авторам и не пришло в голову дать какую-то подсказку, хотя до этого они щедро их раздавали. Так что теперь у меня не 98% выполнения заданий, а 99%.

Что несколько раздражало в упражнениях к курсу, так это необходимость набивать код из них вручную. Эрик Мейер решил, что студентам надо упражнять мышечную память и дал весь код в виде картинок, а не текста, чтобы без копипастинга обходились.

alogic: (war)
Хорошая новость. Erik Meijer продлил на 2 недели срок сдачи домашних заданий, так что желающие ещё могут записаться на курс Introduction to Functional Programming. Первые две недели задания на языке Haskell и именно о нём рассказывается. Кроме того в дополнительных материалах рассказывается о других функциональных языках.
alogic: (war)
Надежды на то, что открытость кода приведёт к возможности запуска любых программ на любых архитектурах оказались не столь радужными. В частности GHC пока не удаётся запустить на ARM-процессорах, так что пришлось ждать появления дешёвого 7'' планшета на x86, чтобы носить Haskell в кармане. Купил в прошлую пятницу Dell Venue 7 за 130$ c 1 Gb памяти и 8 Gb встроенной флешкой (из которой доступно 3,8 Gb). Камеру фирма Dell туда поставила, конечно, ниже плинтуса - 3 Mp, зато приличный экранчик 1200x800 (так что даже мелкий шрифт отлично виден) и хорошая батарея на 4100 mah. На планшет устанавливаются Gnuroot Wheezy и Haker's Keyboard. После запуска попадаем в Debian Wheezy, который обновляем до Jessie и делаем

apt-get install haskell-platform


Теперь, как говорится, под каждым нам кустом готов для экспериментов в GHCi и стол и дом. Про планшетик могу пока лишь добавить, что браузер, YouTube, Google Maps на нём просто летают и этого, вместе с возможностью чтения книг в PDF, пока хватает для счастья.

OdHUG

May. 26th, 2014 11:29 pm
alogic: (war)
Выборы, это, конечно, интересно, но настоящая битва идёт не там, а в мире идей. Победит ли функциональное программирование императивное, вот где решаются судьбы мира. Для выяснения этого важного вопроса и собрались вчера интересующиеся Хаскелем вчетвером.

В основном разговор был о тестировании. Сравнивался подход в Хаскеле и в Питоне, вспомнили ещё один подход, который знающие люди называли между собой BDD. Но об этом не особо говорили, потому что разрабатываемый Ромой фреймворк Tasty всё-таки тестирует логику работы программы, а не пользовательский интерфейс.

Ещё Рома рассказал о своих планах. Во-первых, задуман новый вариант на тему Parsec, который будет выдавать сообщения об ошибках, позволяющие легко создаваемый парсер исправлять. Во-вторых, где-то в середине лета планируется провести конференцию по использованию Haskell в коммерческих проектах. Так что, несмотря на новую работу Ромы в фирме, которая базируется в Александрии близ Вашингтона, в Одессе ещё будет майдан против использования изменяемых переменных.
alogic: (war)
Результат сегодняшнего мастер-класса -- утилита ls в простом исполнении. Понимает только одну опцию командной строки (-a, --all) и один параметр -- директорию, содержимое которой надо показать. По истории изменений (смотреть снизу вверх), можно наблюдать, как менялся код во время написания. Благодаря прекрасной библиотеке optparse-applicative усилия по добавлению опций минимальны, справка генерируется автоматически. Всего 36 строк.

OdHUG

Dec. 17th, 2013 05:28 am
alogic: (war)
В четверг будет мастер-класс по написанию простой утилиты командной строки на Haskell. Рома расскажет, как в Haskell делать ввод-вывод, вызывать системные функции и разбирать аргументы командной строки. При этом прозвучат слова «монада» и «аппликативный функтор».

OdHUG

Nov. 12th, 2013 03:49 am
alogic: (war)
В четверг, в уютном офисе Dataart Рома Чепляка будет рассказывать программистам на ООП что же это самое объектно-ориентированное программирование из себя представляет. Потому что в прошлый раз, когда была вводная про Haskell и его экосистему, народ начал спрашивать, а чем же это ваше функциональное программирование так лучше нашего ООП?
Честно говоря, ничем не лучше. Такой же самый у нас динамический, объектно-ориентированный язык Haskell.

OdHUG

Oct. 9th, 2013 08:14 am
alogic: (war)
15 октября в 18:30, регистрация. Как установить Haskell, как найти и установить нужные пакеты, где искать документацию, и т.д.. В офисе компании DataArt - парк им. Шевченко, стадион “Черноморец”, корпус D1, 5 этаж.

OdHUG

Sep. 17th, 2013 02:29 am
alogic: (war)
В июле поговорить про Хаскель собрались всего втроём. Зато одним из нас был Брайан Рихтер, приехавший на велосипеде из Швеции в Одессу американец. Между тем довольно познавательная встреча получилась, смотрели код его проекта terminfo-hs. Довольно небольшой файл и я после этого перестал бояться Parsec.

В августе уже собралось 6 человек. Рома рассказывал про соревнование ICFPC. С точки зрения капитана команды об этом вскоре написал и Дмитрий Астапов.

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

Profile

alogic: (Default)
alogic

December 2016

S M T W T F S
    123
45678910
11121314151617
181920212223 24
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 20th, 2017 07:27 am
Powered by Dreamwidth Studios