Sorry, Surfer crashed 🔥
Something caused Surfer to crash. Please report the error on gitlab
Any report is appreciated, but it is extra helpful if you can attach the waveform that caused the crash and/or the steps to reproduce the crash.
Backtrace:
Shell:
Tutorial: First Steps
Welcome to the WAL tutorial 🐳
On the leftAbove, you can find a shell with which you can interactively run WAL expressions. Above, you find Surfer, a waveform viewer that is already showing some signals from the selected example. Expression that you can run will be shown like this. Try it out now and run (+ 1 2) by clicking on the example, or typing it into the shell input. When run, the expression will be shown in the Shell window behind the shell prompt symbol (>->). Below the expression, the result will be shown (if it is not null).
You can also drag&drop your own waveforms (.vcd, .fst, .ghw) onto the page. No worries, everything runs locally on your machine.
Please keep in mind that the size of waveforms is limited due to the web platform.
If you need help at some point feel free to contact us.
WAL is not so different from other programming languages. Many things are similar:
Integers: 1, 2
Booleans: true, false
String: "Hello, waveform!"
The biggest syntactical difference to other languages is that WAL is inspired by Lisp. This means that instead of a common infix notation (e.g., 1 + 2) it uses a prefix notation (e.g., (+ 1 2)). More examples of WAL syntax: (= 1 2), (= 3 (+ 1 2)), (+ 1 2 3 4)
Of course, WAL supports many of the common programming language features. This includes arithmetic operators, logical operators, comparison operators, a print function, control flow constructs, and more. Below you can find some more WAL examples of these features.
(&& true false), (|| true false), (- 5 3), (* 2 5), (= 1 2), (<= 1 2), (print "Hello, waveform!"), (if (= 5 4) "equal" "unequal")