AutoHotkey Homepage AutoHotkey Community
Let's help each other out
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

IronAHK (alpha): cross platform .NET rewrite of AutoHotkey
Goto page 1, 2, 3 ... 34, 35, 36  Next
 
Reply to topic    AutoHotkey Community Forum Index -> Scripts & Functions
View previous topic :: View next topic  
Author Message
polyethene



Joined: 11 Aug 2004
Posts: 5248
Location: UK

PostPosted: Sun Feb 14, 2010 9:46 am    Post subject: IronAHK (alpha): cross platform .NET rewrite of AutoHotkey Reply with quote

IronAHK is a complete rewrite of AutoHotkey in C# for .NET and Mono. It works like a real compiler by producing optimised bytecode. Since like Java, the .NET runtime is available on all operating systems, mobile devices and game consoles, compiled scripts will run the same everywhere without modification.


Download (nightly): Installer (x64), OS X Bundle, Binaries, Portable, Source

Any previous pre-release versions must be uninstalled first. The nightly versions contain the latest bleeding edge binaries built against the development source and should only be used for testing. Also see: releases, status, changelog.


Benefits to existing AutoHotkey users:
  • All Unicode
  • Runs natively as 32 bit or 64 bit depending on your hardware
  • Write once, run everywhere - your same compiled scripts will run on every platform with a .NET compatible runtime
  • No source code is attached to compiled assemblies, the resulting binary resembles nothing like your original syntax and cannot be decompiled
  • Permissive BSD license, freely use any part in your commercial or closed source software
  • Modular design means you can use the command library or host the script engine in your own applications
  • Arrays and objects with JSON syntax
  • An active and open development cycle
  • ... and more!

Bugs and suggestions are welcome on our issue tracker.

Follow developments on twitter @ironahk or GitHub.



Same script running on Windows 7 and Xubuntu Karmic.


Finally, thanks to the following people for their help in this project:
  • Tobias, the co-developer responsible for Unix ports and the CIL compiler
  • IsNull for key contributions to the command library
  • DerRaphael for testing and bug reports
  • infogulch for many useful suggestions
  • Chris from autokey for X11 advice
  • Slav2Gruzdev for submitting patches with improvements to the command library
  • Chris for AutoHotkey


Last edited by polyethene on Tue Oct 12, 2010 9:41 pm; edited 9 times in total
Back to top
View user's profile Send private message Send e-mail Visit poster's website
HotKeyIt



Joined: 18 Jun 2008
Posts: 4652
Location: AHK Forum

PostPosted: Sun Feb 14, 2010 10:48 am    Post subject: Reply with quote

Hi Titan, thanks for your great work, this looks very promising Cool

Are there any docs? Which commands do work and what is difference to original AHK? How to compile a script?

What compiler can I use to compile source code?

Would you like to receive feedback on bugs/problems in this thread?
_________________
AHK_H (2alpha) AHF TT _Struct WatchDir Yaml _Input ObjTree RapidHotkey DynaRun Wink


Last edited by HotKeyIt on Sun Feb 14, 2010 11:20 am; edited 1 time in total
Back to top
View user's profile Send private message
polyethene



Joined: 11 Aug 2004
Posts: 5248
Location: UK

PostPosted: Sun Feb 14, 2010 11:08 am    Post subject: Reply with quote

To run a script just drag and drop any file onto IronAHK.exe. At the moment you can only compile a script by command line, run IronAHK.exe /out compiled.exe script.ahk. In future versions there will be an installer with file associations and GUI compiler to make this easier.

Documentation of the commands is a priority for the 0.9 release and there isn't a list of what works and what doesn't, but you can find some information on http://www.ironahk.net/docs/commands/msgbox/ (replace msgbox with any command name).

Bug reports, suggestions and comments are more than welcome on this thread.
_________________
GitHubScriptsIronAHK Contact by email not private message.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
HotKeyIt



Joined: 18 Jun 2008
Posts: 4652
Location: AHK Forum

PostPosted: Sun Feb 14, 2010 11:30 am    Post subject: Reply with quote

SetBatchLines seems to have no effect.
Crashes when invalid command specified.
"`n" does not produce new line.

Thats it for now.
_________________
AHK_H (2alpha) AHF TT _Struct WatchDir Yaml _Input ObjTree RapidHotkey DynaRun Wink
Back to top
View user's profile Send private message
Tuncay



Joined: 07 Nov 2006
Posts: 1886
Location: Germany

PostPosted: Sun Feb 14, 2010 11:35 am    Post subject: Reply with quote

Sounds very good. The power of open source. Cool Something we all wanted to have. GREAT. After DLL, Unicode, Lexikos additions we have finally cross platform version. Thanks and keep the work.

Would the code be executed faster or slower in general logic? Bytecode is halfwise interpreted. But Ahk do once compile full script in memory before execution.
_________________
{1:"ahkstdlib", 2:"my libs", 3:"my apps", 4:"my license"}
--> Don't feed the troll! <--
Back to top
View user's profile Send private message Send e-mail Visit poster's website
IsNull



Joined: 10 May 2007
Posts: 593
Location: .switzerland

PostPosted: Sun Feb 14, 2010 1:12 pm    Post subject: Reply with quote

As there is currently no support for GUIs, its hard for me to find scripts for testing purposes.

I've written some examples; This one doesn't work;

Code:

loop, 10
{
res .=  func(44,a_index) . "-"

}
msgbox % res
return

func(a,b){
   return, a ** b
}





but, this works:

Code:

