newLISP 10.6.3 開發版發布,功能更新和 BUG 修復

cebp 9年前發布 | 5K 次閱讀 newLISP

newLISP是一個類似Lisp語言的、用于一般用途的腳本語言。它具有 LISP 語言所有的魔力,但更容易學習和使用。 newLISP是友好的,快速和簡小的。大部分您需要的功能都將已經內置。

newLISP 10.6.3 發布,此版本是開發版本,包括一些新特性和改進:

組件和改進

  • dolist now also accepts arrays.

    </li>

  • The net-eval function now returns the evaluation of the last function passed, not the first. The possibility of passing more than one expression in net-eval  is not documented.

    </li>

  • The system variable ostype on MS Windows now reports the string "Windows" not "Win32". Windows now also can be compiled as a 64-bit application.

    </li>

  • net-eval connection timeout changed to 15 seconds from 60 secconds. The processing timeout while connected can still be set by the user in a net-eval parameter.

    </li>

  • The environment variable HTTP_AUTHORIZATION has been added to the variables handled in HTTP server mode.

    </li>

  • In date-value the date and time numbers can now be given in one list instead of separate number parameters using and additional syntax.

    </li>

  • The date-list function, when given without a parameter, now returns the date list for the current UTC date and time value.

    </li>

  • The trim function without trim character parameters will now trim all white-space characters, not only spaces.

    </li>

  • dump now returns the number of cells dumped not true.

    </li>

  • A new trace syntax (trace int-device) writes all expression entries and exit results to the device given. int-device can be could be an open file or 1 for stdout.

    </li>

  • The stack trace in error messages now prints the entire espression passed for evaluation, not only the function name.

    </li>

  • The tmp directory is now defined on newLISP startup. For UNIX this is /tmp, for Windows it is taken from the TMP environment variable or assumed as /tmp.  The directory is used by the built-in function share and the built-in HTTPD server.

    </li>

  • A new newLISP library call (newlispLibConsole 1) forces console output to stdout instead of writing to the return string of newlispEvalStr. The same call also enables console input viastdin.

    </li>

  • newLISP can now be compiled as a 64-bit executable. Thanks toShigeru Kobayashi for doing most of this work.

    </li> </ul>

    Bug 修復

    • date-list crashed for negative values on some Windows versions.

      </li>

    • The det and mat functions now give an error message when passed the wrong dimensions.

      </li>

    • HTTP server mode now works correctly with Apache server, when the environment variables NEWLISPDIR and PROGRAMFILES are not defined. Default file paths are assumed for these variables.

      </li>

    • HTTP only server mode with command-line switch -http did not reject net-eval requests.

      </li>

    • expand could crash when evaluating binding lists.

      </li>

    • The 'json-parse' function now handles 64-bit number also in 32-bit versions of newLISP.

      </li> </ul>

      下載http://www.newlisp.org/downloads/development/newlisp-10.6.3.tgz 

      下面是一段示例代碼:

      (command-event (fn (s)
          (local (request)
              (if (find "?" s) ; is this a query
                  (begin
                      (set 'request (first (parse s "?")))
                      ; discover illegal extension in queries
                      (if (ends-with request ".exe") 
                          (set 'request "GET /errorpage.html")
                          (set 'request s)))
                  (set 'request s))
              request)
      ))
       本文由用戶 cebp 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
       轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
       本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!