#26oct20软件实验室。亚历山大伯格完美的实现不是在没有什么可添加的东西时,而是在没有其他东西可取的时候实现的(Antoine de Saint-Exupery)PicoLisp系统================== = _PI_co Lisp不是_CO_mmon LispPicoLisp可以从两个不同的角度来看:作为通用编程语言和专用应用程序服务器框架。(1)作为编程语言,PicoLisp提供了干净而强大的Lisp的一对一映射。派生到简单有效的虚拟机。它支持持久对象作为第一类数据类型,从而导致实体/关系类的数据库系统和类似于Prolog的查询语言紧密集成到系统中。虚拟机被设计为简单内部数据结构应尽可能简单。仅使用一个数据结构来构建所有更高级别的结构。不受限制由于虚拟机体系结构的限制,对语言没有任何限制。也就是说,除了主机的总内存大小以外,符号名长度,数字位数,数据结构和缓冲区大小没有上限。动态行为应尽可能具有动态性(运行时间与编译时间)。所有决策都会尽可能延迟到运行时。这涉及诸如内存管理,动态符号绑定和后期方法绑定之类的问题。实用的PicoLisp不仅仅是具有理论价值的玩具。自1988年以来,PicoLisp被用于实际的应用程序开发,研究和生产中。该语言继承了传统Lisp系统的主要优点,例如-动态数据类型和结构-代码和数据的形式等效-功能编程风格-交互式环境PicoLisp与任何其他Lisp方言。这部分是由于上述设计原则,部分是由于其自1984年以来的悠久开发历史。您可以在https://software-lab.de/pil21.tgz(2)下载最新发行版。作为应用程序服务器框架,PicoLisp提供NoSQL数据库管理索引树对象本地索引实体/关系类Pilog(PicoLisp Prolog)查询多用户同步DB垃圾收集日志记录,复制用户界面浏览器GUI(X)HTML / CSS XMLHttpRequest / JavaScript Application Server流程管理流程家族通信XML I / O导入/导出用户管理国际化安全性对象链接Postscript / PrintingPicoLisp不是IDE。软件实验室中的所有程序开发。使用控制台,bash,vip(vi样式编辑器)和Lisp解释器完成。应用程序支持的唯一GUI类型是通过HTML的浏览器,这使得客户端完全独立于平台。 GUI是动态创建的。尽管它使用JavaScript和XMLHttpRequest来提高速度,但它也具有完全的功能,而无需使用JavaScript或CSS。GUI与应用程序的数据模型深度集成,并从中动态生成。由于应用程序逻辑在服务器上运行,因此多个用户可以查看和修改同一数据库对象而不会发生冲突,由于内部过程和数据库同步,每个人都可以在其屏幕上立即看到其他用户所做的更改。PicoLisp是免费软件,欢迎您可以在MIT / X11许可的条件下使用和重新分发它(请参阅" COPYING"),它基于LLVM并可以在任何64位POSIX系统上编译和运行。 -------------------------------------------------- ----------------------亚历山大·伯格软件实验室。 / 7fach GmbH火车站24a,D-86462 Langweid abu @ software-lab.de,http://www.software-lab.de,+49 8230 5060