UK TeX FAQ -- question 66

### WEB systems for various languages

TeX is written in the programming language WEB; WEB is a tool to implement the concept of "literate programming". Knuth's original implementation will be in any respectable distribution of TeX, but the sources of the two tools (tangle and weave), together with a manual outlining the programming techniques, may be had from CTAN.

CWEB, by Silvio Levy, is a WEB for C programs.

Spidery WEB, by Norman Ramsey, supports many languages including Ada, `awk`, and C and, while not in the public domain, is usable without charge. It is now superseded by noweb (also by Norman Ramsay) which incorporates the lessons learned in implementing spidery WEB, and which is a simpler, equally powerful, tool.

FWEB, by John Krommes, is a version for Fortran, Ratfor, and C.

SchemeWEB, by John Ramsdell, is a Unix filter that translates SchemeWEB into LaTeX source or Scheme source.

APLWEB is a version of WEB for APL.

FunnelWeb is a version of WEB that is language independent.

Other language independent versions of WEB are nuweb (which is written in ANSI C).

Tweb is a WEB for Plain TeX macro files, using noweb.

`aplweb`
  web/apl/aplweb.tar.gz
`cweb`
  web/c_cpp/cweb.tar.gz
`funnelweb`
  web/funnelweb.tar.gz
`fweb`
  web/fweb.tar.gz
`noweb`
  web/noweb.tar.gz
`nuweb`
  web/nuweb.tar.gz
`schemeweb`
  web/schemeweb.tar.gz
`spiderweb`
  web/spiderweb.tar.gz
`tangle`
  systems/knuth/web.tar.gz
`tweb`
  web/tweb.tar.gz
`weave`
  systems/knuth/web.tar.gz