如果你不知道的话,Arc是Paul Graham的"100年语言",或者更新的Lisp新版本.它在reddit上大量落后(当reddit很有趣时回来了),并且在去年1月发布了早期版本.
但是从那时起似乎没有发生任何事情 - 论坛几乎已经死了,保罗格雷厄姆自己的网站上没有任何新内容.有人知道发生了什么吗?
这是黑客新闻排名算法,我认为这是一种简单的排序方式,特别是如果用户对项目进行投票,但我真的不明白这一点,这可以转换为PHP,所以我可以完全理解它吗?
; Votes divided by the age in hours to the gravityth power.
; Would be interesting to scale gravity in a slider.
(= gravity* 1.8 timebase* 120 front-threshold* 1
nourl-factor* .4 lightweight-factor* .17 gag-factor* .1)
(def frontpage-rank (s (o scorefn realscore) (o gravity gravity*))
(* (/ (let base (- (scorefn s) 1)
(if (> base 0) (expt base .8) base))
(expt (/ (+ (item-age s) timebase*) 60) gravity))
(if (no (in s!type 'story 'poll)) .8
(blank s!url) nourl-factor*
(mem …Run Code Online (Sandbox Code Playgroud) 我很惊讶地看到Hacker News的源代码只是一个包含功能定义的平面列表的大文件. Git Hub - news.arc
那是函数式编程的典型吗?在OOP项目中常见的深层目录结构中有很多短文件来源是不常见的吗?
FP中的模块是否与OOP中的命名空间相同?
谷歌的Golang是否解决了保罗格雷厄姆的文章" 为什么Arc不是特别面向对象 " 所解决的语言问题?
我想使用Hacker New的开源软件为另一个行业构建链接共享社区.我按照arc github页面上的说明操作,并能够在我的本地环境中运行克隆并运行.我想知道接下来的步骤是什么.
这种网站需要什么样的托管(因为弧有点深奥)?如果我们假设我有大量流量,那么最好去云托管路线吗?我注意到Hacker News本身是用ThePlanet托管的,我应该这样做吗?
一个特定的宏在其主体中运行每个表达式,在每个表达式之间交错原子,并收集结果.
这适用于硬编码表达式,但是如果我想动态生成一系列表达式插入到宏调用的主体中,那么显然不会起作用,因为这将在宏完成之后进行评估工作.
我想解决方案是编写我自己的宏来生成我需要的表达式,但我不确定是否会在外部宏之前进行评估.
我尝试过类似的东西,但它不起作用:
(mac genexpr (list)
(map (fn (e) `(something ,e)) list))
Run Code Online (Sandbox Code Playgroud)