SRL Archive - Suggestions

Dws


nielsie95

2010-03-31 14:24:15

Delphi Web Script. I don't know how it works on linux, but maybe we could test it out? I've got it running on Lazarus.

Pros:
OOP
Nested Declarations
Speed comparable to Pascal Script (I think it is faster in some occasions, but might be slower in other)

Cons:
Annoying to import functions
Dynamic arrays aren't really supported yet (no SetLength in the script)

Nielsie95

Wizzup?

2010-03-31 17:52:14

I remember Grippy (don't know if you remember him) suggested this a long time ago… He said he was going to see if he could get it to work in Lazarus. It looks pretty cool, I agree!

Definitely worth investigating.

nielsie95

2010-04-05 15:05:36

http://sourceforge.net/projects/sepi/

Might be worth looking into too :)

mastaraymond

2010-04-05 17:13:01

From: nielsie95
http://sourceforge.net/projects/sepi/

Might be worth looking into too :)

Atleast the last commit is withint 5 months :p.

Wizzup?

2010-04-05 17:16:07

Well, DWS compiled and works on Linux x86_64, so it may definitely be worth investigating.

mastaraymond

2010-04-05 18:49:32

From: nielsie95
http://sourceforge.net/projects/sepi/

Might be worth looking into too :)

Took a closer look.. It has a lot of stuff in it, although I have no clue it works.. Stupid french :<

nielsie95

2010-04-10 14:12:56

Got it to work in Delphi. Looks very promising :)
It supports Delphi syntax including overloading, classes, pointers (and arrays). Also, it's easy to add classes and functions and it's (a lot) faster than dws and pascal script. The only disadvantage I can think of is that will have to be ported to FPC (:unsure:). Another thing is that scripts will have to written in unit structure..

Wizzup?

2010-04-11 14:19:52

There shouldn't be such a big difference between FPC and Delphi, I hope. Well, the array length is one thing that is different, but also easy to solve.

nielsie95

2010-04-11 16:34:47

The main problem is that it looks like FPC uses a different structure for classes (virtual method tables and such) and Sepi uses "core" functions in Delphi to manage certain variables (arrays, classes) which Lazarus implements differently (I can't even seem to call the corresponding functions in FPC).

mastaraymond

2010-05-23 05:11:50

This should have some priority on the 'todo list' ^_^. PS is just not the way to go, an object orientated interpreter would be *really* useful.

nielsie95

2010-05-23 05:44:17

If we figure out something for arrays in DWS, I think DWS is a good alternative. Sepi probably needs a lot more work before it can work properly in Lazarus (but Sepi looks like a very good interpreter).

mastaraymond

2010-05-23 05:46:12

From: nielsie95
If we figure out something for arrays in DWS, I think DWS is a good alternative. Sepi probably needs a lot more work before it can work properly in Lazarus (but Sepi looks like a very good interpreter).

Oh, yeah I was aiming at Sepi.. If we could just make the French dev convert it for us :p

nielsie95

2010-06-21 18:15:36

I believe Sepi now works on Delphi 2009 too. Next step, fpc? :p

Wizzup?

2010-06-22 11:14:51

From: nielsie95
I believe Sepi now works on Delphi 2009 too. Next step, fpc? :p


Would be nice… :)

nielsie95

2010-06-30 11:21:28

Found another promising scripting engine: RUTIS.

  • Compatible with FPC
  • Just like DWS, it requires special function wrappers (which would probably result in it working on every platform FPC supports)
  • Support for arrays and pointers.
  • Fast
  • No support for cases/exceptions
  • No direct support for classes, you need wrappers like SetStrProperty(MyLabel, 'Name', 'Label2');

If you only look at features, PS is better, but I really like RUTIS :)

nielsie95

2010-06-30 11:31:24

And another one: ScriptEngineII.

  • Compatible with FPC, not fully tested
  • Supports classes (including class helpers), static vars, overloaded functions
  • No array support yet, but it looks like that's on its way
  • Speed comparable to PS

Looks promising, I don't know if it work on Linux. Definitely worth considering when array support gets added.

Wizzup?

2010-06-30 16:23:40

RUTIS looks pretty good. We should see if it works properly.

Wizzup?

2010-07-19 08:38:57

But catching exceptions is kind of required. (I see RUTIS does not support them)

nielsie95

2010-08-14 11:16:47

ScriptEngineII now has threading support (inside the script, if I understand correctly).

Download the latest version and open the IDE (it is precompiled) to see what it can do, it's pretty nice.

EDIT: Also looks like it's getting .exe support.

Wizzup?

2010-08-23 11:23:18

RUTIS seems to work just fine on Linux.
Pointers, yay!

Now, if it would have accessing classes the proper way, we'd have a new interpreter. :D

