- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题来自文章“Trivial Monad”,地址:http://blog.sigfpe.com/2007/04/trivial-monad.html 。提供的答案是
h x y = x >>= (\x -> g x y)
或同等内容(在文章的上下文中)
h :: W Int -> W Int -> W Int
h x y = bind ( \x-> g x y ) x
其中 g 为
g :: Int -> W Int -> W Int
g x y = y >>= (return . (+x))
对于单子(monad):
数据W a = W a 派生Show
现在我有点困惑,如果 g 接受 Int
作为第一个参数,但 x 是 W Int
,那么如何将 x 放入 g 中?
1 Câu trả lời
Now I am a little confused, how can you put x in g if it takes an Int as first parameter but x is M Int?
有两个不同的 x
变量,内部变量在 lambda 表达式内隐藏外部变量。编写代码的更清晰的方法是这样的
h mx my = mx >>= (\x -> g x my)
关于haskell - 如何定义签名为 h::M Int -> M Int -> M Int 的函数,以便 h (M x) (M y) = M (x+y) 而不解开 monad?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15035468/
Sự cố Khắc phục sự cố Bản ghi - Java RMI Kết nối bị từ chối lưu trữ: xxxx .... Khi học JavaRMI, tôi gặp phải tình huống sau Nguyên nhân:
Tôi đang thử nghiệm với Rank-N-type và cố gắng nhập xx. Nhưng tôi phát hiện ra rằng hai hàm này có thể được nhập theo cùng một cách, điều này không trực quan. f :: (cho tất cả a b. a -> b) -> cfx = xxg ::
Câu hỏi này đã có câu trả lời: Làm thế nào để so sánh hai phiên bản String trong Java? (31 câu trả lời) Đã đóng 8 năm trước. Có ai biết cách so sánh hai chuỗi phiên bản trong Java không?
Câu hỏi này đã có câu trả lời: Các toán tử tăng sau (i++) và tăng trước (++i) hoạt động như thế nào trong Java? (14 câu trả lời)
Sau đây là kết quả đầu ra của lệnh netstat với các tùy chọn -n và -r, trong đó trường đích hiển thị địa chỉ đã nén (127.1/16). Tôi muốn biết có phương pháp hoặc tùy chọn nào cho lệnh netstat để hiển thị toàn bộ IP đích (127.1.1.1) không?
Tôi biết rằng để chứng minh: (¬ ∀ x, px) → (∃ x, ¬ px) thì chứng minh là: định lý : (¬ ∀ x, px) → (∃ x, ¬ px) := bắt đầu phần giới thiệu n
X * x thay đổi như thế nào khi lưu trữ trong "biến tự động"? Tôi nghĩ nó vẫn phải như vậy và thử nghiệm của tôi cho thấy loại, kích thước và giá trị rõ ràng đều giống nhau. Nhưng ngay cả x * x == (xx = x * x) cũng sai. Cái gì
Giả sử, chúng ta diễn đạt nó như thế này: someIQueryable.Where(x => x.SomeBoolProperty) someIQueryable.Where(x => !x.SomeBoolProperty
Tôi có chuỗi 1234X5678 và tôi sử dụng biểu thức chính quy này để khớp với mẫu .X|..X|X. Tôi nhận được 34X. Câu hỏi đặt ra là tại sao tôi không nhận được 4X hoặc X5? Tại sao biểu thức chính quy lại chọn thực thi mẫu thứ hai? Câu trả lời hay nhất ở đây
Một người bạn của tôi đã gặp phải vấn đề này trong một cuộc phỏng vấn. Tìm giá trị của x khiến hàm trả về giá trị đúng. function f(x) { return (x++ !== x) && (x++ === x); } Người phỏng vấn
Câu hỏi này đã có câu trả lời ở đây: Đã đóng cách đây 10 năm. Có thể trùng lặp: Làm việc với foo có dễ hơn không khi nó được biểu diễn bằng b
Tôi mới sử dụng Android và đang thực hành phát triển ứng dụng nhắm mục tiêu đến phiên bản 2.2 và tôi cần trợ giúp để hiểu cách mở rộng ứng dụng của mình sang các phiên bản khác, tức là 1.x, 2.3.x, 3.x và 4.xx và một số tùy chọn khác cho độ phân giải màn hình
Tại sao trường hợp 1 trả về: lỗi: TypeError: x không được xác định trên dòng... //trường hợp 1 var x; x.push(x); console.log(x);
Mã đầu tiên: # CASE 01 def test1(x): x += x print xl = [100] test1(l) print l CASE01 Đầu ra: [100, 100
Tôi đang cố gắng trau dồi khả năng tính toán lớn của mình. Nếu tôi có hàm di chuyển tất cả các mục 2 khoảng cách sang bên phải của 'i', tôi có công thức trông như thế này: (n -1) + (n - 2) + (n - 3) ... (n - n) Đối với lần lặp đầu tiên, tôi phải
Với một chuỗi IP (như xxxx/x), làm thế nào để tôi hoặc tôi sẽ tính toán phạm vi của IP? Trường hợp phổ biến nhất có lẽ là 198.162.1.1/24 nhưng có thể là bất kỳ số nào, vì bất kỳ số nào cũng được pháp luật cho phép. Tôi muốn mang 198.162.1.1/
Trong quá trình cố gắng viết mã Javascript sạch với tư cách là người mới bắt đầu, gần đây tôi đã đọc bài viết này về không gian tên trong JavaScript và tình cờ thấy đoạn văn này:
Tôi đang viết một tập lệnh mà tôi không muốn làm ảnh hưởng đến phần còn lại của DOM, đó sẽ là tập lệnh của bên thứ 3 để thu thập một số dữ liệu phân tích cơ bản về khách truy cập. Tôi thường tạo một "không gian tên" giả với nội dung như sau: var x = x || {}; Tôi
Tôi đã thử chạy bộ test_container_services.py của mình nhưng tôi gặp phải sự cố này: docker.errors.APIError: 500 Lỗi máy chủ: Lỗi máy chủ nội bộ (thông báo "b'{"
Có tình huống nào mà hai câu lệnh if này tạo ra kết quả khác nhau không? if(x as X != null) { // Làm gì đó } if(x is X) { // Làm gì đó }
Tôi là một lập trình viên xuất sắc, rất giỏi!