#lisp

2020-10-30 0:37
欢迎回到编译Lisp系列。上次,我们学习了智能指令编码。这一次,我们将使用这些知识来编译过程调用。 Lisp中常用的函数表达式是lambda--一个可以接受参数和关闭变量的匿名函数。过程调用不是这样的。它们是更简单的构造,只接受参数并返回值。 我们首先添加过程调用作为完全闭包支持的垫脚石,这将帮助我们建立某种内部调用......
The Nature of Lisp (2006)(www.defmacro.org)
2020-10-26 17:31
当我第一次在Web的各个角落偶然发现Lisp倡导时,我已经是一名经验丰富的程序员了。在那件事上 在这一点上,我已经领会了在当时看起来范围很广的编程语言。我很自豪拥有常见的嫌疑犯(C++、Java、C#、 等)。在我的服役记录上,我的印象是我知道关于编程语言的一切。我不可能 可能更大错特错了。 当我看到一些示例代码时,......
2020-10-26 11:23
我遇到的每个LISP黑客,包括我自己,都认为Lisp中的所有括号都令人讨厌和奇怪。当然,一开始是这样的。不久之后,我们都得到了同样的顿悟:LISP的力量在于这些括号!在这篇文章中,我们将踏上一段通往那个顿悟的旅程。 假设我们正在创建一个让你画东西的程序。如果我们用JavaScript编写,我们可能会有如下函数: Dr......
2020-10-19 13:54
欢迎回到编译Lisp系列。在这个激动人心的新更新中,我们将学习更多关于x86-64指令编码的知识,而不是在堆上分配更多有趣的东西或添加过程调用。 我之所以写这段插曲,是因为我把编译器代码中的一个寄存器(krbp改成了krsp),所有的地狱都崩溃了-结果程序崩溃了,rasm2/Cutter在给我的二进制文件时解码古怪的......
2020-10-18 0:28
露露出版社,2020-301页-17个数字-6和34;格式-CC0代码。 本文以最小LISP为主题,提供了几种实现,从简单的元循环求值器到完整的编译器,都可以发出单一的、独立的C程序。讨论嵌入了对LISP早期黑客行为的反思。 或者,在Postscript中获取穿孔卡片生成器,这样您就可以创建自己的穿孔卡片图像,就像书......
2020-10-12 7:5
欢迎回到“编译Lisp”系列。上次我们添加了对IF表达式的支持。这一次,我们将添加对基本堆分配的支持。 堆分配有几种形式,但我们现在关心的是cons原语。与编译器中的AST_NEW_Pair非常类似,consout应该: 一旦我们有了那一对,我们就可以查看它的数据了。这意味着我们现在可能还应该实现CAR和CDR原始函......
Lisp and Haskell (2015)(markkarpov.com)
2020-10-8 15:20
Haskell、Lisp和Haskell可以说是一些比较独特的语言。比较语言总是很有趣的,所以让我用一个故事来娱乐你们,我是如何最终决定哪种语言更好的。 当我第一次发现Common Lisp时,它让我大吃一惊。说真的,Lisp具有一致的语法、良好的设计和独特的元编程功能。在Common Lisp之后,我学习了其他几种......
Compiling a Lisp: Reader(bernsteinbear.com)
2020-9-25 1:2
欢迎回到“编译Lisp”系列。这一次,我想暂停编译,最后添加一个阅读器。我终于对手动输入日益复杂的AST感到沮丧了,所以我想是时候了。在这篇帖子之后,我们将能够输入如下程序: 让我们的编译器为我们制作ast!魔法。这也将为我们增加一些很好的调试工具。例如,假设有一个交互式命令行实用程序,我们可以在其中输入Lisp表达......
2020-9-12 17:18
TXR Lisp是从Lisp语言发展而来的一种创新的原创方言。它不是Common Lisp、Scheme或任何现有方言的实现。 TXR Lisp的目标之一是消除Lisp编程中的冗长,这样做不会与Lisp的思想冲突。这意味着使程序简洁的主要手段是类似的设备,而不是语法上的糖块。然而,当糖不破坏周围的语法时,它们也会被使......
2020-9-12 2:57
Andrew Sengul将介绍APRL语言到Common Lisp的编译器APRPLE。APL是一种使用简洁、一致的语法和数组的语言……
2020-9-6 23:49
欢迎回到“编译Lisp”系列。上一次,我们完成了将其余常量作为标记指针立即数添加的操作。由于只有值(无法对其进行操作)没有多大用处,我们将添加一些原始的一元函数。 “原语”在这里指的是它们内置于编译器中,因此我们实际上不会编译对汇编过程调用的调用。这也称为编译器内部机制。“一元”表示函数只有一个参数,“函数”有点用词......
2020-8-31 23:48
NewLISP是一种类似Lisp的通用脚本语言。它特别适合于人工智能、模拟、自然语言处理、大数据、机器学习和统计等领域的应用。由于其对资源的要求很小,newLISP非常适合于嵌入式系统应用。您需要的大多数功能都已内置。这包括联网功能、对分布式和多核处理的支持以及贝叶斯统计。阅读有关新LISP的更多信息 了解newLI......
2020-8-17 2:59
2.10.。变量的匹配、保护和作用域
If Lisp is so great(www.paulgraham.com)
2020-8-9 22:6
2003年5月如果Lisp这么棒,为什么没有更多的人使用它呢?在我最近的一次演讲中,观众席中的一位学生问了我这个问题。这也不是第一次了。在语言中,就像在许多事情中一样,受欢迎程度和质量之间没有太大的相关性。为什么约翰·格里沙姆(“侵权之王”销量排行榜,44位)的销量超过简·奥斯汀(“傲慢与偏见”销量排行榜,6191位......
2020-8-7 5:0
保罗·麦克琼斯(Paul McJones)已经完成了从施乐(Xerox)帕洛阿尔托研究中心(Xerox Parc)收集文件的工作,CHM集合表示知识产权清晰时的代码快照(Xerox拥有快照时的所有内容,并允许CHM显示和分发它);机会在于管理代码,并可能为其创建一个新的执行环境(例如,Josh Dersh的Darks......
Typed Lisp, a Primer (2019)(alhassy.github.io)
2020-7-19 3:10
摘要我们先与Haskell作一个简单的比较,快速浏览一下类型理论,然后徒劳地试图为动态方法辩护,给出一个有点幽默的历史描述,注意到您已经上当了-类型一直都在那里-然后深入一些Lisp类型的技术细节,最后展示宏是如何允许输入的。 展示如何在Lisp中定义像Pair和可能这样的代数多态类型。包括异构类型的列表! 除非另有......
2020-7-15 20:42
了解Common Lisp条件系统的功能和示例用法。本书通过提供关于Lisp条件系统及其控制流机制的详细信息,补充了现有的学习Common Lisp语言的材料;它还描述了一个符合ANSI的条件系统的实现示例。在“Common Lisp条件系统”的第1部分中,作者使用自下而上的方法介绍了条件系统,并逐段构建它。他使用一......
2020-7-8 23:5
;;x轴(定义参数x(i从0到10乘以0.1收集i的循环));;y轴(定义参数y(mapcar#';sin x))
2020-7-5 12:54
Lisp徽章是一台独立的计算机,基于ATmega1284,有自己的显示器和键盘,您可以用uLisp编程: 您可以使用它来运行程序,这些程序通过I/O引脚与LED和按钮等组件接口,读取模拟输入,并通过I2C和SPI接口操作外部设备。它有一个灰度OLED显示屏,可提供8行42个字符,以及一个为Lisp优化的集成45键键盘......
2020-7-1 8:58
在我读物理研究生院的第一天,我们班的电磁学教授一开始就走到黑板前,一言不发地写下了四个方程式: 他退后一步,转过身,说了类似[1]的话:“这些是麦克斯韦方程。只有四个紧凑的方程式。只需做一点工作,就很容易理解方程式的基本元素-所有符号的含义,我们如何计算所有相关的量,等等。但是,虽然理解方程式的元素很容易,但理解它们......
2020-6-20 2:18
这是关于从零开始为终端构建McCLIM后端的教程的第二部分。读完第一期后,我们应该很好地掌握如何控制和读取来自终端的输入。为了提高效率和易用性,现在是时候改进一下了。如果你没有读完最后一部分,这里是包含源代码的归档文件,它将作为这篇文章的起点。 目前,我们的I/O与终端同步。当我们调用outor ctl时,字符立即被......
2020-6-17 15:46
这是一种语言的实现,在1962年麻省理工学院的McCarthy、Abrahams、Edwards、Hart和Levin所著的LISP 1.5程序员手册的前几页中以极高的简洁性定义了该语言。 这是一个教学实验,目的是看看该书第13页上定义的解释器(实际上是EVALQOUTE/APPLICE)工作得有多好。答案是:当然是......
The Lisp 2 Project(mcjones.org)
2020-6-12 2:20
《LISP 2项目》出现在《IEEE计算史年鉴(开放获取)》2017年10月至12月的第三期期刊中。 我第一次听说LISP 2是在1971年左右,那是在1966年的一篇会议论文中,这篇论文包括在加州大学伯克利分校高级编程语言研讨会的阅读材料中。LISP 2的目标是将ALGOL和FORTRAN等面向数字的语言的优点与L......
2020-5-25 1:49
在Grammarly,我们业务的基础,我们的核心语法引擎,是用Common Lisp编写的。它目前每秒处理一千多个句子,可水平扩展,并且已经在生产中可靠地服务了近三年。我们注意到,关于如何将Lisp软件部署到现代云基础设施的说明非常少(如果有的话),所以我们认为分享我们的经验会是一个好主意。Lisp运行时和编程环境提......
2020-5-17 22:32
该应用程序解释一种LISP方言,以自动执行简单的图形任务,如调整大小、裁剪、着色和生成过程图像。您可以查看这些示例文件以更好地理解这一切是如何工作的。 雷卡的Macbook于2016年在墨西哥恩塞纳达问世后,第一版“罗宁”在墨西哥恩塞纳达问世。它于2019年晚些时候在日本重新上映。 我们创造了我们自己的工具,制造了光......
2020-5-13 14:34
当程序员讨论不同编程语言的相对优点时,他们经常用平淡无奇的术语谈论它们,就好像它们是工具带中的许多工具-一种可能更适合于系统编程,另一种可能更适合将其他程序粘合在一起来完成一些特别的任务。这就是它应该是的样子。语言有不同的优点,声称一种语言比其他语言更好,而不参考特定的用例,只会招致一场徒劳和尖刻的辩论。 但有一种语......
2020-5-2 18:6
回到咖啡馆开门的时候,我遇到了一位热情的程序员,他想告诉我Clojure语言有多棒。虽然我完全同意这一观点,但我发现具有讽刺意味的是,这位程序员似乎没有意识到,我在职业生涯的15年里一直使用Lisp作为我的主要语言。这让我想起了约翰尼·卡什的这首歌: 我当时正在帕洛阿尔托一家时髦的咖啡馆里带着我的笔记本电脑,这时我路......