memory heap
367 subscribers
2.5K photos
509 videos
52 files
3.09K links
science ∩ art = wonder

all memory blocks here are allocated by @a_v_p

GitHub: https://github.com/artyom-poptsov
Mastodon: https://fosstodon.org/@avp

https://memory-heap.org/~avp/
Download Telegram
Christine Lemmer-Webber, "Spritely, Guile, Guix: a unified vision for user security":
https://fosdem.org/2024/schedule/event/fosdem-2024-2331-spritely-guile-guix-a-unified-vision-for-user-security/

Scheme в браузере через WASM! И другие классные штуки.

#scheme #guix #guile #wasm #lisp
🔥2
Lulu Cathrinus Grimalkin, "The evolution of a Scheme programmer":
https://erkin.party/blog/200715/evolution/

#scheme #lisp #humor
#guix_patches #scheme

Приняли мой патч, добавляющий в GNU Guix реализацию стандарта языка программирования Scheme R7RS под названием tr7.

Спасибо Nicolas Goaziou за ревью и мёрж.
6
Выпустил релиз Guile-SSH v0.17.0:
https://github.com/artyom-poptsov/guile-ssh/releases/tag/v0.17.0

В новой версии:
- Исправлена ошибка с порядком загрузки конфигурационного файла SSH: теперь опции, которые задаются явно при вызове make-session, имеют больший приоритет, нежели чем из конфигурационного файла. Таким образом, явно заданные опции перезаписывают опции из конфигурационного файла, который загружается первым.
- Процедура session-set! теперь позволяет задать опцию rsa-min-size.
- Обновлении документации.
- Обновление тестов.

#guile #guile_ssh #projects #scheme
1🎃1
Исправил ошибку в Guile-DSV, из-за которой фильтрация столбцов не работала, если в итоговой таблице оказывался только один столбец. Также ошибка проявлялась для таблиц, у которых был всего один столбец.

#guile #guile_dsv #projects #scheme
Сделал форк guile-web-driver, назвал guile-web-driver-ng (не слишком оригинально, да) наладил сборку через GNU Autotools, добавил манифест guix.scm для сборки через GNU Guix.

Добавляю постепенно тесты на SRFI-64, обновляю/дополняю документацию. Сейчас делаю MITM-proxy для GNU Guile, чтобы можно было в Guile-WebDriver-NG подменять заголовки запроса от браузера.

Вот так могу теперь:
#!/usr/bin/env -S guile -L . -e main
!#

(use-modules (web proxy)
(web proxy interceptor)
(oop goops))

(define (main args)
(let* ((interceptor
(make <proxy-interceptor>
#:chain '((request headers dump stderr)
(request headers replace
((host "ru.example.com" . #f)
(user-agent . "curl/8.5.0")
(accept (*/*)))))))
(proxy (make <proxy>
#:port 8081
#:interceptor interceptor)))
(proxy-start! proxy)
(while #t (sleep 5))))

Как только всё будет работать с приемлемым качеством, сделаю релиз.

#guile #scheme #projects
🔥11
Выпустил релиз Guile-DSV 0.7.2:
https://github.com/artyom-poptsov/guile-dsv/releases/tag/v0.7.2

В новой версии:
- Исправлена ошибка обработки таблиц с неравномерным количеством столбцов в строках. Теперь Guile-DSV предоставляет возможность проверять корректность таблиц на этапе парсинга и перед выводом, и выдавать ошибку на более ранних этапах. Также ошибки теперь более понятные и указывают на проблемное место в исходных данных. Это поведение включено по-умолчанию для CLI. Для API же это по-умолчанию выключено, т.к. это во-первых сохраняет совместимость со старым поведением, и во-вторых позволяет пользователю самостоятельно решить, нужно ли выдавать ошибку при чтении проблемных данных, или же обработать это другим способом, уже после чтения.
- Исправлена ошибка с форматированием таблиц: теперь оно корректно работает для таблиц, чей размер меньше двух столбцов.
- Исправлен make distcheck — теперь оно корректно завершается.
- Добавлены новые файлы в репозиторий: ARCHITECTURE.org описывает архитектуру проекта (как предложено здесь); CODE_OF_CONDUCT.org описывает правила для сообщества разработчиков и контрибьюторов, как предложено здесь.

#guile #guile_dsv #parser #projects #scheme
2👾1
Наконец-то появилась штука наподобие Doxygen для Scheme, которая парсит комментарии и docstrings из кода в формате Texinfo и создаёт на базе этого документацию по API проекта:
https://luis-felipe.gitlab.io/guile-documenta/

Автор Luis Felipe.

#guile #scheme #tools
3