0

newLISP 10.3.3

A scripting language for developing web applications and programs in general and in the domains of A.I. and statistics newLISP is a LISP-like scripting language that will help you in: programming for the internet, system administration, text processing, gluing other programs together, etc. newLISP is a scripting LISP for people who are fascinated by LISP’s beauty and power of expression, but who need it stripped down to easy-to-learn essentials. newLISP is small on resources like disk space and memory but has a deep, practical API. LISP is an old language born, grown, and standardized in times very different from today, times when programming was for highly educated people who engineered programs. newLISP is LISP reborn as a scripting language: pragmatic and casual, simple to learn without requiring you to know advanced computer science concepts. Like any good scripting language, newLISP is quick to get into and gets the job done without fuss. It has all of the essential elements that made LISP famous: symbol processing, lists, anonymous functions (lambda expressions), and S-expressions as a simple syntax for both data and program. newLISP can do things you typically do with scripting languages. newLISP has a modern relevant API (Application Programming Interface) with networking, regular expression, advanced math, simulation, statistics, financial, HTTP, and XML functions built right into it. newLISP modules are available that let you connect newLISP to databases, mailservers, and more. A Modern Built-In API: · Indexing into nested lists and implicit indexing · Nested associations · Regular expressions PCRE · Pattern matching with match and unify · Networking functions: TCP/IP, UDP, HTTP, ICMP · XML functions · Advanced Math and classic Statistics functions · Bayesian Statistics functions · Financial functions · Date and time functions · I/O transparent over local files or remote files via HTTP · Name spaces (contexts) for programming in modules · FOOP Functional Object Oriented Programming. See example · Distributed computing support with remote evaluation and HTTP file API. · Cilk-style API for multiprocessor support Expandable API: · Import functions from C libraries · Modules for MySQL, SQLite, Zlib, Crypto, Postscript etc. · Document generation support for user written modules: newLISPdoc Complete Documentation: · Users Manual and Reference · Cookbook for common solutions Code Patterns in newLISP · Introductions, e.g.: Introduction to newLISP · Training videos; see Documentation page Advanced Automatic Memory Management: · ORO memory management · Synchronous for repeatable processing times in real-time tasks · Fast and lower on resources Multiprocessing: · UNIX forks (not on Win32) · Semaphores · Shared memory · Local domain UNIX sockets for fast IPC (not on Win32) · Cilk-style multiprocessing API · Actor messaging API for process inter communication Distributed Computing Support: · Net-eval function for remote evaluation on multiple network nodes · HTTP and net-eval server modes built-in (no code required) · Most file operations can take URLs 64-bit support: · 64-bit standard for integers and some file operations in the standard 32-bit versions · LP64 Memory model support makefiles for LINUX, MacOS X and SOLARIS, TRU64 Small and portable: · Only around 200KB in size (depending on platform and compile flavor) · Very fast load time for CGI and scripts · Uses only very essential UNIX libs found on the smallest systems · Makefiles for FreeBSD, NetBSD, OpenBSD, Mac OS X, LINUX, SOLARIS, TRU64, Win32. Embeddable: · Shared library versions for all Platforms (.so, .dylib, .dll) International: · Unicode – UTF-8 support compile flavors Enterprise: · Well documented · Support via responsive community · Modules in isolated namespaces · Automatic generation of source code API documentation using newLISPdoc utility (similar to javadoc). What’s New in This Release: Bug fixes: · Fixed broken memory sharing for data sizes greater than 4084 bytes. This affected the built-in functions spawn and share for memory transfers greater than 4084 bytes. · When in debug or trace mode, error messages caysed by the debugged source are now printed to the console. Debugging is not interruped and can continue. As previously, the return value of the failing function will be 0 or nil depending on the function causing the exception. · Return values from library callbacks not work correctly under some circumstances. This did not affect the example programs opengl-demo.lsp and win32-demo.lsp. Other addtions and changes: · On MS Windows newlisp.dll is now installed in windows/system32 or what the main 32-bit DLL directory may be on a specific Windows platform. · From newLISP library a new function newlispCallback can be imported to register callback functions called from the library back into the controlling parent. · Improved handling of -l and -L log file options. The …

Leave a Reply