Skip to content

PROC FCMP.sas runs unmodified on Jenner — test bundle - #1

Open
jenner-analytics wants to merge 1 commit into
Abhishek123-abhi:mainfrom
jenner-analytics:jenner-check/initial-bundles
Open

PROC FCMP.sas runs unmodified on Jenner — test bundle#1
jenner-analytics wants to merge 1 commit into
Abhishek123-abhi:mainfrom
jenner-analytics:jenner-check/initial-bundles

Conversation

@jenner-analytics

Copy link
Copy Markdown

Jenneranalytics.com provides an API that runs SAS code, with support for more than 200 SAS procedures. You can also use it with AI assistants in a collaborative workspace. It's available for Mac on the Apple App Store, and by license for Windows and Linux.

We support the larger community by
(1) increasing access to SAS-compatible systems,
(2) by providing test coverage and a test coverage framework to public SAS repos in order to encourage the use of best practices in software engineering.

Your PROC FCMP.sas runs on Jenner unmodified — this PR adds a small compatibility bundle so you can see for yourself. It's the test we wrote for your project, shared in case it's useful, and was assembled with AI assistance as is most code in modern businesses today.

What stood out reading through the file is how the twelve examples build on each other rather than just listing features — the nested cube(x) calling square(x) in Example 5 is a clean way to show FCMP composition, and closing on the egfr() clinical function turns an abstract topic into something a statistical programmer actually reaches for. The circle subroutine with outargs is also a nice touch, since OUTARGS is exactly the part of FCMP that trips people up. It reads like the README promises: foundations first, then a real use case.

The jenner-check/ folder is self-contained and optional. Nothing outside it is touched, nothing runs on merge, and there are no workflow files or hooks. Each bundle is a byte-identical copy of one of your examples, the captured log and listing from running it, and a small bash+curl runner:

jenner-check/
├── run_jenner.sh
├── README.md
├── t001_fcmp_nested_square_cube/   # Example 5: cube() calls square()
├── t002_fcmp_char_fullname/        # Example 3: fullname() $50 via catx
├── t003_fcmp_subroutine_circle/    # Example 8: subroutine + outargs
├── t004_fcmp_in_proc_sql/          # Example 9: square() inside PROC SQL
└── t005_fcmp_clinical_egfr/        # Example 12: egfr() over datalines

To try one directly against the hosted API, check out this PR and run from the repo root:

# gh pr checkout 1  (puts you on this branch); then from the repo root:
curl -sS --data-binary @jenner-check/t001_fcmp_nested_square_cube/script.sas https://api.jenneranalytics.com/v1/quick

Or run cd jenner-check && ./run_jenner.sh --all to re-run every bundle and verify the pinned fields in each expected.json. The API is free to try, no signup — full API reference: the docs.

On what leaves your machine: the runner uploads only the SAS source text of the script it runs (plus a two-line autoexec that caps rows) to api.jenneranalytics.com, which runs it and returns the log and listing. It does not read or upload any data files, so anything sitting next to a script stays local, and nothing is sent unless you run one of these commands yourself — the same as pasting a snippet into any hosted tool. Since it's the script's own text that's sent, you can review it first.

Merge it, close it, or ignore it — all fine, and no response is expected. We won't open further PRs on this repo. If you'd prefer none at all, just reply with no-more-prs in any comment or open an issue titled jenner-check: opt out.


Lawrence W. Sinclair
CEO / Jenner Analytics Ltd
linkedin.com/in/lwsinclair/

Bundles derived from PROC FCMP.sas examples (nested functions, character
function, subroutine with OUTARGS, FCMP-in-PROC-SQL, clinical eGFR). Each
ships the script, a captured passing log/listing snapshot, and a small
bash+curl runner that re-runs it against the hosted API and verifies the
pinned fields.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant