q2K BHP
Black History Portal
THE BHP WIRE —
HIDDEN TRUTHS
What's New!
THE JOURNEY THROUGH TIME

Explore Black History

Explore the people, places, events, achievements, struggles and stories that shaped our journey.

✊🏾

Civil Rights

Movements, leaders, victories and the continuing fight for equality.

⚙️

Black Inventors

Innovation, patents, science, technology and world-changing contributions.

🏆

Sports

Pioneers, champions, Negro Leagues, records, activism and excellence.

♟️

People

Meet the people whose lives, choices and achievements shaped the journey.

📍

Places

Black towns, communities, institutions and places where history happened.

📜

Events

Moments that changed communities, movements, institutions and the nation.

Enter a person, place, event, or topic.
MY'STORY

The MOVE Fire

This is a personal recollection on the Move fire on May 13, 1985 Philadelphia police fired thousands of rounds at the MOVE house, city officials approved dropping an explosive device on the roof, the resulting fire was allowed to burn, 11 people—including five children—died, and 61 homes were destroyed. Philadelphia City Council later called it a “brutal attack carried out by the City of Philadelphia on its own citizens” and acknowledged that no individual faced criminal consequences for the bombing. One timeline correction worth preserving for the BHP record: the major previous MOVE-police confrontation was August 8, 1978, about seven years before the bombing, not a year or two earlier. Officer James Ramp was killed, other police and firefighters were wounded, nine MOVE members were later convicted, and television cameras recorded police beating Delbert Africa during his arrest. The 1985 MOVE Commission later specifically criticized city planners for failing to adequately use lessons from that 1978 confrontation. And that actually strengthens the point you’re making: 1985 did not happen without precedent or institutional memory. There had already been a deadly confrontation with MOVE, years of conflict, negotiations and police involvement before Osage Avenue.

MORE →
BLACK FACTS
The Truths They Never Taught You...

Shirley Chisholm — Unbought and Unbossed

In 1968 Shirley Chisholm became the first Black woman elected to the United States Congress. In 1972 she launched a campaign for the Democratic presidential nomination, breaking another political barrier.

MORE →
BHP gathered finds from its connected research sources. Showing the 4 strongest Black History matches.
← BACK TO RESULTS
Wikipedia

TRAC (programming language)

TRAC
Paradigmgeneral-purpose macro processor
Designed byCalvin Mooers
First appeared1964; 62 years ago (1964)
Stable release
T2001[1] / November 17, 2001; 24 years ago (2001-11-17)[2]
PlatformPDP-8, PDP-10, PDP-11
Influenced by
Macro SAP[3]
Influenced
SAM76, ML/I[3]

TRAC (for Text Reckoning And Compiling) Language is a programming language developed between 1959 and 1964 by Calvin Mooers and first implemented on the PDP-1 in 1964 by L. Peter Deutsch.[4] It was one of three "first languages" recommended by Ted Nelson in Computer Lib. TRAC T64 was used until at least 1984, when Mooers updated it to TRAC T84.[4]

Language description

[edit]

TRAC is a purely text-based language — a kind of macro language. Unlike traditional ad hoc macro languages of the time, such as those found in assemblers, TRAC is well planned, consistent, and in many senses complete.[fact or opinion?] It has explicit input and output operators, unlike the typical implicit input/output (I/O) at the outermost macro level, which makes it simultaneously simpler and more versatile[vague] than older macro languages.

TRAC is a text-processing language,[5] also called a string processing language.[6] Because of this the only data type available is a string of characters. Numbers are strings of digits, with integer arithmetic (without specific limits on maximum values) being provided through built-in ("primitive") functions which operate on their string representation. Arguably, one aspect of its completeness is that the concept of an error is limited to events like lack of file space and requesting expansion of a string longer than the interpreter's working storage; what would in many languages be described as illegal operations are dealt with in TRAC by defining a result (often a null string) for every possible combination of a function's argument strings.

TRAC is, like APL or LISP, an expression oriented language (in contrast to more typical procedure-oriented languages) but, unlike APL, it completely lacks operators. In most respects, it is a case of pure functional programming. It has, in common with LISP, a syntax that generally involves the presence of many levels of nested parentheses.

TRAC is homoiconic: that is, a TRAC program can be represented and manipulated within the TRAC language itself.[7][8][9] The emphasis on strings as the single data type is so strong that TRAC provides mechanisms for handling the language's own syntactic characters either in their syntactic roles or like any other character, and self-modifying code has more the feel of a natural consequence of typical TRAC programming techniques than of being a special feature.

