I see what you mean, perhaps SWIG is not the right choice. I'm going to try to implement some J interface to SDL 2.0 using "cd" (as you said, perhaps using C for some parts) and see where it goes. I'll let you know how far I get. Thanks,Jon
> From: [email protected] > Date: Sun, 5 Jul 2015 12:22:13 -0400 > To: [email protected] > Subject: Re: [Jprogramming] Feeding multiline verb definitions into JDo > > I'm not sure that SWIG would be the right way to go, for J. > > Reading the docs, and skimming over bits of implementation suggests > that SWIG works on the assumption that the scripting language is > heavily scalar-oriented. > > Probably the right way to wrap SDL would be to start with some > important stuff (some initialization and some rendering stuff) and > build cd covers for them. If there's something that "can't be done in > J" (maybe stuff like getting addresses to SDL internals, or getting > sizes of structs), that gets implemented in C. > > Would also need to document things - people actually do read > documentation, even when it seems like they don't. > > I'm not sure I have the motivation to do this kind of thing - my main > [personal] laptop bricked itself (video driver install failure on a > windows machine - runs in safe mode but attempts to fix the driver > problem "by the book" mean it now blue screens on anything else), and > I'm going to be spending the next few weeks just scavenging stuff that > I was working on. (At the moment, nothing is lost - at least in > principle - but it is disorganized and I can't work on it directly for > maybe a few weeks.) This was not a good time for that for me as my > secondaries have been having problems also ("hard disk" failures - I > guess I should spend more time on resolving those issues...). I'm down > to only using my work laptop at the moment... > > But I can supply support for people [like you, maybe - if you want or > need that]. > > Thanks, > > -- > Raul > > > On Sun, Jul 5, 2015 at 9:16 AM, Jon Hough <[email protected]> wrote: > > Well, my plan, which I've largely succeeded in implementing is a > > demonstration application that is written in C/C++ and hooks in to J by > > libj.so. > > This may not be very interesting for hardened J veterans, but for beginners > > it may be interesting, especially for anyone wondering if J can be used for > > game development in any way, to which the answer seems to be a resounding > > yes, kind of, maybe. Also, it may be of interest to beginners who just > > wonder how to use libj / j.dll, which is not the easiest thing to figure > > out. > > > > I developed a demo puzzle game app (using the SDL library) that does pretty > > much all the logic in J. > > https://github.com/jonghough/CPP2J_Demo > > The game itself is pretty simple and uninteresting, but it's just a demo to > > see what CAN be done with J. When I was writing it I didn't realize we > > could feed in entire scripts into libj.so, so I might refactor it later to > > do that. > > As an aside, rather than doing it the way I did, it would be good if there > > was a J wrapper for SDL (see pygame for the python wrapper), but it seems > > to implement that there needs to be a J interface to SWIG, which I don't > > think exists, and building one is outside my knowledge of J and C++. > > Regards,Jon > > > >> From: [email protected] > >> Date: Sat, 4 Jul 2015 22:05:13 -0400 > >> To: [email protected] > >> Subject: Re: [Jprogramming] Feeding multiline verb definitions into JDo > >> > >> The API reference doesn't mention the ability to execute a script > >> since that is a property of the language, and not the api reference > >> itself. > >> > >> So it winds up being (after you have got the session running) a jset > >> followed by a jdo. > >> > >> A trick, though, is that you'll have to use language features (13!:) > >> to support debugging of the code within your application. So that'll > >> be something like jdo("13!:0]1"); to enable debugging, jdo("13!:1''"); > >> to get a readable stack trace, and so on... > >> > >> Good luck, > >> > >> -- > >> Raul > >> > >> On Sat, Jul 4, 2015 at 9:57 PM, Jon Hough <[email protected]> wrote: > >> > Oh, we can execute an entire script? I did not know that. If this works > >> > it could make things ... interesting. > >> > Incidentally, the API reference, which is surprisingly tricky to track > >> > down(I found a version here: > >> > http://www.jsoftware.com/pipermail/programming/2013-June/032979.html ) > >> > does not seem to mention this. I know there is a j.dll reference > >> > somewhere in the wiki, but my searches come up with nothing. (I think j6 > >> > also has some j.dll reference *.ijs scripts, perhaps I should install > >> > it). > >> > Anyway, thanks, I will give this a try. > >> > > >> >> From: [email protected] > >> >> Date: Sat, 4 Jul 2015 21:49:11 -0400 > >> >> To: [email protected] > >> >> Subject: Re: [Jprogramming] Feeding multiline verb definitions into JDo > >> >> > >> >> It has been a while since I have attempted any such thing, but you can > >> >> also define variables which contain arbitrary text (such as a script), > >> >> and you can execute them using the 0!: family of foreigns. > >> >> > >> >> JDo('0!:110 script'); > >> >> > >> >> That said, note that your biggest issue, when you get to deploying the > >> >> software you develop, will be isolating errors experienced by your > >> >> users. Assuming you wrote decent code, these will typically externally > >> >> induced. > >> >> > >> >> So you might want an option to use 0!:111 or some such? It'll be worth > >> >> going through a few induced errors (permission denied on a file > >> >> reference, for example) *after* you have things working, but before > >> >> you release the code. > >> >> > >> >> Thanks, > >> >> > >> >> -- > >> >> Raul > >> >> > >> >> > >> >> On Sat, Jul 4, 2015 at 9:42 PM, Jon Hough <[email protected]> wrote: > >> >> > It seems that when using the j.dll (libj.do) API from another > >> >> > language, JDo allows the defining of verbs. But I have only managed > >> >> > to define single line verbs so far. It seems adding LF or even '\n' > >> >> > into the command string parameter of JDo does not work (in the sense > >> >> > that it will return an error when using JGetM). > >> >> > Does anyone know if it is possible to do multiline definitions, and > >> >> > if so how? > >> >> > Thanks,Jon > >> >> > ---------------------------------------------------------------------- > >> >> > For information about J forums see http://www.jsoftware.com/forums.htm > >> >> ---------------------------------------------------------------------- > >> >> For information about J forums see http://www.jsoftware.com/forums.htm > >> > > >> > ---------------------------------------------------------------------- > >> > For information about J forums see http://www.jsoftware.com/forums.htm > >> ---------------------------------------------------------------------- > >> For information about J forums see http://www.jsoftware.com/forums.htm > > > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
