Size: a a a

Сообщество Scheme

2019 May 13

AZ

Aydar Zarifullin in Сообщество Scheme
Andrew Kravchuk
Окей. В любом случае, фиг с ним, с кодом функции, больше интересует макрос)
Я понял, сам я в макросах не очень поэтому завтра попробую написать то что ты хочешь получить но без макроса. Вроде бы это возможно
источник

AK

Andrew Kravchuk in Сообщество Scheme
Aydar Zarifullin
Я понял, сам я в макросах не очень поэтому завтра попробую написать то что ты хочешь получить но без макроса. Вроде бы это возможно
Хм, а это идея, спасибо, подумаю
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Andrew Kravchuk
Хм, а это идея, спасибо, подумаю
Я в принципе знаю как написать, просто у меня ночь и я от пк отошёл
источник
2019 May 14

AZ

Aydar Zarifullin in Сообщество Scheme
http://pasterack.org/pastes/69797 Вроде работает как надо, но несмотря на то что я в вызове get-ffi-vararg указываю один обязательный строковый параметр, функцию можно вызвать и без него. Происходит сегфолт и я не знаю почему
источник

AK

Andrew Kravchuk in Сообщество Scheme
А мне говорит, что
bytes->string/utf-8: string is not a well-formed UTF-8 encoding
 string: #"\270=1O[\177"
источник

AK

Andrew Kravchuk in Сообщество Scheme
Сейчас погляжу
источник

AK

Andrew Kravchuk in Сообщество Scheme
А, ну да, SDL_SetError лучше всё-таки с осмысленными аргументами позвать. Вот так работает:
(define SDL_SetError (get-ffi-vararg "SDL_SetError" sdl-lib _void  _string _string))
(SDL_SetError "rawr %s" "lion")
источник

AK

Andrew Kravchuk in Сообщество Scheme
Aydar Zarifullin
http://pasterack.org/pastes/69797 Вроде работает как надо, но несмотря на то что я в вызове get-ffi-vararg указываю один обязательный строковый параметр, функцию можно вызвать и без него. Происходит сегфолт и я не знаю почему
Идею я уловил, спасибо. Но конкретно в этой её реализации неудобно, что вот эту функцию для получения ffi-обёртки придётся звать каждый раз заново для разных комбинаций типов параметров.
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Andrew Kravchuk
Идею я уловил, спасибо. Но конкретно в этой её реализации неудобно, что вот эту функцию для получения ffi-обёртки придётся звать каждый раз заново для разных комбинаций типов параметров.
В смысле?
источник

AK

Andrew Kravchuk in Сообщество Scheme
Да, я потыкал и вижу, что можно вообще с произвольным числом аргументов звать 😅
источник

AK

Andrew Kravchuk in Сообщество Scheme
Всё ок, спасибо!
источник

AZ

Aydar Zarifullin in Сообщество Scheme
Andrew Kravchuk
Да, я потыкал и вижу, что можно вообще с произвольным числом аргументов звать 😅
get-ffi-vararg принимает тип результата а затем любое число обязательных параметров
источник

AK

Andrew Kravchuk in Сообщество Scheme
👌
источник
2019 May 16

AZ

Aydar Zarifullin in Сообщество Scheme
источник

NK

ID:263994297 in Сообщество Scheme
👌
источник

AK

Andrew Kravchuk in Сообщество Scheme
🎉
источник
2019 May 17

V(

Vλadimir (Hawthorne the Toolmaker) in Сообщество Scheme
источник

V(

Vλadimir (Hawthorne the Toolmaker) in Сообщество Scheme
https://stackoverflow.com/questions/10871275/how-do-you-initialize-a-struct-with-default-values-in-typed-racket

Что, интересно, понимается под pretty inflexible feature... что там одно значение на все авто-поля?
источник
2019 May 18

AZ

Aydar Zarifullin in Сообщество Scheme
Из контекста не очень ясно, видимо да
источник

AZ

Aydar Zarifullin in Сообщество Scheme
В 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 приложение написать с таким ограничением?
источник