What is TofJs?

TofJs is an attempt to make JavaScript (actually ECMAScript) a better programming language:

State of the TofJs project

The whole endeavor started in 2013 with a post on the forum of the Dutch Haskell User Group and by that time I thought this could be done very quickly. Meanwhile (January 2017), the version I am using is 6.2 and from version 2 or 3 onwards, I already started to generate new versions with the latest existing one. There is still a lot I would like to change and I don't consider this the release I advice programmers to learn, just yet. But things are already working and I already finished another project (the Caretaker in a Project House) which is due to publication and runs on the existing TofJs library. I therefore put two things out in the open and for download from the NPM repository for use on the Node machine: tofjs-full, the full suite of all TofJs files, and caretaker-in-a-project-house, a system for managing digital projects.

What is the name of the whole thing?

Initially, the whole thing was called "TypeOfFun.js". Over time, that abbreviated to "ToF" for the title of a type system on a functional language and χλ-approach in general, and ToF.js for the fact that this implementation was with and in JavaScript. A nice connotation is also the fact that the colloquial Dutch "tof" means "cool" and "nice". Eventually, all letters in "ToF.js" went small and turned into "tof.js", because that is the easiest way. But words in English don't contain dots, a dot rather marks the end of a sentence. And proper names are capitalized in English. Therefore, we use the Camel Case version "TofJs" of "tof.js", when we use it as a proper name in native language.

So, "tof.js" is the artificial title, which is written "TofJs" in fancy colorful and "TofJs" in plain text mode. Finally, there is also the varnished image version of the title that serves as a logo: