newLISP Stable Release v.10.5.4

Notices and updates
Locked
Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

newLISP Stable Release v.10.5.4

Post by Lutz »

This stable release fixes bugs and adds two new call patterns to the t-test function.

Files and release notes: http://www.newlisp.org/index.cgi?page=Downloads

johu
Posts: 143
Joined: Mon Feb 08, 2010 8:47 am

Re: newLISP Stable Release v.10.5.4

Post by johu »

Hello, Lutz.

I finished translartions of manuals.

CodePatterns-10504
newlisp_manual-10504

There are in here.

And,
line 26186 in newlisp_manual
moderatly significant. With a probability <tt>p = 0.021 (2.1%)</tt> the null hypothesis

moderately significant. With a probability <tt>p = 0.021 (2.1%)</tt> the null hypothesis
Regards,

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Re: newLISP Stable Release v.10.5.4

Post by Lutz »


xytroxon
Posts: 296
Joined: Tue Nov 06, 2007 3:59 pm
Contact:

Re: newLISP Stable Release v.10.5.4

Post by xytroxon »

Sanning the the inprogress - newlisp-10.5.5.tgz 14-Oct-2013 11:17
the following 48 suspect spelling errors were detected...

---------------

newlisp manual

artifial
bject
bufffer
clusteranalysis
comforming
controllling
cript
decription
defininitions
divisable
dsitribution
effectiviely
everage
floationg
freedmom
guarenteed
hyothesis
incorrecttly
informaton
intercative
libary
namspace
numer
ocurring
otation
partions
probablity
proteced
recived
signficant
specifed
speified
stntax
successfull
suport
teminal
ther
unifcation

--------------------

Code Patterns

decribed
folllowing
fuctions
hundered
intitialized
libray
proramming
receved
registerd
wil

------------------

-- xytroxon
"Many computers can print only capital letters, so we shall not use lowercase letters."
-- Let's Talk Lisp (c) 1976

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Re: newLISP Stable Release v.10.5.4

Post by Lutz »

Thanks for the corrections. Now online:

http://www.newlisp.org/downloads/newlisp_manual.html
http://www.newlisp.org/downloads/CodePatterns.html



Ps: in case you check again, some are false positives because of embedded HTML for bolding or underlining letters.

xytroxon
Posts: 296
Joined: Tue Nov 06, 2007 3:59 pm
Contact:

Re: newLISP Stable Release v.10.5.4

Post by xytroxon »

Sorry, I didn't have time to verify them all.

I just found my old Win 98 script* that I "lost" when I moved to Win 7 in 2010. The "jargon" word exclusion list may need adjustment.

-- xytroxon

* Written in some obscure futuristic language called "newLISP" ;o)
"Many computers can print only capital letters, so we shall not use lowercase letters."
-- Let's Talk Lisp (c) 1976

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Re: newLISP Stable Release v.10.5.4

Post by Lutz »

yes, it's things like this:

Code: Select all

<p>For a description of the JSON format (<u>J</u>ava<u>S</u>cript <u>O</u>bject <u>N</u>otation)

rickyboy
Posts: 607
Joined: Fri Apr 08, 2005 7:13 pm
Location: Front Royal, Virginia

Re: newLISP Stable Release v.10.5.4

Post by rickyboy »

Please pardon me if someone already caught these typos in the manual.

accepts mult-line statements

argumment

whole expression is evaluates in big integer mode

a multi-chracacter string

as strings without without the preceding

to resolve a function's application polymorphously. [rickyboy: Not 100% sure, but should the adverb read "polymorphically"?]

separator between between namespace

the the empty string

matix- [rickyboy: matrix- (?)]

userdefined

a buit-in function

in milli seconds

For each openport

net-connnect

for the timout to expire

when starting remode nodes

MAC OS X

When custom configured packets contains zeros

recieved

If no signal handler is speified

reset tratment of signal 2 to startup conditions

Students's t test

In the second syntax, the functions performs

Prosac
(λx. x x) (λx. x x)

FossilizedCarlos
Posts: 1
Joined: Mon Oct 14, 2013 5:18 am
Location: Houston, TX

Re: newLISP Stable Release v.10.5.4

Post by FossilizedCarlos »

Hello all,

Hope all is well. I installed newLISP on a debian system, and it will not load...

Code: Select all

newlisp: error while loading shared libraries: libffi.so.6: cannot open shared object file: No such file or directory
I was curious as to where newLISP looks for this file, as I have created a symbolic link to it, and I still receive the same message.

Thanks!
Carlos

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Re: newLISP Stable Release v.10.5.4

Post by Lutz »

It probably looks for it in either /usr/local/lib or /usr/lib. You could use ldd /usr/bin/newlisp to find out. Perhaps you need to run ldconfig (as root) to configure library paths as found in /etc/ld.so.conf.

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Re: newLISP Stable Release v.10.5.4

Post by Lutz »


rickyboy
Posts: 607
Joined: Fri Apr 08, 2005 7:13 pm
Location: Front Royal, Virginia

