Current groovysh and groovyConsole are not suitable for groovy nature: one important advantage of groovy over java is that you can evaluate any part of code immediately, which is a good incremental developing method: instead of " write and pray, compile and debug", you can write some code, evaluate them immediately, then write more code knowing the code you had written are right. It's also very easy to try some code that you are not sure of.
Pythonwin is a good example: you can load, edit and write in the editor, or you can interactive with shell in any time, the best part is, you can run the script in editor, then go to the shell to operate the variable and objects from this run. It's a better way to debug problems or try new features.
I understand that this question had been proposed long time before, but it didn't get too much attention because of limited resource. What I proposed is to combine groovysh and groovyConsole, just give groovyConsole an interactive shell, and let user continue to operate in the environment after running a script. This should not require too much work.