为什么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。

可以,因为解釋器可以和编译器行为细节不一致。这种做法在 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 个赞

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

Control Operations

我猜你的阅读水平不足以整体理解这 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,我不怕脏的。

我只可以在床上告诉你。

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

好的,我们一起学~

是野合。

2 个赞

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

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

3 个赞