Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.69/352: Рейтинг темы: голосов - 352, средняя оценка - 4.69
5 / 5 / 0
Регистрация: 03.01.2023
Сообщений: 9

Lisp Beer Meetup, Питер 2023

03.01.2023, 15:44. Показов 72320. Ответов 21

Студворк — интернет-сервис помощи студентам
Судьба занесла меня в Питер на этих новогодних праздниках. Значит грех не собраться за кружечкой и не поговорить про Lisp.

Время: 6 Января, пятница – 19:00
Место: "Мама Рома" на Малой Конюшенной.

Кто хочет прийти, пожалуйста, отметьтесь в комментариях, чтобы я знал на сколько человек бронировать стол.
1
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.01.2023, 15:44
Ответы с готовыми решениями:

A problem has beer detected and windows has beer shut down to prevent damage to your computer
во время установки XP отключили свет теперь установка доходит до запуска винды и выдаёт такую запись на синем экране Contact your...

99 Bottles of Beer
День добрый форумчане! Пробираясь через Криса Пайна. "Учись программировать" наткнулся на задачку по циклам 99 бутылок пива (на...

Ninety-nine bottles of beer
"Ninety-nine bottles of beer..." Using englishNumber and your old program, write out the lyrics to this song the right way this time....

21
217 / 212 / 8
Регистрация: 09.06.2019
Сообщений: 240
Записей в блоге: 1
03.01.2023, 19:37
Не все я думаю будут искать кто такой svetlyak40wt, а это действительно интересный лиспер Александр Артёменко, известный Яндекс Лиспер ))).

svetlyak40wt, посмотрел пару роликов на ютубе, как внедрить технологии лиспа в питон(так бывает когда ты понимаешь преимущества лиспа, но вынужден программировать на питоне), познавательно. Но даже из вопросов зала видно, что не многие питонисты оценили.
2
5 / 5 / 0
Регистрация: 03.01.2023
Сообщений: 9
03.01.2023, 19:40  [ТС]
Да, мой доклад про Macropy3 и HyLang как-то людям не зашёл. Видимо, масса питонистов не готова пока к такому
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38162 / 21097 / 4306
Регистрация: 12.02.2012
Сообщений: 34,685
Записей в блоге: 14
04.01.2023, 08:39
svetlyak40wt, был бы я в Питере...
0
5 / 5 / 0
Регистрация: 03.01.2023
Сообщений: 9
04.01.2023, 12:37  [ТС]
Catstail, так и я пару дней назад тут ещё не был.
0
217 / 212 / 8
Регистрация: 09.06.2019
Сообщений: 240
Записей в блоге: 1
04.01.2023, 15:25
Цитата Сообщение от svetlyak40wt Посмотреть сообщение
как-то людям не зашёл. Видимо, масса питонистов не готова пока к такому
это типичный парадокс блабла и сколько бы они не программировали на питоне, кругозор их не расширится.
0
5 / 5 / 0
Регистрация: 03.01.2023
Сообщений: 9
04.01.2023, 16:56  [ТС]
IisNuINu, я собираюсь в следующем году делать серию мини-роликов про Common Lisp на YouTube. Они будут иметь практическую направленность.

Попробую его популяризировать таким образом.

Добавлено через 2 минуты
Хотя я вот сейчас подумал, что может быть более правильной стратегией было бы создание и раскрутка канала про Python, а когда уже там будет существенная аудитория, начать понемногу закидывать в неё ролики про Common Lisp
2
Заблокирован
04.01.2023, 20:27
Цитата Сообщение от svetlyak40wt Посмотреть сообщение
я собираюсь в следующем году делать серию мини-роликов про Common Lisp на YouTube
Питонистам нужно рассказывать про современные лисп-языки. Например про Clojure, тем более что этот язык создавался с учётом влияния Питона на ИТ-сообщество и как некоторая попытка немного да опитонить Лисп.
CL, на мой взгляд, подустарел. Racket/Scheme будет для них сложно)
0
217 / 212 / 8
Регистрация: 09.06.2019
Сообщений: 240
Записей в блоге: 1
04.01.2023, 22:17
svetlyak40wt, ролики по лиспу это хорошо! Хороших роликов на ютубе мало. Хорошие ролики были от Бадгерса, но он давно уже не выпускает ролики, и были они на английском, выручает конечно автоперевод. И недавно, в начале осени, были интересный курс от Квеха, по построению систем визуализации, на примере работы с ОпенГЛ. Кавех вообще программист старой лисп школы и спец по программированию видеоэффектов. Программируя небольшие классы, он создал очень интересную систему представления 2Д объектов и их отображения, добавил интересные видеоэффекты. Вообщем я был впечатлен его мастерством(кстати говоря он реализовал 3Д систему kons9 - кажется так).
Так вот твои ролики определенно лишними не будут.

