pyramid schemee是什么意思?

水木-函数式编程语言-有没有实现的简单漂亮的Scheme解释器
主题文章列表
一共 20 篇
下一页&共1页&
有没有实现的简单漂亮的Scheme解释器
发信人:&MingyanGuo&(λf.(λx.f&(x&x))&(λx.f&(x&x))),&信区:&FuncProgram
标&&题:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Sun&Mar&10&12:25:22&2013),&站内
拿来做参考,乱七八糟看了一些实现,都弄的挺复杂的,Gambit-C本来还好,就是编译出来的C实在很奇怪,有过来人知道简单漂亮的告诉一声,不管是用C写还是Scheme写的都好,谢谢啊。
--哥哥,你认为出生以后还会有生命吗?你信仰妈妈吗?
--不,我不相信这些事情,我是无神论者,我是说,你见过妈妈吗?
※&来源:·水木社区&newsmth.net·[FROM:&173.180.219.*]
Re: 有没有实现的简单漂亮的Scheme解释器
发信人:&milksea&(肥了,又肥了&&&&_&&&),&信区:&FuncProgram
标&&题:&Re:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Sun&Mar&10&12:42:32&2013),&站内
如果只是为了清楚,sicp&的实现呢?
【&在&MingyanGuo&(λf.(λx.f&(x&x))&(λx.f&(x&x)))&的大作中提到:&】
:&拿来做参考,乱七八糟看了一些实现,都弄的挺复杂的,Gambit-C本来还好,就是编译出来的C实在很奇怪,有过来人知道简单漂亮的告诉一声,不管是用C写还是Scheme写的都好,谢谢啊。
世界上有&10&种人:懂&10&进制的和不懂&10&进制的。
※&来源:·水木社区&newsmth.net·[FROM:&211.99.222.*]
Re: 有没有实现的简单漂亮的Scheme解释器
发信人:&MingyanGuo&(λf.(λx.f&(x&x))&(λx.f&(x&x))),&信区:&FuncProgram
标&&题:&Re:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Sun&Mar&10&12:46:34&2013),&站内
没有宏啊……没宏比较单纯,有宏以后,我用C写到一半发现后面铁定要有一堆的逻辑重复,所以想看看这么多实现,这种问题应该早就有人解决过了吧。
【&在&milksea&(肥了,又肥了&&&&_&&&)&的大作中提到:&】
:&如果只是为了清楚,sicp&的实现呢?
--哥哥,你认为出生以后还会有生命吗?你信仰妈妈吗?
--不,我不相信这些事情,我是无神论者,我是说,你见过妈妈吗?
※&来源:·水木社区&newsmth.net·[FROM:&173.180.219.*]
Re: 有没有实现的简单漂亮的Scheme解释器
发信人:&Kneo&(Kneo&Fang),&信区:&FuncProgram
标&&题:&Re:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Sun&Mar&10&18:35:20&2013),&站内
可以看看femtolisp。
【&在&MingyanGuo&(λf.(λx.f&(x&x))&(λx.f&(x&x)))&的大作中提到:&】
:&拿来做参考,乱七八糟看了一些实现,都弄的挺复杂的,Gambit-C本来还好,就是编译出来的C实在很奇怪,有过来人知道简单漂亮的告诉一声,不管是用C写还是Scheme写的都好,谢谢啊。
※&来源:·水木社区&newsmth.net·[FROM:&222.190.111.*]
Re: 有没有实现的简单漂亮的Scheme解释器
发信人:&MingyanGuo&(λf.(λx.f&(x&x))&(λx.f&(x&x))),&信区:&FuncProgram
标&&题:&Re:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Sun&Mar&10&23:56:42&2013),&站内
似乎是r6rs的syntax-rules做的macro,我去看一眼,谢谢推荐
【&在&Kneo&(Kneo&Fang)&的大作中提到:&】
:&可以看看femtolisp。
--哥哥,你认为出生以后还会有生命吗?你信仰妈妈吗?
--不,我不相信这些事情,我是无神论者,我是说,你见过妈妈吗?
※&来源:·水木社区&newsmth.net·[FROM:&173.180.219.*]
Re: 有没有实现的简单漂亮的Scheme解释器
发信人:&krfantasy&(krfantasy),&信区:&FuncProgram
标&&题:&Re:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Sat&Mar&23&21:00:20&2013),&站内
MiniScheme&只有2000+行的C,不过实现的功能很少
※&来源:·水木社区&http://www.newsmth.net·[FROM:&223.94.35.*]
Re: 有没有实现的简单漂亮的Scheme解释器
发信人:&MingyanGuo&(λf.(λx.f&(x&x))&(λx.f&(x&x))),&信区:&FuncProgram
标&&题:&Re:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Sun&Mar&24&03:56:48&2013),&站内
是功能太少了,如果不需要支持宏的话,实现个scheme是很容易的事情,想支持宏还要有准确的出错信息就比较麻烦。
【&在&krfantasy&(krfantasy)&的大作中提到:&】
:&MiniScheme&只有2000+行的C,不过实现的功能很少
--哥哥,你认为出生以后还会有生命吗?你信仰妈妈吗?
--不,我不相信这些事情,我是无神论者,我是说,你见过妈妈吗?
※&来源:·水木社区&newsmth.net·[FROM:&173.180.219.*]
Re: 有没有实现的简单漂亮的Scheme解释器
发信人:&dlysm&(&&&&),&信区:&FuncProgram
标&&题:&Re:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Wed&Mar&27&16:30:12&2013),&站内
sicp写的那个还没法叫实现吧
第四章用scheme写了个eval和apply
第五章说了,这是不行的,因为毕竟还是scheme写的,最后要编程机器语言
问题第五章的机器语言又是用scheme模拟的
最后也没见到真正的c或者汇编的影子
【&在&milksea&(肥了,又肥了&&&&_&&&)&的大作中提到:&】
:&如果只是为了清楚,sicp&的实现呢?
※&来源:·水木社区&newsmth.net·[FROM:&211.99.222.*]
Re: 有没有实现的简单漂亮的Scheme解释器
发信人:&milksea&(肥了,又肥了&&&&_&&&),&信区:&FuncProgram
标&&题:&Re:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Wed&Mar&27&18:26:35&2013),&站内
原理是类似的。sicp&那个主要是功能少,把后端&lisp&模拟的机器语言换成别的机器语言本质上其实一样。
【&在&dlysm&(&&&&)&的大作中提到:&】
:&sicp写的那个还没法叫实现吧
:&第四章用scheme写了个eval和apply
:&第五章说了,这是不行的,因为毕竟还是scheme写的,最后要编程机器语言
:&...................
世界上有&10&种人:懂&10&进制的和不懂&10&进制的。
※&来源:·水木社区&newsmth.net·[FROM:&211.99.222.*]
Re: 有没有实现的简单漂亮的Scheme解释器
发信人:&dlysm&(&&&&),&信区:&FuncProgram
标&&题:&Re:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Mon&Apr&15&22:28:22&2013),&站内
这个貌似是很久以前的程序了,咋我编译不了呢
【&在&krfantasy&(krfantasy)&的大作中提到:&】
:&MiniScheme&只有2000+行的C,不过实现的功能很少
※&来源:·水木社区&newsmth.net·[FROM:&221.219.148.*]
Re: 有没有实现的简单漂亮的Scheme解释器
发信人:&dlysm&(&&&&),&信区:&FuncProgram
标&&题:&Re:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Fri&Apr&26&17:18:38&2013),&站内
这玩意怎么安装呀,我怎么可以make但是不能make&install呀
【&在&Kneo&(Kneo&Fang)&的大作中提到:&】
:&可以看看femtolisp。
※&来源:·水木社区&newsmth.net·[FROM:&211.99.222.*]
Re: 有没有实现的简单漂亮的Scheme解释器
发信人:&Kneo&(Kneo&Fang),&信区:&FuncProgram
标&&题:&Re:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Fri&Apr&26&20:26:22&2013),&站内
make之后在代码目录里生成可执行文件。
【&在&dlysm&的大作中提到:&】
:&这玩意怎么安装呀,我怎么可以make但是不能make&install呀
※&来源:·水木社区&http://www.newsmth.net·[FROM:&60.22.185.*]
Re: 有没有实现的简单漂亮的Scheme解释器
发信人:&pem&(松鼠),&信区:&FuncProgram
标&&题:&Re:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Fri&Apr&26&23:02:42&2013),&站内
&&&&&&&&julia的parser好像是它写的
【&在&Kneo&(Kneo&Fang)&的大作中提到:&】
:&可以看看femtolisp。
※&来源:·水木社区&newsmth.net·[FROM:&210.73.9.*]
Re: 有没有实现的简单漂亮的Scheme解释器
发信人:&jandan&(cache),&信区:&FuncProgram
标&&题:&Re:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Sun&Apr&28&20:59:08&2013),&站内
好像有个叫"Write&Yourself&a&Scheme&in&48&Hours"的书提供了一个简单实现。
※&来源:·水木社区&http://www.newsmth.net·[FROM:&220.181.118.*]
Re: 有没有实现的简单漂亮的Scheme解释器
发信人:&dlysm&(&&&&),&信区:&FuncProgram
标&&题:&Re:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Tue&May&27&14:42:43&2014),&站内
这个实现好像是用一个8字节的内存块来实现lisp对象,就是那个value_t
我觉得没必要这么抠吧,还是用一个struct实现多好,里面可以多赛点儿元数据信息
【&在&Kneo&(Kneo&Fang)&的大作中提到:&】
:&可以看看femtolisp。
※&来源:·水木社区&newsmth.net·[FROM:&211.99.222.*]
Re: 有没有实现的简单漂亮的Scheme解释器
发信人:&bullet01&(&&&&),&信区:&FuncProgram
标&&题:&Re:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Wed&May&28&00:45:33&2014),&站内
恩,haskell写的
【&在&jandan&(cache)&的大作中提到:&】
:&好像有个叫"Write&Yourself&a&Scheme&in&48&Hours"的书提供了一个简单实现。
※&来源:·水木社区&newsmth.net·[FROM:&211.99.222.*]
Re: 有没有实现的简单漂亮的Scheme解释器
发信人:&dlysm&(&&&&),&信区:&FuncProgram
标&&题:&Re:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Wed&May&28&10:37:24&2014),&站内
minischeme就好多了
struct&cell&{
&&&&&&&&unsigned&short&_
&&&&&&&&union&{
&&&&&&&&&&&&&&&&struct&{
&&&&&&&&&&&&&&&&&&&&&&&&char&&&*_
&&&&&&&&&&&&&&&&&&&&&&&&short&&&_
&&&&&&&&&&&&&&&&}&_
&&&&&&&&&&&&&&&&struct&{
&&&&&&&&&&&&&&&&&&&&&&&&long&&&&_
&&&&&&&&&&&&&&&&}&_
&&&&&&&&&&&&&&&&struct&{
&&&&&&&&&&&&&&&&&&&&&&&&struct&cell&*_
&&&&&&&&&&&&&&&&&&&&&&&&struct&cell&*_
&&&&&&&&&&&&&&&&}&_
&&&&&&&&}&_
【&在&dlysm&(&&&&)&的大作中提到:&】
:&这个实现好像是用一个8字节的内存块来实现lisp对象,就是那个value_t
:&我觉得没必要这么抠吧,还是用一个struct实现多好,里面可以多赛点儿元数据信息
※&来源:·水木社区&newsmth.net·[FROM:&211.99.222.*]
Re: 有没有实现的简单漂亮的Scheme解释器
发信人:&unknownzerx&(unknownzerx),&信区:&FuncProgram
标&&题:&Re:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Wed&May&28&14:47:22&2014),&站内
只是解释器么?
宏好像实现起来还行啊,递归到底,换换名字什么的..
【&在&MingyanGuo&(λf.(λx.f&(x&x))&(λx.f&(x&x)))&的大作中提到:&】
:&没有宏啊……没宏比较单纯,有宏以后,我用C写到一半发现后面铁定要有一堆的逻辑重
复,所以想看看这么多实现,这种问题应该早就有人解决过了吧。
※&来源:·水木社区&http://newsmth.net·[FROM:&112.65.223.*]
Re: 有没有实现的简单漂亮的Scheme解释器
发信人:&zhouxiaolin&(Solaren),&信区:&FuncProgram
标&&题:&Re:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Sat&Jul&&5&23:48:00&2014),&站内
TinyScheme实现不错
/Liutos/Eloquent&这个也挺不错
【&在&MingyanGuo&的大作中提到:&】
:&拿来做参考,乱七八糟看了一些实现,都弄的挺复杂的,Gambit-C本来还好,就是编译出来的C实在很奇怪,有过来人知道简单漂亮的告诉一声,不管是用C写还是Scheme写的都好,谢谢啊。
※&修改:·zhouxiaolin&于&Jul&&5&23:50:48&2014&修改本文·[FROM:&113.200.251.*]
※&来源:·水木社区&http://www.newsmth.net·[FROM:&113.200.251.*]
Re: 有没有实现的简单漂亮的Scheme解释器
发信人:&Dieken&(风催草低&-&明月何尝不照人),&信区:&FuncProgram
标&&题:&Re:&有没有实现的简单漂亮的Scheme解释器
发信站:&水木社区&(Sat&Jul&12&13:45:18&2014),&站内
前两天扫了下julia,也发现femtolisp的依赖,就过去看了下,很强大的样子。
【&在&pem&的大作中提到:&】
:&julia的parser好像是它写的
※&来源:·水木社区&http://m.newsmth.net·[FROM:&111.199.9.*]
下一页&共1页&酷勤网 C 程序员的那点事!
当前位置: >
浏览次数:次
介绍了这么久的 Scheme,却没有讲过如何配置一个高效的 Scheme 的编程环境。有些人开始学习 Scheme 的时候感觉无从下手,所以今天讲一下它的配置。
Scheme 的配置有很多种方式,我不想介绍太多东西,免得有人看花了眼,所以这里只介绍一下我自己的配置。我不大喜欢像Quack一类的复杂的环境,因为它们经常有很多多余的功能,却缺少我想要的功能。一旦我想修改它们,又到处出问题。我的配置很简约,我用它写了几千行的超高难度的代码,翻来覆去的改,感觉效率非常高,也没有觉得缺少什么特别重要的东西。
现在我就一步一步的介绍我的配置。
1. 安装 Scheme
世界上最好的 Scheme 实现是Chez Scheme,但是它不免费也不开源。所以如果你不想破费,那就只好下载一个它的&免费版&,叫做 Petite Chez Scheme(petite 是法语里&小&的意思)。它可以在这里下载:
这个页面挺长,上面都是正式版的 Chez Scheme,一点击就会叫你&联系销售人员&。要滚动到下面才能看见免费的版本。怎么安装我就不讲了,自己看说明应该很容易的。
Petite 是一个完善的,高效的实现,你可以把它当成解释器使用。这个解释器的速度非常之快,甚至比很多别的 Scheme 实现编译后的代码还要快。但是它有一个问题,就是它给出的出错信息太简约了,以至于连出错的函数名字都不告诉你。这样写大一点的程序就会比较痛苦了(虽然我还是用它写了2000多行的编译器代码)。
所以如果你想写稍微大点的东西,可以用 Racket。它可以在这里下载:
安装应该很容易。Ubuntu 也自带了 Racket,所以可以直接让系统安装它。
2. 设置 ParEdit mode
我编辑 Scheme 的时候都用 Emacs。我使用一个叫做 ParEdit mode 的插件。它可以让你&半结构化&式的编辑 Scheme 和其它的 Lisp 文件。开头你可能会有点不习惯,可是一旦习惯了,你就再也离不开它。
ParEdit mode 可以在这里下载:
下载之后,把它放到一个目录里,比如 ~/.emacs.d,然后打开 ~/.emacs 配置文件,加入如下设置:
(autoload 'paredit-mode &paredit&
&Minor mode for pseudo-structurally editing Lisp code.&
这样,只要你使用 M-x paredit-mode 就可以自动载入这个模式。具体的操作方式可以看它的说明(按 C-h m 查看&模式帮助&),我下面也会简单说一下。
3. 设置 scheme mode
我一般就用系统自带的 Scheme 模式,叫 cmuscheme。但是为了方便,我自己写了几个函数,用于在执行 Scheme 代码的时候自动启动解释器,并且打开解释器窗口。你基本只需要把下面的代码拷贝到你的 .emacs 文件里就行:
;;;;;;;;;;;;
;;;;;;;;;;;;
(require 'cmuscheme)
(setq scheme-program-name &racket&) ;; 如果用 Petite 就改成 &petite&
;; bypass the interactive question and start the default interpreter
(defun scheme-proc ()
&Return the current Scheme process, starting one if necessary.&
(unless (and scheme-buffer
(get-buffer scheme-buffer)
(comint-check-proc scheme-buffer))
(save-window-excursion
(run-scheme scheme-program-name)))
(or (scheme-get-process)
(error &No current process. See variable `scheme-buffer'&)))
(defun scheme-split-window ()
((= 1 (count-windows))
(delete-other-windows)
(split-window-vertically (floor (* 0.68 (window-height))))
(other-window 1)
(switch-to-buffer &*scheme*&)
(other-window 1))
((not (find &*scheme*&
(mapcar (lambda (w) (buffer-name (window-buffer w)))
(window-list))
:test 'equal))
(other-window 1)
(switch-to-buffer &*scheme*&)
(other-window -1))))
(defun scheme-send-last-sexp-split-window ()
(interactive)
(scheme-split-window)
(scheme-send-last-sexp))
(defun scheme-send-definition-split-window ()
(interactive)
(scheme-split-window)
(scheme-send-definition))
(add-hook 'scheme-mode-hook
(lambda ()
(paredit-mode 1)
(define-key scheme-mode-map (kbd &&f5&&) 'scheme-send-last-sexp-split-window)
(define-key scheme-mode-map (kbd &&f6&&) 'scheme-send-definition-split-window)))
我的配置会在加载 Scheme 文件的时候自动载入 ParEdit mode,并且把 F5 键绑定到&执行前面的S表达式&。这样设置的目的是,我只要把光标移动到一个S表达式之后,然后用一根手指头按 F5,就可以执行程序。够懒吧。
4. ParEdit mode 的简单使用方法
ParEdit mode 是一个很特殊的模式。它起作用的时候,你不能直接修改括号。这样所有的括号都保持完整的匹配,不可能出现语法错误。但是这样有一个问题,如果你要把一块代码放进另一块代码,或者从里面拿出来,就不是很方便了。
为此,ParEdit mode 提供了几个非常高效的编辑方式。我平时只使用两个:
1) C-right: 也就是按住 Ctrl 再按右箭头。它的作用是让光标右边的括号,&吞掉&下一个S表达式。
比如,(a b c) (d e)。你把光标放在 (a b c) 里面,然后按 C-right。结果就是 (a b c (d e))。也就是把 (d e) 被整个&吞进&了 (a b c) 里面。
2) M-r: 去掉外层代码。
这在你需要去掉外层的 let 等结构的时候非常有用。比如,如果你的代码看起来是这样:
(let ([x 10])
当你把光标放在 (* x 2) 的最左边,然后按 M-r,结果就变成了
也就是把外面的 (let ([x 10]) ...) 给&掀掉&了。
其它的一些按键虽然也有用,不过我觉得这两个是最有用的,甚至不可缺少的。有些其他的自动匹配括号的模式,没有提供这种按键,所以用起来很别扭。
5. 设置括号颜色
很多人看见 Lisp 就怕了,就是因为它看起来括号太多。可是这样的语法,却是有很大的好处的(参考这篇博文《》)。如果你真的觉得括号碍眼,你可以稍微调整一下括号的颜色,比如淡灰色。这样括号看起来就没有那么显眼了。
你只需要下载这个 el,放到你的 .emacs.d:
然后在 .emacs 里面加入两行:
(require 'parenface)
(set-face-foreground 'paren-face &DimGray&)
然后再打开 Scheme 代码的时候,你就会看到是这个样子:
好了,这就是我写 Scheme 的所有配置了。希望这些有所帮助。
& 相关主题:
本文来源:当前位置: &
scheme是什么意思
音标:[ ski:m ]&&发音:&&过去式: schemed&&&过去分词: schemed&&&名词复数: schemes&&&现在分词: scheming&&&
中文翻译英英解释百科解释n.1.计划;方案;路线;设计。2.系统;配合;组织。3.纲目;表;清单;分类表;大纲。4.谋划,策划;诡计;奸计;阴谋。5.图,图式,图型,图解,图表;图纸,设计图,流程图;示意图;线路图。6.电路。短语和例子vt.,vi.1.计划;设计。2.策划;阴谋;图谋;策动 (for to)。短语和例子-er 计划者;阴谋家,野心家。,-ing adj.1. 计划的。 2. 策划的;诡诈的,诡计多端的。:&&&&你会为真理而奋斗吗:&&&&此种方案; 这个程式:&&&&迎风格式:&&&&迎风格式:&&&&养老金方案:&&&&逃跑的阴谋:&&&&存取方案; 存取模式:&&&&动作型式:&&&&编址方案; 寻址方案:&&&&领管计划〔领管公众地方进行清扫的计划详细百科解释
例句与用法There were now several schemes in the air .现在有几个方案悬而未决。She was the brains behind the whole scheme .她是整个方案背后的主脑。Do n't be scheming against others all the time .不要靠算计人过日子。The scheme reposes on a revival of trade .这个计划以活跃贸易为基础。Her enemies are scheming her downfall .她的对头正在策划把她搞垮。The scheme is still in its embryonic stage .此方案仍在酝酿阶段。I remember his objecting to the scheme .我记得他曾经反对该计划。In any case, the scheme worked .不管怎么样,计划总算付诸实施了。An implicit scheme is much more efficient .隐式格式是一种很有效的格式。Don't lend yourself to such dishonest schemes .不要参予这种欺诈的勾当。更多例句:&&1&&&&&&&&&&
相邻词汇热门词汇
scheme的中文翻译,scheme是什么意思,怎么用汉语翻译scheme,scheme的中文意思,发音,例句,用法和解释由查查在线词典提供,版权所有违者必究。
&&&&&&&&&&&&&&&&
Copyright &
(京ICP备号)
All rights reserved最新资料下载
2016考研热门话题
课程预告,帮学堂出品
考研网地方站}

我要回帖

更多关于 pyramid scheme 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信