monad理解

????????每個學習monad的人都要寫一份自己理解的monad。然后還是包括自己沒人能看到自己在寫啥,而且大部分寫的還是錯誤的。

? ? ? ? 距離學習monad有接近2周了,已經挺模糊了。

? ? ? ? monad我理解有兩個基本作用:

1. 能夠對全部的返回值做鏈式調用。只能封裝成monad的形式,才能保證返回的是一個符合monad要求的對象,可以一直去鏈式調用

2. 將結果有變化的地方,用monad進行封裝。騙自己說是封裝的是行為,不是結果。美其名曰將變化的部分為了將副作用局限在一個可控的范圍內。

monad就是自函子范疇上的幺半群。

? ? ? ? 1. 自函子范疇

????????A monad is a monoid in the category of endofunctors. Whats the problem?

1. 為什么叫范疇。就是因為可以存在f*g*m 等等這種多層復合映射,而不是只有單一的f(x)這種單一映射。為了表示這種多層復合映射,因此這里應該叫范疇才行

2. 自函子。應該就是指f*g*m這種復合映射的定義域和值域是同一個。

3.?幺半群其實就是重點理解return其實是一個單位元。

幺半群的三個特性,本質上就是為了可以有效的進行鏈式操作。同時結合律的特性保證了函數式程序的編譯執行過程中,可以自主進行函數的優化結合進行性能優化。

函數式編程——Functor、Applicative、Monad | 楚權的世界

函數式夜點心:IO Monad 與副作用處理

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/43098.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/43098.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/43098.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

學習數據庫2

在數據庫中創建一個表student,用于存儲學生信息 查看建表結果 向student表中添加一條新記錄 記錄中id字段的值為1,name字段的值為"monkey",grade字段的值為98.5 并查看結果 向student表中添加多條新記錄 2,"bob"…

鴻蒙開發小案例(名片管理))

鴻蒙開發小案例(名片管理) 1、頁面效果1.1 初始頁面1.2 點擊名片展開1.3 點擊收藏1.4 點擊編輯按鈕 2、實現代碼2.1 DataModel.ets2.2 RandomUtil.ets2.3 ContactList.ets 1、頁面效果 1.1 初始頁面 1.2 點擊名片展開 1.3 點擊收藏 1.4 點擊編輯按鈕 2、…

百度、谷歌、必應收錄個人博客網站

主要是給各個搜索引擎提交你的sitemap文件,讓別人能搜到你博客的內容。 主題使用的Butterfly。 生成sitemap 安裝自動生成sitemap插件。 npm install hexo-generator-sitemap --save npm install hexo-generator-baidu-sitemap --save在站點配置文件_config.yml…

【手撕數據結構】卸甲時/空間復雜度

目錄 前言時間復雜度概念?O的漸進表?法小試牛刀 空間復雜度 前言 要想知道什么是空/時間復雜度,就得知道什么是數據結構。 這得分兩層來理解。我們生活中處處存在數據,什么抖音熱點上的國際大事,什么懂的都懂的雍正卸甲等等一系列我們用戶看得到的&a…

鴻蒙語言基礎類庫:【@ohos.url (URL字符串解析)】

URL字符串解析 說明: 本模塊首批接口從API version 7開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。開發前請熟悉鴻蒙開發指導文檔:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md點擊或者復制轉到。 導入…

【K8s】專題六(5):Kubernetes 穩定性之重啟策略、滾動更新策略

以下內容均來自個人筆記并重新梳理,如有錯誤歡迎指正!如果對您有幫助,煩請點贊、關注、轉發!歡迎掃碼關注個人公眾號! 目錄 一、重啟策略 1、基本介紹 2、資源清單(示例) 二、滾動更新策略 …

Vue框架引入

vue簡介 1.1.vue是什么?Vue官網 英文官網: https://vuejs.org/中文官網: https://cn.vuejs.org/ vue是一套構建用戶界面的漸進式javascript框架 構建用戶界面:將我們手里拿到的數據通過某種辦法變成用戶可以看見的界面前端工程師的職責:就是在合適的時候發出合適的請求,然后…

展開說說:Android服務之bindService解析

前面兩篇文章我們分別總結了Android四種Service的基本使用以及源碼層面總結一下startService的執行過程,本篇繼續從源碼層面總結bindService的執行過程。 本文依然按著是什么?有什么?怎么用?啥原理?的步驟來分析。 b…

