newLISPtm v.8.7.1 Release Notes November 7th, 2005



Highlights

This release adds a new function net-eval to greatly simplify Distributed Computing with newLISP. The function encapsulates all the functionality needed to run complex newLISP programs distributed on multiple CPUs. The functions difference, intersect and count received a big speedup and are now usable on larger lists. The two new floating point functions: erf, and sgn were added and a new function in the area of simulation: randomize. append-file was added in the I/O area. In the text processing area the function title-case was added. This release also feature many small improvements on existing functions and bug fixes.

new or changed functionality

description

version

timer

Now returns the elapsed time when calling just with the event symbol, useful for checking timer progress or programming timelines/schedules.

v.8.6.1

source

Now works like save and can take a mixture of multiple symbols and contexts

v.8.6.1

File creation

Files are now created without executable permisssion with rw-rw-rw which results on most UNIX system in rw-r—-r-- when a user mask of 0222 is configured and applied.

v.8.6.1

peek

Works like net-peek but on any file descriptor including std IN

v.8.6.1

difference intersect

An optional parameter true puts these functions into a list rather than the default set mode, which makes all elements in a list unique. Big speedup of these functions.

v.8.6.1-2

title-case

This new function upper-cases the first character and optionally lowercases the rest characters of a word.

v.8.6.1

net-lookup

An optional flag now forces a text lookup even if the lookup string starts with an IP number pattern as in 216.16.84.66.sbl-xbl.spamhaus.org

v.8.6.2

count

Big speedup of this function which now scales in a linear fashion.

v.8.6.2

gmp.lsp

Added gmp.lsp for importing the GNU Multi Precision library; contains integer functions for high precision arithmetic, see header of file modules/gmp.lsp for details.

v.8.6.2

randomize

This new function shuffles the elements of a lists, an optional flag controls if repetition of the input list is allowed (v8.7.0).

v.8.6.5

net-eval

This new function evaluates a batch of functions remotely on newlisp servers, manages Tcp/Ip communications and data collection with multiple servers started with: newlisp -c -d <portno> and timeout and optional callback/idle function.

v.8.6.5

error-event

Now also works in scripts, not only functions called in interactive mode.

v.8.6.5

-l -L

This commandline flags can now be used to log in console mode.

v.8.6.5

[cmd][/cmd]

When evaluating multiple expressions on the commandline or in batch mode using the [cmd] [/cmd] tags multiple results are now separated by one space. This change was necessary for the new net-eval to be functional.

v.8.6.5

load

Now throws an error message when the file to be loaded cannot be found; previously only returned nil. load now also returns the value of the last expression evaluated and not just true. This caused also a change in the file init.lsp when trying to load $HOME/.init.lsp.

v.8.6.7

erf

This new function calculates the error function of a value.

v.8.6.7

sgn

This new function implements the signum floating point function.

v.8.6.7

get-url put-url post-url

All these functions now accept an optional timeout value in milli seconds as the last parameter. This prevents these functions waiting for a long time when a server could be contacted but no response is coming back.

v.8.7.0-rc1

read-buffer

when a wait string is specified then will put bytes read in buffer including if the wait string was not found or not. When no bytes are read buffer is nil.

v.8.7.0-rc1

append-file

Like write-file but appends to the file

v.8.7.0

select

select on lists when the selection list is empty now returns the empty list, previously nil.

v.8.7

bug fixes



open

Append mode in this function created a file without permissions when the file was new.

v.8.6.5

catch

Did not respect symbol protection when the error catching symbol was protected. Now throws an error.

v.8.6.5

array

When specifying zero elements for a dimension the function would crash.

v.8.6.5

push

fixed bug for push -1 optimization, which did not allow to append to a list with push -1 after a list was copied

v.8.7.1

nth

Now throws and error when the index pramater is of wrong type.

v.8.7.1


The versions newLISP 8.6.1 to newLISP 8.6.7 where released as development versions.