MC's notes on Joe Mistachkin's Tcl2008 talk regarding his re-implementation of Tcl in C#.
(I missed the first slide...)
Notable features:
Missing:
Compiles with Visual Studio 2005, 2008 and/or .NET framework compiler. Ran a demo eagle console. "#show" special command to show output helpful for debugging
% set x [[object create System.Int32]] System#Int32#216 % object invoke $x ToString 0 % set y [[object create -alias System.Int32]] ...
Eagle, being managed code, has access to all the .NET framework. Joe ran a demo that used .NET calls to instantiate a Windows form.
Within Eagle: [tcl find] finds installed versions of Tcl. [tcl load] can load them. Eagle can load Tcl via a .dll; then package require Tk. Thus Tk and winforms can be mixed.
Calling foreign functions:
set z [[library declare -functionname GetUserNameA -returntype Boolean -paramatertypes [[list intptr uint32&]] -charset ansi -module ...]]
Eagle takes a different approach to some things than Tcl. Semantically compatible at the script level. Radically different underneath the hood. No interp->result. Interpreters in Eagle have no thread affinity; can be used from any thread.
Question from the chat: "How easy is it to embed Eagle into a C# application?" Answer: examples of doing that come with the distribution. Walked through a simple example.
Question: What is the benefit of rewriting versus wrapping? Answer: Requirement was to implement the scripting language totally in 100% managed mode code.
Downloadable from http://eagle.to