It seems that what I considered a
wart is a feature to some people. I would like to make the users of cl-cairo2 happy, so I am considering reverting to the older interface. Also, I experimented with some other code I am using, and I think that wrapping my code in
(let ((*context* context1)) ...)
is not too much of a hassle anyway.
So I am conducting an informal poll: please comment below. If you like the
(move-to context ...)
interface, say
explicit, if you prefer the
(move-to ... &key (context *context*))
interface, say
global. If you are indifferent, just state that.
You can also tell me if you have code that already uses either interface, and whether you it would be a great inconvenience to change that (but I can't imagine that very many people have a lot of code using the explicit interface at this stage).
I have listened to your arguments, so you won't need to repeat them, unless you feel that you have something crucual to add. I will take a look at the results on Tuesday, May 26, and update the library (and
cl-2d) if necessary. I would rather complete the transition quickly, as I want the API to be relatively stable. I do know that in the previous post I said that there will be no more changes, guess I am
dynamically inconsistent :-P
Only a small addition: The idiom (let ((*context* context1)) ...) can also be simplified and expressed concisely by a trivial macro WITH-CONTEXT.
ReplyDeleteForgot my vote: as stated earlier I am in strong favor of the implicit calling convention.
ReplyDeleteInconvenience of migrating code: none.
Looks like I am past the deadline, but just in case you are running late :)
ReplyDeleteI vote for the global interface also.
better late then never.. global please.
ReplyDeleteI don't care that much about deadlines :-) I will make cl-cairo2's *context* global, I already made the changes, but I will only push it when cl-2d is done, which will happen in the next few days.
ReplyDelete