Page 1 of 1

development version newLISP 8.6.5

Posted: Wed Sep 14, 2005 1:19 pm
by Lutz
* new function 'randomize'
* new function 'net-eval' for simpler distributed computing
* revised logging system
* bug fixes

For change notes and files see http://newlisp.org/downloads/development/

Lutz

Posted: Wed Sep 14, 2005 3:45 pm
by HPW
Hello Lutz,

thanks for the new release!

But there is a bug in newLISP.dll which breaks some of my plugin-functions.
On every return-string of the DLL a single space-char is added.

Examples:
'[text] ........[/text] '
'nil '

Note the last extra space. Since I match for the last seven bytes '[/text]' I now get no match and return-string processing failed.

Posted: Wed Sep 14, 2005 3:51 pm
by HPW
Seems also been added in newLISP-tk!

Later:
Cross-tested with 8.6.0 where it worked without the space.

Posted: Wed Sep 14, 2005 4:29 pm
by Lutz
The extra space is on purpose and the change is mentioned in the CHANGES notes. This is the reason why:

When evaluating multiple expressions remotely over Tcp/Ip, pipes or any other communications channel, then the results come back in a string buffer. When numberrs or strings are returned those get concatenated when no space is inbetween. The new 'net-eval' evaluates the buffers coming back in order to facilitate lisp expressions, i.e. lists as return values. The space ensures that results are not concatenated and only the last is returned as in a (begin ...) block.

Lutz

Posted: Wed Sep 14, 2005 6:44 pm
by HPW
So will it stay this way also for the DLL-version?
If so, I will modify the plugin to work with the new end-tag.

Posted: Wed Sep 14, 2005 7:26 pm
by HPW
I have released a hpwNewLISP 2.08 which adresses the new return-string.

Posted: Wed Sep 14, 2005 8:24 pm
by Lutz
Yes, dynamic and shared libraries are working the same way (win32, osx, unix)

Lutz

Posted: Thu Sep 15, 2005 5:20 am
by HPW
It seems that this great new release is pretty influenced by your kozorzu work.
;-)

PS: Distributed computing is far beyond my current use and understanding of newLISP,
but who knows when it might become usefull.

Posted: Fri Sep 16, 2005 5:45 am
by Fanda
There is an error in 'randomize':

> (randomize '())
()
> (randomize '(1 2))
(2 1)
> (randomize '(1))
=> infinite loop

It doesn't check for list of length 1.

Fanda

Posted: Fri Sep 16, 2005 11:25 am
by Lutz
thanks for catching this

Lutz

Posted: Sat Sep 17, 2005 6:21 am
by Fanda
I like to test your development versions.

I use newLISP only for playing, but I test it to allow other people write some real stuff.

Fanda