Updated 2014-07-05 05:18:17 by mistachkin

Eagle (Extensible Adaptable Generalized Logic Engine) is an implementation of the Tcl scripting language for the Common Language Runtime (CLR).

As of the beta 30 release of Eagle, full Tcl 8.4 compliant namespace support has been added. However, creative reading/writing of variables is purposely not implemented.

The web site is here [1].

Information on the latest changes can be found in the Eagle ChangeLog.

The official source code repository (Fossil) is located here [2].

The Eagle Integration Tutorial is now available.

Eagle was presented at the Alt.NET 2011 Seattle Conference.

Eagle was the subject of a paper at the Seventeenth Annual Tcl/Tk Conference (2010).

Eagle was the subject of a paper at the Sixteenth Annual Tcl/Tk Conference (2009).

Eagle was presented at the 2009 Lang.NET Symposium. The slides and the video from my talk are now available on the Eagle web site.

Eagle was the subject of a paper at the Fifteenth Annual Tcl/Tk Conference (2008).

Preliminary support for running on Mono 2.0+ has been added. When running on Mono, using version 2.6 or higher is recommended, as several critical issues have been identified and fixed.

The latest build adds support for TIP 335 [3] and TIP 336 [4].

The OpenBSD ports entry can be seen here [5].

This article is basically a stub for now, more information will be forthcoming.

I would really appreciate help in testing the latest build on different platforms (e.g. Windows 2000 (totally untested), Windows XP, Vista, 7 Beta, 64-bit, Mono on Linux/Unix/Mac OS X, etc). To make testing as streamlined as possible, I have added an interactive command "#test" that runs the entire test suite. -- JJM

2011/06/05 JJM - The first release of Garuda (Eagle Package for Tcl) has been released.

escargo 18 Sep 2008 - The SourceForge web site that is linked to by the official web site seems to date from the year 2000. -- JJM wrong link removed.

2008/09/18 JJM - The project registration is still pending approval over at SourceForge. The one that you are seeing has been abandoned and has nothing to do with this project.

2011/01/18 JJM - The project is finally available on SourceForge as well.

2008/10/11 JJM - The project will soon be hosted on CodePlex at [6] for the time being. Meanwhile, preview source and binary releases are available on the project web site. Thanks to Pat Thoyts and Jeffrey Hobbs for helping me a great deal during the release process.

2009/09/15 JJM - Apparently, the SourceForge project approval was simply dropped on the floor after nearly a year and my emails to them have gone unanswered; therefore, the project will simply remain on CodePlex and nowhere else.

RS 2008-10-06: As Eagle is a Tcl reimplementation (somehow comparable to Jacl or tcl.js?), do you test it with the Tcl test suite?

2008/10/06 JJM - Currently, it supports old-style tests and quite a few tests can run unmodified in Eagle; a more extensive test suite is a work in progress..

[Lectus] - 2011-05-08 08:46:11

This project is an awesome idea and should help people integrate Tcl in their .NET projects and should bring more visibility/popularity to Tcl.

Eagle: Re-implementing Tcl in C#

[000] - 2014-03-12 04:02:24

Anybody knows how this fly with Modern WindowsRuntime? If it does well, it can open a way to simply and easily make Tcl-enabled Windows (Phone) Store Apps!

mh2 It seems to me that ToCharArray method of the class String returns "tcl list of characters", not .NET object;
  eagle {set s1 [object create -alias String "qqq www eee"]}
  eagle {$s1 ToCharArray}
  #% q q q { } w w w { } e e e

as a result, I can not call BlockCopy method:
  catch { eagle {
    set b1 [object create -alias {Byte[]} 1000]
    object invoke System.Buffer BlockCopy [$s1 ToCharArray] 0 $b1 0 [$b1 Length]}
  } err; set err
  #% could not convert method #3 "System.Buffer.BlockCopy" argument #0 "src" with value
  "q q q { } w w w { } e e e" to type "System.Array": System.NullReference

Is it possible to cope somehow with that problem??? (may be, by using some special options?)

JJM Sure. In the call to [$s1 ToCharArray], simply use the -create option, like this:
  [$s1 -create ToCharArray]

mh2 Thanks. Is there somewhere a description of an "object" command and options such as "-create" ?

[DEC] I'm sure this would get more traction if some documentation were produced. Coming from a Tcl C perspective I have no idea how to drive this, some more detailed examples would be good.

JJM The Eagle Integration Tutorial is now available. Looking forward to feedback on it.