Hi, my error was that the "quote" was actually a different unicode char (from the copy/paste), therefore gsi did not understand it as a quoted symbol but as an unquoted (undefined) symbol. And I got a weird error message because of the code point of that char was written right in it. And I have to admit it, I had no clue about what was occurring. I understand that no thread could return anything that would be eq? with (let ((unique (list 'unique))). But : a) Is there anything more simple than using list? b) Would it be a good idea to have one (or more) reserved symbol (or keyword) in Gambit like None, Nothing, Fail, etc. to handle that kind of problem. I am asking this question because a similar problem arises with hash table or similar dictionary like structures. Most of the time #f or '() work except when storing booleans or lists. Any thoughts? Denis
From: mikael.rcv@gmail.com Date: Mon, 12 May 2014 14:33:44 +0200 Subject: Re: [gambit-list] example from the doc To: denis.prog@hotmail.com; gambit-list@iro.umontreal.ca
Denis, the unique variable is for it to work even if the thread ended its execution by returning a symbol by the name unique - it interprets fine, what's your err?
2014-05-12 2:38 GMT+02:00 Denis Fourt denis.prog@hotmail.com:
Hi, In Gambit 4.7.2 documentation, in the section dedicated to threads, there is the following code example :
(define thread-alive? (let ((unique (list ’unique)))
(lambda (thread) ; Note: this procedure raises an exception if ; the thread terminated abnormally. (eq? (thread-join! thread 0 unique) unique))))This code is actually incorrect (according to gsi), the let is rejected. I believe that :(define thread-alive? (lambda (thread) (eq? (thread-join! thread 0 'unique) 'unique)))
should be enough (though I do not know what happens if the thread returns nothing). I would like to know if there was some precise reason behind this let construction.
Thanks, Denis
_______________________________________________
Gambit-list mailing list
Gambit-list@iro.umontreal.ca
https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list