(4 курс ФИИТ) Функциональное программирование

В задании 3.10 лабораторной 2 неправильный тест:

-- Должно быть True test_slide = slide (+) [1,2,3,4] == [3, 5, 7] && slide (*) [1,2,3] == [2, 5]

В задании task2-points.hs третьей лабораторной работы к определению типа Quarter необходимо добавить автоматическое порождение экземпляра класса типов Eq:

data Quarter = First | Second | Third | Fourth | Axis
    deriving Eq

На странице курса появилось дополнительное задание про приложение Haskell к изобразительному искусству :art:.

2 лайка

Напоминаю, что завтра лекция с 08:00.

Напоминаю, что начиная с завтрашнего дня лекции будут читаться с 09:00 тремя академическими часами с двумя пятиминутными перерывами.

2 posts were split to a new topic: Как понимать сечения композиции

У меня появился вопрос по слайдам к лекции 10: зачем нужен EmptyDataDecls, если примеры работают без него? Я проверил для безопасного списка (слайд 47/55). Попытался найти что-то в руководстве к 7.10.2: но там вроде всё ещё говорят, что нужно писать. Как это объяснить?

Похоже, что это расширение вошло в стандарт Haskell 2010, а текущие версии GHC почти во всём ему следуют.

1 лайк

На странице курса опубликованы общие условия для выполнения проектных заданий и открыта возможность регистрации команд. Проекты разбираются по принципу «первый пришёл — первый выбрал», выполнение одного и того же проекта разными командами не допускается.

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

Вопрос по проекту: Можно взять игру жанра Tower Defence? В списке такого варианта нет, но реализация должна получиться интересной. Примеры: Bubble Tanks, Ancient Planet, Kingdom Rush.

Можно.

Студенты, работающие над проектными заданиями, должны иметь в виду следующее:

  1. У меня в распоряжении есть 8 бонусных баллов, которые я собираюсь активно тратить при оценивании проектов. Реализация GUI и широкое использование расширений GHC — отличные способы их заработать.
  2. Сдать проекты и получить баллы за них после 28 декабря будет невозможно.
  3. При сдаче проектов я собираюсь пристально изучать историю коммитов.
  4. Каждый участник команды оценивается независимо, не исключена ситуация, когда один участник получает 16 баллов, а другой — ноль. Причиной могут быть, к примеру, неубедительные результаты собеседования при сдаче проекта.
2 лайка

На странице курса можно выбрать время сдачи проекта (28 декабря, 11:20–15:20). Выбирать время должен только один из участников команды.

Я тут решил продемонстрировать лояльность руководству Института (см. твиттер), разрешив сдавать проекты на «доборе» перед экзаменом с возможностью превышения порогового значения. Счастливого программирования в Новом году, в общем!

1 лайк

Добор баллов в группе 4.8 будет проходить 9 января (вторая консультация) с 14:00 в а. 202.

Добор баллов в группе 4.9 будет проходить 14 января (первая консультация!) с 14:00 в а. 202. Второй консультации в группе 4.9 не будет (отчаявшиеся найти ответы на свои вопросы могут найти меня 16 января в 18:35 в а. 203).

Мне сказали, что надо ещё

chmod 644 ~/.ghci

сделать.

Напоминаю, что добор баллов в группе 4.9 будет проходить 14 января с 14:00 в а. 202. Не сдававшие проект могут подходить к 16:30. Консультация в 17:00.

Информация для группы 4.9

Консультации в субботу, 16 января, не будет, но желающие задать вопрос смогут найти меня в 18:35 в а. 203. Экзамен будет проходить в понедельник, 18 января, с 8:30 до 10:00. Прошу не опаздывать, поскольку время для опоздавших продлеваться не будет. Результаты экзамена будут доступны на странице курса в Мудле и в СБРС в течение дня.

Пересдача экзамена по функциональному программированию состоится 26 января в 10:00, сбор у а. 203. Я готов принимать экзамен у всех, набравших 38 баллов и больше, но если вы претендуете на стипендию, то у вас должно быть при себе личное заявление на пересдачу, подписанное кем-то из деканата.