-
foreach loop
LARD now has a foreach loop to itterate over each element of an array.
Here's an example:
A:var(int^10).
v:var(int).
A:=[0,1,2,3,4,5,6,7,8,9];
foreach v in A do (
print(v)
)
-
Profiling and Coverage
The profiling and coverage testing facilities, which
stopped working a few versions ago, now work again.
-
Improved support for messages
The msg command and the associated msg
module provide a convenient way for your program to output
diagnostic and other messages.
-
Keyboard Shortcuts
Many menu commands can now be activated with keyboard shortcuts. This
has been implemented using the standard tk mechanism. Underlined
characters in menu buttons and menu entries indicate which key should
be pressed along with ALT to activate it. Note that ALT really means
ALT, not META.
-
Trace names can be right justified
You can now arange for trace names in the time view display to be
right aligned. You can change this and the width of the trace names
area by setting X resources:
*tview.tracenames.width: 100
*tview.tracenames.align: right
-
Improved support for Solaris
Since our aquisition of a Solaris machine I have made some
improvements to compilation under Solaris. However the simplest
solution for local users seems to be to run the SunOS binaries in
compatibility mode. I would suggest putting something like this in
your .profile:
BINFMT=`$LARDHOME/config/binfmt`
case $BINFMT in
Solarissparc) BINFMT=SunOSsparc ;;
*) ;;
esac
-
Tcl version 8
li now uses tcl/tk version 8. This version automagically compiles
the tcl code into an internal bytecode, which significantly increases
speed.
-
The channels library now has a select function with similar semantics
to the unix system call of the same name. The idea is to replace
complex wait_until chan_ready constructs with a single select
call. Here is an example of an arbitrating multiplexor:
forever(
case (select(c1,c2))
when 1 => c1?(c3!(?c1))
when 2 => c2?(c3!(?c2))
)
-
tcl commands can return results
There are now four functions that pass commands to the tcl interpreter:
- tcl_cmd
- Execute a command.
- tcl_cmd_noerr
- Execute a command, and ignore any error that occurs.
- tcl_cmd_int
- Execute a command, and return the integer result.
- tcl_cmd_str
- Execute a command, and return the string result.
-
Time view scale menu can be changed
The scale factors in the time view window can now be changed by
setting the variable tview_scalefactors. You can set this
from the command line or in your .lirc file. An example is
set tview_scalefactors {100 10 1 0.1 0.01}
-
Assorted bug fixes