![](/img/trans.png)
[英]Can one simplify the Codensity monad on Maybe?
類型構造函數f上的代碼密度單子定義為: 眾所周知, C f是任何類型構造函數f (不一定是協變的)的單子。 codensity monad 在幾個方面很有用,但它是一個復雜的類型,在通用類型量詞下包含高階 function。 我的問題是,對於什么f可以證明C f等同於一個沒有類型量詞定義的更簡單 ...
[英]Can one simplify the Codensity monad on Maybe?
類型構造函數f上的代碼密度單子定義為: 眾所周知, C f是任何類型構造函數f (不一定是協變的)的單子。 codensity monad 在幾個方面很有用,但它是一個復雜的類型,在通用類型量詞下包含高階 function。 我的問題是,對於什么f可以證明C f等同於一個沒有類型量詞定義的更簡單 ...
[英]In Scala cats-laws, why is the functor composition law different from canonical definition?
cats-laws 中的(協變)函子定義如下所示: 但如果我將仿函數組合規則翻譯成 Scala,它應該是: 他們為什么不同? 哪個版本是正確的? 更新 1我知道 Haskell 中有類似的實現,但我還沒有機會閱讀它。 不知Haskell版本是不是更靠書。 ...
[英]Naturality of product functor morphisms
在https://www.cs.ox.ac.uk/ralf.hinze/LN.pdf 在第 10 頁,方程式 (13) 和 (14) 在我看來,方程式左側的 outl 與右側的 outl 不同(outr 也是如此)。 我相信左邊的 outl 從某個對象 AxB 到 A,而右邊的 outl 從 A'x ...
[英]Are there any functions that are computable but not curriable?
對不起,如果我有點迷路。 我最近開始學習不同的編程語言范例,我發現所有文本都假定用編程語言編寫的所有函數都是可修改的。 我還沒有看到這方面的任何證據,在尋找了一段時間后,我找到了有關笛卡爾閉類別的信息。 我的數學知識非常有限,所以我不知道這是否適用於圖靈機可以完成的所有事情。 我的猜測是這樣的事情 ...
[英]Can `Fix` and `(,)` be seen as functors in some sense?
我一直想知道什么是完整的、無所不包的上下文, instance Functor (f:.: g) 。 我腦子里立刻冒出的想法是:newtype (f :.: g) a = Comp (f (g a)) instance (Functor f, Functor g) => Functor (f ...
[英]Confused about why all morphisms for a monoid are not the same as the identity morphism
我正忙於閱讀 Bartosz Milewski 為程序員編寫的類別理論書,並且在將幺半群描述為一個集合和將幺半群描述為一個類別之間移動時,我正在努力描述非恆等態射。 我知道當在一個集合 的上下文中 查看一個幺半群(例如一個字符串)時,我們有興趣描述利用“附加”特征的各種函數,例如一 ...
[英]How to understand the universal quantification in Yoneda's natural isomorphism?
在學習米田引理時,我遇到了 Haskell 中潛在自然同構的以下編碼: 我試圖簡化backward flip fmap的實現,但失敗了,因為后者的類型為fa -> (a -> r) -> fr 。 從這里開始,我一直在查明這兩種實現之間的差異究竟是什么。 更重要的是,將任一函 ...
[英]What is a cocartesian comonoid, and what is a cocartesian comonoidal functor?
我最近一直在試驗幺半群和分布,我想我發現了一些有趣的東西(在我的回答中描述)——這些是已知的結構嗎? (我一直無法在網上找到對它們的任何參考,而且我認為我沒有錯過一些它們會荒謬的原因) 如果以前不知道,它們對我以外的任何人來說是否有用或有趣? 引導我到這里的問題是: 如果您將產品換成 c ...
[英]Does the term "Functor" in Prolog have any relation to the term taken from Category Theory?
我開始學習 Prolog,我剛剛讀到結構開頭的原子通常稱為functor 。 我也熟悉范疇論和函數式編程中的函子一詞。 所以我的問題是,Prolog 中函子這個詞的選擇對范疇論有什么影響嗎? Prolog 中的函子是一種轉換嗎? 還是這個名字的選擇僅僅是巧合? 非常感謝! ...
[英]Lawvere's fixed point theorem in agda
我一直在努力在agda 中證明更基本的勞維爾不動點定理。 正是我試圖找出底部定理的證明。 關於如何處理涉及存在論的類似證明的一般提示也會有所幫助。 ...
[英]In depth understanding of Monad
有一次,我以為我了解 Monad。 然而,當我試圖將我對代碼的理解與理論聯系起來時,我發現自己仍然不清楚。 所以這里是: 第 1 部分。這是流行的教育 SO 鏈接a-monad-is-just-a-monoid-in-the-category-of-endofunctors-whats-the-p ...
[英]Why are traversals defined over Applicatives, fundamentally?
我最近有點“將一切都提煉成它的基礎”,我一直無法找到明確的理論原因來解釋 Traversable 類型類是如何定義的,只有實際的“能夠遍歷是有用的”在應用性余數上,很多數據類型都可以做到”和很多提示。 我知道有一個適用的“家庭”,如https://duplode.github.io/posts/d ...
[英]The identity monad as a free monad
identity monad 的函子可以定義為: 因為這個 monad 是免費的,所以另一種定義如下: 由於這是以兩種方式定義的同一個 monad,因此它們應該可以相互轉換。 也就是說,應該能夠定義兩個函數f:: Identity a -> IdentityF a和g:: Identity ...
[英]Did this construction of free(freer?) monad works?
在過去的 2 年里,我對使用免費的 monad 來幫助我解決實際的軟件工程問題很感興趣。 並使用一些基本的范疇理論提出了我自己的自由單子構造。{-# LANGUAGE RankNTypes #-} import Control.Monad data Free f a = Free (foral ...
[英]How to implement memoization in Scala without mutability?
我最近正在閱讀程序員的類別理論,在其中一個挑戰中,Bartosz 建議編寫一個名為memoize的 function,它以 function 作為參數並返回相同的參數,不同之處在於,第一次調用這個新的 function 時,它存儲參數的結果,然后在每次再次調用時返回此結果。def memoize[ ...
[英]Indexed Initial algebras for GADTs
在他為 Masses Hinze 撰寫的論文 Generics 中回顧了數據類型的編碼。 從Nat開始data Nat :: ⋆ where Zero :: Nat Succ :: Nat → Nat 它可以被視為初始代數NatF Nat -> Nat for NatF a = ...
[英]The list monad is not a free monad but …
在One Monad to Prove Them All的第 12 頁上,寫道“ [容器] 的一個突出示例是列表數據類型。列表可以由列表的長度和列表中的 function 映射位置表示”。 起初我認為這個容器上的自由 monad 將與列表 monad 同構。 但是在第 12 頁上寫着“列表 mon ...
[英]Looking for a typeclass where category objects are partially consumable (chemical engineering)
問題我想描述化學工程中將某些物質轉化為其他物質的過程。 是否有一個類別描述消耗“物質”的態射? 我要的例子 model 舉一些例子: 將兩種物質組合成混合物的轉化混合物。 將物質煮沸成一些副產品的轉化煮沸。 根據預定義的比例將一種物質分離用於 2 個不同過程的轉換拆分。 等等... 不是 func ...
[英]Mergeable with sum and product in type indices
Haskell 中是否有類似於以下類型 class 的內容?class Mergeable (f :: Type -> Type -> Type) where merge :: f a b -> f c d -> f (a, c) (Either b d) 特別是,假 ...
[英]`refold :: Functor s => (a -> s a, a) -> (s b -> b) -> b` as a morphism between universal types
各種遞歸方案歸結為refold的特定實例refold :: Functor s => (s b -> b) -> (a -> s a) -> a -> b refold f g = go where go a = f (fmap go (g a)) refol ...