Выпустил релиз Guile-PNG 0.7.3:
https://github.com/artyom-poptsov/guile-png/releases/tag/v0.7.3
В новой версии добавлены процедуры для поворота изображений на 90 градусов по часовой и против часовой стрелки, процедура поворота на 180 градусов, процедуры отражения изображения по вертикали и горизонтали.
Также добавлен новый высокоуровневый интерфейс для операций над пикселями изображения.
Новые процедуры в модуле
-
-
-
-
-
В модуле
-
-
-
#projects #guile #guile_png #lisp
https://github.com/artyom-poptsov/guile-png/releases/tag/v0.7.3
В новой версии добавлены процедуры для поворота изображений на 90 градусов по часовой и против часовой стрелки, процедура поворота на 180 градусов, процедуры отражения изображения по вертикали и горизонтали.
Также добавлен новый высокоуровневый интерфейс для операций над пикселями изображения.
Новые процедуры в модуле
(png image-processing):-
png-image-rotate-90/cw — поворот на 90 градусов по часовой стрелке.-
png-image-rotate-90/ccw — поворот на 90 градусов против часовой стрелки.-
png-image-rotate-180 — поворот на 180 градусов.-
png-image-flip-vertical — вертикальное отражение изображения.-
png-image-flip-horizontal — горизонтальное отражение изображения.В модуле
(png graphics pixel):-
png-image-pixel-for-each — процедура, применяющая указанную процедуру для каждого пикселя изображения.-
png-image-pixel-map — применение указанной процедуры к каждому пикселю копии изображения, заменяя его результатом работы переданной процедуры. Исходное изображение не модифицируется.-
png-image-pixel-fold — применение указанной процедуры к каждому пикселю изображения, разультат вызова процедуры аккумулируется и возвращается, как результат вызова.#projects #guile #guile_png #lisp
GitHub
Release v0.7.3 · artyom-poptsov/guile-png
Table of Contents
Changes in version 0.7.3 (2024-03-30)
Implement image transformation methods
New high-level API for manipulating image pixels
Update and improve the documentation
Add new tests
...
Changes in version 0.7.3 (2024-03-30)
Implement image transformation methods
New high-level API for manipulating image pixels
Update and improve the documentation
Add new tests
...
🔥3
Lulu Cathrinus Grimalkin, "The evolution of a Scheme programmer":
https://erkin.party/blog/200715/evolution/
#scheme #lisp #humor
https://erkin.party/blog/200715/evolution/
#scheme #lisp #humor
erkin.party
Post title
#lisp #guile #dev
Artyom Bologov, "Guile Optimization Gotchas: There Is No Free Beer, Only Cheap":
https://aartaka.me/guile-optimization-gotchas
Интересная статья про работу с профилировщиком GNU Guile и оптимизации.
Artyom Bologov, "Guile Optimization Gotchas: There Is No Free Beer, Only Cheap":
https://aartaka.me/guile-optimization-gotchas
Интересная статья про работу с профилировщиком GNU Guile и оптимизации.
Artyom Bologov
Guile Optimization Gotchas: There Is No Free Beer, Only Cheap
Optimizing Guile Scheme is not always obvious. This post is a collection of takeaways from optimizing a heavily numeric piece of code.
🔥4
All about Guix: chat with Ludovic Courtès project founder:
https://youtu.be/339dRDf4c6E
Запись встречи с Людовиком Кортесом, которая проходила 16 мая 2024 года.
#gnu #guix
https://youtu.be/339dRDf4c6E
Запись встречи с Людовиком Кортесом, которая проходила 16 мая 2024 года.
#gnu #guix
YouTube
All about Guix: chat with Ludovic Courtès project founder
Recording (edited) of the Guix London Meetup chat with Ludovic Courtès. Ludo is a long-term #FreeSoftware hacker, interested in #lisp, #scheme and #guile. He is excited by the #nix deployment model, and created #guix.
We chat about what got him started…
We chat about what got him started…
🔥2
Kenichi Sasagawa, "The Contemporary Relevance of Lisp":
https://medium.com/@kenichisasagawa/the-contemporary-relevance-of-lisp-cde8f471bdc7
#lisp
https://medium.com/@kenichisasagawa/the-contemporary-relevance-of-lisp-cde8f471bdc7
#lisp
Medium
The Contemporary Relevance of Lisp
Frequently Asked Questions
Преисполнился (ice-9 match) :
#lisp #scheme
(use-modules (ice-9 match) (srfi srfi-1))
(define (in-range? value ranges)
(and (number? value)
(match ranges
(((? number?) . (? number?))
(and (>= value (car ranges)) (<= value (cdr ranges))))
((((? number?) . (? number?)) ...)
(fold (lambda (range prev)
(or prev
(and (>= value (car range))
(<= value (cdr range)))))
#f
ranges)))))
(in-range? -1 '((1 . 10) (-2 . -1)))
=> #t
(in-range? -10 '((1 . 10) (-2 . -1)))
=> #f
(in-range? 10 '(1 . 10))
=> #t
#lisp #scheme
www.gnu.org
Pattern Matching (Guile Reference Manual)
Next: Readline Support, Previous: R7RS Support, Up: Guile Modules [Contents][Index]
⚡1🔥1
Fulton’s ramblings, "Why we need lisp machines":
https://fultonsramblings.substack.com/p/why-we-need-lisp-machines
Достаточно интересно + ссылки на источники. Вообще думаю, что GNU/Linux сейчас в очень хорошем состоянии, и круто, что мы имеем всё больше качественного FOSS и совместимого железа. Тем не менее, идея Lisp-машины звучит интересно, и круто было бы иметь альтернативы, пусть даже не в таком развитом состоянии, как GNU/Linux. Хорошие идеи всё равно имеют свойства переносится из одной системы в другую (вспомнить хотя бы Plan 9.)
Самое близкое и реалистичное, что вижу сейчас на пути к практически применимой Lisp-машине в современных реалиях — это GNU Guix.
#lisp
https://fultonsramblings.substack.com/p/why-we-need-lisp-machines
Достаточно интересно + ссылки на источники. Вообще думаю, что GNU/Linux сейчас в очень хорошем состоянии, и круто, что мы имеем всё больше качественного FOSS и совместимого железа. Тем не менее, идея Lisp-машины звучит интересно, и круто было бы иметь альтернативы, пусть даже не в таком развитом состоянии, как GNU/Linux. Хорошие идеи всё равно имеют свойства переносится из одной системы в другую (вспомнить хотя бы Plan 9.)
Самое близкое и реалистичное, что вижу сейчас на пути к практически применимой Lisp-машине в современных реалиях — это GNU Guix.
#lisp
Substack
Why we need lisp machines
A personal mind dump on operating systems
⚡2
Исправил баг в Guile-DSV:
https://github.com/artyom-poptsov/guile-dsv/commit/cdd573840c5c750be698543f289b1363abe2a631
#projects #scheme #lisp
https://github.com/artyom-poptsov/guile-dsv/commit/cdd573840c5c750be698543f289b1363abe2a631
#projects #scheme #lisp
GitHub
dsv/fsm/rfc4180.puml: Bugfix: Properly handle LFs in empty rows · artyom-poptsov/guile-dsv@cdd5738
Guile-DSV would fail to read RFC4180 format properly when faced with data that
uses empty rows with plain "LF" line endings. This patch fixes that
behavior.
Reported by mooseybo...
uses empty rows with plain "LF" line endings. This patch fixes that
behavior.
Reported by mooseybo...
Выпустил релиз Guile-DSV 0.8.0:
https://github.com/artyom-poptsov/guile-dsv/releases/tag/v0.8.0
В новой версии:
- Исправлен баг с чтением данных в формате RFC4180, где строки заканчиваются символом "LF", вместо рекомендуемой в RFC комбинации "CRLF". Теперь данные читаются корректно. Хотя это поведение не соответствует стандарту RFC4180, в данном случае Guile-DSV придерживается принципа надёжности ("Будь корсервативен в том, что отправляешь — и либеральным в том, что принимаешь.")
- Новые параметры для процедур в модуле
- Обновлена документация: теперь в Info документации подробно расписаны параметры таблицы; кроме того, добавлено описание новых параметров процедур.
- Файл
#projects #scheme #lisp
https://github.com/artyom-poptsov/guile-dsv/releases/tag/v0.8.0
В новой версии:
- Исправлен баг с чтением данных в формате RFC4180, где строки заканчиваются символом "LF", вместо рекомендуемой в RFC комбинации "CRLF". Теперь данные читаются корректно. Хотя это поведение не соответствует стандарту RFC4180, в данном случае Guile-DSV придерживается принципа надёжности ("Будь корсервативен в том, что отправляешь — и либеральным в том, что принимаешь.")
- Новые параметры для процедур в модуле
(dsv table): Процедуры format-table, table-wrap и table-wrap-row теперь принимают параметр string-slice, который позволяет контролировать, как столбцы таблицы вписываются в требуемую ширину. Процедуры table-wrap и format-table теперь принимают параметр calculate-cell-widths, который позволяет изменить поведение Guile-DSV при подсчёте ширины столбцов таблицы.- Обновлена документация: теперь в Info документации подробно расписаны параметры таблицы; кроме того, добавлено описание новых параметров процедур.
- Файл
README обновлён, теперь он более читаемый и информативный.#projects #scheme #lisp
GitHub
Release v0.8.0 · artyom-poptsov/guile-dsv
Table of Contents
Changes in version 0.8.0 (2025-11-02)
rfc4180.puml: Bugfix: Properly handle LFs in empty rows
(dsv table): Improve the API
New "string-slice" option
New "calcula...
Changes in version 0.8.0 (2025-11-02)
rfc4180.puml: Bugfix: Properly handle LFs in empty rows
(dsv table): Improve the API
New "string-slice" option
New "calcula...