Honestly, this is not at all hard. But J does not build on cygwin, and I've never puzzled out how to build it under visual studio, and it's going to be a few weeks yet before I take the time to get access to another build environment. I have been tempted to rip out the entire SYS= design, and build something that provides individual platform-specific features as simple macros, but I've not had the time nor energy to do that. In part, since I can't build a working system as it is right now, I do not currently have the ability to tell if a change breaks a test. Anyways... next year...
Anyways, as an example of how this could be done: If you modified J so that it has something like " J starts here: " followed by a statically defined null pointer, you can have the startup check if that pointer is null. If it is not null, it can be interpreted as a length followed by a pointer to a string which would be an argument to 3!:2, which can be set to the value of a variable (perhaps DATA), and if the first element of that DATA is a string it can be evaluated using 0!:0. That's a data structure and two statements protected by two if conditions. And once you have that, you can copy jconsole, append an appropriate result from 3!:1 and update the pointer and length embedded in that jconsole and you have an arbitrarily complex executable which executes whatever j script you want, along with whatever packaged data you want. Anyways, it's really not all that hard. Other than building J in the first place, I mean... -- Raul On Mon, Dec 24, 2012 at 10:36 AM, Dan Bron <[email protected]> wrote: > I agree with your analysis (though rather than "vestigial", I'd say J's > ability to build a standalone app is "mythical": it makes a great story, but > it never really existed). > > With that said, if the article really seeks to determine "can you build a > desktop application to distribute your work?", I'd suggest that that > question, and our answer, are increasingly irrelevant. So we really don't > have to worry about it too much. > > The age of Software as a Service is here. Dumb clients, smart servers. J will > provide the smart part. Web app (or mobile app) frameworks, which are > plentiful, will provide the dumb part (or, phrased more positively: the > pretty face in front of the great brains). > > -Dan > > > On Dec 23, 2012, at 10:14 PM, Ian Clark <[email protected]> wrote: > >> My question was rhetorical. At least I hoped it was, and I wasn't >> overlooking something. In fact I'm sorry I asked it -- at least in >> this forum and not in Chat as I was going to. >> >> Speaking for myself I'd have no problem building a standalone app for >> either Mac or Windows that used J "under the covers". Even if I >> couldn't, I'm not sure it would bother me that much -- there are >> plenty of ways round. But Wikipedia is a shop-window, often a one-stop >> shop, when it comes to IT professionals or educated laypersons trying >> to find out more about a language or software product they've heard >> about. I'm simply concerned to get the story right. >> >> As I see it, the box in the table under consideration tries to answer >> the question: what sort of support does J give for building a >> recognisably professional application for sale or distribution? AFAICS >> the correct answer in the light of posts on this thread is: vestigial. >> Dose anyone disagree? >> >> There is little scope provided to answer further questions like "So >> What?" or "Does it matter to you?" or "How do we fix it?". Though >> there *is* scope for a brief comment or a pertinent link. >> >> On Sun, Dec 23, 2012 at 10:07 PM, Björn Helgason <[email protected]> wrote: >>> It should be easy enough to let some compiler create a .exe file which >>> could call j.exe and some script(s) like you do in a .bat file and the like >>> depending on the environment. >>> >>> In linus this is less of an issue. >>> >>> I agree with you that it would be good to have a button to press that could >>> create a .bat and possibly .exe with the text t.exe script >>> >>> I am not sure if it is less of an issue now or not. >>> >>> 2012/12/23 Ian Clark <[email protected]> >>> >>>> Terminological confusion...? >>>> >>>> By "standalone executable" it would seem the article means .exe or >>>> .com in Windows, .app in MacOS. Not an all-in-one .ijs file that needs >>>> j.exe (say) to run it. >>>> >>>> In the column titled: "standalone executables creation support", the >>>> word "executables" is a link to the article: >>>> http://en.wikipedia.org/wiki/Executable >>>> which makes it clear what is meant. >>>> >>>> Is there a button you can click and a standalone .app (or .exe) gets >>>> generated -- as is the case with VB, say? I've not come across one in >>>> JGTK. >>>> >>>> On Sun, Dec 23, 2012 at 2:3 > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
