Changes and Additions in newLISP for Linux, Free BSD, Mac OSX and Win32

versions 6.0.63 to 6.5.23

see latest versions in: http://nuevatec.com/download

Back to home page at http://newlisp.org

Function / Other Description
Linux
and
Win2k
Tcl/Tk
GUI
version
Release Date
newlisp-IDE-1.6 newlisp-IDE-1.6.tgz now saves files reliably up to 10k, changed POST encoding to multi part
6.5.23 0.92 September 18th, 2002
httpd
bug fix for empty query string
6.5.23 0.92 September 18th, 2002
post-url
post-url was broken (never worked) on Win32, now works
6.5.23 0.92 September 18th, 2002
time-of-day, now, and trime
milli second resolution in 'time-of-day', 'now' and 'time' in Win32
6.5.23 0.92 September 18th, 2002
name
new function 'name to get the name of a symbol as a string without the context (see also new behavior in symbol comparison)
6.5.23 0.92 September 18th, 2002
symbol comparison
comparing symbols now includes the context name in the comparison (see also new function 'name)
6.5.23 0.92 September 18th, 2002
import
can now import function with up to 10 parameters (previous 8), this was necessary for the ODBC interface
6.5.23 0.92 September 18th, 2002
string constants
can nor specify null's in string constants, i.e.:
(set 'st "\065\000\066")
(length st) => 3
6.5.23 0.92 September 18th, 2002
file-info
file creation and modification times where added
6.5.23 0.92 September 18th, 2002
explode
now also works on binary contents, i.e. content containing null characters
6.5.23 0.92 September 18th, 2002
format
a memory bug in format  was fixed for strings longer  256bytes
6.5.23 0.92 September 18th, 2002
pop3.lsp, smtp.lsp, odbs.lsp
mail.lsp renamed to pop3.lsp, sendmail.lsp renamed to smtp.lsp, new odbc.lsp for connecting to ODBC data sources. Cleanup for most lisp source code and major fixes in httpd.
All files are usable in the Windows version but are only in the source distribution package.
6.5.23
0.92 September 18th, 2002
string
function has been fixed to be reentrant, was hanging when used recursevely.
6.5.18
0.92
August 4th, 2002
xml-type-tags
new function to replace/suppress XML type tag strings "TEXT", "CDATA", "COMMENT" and "ELEMENT" with something else. 6.5.18
0.92
August 4th, 2002
xml-parse
has additional options parameter to suppress white space, empty attributes and or comments, string tags can be converted into symbols. Tested with megabytes of XML files from the ALICE chat bot: http://www.alicebot.org.
6.5.18
0.92
August 4th, 2002
match
match for lists now behaves like match for string returning a list of matches
6.5.18 0.92 August 4th, 2002
exec
exec replaces read-process and write-process, which are still available but will be deprecated. exec with 2 parameters works like read-process; with 3 parameters works like write-process.
6.5.18
0.92
August 4th, 2002
mail.lsp
was broken in 6.5.8 because of changed 'find' function, now works again.
6.5.18 0.92 August 4th, 2002
Win32 version compiled with Borland C++ 5.0
the Win32 compiled version now replaces the CYGWIN version in the Windows installer distribution.

CYGWIN is not any longer required to run newLISP on MS Windows, but a CYGWIN compiled version of newLISP can be if preferred and is recommended when running the newLISP httpd web server.
6.5.18
0.92
August 4th, 2002
reload-last-botton in TK frontent
reloads the last loaded file (thanks to Maurizio for suggesting it)
n/a
0.92
August 4th, 2002
newlisp_manual.html new chapter "Lambda Expressions" and numerous other changes/corrections. 6.5.8 0.81 June 14th, 2002
append, concat append now is type polymorph working also on strings, this doubles the functionality of concat, which is now deprecated Thanks to Eddie Rucker for suggesting this change. 6.5.8 0.81 June 14th, 2002
find, replace find and replace now have regular expression support, integration of regular expresions into some more functions may come in the future. 6.5.8 0.81 June 14th, 2002
Perl compatible regular expresssions change from GNU regular expressions to Perl compatible regular expressions (PCRE: http://pcre.org ), 20-50 times faster and same code on all platforms (before 6.5.8 regex was part of the GNU Libc). Thanks to Steve Adams for pointing me to PCRE. 6.5.8 0.81 June 14th, 2002
platform specific makefiles now also support for Mac OSX and support for Win32 native without CYGWIN libraries. Thanks to Steve Adams, who did the port: see README_WIN32 for details 6.5.8 0.81 June 14th, 2002
25% speed increase using compiler and code optimizations an average of 25% speed increase 6.5.8 0.81 June 14th, 2002
newlisp_manual.html many little changes and a new chapter "Data structure objects in lists". 6.5.0 0.81 May 28th, 2002
sort now takes an optional parameter '< or '> for ascending/descending also about 30% speedup, like in: (sort myList '>). Default is ascending if parameter is omitted. 6.5.0 0.81 May 28th, 2002
time (time expr) now works as a timer returning milli seconds needed to evaluate an expression. This is also more compatible how other Lisp's define 'time'. For old funcitonality of 'time' use (apply date-value (now)) 6.5.0 0.81 May 28th, 2002
push (push expr lst): now works even if lst does not contain a list. In that case old contents of lst gets deleted and initialized with () before pushing expr, this makes initialization of lists to '() before pushing on it unnecessary. 6.5.0 0.81 May 28th, 2002
nil, true

many changes for more consistent treatment of nil and true as boolean constants/symbols in conditional and boolean expressions.

This did not prompt any code changes in the code shipped in newLISP dsitributions but may prompt changes in some other rare instances of code created by users. All conditional and boolean expressions containing: 'if, while, unless, until , not, or' should be checked for correct working. Both nil/true the constants and unevaluated nil/true as symbols should be treated equally.

6.5.0 0.81 May 28th, 2002
newlisp_manual.html new chapter in newlisp_manual.html about 'purelisp' and consistency in newLISP on how 'cons', '()' and 'nil' work together redefining basic primitives like 'append', 'apply', 'reverse' and the type polymorph 'first', 'rest', 'last' and 'nth' 6.4.8 0.81 May 16th, 2002
link.lsp fix for link.lsp on CYGWIN, generated program would only work when calling with '.exe. suffix. This is no longer necessary 6.4.8 0.81 May 16th, 2002
define, lambda

improved syntax for working with static variables in lambda expressions. Statics are now in an association list

(define (foo a b c ((x 1) (y 2) (z 3))) ... ... ...)

also improved speed handling lambda

6.4.8 0.81 May 16th, 2002
cons

now works on 1 arg i.e. (cons exp) => (exp)

now conserves lambda type when consing onto a lambda list

See also additional chapter about 'purelisp' and newLISP consistency in the manual

6.4.8 0.81 May 16th, 2002
starts-with, ends-with, nth, first, last, rest, empty? are now type polymorph and work on both strings and lists 6.4.8 0.81 May 16th, 2002
transpose did not check for matrix type 6.4.8 0.81 May 16th, 2002
string, format eliminated buffer limit and potential buffer overflow 6.4.8 0.81 May 16th, 2002
parse now correctly does handles trailing separator by returning an empty token "" 6.4.8 0.81 May 16th, 2002
format now accepts mutliple format specifiers and arguments 6.4.2 0.81 April 23rd, 2002
dotree fixed occasional crash bug 6.4.2 0.81 April 23rd, 2002
join fixed bug which would crash 'join' on empty list 6.4.2 0.81 April 23rd, 2002
get-url "debug" option now can be used together with "header" option 6.4.2 0.81 April 23rd, 2002
post-url content-type 3rd agrument is now optional and defaults to: "application/x-www-form-urlencoded" 6.4.2 0.81 April 23rd, 2002
main-args now returns application path as first list elelement. NOTE, that this will make changes necessary in most command line utilities 6.4.2 0.81 April 23rd, 2002
httpd, finger and gettime httpd, finger and gettime command line utitlites: changes for new 'main-args 6.4.2 n/a April 23rd, 2002
balloon help balloon help in GUI is now more compliant with GUI apps n/a 0.81 April 23rd, 2002
tk-args returns command line arguments of the GUI app n/a 0.81 April 23rd, 2002
installer now puts a desktop icon in Win2k n/a 0.81 April 23rd, 2002
stat.lsp several changes in plot and plotXY to make sure that intermedeate files are written to /tmp on LINUX 6.4.2 0.81 April 23rd, 2002
BWidget set inclusion of Tcl/Tk BWidget GUI set in Win32-tk binary 6.4.0 0.80 March 20th, 2002
pmt, nper, pv, fv, npv new financial functions for loan and investment calculations 6.4.0 0.80 March 20th, 2002
date-value new function converts date/time into seconds since 1970-1-1 6.4.0 0.80 March 20th, 2002
now new function returns detailed UTC date/time info: (y m d h m s us dy dw) 6.4.0 0.80 March 20th, 2002
exit now closes net work connection when running in '-d' demon mode 6.4.0 0.80 March 20th, 2002
MySQL:close-db in file mysql.lsp renamed from MySQL:close to avoid overwriting of close in MAIN in mysql.lsp 6.4.0 0.80 March 20th, 2002
map bug fix for crash caused by wrong argument type 6.4.0 0.80 March 20th, 2002
-d demon new demon mode: like -p but newLISP stays in memory to accept a new connection 6.3.23 0.76 January 7th, 2002
binomial new function for binomial cumulated density function (cdf) distribution 6.3.23 0.76 January 7th, 2002
put-url/post-url new functions for HTTP file transfer 6.3.23 0.76 January 7th, 2002
read-url/get-url bugfixes and handling of 207/305 return codes, renamed to get-url, old naming 'read-url' still available 6.3.23 0.76 January 7th, 2002
other smaller memory requirements for symbols 36 -> 32 bytes 6.3.21 0.76 November 14th, 2001
exiting newlisp-tk bugfix, on some systems newlisp.exe would stay in memory and would have to be killed using taskmanager, now exits reliably 6.3.21 0.76 November 14th, 2001
float added functionality, now also converts from integer (previously only from strings) 6.3.21 0.76 November 14th, 2001
integer

added functionality, now also converts from float (previously only from strings)
now also takes ints preceded by 0 (zero) as octals i.e. 055 -> 45 consistent with parser behaviour

6.3.21 0.76 November 14th, 2001
char bugfix, wouldnt work when number passed was a float, i.e.
(map char (sequence 65 90))
now works correctly.
6.3.21 0.76 November 14th, 2001

newlisp-manual.html newlisp-tk.html

changes and additions (e.g.: new chapter about arrays and hashes) 6.3.20 0.75 October 23rd, 2001
rotate new function for rotating lists 6.3.20 0.75 October 23rd, 2001
series new function for generating geometrical series 6.3.20 0.75 October 23rd, 2001
net-cleanup deprecated use (map net-close (net-sessions)) instead, net working examples adjusted accordingly 6.3.20 0.75 October 23rd, 2001
cond now returns condition when action clause missing (more standard behaviour) 6.3.20 0.75 October 23rd, 2001
error-text, error-event output cleanup 6.3.20 0.75 October 23rd, 2001
Ctrl-D no longer exits, because is a ctrl-key for command line, use Ctrl-C instead 6.3.20 0.75 October 23rd, 2001
sequence bug fix: rounding problem under some conditions 6.3.20 0.75 October 23rd, 2001
inc, set, define about 30% speedup 6.3.20 0.75 October 23rd, 2001
catch, eval-string bug fix: memory leak when error condition in catch and eval-string 6.3.20 0.75 October 23rd, 2001
xml-parse bug fix: when parsing closing tags without opening crashed 6.3.20 0.75 October 23rd, 2001
regex fixed memory leak in LINUX version, CYCGWIN uses regexp and recovers memory by itself after some time. 6.3.17 0.75 September 7th, 2001
directories install now into /usr/share/newlisp for better LSB compliance 6.3.16 0.75 September 6th, 2001
EOF / Ctrl-D will now exit newLISP instead of segfaulting 6.3.16 0.75 September 6th, 2001
ceil, floor, NaN? new floating point functions, better handling of NaN (not on some older BSD) 6.3.16 0.75 September 6th, 2001
newlisp-tk better graphics speed on some NT4.0 installations n/a 0.74 September 4th, 2001
net-lookup now works in both directions IP->hostname and hostname->IP 6.3.15 0.74 September 4th, 2001
xml-parse now accepts empty attribute/value strings 6.3.15 0.74 September 4th, 2001
newlisp-tk big speedup for graphics under LINUX n/a 0.72 August 22nd, 2001
newlisp-tk.html manual new chapter on application delivery n/a 0.72 August 22nd, 2001
commandline args in newlisp-tk lisp source files can be on commandline of newlisp-tk.exe n/a 0.72 August 22nd, 2001
docs changes in newlisp_manual.htmk and newlisp-tk.html 6.3.14 0.71 August 3rd, 2001
args nowthe symbol parameter is not required, also works in lambda expresssion, not only macro 6.3.14 0.71 August 3rd, 2001
context fixed crash bug surfacing in newLISP-tk with contexts 6.3.14 0.71 August 3rd, 2001
Tcl/Tk GUI first release in a Win 2k binary package   0.70 August 1st 2001
catch for catching errors when evaluating expressions 6.3.12   August 1st 2001
dotree iterate through symbol trees, usefull for simulating arrays and hashes 6.3.12   August 1st 2001
sys-info added symbol count 6.3.12   August 1st 2001
Function Description
Linux
and
Win2k

Win32
Date
Tcl/Tk integration with Tcl/Tk and GUI frontend with multiple Lisp editors browsers and GUI source level debugger 6.3.09 n/a July 17th 2001
string now can take multiple parameters 6.3.09 n/a July 17th 2001
debug new function, shortcut to start debugging 6.3.09 n/a July 17th 2001
regex now also returns sub expressions 6.3.09 n/a July 17th 2001
silent like begin but for silent evaluation wihout console output (used for integration with GUI frontends) 6.3.06 n/a

July 6th

2001

format fix for default data type, now also unlimited string length 6.3.06 n/a

July 6th

2001

-p commandline parameter -p commandline parameter for running newLISP in TCP/IP server mode, for integration with GUI frontends and remote operation 6.3.06 n/a

July 6th

2001

eval-string additional optional parameter for catching errors 6.3.06 n/a

July 6th

2001

regex fix for regular expression function for CYGWIN compile sent in by Steve Adams 6.3.01 n/a June 19th, 2001
LISP symbol handling Red Black balanced binary tree implementation, more scaleable and faster thahn the old simple binary tree implementation 6.3 n/a June 17th, 2001
lambda evaluation and statics better implementation of local statics feature, statics are now part of the lambda expressions, accessable by normal list functions 6.3 n/a June 17th, 2001
command line support now libreadline support on the command line for editing and scrolling back to previous commands 6.3 n/a June 17th, 2001
regex new function for POSIX 1003.2 regular expression string search 6.3 n/a June 17th, 2001
index new function for filtering lists 6.3 n/a June 17th, 2001
get-state, set-state eliminated / rewritten in newLISP. Local statics can now be accessed by other builtin function as part of the lambda expression 6.3 n/a June 17th, 2001
nth (nth -1 lst) now returns last elements consisten with other functions 6.3 n/a June 17th, 2001
ifft now normalizes correctly when N not power of 2 6.3 n/a June 17th, 2001
read-url now also handles url redirects 6.3 n/a June 17th, 2001
swap changed so negative offsets are treated as last element, consisten with other functions 6.3 n/a June 17th, 2001

beta, betai, crit-z, gammai, gammaln, invert, multiply, transpose

new functions for math / statistics 6.3 n/a June 17th, 2001
trace, debug-highlight trace now is a source level debugger, new functtion for debugger setup 6.3 had it already June 17th, 2001
error-event fixed bug in error event handling when error==0 6.3 n/a June 17th, 2001
collect, select new functions 'collect' and 'select' for selecting elements from a list. HTML manual rework for better formatting. 6.1.7 n/a March 23rd 2001
swap, read-url new function 'swap' for swapping to elements in a list, new function 'read-url' for reading a page/file from the web 6.1.5 n/a March 21st, 2001
case bug fix for 'true' working as default case 6.1.3 n/a March 9th, 2001
sublist the length parameter is now optional (assumes all to the end) 6.1.2 n/a Feburary 18th, 2001
fft, ifft new function fft, ifft for fast fourier transform and inverse 6.1.1 n/a October 20th, 2000
println new function println, like print but outputs a line-feed at the end 6.1.0 n/a

October 8th, 2000

print fixed buffer overflow bug in LINUX versions, this bug did not exist in Win32 versions 6.1.0 n/a October 8th, 2000
xml-parse, xml-error new function xml-parse for parsing XML documents, new xml-eror for reporting xml errors while parsing 6.1.0 n/a October 8th, 2000
join, sequence new function join for joining strings with a joint string in-between, new function sequence for generating lists of floating point sequences 6.1.0 n/a October 8th, 2000
for now works on floating point number arguments 6.1.0 n/a October 8th, 2000
prob-z, prob-chi2, crit-chi2 new functions to calculate the probability density of a normal distributed Z, probability of Chi-square and the criticak Chi-square for a given probability and degrees of freedom 6.1.0 n/a October 8th, 2000
evaluating lambda expressions fixed bug in parameter passing 6.0.75 6.22 August 18th,2000
putenv fixed in Linux on Win32 still not working with unknown cause 6.0.73 still broken July 26th, 2000
for fixed bug '(for (x from to) ...)' would run forever if from = to 6.0.72 6.20 July 8th, 2000
key-state returns state about keys on the keyboard. See changed newLISP help file for key-state, key-character and on-key. n/a 6.19 July 1st, 2000
on-key now fires two events (up and down key). See changed newLISP help for key-state, key-character and on-key. n/a 6.19 July 1st, 2000
DLL interface

current mathdll.dll, statdll.dll, extern.dll are all not working because of new definitions in header files.

a new version with corrected DLLs will be posted soon (July 1st 2000)

n/a 6.18 June 28th, 2000
read-line now unlimited size of line-feed limited text lines 6.0.71 n/a June 28th, 2000
string now unlimited size of resulting string 6.0.71 n/a June 28th, 2000
parse now unlimited tokensize when specifying break string parameter 6.0.71 n/a June 28th, 2000
reverse fixed error in 'reverse' when popping of last element 6.0.68 6.18 June 22nd, 2000
count new function 'count' counts elements of one list in another list 6.0.67 6.18  
expression evaluation 5% more speedup 6.0.65 6.18  
write-line now returns 'nil on file errors 6.0.63 6.18  
  for changes from older v5.73 Win32 and v6.0.34 Linux to later versions see the manuals in the Linux and Win32 GUI version      

 

copyright (c) 2003, Lutz Mueller/Nuevatec