/galojs

Galo JS is an attempt to make a js proff assistence. example: http://fsvieira.com/beta/galojs/

Primary LanguageJavaScriptMIT LicenseMIT

galojs

Galo JS is an attempt to make a js proof assistance.

The project is somehow inspired by other existing proof assistance programs, my favorite is Coq (http://coq.inria.fr/).

My motivation to this project is to learn more about proof concepts but also to make a proof assistance that is closer to a mainstream programing language like JavaScript.

The goals of the project are:

  1. Use a pure formal mathematical representation to represent a program, I will call this representation as L,
  2. L has to be pure JavaScript language so it can be accessed, manipulated and extended by normal JavaScript code. So all core functionality should be a collection of JavaScript libs,
  3. Completely translate JavaScript language to L,
  4. Build mathematical correct libs on top of L that would help on program validation,
  5. All L core libs should run on browser and nodejs,
  6. Build a interective browser IDE, with offline support, that would be easy to test and exepriment with all the above ideias,

As a test case lambda-calculus had been choosen to be L.

Usage

Afther getting the repo code:

  1. The index.html let you try all the code interectivly, everything is acessible by js and is evaluated in real time,
  2. The print function is used to print a string to the rigth console in index.html,
  3. Everything that can be transformed to a string can be printed for example: for (i in Lambda) { print(i); } will print the Lambda dictonary keys.
  4. For using the libs check the index.html.

Name

The project is called galojs for the following reasons:

  1. JS stands for JavaScript,
  2. Galo it's the word translation of Coq, the name of a very good/cool proof assistance program, to Portuguese,
  3. Galo it's a Portuguese national symbol ("Galo de Barcelos"),
  4. Galo it's Portuguese slang for a bump in your head (witch is how I feel when I think on this stuff),
  5. Cock is a animal that is always trying to proof himself,
  6. Cocks are like penguins they are birds that can't fly, except they can fly a little...