[fpc-pascal] Live pascal

Michael Van Canneyt michael at freepascal.org
Mon Feb 23 10:50:31 CET 2026


Hello,

Pascal was designed for teaching. I'm sure everyone knows this.

The chairman of the Free Pascal & Lazarus foundation (and me) take this to
heart: we would very much like to reintroduce pascal in schools.
While it is not certain that we will achieve success, we still try to
improve the teaching experience for pascal.

Some languages allow you to test the language on a website. 
No need to install anything.

We can make the same possible for Pascal.

To this end, I've been working on a project for some time now:

https://live.freepascal.org/

A live editor for pascal, allowing you to run pascal in the browser.
It uses pas2js for 'compiling' and lazarus' JCF (compiled to wasm) 
for formatting the code. You can also pick files from your local computer.

It features a JIT compiler: if you don't do anything for 3 seconds or more,
it will compile in the background and annotate the code in the gutter with
errors/warnings etc.

You can embed the editor in an existing page and control it from the enveloping page:

https://live.freepascal.org/test-embed.html

The idea is to enable a self-paced tutorial:

https://live.freepascal.org/tutorial-sample.html

But also to have specific assignments:

http://live.freepascal.org/?assignment=assignments/hello-world.json

The latter would be useful for a teacher.

The page tries to verify the results, and gives hints (all pre-configurable).

I know that some people are trying to put together a tutorial.
It is my hope that they will consider integrating this in their tutorial.

On the server, it is just a set of static files, so no heavy load.
Unzip, and you are ready to go.

I will be committing the code for this in a repo once I've cleaned up a bit.

Some embryonal ideas for improvements: 
- Step-by-step tutorial mode with manifest 
- Tutorial progress persistence 
- Submit results to teacher endpoint (will need server support)
- Multi-file tabbed editor 
- Read-only code regions for scaffolded exercises 
- Inline hover annotations / code docs  (AKA: code insight, the pascal LSP compiled to wasm should enable this)
- Welcome overlay 
- Contextual "what next?" guidance 
- Quick-insert code snippets 
- Unit catalog grouped by domain 
- Resizable split panes (draggable divider) 
- Separate console panel from DOM output 
- Resizable output iframe + presets 
- Use FPC itself to output wasm.

Other suggestions for improvements are welcome. 
Contributions as well, obviously.

The page is an initial version, so be kind in your judgment :-)

Michael.


More information about the fpc-pascal mailing list