Forwarded from dnaugsuz
C语言没自动内存管理/封装,经常处理buffer
C++也没,但有class和unicode兼容(mbstr)
C++也没,但有class和unicode兼容(mbstr)
Forwarded from dnaugsuz
真正学术的是 Haskell, Scala 这类,如果你愿意了解还有 Prolog, Coq 这种更学术的
曾经拿 Haskell 写过个计算器
曾经拿 Haskell 写过个计算器
GitHub
duangsuse-valid-projects/BinOps
#️⃣ Simple binary operation calculator, supports logN, sin, cos, tan, hexadecimal numbers - duangsuse-valid-projects/BinOps
Forwarded from dnaugsuz
Haskell 的概念就是没有顺序执行,只是一群 (1::Int) (""::[Char]) 这样的“对象”在其范畴内不断变形而已
这种,本质上就是完全
[n+1 | n<-[0..9]] == [1,2,3,4,5,6,7,8,9,10](add a b)
add 0 n = n
add i n = add (i-1) (n+1) 这种,本质上就是完全
(add 2 0) == (add (add 0 1) 1) 的那种等式,模式匹配的变形规则,不像是程序Forwarded from LcdDem
evalBin :: (Eval a) => (a -> a -> a) -> Ast -> Ast -> a
Forwarded from dnaugsuz
(x :: a) 是
我真是累了,懒得和那群中文都不会说的大佬继续学那些一大堆名词的概念
现在在学实际点的可复用编程以及编译原理
val x: A 的意思a -> b -> c是 (A) => ((B) => C) 的意思我真是累了,懒得和那群中文都不会说的大佬继续学那些一大堆名词的概念
现在在学实际点的可复用编程以及编译原理
Forwarded from LcdDem
a -> b -> c是 (A) => ((B) => C) 的意思这种描述和haskell文档里的一模一样
Forwarded from dnaugsuz
往编译原理—解析器上, (->) 是中缀(infix)操作(或言运算)符,它是“右结合(right associative)”的,所以并排 a->b->c 是 a->(b->c) 的意思
JS 里 1**3**2 == 1*9
JS 里 1**3**2 == 1*9
Forwarded from dnaugsuz
https://lab.xecades.xyz/ 大佬写过一个“图形编程语言Piet”(指代码是位图)的随机代码生成器 😂
lab.xecades.xyz
Laboratory | Xecades
Xecades的技术博客,记录有趣的数学、信息学、IT内容
Forwarded from 琳 缇佩斯
(你写 "hello",他实际上是 "hello" 还是 "Hello" 还是 "heLLo" 完全取决于他的字符串常量池里是哪个
Forwarded from dnaugsuz
嗯…… 没试过
{-# LANGUAGE RankNTypes #-} --"forall"
看起来好像没有这个问题吧
:: 只是定义了类型约束,那个 x 全叫 a 写
{-# LANGUAGE RankNTypes #-} --"forall"
f x :: forall x. x -> x
f x = x 看起来好像没有这个问题吧
:: 只是定义了类型约束,那个 x 全叫 a 写
forall a. (a -> a) 也可以Forwarded from dnaugsuz
是的,这个是算法大佬,同时也是前端会CSS/HTML
昨天还在想他的一个DEMO要实现的一些细节
昨天还在想他的一个DEMO要实现的一些细节