That is possible, but it is quite hard to use correctly in my opinion. It's
also not in core anymore. If I understand things correctly, there is a
performance penalty in every new gc root. Maybe some of the core team
members can comment. To me, object-evict has been a last-resort (and as
such, I've never used it) but I don't know how others might feel about it.

K.


On Wed, Aug 7, 2019, 22:52 Dan Leslie <d...@ironoxide.ca> wrote:

> Isn't it possible to pin items, and avoid these relocation and garbage
> collection issues, with object-evict?
>
> https://wiki.call-cc.org/eggref/5/object-evict
>
> -Dan
>
>
> Sent with ProtonMail <https://protonmail.com> Secure Email.
>
> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> On Wednesday, August 7, 2019 1:00 PM, Kristian Lein-Mathisen <
> kristianl...@gmail.com> wrote:
>
>
> Hi Daniel and welcome to the Chicken mailing list.
>
> Another thing to keep in mind is that the Chicken garbage-collector will
> move objects around during gc. That can cause a lot of hard-to-find bugs,
> and is probably one of the reasons for Joerg advice on not calling back
> into Scheme from your foreign-lambdas.
>
> Another cause of problems with the relocations is that you cannot
> reference Chicken objects in C long-term, because the gc won't be able to
> update those pointers.
>
> Having said that, the ffi in Chicken is really nice to use, so much that I
> often use it to explore new C api's.
>
> And also, I sometimes use valgrind to check for memory leaks.
>
> Best of luck!
> K.
>
> On Tue, Aug 6, 2019, 22:18 Jörg F. Wittenberger <
> joerg.wittenber...@softeyes.net> wrote:
>
>> Hello Daniel,
>>
>> welcome here.
>>
>> Since CHICKEN compiles into C, all the tools you are used with C to use
>> are still there.
>>
>> Personally I'm not a fan of fancy debuggers, since most of the things I
>> write tend to depend on external (network) events.  I'd welcome tips
>> how to automate those jobs using better tools than printing log
>> messages.
>>
>> Memory use in code mixing C and CHICKEN Scheme can be hairy.  I tend to
>> recommend to abstain from calling back from C into Scheme until you
>> know what you are doing.
>> http://wiki.call-cc.org/man/5/C%20interface#notes
>>
>> Otherwise I used to run my code under valgrind, which helped me a lot
>> to catch some errors.
>>
>> Best Regards
>>
>> /Jörg
>>
>> Am Tue, 6 Aug 2019 10:37:06 -0500
>> schrieb Daniel Ortmann <daniel.ortm...@oracle.com>:
>>
>> > Hello all,
>> > I am new to Chicken Scheme and experimenting with binding scheme to a
>> > C scanner built with Flex.  The results are fast but I feel the need
>> > to monitor memory use and watch for leaks.
>> >
>> > The only relevant thing I find on call-cc.org is this url:
>> > http://wiki.call-cc.org/chicken-for-emacs-lisp-programmers#tooling
>> >
>> > What are your experiences, tools, and practices with debugging mixed
>> > Scheme + C code?
>>
>>
>>
>> _______________________________________________
>> Chicken-users mailing list
>> Chicken-users@nongnu.org
>> https://lists.nongnu.org/mailman/listinfo/chicken-users
>>
>
>
_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to