Re: newLISP Stable Release v.10.5.4

Post by rickyboy »

The following typos are still there:

argumment → argument

matix- → matrix-
(λx. x x) (λx. x x)

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Re: newLISP Stable Release v.10.5.4

Post by Lutz »


xytroxon
Posts: 296
Joined: Tue Nov 06, 2007 3:59 pm
Contact:

Re: newLISP Stable Release v.10.5.4

Post by xytroxon »

Tracked down some more spelling errors in the in-progress newlisp-10.5.5.tgz 06-Nov-2013

===================
newlisp_manual.html
-----------------

Arithmetik -> Arithmetic

The following operators, functions and predicates work on big integers:
Arithmetik operators: + - * / ++ -- %.

-----------------

recieved -> received

wait until status messages are recieved for each of the child processes.

======================
CodePatterns.html
-----------------

evaluater's -> evaluator's

This way variables can be set in the evaluater's environment, and messages can be routed to other processes.

-----------------

fuctions -> functions

Other fuctions could be added to the namespace, e.g. for initializing the sum.

-----------------

recieved -> received

message does not appear before all recieved messages are reported by process identified with B.

======================
newLISPdoc.html
-----------------

descrption -> description

create a file containing a @index and a @descrption link:

-----------------

messsage -> message

parameter: str-message - The messsage string to be printed.

;; @param <str-message> The messsage string to be printed.

-----------------

specificaton -> specification

Between the tag link specificaton and description is exactly one space:

===================
MemoryManagement.html
----------------------

becuase -> because

does not need to evaluate its arguments 3 and 4 becuase they are constants,

----------------------

newsly -> newly

Any newsly created result expression is destined to be destroyed later

----------------------

simlar -> similar