The main inspiration for TRAC came from three papers by Douglas McIlroy.[7][10][11][12]

Intellectual property

[edit]

Mooers trademarked the name TRAC in an effort to maintain his control over the definition of the language, an unusual and pioneering action at the time. At one point, he brought an intellectual property infringement suit against Digital Equipment Corporation (DEC), alleging that a contract to deliver a mini-computer with a TRAC interpreter violated his rights. "The first issue of Dr. Dobb's Journal, one of the early publications in the personal computer field, has a vitriolic editorial against Mooers and his rapacity in trying to charge people for his computing language."[13][14] The name has since been used several times for unrelated information technology projects, including a current open source project management system called Trac.

Influence and usage

[edit]

TRAC was later implemented on the PDP-8, PDP-10, and PDP-11.

There have been various languages inspired by TRAC. To avoid any trouble with Mooers, they renamed primitives and/or used different metacharacters. In SAM76's case, primitives were added, according to Claude Kagan, "because TRAC is baby talk". In MINT's case, primitives were added to give access to a sophisticated text editor machinery.

  • one perceived shortcoming of TRAC was lack of full extensibility: some TRAC primitive functions are sensitive to the distinction between a null (zero-character) argument and a nonexistent (non-delimited) one, but beyond its last non-null argument, a user-defined function cannot make the distinction. SAM76 was a TRAC-like language which eliminated that limitation.
  • Russ Nelson implemented an emacs extension language named MINT (MINT Is Not TRAC). This language is used by the FreeDOS editor FreeMACS.
  • John Walker implemented an embeddable extension language library DIESEL [15] (Dumb Interpretively Evaluated String Expression Language) originally for menu macro processing in AutoCAD.[16]

TRAC was used by FTP Software in its PC/TCP product as the modem dialer scripting language.

TRAC was also used as a front end on Digital Productions Cray renderer for films, including The Last Starfighter.

Example program

[edit]

This is an example of a simple program that asks the user's name and exits, written in TRAC T64:[17]

#(DS,PROG.A,(
#(PS,(WHAT IS YOUR NAME?
))
#(DS,NAME,##(RS))
#(PS,(
GOODBYE))
))'

TRAC T84 uses a slightly different syntax and different names for its primitives. The following is a script to compute Fibonacci numbers, written in TRAC T84:[18]

