Size: a a a

Сообщество Scheme

2019 May 18

VS

Veniamin Synaptique in Сообщество Scheme
Надо не GUI-приложения писать, а графический движок, и GUI уже как его производную.
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Veniamin Synaptique
Надо не GUI-приложения писать, а графический движок, и GUI уже как его производную.
Так напиши :)
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Насколько я понял из описания чтобы выполнить функцию и при этом не "замораживать" gui надо поднять два Чикена. Печально. Это конечно тоже вариант, но как это все сделать кроссплатформенно
источник

P1

Peter 11111000000 in Сообщество Scheme
Andrew Kravchuk
Народ, а кто-нибудь шарит в Racket'овских макросах? Я тут написал почти первый в жизни макрос, хотелось бы, чтобы кто-нибудь подсказал, можно ли лучше, ну и вообще покритиковал. Код вот https://codereview.stackexchange.com/q/220055/19346
сложно сходу понять, получился довольно запутаный код, но для такой цели  вроде можно обойтись без макроса, напр. паттерном "декоратор"
источник

P1

Peter 11111000000 in Сообщество Scheme
Aydar Zarifullin
В FAQ чикена про потоки написано следующее

Native threads are not supported for two reasons. One, the runtime system is not reentrant. Two, concurrency implemented properly would require mandatory locking of every object that could be potentially shared between two threads. The garbage-collection algorithm would then become much more complex and inefficient

В связи с этим возникает вопрос: А можно ли вообще полноценное gui приложение написать с таким ограничением?
вот как там конкретно в ципе, не скажу точно, т.к. с ним не работаю, но один поток ещё никогда не мешал организовать event-loop (как в том-же ES сделано)
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Peter 11111000000
сложно сходу понять, получился довольно запутаный код, но для такой цели  вроде можно обойтись без макроса, напр. паттерном "декоратор"
(Про "вроде можно обойтись без макроса") Я примерно так и пытался. Работает не так как задумано, при определенных условиях сегфолты
источник

P1

Peter 11111000000 in Сообщество Scheme
источник

P1

Peter 11111000000 in Сообщество Scheme
Aydar Zarifullin
(Про "вроде можно обойтись без макроса") Я примерно так и пытался. Работает не так как задумано, при определенных условиях сегфолты
а, вижу, надо попробовать запустить завтра
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Спасибо, гляну
источник

PG

Pïg Grëënëst in Сообщество Scheme
Почему бы не сделать BEAM-like интерпретатор/рантайм с отдельной кучей на каждый поток?
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Pïg Grëënëst
Почему бы не сделать BEAM-like интерпретатор/рантайм с отдельной кучей на каждый поток?
Ну в теории оно так и надо, просто не знаю смогу ли сделать
источник

PG

Pïg Grëënëst in Сообщество Scheme
То есть ты собираешь сделать свою реализацию схемы или допилить существующую?
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Pïg Grëënëst
То есть ты собираешь сделать свою реализацию схемы или допилить существующую?
Идея какая: создать отдельный поток pthread и просто инициализировать там новый контекст исполнения с помощью C API

https://wiki.call-cc.org/man/4/Embedding#chicken_initialize
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Прокатит или нет, не знаю, но по идее должно
источник

PG

Pïg Grëënëst in Сообщество Scheme
Интересно
источник

PG

Pïg Grëënëst in Сообщество Scheme
Там же можно пересылать объекты между кучами?
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Pïg Grëënëst
Там же можно пересылать объекты между кучами?
Без понятия. Но в крайнем случае можно сериализовывать\десериализовывать и просто в виде строки передавать
источник
2019 May 19

no

nemo outis in Сообщество Scheme
источник

no

nemo outis in Сообщество Scheme
После перехода на jit, скорость guile сильно подросла?
источник

no

nemo outis in Сообщество Scheme
"Guile uses the GNU Lightning library to emit native code"
источник