evaluateLambda(func, args) works simlar to evaluateFunc(func

----------------------

-- xytroxon
"Many computers can print only capital letters, so we shall not use lowercase letters."
-- Let's Talk Lisp (c) 1976

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Re: newLISP Stable Release v.10.5.4

Post by Lutz »

Many thanks Xytroxon, everything is updated and online.

jonok
Posts: 4
Joined: Wed Dec 11, 2013 6:38 am

Re: newLISP Stable Release v.10.5.4

Post by jonok »

I gather CYGWIN isn't supported any more ... but in any case I found an error in the code

in nl-import.c if FFI is NOT defined and CYGWIN IS, it breaks the following code, as there is a bracket inside the #ifdef that I'm presuming shouldn't be.

This is the cause of the weird error ...
nl-import.c:470:5: error: static declaration of ‘template’ follows non-static declaration

With this fix in place, newlisp compiles
the bracket with the FIX comment is currently inside the #ifdef FFI

starting from line 134 of nl-import.c
------------------
#ifdef CYGWIN
if(params != nilCell)
{
if(params->next == nilCell)
{
params = getString(params, &options);
if(strcmp(options, "cdecl") == 0)
type = CELL_IMPORT_CDECL;
}
#ifdef FFI
else type = CELL_IMPORT_FFI;
#endif
} /* FIX moved from inside previous ifdef FIX */
#else
if(params->next != nilCell)
type = CELL_IMPORT_FFI;
#endif
------------------

PS, I'm not sure why FFI is NOT defined ... as I have the cygwin libffi installed ... not sure if it's relevant or not.

jonok
Posts: 4
Joined: Wed Dec 11, 2013 6:38 am

Re: newLISP Stable Release v.10.5.4

Post by jonok »

OK ... after some more digging ... I enabled using the cygwin libffi packages and ffi.h.
I also testing using the default FFI stuff in the source distribution ... (ie I just fixed the bracket placement as in previous post) and it behaves exactly the same.

newlisp compiles and the qa-specific-test run by make test all run SUCCESSFULLY

the qa-dot test runs but fails at semaphore

jon@jon-Z930 /cygdrive/c/src/newlisp-10.5.4
$ ./newlisp.exe qa-dot > test_qa_dot.txt

Testing built-in functions ...
Bad system call (core dumped)

jon@jon-Z930 /cygdrive/c/src/newlisp-10.5.4
$ tail test_qa_dot.txt
-> rotate
-> round
-> save
-> search
-> seed
-> seek
-> select
-> self
-> semaphore

If there's interest in getting cygwin back as a supported platform, I'm happy to help.

Jon

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Re: newLISP Stable Release v.10.5.4

Post by Lutz »

Support for CYGWIN was dropped in 2005 for two reasons:

1. The newlisp.exe produced was not standalone Windows, but also needed a CYGWIN dll distributed with it to work.

2. Problems with the newLISP fork function on CYGWIN. Windows does not have a native fork(). The CYGWIN implementation gave problems. From what you tell, its seems to work fine on your CYGWIN build, because make test also includes testing the Cilk API using the test routines found in qa-specific-tests/qa-cilk. The Cilk spawn function uses fork() internally. See also here: http://cygwin.com/faq.html#faq.using.fi ... k-failures

The extended FFI using libffi was not introduced until November 2011. That is why it never has been tried in CYGWIN.

I am glad to hear that it compiles well now and you tried it using make testall. This more than doubles the number of tests compared to make test and also tries to test the libffi API.

The semaphore function is one of the first things to break when porting to other platforms. This function was introduced around the time CYGWIN support was dropping off. I think it only got implemented in the Borland-C compiled versions. Probably it would need new code be written to work on CYGWIN. semaphore is not a critical function in newLISP. You only would use it when working with the lower level fork function directly but not when using the Cilk and message API.

Ps: your brace fix for CYGWIN will be in the next version.

kosh
Posts: 72
Joined: Sun Sep 13, 2009 5:38 am
Location: Japan
Contact:

Re: newLISP Stable Release v.10.5.4

Post by kosh »

jonok wrote:the qa-dot test runs but fails at semaphore
To use semaphore function in cygwin, try install cygserver service.

http://cygwin.com/cygwin-ug-net/using-cygserver.html

Code: Select all

$ (login as root)
$ cygserver-config
$ cygrunsrv --install cygserver -p /usr/sbin/cygserver
$ cygrunsrv --start cygserver
$ make -f makefile_cygwin
$ ./newlisp.exe -n qa-dot

Testing built-in functions ...

Testing contexts as objects and scoping rules ...

total time: 5411

>>>>> ALL FUNCTIONS FINISHED SUCCESSFUL: ./newlisp

jonok
Posts: 4
Joined: Wed Dec 11, 2013 6:38 am

Re: newLISP Stable Release v.10.5.4

Post by jonok »

I can confirm that installing cygserver makes the semaphore test succeed!

Also, after tweaking qa-ffi to handle CYGWIN (by equating Windows to Cygin), eg replacing Win32 test with

(if (or (= ostype "Win32") (= ostype "Cygwin"))

all tests pass ...

$ make testall
make checkall | grep '>>>'
>>>>> ALL FUNCTIONS FINISHED SUCCESSFUL: ./newlisp
>>>>> Dictionary API tested SUCCESSFUL
>>>>> XML API tested SUCCESSFUL
>>>>> XML callback tested SUCCESSFUL
>>>>> JSON translation tested SUCESSFUL
>>>>> Signal testing SUCCESSFUL
>>>>> Network eval and network file functions IPv4 SUCCESSFUL
>>>> Cannot bind socket. Cannot test IPv6 on this platform.
>>>>> The Cilk API tested SUCCESSFUL
>>>>> Reference testing SUCCESSFUL
>>>>> Time per simple message: 31 micro seconds
>>>>> Time per round trip : 160 micros seconds
>>>>> Time per proxy trip: 310 micro seconds
>>>>> Message API tested SUCCESSFUL
>>>>> Memory allocation/deallocation SUCCESSFUL
>>>>> Exception testing SUCCESSFUL
>>>>> Floating point tests SUCCESSFUL
>>>>> FOOP nested 'self' tested SUCCCESSFUL
>>>>> FOOP symbol protection SUCCESSFUL
>>>>> UNIX local domain sockets SUCCESSFUL
>>>>> In-place modification passed SUCCESSFUL
>>>>> qa-utf16path: This test is only used on UTF8 enabled versions.
>>>>> 0.047 ms per write->read pipe/fork (0.0356 ms Mac OSX, 1.83 GHz Core 2 Duo)
>>>>> ffilib API testing SUCCESSFUL
>>>>> callback API 1234567890 (simple callback API) SUCCESSFUL
>>>>> callback API 1234567890 12345.6789 (extended callback API) SUCCESSFUL
>>>>> struct tested SUCCESSFUL
>>>>> struct ptr tested SUCCESSFUL
>>>>> abs, float, bigint, +, -, *, /, % big integers tested SUCCESSFUL
>>>>> parsing big integers SUCCESSFUL
>>>>> Benchmarking all non I/O primitives ... may take a while ...
>>>>> Performance ratio: 0.48 (1.0 on Mac OSX, 1.83 GHz Core 2 Duo, newLISP v10.2.8)

Lutz
Posts: 5289
Joined: Thu Sep 26, 2002 4:45 pm
Location: Pasadena, California
Contact:

Re: newLISP Stable Release v.10.5.4

Post by Lutz »

looks good!

What do you put here in qa-ffi:

Code: Select all

(define LIBC
  (case ostype
    ("Win32" "msvcrt.dll")
    ("Cygwin" "???????")
    ("OSX" "libc.dylib")
    ("Linux"
what is the name of the library, you would use for Cygwin?

jonok
Posts: 4
Joined: Wed Dec 11, 2013 6:38 am

Re: newLISP Stable Release v.10.5.4

Post by jonok »

I took a punt on equating Cygwin to Win32 so I put in msvcrt.dll, and it worked.

BTW, you should look closely at my fix ... it's completely naive.

Locked