https://github.com/abrudz/jupyter
Run Jupyter Notebook document inside Dyalog APL session, optionally interactively
https://github.com/abrudz/jupyter
apl dyalog dyalog-apl ide interactive jupyter jupyter-notebook repl
Last synced: 6 months ago
JSON representation
Run Jupyter Notebook document inside Dyalog APL session, optionally interactively
- Host: GitHub
- URL: https://github.com/abrudz/jupyter
- Owner: abrudz
- License: mit
- Created: 2023-09-20T15:40:16.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-09-20T15:40:20.000Z (about 2 years ago)
- Last Synced: 2025-02-10T15:30:40.499Z (8 months ago)
- Topics: apl, dyalog, dyalog-apl, ide, interactive, jupyter, jupyter-notebook, repl
- Homepage:
- Size: 3.91 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Dyalog In-Session Jupyter
*Run Jupyter Notebook document inside Dyalog APL session, optionally interactively.*
Requires Dyalog APL version 18.2.
## Initialisation
### From inside APL
```apl
2⎕FIX'file://path/to/Run.aplf'
Run⊂'path/to/your.ipynb'
```Optionally, a left argument can be given. If `¯1` then the whole document will be run non-interactively. If using the Windows IDE, a positive number can be given which will delay that many seconds before each keypress, and optionally, a second number can be given which is a standard deviation to randomise the delay.
### From outside APL
```shell
dyalog LOAD="path/to/Run.aplf"
```The system will use the first-found .ipynb file adjacent to Run.aplf unless the environment variable `DYALOG_JUPYTER_RUN` has been set to a Jupyter Notebook document filename.
On Windows, you can also right-click on Run.aplf or its containing folder and select "Run with Dyalog".
## Usage
* Press Enter to proceed to the next step.
* Enter `→` cease rendering immediately.
* Enter any number of `←`s to go back that many steps.
* Enter `∘` to stop and suspend the execution of `Run` (for debugging purposes)
## Limitations
Markdown rendering is obviously very simplified, since there's no rich text capability in the APL session. Markdown blocks are indicated by an outline. Headings (`#`s) are rendered like plain text, but slightly indented, and code blocks are prefixed with a language marker.
Many system functions are not supported, and some have limited functionality or return simplified messages. The following system functions *are* at least partially supported:
* `)CLEAR`
* `)CMD`
* `)COPY`
* `)ED`
* `)FNS`
* `)LOAD`
* `)NS`
* `)OBJECTS`
* `)OBS`
* `)OFF`
* `)SH`
* `)TID`
* `)VARS`
* `)WSID`
* `)XLOAD`