Skip to content

A collection of cat implementations written in pre-C languages

License

Notifications You must be signed in to change notification settings

Icosa-dev/retrocat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

retrocat

retrocat is a collection of POSIX compliant cat implementations written in a variety of pre-C languages (and C itself). None of the retrocat implementations are written for utility in mind. Instead they are created to be a side-by-side showcase of many old and influential languages.

Languages

Languages with a (WIP) have an incomplete implementation or are planned to be implemented later. Languages with a * are implemented with an updated post-C version of the language.

  • K&R C*
  • FORTRAN*
  • Pascal*
  • ALGOL 60 (WIP)
  • Simula (WIP)
  • COBOL (WIP)
  • LISP (WIP)

Build

Once you clone the directory you can either build every cat with the root makefile or cd into a single language and build that binary. With the root makefile it will generate every binary and copy it to the build/ directory.

Each language's Makefile has the option USE_LANGNAME which prepends the language's name to the executable. To enable this you can add "USE_LANGNAME=1" to the make command.

This is set true automatically in the root makefile meaning the binaries generated and copied to build are named ccat, fortrancat, etc.

Of course, to build each language requires a compiler for the language. So here are the build dependencies and the language that needs it.

  • make (N/A)
  • gcc (C)
  • gfortran (FORTRAN)
  • fpc (Pascal)

About

A collection of cat implementations written in pre-C languages

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published