memory heap
365 subscribers
2.51K photos
512 videos
52 files
3.1K 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
Более-менее выстроил структуру контекстов в Guile-SMC.

Отделил предикаты (guard'ы) от собственно контекста как некой структуры, которая передаётся между состояниями ДКА. Кроме того, в дополнении к ООП-контекстам (на базе GOOPS), добавил функциональный контекст на базе неизменяемых записей из модуля (srfi srfi-9 gnu) — теперь конструировать ДКА можно в функциональном стиле.

Для справки: (srfi srfi-9 gnu) позволяет создовать записи, в которых поля невозможно изменить. Все setter'ы для полей просто создают новую версию записи, исходная же остаётся неизменной.

Также для класса <fsm> добавил поля pre-action и post-action — эти поля хранят процедуры, которые должны вызываться перед предикатами и действиями, и после них, соответственно. Каждая подобная процедура должна возвращать контекст (изменённый или исходный.) Благодаря этому нововведению можно например организовать подсчёт прочитанных символов с использованием функциональных контекстов, не меняя их. В случае с ООП, это также даёт дополнительное удобство использования.

Пока вроде неплохо получается.

В итоге, Guile-SMC должен стать конструктором "собери себе ДКА". Можно будет быстро создавать парсеры для текстовых и двоичных форматов, и не только.

Думаю ещё в будущем выкинуть вариант компиляции guile-standalone-copy, так как он требует ресурсов для поддержки и не имеет особого смысла, как мне кажется. Останутся варианты guile (который генерирует ДКА, зависимый от Guile-SMC) и guile-standalone (который генерирует ДКА, который не зависит от Guile-SMC — структурно его код похож на тот, что можно было бы написать вручную.)

#dev #guile #fsm #projects
3
Ядерное оружие потенциально может уничтожить человечество. Причём, обмен ядерными ударами между странами может начаться из-за человеческого фактора -- банального непонимания ситуации, ошибки. Эта угроза висит над человечеством практически с создания первой ядерной бомбы.

Вот наглядное обьяснение ситуации и необходимости уничтожения ядерного оружия:
https://youtu.be/CxkvsrSUyOU
1
Ужин: макароны с обжаренным тофу и острым соусом + салат.

#vegan #food
5
#music

Moby, "Flying Foxes":
https://www.youtube.com/watch?v=JLjsLWevjkw

Moby, "Why Does My Heart Feel So Bad?":
https://www.youtube.com/watch?v=qT6XCvDUUsU

Moby, "Blue Paper":
https://www.youtube.com/watch?v=GgdtGaOCru8

Moby, "Everloving":
https://www.youtube.com/watch?v=atyvdC15HFA

Как же Moby умеет за душу тронуть. Уже очень много лет слушаю и каждый раз в унисон с его музыкой какие-то струны внутри меня звенят. Я прошёл с этой музыкой через самые сложные периоды моей жизни; его музыка была со мной как в моменты радости, так и в моменты печали. Так и сегодня, я слушаю его композиции и вроде бы легче становится.
1
Forwarded from Каблог
В jitsi доски для рисовача завезли :3
1
Forwarded from CADR SPACE (Artyom "avp" Poptsov)
Media is too big
VIEW IN TELEGRAM
Напечатали на REPLICADR крышку для коробки из PETG. Сопло 0.6, высота слоя 0.4. Печаталось примерно 8 часов. Вес законченной детали — примерно 334 грамма пластика.

#projects #REPLICADR
#music

Yakui The Maid, "Goodnight World":
https://www.youtube.com/watch?v=lqieaQY5hMU

Приятная музыка. Мелодично, ритмично, красиво.
1
Ужин: греча с грибами.

#vegan #food
1
Пальцы-рисовальцы.
3
Вступайте в нашу сектцию по программированию.
11
memory heap
Вступайте в нашу сектцию по программированию.
...Ибо лишь знание языка C даёт истинное понимание постулатов философии операционной системы Unix и потомков её.
4