BETA Programming Language FAQ
Frequently Asked Questions about BETA Programming Language
This FAQ about BETA Programming Language was compiled and written
by Jorgen Lindskov Knudsen with numerous contributions by others.
Q01) What is BETA?
Q02) Where did BETA come from?
Q03) What BETA products and services are available?
Q04) Are there any school or student discounts?
Q05) Is BETA available in the public domain?
Q06) What books are available for learning about BETA?
Q07) Does an introduction to BETA besides the BETA book exist?
Q08) Are any magazines or newsletters concerning BETA available?
Q09) Are there any user groups related to BETA?
Q10) Are there any mailing lists related to BETA?
Q11) Are there any newsgroups related to BETA?
Q12) Is there an archive of BETA postings?
Q13) Are there any conferences for BETA users?
Q14) Is BETA available on PC, Mac, NeXT, Amiga, Atari, ...?
Q15) Are there standards for the BETA language?
Q16) What is Mjolner, Sif, Valhalla, Bifrost, Yggdrasil, etc.?
Q17) Is it possible to obtain an evaluation version of the Mjolner System?
Q18) What is the origin of the name BETA?
Q19) How to format BETA programs in LaTeX?
Q19.1) How to use the BETA lgrind style
L01) What features do BETA have?
L02) What changes have been made to the BETA language definition?
L02.1) String Literals as References
L02.2) Simple If
L02.3) Xor Primitive
L02.4) Short-circuit Boolean Expressions
L02.4) Labelled imperatives
L03) How do I deal with concurrency in BETA?
L04) How do I deal with persistence in BETA?
L05) How do I deal with distribution in BETA?
L06) How do I deal with exception handling in BETA?
L07) Can classes be treated as first-order elements in BETA?
L08) What about garbage collection in BETA?
L09) How do I create a "parameterized class"?
L10) What is the difference between a virtual binding, a further binding and a final binding (i.e. between :<, ::<, and ::)?
L11) What about invariants in BETA?
L12) What about change propagation in BETA?
L13) What about futures in BETA?
L14) Why can variables declared in execution blocks not be accessed in INNER?
L15) How do I implement a copy (or clone) operation?
L16) Why doesn't BETA have multiple inheritance?
L17) What is the rationale behind the syntax of BETA?
L18) How do the scope rules of BETA actually work?
L19) What is a pattern?
L20) Are identifiers and keyworks case-sensitive in BETA?
L21) What characters are allowed in BETA identifiers?
L22) What is the exact semantics of leave P and restart P, when P is the name of a pattern?
L23) What is the BETA lexem syntax?
L24) What is the maximum length of a BETA identifier?
L25) What is the exact qualification rules for nested patterns?
E01) What is the Mjolner System?
E02) What does the Mjolner System contain?
E03) What libraries come with the Mjolner System?
E04) What frameworks come with the Mjolner System?
E05) What tools come with the Mjolner System?
E06) Does a beta-mode for Emacs exist?
F01) What is the purpose of the fragment system?
F02) How do I separate implementation and specification code?
F03) How do I work around "Only pattern-declarations may appear in a fragment of category 'attributes'"?
F04) Why can't I have instances in attributes-fragments?
F05) Why can't I have virtual declarations/bindings in attributes-fragments?
F06) What are the differences between the INCLUDE facilities of BETA and C?
F07) Why doesn't the compiler complain about a missing inner in a body fragment?
F08) Can <> be used instead of <>?
X01) Why does my label widget sometimes get the attribute name as label-string, and sometimes not?
X02) Why do I get the error "There must be only one non-shell widget which is son of Toplevel"?
X03) How do I get a separate window for my widget?
X04) Why do I get the error "clockWidgetClass: undefined" when linking my AwEnv program using the xt/v1.8 libraries?
X05) Why do I get the error "Error: NULL ArgVal in XtGetValues" when executing my Xt program using the xt/v1.8 libraries?
X06) How do I set font information in MotifStrings?
X07) Resource specification errors in Xt/v1.9
C01) What is the execution speed of BETA programs?
C02) How do I get rid of the warning: "A run-time qualification check will be inserted here"?
C03) What does that Qua-check warning mean, anyway?
C04) How do I work around "Repetition of non simple patterns is not implemented" (using v5.0 of the compiler)?
C05) How do I work around "Labeled imperative not implemented"?
C06) Why does a BETA program called test.bet cause problems on some UNIX installations?
C07) How do I disable qualification check warnings?
C08) What is the difference between P and &P?
C09) What does "virtual prefix not implemented" mean?
C10) What should I do if the compiler prints "Please report the error to Mjolner Informatics" and stops?
C11) What are the known errors in v5.0 of the compiler?
C11.1) Bugs in version 5.0 of the compiler
C11.1.1) Static Constants
C11.1.2) Computed remotes and virtuals
C11.1.3) "T1PROGRAM undefined" reported by the linker
C11.1.4) Reference assignment of repetitions
C11.1.5) Assignment to index variables not checked
C11.2) Bugs in version 5.1 of the compiler
C11.2.1) "T1PROGRAM undefined" still reported by the linker
C11.2.2) Other undefined entries (compiler import error)
C11.2.3) Qualification error in code generation of division expression
C11.3) Bugs in version 5.2 of the compiler
C11.3.1) Strange error messages like "attempting to translate foo..db.bet"
C11.3.2) Errors when evaluating expressions involving reals and external calls
C12) Tracing the work of compiler?
C13) Problem with floating point expressions in connection with repetitions
C14.1) New features in version 5.3 of the Compiler
C14.2) New features in version 5.2 of the Compiler
C14.3) New features in version 5.1 of the Compiler
C14.4) New features in version 5.0 of the Compiler
B01) How do you compare text strings in BETA?
B02) How do you read and write text in BETA?
B03) Why does getInt followed by getLine not necessarily work as expected?
B04) What is the rationale behind the Mjolner System file directory structures?
B05) What do the ( idx+ ), etc. comments mean?
B06) Error in v1.4/seqContainer.bet?
B07) Error in v1.4/regexp.bet?
B08) Error in v1.4/basicsystemenv.bet?
B09) Why does my guienvsystemenv program stop at startup?
M01) What are the system requirements to run BETA on Macintosh?
M02) What is MPW. Where do I get it?
M03) Do I need a floating point unit to use BETA?
M04) Does BETA work on PowerPC machines?
M05) Does BETA work on Motorola machines?
M06) Known bugs, limitations and inconveniences in release 4.0.2
M07.1) Why do I get a linker warning about errno?
M07.2) How do I open a PersistentStore in psbrowser on the macintosh?
M07.3) Why does my systemenv program not work as expected in MPW?
W01) What are the system requirements to run BETA on Windows 95 and Windows NT?
W02) SDK Requirements for Windows 95 or Windows NT
W03) Why do I need a MAKE facility?
W04) Error in directory scan using Borland SDK?
W05) Make-error for lazyref_gc.c using Borland SDK?
W06) Known bugs, limitations and inconveniences in release 4.0.2
W07) Known bugs, limitations and inconveniences in release 4.1
HP01) What are the system requirements to run BETA on HPUX workstations?
HP02) Why do some callbacks cause "Illegal Instruction" on hpux9pa (using v5.0 of the compiler)?
Lx01) What are the system requirements to run BETA on Linux machines?
Lx02) How to make the BETA compiler version 5.0/5.1 work with Linux ELF libraries
Lx03) Why does GuiEnv demos segmentation fail?
SG01) What are the system requirements to run BETA on Silicon Graphics workstations?
SG02) Gnu C Compiler gcc not supported
SG03) Remember to set LD_LIBRARY_PATH
SG04) Using BETA on IRIX 6 machines
SG05.1) Limitations
SG05.2) doGCand scanobjdoes not work
SG05.3) About ld: WARNING 56: Invalid warning number (133)
SG05.4) About ld: WARNING 85: definition of vendorShellWidgetClass...
SG06) Disclaimer (Slow startup of tools)
Sun01) What are the system requirements to run BETA on Sun workstations?