Links

Lushous

Lush

DjVuLibre

Lushous

Lushous is an initiative to develop two main Java oriented components for Lush. The first component, JLush, will implement inline Java usage in Lush (like CLush does for C). LushJ, the second component, will be a Java based implementation of Lush.

This project will also serve as a repository for various Lush scripts, code, and documentation that are not part of the main Lush development.

Overview

What is Lush?

Lush is a Lisp-like language with a number of advanced and powerful features that are difficult to find in many other programming languages. At once it provides an interpreted programming environment that is well-suited to rapid application development, prototyping, and testing and also provides compiled code for increased execution speed where necessary. Both interpreted and compiled code can be combined advantageously for demanding computing applications that cannot be satisfied by using interpreted or compiled code alone.

What makes this combination possible is that Lush is actually two different languages in one. The standard Lush act as a Lisp interpreter read-eval-print loop. CLush (Compiled Lush) is the compiled language part of Lush that takes direct advantage of the standard C API and GNU tools to generate object code that can be executed from within Lush.

What is more, Lush also has some amazing builtin capabilities and addon packages that can be used in high-end research and development. Lush features a multidimensional array/matrix engine for working with scalars, vectors, and tensors. It has a dynamic loader for working with C libraries on-the-fly. Various packages for machine learning, machine vision, neural networks, signal processing, audio, video, and more are included. Wow! Good luck finding the same capabilities automatically part of another language.

What will Lushous do?

Just like CLush, with JLush Lushous will bring the same functionality for the Java programming language that is already avaialble for C/C++ in Lush. This is a natural extension for Lush because Java is now very popular and there are many libraries that can be taken advantage of by this addon. There could also be the possibility of mixing standard Lush with JLush and with CLush in various combinations that would more difficult otherwise.

As for LushJ, this will be a ground-up implementation of Lush on top of Java, as opposed to C. Initially, LushJ will only support Lush scripts and Java. Eventually, ways for interacting with standard Lush for interoperability or use of CLush will be investigated. Direct use of C via JNI could be a possibility, but leveraging CLush seems like a more appropriate method to connect to C at this time. Users will be able to use LushJ on any Java supported platform, thereby extending Lush to different platforms without the need for certain tools and libraries to be installed that are needed by standard Lush. This also means that there will be no need for users to compile LushJ as there is for Lush, this makes it easier for users to get started programming in Lush without being concerned for compilers and libraries beyond having Java installed.

Support this Project

If you like this project or any of the applications and use them in productive work (i.e. they help you to make money), please consider making a donation so that the work may continue well into the future. Click the donation button on this page, help us to help you.

Participation

The Lushous project welcomes volunteers to participate in its development. The project needs various types of assistance: software developers, documentation writers, translators, packagers, and so on. For software development some knowledge in a few of the following is needed: C/C++, Java, Lisp, Lush, and associated development tools. If you are interested, please contact the project manager Raymond: Martin.

Users Group

Currently, there is a users group for posting questions and responses related to Lush that everybody is welcome to join. There is no users group for Lushous at this time.

Go to the Lush users group to subscribe or browse messages.

Legal

Lushous is not Lush (Lisp Universal SHell). Lushous is a separate project with different goals that aims to be closely compatible with and extend Lush in certain respects. Please see the Lush project website for more details about it.

Disclaimer

All software, documentation, and images related to this project are copyright of their respective holders. Please refer to the copyright notices that accompany applications, or any part thereof, for more information. The project, any of its members, or contributors are not responsible for any consequences that could result from use of said software, documentation, or the contributions that have been or will be made to the project. All software provided here comes WITHOUT WARRANTY and you agree by downloading any of the software to abide by any and all licences that are applicable. Read the licences that come with the software to understand the rights granted and the obligations that must be fulfilled.

Trademarks

All trademarks are to be considered property of their respective owners.

Lush logos and images are trademarks of the Lush project. Logo images and others produced for Lushous can be considered trademarks of myself and this project.

Licence

Copyright (C) 2005-2007 by Raymond: Martin. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is presently available at http://www.opencontent.org/openpub/). Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copyright holder. Distribution of the work or derivative of the work in any standard (paper) book form is prohibited unless prior permission is obtained from the copyright holder.

Last Updated: May 1, 2007