Hi Mike

Nice example of recursion.  However, you might want to try testing your solution with some non-sanitized input.   For example:

set maliciousInput="""_$xecute(""h"")_"""
set in(maliciousInput)=""
set in(maliciousInput,1)=""
set out=..Flatten(in)

Do you have a multi-rooted Workspace?  Currently gj :: locate only works on the first top-level folder in a workspace (multi-folder capability coming soon).

What is the first top-level folder in your workspace?  Is it a folder on your local file system or a remote connection to an IRIS server using  isfs or isfs-readonly?

If it's a local folder, have you exported all of your source files?


Another alternative is Serenji for VSCode which works very nicely on Linux desktops as well as Windows and MAC.

It works like Studio and doesn't require exporting all your sources like Atelier and other solutions.  It will also work with very old versions of Cache such as you have.


You could try using the Serenji extension for VSCode.  This avoids the problem of syncing altogether.

Serenji allows you to browse, edit and debug your code directly in the database where it is stored and executed.  So you don't have any problems with the sources being out of sync because it just can't happen.



If you have VSCode then  select the Extensions viewlet and type Serenji in the Marketplace search field.  Then click on the first result returned (Serenji 3.0.2).   In the right hand panel you will see Details about the extension including a section about Installation.

If you don't have VSCode installed yet, you can view the same information by following this link:  https://marketplace.visualstudio.com/items?itemName=georgejames.vscode-s...

In either case there is a link from the Installation section to an additional page on the georgejames.com website that gives more details about how to get started with Serenji.  The direct link to this is: https://georgejames.com/files-cgi/doc/serenji/3.0.2/GettingStarted.html

Ask here if you have any more questions.



Indeed, one of our goals is to make it easy for Cache Studio users to adopt to vscode.  It will be very familiar to them.  While vscode is very lightweight it has many of the capabilities of the Eclipse platform without the complexity.

For those who don't know, Visual Studio Code is not the same as Visual Studio.  Although it is from Microsoft, It is free and open source and is gaining a lot of traction among developers everywhere.  Neither is it like Eclipse.  It's a nice tool that does its job very well.


There was a short demo of what we have added to Visual Studio Code in one of the flash talks at the Global Summit.

The recording quality is not that good but this link takes you to the start of John Murray's talk where you can see a class being loaded into VS Code and then stepping through one of its methods with the debugger: https://youtu.be/1146vFuHoI8?t=1263