Skip to content

Instantly share code, notes, and snippets.

Contexts in Oopsilon

What is a context?

In Smalltalk and derived programming languages, a context is an object acting as an activation record. These objects are accessible in several ways: through the thisContext pseudovariable, the Process methods suspendedContext and context, and from the Block method context.

template<typename Func, Func func> struct thunk;
template<typename Class, typename R, typename ...Args, R(Class::*func)(Args...)>
struct thunk<R(Class::*)(Args...), func>
{
static R call(Tox *tox, Args ...args, void *userData)
{
return ((*static_cast<Class *>(userData)).*func)(args...);
}
};
It has been under our attention over the last few months that stqism/NikolaiToryzin
has used the Tox Foundation money to pay for his personal education expenses, and,
as a result, hasn't been able to pay irungentoo's travel fee for GSoC, due to
Google paying the reimbursement for the travel fees to the Tox Foundation,
not the individuals.
This is a massive breach of trust and therefore, the Tox Project has decided to
remove stqism and take back all of the domains owned by him. This means that since
he also provided hosting, our services may have disruptions over the coming weeks.
We're terribly sorry for any inconveniences.