函式的引數列表是否可以看做乙個元組?

時間 2021-05-30 16:43:26

1樓:FRANK

是可以,比如這個F#函式

letf(a

,b,c

)=a+

b+c的型別是a:

int*b:

int*c:

int->

int而元祖的型別是T1*

T2*T3//

以此類推

然後這樣就只有乙個引數了,就不需要科里化了

2樓:lyzh流雲墜海

大多數(不能自動科里化)的語言都是這麼處理的,只不過沒有明顯的語義。

這麼設計的話有乙個問題:僅有乙個引數時我們就不能科里化了。

不過,也有好處,這時候我們就可以很舒服的處理變長引數的引數多型了

3樓:hjiayz

rust語言有named tuple

比如 struct Foo(u32,u64,i32);

這個型別的名字就是乙個函式

相當於 fn Foo(u32,u64,i32)->Foorust也有 named unit;

比如 struct Foo;

同樣,這裡的Foo可以相當於 fn Foo() -> Foorust沒有柯里化.

所以你的猜測完全沒問題。

4樓:窗戶

我覺得完全可以這麼看,我就是這麼看的,這樣才更方便用集合論來描述,個人覺得與currying不相背。單個引數看成只有乙個元素的元組,那麼只需要把函式描述成元素單元素元組到結果的對映,只需要修改這一點,一切OK。

比如,從Lisp的所有方言來看,是真的把引數當成「元組」。

比如(define f (lambda x (+ x 1)))你想把它當成數加1的函式來看,會發現根本無法使用。

甚至於,我對Currying這個名詞就有一定的排斥感,感覺它有著似乎很不數學的感覺。

對映本來就應該是一到一來解釋。

是否可以找到乙個數列,使得該數列的每一項皆是質數?

何冬州楊巔楊豔華典生 是否可以找到乙個數列,使得 該數列的每一項互不相等 條件1互異性 且 a n 依賴於數列中的某些已有項的項數f n 不依賴於未經優化改進的wilson定理或者其他計算量偏大的素數判定定理 條件3簡算性 且 不依賴於對一定區間內的素數進行計數的函式 條件4等擇性 且 a n 全是...

假如把人生看做乙個時間的蟲子,那麼我們現在做的什麼是有意義的,什麼又是無意義的?

觴無 其實我們很少人關注存在本身的意義,因為我們日常社會化了,社會化的好處在於使人的生活處於處在乙個井然有序的狀態,人們可以在生活中獲取各種滿足感,所以有人認為我們的生活的意義即是獲得各種滿足感。但顯然這個答案並不能解決這所有人的問題,歌德在他的著作浮士德藉以表達的人生意義思考,即人生所渴望與追求 ...

是否所有的有限數列都可以由相應的乙個公式生成?

靈劍 學點資訊理論你就不會問這種問題了,你這個想法就跟造第二類永動機本質上是一樣的,資訊量不能無中生有,跟熵不能自行減小是乙個意思 最基礎的原理上來說根本就不需要太多數學論證,既然你要求的是所有的有限數列,那任意乙個有限數列都應該有乙個對應的公式或者編號或者別的什麼,總之你需要有一種方法將它和其他的...