:(s,fibo,(
:(ei,<1>, 1, 0,(
:(ei,<1>, 2, 1,(
:(aa, :(ri,fibo,:(as, <1>,1)),:(ri,fibo,:(as, <1>,2)))
))
))
))`
:(mw,fibo)'

See also

[edit]

References

[edit]
  1. ^ "TRAC T2001 Specification". February 5, 2005. Archived from the original on 2005-02-05.
  2. ^ "Trac 2001 programming language". SourceForge. March 8, 2013.
  3. ^ a b "TRAC – A man-machine string manipulating language". HOPL: Online Historical Encyclopaedia of Programming Languages. Archived from the original on August 13, 2009.
  4. ^ a b "Coding Supply — Everything a Programmer Needs". Archived from the original on 2001-04-08.
  5. ^ David Walden. "Macro Memories, 1964–2013". 2014.
  6. ^ Carol Loeb Mir. "A Comparison of String Handling in Four Programming Languages". 1972.
  7. ^ a b Mooers, C.N.; Deutsch, L.P. (1965). "TRAC, A Text-Handling Language". Proceeding ACM '65 Proceedings of the 1965 20th national conference. pp. 229–246. doi:10.1145/800197.806048. S2CID 40013081.
  8. ^ Kay, Alan (1969). The Reactive Engine (PhD). University of Utah.
  9. ^ Klaas van Schelven. "Don't say 'Homoiconic'".
  10. ^ McIlroy, M.D., Macro Instruction Extensions of Compiler Languages. CACM 3, No. 4 (1960), 214–220.
  11. ^ Eastwood, D.E. and McIlroy, M.D., Macro Compiler Modification of SAP. Bell Telephone Laboratories Computation Center, 1959.
  12. ^ McIlroy, M.D., Using SAP Macro Instructions to Manipulate Symbolic Expressions. Bell Telephone Laboratories Computation Center (1960)
  13. ^ Mooers, Calvin (22 June 1993). "Oral history interview with Calvin N. Mooers and Charlotte D. Mooers". Charles Babbage Institute. hdl:11299/107510.
  14. ^ "Dr. Dobb's Journal - Vol 1". 1976.
  15. ^ "DIESEL - Dumb Interpretively Evaluated String Expression Language". www.fourmilab.ch.
  16. ^ "Software Components / Embedded Systems". www.fourmilab.ch.
  17. ^ The Beginner's Manual for TRAC Language (1972) (archived) by Calvin N. Mooers.
  18. ^ TRAC information page (archived), at The History of Computing Project, with small code sample and photo of C. M. Mooers.
[edit]

Source: Wikipedia. Article content is retrieved live through the MediaWiki API.

No preview image
Wikipedia

TRAC (programming language)

TRAC (for Text Reckoning And Compiling) Language is a programming language developed between 1959 and 1964 by Calvin Mooers and first implemented on the PDP-1 in 1964 by L. Peter Deutsch. It was one of three "first languages" recommended by Ted Nelson in Computer Lib. TRAC T64 was used until at least 1984, when Mooers updated it to TRAC T84.

MORE →
No preview image
Wikipedia

TRAC (disambiguation)

Trac is a software tool for project management. Trac or TRAC may also refer to: TRAC (programming language) Telsiz ve Radyo Amatörleri Cemiyeti, an amateur radio organization in Turkey Former Team Racing Auto Circuit The Research and Analysis Center, a U.S. Army analysis element Transactional Records Access Clearinghouse, at Syracuse University Trustworthy Repositories Audit & Certification Three Rivers Athletic Conference, Ohio, US trac: Music Traditions Wales, for folk music Annual Theoretical Roman Archaeology Conference Cirrus TRAC Trainer version of the Cirrus SR20 aircraft

MORE →
Wikipedia

Jinja (template engine)

Jinja is a web template engine for the Python programming language. It was created by Armin Ronacher and is licensed under a BSD License. Jinja is similar to the Django template engine, but provides Python-like expressions while ensuring that the templates are evaluated in a sandbox. It is a text-based template language and thus can be used to generate any markup as well as source code. The Jinja template engine allows customization of tags, filters (for formatting or transforming values), tests (for evaluating conditions), and globals. Also, unlike the Django template engine, Jinja allows the template designer to call functions with arguments on objects. Jinja is the default template engine for Flask, as well as Home Assistant's Automations. It is also used by Ansible, Trac, and Salt. It is also used to make SQL macros, for example for use with dbt.

MORE →
No preview image
Wikipedia

SNOBOL

SNOBOL (StriNg Oriented and symBOlic Language) is a series of programming languages developed between 1962 and 1967 at AT&T Bell Laboratories by David J. Farber, Ralph Griswold and Ivan P. Polonsky, culminating in SNOBOL4. It was one of a number of text-string-oriented languages developed during the 1950s and 1960s; others included COMIT and TRAC. Despite the similar name, it is entirely unlike COBOL. SNOBOL4 stands apart from most programming languages of its era by having patterns as a first-class data type, a data type whose values can be manipulated in all ways permitted to any other data type in the programming language, and by providing operators for pattern concatenation and alternation. SNOBOL4 patterns are a type of object and admit various manipulations, much like later object-oriented languages such as JavaScript whose patterns are known as regular expressions. In addition SNOBOL4 strings generated during execution can be treated as programs and either interpreted or compiled and executed (as in the eval function of other languages). SNOBOL4 was quite widely taught in larger U.S. universities in the late 1960s and early 1970s and was widely used in the 1970s and 1980s as a text manipulation language in the humanities. In the 1980s and 1990s, its use faded as newer languages such as AWK and Perl made string manipulation by means of regular expressions fashionable. SNOBOL4 patterns include a way to express BNF grammars, which are equivalent to context-free grammars and more powerful than regular expressions. The "regular expressions" in current versions of AWK and Perl are in fact extensions of regular expressions in the traditional sense, but regular expressions, unlike SNOBOL4 patterns, are not recursive, which gives a distinct computational advantage to SNOBOL4 patterns. (Recursive expressions did appear in Perl 5.10, though, released in December 2007.) The later SL5 (1977) and Icon (1978) languages were designed by Griswold to combine the backtracking of SNOBOL4 pattern matching with more standard ALGOL-like structuring.

MORE →
TOPIC OF THE DAY

Greenwood / Black Wall Street

Before the 1921 destruction of Tulsa’s Greenwood District, Black residents had created a remarkable center of business and community life. The district included stores, professional offices, entertainment venues and homes owned by Black citizens. Understanding Greenwood means learning what was built—not only what was burned.

MORE →
TRIVIA QUESTION OF THE DAY

Who became the first Black woman to travel into space?

Mae Jemison, aboard Space Shuttle Endeavour in 1992.