Talk:FOCAL (programming language)

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Gosh, that takes me back! I first used FOCAL on a PDP8-L in 1969 mumble mumble ... Anyway, the TYPE command always preceded numeric output with = on that implementation. Richard Pinch 06:57, 26 August 2006 (UTC)[reply]

It's probably worth mentioning FOCAL's slightly odd subroutine mechanism. DO xx.yy executed line xx.yy and DO xx executed all lines in block xx. The return was simply to finish the line or block, and there was no parameter passing mechanism. Richard Pinch 06:57, 26 August 2006 (UTC)[reply]

FOCAL comes from JOSS, both of which bear resemblance to the POSIX/UNIX BC language. C-BC, which you can find on GitHub, is a large superset of BC language made like C, that also supersets most of GNU BC, and happens to also be a near-superset of FOCAL - enough so, for instance, to be able to almost verbatim port the FOCAL implementation of the Lunar Lander TTY-based game, which is included in the C-BC repository. An implementation of FOCAL, itself, may go up alongside it, soon. — Preceding unsigned comment added by 65.29.226.169 (talk) 09:09, 13 December 2022 (UTC)[reply]

Acronym?[edit]

The article has FOCAL as a short name for FOrmula CALculator, but the book archived at http://www.bitsavers.org/pdf/dec/pdp8/handbooks/programmingLanguages_May70.pdf as well as an archive copy of DEC-08-AJAB-D PDP-8-I FOCAL Programming has it listed as

   Formulating On-Line Calculations in Algebraic Language

BTiffin (talk) 17:41, 3 May 2015 (UTC)[reply]

Dynamically typed ?[edit]

IINM, It's not statically nor dynamically typed. Focal has no data types at all (more precisely, has only one type - real). 89.208.93.254 18:16, 6 March 2007 (UTC)[reply]

Lexicographical Website[edit]

Please do not remove the link to the focal.ie article. It is not "extraneous", as both articles have very similar names. Stephen Shaw 21:25, 27 September 2007 (UTC)[reply]

Pruning dead link[edit]

I removed the following link. Google turns up no such implementation anywhere, much less at code.google.com. --Vrmlguy (talk) 10:18, 13 September 2008 (UTC)[reply]

Conversion of error address to floating point number[edit]

the division by zero error was detected by code at address 4333 so the error message was: ?28.73 @ 01.10

So how does ?28.73 @ 01.10 represent the address 4333? That's not obvious to me, and I think would benefit from a brief explanation. Royhills (talk) 18:51, 11 November 2009 (UTC)[reply]

Yes, that's puzzling me too. I'll try to find out more, and will rewrite/amplify if I can. --Kay Dekker (talk) 20:15, 21 September 2010 (UTC)[reply]
It's bizarre, or my brain is fried without my noticing it. I can't make the maths add up straight. if you look at the UW-FOCAL manual (http://www.cs.uiowa.edu/~jones/pdp8/focal/UWFocal.pdf), the User Functions section says:
The ERROR2 instruction above calls FOCAL's error routine which stops the program and prints out an error code equal to the page number and relative location on the page where the error occurred. For example, if ERROR2 is located at location 3246(oct) the error code would be 13.38.
Memory pages on the PDP-8 were 128 words. 13*128+38 = 1702 decimal, 3246 octal. All sensible so far. However, the example on this page won't work out that way. Worse still, the UW-FOCAL manual has Appendix II, tabulating all its error codes, where you can see lines such as 19.:4 LOGARITHM OF ZERO REQUESTED. From that it looks as though the offset field actually contains two SIXBIT characters, not decimal digits. My head is melting. Can anyone smart see what's going on there? --Kay Dekker (talk) 01:25, 22 September 2010 (UTC)[reply]

"nary a pause" - Great line![edit]

Well, there are some old hackers here! I remember those 4 Teletypes (ASR-33s) clacking away, and watching the front panel of the PDP-8/L blinkenlights was a sign of how heavily loaded the CPU was. Having the extra 4K of memory was a big deal back then. The OS was called the Quad operating system, IIRC. Of course, 4 Teletypes would load the CPU with just 40 interrupts per second when printing. I appreciate the humor within the phrase, and hope we can keep that language in the article. Kd4ttc (talk) 22:31, 17 April 2016 (UTC)[reply]

I share your appreciation, but sadly the fun police killed it. —ReadOnlyAccount (talk) 15:23, 15 April 2024 (UTC)[reply]

Anecdote from MS Focal[edit]

I am not sure if something like [1] is worth being mentioned? 2003:DB:7F29:9500:1260:4BFF:FE75:564D (talk) 16:59, 4 August 2020 (UTC)[reply]

No. It's a trivial anecdote and there's no WP:RS.
In any case, as far as I can tell, there never was such a thing as Microsoft FOCAL. If there are any reliable sources showing that there was, that might be worth mentioning in the article. --Macrakis (talk) 17:25, 4 August 2020 (UTC)[reply]

Testing strings[edit]

I added a paragraph about coercing strings to numeric by prepending a zero, and testing string entries. It might also be useful to add something about exactly what 'E' means when numerically evaluating a string; as I recall it actually meant "times ten to the power of" so pretty much any string with more than one 'E' would overflow. 108.237.205.1 (talk) 21:14, 27 March 2023 (UTC)[reply]

FOCARL[edit]

It appears that Carleton College used to have its own FOCAL dialect called FOCARL [sic]. I have however not been able to find better quality sources for article inclusion. —ReadOnlyAccount (talk) 15:17, 15 April 2024 (UTC)[reply]