ProcASM is a general purpose, visual programming language that emphasizes the State Machine design pattern for creating software.
In ProcASM, State Machines are instances of Procedures and make up the entire foundation of this language. There are no Data Structures, Enumerations, Functions, etc.
Procedures are a series of Sub-Procedures connected through Signals.
Sub-Procedures are a series of tasks that create, modify, or delete data.
State Machines execute until they reach a yield task. Then, they store the requested variables and will resume at the point it previously stopped.
Instead of memorizing syntax and writing code, developers use a set of predefined tasks to implement algorithms. See documentation for more details.
Integrated Development Environment (IDE)
An feature-full IDE that execute fully in a web browser.
Debugger
Developers can execute Procedures and debug them using multiple features like:
- Pausing and Resuming Execution
- Viewing State Machines and their values
- Updating State Machines’ Values during Execution
- Pausing execution at a point in the code (e.g. Breakpoints)
- Pausing execution when a value is created/deleted/updated
Exporter
Export Procedures to alternate formats:
Compare Diff
Projects are all stored in a project file. Developers can use ProcASM to compare two different project files and display the differences between the two of them. This is a useful feature for software projects that utilize version control.
C/C++ Transpiler
- Fast and Memory Efficient with NO garbage collector NOR reference counting
- Small runtime that involves using a Work Queue to handle concurrent state machine execution
Read this blog to get more justifications on why one should consider ProcASM for software development.
Currently, the full version ProcASM is not available. There are plans to make the full version available for use in the future.
| Plan | Project Storage | Project Size | Interpreter Execution Time | C/C++ Transpiler Access | Docker Image/Binary Executable Access |
|---|---|---|---|---|---|
| Free | 24 hours | 1 MB | 60 seconds | No | No |
| Subscription | Unlimited | 1 GB | 1 hour | Yes | No |
| License | Unlimited | Unlimited | Unlimited | Yes | Yes |
