User:Ian Clark/LoBrow/Comments
- WARNING:
Use LOBROW as an IDE (Interactive Development Environment) at your own risk!
I do, a lot, in fact I use it to maintain LOBROW itself (the script bears evidence of that)
but I'm cautious to save IJS-dumps frequently.
JSoftware recommends you develop a J application as a collection of txtfiles (of type IJS). It's possible to use LOBROW to edit J objects in-place, saving/dumping the entire locale as a reloadable script. This resembles APL in its use of workspaces (wss). But if LOBROW crashes, you can lose your work. This is less of a risk, and easier to clean-up, if you maintain your app as a collection of IJS scripts.
- The best use of LOBROW is as a took to inspect an existing app, eg the locales _j_ and _jijs_,
making ad-hoc modifications to clarify how the code works. (e.g. to insert smoutput lines into verbs.)
- I want to make a better verb: linearized.
The idea is to produce a LF-delimited string which displays in 'panel' as if you'd typed the name of the noun into the session. It works with 2-D char arrays, but doesn't work well for boxed vars. Ian Clark
- If I did provide a button to write back an updated definition, then it could record which Tnnnn snapshot-noun this was done for,
allowing that list of Tnnnn's to be printed-out at the end-of-session as a script of changes. Ian Clark
- See also the class browser from Addons/gui/util
-- Oleg Kobchenko <<DateTime(2010-01-20T02:07:44-0500)>>
- If I'd known about Oleg's Cobrowse, I wouldn't have made the effort to write LoBrow. I now view my effort as largely of academic interest. But it's maybe instructive for someone at my stage of learning J. Also I can adapt it with confidence. Ian Clark <<DateTime(2010-01-20T11:58:00-0000)>>
- Updated version uploaded, with new buttons:
- Save -saves updated definition
- Script -outputs current locale in a new script window
- Open^, Edit^ -work on name beneath the cursor
- Info -writes Info box back as a noun: currentObj_INFO, to help document currentObj.
-- Ian Clark <<DateTime(2010-02-01T15:45:23Z)>>