YetAnotherForum
Welcome Guest Search | Active Topics | Log In | Register

New Topic Post Reply
Let's make a squirrel-forge site!
kanryu
#1 Posted : Monday, March 23, 2009 9:39:37 AM(UTC)
Rank: Member

Groups: Registered
Joined: 10/21/2008(UTC)
Posts: 46

Thanks: 0 times
Was thanked: 0 time(s) in 0 post(s)
I suggest that there should be forge site for Squirrel Language to post / develop for common libraries or frameworks such as test-units, serializing, graphics, sounds, task-systems, and others.

Comments?
ats
#2 Posted : Monday, March 23, 2009 10:42:22 AM(UTC)
Rank: Member

Groups: Registered
Joined: 1/17/2007(UTC)
Posts: 132

Thanks: 0 times
Was thanked: 2 time(s) in 2 post(s)
I'd support that! Are you looking at mostly sources in Squirrel language? Or also other material like native bindings, Squirrel patches, ...etc?

There's a bit of material on the Squirrel Wiki.

Something I'd like to see is more of 'standard libraries' that would evolve with time. Also good quality native/mixed libraries.

// ATS.
kanryu
#3 Posted : Tuesday, March 24, 2009 9:28:53 AM(UTC)
Rank: Member

Groups: Registered
Joined: 10/21/2008(UTC)
Posts: 46

Thanks: 0 times
Was thanked: 0 time(s) in 0 post(s)
Thanks!
You mean that exhibited projects are not only for squirrel script but also for C/C++ Language (such as extension, patches and bindings) ?
It is because what kind of forge system it adopts.
I think it is possible.

Currently, Squirrel Language doesn't have enough mechanism to manage many libraries.
So, there is needed to support for once loading or concatenate libraries, maybe.

I also think that useful native/mixed libraries like loading/exporting XML files will appear.
ats
#4 Posted : Wednesday, March 25, 2009 3:27:37 PM(UTC)
Rank: Member

Groups: Registered
Joined: 1/17/2007(UTC)
Posts: 132

Thanks: 0 times
Was thanked: 2 time(s) in 2 post(s)
Yes, I was thinking about mixed-mode plugins, where you basically dynamically load a DLL and expose a SquirrelVM in the main app.

There are two main things that are needed to do this:
<ol><li>Platform portable dynamic library loading.</li><li>Exposing the VM in the mainapp through an interface:</li></ol><blockquote><ul><li>struct SquirrelVmIface {
sq_push( ... )
sq_pop( ... )
}</li><li>You also need to have some API to check what version of the VM a library expects, whether it uses float/double, what kind of strings, ...etc.
</li></ul></blockquote>For 1 I have code that works on main platforms.
For 2 some work is needed.

One would have to go over what parts of the VM to expose to a mixed mode library.

Do you think something like this is interesting?

Then, it would be good with a repository for Squirrel only libs as well.

Regards
// ATS.
kanryu
#5 Posted : Thursday, March 26, 2009 9:59:40 AM(UTC)
Rank: Member

Groups: Registered
Joined: 10/21/2008(UTC)
Posts: 46

Thanks: 0 times
Was thanked: 0 time(s) in 0 post(s)
Is it needed that Squirrel Interp has dynamicaly loading for dll/so ?
I think that it is very useful, but not needed.

Usually, embedded scripts are used only one application on a system(PC)
So if there are many libaries of C/C++/mixed used by the application, it is for the static-linking them.

But, if we need to expand functions dynamically(it is often for gaming!),
we will make some mechanism for loading.

&gt;There are two main things that are needed to do this:

In addition, maybe, we need to build Squirrel Interp as a dll/so with exporting APIs.
ats
#6 Posted : Thursday, March 26, 2009 11:56:35 AM(UTC)
Rank: Member

Groups: Registered
Joined: 1/17/2007(UTC)
Posts: 132

Thanks: 0 times
Was thanked: 2 time(s) in 2 post(s)
I think dynamically loaded libraries is more for when you want to extend an app in a more generic way, not special purpose. More like general purpose scripting.

I have an app (<a href="http://www.assembla.com/wiki/show/FileWorkbench">File Workbench</a>) where I do scripting in this quite open way. One can develop scripts inside the editors, try them out in prompts and so on. For that kind of thing it is very useful. For more specific application-bound scripting, it is not so necessary (but opens up possibilities).

Collecting calls to Squirrel API inside a virtual interface table is one simple way of making calls from a library to Squirrel in main as well as the other way around. I'm thinking that Squirrel is always in main, but when using interfaces, it doesn't really matter.

One have to do some data size checks (that different libraries and the VM agree on sizes of char, double and so on).

Then there are issues like versioning, dependencies and smart recompilation that would work similar for both script-only and mixed-mode libs.

I do have sources in these areas, but right now I'm short on time to spend on personal projects.

// ATS.
Quick Reply Show Quick Reply
Users browsing this topic
Guest (2)
New Topic Post Reply
Forum Jump  
You can post new topics in this forum.
You can reply to topics in this forum.
You can delete your posts in this forum.
You can edit your posts in this forum.
You cannot create polls in this forum.
You can vote in polls in this forum.

Clean Slate theme by Jaben Cargman (Tiny Gecko)
Powered by YAF 1.9.4 | YAF © 2003-2010, Yet Another Forum.NET
This page was generated in 0.065 seconds.