为什么lisp,或者说common lisp现在这么冷门呢?

因为你们这些 normie 无法学会 APL,可以让我继续把你当成无知的人

这是又一个可以说明 Scheme 所称的优雅一无是处的例子,call-with-values 沒法不用 primitive 实现。

(define values list)
(define (call-with-values producer consumer)
  (apply consumer (producer)))

原来 values 这么简单啊,学习了。看来这个功能其他语言都可以有呢,其他的小朋友们可以去尝试实现一个 Common Lisp 的 values 哦


所以这个特性是 CL 没有的吗?CL 不是什么特性都可以实现的吗?

1赞

因为这么做比較爽。就和你什么都看不懂还瞎几把乱讲一样爽。就和可以说「你什么都看不懂还瞎几把乱讲一样爽」一样爽

对,你也不会 CL。连 values 和 Scheme 什么区别都不知道。你连 dependent type 是什么都不知道。你连你瞎几把写的 scheme datum->syntax 都是錯的都不知,我不知道我还能干啥。

1赞

不知道你们对Clojure这门Lisp方言是怎么想的:thinking:

我本来就不会 CL 啊,但我知道 values 不是 list 哦

那您这个不是实现吗?

另外我还知道 call-with-values 本身就是 primitive 哦。

1赞

CL 允许 values 是 list 啊。你們 Scheme 是什么垃圾,call-with-values 还要做成 primitive。

不不不,还是你爽,毕竟连 r5rs 都看过就来开喷 Scheme

我没说我写的是 Scheme 啊,我只会垃圾的 Racket

1赞

所你不用 Scheme 还和別人讲 R5RS?您配吗?

1赞

咋篡改上下文呢?一点就露馅了

因为瞎子是看不到篡改的。瞎子只看到自已想看的。如果每个人都天天抓著別人说过什么不放,这是难过的。

我给你捋捋啊:

你说这个可以是 list 吗?

然后我表示垃圾的 Scheme 的 values 确实比 CL 的垃圾,然后请你用 CL 实现一个和 Scheme 行为一致的 values

然后,您就给了我一个这个,还抱怨「没法不用 primitive 实现」(虽然我没懂「用 primitive 实现」和「不用 primitive 实现」的区别)


我不用 Scheme,不意味着我一点不会 Scheme 啊(虽然也就只会一点)


您现在在用 APL 不也不用 CL?建议不要讲 CL 了哦


怕您忘了,这里还是给个参考链接吧。

1赞

我現在在 CL 里写 inline APL。

http://quickdocs.org/april/

可以,因为解釋器可以和编译器行为细节不一致。这种做法在 bootstrap 编译器时很常見。

我不用 GHC,不讲了。不意味着我一点不会 Haskell 啊(虽然也就只会一点)

期待您以后能多让这个工具在您的截图里出镜。

没看懂,难道解释器里的 CL 和编译器里的 CL 可以是两回事啊。原来您正常的语境里都是「编译器」里的 CL,非正常语境就是「解释器里的 CL」?另外,要是有可能只是一个 list 的话,还是不要拿出来当论据欺负写 C++ 的同学了吧

不不不,我比不上您。主要麻烦您丢个链接让我确认一下,怕被假知识蒙骗了。

1赞

所以不知道为什么你要在这个 trivial feature 上扯皮,大概是因为不ju只能这么解決性欲。我也更想蒙骗你,不然就不能体会 SM 快樂了。你我都是同类人吧,能在这种无意义的東西上得到性快感。

对的,知道怎么写编译器就是可以这样

其实是我比较闲,舍得花时间教你一点正确的知识。


正常人恐怕都不能理解 GHC 里会塞一个不会发生任何作用的 pragma


不不不,你我怎么能放到一起呢?我可比不上您啊

1赞

那你怎么还发这么多贴,不成到了贤者模式想拔吊无情?

因为 Haskell 2010 Standard 有 pragma 的要求。不过现在 GHC 幵发者覚得编译器是时候比人聪明了。

來啊,我才刚 buki,你怎么这么快。可能我老年人,充血比較慢吧。我來好好教你一下大人的知識吧?要不要私下交流,给你看下我的 pink dick?

我自己找了一下 https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html?highlight=inline#pragma-INLINE

我猜是这里给你带来了 GHC 会忽略的印象:

GHC tries not to select a function with an INLINE pragma as a loop breaker, but when there is no choice even an INLINE function can be selected, in which case the INLINE pragma is ignored. For example, for a self-recursive function, the loop breaker can only be the function itself, so an INLINE pragma is always ignored.

不用谢我。另外,怎么写一个 call-with-values 就留着当课后作业吧

1赞

不要走啊,我要课后一✩对✩一辅导

https://www.scheme.com/tspl3/control.html#./control:s53

我猜你的阅读水平不足以整体理解这 manual。因为

The major effect of an INLINE pragma is to declare a function’s “cost” to be very low. The normal unfolding machinery will then be very keen to inline it. However, an INLINE pragma for a function “ f ” has a number of other effects:

  • While GHC is keen to inline the function, it does not do so blindly. …
  • Moreover, GHC will only inline the function if it is fully applied ,

I love to drive.
I love the drive

我能不能让你果体出镜

处男不可以xx的话,那就沒有不是处男的了

你不会自已用手啊?

別怕,老夫可以让它在你后庭回响

等东京不太冷的時後。

我可以给你 fisting,我不怕脏的。

我只可以在床上告诉你。

先让你这磨人小妖精把错误改了

好的,我们一起学~

是野合。

1赞

害搁这发疯呢?再不锁贴就要搞出“人命”了 :rofl: :rofl: :rofl:

@xuchunyang @twlz0ne 请求锁贴,因为后面的讨论已经偏离了帖子本意

1赞