horses
所属分类:其他
开发工具:Haskell
文件大小:0KB
下载次数:0
上传日期:2023-10-30 18:24:00
上 传 者:
sh-1993
说明: 小型编程语言。请温柔一点。
(small programming language. pls be gentle.)
文件列表:
horses-trunk/ (0, 2023-12-13)
horses-trunk/.envrc (48, 2023-12-13)
horses-trunk/Makefile (2804, 2023-12-13)
horses-trunk/builder/ (0, 2023-12-13)
horses-trunk/builder/CHANGELOG.md (110, 2023-12-13)
horses-trunk/builder/LICENSE (1524, 2023-12-13)
horses-trunk/builder/builder.cabal (3217, 2023-12-13)
horses-trunk/builder/src/ (0, 2023-12-13)
horses-trunk/builder/src/Builder.hs (78, 2023-12-13)
horses-trunk/builder/src/Builder/ (0, 2023-12-13)
horses-trunk/builder/src/Builder/Polymorphic.hs (2996, 2023-12-13)
horses-trunk/builder/test/ (0, 2023-12-13)
horses-trunk/builder/test/Spec.hs (162, 2023-12-13)
horses-trunk/builder/test/Test/ (0, 2023-12-13)
horses-trunk/builder/test/Test/Builder/ (0, 2023-12-13)
horses-trunk/builder/test/Test/Builder/BuilderSpec.hs (3570, 2023-12-13)
horses-trunk/cabal.project (390, 2023-12-13)
horses-trunk/cabal.project.freeze (6559, 2023-12-13)
horses-trunk/flake.lock (1464, 2023-12-13)
horses-trunk/flake.nix (2371, 2023-12-13)
horses-trunk/renovate.json (41, 2023-12-13)
horses-trunk/smol-backend/ (0, 2023-12-13)
horses-trunk/smol-backend/CHANGELOG.md (112, 2023-12-13)
horses-trunk/smol-backend/smol-backend.cabal (2780, 2023-12-13)
horses-trunk/smol-backend/src/ (0, 2023-12-13)
horses-trunk/smol-backend/src/Smol/ (0, 2023-12-13)
horses-trunk/smol-backend/src/Smol/Backend.hs (108, 2023-12-13)
horses-trunk/smol-backend/src/Smol/Backend/ (0, 2023-12-13)
horses-trunk/smol-backend/src/Smol/Backend/Compile/ (0, 2023-12-13)
horses-trunk/smol-backend/src/Smol/Backend/Compile/RunLLVM.hs (2279, 2023-12-13)
horses-trunk/smol-backend/src/Smol/Backend/IR/ (0, 2023-12-13)
horses-trunk/smol-backend/src/Smol/Backend/IR/FromExpr/ (0, 2023-12-13)
horses-trunk/smol-backend/src/Smol/Backend/IR/FromExpr/DataTypes.hs (5926, 2023-12-13)
... ...
# horses
some sort of compiler
```haskell
def inc (a: Int): Int {
a + 1
}
class Eq a { equals : a -> a -> Bool }
instance Eq Int {
\a -> \b -> a == b
}
class Functor f { fmap : (a -> b) -> f a -> f b }
/* Maybe */
type Maybe a = Just a | Nothing
instance (Eq a) => Eq (Maybe a) {
\maybeA -> \maybeB ->
case (maybeA, maybeB) {
(Just a, Just b) -> equals a b,
(Nothing, Nothing) -> True,
_ -> False
}
}
instance Functor Maybe {
\f -> \maybe -> case maybe { Just a -> Just (f a), Nothing -> Nothing }
}
test "fmap works with Just" {
let result = fmap inc (Just 1);
let expected = Just (2 : Int);
equals result expected
}
```
近期下载者:
相关文件:
收藏者: