(4 курс ФИИТ) Теория языков программирования


#1

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

По традиции, заведённой @bravit, хочу организовать голосовалку «Haskell vs ML». Где удобней: в Moodle или гугл-форму какую-нибудь? Если гугл-форму, то, наверное, опрос будет не анонимным, чтобы вбросов не было.


Видеозаписи по курсу «Теория языков программирования» 2015/16 (4 курс ФИИТ)
#2

А какой из ML, если не секрет?

Удобнее в moodle, как мне кажется.


#3

Хороший вопрос, SML/NJ.


#4

Если SML, то заодно научимся пользоваться Emacs :wink:


#5

Был такой SML.NET с интеграцией в VS. Но давно не поддерживается, кажется. Видимо, утратил популярность в связи с разработкой и поддержкой в VS языка F#, который тоже принадлежит ML-семейству.


#6

В общем, повесила в Moodle опрос о выборе языка. Прошу студентов, потенциально желающих посещать курс, голосовать. Итоги, вероятно, будут подводиться в середине осени. Я ещё напомню…


#7

#8

#9

Итак, до конца декабря прошу всех студентов, которые намереваются посещать курс «Теория языков программирования» в весеннем семестре 2015/16 учебного года, принять участие в опросе и проголосовать, какой функциональный ЯП они хотят использовать на практике: SML или Haskell.


#10

По результатам опроса решение принято в пользу SML/NJ.

В дисплейных классах для программирования на ML будем использовать Emacs с sml-mode. Слабонервные могут использовать обычный текстовый редактор + консоль (этот вариант годится и под Windows для критически слабонервных).

Вероятно, позже сделаю какой-нибудь образ Linux с необходимым ПО.


#11

Вариант для нормальных людей, не поддающихся на провокации: редактор Atom с соответствующим плагином.


#12

Использовать бинарник с ST тоже не вызывает никаких проблем.


#13

Что такое ST?


#14

Sublime Text


#15

Пока откладывается. Начнём семестр, а там, если будут проблемы, займусь.


#16

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


#17

Опубликован план-конспект лекции 2. Замечания по опечаткам или ошибкам приветствуются!

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


#18

@Ulysses подбросил отличную ссылку на интерактивный вводный курс в LaTeX. Это ваш шанс!

Есть ещё курс по LaTeX на Coursera на русском.


#19

А напишите, пожалуйста, кто-нибудь, какие случаи функций/доказательств из лекции 3 остались на дом (кроме size, который целиком)?


#20
  1. Перевести в правила вывода термы pred(t), iszero(t).
  2. Значения функции Consts для pred(n) и iszero(n).
  3. Значения функции depth для true, zero, succ(n), iszero(n).
  4. Доказательство |Consts(t)| <= size(t) для true, false, succ(n), pred(n), iszero(n).
  5. Функции интерпретации для false, succ(n), iszero(n).

Также на дом осталось описание индукции по размеру.