Skip to content
/ Triton Public
forked from kevzhao2/triton-old

Allows for easy and efficient interop between .NET and Lua code.

License

Notifications You must be signed in to change notification settings

bsnote/Triton

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Triton Build Status License: MIT

Triton provides an easy and efficient way to embed Lua 5.3 into your .NET application! Check out the wiki for more comprehensive documentation.

Comparison with NLua

Advantages

  • Triton works with an unmodified Lua library and targets Lua 5.3, which has native support for integer types among other things.
  • Triton supports .NET callbacks from coroutines.
  • Triton supports LuaThread manipulation.
  • Triton supports generic method invocation and generic type instantiation.
  • Triton supports generalized indexed properties (including those declared in VB.NET or F# with names other than Item) with a variable number of indices.
  • Triton supports dynamic usage of Lua, LuaFunction, and LuaTable.
  • Triton reuses LuaReference objects and will clean up unused references, saving as much memory in a transparent way as possible.
  • Triton will always correctly call the 'correct' overloads for methods.
  • Triton is, in general, faster in its .NET -> Lua context switches.
  • Triton is safer and, in general, faster in its Lua -> .NET context switches.

Disadvantages

  • Triton only supports event handler types that are "compatible" with the signature void (object, EventArgs).
  • Triton does not support calling extension methods on objects as instance methods.

Roadmap

  • Improve general performance.
  • Look into exposing debugging facilities.

About

Allows for easy and efficient interop between .NET and Lua code.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%