Tips and Tricks and Other
Various
- Code Snippets - useful small functions.
- Project Euler newLISP - the first 20 from projecteuler.net/problems.
- Install newLISP as an HTTP and net-eval server process on macOS using launchd
- Combined OS shell and newLISP shell with NLS. Now working on all platforms.
- Write FOOP (Functional Object Oriented Programming) applications. The Mandelbrot set as a FOOP application using complex numbers.
Web
- Write CGI scripts in newLISP: Mandelbrot, environment, read form data, syntax highligher, this site on newLISP Wiki
- AJAX and newLISP: do asynchronous webpage updates with newLISP CGI scripting.
- A small CGI example how to set cookies: Cookie example.
- S-expressions to XML - translate LISP s-expressions into XML.
- File Upload Script - a newLISP CGI script for uploading files from a HTML form.
- Translate IP numbers to country of origin.
Connect to other languages and libraries
- Import console functions on Windows using Windows Console Goodies.
- Tk and newLISP - run graphics Tcl/Tk using this wrapper.
- Write graphics programs with OpenGL using simple FFI or using the extended FFI.
- How to write a C-import function taking a string and returning an integer array CountCharacters. For more details on working with C-libraries read chapter 23 in Code Patterns in newLISP
- Windows Event Loop - write GUI programs for MS Windows.
- Register a callback with newLISP library (newlisp.dll, newlisp.dylib, newlisp.so).
Network Security
- Userland packet filter in iptables. Using the netfilter_queue_libipq library.
- A network packet sniffer written with libpcap and newLISP.
- A network scanner. newLISP v.10.2.8 or later is required.
- Raw sockets with net-packet when using newLISP for macOS , BSDs and Linux!
- Library to verify YubiKey one time passwords by Kirill. Also available as a module in the Various section.
Parallel and Distributed Processing
- Parallel web page retrieval is easy using the spawn function. The program googles a search term then counts all the words in 20 pages retrieved. Try the demo. Even on a single core CPU this is much faster than working sequentially (macOS , Linux and other UNIX, not Windows).
- MapReduce - Distributed computing, map/reduce style example of calculating and reducing word counts from different documents. Note that newLISP does this without any modules to import. The built-in function net-eval takes care of mapping all network communications including distribution of code to external nodes.
Science, Theory and Math
- Closures, Contexts and Stateful Functions explains the difference between Scheme Closures and newLISP namespaces, called contexts and shows a method for writing stateful functions via in-place modification.
- The Why of Y in newLISP. Richard P. Gabriel's Y-function derivation modified for newLISP.
- Recursion - iteration - generator a comparison of recursive, iterator and generator algorithms using the Fibonacci algorithm as example.
- Mergesort benchmark against Perl, Python, Ruby and PHP.