Я уже обдумал это. Вводные следующие:
1) Аллокировать объект средствами Lua в принципе не получится (не буду вдаваться в детали фортрана). Аллокация делается на фортране, но можно взять указатель. Соответственно, деаллокация также делается вручную фортраном. Естественно, нужна функция для финализации объекта.
2) ванильный 5.1
3) объект, возможно, является частью более общего состояния, которое будет храниться в таблице
Возможные решения:
1) Положить указатель в LUD. Вызывать финализатор вручную (этот момент более или менее известен).
2) Извратиться с добавлением __gc в более общую таблицу (через proxy) и вызывать финализатор оттуда. Я еще не уверен, что эта таблица будет.
3) Завернуть указатель в FUD, добавить к нему __gc, вызывать оттуда финализатор.