NewLISP
newLISP focuses on the core components of LISP: lists, symbols, and lambda expressions. To these, newLISP adds arrays, implicit indexing on lists and arrays, and dynamic and lexical scoping. Lexical scoping is implemented using separate namespaces called contexts.
The result is an easier-to-learn LISP that is even smaller than most Scheme implementations, but which still has about 300 built-in functions. Approximately 200k in size, newLISP is built for high portability using only the most common UNIX system C-libraries. It loads quickly and has a small memory footprint. newLISP is as fast or faster than other popular scripting languages and uses very few resources.
Tasks
- 100 doors
- A+B
- Abstract type
- Accumulator factory
- Ackermann function
- Address of a variable
- Angle difference between two bearings
- Apply a callback to an array
- Arithmetic-geometric mean
- Arithmetic/Integer
- Array concatenation
- Array length
- Arrays
- Associative array/Iteration
- Averages/Arithmetic mean
- Averages/Median
- Call a foreign-language function
- Check that file exists
- Comments
- Conditional structures
- Copy a string
- Count in octal
- Count occurrences of a substring
- Create an HTML table
- Date format
- Delete a file
- Detect division by zero
- Dot product
- Empty directory
- Empty program
- Environment variables
- Even or odd
- Execute a system command
- Extend your language
- Factorial
- Fibonacci sequence
- Filter
- First-class functions
- Five weekends
- FizzBuzz
- Flatten a list
- Fork
- Function composition
- Function definition
- GUI enabling/disabling of controls
- Generic swap
- Greatest common divisor
- Greatest element of a list
- Guess the number
- Guess the number/With feedback
- HTTP
- HTTPS
- Handle a signal
- Hello world!
- Hello world/Graphical
- Hello world/Newline omission
- Hello world/Text
- Here document
- Higher-order functions
- Hostname
- IBAN
- Include a file
- Increment a numerical string
- Integer comparison
- Integer sequence
- Logical operations
- Loop over multiple arrays simultaneously
- Loops/Break
- Loops/Continue
- Loops/Do-while
- Loops/Downward for
- Loops/For
- Loops/For with a specified step
- Loops/Foreach
- Loops/Increment loop index within loop body
- Loops/Infinite
- Loops/N plus one half
- Loops/Nested
- Loops/While
- MD5
- Make directory path
- Middle three digits
- Modular inverse
- Modulinos
- Nth root
- Null object
- Palindrome detection
- Pangram checker
- Pick random element
- Program name
- Quine
- Random numbers
- Read a file line by line
- Read entire file
- Regular expressions
- Remove duplicate elements
- Remove lines from a file
- Rename a file
- Repeat a string
- Reverse a string
- Rot-13
- SHA-1
- SHA-256
- Send email
- Shell one-liner
- Show the epoch
- Singly-linked list/Traversal
- Sleep
- Sockets
- String append
- String case
- String concatenation
- String length
- String matching
- String prepend
- Strip a set of characters from a string
- Strip whitespace from a string/Top and tail
- Substring
- Substring/Top and tail
- Sum of a series
- Sum of squares
- System time
- Temperature conversion
- Terminal control/Clear the screen
- Thue-Morse
- Tokenize a string
- URL decoding
- URL encoding
- Write float arrays to a text file
- XML/Input
- Zero to the zero power