What is Lush? Any reason I should use it?

View previous topic View next topic Go down

What is Lush? Any reason I should use it?

Post  Admin on Thu Jan 14, 2010 7:09 am

You can read the outdated page at http://lush.sourceforge.net but in summary:

Lisp was an old programming language with two features that set it apart: lists and metaprogramming. Lists meant all the data was stored in a list, making it easily modifiable and organized. Metaprogramming gave Lisp the power to modify it's own code while it was running, and allowed programmers to make what are now called macros or scripts, but didn't require recoding the entire language. Lisp metaprogramming is much more than macros or scripts however.

Lush is a Lisp based language with significant focus on computational performance in mathematical and AI fields. It also is natively object oriented. Also it is quite simple, and (in my opinion) is alot easier to understand by looking at it, even if you don't know what the commands strictly do.

Lush has the ability to use C and (I believe) C++ code and libraries in line with normal lush code by using a special command.

Lush compiles to C code (with some restrictions, mainly from the metaprogramming aspect.)

Lush, as being primarily designed for AI and mathematical work has the ability to use the GNU Scientific Library (GSL), Linear Algebra Package (LAPACK), other mathematical programs, besides having native ability to manipulate matrices and other higher-order math stuff. From the AI aspect, Lush has a far greater magnitude of AI libraries and accessible ways to assess and modify data from the get-go compared to other languages.

Lush interfaces with the Simple Directmedia Library (SDL), ALSA (sound), Video4Linux (camera software) and many other program suites allowing simple access to better graphics, sound, input, and many other modern functions. This can allow for gaming, or AI that interacts with the user and/or external environment.

Lush has a native GUI application, allowing for quick prototyping of interfaces, and allowing more practical interfaces to programs without needing external libraries.

Lush is licensed under LGPL, which from my understanding, means that you must distribute the source code for the parts of Lush you use, but you can restrict source code for parts you make, so long as you don't copy or imitate the lush libraries, or base your code on anyone else's code. So art for things should be 100% sellable, while code can only be sold if it's completely your design. (Say you made an interface to DirectX for Windows with Lush, that could be sold under another license while unmodified libraries and the source code for those unmodified libraries under the LGPL)
Warning: I am not a lawyer, so my understanding of the LGPL may be wrong.

I hope this helps you understand the general idea of Lush and it's usage.


Posts : 8
Join date : 2010-01-14

View user profile http://lushprogramming.forummotion.com

Back to top Go down

View previous topic View next topic Back to top

- Similar topics

Permissions in this forum:
You cannot reply to topics in this forum