var := 33 ** 12
msgbox % var


thanks for your hard work Wink
_________________
http://securityvision.ch
AHK 2D GAME ENGINE
Back to top
View user's profile Send private message Visit poster's website
polyethene



Joined: 11 Aug 2004
Posts: 5248
Location: UK

PostPosted: Sun Feb 14, 2010 8:12 pm    Post subject: Reply with quote

HotKeyIt wrote:
SetBatchLines seems to have no effect.
I marked SetBatchLines as an obsolete command because I saw no compelling reason to have artificial delays between every line. Using sleeps and changing process priority gives more precise control of CPU usage. It also poses a design challenge, in AutoHotkey each line is executed one by one but in IronAHK every token is converted to bytecode with no reference to their originating line number; consequently, A_LineFile and A_LineNumber are also unsupported. The long term plan is to replace these with more useful debugging features and real threading with asynchronous background workers.

HotKeyIt wrote:
Crashes when invalid command specified.
"`n" does not produce new line.
Thanks, both bugs will be fixed in the next release.

Tuncay wrote:
Would the code be executed faster or slower in general logic?
At the moment the compiler does no optimisations whatsoever, so your code may perform equally or even slower than AutoHotkey. In my preliminary tests with full optimisation IronAHK can perform arithmetic operations 35-40x faster than AutoHotkey.

IsNull wrote:
As there is currently no support for GUIs, its hard for me to find scripts for testing purposes.
Sorry, I should have put more emphasis on documenting broken or unsupported commands. I will make this a priority for the next release so everyone knows what scripts they can and cannot use, just until version 1.0 is ready.

IsNull wrote:
I've written some examples; This one doesn't work;
Both examples work for me, Tobias tested them too and said it gives the expected results.
_________________
GitHubScriptsIronAHK Contact by email not private message.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
IsNull



Joined: 10 May 2007
Posts: 593
Location: .switzerland

PostPosted: Mon Feb 15, 2010 9:47 pm    Post subject: Reply with quote

Quote:

Both examples work for me, Tobias tested them too and said it gives the expected results.

I tried again, and it succedes... Actually, I have no idea why it works now and yesterday not. It failed every time, and it was exactly the same source... also other scripts were working as well, but this one not.

strange.
_________________
http://securityvision.ch
AHK 2D GAME ENGINE
Back to top
View user's profile Send private message Visit poster's website
newuser



Joined: 30 Dec 2009
Posts: 6

PostPosted: Tue Feb 16, 2010 4:14 am    Post subject: Reply with quote

Titan,

Can I know which version of dotnet framework is supported in IronAHK since Im currently using framework 2.0sp1 but the compiler came out with a blank box window if I drag the scite testsuite.ahk script into it. Question
Back to top
View user's profile Send private message
polyethene



Joined: 11 Aug 2004
Posts: 5248
Location: UK

PostPosted: Tue Feb 16, 2010 9:47 am    Post subject: Reply with quote

.NET 2.0 or greater is the requirement, so what you have is fine. The problem you are describing is a bug which has been fixed for the next version.
_________________
GitHubScriptsIronAHK Contact by email not private message.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
tic



Joined: 22 Apr 2007
Posts: 1786

PostPosted: Tue Feb 16, 2010 11:48 am    Post subject: Reply with quote

This script doesnt work for me:

Code:
Loop, % -1+3
   MsgBox, %A_Index%
Back to top
View user's profile Send private message
polyethene



Joined: 11 Aug 2004
Posts: 5248
Location: UK

PostPosted: Tue Feb 16, 2010 12:16 pm    Post subject: Reply with quote

tic wrote:
This script doesnt work for me:

Thanks, fixed in 9cd748d2. The parser was confused between binary subtract and unary minus operators.
_________________
GitHubScriptsIronAHK Contact by email not private message.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
tic



Joined: 22 Apr 2007
Posts: 1786

PostPosted: Tue Feb 16, 2010 12:28 pm    Post subject: Reply with quote

Good work sir. You gonna remove the black window, or keeping that for the time being for debugging?
Back to top
View user's profile Send private message
polyethene



Joined: 11 Aug 2004
Posts: 5248
Location: UK

PostPosted: Tue Feb 16, 2010 12:51 pm    Post subject: Reply with quote

I am so used to working in command line I had actually forgot about that, but thanks for reminding me, it will be removed in v0.7.
_________________
GitHubScriptsIronAHK Contact by email not private message.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
jethrow



Joined: 24 May 2009
Posts: 1907
Location: Iowa, USA

PostPosted: Tue Feb 16, 2010 2:21 pm    Post subject: Reply with quote

I noticed the following about MsgBox:
Code:
MsgBox, 0, Title, Message ; diplays msgbox with no title, and the message is the first param ( 0 )

MsgBox, 0, Title, Message, 1 ; displays correctly, but doesn't timeout

MsgBox, 0, , Message, 1 ; displays msgbox with no title - should default to script name


Thanks again for the work!
_________________
Very Happy - in case I forgot to smile
Basic Webpage Controls
COM Object Reference


Last edited by jethrow on Tue Feb 16, 2010 2:51 pm; edited 1 time in total
Back to top
View user's profile Send private message Visit poster's website Yahoo Messenger
Display posts from previous:   
Reply to topic    AutoHotkey Community Forum Index -> Scripts & Functions All times are GMT
Goto page 1, 2, 3 ... 34, 35, 36  Next
Page 1 of 36

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum


Powered by phpBB © 2001, 2005 phpBB Group