Lisp way to explore https:https://cdn.v2ex.com/navatar/6392/3f49/275_normal.png?m=1340401232 https:https://cdn.v2ex.com/navatar/6392/3f49/275_large.png?m=1340401232 2024-09-22T02:44:53Z Copyright © 2010-2018, V2EX 大佬们有没有推荐 lisp 的资料,最好是 ansi lisp tag:www.v2ex.com,2024-09-22:/t/1074757 2024-09-22T01:47:53Z 2024-09-22T02:44:53Z BlackSnow member/BlackSnow 刚入门,觉得这边的中文翻译有些问题。
中文版

像 s 表达式特性,disp 中的宏是怎样实现的,文档就没解释清楚

求一下比较推荐的资料

]]> Lem 编辑器, Emacs 的继任者 tag:www.v2ex.com,2023-09-22:/t/976193 2023-09-22T06:20:25Z 2023-09-22T06:19:25Z JRTx member/JRTx 刚刚无意间刷到一个编辑器 Lem, 用 common lisp 写的。官网宣传可以默认当做 common lisp 的 ide 来用。项目热度还挺高的,看起来很有希望作为 emacs 的继任者,解决 emacs 的一些图形化性能问题。

]]>
请问 lisp people, 哪些能力是只有宏能实现,而函数不能实现的? tag:www.v2ex.com,2021-08-21:/t/797181 2021-08-21T07:17:58Z 2021-08-30T05:44:18Z yazinnnn member/yazinnnn 其他语言实现这些功能的难度咋样?

]]>
试了试缩进语法写 Lisp tag:www.v2ex.com,2021-06-27:/t/786105 2021-06-27T13:46:03Z 2021-08-14T14:11:59Z jiyinyiyong member/jiyinyiyong

人们不愿意相信,一个 Lisp 的语法,是缩进。人们更愿意相信,它是括号。人们特别愿意相信,它的每一行应该..都带着括号。 (from internet.)

<<Bilibili 视频: 缩进语法写 Lisp.>>

虽然想着分享出来看看大家想法, 不过毕竟是争议性话题, 如果有比较重的想法还是尽量阐释一下背后的逻辑吧....确实我比较关心真实的使用场景会遇到什么样的不同情况. 我个人的经验和理解, 缩进跟括号的问题跟工具的关联性很大, 比如说我用的 Sublime Text 没装插件, 所以认为括号处理起来叫麻烦, 所以可能对应是用的什么工具也值得说明一下.

视频和图片当中的程序,

当然我相信, 在最终业务或者个人需求要用到编程语言的时候, 大多数人考虑的还是语言的生态, 语言的抽象能力, 语言的工具链, 而不是单纯语法如何如何. 所以很少会去选择 Lisp, 更不会单单为了缩进就去选中一个语言.

仅仅单纯从上手使用的复杂度跟使用场景来说, 前缀表达式配合缩进语法怎么样? 还有 Python 好像因为某些原因国内用的人多起来了, 不知道后边反馈怎么样? 这边有没有学校里学 Python 入门的同学?

补充一个关于上下文的视频描述 https://www.bilibili.com/video/BV15v411H7JB/ .

]]>
是什么原因没有让 lisp 进入工业界(公司)的首选语言呢 tag:www.v2ex.com,2019-08-05:/t/589077 2019-08-05T01:38:20Z 2019-11-19T20:12:25Z pythonee member/pythonee 一款 lisp 写的基于 GPU 渲染的编辑器 tag:www.v2ex.com,2019-06-29:/t/578591 2019-06-29T12:30:57Z 2019-06-29T15:36:22Z evilbinary member/evilbinary duck-editor

鸭子编辑器 https://github.com/evilbinary/duck-editor
基于 scheme 开发的,GPU 渲染,高可扩展。

效果图

扩展

支持可扩展

已有扩展

  1. scheme 语法高亮
  2. dracula 主题
  3. 文件管理

扩展开发

 (import (extensions extension)) (register 'theme.dracula (lambda (duck) (let ((editor (get-var duck 'editor)) ;;扩展功能代码块 )) 

作者

]]>
SICP 走起 tag:www.v2ex.com,2018-04-06:/t/444755 2018-04-06T14:27:08Z 2018-09-16T16:57:37Z douglarek member/douglarek https://lingchao.xin/post/sicp-quickstart.html ]]> [101]如何在迭代展开过程中输出中间数据? tag:www.v2ex.com,2018-01-05:/t/420492 2018-01-05T15:51:52Z 2018-01-14T05:51:42Z ZoomQuiet member/ZoomQuiet 俺是 Lisp 初学者, 先从 Scheme 建立函式语言的感觉,

