Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

António Menezes Leitão's Linj project

branch: master

Merge pull request #2 from kisp/master

Merged updates from kisp.
latest commit 9734b15caf
Zach Beane authored
Octocat-spinner-32 doc Add doc/java-for-lispers.pdf, the slides from eclm2005. January 22, 2011
Octocat-spinner-32 linj Add support for custom-import statements (sort of a quick hack). June 21, 2013
Octocat-spinner-32 scripts Added compilation of resulting java files to scripts/relinj.lisp. June 21, 2013
Octocat-spinner-32 JavaToLMI.java Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 LICENSE.txt Add MIT license in LICENSE.txt. January 22, 2011
Octocat-spinner-32 README.txt Added scripts/relinj.lisp. June 21, 2013
Octocat-spinner-32 backq.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 basics.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 chars.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 format.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 functions.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 imports.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 io.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 linj-macros.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 linj.asd Initial commit. January 21, 2011
Octocat-spinner-32 linj.lisp Add support for custom-import statements (sort of a quick hack). June 21, 2013
Octocat-spinner-32 list.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 load.lisp Initial commit. January 21, 2011
Octocat-spinner-32 loop.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 macros.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 package.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 reader.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 semantic-macros.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 server.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 swing.lisp Initial commit. January 21, 2011
Octocat-spinner-32 translator-macros.lisp Defconst should not expand to defconstant, but only to defparameter f… June 21, 2013
Octocat-spinner-32 translator.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 type-inference.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 types.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 util.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
Octocat-spinner-32 vector.lisp Reindentation (according to current SLIME) and whitespace cleanup. June 21, 2013
README.txt
NOTE: After cloning the repo, you might want to invoke
"sbcl --script scripts/relinj.lisp" to compile the supporting
classes in linj/ defined in Linj itself to Java.

The resulting Java files (but not their compilation to class files)
are actually checked into the repo. Currently, by invoking relinj.lisp
no changes to them should be visible.




README for Linj_1.x

January 22, 2011



Overview
--------

Linj is a Common Lisp-like language that tries to be as similar to
Common Lisp as possible but allowing Linj programs to be compiled into
human-readable Java code.

Linj was originally created by eValuator, Lda, and this code was last
updated in 2004. The software is no longer supported or maintained by
eValuator or António Menezes Leitão. In January, 2011, António Menezes
Leitão gave Zachary Beane permission to publish the sources under the
MIT license.



License
-------

This Linj distribution is available under the MIT license. See the
file LICENSE.txt for details.



Requirements
------------

The Linj compiler is written in Common Lisp and currently runs on

 - CMU Common Lisp 19a for Linux
 - SBCL 0.8.15 for Linux and MacOSX
 - Allegro CL 6.2 for Linux and Windows

You should download the version that matches your working environment.

Linj requires a JDK that conforms to the Java 1.1 Core API.



Installation
-----------

Assuming that you extracted the files in the Linj distribution to the
path <path>, start your Common Lisp environment and evaluate the
expression:

(load "<path>/load")



Use
----------

Put your Linj program into a file named according to the Linj
conventions for classes (lowercase with hyphens), e.g., test.linj and
invoke the Linj compiler using the (quoted) name of the file (without
extension) and (optionally) the pathname to the directory containing
that file.  As an example, assuming that test.linj is in /tmp, use:

(linj2java 'test "/tmp/")

If the file test.linj is in the current directory, you can omit the
second argument.

If you have several linj files in a directory you can compile all of
them using

(linj2java-directory <path to the directory>)

The <path to the directory> defaults to the current directory.



Support Files
-------------

This Linj distribution also includes several pre-defined supporting
classes (defined in Linj itself).  You will find them on the
<path>/linj/ subdirectory.  For these classes to be useful, you must
define your CLASSPATH to include the directory containing the file you
are just reading.  As an example, if your Linj distribution is on the
path "/home/user/linj_1.0/" then you should set your CLASSPATH as
follows:

export CLASSPATH=/home/user/linj1.0/:$CLASSPATH



Documentation
-------------

You can find a Linj tutorial in doc/tutorial.pdf.

One (unfinished) manual can be found at doc/linj-manual.pdf



Feedback & Support
------------------

Linj is no longer officially supported or maintained and is available
only on an as-is basis.


-----------------------------------------------------------------------
"Java" is a registered trademark of Sun Microsystems.
Something went wrong with that request. Please try again.