The Mj°lner System at DAIMI

This page describes various aspects of the Mj°lner System installation at the Computer Science Department, Aarhus University (DAIMI). It is intended to be used by students and employees at DAIMI only.

Contents

Location of the Mj°lner System at DAIMI

There are two installations of the Mj°lner System at DAIMI:

  1. The installation to be used by courses, students etc. The Mj°lner System for courses and students is located in
    /usr/local/lib/beta
    Users of the new daimi-setup system can get the correct setup for the system simply by executing:
    daimi-setup --addon=/usr/local/lib/beta/daimi-setup/beta
    If you have already done so, the addon is still valid.

    The rest of you will have to do something similar to the following:

    setenv BETALIB /usr/local/lib/beta
    set path = ( $path ${BETALIB}/bin )
    switch("$OP_TYPE")
      case "IRIX*":
        if ($?LD_LIBRARY_PATH) then
          setenv LD_LIBRARY_PATH $BETALIB/lib/sgi:$LD_LIBRARY_PATH
        else
          setenv LD_LIBRARY_PATH $BETALIB/lib/sgi
        endif
        breaksw
      default:
        breaksw
    endsw
    You should not refer to ~beta in shell-commands (see following item). The use of ~beta is, however, allowed in fragment denotations (ORIGIN, INCLUDE, etc.), since the fragment system will expand ~beta in fragment denotations to the value defined by BETALIB.

  2. The Development Version of BETA The directory ~beta refers to the development version of the System (used by e.g. DEVISE). This directory has limited access: You have to be a member of the UNIX net-group beta to gain access to most of the directories in ~beta. If you think you need access to some of these directories, please contact beta@cs.au.dk.

Online Informations

Various online informations for the Mj°lner System are available.

How to get a copy of the system

Release 5.2.2 can be downloaded for free from https://beta.cs.au.dk/Daimi/download.

A CD for Linux, Windows 95/98/NT/2000, Power Macintosh, Silicon Graphics and Sun Sparc is available for the system for students. If you want to borrow a copy of this CD, you should contact preben@cs.au.dk or clemen@cs.au.dk.

Machines at DAIMI with BETA installed

BETA is installed at almost all UNIX machines at DAIMI, and also a few PC's.

Some machines are intended for specific courses, please look at DAIMI Studies in Computer Science for details.

Using BETA on SGI

There is a couple of special things to note about using BETA on the SGIs. Please look at Using BETA on SGI. Specifically notice that the compiler may sometimes generate shared libraries located in the sgi sub-directory (it will tell you if it does). In this case you need to set
setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH:${BETALIB}/lib/sgi/:./sgi
before you will be able to run the program (SG03).

Programming BETA in Emacs

If you use Emacs for editing BETA programs, you may benefit from a couple of emacs libraries created for BETA: There are a few more, but these are less often used.

Peter von der Ahe <pahe@cs.au.dk> has made an alternative beta-mode, which is faster than the default one. It can be activated by

daimi-setup -a /users/pahe/Public/daimi-setup/pahe-beta

Activating BETA mode

To activate BETA mode when editing a file with extension .bet add the following to your .emacs file:
(setq betalib (getenv "BETALIB"))
(if (not betalib) (setq betalib "/usr/local/lib/beta"))
;; or if you are on a PC: 
;; (if (not betalib) (setq betalib "c:\\beta"))

(setq load-path (append load-path 
			(list (format "%s/emacs" betalib))))

(autoload 'beta-mode "beta-mode")
(setq auto-mode-alist (append (list (cons "\\.bet$" 'beta-mode))
                               auto-mode-alist))

Adding the BETA menu

The BETA menu in Emacs 19 or later can be added using the beta-mode-hook:
(defun mybeta ()
   "Adds BETA menu"  
   (interactive)
   (load "beta-menu19" t t)
   )

(setq beta-mode-hook 'mybeta)

Other useful thing to hook in

You may do more things using the beta-mode-hook. Here is a larger example:
(defun mybeta ()
   "Make the following local bindings in beta-mode:
C-xC-rj   calls beta-comment-justify
C-xC-rC-r calls beta-comment-justify-region
C-xC-rC-c calls beta-convert-region-to-comment
C-xC-ru   calls beta-remove-comment
C-xC-ri   calls indent-buffer.

Also adds BETA menu and beta-hilit19.
"  
   (interactive)
   (local-set-key "\C-x\C-rj"    'beta-comment-justify)
   (local-set-key "\C-x\C-r\C-r" 'beta-comment-justify-region)
   (local-set-key "\C-x\C-r\C-c" 'beta-convert-region-to-comment)
   (local-set-key "\C-x\C-ru"    'beta-remove-comment)
   (local-set-key "\C-x\C-ri"    'indent-buffer)
   (load "beta-menu19" t t)
   (load "beta-hilit19" t t)
   )

(setq beta-mode-hook 'mybeta)

How to get help

If you have problems with the Mj°lner System, start by asking the person sitting next to you for help, or try to reach your instructor, possibly by e-mail.

If this does not help, try to look at the BETA Language FAQ.

You can also consult the course home pages, e.g.,

If you still need help, try posting the question to one or more of the following news groups, which is regularly read by teachers, and instructors. Alternatively, if your question relates to BETA in general (and not, e.g. to details about the DAIMI installation), you can use the world-wide newsgroup

If you have the answer to another persons problem in these groups, please try to answer it in the news groups, and not by direct mail to the person - others may benefit from your answer.

Related web pages

You can find more info about BETA at

Reporting errors

If you encounter an error, that is not already described in the BETA Language FAQ. you should report it to your instructor. If you think that it is a general error in the Mj°lner System, you can report the error to Please try to include source files, dumps etc. in your error report.

For errors and comments on online manuals it is possible to report comments, suggestions, typos, errors, etc. through:

Commentary

In order to make this page as useful as possible, please send any questions, comments and suggestions to beta@cs.au.dk.