GitXplorerGitXplorer
d

cl-metamath

public
3 stars
0 forks
0 issues

Commits

List of commits on branch master.
Unverified
7c43ffc01230a221e790237003319d34870cf25f

Change expression to vector type

ddavid-a-wheeler committed 8 years ago
Unverified
e4c9dfca50b2f290b4b134f1b9413c9e80e3c212

Add type declarations

ddavid-a-wheeler committed 8 years ago
Unverified
f608ac4c394d795da2323fb49db008fbe644d5e8

Move command line stubs down so they don't distract

ddavid-a-wheeler committed 8 years ago
Unverified
2ffc9c4e9b5f4e95f93c6ab62df31c7c6181f680

Cleanup, optimize whitespace check

ddavid-a-wheeler committed 8 years ago
Unverified
f0d8c08bcef6fb756a3a21778543adc10dd1164f

Move related command line stubs together

ddavid-a-wheeler committed 8 years ago
Unverified
1a197f592f4ad04036436773505a7f756826adb1

Eliminate a reverse() in iteration

ddavid-a-wheeler committed 8 years ago

README

The README file for this repository.

metamath-lisp

This is the start of a metamath package/verifier in Common Lisp. It is open source software, released under the MIT license.

This is a very early version and does NOT yet implement verification. The current focus has been on experimentation to determine how to efficiently handle the basics.

This implementation is intended to be high-speed. It can currently tokenize set.mm (~29MB) into intern'ed symbols in about 4 seconds on a laptop, and eventually it should be faster. Good Common Lisp implementations are historically fast if written well.

The code uses sweet-expressions so that the code is much easier to read for most developers compared to traditional Common Lisp notation. Take a look; you might be surprised how clear it is.

The scripts depend on sbcl, but the code should generally run on any Common Lisp implementation. Help to make this more portable would be greatly appreciated.

Installation

You need a Common Lisp; currently we focus on sbcl. You can run "sbcl-install" to download and install it. You may need to specially handle SBCL_HOME and PATH.

You cannot use old sbcl versions, like the sbcl on Ubuntu's 2014 edition; such old versions of sbcl can't support current versions of various libraries.

You need to install a relatively current version of QuickLisp. You can do this with:

make install-quicklisp

It doesn't currently have an "install someplace" option.

Running

You can run the program with "run". It requires a single command line parameter, the name of the .mm file to check:

./run demo0.mm
./run set.mm

It directly loads the file into memory instead of trying to use Lisp's read-char and peek-char (which work much more slowly). Programs can be extremely fast in Common Lisp, but it sometimes takes a few tricks (e.g., declaring types and avoiding system calls).