Видео уроки emacs

Сегодня будет небольшая подборка видео по редактору emacs. Это быстрый обзор, который я сделал сегодня. Надеюсь всем понравится. Почему для emacs — потому что работать с lisp удобней всего через связку emacs+slime. А чтобы был комфортней работать, то стоит изучить среду получше. Читать далее

Файловый ввод-вывод

Файловый ввод-вывод это одна из базовых возможностей любого языка программирования. Без неё программы как бы замкнуты сами в себе и не имею смысла. Раньше мы ограничивались выводом на экран. Теперь пора научиться писать и читать файлы. Читать далее

Цикл loop

Я уже рассказывал про циклы, но ничего не сказал про цикл loop. Я сделал это умышленно. Во-первых потому, что данный цикл довольно объёмен по параметрам и, статья получилась бы огромной. Во-вторых это не просто цикл, а язык написания циклов, который, с моей точки зрения, довольно продуман.  Читать далее

Функция format

Сегодня разговори пойдёт про функцию format. Это стандартный способ lisp для вывода данных в консоль. Наверное из-за того, что lisp изначально проектировался как язык обработки списков, функция format довольно мощная. Давайте начнём своё знакомство с ней.

Читать далее

Списки

В данной статье рассказывается про списки. Списки это базовая компонента языка lisp. Именно для обработки списков был разработан lisp. Другие структуры данных появились позже. Однако, так ли просты списки как это кажется на первый взгляд? Об этом вы узнаете в этой статье. Читать далее

Обработка коллекций

Обработка коллекций это отдельная тема для статьи. Во-первых я сам не сразу понял фишку, во-вторых кроме этой фишки там полная путаница в обработке этих коллекций. Всё дело в том, что lisp немного функциональный, а немного нет. Сейчас разложить всё по полочкам, чтобы сразу всё стало ясным и больше к этому не возвращаться. Читать далее

Коллекции

Как и во многих языках в lisp есть только скалярные типы данных, но и коллекции. В этой статье рассмотрим строки, вектора, хэштаблицы и списки. Так же здесь будут описаны некоторые операции для обработки коллекций. Всем заинтересованным добро пожаловать под кат. Читать далее

Макросы

Написание функций это один из способов расширения возможностей языка. Однако, это не единственная возможность. Язык lisp представляет ещё одну возможность под названием макросы. Это не макросы языка си, это более мощная вещь. Сейчас я о ней расскажу. Читать далее

Переменные и области видимости

Сегодня небольшой обзор переменных, областей видимости и типов данных. Не смотря на то, что lisp это динамически-типизированный язык и, по сути все переменные это ссылки на значения, у значений есть тип. А значит стоит об этом знать. Теперь обо всё по порядку. Читать далее

Функции

Следующий цикл статей будет о возможностях Common Lsip. Я не планирую делать здесь всёохватывающее руководство. Скорее просто напомнить и сделать некоторые путевые заметки для того, чтобы было куда возвращаться, чтобы посмотреть если что-то забыл. Для тех же, кто хочет освоить lisp с нуля рекомендую книгу Peter Seibel — Practical Common Lisp (PCL). Читать далее