Changes
and Additions in newLISP for Linux, Free BSD, Mac OSX and Win32
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) |
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 |
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