刚刚开始刷: The Little Schemer - 4th Edition (豆瓣)

环境:

; member? _v1 尝试将探索过程打印出来 (define iter4cond ()) ; 声明寄存容器 (define member1? ; 声明函式 (lambda (a lat) ; 绑定匿名函式, 接收参数 a lat (set! iter4cond (cons iter4cond lat)) ; ??? (cond ; 系列 if 判定 ((null? lat) #f) ; 法则->先检验 目标原子是否为空? 是, 直接退出并返回 #f (else (or ; 否则 or 一下两种对比 ;(define lat1st (car lat)) ;(display lat1st) (eq? (car lat) a) ; 第一个成员是否和 对比原子相同? ;(eq? lat1st a) ; 第一个成员是否和 对比原子相同? (member1? a (cdr lat)) ; 对其它成员使用 member 进行检验 ) ) ) ) ) 

所以, 不得不用过程语言的方法, 通过全局列表收集过程中的数据,

再另外打印:

比如:

(define lat `(fried eggs and scrambled egg)) (define b 'and) (member1? b lat) => #t 

iter4cond 

才能输出:

(((() fried eggs and scrambled egg) eggs and scrambled egg) and scrambled egg) 

可能还得另外构建合理的可视化输出函式,

所以, 俺的问题是, 这种场景中, 是否可以在计算过程中, 安全输出中间数据, 而又不干挠正常的迭代展开?

]]>
The Humble Book Bundle: be a coder tag:www.v2ex.com,2017-12-19:/t/416011 2017-12-19T07:38:01Z 2017-12-19T07:35:01Z snger member/snger Humble Book Bundle has released a new Book Bundle! Be a Coder by no starch press! It ’ s valid today 12/18/17 until 1/1/18! Get it HERE!

Tier $1 or more:

Tier $8 or more:

Tier $15 or more:

Tier $18 or more:

比较推荐 1 刀包和 8 刀包,reddit 上的 讨论

]]>
scheme 一个好玩的开源库 tag:www.v2ex.com,2017-06-11:/t/367688 2017-06-11T16:43:59Z 2017-10-25T15:41:37Z evilbinary member/evilbinary 一个很好玩的开源库 https://github.com/evilbinary/scheme-lib

scheme-lib

scheme-lib 是一个 scheme 使用的库。目前支持 android mac linux windows,其它平台在规划中。

linux、mac

安装编译

  1. linux 下安装apt-get install freeglut3-dev libgles1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libalut-dev libopenal-dev libffi-dev依赖库。
  2. mac 安装 xcode command line tool。
  3. 执行make命令就可以编译,对应平台的文件在bin目录下。
  4. 进入bin目录,执行source env.sh,然后运行./scheme --script ../apps/hello.ss就可以运行例子。

截图

android

新手入门

环境安装

  1. 先安装scheme-release-1.2.apk
  2. 将手机连接电脑,开启 adb 调试模式(需要安装 adb 命令,不会用 goolge )。进入cd scheme-lib/android/src/packages,在 shell 下执行python sync.py命令,这样每次修改后,会自动同步 packages 下的代码到手机/sdcard/org.evilbinary.chez/lib目录下面,这样方便运行了。
  3. 在 run 界面里面输入测试代码。比如:
(import (test) (gles1) (glut) ) (load "/sdcard/org.evilbinary.chez/lib/apps/hello.ss") 

demo 例子

;imgui 例子 ;imgui hello,world (define (imgui-test-hello-world) (glut-init) (imgui-init) (imgui-scale 2.5 2.5) (glut-touch-event (lambda (type x y) (imgui-touch-event type x y) )) (glut-key-event (lambda (event) (imgui-key-event (glut-event-get event 'type) (glut-event-get event 'keycode) (glut-event-get event 'char) (glut-event-get event 'chars)) (if (= 4 (glut-event-get event 'keycode )) (begin (imgui-exit) (glut-exit))) )) (glut-display (lambda () (imgui-render-start) ;(imgui-test) (imgui-set-next-window-size (imgui-make-vec2 200.0 140.0) 0) (imgui-begin "evilbinary" 0) (imgui-text "hello,world") (imgui-end) (imgui-render-end) )) (glut-reshape (lambda(w h) (imgui-resize w h) )) (glut-main-loop)         (imgui-exit)) 

运行效果如下:

测试配置

  1. 在手机上输入运行代码可能不方便,所以弄了个配置文件,把需要运行的代码放到配置中会自己加载代码运行。配置文件为config.xml内容如下:

    <?xml version='1.0' encoding='utf-8' standalOne='yes' ?> <map> <string name="debugCode">(import (test) (gles1) (glut) ) (load "/sdcard/org.evilbinary.chez/lib/apps/draw-point.ss") ;(imgui-test-hello-world) </string> </map> 
  2. adb push config.xml /sdcard/org.evilbinary.chez/conf/config.xml

  3. 打开 scheme app 就可以直接运行啦。

高级篇

android 使用外部库

  1. 手工添加 Android.mk 和源码文件到scheme-lib/android/src下命名为 libhadd 的文件夹。 add.c 内容如下:

    #include <stdio.h> #include <stdarg.h> int add(int a,int b){ return a+b; } 

    Android.mk 内容如下:

    LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) include $(LOCAL_PATH)/../Optimizations.mk LOCAL_MODULE := add LOCAL_SRC_FILES := add.c LOCAL_C_INCLUDES := LOCAL_CFLAGS += -I. -I./c/ LOCAL_CFLAGS += -g -Wall -DANDROID -DINLINES -DGC_MACROS -Wno-unused-parameter -pie -fPIE -fPIC LOCAL_LDLIBS += -ldl -llog -lz include $(BUILD_SHARED_LIBRARY) 
  2. 执行make android

  3. 将编译后生成的库android/src/libs/libadd.so 同步到/sdcard/org.evilbinary.chez/lib目录下,这样能调用外部库了。

  4. 调用外libadd.so库和使用代码如下:

    (import (scheme) (utils libutil) ) (load-lib "libadd.so") (define-c-function int add (int int) ) (display (add 100 1234)) 
]]>
lambda calculus 解决了什么问题? 为什么会出现这个理论? 为什么说它很有价值? tag:www.v2ex.com,2017-04-11:/t/353991 2017-04-11T01:58:14Z 2018-06-02T11:52:24Z nthhdy member/nthhdy 最近对 lambda calculus 比较感兴趣,读了一些博客和文章,了解了 expression, abstraction, application, a 变换, b 变换, church numbers, Y combinator 等等这些东西,脑子里有了一些简单的推倒. 各文章关于这些内容大同小异,却很少触及题目所述问题,既"这个东西到底有啥用".

我不了解计算原理,可计算性问题,形式系统,逻辑学什么的这些概念.许多文章说起这些概念,然后一句带过,让我感觉这背后水很深的样子,下面无从下手了.

大家是怎么学过来的?一定要了解这些数学理论,才能回答我的问题吗? 求教站内大牛.

]]>
哪里可以找到关于 ANSI Common Lisp 中函数名字的由来? tag:www.v2ex.com,2017-01-12:/t/334093 2017-01-12T04:45:48Z 2017-02-25T20:40:21Z sshpandas member/sshpandas 刚开始学 ANSI Common Lisp ,很多函数的名字都很奇怪。比如mapcar为什么叫mapcar?直接叫map不好吗?又比如,不自动换行的print为什么叫prin1?取 list 的第一个元素为什么叫car?诸如此类的问题,哪里可以找到相关的资料?

]]>
Ask Him Anything: Lisp 社区的核心贡献者 - Kartik Agaram tag:www.v2ex.com,2016-07-11:/t/291688 2016-07-11T05:24:24Z 2016-07-12T01:59:49Z CodingNET member/CodingNET

本期 #AMA# 我们邀请到了来自 Google 的工程师,mu 语言 的创办者,Lisp 社区 的核心贡献者 - Kartik Agaram

Kartik 致力于让代码更易读,让开发更简单!你可以问他任何问题(请使用英语) https://coding.net/u/akkartik/p/AMA

I'm working on ways to better convey the global structure of programs. The goal: use an open-source tool, get an idea for a simple tweak, fork the repo, orient yourself, and make the change you visualized -- all in a single afternoon. I'd like to live in such a world, wouldn't you? http://akkartik.name

]]>
怎么看 Clozure Common Lisp 的 image 的内容? tag:www.v2ex.com,2015-12-31:/t/247542 2015-12-31T12:14:55Z 2015-12-31T12:11:55Z cute member/cute http://ccl.clozure.com/

安装了一个 Mac App ,是使用 Clozure Common Lisp 写的,我看到里面有个 dx86cl64.image, 大小有 80 多 MB 。 ]]>
写了一份 Racket/Emacs 的入门配置指南 tag:www.v2ex.com,2015-09-07:/t/218848 2015-09-07T06:19:13Z 2015-09-18T17:04:23Z keyanzhang member/keyanzhang 这个学期在做 Dan Friedman 先生的课程助教。上课需要用到 Racket ,所以我写了一份简单的 Emacs 配置指南;如果你想使用 racket-mode 又还没用过 Emacs ,这份文档可能是不错的起点。如有疏漏还请不吝 Issue 和 PR :)

https://github.com/keyanzhang/c311-get-started


init.el 中包含的内容如下:

]]>
Scheme 与 Church Number tag:www.v2ex.com,2015-07-02:/t/202918 2015-07-02T15:02:21Z 2015-07-10T18:54:06Z abcdabcd987 member/abcdabcd987 今天看到SICP第二章 Church Number 的习题,感觉非常的有意思,写了篇博客,欢迎大家来指导

https://abcdabcd987.com/scheme-church-number/

]]>
用过 racket 的进,其实只要你觉得有兴趣的都可以过来看看 tag:www.v2ex.com,2015-05-25:/t/193705 2015-05-25T16:07:55Z 2015-05-27T09:29:10Z codecrash member/codecrash 楼主最近在学racket ,发现打包生成二进制文件时,在本地测试一切ok,没有任何问题
但是一旦换到别人的机器上就发现无法正常运行。好像是显示少了那些依赖的类库文件。
可是我在编译生成可执行文件时已经选择了release模式了,为什么依然无法将这些依赖一起打包编译
官方文档里面编译这一块写的比较简略,没能解释这个问题,有关raco函数的部分又太高深还不太看得懂
另 v站有多少会racket的老司机,求指导。一直会觉得lisp,racket这些东西太小众。

]]>
又一个玩具 Scheme 解释器,使用 Python 编写 tag:www.v2ex.com,2015-03-14:/t/176928 2015-03-14T13:49:40Z 2015-03-14T21:46:40Z kcworms member/kcworms 其实在本站搜索可以找到已经有人写过了(顺便里面提到的lispy非常值得参考),这个的功能绝对没有希望……不过这个应该有一些特别的地方:

现在的状况是可以运行练习2.42(八皇后谜题的那个)的代码,但是参数设成5就会突破Py递归深度上限。除法和浮点数都不能用!

这个项目应该可以完成第四章的使命,等做到4.1.7节分离语法分析与求值过程之后顺便加一下尾递归优化应该可以把上面的问题解决……

Repo

]]>
我使用 GNU Common Lisp 开始 Lisp 的学习 tag:www.v2ex.com,2015-02-20:/t/171916 2015-02-20T07:57:56Z 2015-02-22T03:12:16Z huihoo member/huihoo http://book.huihoo.com/on-lisp/on-lisp-zh-cn.pdf 开始 Lisp 之旅。 ]]> 在读 On Lisp tag:www.v2ex.com,2013-07-13:/t/75666 2013-07-13T12:12:59Z 2013-07-13T13:20:26Z kernel1983 member/kernel1983
我觉得 SICP 很难看下去,尤其反感课后作业,可能是自己还没到那个水平吧。

On Lisp 则没有这样的困难,一种娓娓道来的感受 ]]>
学Clojure的朋友们快去做4clojure啊! tag:www.v2ex.com,2013-06-09:/t/71861 2013-06-09T21:53:30Z 2013-08-24T01:06:11Z unionx member/unionx http://www.4clojure.com/

很赞的,做完了还能看别人的解法,特别有意思 ]]>
Exercise SICP in Lua tag:www.v2ex.com,2013-03-14:/t/62897 2013-03-14T05:16:37Z 2013-03-14T05:16:37Z middleware member/middleware 这是看到 Chapter 4.1.4 时的代码:

https://github.com/middlefeng/LuaLisp ]]>
想给身边的人推荐lisp但是发现接受的很少 tag:www.v2ex.com,2013-02-08:/t/60085 2013-02-08T03:23:14Z 2014-07-24T13:28:20Z caijj member/caijj
我感觉许多人用一种语言用过一段时间就会对他产生感情,然后就不会轻易更换语言。
在网上看了很多。大家似乎公认lisp算是那么几个处于高级语言顶端的语言。但是谈到为什么不用他的时候人们第一反应就是这是一个搞学术,搞数学的语言。实际工作还是要用java,c++,python因为大家都在用。

但是现在clojure出来了,能使用所有java的库 上面这个借口似乎不再适用了。

人们还说lisp的宏使得多人合作,维护很困难。 但是我认为如果说需要10个人用java开发的话那么在宏的帮助下3个人差不多就能在lisp下开发了。 就算宏再怎么复杂,也就是把3个人的复杂度变成6个人吧? 还是比10人用java效率高多了。

还有人说lisp很难理解,只有高手才能用的好。这个听起来就觉得很奇怪..

上面这些内容基本都是在网上看别人说的总结出来的。我本身只是lisp刚入门,甚至说计算机领域也是刚入门。 听好多人说lisp很强,试过之后虽然还没有感觉到他的强但是觉得比较酷炫,不过推荐给别人却没人接受,网上也没多少人用,这到底是为什么呢? ]]>
Lisp 的 Vim 插件有什么推荐? tag:www.v2ex.com,2012-10-25:/t/50893 2012-10-25T10:25:56Z 2012-10-25T12:14:06Z tioover member/tioover
查了一下 Vim Lisp 的文章

http://nicklhy.blogspot.jp/2012/04/vimlispslimevim.html

http://stackoverflow.com/questions/94792/using-vim-for-lisp-development

http://tonybai.com/2011/08/05/some-experience-of-common-lisp-beginner/

http://reverland.bitbucket.org/lisp-environment.html

…… ]]>
有人关注ansi common lisp么?可以看一下豆瓣上的这两个贴 tag:www.v2ex.com,2012-10-23:/t/50709 2012-10-23T10:37:14Z 2012-10-23T11:44:25Z zhonghua member/zhonghua http://www.douban.com/group/topic/33705816/ http://www.douban.com/group/topic/33706902/ ]]> SICP一書學完大約要多長時間? tag:www.v2ex.com,2012-08-30:/t/46533 2012-08-30T13:29:08Z 2013-10-23T04:35:56Z 013231 member/013231 本打算一天20面, 一個月學完這本書, 然後發現很有壓力. 裏面題目挺多, 有些麻煩的題一題就要花半小時(還在第一章呢). 於是現在把計劃修改爲一天10面, 2個月看完.
聽說到了後面題目會更難, 全書學完要多少小時呢? ]]>
看了《黑客与画家》就觉得Lisp很强大要去学一下的人弱爆了,你们到底看没看明白作者的中心主旨是什么? tag:www.v2ex.com,2012-04-04:/t/31286 2012-04-04T01:00:11Z 2014-02-01T21:14:08Z ayanamist member/ayanamist 你啥都不懂就去学Lisp,就像空降到山顶一样,可行但代价巨大。
当然,你是富二代(编程天才)除外。 ]]>
求lisp的一些简单demo tag:www.v2ex.com,2011-09-28:/t/18731 2011-09-28T08:43:28Z 2012-01-01T16:21:52Z wazedix member/wazedix 不过对函数式编程还是没什么想法,目前没精力去系统得学习这门语言
主要想了解其编程思想,有什么比较简单的demo吗?
顺便问下lisp比较好的中文社区是? ]]>
有对Lisp感兴趣的不? 自从看了黑客与画家就对这个很神往,除了AutoLisp有没有别的著名的应用呢? tag:www.v2ex.com,2011-09-27:/t/18695 2011-09-27T10:38:31Z 2013-01-02T14:37:18Z makediff member/makediff 有人学或用Lisp的吗? tag:www.v2ex.com,2011-09-12:/t/18042 2011-09-12T09:11:37Z 2013-07-25T11:53:10Z Zzway member/Zzway a haiku tag:www.v2ex.com,2011-06-04:/t/14006 2011-06-04T11:18:51Z 2011-06-05T11:51:10Z root member/root Once a great dialect of Lisp
No one remembers ]]>
在Lisp节点里新建个主题 tag:www.v2ex.com,2011-06-04:/t/13997 2011-06-04T06:50:54Z 2012-09-06T17:02:37Z oppih28 member/oppih28
记得有人说,这本书之后国内 Lisp er 会增加。

本人对Lisp没有半毛钱了解了XD ]]>
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86