Другое дело, что никакие питонисты или программисты на других языках никогда эти ролики не посмотрят. У них даже мысли не возникнет, интересоваться этим языком фриков!

Но все познается в сравнении.

Когда ты стал рассказывать питонистам про макросы, а вернее о возможности их реализации в питоне, я думаю у большинства из них сразу возник вопрос: зачем?! Я помню как я сам программировал на питоне, мне всего хватало! У меня небыло ни малейшего желания и необходимости обращаться к каким то там макросам, я и так мог сделать ВСЁ!

Как я пришёл к макросам?
Даже начав программировать на схеме(guile), я просто обходил эти макросы стороной, они мне были не нужны! Да я им просто не доверял!
Но когда я первый раз попытался перевести HTDP, а там всё программируется на racket, я столкнулся с различием между ним и guile, когда определялась структура гуиле просто её определял, а методы доступа к каждому полю надо было программировать отдельно, а на ракете эти методы создавались вместе со структурой. И я так подозреваю, что делалось это с помощью макросов(хотя я могу и ошибаться, но по крайней мере подобный функционал можно реализовать именно с их помощью). Я попытался разобраться в них, но не смог, пришлось перевести, как я считаю, лучшую книгу по макросам в лиспах, OnLisp(вернее завершить перевод уже начатый Rigidus). Итак моя мотивация при освоении макросов, добиться сокращения кода, который надо писать. Хотя у макросов есть еще цель, такая как создание устойчивых синтаксических конструкций, например как это описывается в PCL на примере с закрытием файла:

Lisp
1
2
3
4
5
6
7
(let ((stream (open "/some/file/name.txt")))
;; работа с потоком
(close stream))
 
;; заменить на
(with-open-file (stream-var open-argument*)
body-form*)
Хотя автор мотивирует упирая на то что программист может просто забыть использовать close, хотя на самом деле макрос with-open-file делает гораздо больше чем просто вставляет вызов close в конец блока кода.

Lisp
1
2
3
4
5
6
7
8
(macroexpand
 '(with-open-file (in path)
   (read-line in)))
