Updated 2018-08-11 20:11:59 by mistachkin
What Eagle (Extensible Adaptable Generalized Logic Engine)
Where https://eagle.to/
Description Eagle is an implementation of the Tcl scripting language for the Common Language Runtime (CLR).
Current Release Beta 43 (v1.0.6781.49042, Released 2018.08.12)
License Tcl license
Who Joe Mistachkin

News  edit


As of the beta 42 release of Eagle, support for building against and running on the .NET Core 2.x runtime (which conforms to the .NET Standard 2.0) has been added.


Per the announcement at Twenty-third Annual Tcl/Tk Conference (2016), the Eagle Sandbox Contest is now live.


The Live Language Demonstration is online.

As of the beta 35 release of Eagle, it is much easier to customize existing ensembles in C#.

As of the beta 34 release of Eagle, support for conversion to arbitrary Delegate derived types has been added.

As of the beta 33 release of Eagle, file stat has been implemented.

As of the beta 31 release of Eagle, string match has been enhanced with curly brace support, similar to how glob works in native Tcl.

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.

2012/06/02 - The OpenBSD ports entry can be seen here [1].

2011/06/05 JJM - The initial public version of Garuda (Eagle Package for Tcl) has been released.

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

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.

2009-02-07 JJM - 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.

2008/12/08 JJM - 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 [2] and TIP 336 [3].

2008/10/11 JJM - The project will soon be hosted on CodePlex at [4] 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.

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.

More information  edit

The web site is here [5].

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

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

The Eagle Integration Tutorial is now available.

Eagle: Re-implementing Tcl in C#

Conferences  edit

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). This article is basically a stub for now, more information will be forthcoming.

Discussion  edit

dbohdan 2015-08-01: I found this page difficult to parse, so I restructured it creating sections that I thought would be the best for organizing the information here. I ordered the news items and the discussions topics chronologically newest to oldest. JJM, I hope you don't mind the changes.

[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!

[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.

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.

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..

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.