nielsie95

2010-08-23 16:57:33

Exceptions would be nice too..
But I'm glad we have at least 1 interpreter which works on Linux now! :)

Wizzup?

2010-08-23 17:22:21

DWS worked too on Linux. :)

nielsie95

2010-08-23 17:29:35

But DWS isn't in Simba yet ;)

Wizzup?

2010-08-23 17:48:08

From: nielsie95
But DWS isn't in Simba yet ;)


Yet? Do we intend to add all interpreters? :p

mastaraymond

2010-09-11 07:23:43

So.. I added most of the PS-methods to Rutis with the RT-Wrapper (still has a bug, does not parse all methods).. But it seems like Rutis does not support var parameters.. Too bad.

Nava2

2010-09-11 11:28:09

From: mastaraymond
So.. I added most of the PS-methods to Rutis with the RT-Wrapper (still has a bug, does not parse all methods).. But it seems like Rutis does not support var parameters.. Too bad.


Thus no passing by reference?

nielsie95

2010-09-11 11:47:20

Yes, although variable params in external functions are probably possible, so FindColors can still be called in the same way :)

Wizzup?

2010-09-11 11:54:14

I got it to work on Linux 32 bit! Unfortunately Range checking doesn't seem to work very well. (I did FindColors; the length was in the range of 20k); accessing tpa[0] printed 'Address Error', and so did every other valid index. RUTIS didn't stop running though, but I fear it will also not stop running when working with invalid indices.

nielsie95

2010-09-11 17:51:50

This is because RUTIS only keeps track of its own allocated memory. There's a setting to disable this (I think it should fix it).

nielsie95

2011-02-21 06:39:30

http://delphitools.info/dwscript/

Someone took the liberty to fix up DWS and extend it a bit. I must say it looks pretty awesome. From the posts in in his blog it looks fast and it has a lot of nice extra features. Still not made for FPC, though. But, as the previous version of DWS wasn't that hard to convert, maybe this version isn't either? Anyone up for it?

Nava2

2011-02-21 11:53:37

Wow, the upgrades are impressive.

I'd be curious if it can be run on Linux/Mac! If this is possible, I think its definitely a viable option.

OOP would be very nice to have.

E: For those who were complaining about it before.. http://delphitools.info/2011/02/14/dwscript-2-2-preview-2-new-debugger-component/

nielsie95

2011-02-23 12:00:44

If he didn't change the base too much, it would probably run on Linux/Max :) The only thing I found while reading the blog was that he added some sort of asm support (although we don't need that for Simba).

Wizzup?

2011-02-23 12:06:26

From: Nava2
E: For those who were complaining about it before.. http://delphitools.info/2011/02/14/dwscript-2-2-preview-2-new-debugger-component/


How does the debugger help with the more important issues?

Nava2

2011-02-23 13:10:46

From: Wizzup?
How does the debugger help with the more important issues?


It was more just because people were complaining before.

nielsie95

2011-04-10 10:13:46

http://www.delphipraxis.net/140590-scriptengine-ii-v-0-6-1-a-12.html

Array support is coming up for SEII.

nielsie95

2011-06-19 14:36:47

Array support for DWSII is coming, too. I must say DWS is really appealing.

The ASM bit I was talking about previously is a "plugin", so it's just a nice extra, but not really needed. I guess I'll ask again :p Anyone up for porting it? I still think it should be relatively easy.

i luffs yeww

2011-06-19 14:58:47

What about Lape? What's going to happen with that?

nielsie95

2011-06-19 15:04:25

Lape is growing :) But, in my opinion, it's better to choose a proven solution, rather than waiting for (hopefully) a solution. Besides, currently DWS has more features, too. Including IDE features like code completion and debugging.

i luffs yeww

2011-06-19 15:14:41

Well of course something that's completed and working is better than a work in progress (at least in this case). ;) Was more just curious as to how the development is and if it would be abandoned or not, etc.

As to people being up to porting it, I assume the few people who could port it are all people who have posted in this thread (Wizzup, Raymond, Dgby (he hasn't posted I don't think, but he could do it), you, Nava if he had time), and they all know what to do, but just in case someone besides them would like to work on getting this working with FPC, what would have to be done?

nielsie95

2011-06-19 15:20:40

From: i luffs yeww
but just in case someone besides them would like to work on getting this working with FPC, what would have to be done?


That's pretty much what needs to be done ;) You need to get it to compile in FPC. It requires a little bit of knowledge of FPC and Delphi and the differences between them. DWS has a purepascal directive, which eliminates the assembler parts. So it should mostly be syntax changes.

i luffs yeww

2011-06-19 15:22:25

Well then that opens up the possibilities to who can do it quite a bit, I think. :) Thanks.