Считайте это дневником. А то замучался исчиркивать бумажки, потом всё терять и вспоминать заново... Попробую восстановить последние мысли.
Реализация "внутри":
- Полная перезагрузка "стандартных" слов. Чтобы не мучаться с odup, o+, и прочими o.
- Стек объектов предположительно динамический, в виде связного списка. Т.о. в стеке можно хранить не ссылки на объекты, а сами объекты.
- Типизация. Каждый объект принадлежит определённому классу.
- Любой объект может быть одновременно идентификатором класса.
- Привязка функций статическая, но с подменяемыми таблицами. Т.е. для каждый метод имеет уникальный индекс в системе (одно имя - один индекс), для каждого класса есть таблица этих методов.
- Тип
any (или т.п.) - "безтиповый" тип, аналогичный переменным PHP.
Определённые параметры функций. Скажем:

1/int ) fact 1 ;

n/int ) fact n 1- recurse n * ;
Определение факториала в духе Haskell'а.
- В строковых переменных возможны подстановки переменных в духе Perl/PHP (в случае типизации, понятно, делается попытка привести переменную к строковому типу).
Что-то в духе:
autostrings on всё, что не определено - строка.
Для уменьшения числа кавычек
D:/Work/html2fb2/ДМБ-2010.htm file get считать файл
r null replace замена 0D
<!DOCTYPE.+?> null gis preplace регексп. замена
Обрамляем результат в <XML>n..n<XML>
%0% - это вершина стека
"<XML>
%0%
</XML>"
out.fb2 file put пишем файл
[/html_font]
%n% - n-й элемент в стеке
%ARG[n]% - n-й аргумент ком. строки
%ENV[key]% - окружение
Теперь собственно про объекты. Синтаксис в духе:
[html_font color=blue]
object complex
private
var i/float
var j/float
public
: . "(%i ,%j )" . ;
y/complex x/complex ) +
x i y i + x i !
x j y j + x j !
nip ;
int ) new
super new обращение к суперклассу
rot over i ! ;
Блин. Смайлики забыл отключить. Отключаю. А то

-