14

Most dialects of BASIC allow multiple statements on a line, typically separated by colons. However, I've come across two programs that use '\' as the separator instead.

One is Chase, and the version in question is for the Honeywell 600 (although the print quality is poor, is that 6000? A 6/06?). As I understand it, the 6000 was the GE 625/635, which would imply this is either Dartmouth or GE's dialect of BASIC.

The other is Depth Charge, from the very first Creative Computing. This does not list the machine. As this appears to have been written by a high school student, it would seem likely it was on one of the public access dialups to Dartmouth or the MIT timeshare. Again, this would suggest it's either Dartmouth or a close relative.

I looked through the Dartmouth V.4 manual, which is more of a tutorial than a manual, and there's not a single instance of this. I can't say if that's because it didn't support it, they didn't want people using it so they didn't show it, or simply because the manual is mostly a copy of earlier versions which might not have had it.

Does anyone know specifically what dialect this is?

1 Answer 1

12

TL;DR:

  • Chase was written in Multics BASIC
  • Depth Charge would be DEC BASIC-PLUS

Details

Chase

The description of Chase on the page before is more readable and states Honeywell 600/6000. 6000 is, as you guess the follow up to / new name of, the GE 600 series chosen by Honeywell when they acquired GE's mainframe business. It has in turn be replaced by the Level 66, and several other markings until today. OS for that / some of those machine(s) could be G(E)COS/TSS MARK I/II or Multics. Well or the Dartmouth Time Sharing System.

DTSS is the original 'home' of Dartmouth BASIC, which to my knowledge never supported multiple statements on a single line, at least not with a backslash separator.

The G(E)COS TSS is a close sibling to DTSS and it's BASIC followed very close what Dartmouth BASIC was. But neither its 1968 extensions that laid the foundation for Dartmouth's 4th edition nor the 1970 version mention any multi statement functionality or the use of backslash as separator.

Which leaves Multics - and here the 1981 Honeywell Level 68 Mulics BASIC Manual(*1) does in fact show the use of the backslash as statement separator as explained in the first paragraph of section 1 on page 1-1:

enter image description here

_(From the Level 68 Mulics BASIC Manual at Bitsavers (*2))

The FAST Subsystem Manual hints that this was already the case in 1979, so Multics BASIC did acquire the backslash as separator character some when between 1970 and 1979.

Depth Charge

The other example, Depth Charge, is harder to decode, as there is no further information. My best guess here would be DEC BASIC-PLUS due the subtile semantic of spaces before and after the backslash - and as well as due the 'NH' printed in the protocol afer every command entered.

All is well shown in the RSTS/E BASIC PLUS Language Manual of 1975:

enter image description here

Using backslash as separator is not only possible within lines, but also to start follow up lines, which makes BASIC look much more like Fortran:

enter image description here

The example also shows the addition of 'NH' (marked) to any command entered, much like in the "Depth Charge" listing.

All of this was an early attempt making BASIC more readable (*3). Later VAX BASIC did keep supporting backslash for statement separation, but as well added multi line support without.

Interestingly the BASIC PLUS manual states that it accepts colon (:) as well for 'compatibility with older versions':

enter image description here

While the PDP-8's BASIC-8 did not have multi statement lines, the 1972 BASIC PLUS for RSTS-11 did in fact use a colon as only statement separator. This opens the question why DEC did go at some point between 1972 and 1975 for backslash instead of the already established colon? (*4)


Hard to tell who was first and it what sequence. I would put my bet on Multics first and DEC extending that idea to allow more readable code.


*1 - Honeywell(/Bull) was even greater in renaming as it now was various 'level' and later DPS-4/6/8.

*2 - No, I did not cut off the missing closing parentheses it's a genuine typo in the manual.

*3 - BASIC PLUS is even more comfortable - or weird, depending on your PoV - as it allows insertion of Line Feed (LF) in remarks as well as general line continuation using an ampersand (&). The later even allows to continue after a remark with regular code in the same logical line:

enter image description here

*4 - As so often Wikipedia is of less help as it states that BASIC PLUS introduced the colon for multiple statement per line, but doesn't mention the switch for backslash.

12
  • Ahh, and the RUNNH appears to be a giveaway in this case! Well spotted. Nov 10 at 19:25
  • @MauryMarkowitz the spaces as well. remember that some BASIC add spaces around (some) keywords. they were what put me on the lead here. The NH was just the final proof.
    – Raffzahn
    Nov 10 at 19:30
  • I'd bet on DEC before Multics. The linked manual for Multics BASIC has a date of 1981 and claims to be the first revision, whereas this RSTS/E V6 BASIC-PLUS manual from 1975 shows the backslash form (section 2-3). Nov 11 at 0:46
  • @another-dave Well, not so sure. DEC wasn't really fond of BASIC for quite some time, sales were rather forced on them by customers throwing money. So no real need to be innovative. But let's see if other sources come up.
    – Raffzahn
    Nov 11 at 0:48
  • 1
    @another-dave - I'm not sure we can read too much into that manual, it's the first revision of "Level 68 BASIC", but I can't imagine it's much different than the earlier versions on the pre-68 platforms. I think we'd have to find a manual for the 6080 to know for sure, but this game pre-dates the Level 68, and it's definitely Honeywell, so it happened some time before then. Nov 11 at 18:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.