Splunk Enterprise 任意文件讀取漏洞(CVE-2024-36991)

文章目錄 前言漏洞描述影響版本漏洞復現POC批量檢測-nuclei腳本 修復建議 前言 Splunk Enterprise 是一款強大的機器數據管理和分析平臺,能夠實時收集、索引、搜索、分析和可視化來自各種數據源的日志和數據,幫助企業提升運營效率、增強安全性和優化業務…

數據庫作業3

DELETE FROM student WHERE grade IS NULL; 一、數據庫操作部分 1. 向 student 表中添加一條新記錄: INSERT INTO student (id, name, grade) VALUES (1, monkey, 98.5); 2. 向 student 表中添加多條新記錄: INSERT INTO student (id, name, grade) V…

【MYSQL】如何解決 bin log 與 redo log 的一致性問題

該問題問的其實就是redo log 的兩階段提交 為什么說redo log 具有崩潰恢復的能力 MySQL Server 層擁有的 bin log 只能用于歸檔,不足以實現崩潰恢復(crash-safe),需要借助 InnoDB 引擎的 redo log 才能擁有崩潰恢復的能力。所謂崩…

PHP的發展歷程以及功能使用場景

PHP的發展歷程 PHP的發展歷程可以追溯到1994年,由丹麥計算機程序員拉斯穆斯勒多夫(Rasmus Lerdorf)出于個人網站統計訪問者信息的需求而創建。以下是PHP發展歷程中的幾個重要里程碑: 初創階段(1994-1995年&#xff09…

二刷力扣——單調棧

739. 每日溫度 單調棧應該從棧底到棧頂 是遞減的。 找下一個更大的 ,用遞減單調棧,就可以確定在棧里面的每個比當前元素i小的元素,下一個更大的就是這個i,然后彈出并記錄;然后當前元素i入棧,仍然滿足遞減…

數學基礎 -- 三角學

三角學 三角學(Trigonometry)是數學的一個分支,主要研究三角形的邊長與角度之間的關系。三角學在幾何學、物理學、工程學等多個領域中有廣泛的應用。以下是三角學的一些基本概念和公式: 基本概念 直角三角形:一個角…

Java進階----繼承

繼承 一.繼承概述 繼承是可以通過定義新的類,在已有類的基礎上擴展屬性和功能的一種技術. 案例:優化 貓、狗JavaBean類的設計 狗類:Dog 屬性:名字 name,年齡 age 方法:看家 watchHome(),Gett…

防抖和字節流

防抖(Debouncing)和字節流(Byte Stream)是兩個不同的概念,分別在編程和數據傳輸領域中使用。 防抖(Debouncing) 防抖是一種在前端開發中常用的技術,用于控制事件處理函數的執行頻率…

Android多開應用軟件系統設計

設計一個支持Android多開應用的軟件系統,主要涉及到以下幾個關鍵技術點和設計考慮: 1. 虛擬化技術 容器技術:與傳統的虛擬機不同,可以采用更輕量級的容器技術,為每個應用實例創建獨立的運行環境。這包括分配獨立的用…

Ubuntu配置sendmail client,用sendmail命令來發送郵件

參考文檔 https://mailoutgoing.com/support/mailrelay/sendmail.html https://www.sendmail.org/~ca/email/auth.html https://docs.oracle.com/en/operating-systems/oracle-linux/6/admin/configure-sendmail.html 總結 1、ubuntu環境下,sendmail服務位于/etc/i…

HTTP 請求走私漏洞詳解

超詳細的HTTP請求走私漏洞教程,看完還不會你來找我。 1. 簡介 HTTP請求走私漏洞(HTTP Request Smuggling)發生在前端服務器(也稱代理服務器,一般會進行身份驗證或訪問控制)和后端服務器在解析HTTP請求時&…

上位機圖像處理和嵌入式模塊部署(mcu項目2:串口日志記錄器)

【 聲明:版權所有,歡迎轉載,請勿用于商業用途。 聯系信箱:feixiaoxing 163.com】 淘寶上面有一個商品蠻好玩的,那就是日志記錄器。說是記錄器,其實就是一個模塊,這個模塊的輸入是一個ttl串口&am…