;=>
(LET ((IN (OPEN PATH)) (#:G248 T))
  (UNWIND-PROTECT
      (MULTIPLE-VALUE-PROG1 (PROGN (READ-LINE IN)) (SETQ #:G248 NIL))
    (WHEN IN (CLOSE IN :ABORT #:G248))))
Без использования подобных макросов с UNWIND-PROTECT невозможно написание сколь нибудь устойчиво работающего кода использующего сторонние биндинги. И я честно не помню как это происходит на Питоне, освобождение каких либо ресурсов из подключенного биндинга? Вроде бы никак, выполнил освобождение хорошо, не выполнил, ну что делать ищи почему система крашиться, через какое то, время работы.

На мой взгляд это не плохая мотивация к изучению макросов, показать как с биндингом работается в питоне и что вот здесь в конце надо не забывать добавлять освобождение ресурсов выделенных биндингом, и показать как это делается в лиспе, с помощью макроса.
Хотя конечно можно загрузить питонистов что такое UNWIND-PROTECT, и что программа вызвавшая ошибку может завершиться где то в ловушке на верху стека и там выполниться освобождение ресурса, а может и вернуться обратно, после исправления ошибки!(и это настолько стандартный случай в лиспе, что кавех, рассказывал что это и был метод программирования старых программистов на лиспе, написать код верхнего уровня, без написания реализации используемых функций и запустить его, и после получения ошибки, использования неопределенной фукнции, дописать её и выполнить операцию возобновления выполнения кода) И в обоих случаях UNWIND-PROTECT выполнит освобождение ресурсов!
2
5 / 5 / 0
Регистрация: 03.01.2023
Сообщений: 9
05.01.2023, 10:55  [ТС]
На Python вместо макроса с Unwind-protect, ты будешь писать "контекстный менеджер":

Python
1
2
3
4
5
6
7
@contextlib.contextmanager
def open_file(path):
    f = open(path)
    try:
        yield f
    finally:
        f.close
и потом использовать его с конструкцией with или ExitStack:

Python
1
2
with open_file('/tmp/foo') as f:
   f.readline()
Но в python любой объект можно научить поддерживать протокол контекстного менеджера, добавив методы __enter__ и __exit__. А мой пример с закрытием файла вообще притянут за уши, потому что файл уже сам по себе контекстный менеджер и можно его использовать напрямую:

Python
1
2
with open('/tmp/foo') as f:
   f.readline()
1
217 / 212 / 8
Регистрация: 09.06.2019
Сообщений: 240
Записей в блоге: 1
05.01.2023, 15:49
svetlyak40wt, спасибо за небольшой экскурс в питон! хоть я немного и программировал на питоне, моё владение им застряло на уровне 2й версии, когда этих генераторов и итераторов еще не было, они только внедрялись.
0
217 / 212 / 8
Регистрация: 09.06.2019
Сообщений: 240
Записей в блоге: 1
09.01.2023, 10:08
svetlyak40wt, ну так что? нашел кого в Питере? мне кажется если бы ты поискал питонистов в питонистском форуме, то пришлось не то что бы стола, а самого кафе бы не хватило. )
0
5 / 5 / 0
Регистрация: 03.01.2023
Сообщений: 9
09.01.2023, 19:27  [ТС]
Нас было трое.

Кстати, один из ребят подсказал классное место, где можно в следующий раз собраться – https://failover.bar/ на васильевском острове. Там полноценный митап можно собрать с парочкой докладов и афтепати.
1
217 / 212 / 8
Регистрация: 09.06.2019
Сообщений: 240
Записей в блоге: 1
09.01.2023, 21:23
svetlyak40wt, ну и отлично! я признаться думал будет хуже.
0
5 / 5 / 0
Регистрация: 03.01.2023
Сообщений: 9
09.01.2023, 21:48  [ТС]
Моя задача на следующий год – сделать так, чтобы на подобные встречи собиралось хотя бы 10 человек
0
Заблокирован
10.01.2023, 09:41
Цитата Сообщение от svetlyak40wt Посмотреть сообщение
Моя задача на следующий год – сделать так, чтобы на подобные встречи собиралось хотя бы 10 человек
Только никого не похищайте, пожалуйста.
0
5 / 5 / 0
Регистрация: 03.01.2023
Сообщений: 9
10.01.2023, 11:53  [ТС]
Хмм, а это идея!

Или ещё можно секту создать. Назову её как-нибудь так: Братство Хранителей Сакральних Кодов Всеобщей Шепелявки!
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38162 / 21097 / 4306
Регистрация: 12.02.2012
Сообщений: 34,685
Записей в блоге: 14
10.01.2023, 12:18
svetlyak40wt, а если серьезно, то пиво - это неплохо. Но не самое главное. Если есть база для общения - онлайн, онлайн... С этим ни у кого проблем не будет.
0
Заблокирован
10.01.2023, 17:11
Цитата Сообщение от Catstail Посмотреть сообщение
а если серьезно, то пиво - это неплохо.
Любой алкоголь - это плохо. Вот если бы это была лимонадная встреча или молочно-коктейльная то я бы пришёл.
0
5 / 5 / 0
Регистрация: 03.01.2023
Сообщений: 9
10.01.2023, 17:21  [ТС]
И всё же, неформальное личное общение сближает гораздо эффективнее, чем онлайн-онлайн. Так уж люди устроены.

Добавлено через 1 минуту
Кстати, один из участников вполне себе пил только чай. Никто ж никого не заставлял брать пиво. Я специально выбрал пиццерию как место встречи, чтобы можно было удовлетворить разные вкусы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.01.2023, 17:21
Помогаю со студенческими работами здесь

Книги или другой источник, где описана история версий Lisp и Common Lisp
Доброго времени суток.Такой вопрос,знаете какой-нибудь источник,где описана история версий Lisp и Common Lisp.Только не всякие...

Приглашаем на NX QA MEETUP #4
Друзья, приглашаем вас на NX QA MEETUP #4! 18 декабря в 19:30 СПб, ул. Уральская, д.4. Вход с надписью "Welcome to the new...

Организация циклов в Lisp (bee lisp demo)
разбираюсь с простыми задачами, эти пока не знаю, как решать... помогите пожалуйста. 1. Слова в предложении разделены пробелами....

С Новым 2023 годом!
Для всех, кто в этот день пришел на форум!

Moscow WordPress Meetup
Добрый день! Хочется пригласить всех, кому интересен WordPress на третий московский WordPress Meetup. Moscow WordPress Meetup - это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru