Это зависит от того, насколько близко вы хотите, чтобы было отображение.
Тривиальный способ - встроить интерпретатор Tcl и просто вызвать Tcl_Eval()
или одну из других функций этого семейства с правильным кодом Tcl в виде строк, что довольно легко сделать, когда вы можете связать библиотеки C или DLL.
Как только вы это сделаете, вы можете начать делать свой интерфейс более естественным и, например, предоставлять сопоставления из ваших языковых структур данных с внутренними компонентами Tcl / Tk (Tcl_Obj *), в основном для повышения производительности, или добавлять соответствующие оболочки для создания привязок. более естественным для вашего языка. Основная проблема обычно заключается в том, чтобы заставить цикл событий работать должным образом с вашим языком.
Посмотрите на модуль perls tcl :: tk или питонов Tkinter для примера этого.
См:
http://wiki.tcl.tk/13208
Другой способ сделать это - PerlTk, который НЕ пытался встроить полный интерпретатор Tcl. Работает, но сделать это намного сложнее, поскольку Tk использует значительный объем кода Tcl для не критичных к производительности компонентов, таких как скрипты связывания по умолчанию и т. Д.
Некоторые примеры встраивания Tcl / Tk и обсуждений можно найти по адресу:
http://wiki.tcl.tk/2074