欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Haskell ecosystem
来自开放百科 - 灰狐
(版本间的差异)
小 (→操作系统) |
小 (→硬件芯片) |
||
(未显示1个用户的348个中间版本) | |||
第1行: | 第1行: | ||
[[Haskell]] ecosystem | [[Haskell]] ecosystem | ||
+ | [[文件:Haskell-logo.png|right]] | ||
+ | ==基金会== | ||
+ | *[https://haskell.foundation/ Haskell Foundation] | ||
+ | *[https://wiki.haskell.org/Haskell_Communities_and_Activities_Report Haskell Communities and Activities Report] | ||
+ | *[https://wiki.haskell.org/Enterprise_Haskell Enterprise Haskell] | ||
+ | |||
+ | ==会议== | ||
+ | [[文件:ACM-Logo.gif|right|ACM]] | ||
+ | *[https://www.haskell.org/haskell-symposium/ The Haskell Symposium] | ||
+ | *[http://www.sigplan.org/ ACM Special Interest Group on Programming Languages (SIGPLAN)] | ||
==项目集== | ==项目集== | ||
− | * [https:// | + | *[https://github.com/krispo/awesome-haskell Awesome Haskell] [[image:awesome.png]] [https://github.com/uhub/awesome-haskell awesome-haskell] |
+ | *[https://github.com/Gabriel439/post-rfc/blob/main/sotu.md State of the Haskell ecosystem] | ||
+ | *[https://github.com/erkmos/haskell-companies A List of companies that use Haskell] | ||
+ | *[https://github.com/lk-geimfari/awesomo/blob/master/languages/HASKELL.md A.W.E.S.O.M. O Haskell] | ||
+ | *[https://haskell.libhunt.com/ Awesome Haskell @ LibHunt] | ||
+ | *[https://github.com/haskell-servant servant] Rethinking webservices and APIs in [[Haskell]], one combinator at a time(一次一个组合器) | ||
+ | *[https://github.com/Holmusk Holmusk] | ||
+ | *[https://github.com/xgrommx/haskell-ecosystem Haskell ecosystem] | ||
==用户服务商== | ==用户服务商== | ||
+ | [[文件: Input-Output.png|right|IOHK]] | ||
+ | [[文件:Well-Typed.png|right|Well-Typed]] | ||
+ | *[https://wiki.haskell.org/Haskell_in_industry Haskell in Industry] [https://wiki.haskell.org/Haskell_in_research Haskell in Research] [https://wiki.haskell.org/Haskell_in_education Haskell in Education] | ||
+ | *[https://haskellcosm.com/ Haskell Cosmos] collection of data related to Haskell ecosystem. | ||
+ | *[https://github.com/input-output-hk IOHK] 是一个区块链研发团队,目前负责 [[Cardano|Cardano Foundation]] 软件的开发。 | ||
+ | *[https://emurgo.io/ EMURGO] | ||
*[https://github.com/fpco FP Complete] | *[https://github.com/fpco FP Complete] | ||
+ | *[https://github.com/commercialhaskell Commercial Haskell SIG] | ||
+ | *[https://github.com/GaloisInc Galois, Inc.] | ||
+ | *[https://github.com/serokell Serokell] | ||
+ | *[https://github.com/digitallyinduced digitally induced] | ||
+ | *[https://github.com/wireapp Wire Swiss GmbH] [https://github.com/wireapp/wire-server Wire.com backend services] | ||
+ | *[https://github.com/scarf-sh Scarf] 帮助你了解你的代码是如何被使用的,并将你与那些依赖你的工作的公司联系起来。 | ||
+ | *[https://keera.co.uk/ Keera Studios] The Haskell Game & Mobile App company [https://github.com/keera-studios @ GitHub] | ||
+ | *[https://weibo.com/ttarticle/p/show?id=2309404612580730863669 为什么 Haskell 是我们(Foxhound Systems)构建生产软件系统的首选] [https://weibo.com/ttarticle/p/show?id=2309404517904941973519 Concordium 混合使用 Rust & Haskell] [https://github.com/Concordium Concordium @ GitHub] | ||
+ | *[https://well-typed.com/ Well-Typed] | ||
+ | *[https://github.com/kowainik Kowainik] Anyone can change the world. We do. | ||
+ | *[https://serokell.io/ Serokell] Software Development Company | ||
==语言编译器== | ==语言编译器== | ||
− | *[https://wiki.haskell.org/Implementations Implementations] [https://www.haskell.org/ghc/ Glasgow Haskell Compiler (GHC)] [https://github.com/UU-ComputerScience/uhc Utrecht Haskell Compiler (UHC)] [https://github.com/Lemmih/lhc LLVM Haskell Compiler (LHC)] | + | [[文件:write-you-a-haskell.png|right]] |
+ | [[文件:grin-compiler.png|GRIN编译器|right]] | ||
+ | [[文件:PureScript-Logo.png|right]] | ||
+ | [[文件:agda-language-logo.png|right|Agda]] | ||
+ | [[文件:carp-lang.png|right|Carp语言]] | ||
+ | [[文件:curry-language.png|right|Curry语言]] | ||
+ | |||
+ | *[https://haskell.libhunt.com/categories/3068-language Haskell Language] [https://haskell.libhunt.com/categories/2307-compiler Haskell Compiler] | ||
+ | *[https://wiki.haskell.org/Implementations Implementations (GHC, Hugs, NHC, JHC, Yhc, UHC)] [https://www.haskell.org/ghc/ Glasgow Haskell Compiler (GHC)] [https://github.com/UU-ComputerScience/uhc Utrecht Haskell Compiler (UHC)] [https://github.com/Lemmih/lhc LLVM Haskell Compiler (LHC)] [https://wiki.haskell.org/Yhc York Haskell Compiler (Yhc)] | ||
+ | *[https://github.com/sdiehl/write-you-a-haskell Write You a Haskell] Building a modern functional compiler from first principles | ||
+ | *[https://www.cs.kent.ac.uk/people/staff/dat/miranda/ Miranda] 是一种惰性求值的纯函数式编程语言,由英国学者大卫·特纳所设计,强烈的影响了后来发展出的 Haskell。 | ||
+ | *Haskell library for [https://github.com/haskell/lsp/tree/master/lsp Language Server Protocol] | ||
*[https://wiki.haskell.org/Applications_and_libraries/Compilers_and_interpreters Compilers and interpreters] [https://wiki.haskell.org/Foreign_Function_Interface Foreign Function Interface (FFI)] | *[https://wiki.haskell.org/Applications_and_libraries/Compilers_and_interpreters Compilers and interpreters] [https://wiki.haskell.org/Foreign_Function_Interface Foreign Function Interface (FFI)] | ||
*[https://github.com/sdiehl/kaleidoscope Haskell LLVM JIT Compiler Tutorial] [https://www.stephendiehl.com/llvm/ Implementing a JIT Compiled Language with Haskell and LLVM] | *[https://github.com/sdiehl/kaleidoscope Haskell LLVM JIT Compiler Tutorial] [https://www.stephendiehl.com/llvm/ Implementing a JIT Compiled Language with Haskell and LLVM] | ||
*[https://github.com/tweag/asterius Asterius] A Haskell to [[WebAssembly]] [[compiler]] | *[https://github.com/tweag/asterius Asterius] A Haskell to [[WebAssembly]] [[compiler]] | ||
− | *[https://github.com | + | *[https://github.com/llvm-hs llvm-hs] Haskell bindings for [[LLVM]] |
− | *[ | + | *[https://github.com/grin-compiler/grin GRIN] 是一个支持整个程序优化的懒惰和严格函数式语言的编译器后端[[LLVM]],GRIN 编译器项目支持 Haskell、Idris 和 Agda 语言前端。 |
− | *[https://github.com/ | + | *[https://github.com/Lemmih/lhc LHC] Haskell Compiler aims at compiling Haskell2010 to [[LLVM]] IR |
+ | *[[Elm]] [https://github.com/elm/compiler Elm Compiler] | ||
+ | *[https://github.com/unisonweb Unison] A friendly programming language from the future | ||
+ | *[[PureScript]] A small strongly, statically typed language which compiles to [[JavaScript]] | ||
+ | *[https://github.com/ghcjs/ghcjs GHCJS] is a Haskell to JavaScript compiler that uses the GHC API. | ||
+ | *[https://github.com/valderman/haste-compiler Haste] A GHC-based Haskell to JavaScript compiler | ||
*[https://github.com/clash-lang/clash-compiler Clash] A functional hardware description language, Haskell to VHDL/[[Verilog]]/SystemVerilog [[compiler]] | *[https://github.com/clash-lang/clash-compiler Clash] A functional hardware description language, Haskell to VHDL/[[Verilog]]/SystemVerilog [[compiler]] | ||
− | *[ | + | *[[Cryptol]] The Language of [[Cryptography]] |
+ | *[[Agda]] is a dependently typed programming language / interactive theorem prover. [https://plfa.github.io/ Programming Language Foundations in Agda] | ||
+ | *[[Carp]] 是一种旨在为互动和性能(如:游戏、语音视频、声音合成和可视化)提供良好支持的编程语言。Carp 是一个静态类型的 [[Lisp]],没有 GC,用于实时应用。 | ||
*[https://github.com/idris-lang Idris] A Language for Type-Driven Development | *[https://github.com/idris-lang Idris] A Language for Type-Driven Development | ||
*[https://github.com/forsyde ForSyDe] Haskell-embedded Domain Specific Language | *[https://github.com/forsyde ForSyDe] Haskell-embedded Domain Specific Language | ||
+ | *[https://github.com/AccelerateHS/accelerate Accelerate] High-performance parallel arrays for Haskell [https://github.com/AccelerateHS/accelerate-llvm Accelerate-LLVM] | ||
*[https://metacpan.org/pod/Perl6::Pugs Perl6::Pugs] - A Perl 6 Implementation, Perl 6 的 Haskell 实现 Pugs | *[https://metacpan.org/pod/Perl6::Pugs Perl6::Pugs] - A Perl 6 Implementation, Perl 6 的 Haskell 实现 Pugs | ||
− | *[https://github.com/input-output-hk/plutus Plutus] smart contracts language implementation and tools | + | [[文件:plutus-language-logo.png|right|Plutus language]] |
+ | *[https://github.com/input-output-hk/plutus Plutus Core] smart contracts language implementation and tools. 为了确保增强安全性和代码可验证性,IOHK 选择 Haskell 作为 Plutus 智能合约的编程语言。 | ||
+ | *[https://github.com/Glow-Lang/glow Glow language] for [[Blockchain]] Decentralized Applications, interact with the Cardano network from [https://cons.io/ Gerbil Scheme] | ||
+ | *[https://github.com/input-output-hk/marlowe Marlowe] is also an embedded [[DSL]], hosted in the Haskell programming language. | ||
+ | *[https://github.com/ermine-language/ermine Ermine Programming Language] | ||
+ | *[https://github.com/ivanperez-keera/Yampa/ Yampa] Functional Reactive Programming (FRP, 函数反应式编程) DSL for efficient hybrid(混合离散时间和连续时间)systems,使用了信号函数作为它的核心抽象,并使用箭头(Arrow)组合器进行结构化。 | ||
+ | *[https://github.com/Frege/frege Frege] is a Haskell for the [[JVM]], It brings purely functional programing to the Java platform. | ||
+ | *[https://github.com/typelead/eta Eta] Modern Haskell on the [[JVM]], port Haskell games to [[Android]]. | ||
+ | *[https://github.com/kframework/kore The Kore Language] | ||
+ | *[https://github.com/mthom/shentong Shentong] A Haskell implementation of the Shen programming language. | ||
+ | *[https://github.com/axellang/axel Axel] Haskell + [[Lisp]] | ||
+ | *[https://github.com/jhartikainen/hs-language-php hs-language-php] 用于解析和评估 [[PHP]] 代码的实验性 Haskell 模块 | ||
+ | *[https://github.com/bartavelle/hruby hruby] Embed [[Ruby]] in your Haskell program. | ||
+ | *[https://github.com/bjpop/berp/ Berp] an implementation of [[Python]] 3 | ||
+ | *[http://www.cs.nott.ac.uk/~psznhn/G53CMP/ COMP3012/G53CMP Compilers 2018/19] 不错的编译原理课程 | ||
+ | *[https://github.com/facebookincubator/hsthrift/ The Haskell Thrift Compiler] [[Apache Thrift]] | ||
+ | *[https://github.com/sam46/Paskell Paskell] A [[Pascal]] to [[LLVM]] compiler in Haskell | ||
+ | *[https://github.com/Helium4Haskell/helium Helium compiler] Helium-as-a-library, and the texthint interpreter | ||
+ | *[https://github.com/discus-lang/ddc Disco Discus Compiler (DDC)] | ||
+ | *[https://github.com/IntelLabs/flrc Intel labs Haskell research compiler] | ||
+ | *[https://curry.pages.ps.informatik.uni-kiel.de/curry-lang.org/ Curry] A Truly Integrated Functional Logic Programming Language | ||
+ | *[https://futhark-lang.org/ Futhark] High-performance purely functional data-parallel array programming | ||
+ | *[https://github.com/lexi-lambda/hackett Hackett] WIP implementation of a Haskell-like [[Lisp]] in [[Racket]] | ||
+ | *[https://www.mathstat.dal.ca/~selinger/quipper/ Quipper: A Scalable Quantum Programming Language] [[量子计算]] | ||
+ | |||
+ | ==GHC== | ||
+ | [[文件:hoogle.png|right]] | ||
+ | |||
+ | GHC, GHCi, Runtime, [[Virtual machine|Virtual Machine]], Haskell Compiler Service(HCS)资源汇集 | ||
+ | |||
+ | [[文件:compiler.png]] | ||
+ | *[https://www.haskell.org/ghc/ GHC @ Haskell] [https://gitlab.haskell.org/ghc/ghc GHC @ GitLab] [https://github.com/ghc/ghc GHC @ GitHub] [https://downloads.haskell.org/~ghc/latest/docs/html/ GHC Documentation] [https://downloads.haskell.org/~ghc/ GHC Download] [https://docs.huihoo.com/haskell/ghc/ GHC @ Huihoo] | ||
+ | *[https://blog.llvm.org/2010/05/glasgow-haskell-compiler-and-llvm.html The Glasgow Haskell Compiler and LLVM] | ||
+ | [[文件:glasgow-haskell-compiler-and-llvm-pipeline.png]] | ||
+ | *[https://hoogle.haskell.org Hoogle] is a [https://hackage.haskell.org/api Haskell API] search engine | ||
+ | *[http://compilertools.net/ compilertools.net] The Catalog of Compiler Construction Tools | ||
+ | *[https://github.com/ghc-proposals/ghc-proposals GHC Proposals] GHC提案过程和指导委员会对GHC和GHC/Haskell的编译器和语言进行讨论建议和修改。 | ||
+ | *[https://www.stackage.org/ Latest releases per GHC version] [https://github.com/commercialhaskell/stackage stackage] | ||
+ | *[https://gitlab.haskell.org/ghc/ghc/-/tree/master/hadrian Hadrian] is a new build system for the Glasgow Haskell Compiler | ||
+ | *[https://hackage.haskell.org/packages/#cat:GHC GHC packages] | ||
+ | *[https://github.com/def-/ghc-vis ghc-vis] Visualize live Haskell data structures in GHCi | ||
+ | *[https://wiki.haskell.org/Template_Haskell Template Haskell] 是对 Haskell 的 GHC [https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/exts.html 语言扩展] Template Haskell 允许你在 Haskell 中进行编译时元编程(metaprogramming)。[https://hackage.haskell.org/packages/#cat:Template%20Haskell Template Haskell packages] | ||
+ | *[http://dinosaur.compilertools.net/ Lex & Yacc] [https://github.com/simonmar/happy Happy] parser generator for Haskell, similar to [[Yacc]] and [[GNU bison|Bison]]. | ||
+ | *[https://github.com/ndmitchell/ghcid ghcid] Very low feature GHCi based IDE | ||
+ | *[https://github.com/dmjio/LC3 LC3 virtual machine] [https://justinmeiners.github.io/lc3-vm/ Write your Own Virtual Machine] | ||
+ | |||
+ | ==开发者== | ||
+ | Haskell & GHC 核心开发者 | ||
+ | *[https://github.com/haskell/core-libraries-committee Core Libraries Committee] | ||
+ | |||
+ | ==.NET== | ||
+ | 与 [[.NET ecosystem|.NET]] 的集成和互操作 | ||
+ | *[https://github.com/tim-m89/Salsa Salsa] a [[.NET]] bridge for Haskell | ||
+ | |||
+ | ==类型系统== | ||
+ | 这里包含[https://wiki.haskell.org/Applications_and_libraries/Data_structures 类型、数据、结构、算法]等软件包,Haskell 主要使用 data 与 newtype 关键字来定义新的数据类型。Type systems are an example of lightweight formal methods(形式化方法)。 | ||
+ | *[https://wiki.haskell.org/Type Haskell Type] [https://mmhaskell.com/haskell-data Haskell's Data Types!] [https://haskell.libhunt.com/categories/2105-algorithms Haskell Algorithms] | ||
+ | *[https://haskell.libhunt.com/categories/2615-data Haskell Data packages and projects] [https://haskell.libhunt.com/categories/2763-data-structures Haskell Data Structures packages and projects] | ||
+ | *[https://en.wikipedia.org/wiki/Type_class Type Class] 类型类首先在 Haskell 中实现 [https://wiki.haskell.org/Typeclassopedia 对类型类的广泛解释] [http://www.michaelburge.us/2017/10/15/haskell-typeclasses-vs-cpp-classes.html Haskell Typeclasses vs. C++ Classes] | ||
+ | *[https://wiki.haskell.org/Monad Monad] 在 Haskell 中,monad 是一个很重要的类型类,它起源于数学中的范畴论,单体(Monad)可以被看作是各种数据或控制结构的标准编程接口。 | ||
+ | *[https://github.com/ekmett/lens Lens] Lenses, Folds, and Traversals | ||
+ | *[https://www.stackbuilders.com/blog/from-type-theory-to-haskell-in-10-minutes/ From Type Theory to Haskell in 10 Minutes] | ||
==包管理== | ==包管理== | ||
+ | [[文件:haskell-cabal-logo.png|right|Cabal]] | ||
+ | [[文件:Darcs-logo.png|right|Darcs 版本控制系统]] | ||
+ | *推荐使用 [https://www.haskell.org/ghcup/ GHCup] 安装 GHC, cabal-install, Stack and haskell-language-server | ||
+ | *[https://github.com/haskell/cabal/ Cabal] | ||
+ | *[https://www.haskell.org/platform/contents.html Haskell Platform Included Packages] 35 core & widely-used packages | ||
*[https://hackage.haskell.org/ Hackage] The Haskell Package Repository | *[https://hackage.haskell.org/ Hackage] The Haskell Package Repository | ||
− | *[https://www.haskellstack.org/ stack] [https://docs.haskellstack.org/en/stable/nix_integration/ Nix integration] | + | *[https://www.haskellstack.org/ stack] [https://docs.haskellstack.org/en/stable/nix_integration/ Nix integration] Stack is a cross-platform program for developing Haskell projects. |
− | + | ||
*[https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/packages.html ghc-pkg] | *[https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/packages.html ghc-pkg] | ||
cabal-install 支持多个 Haskell 编译器,而 ghc-pkg 仅用于 GHC。 | cabal-install 支持多个 Haskell 编译器,而 ghc-pkg 仅用于 GHC。 | ||
*[https://nixos.org/ Nix] 是一个包管理器,它管理的包环境可信赖、可重现,可原子地执行升级与回滚,在这基础上又有了基于包管理的操作系统 NixOS | *[https://nixos.org/ Nix] 是一个包管理器,它管理的包环境可信赖、可重现,可原子地执行升级与回滚,在这基础上又有了基于包管理的操作系统 NixOS | ||
+ | *[https://github.com/nixos/cabal2nix cabal2nix] Generate Nix build instructions from a Cabal file | ||
+ | *[https://github.com/input-output-hk/haskell.nix haskell.nix] 用 Nix 构建 Haskell 包的基础设施,haskell.nix 可以自动将 Cabal 或 Stack 项目及其依赖项转化成 Nix 代码。 | ||
+ | *[https://github.com/fosskers/aura The Aura Package Manager] | ||
+ | *[[Darcs]] 版本控制系统 | ||
+ | *[https://github.com/sol/hpack hpack] 一种现代的 Haskell 包格式 | ||
+ | |||
+ | ==插件模块化== | ||
+ | *[https://github.com/polysemy-research/polysemy polysemy] 是一个用于编写高复用领域特定语言(DSL)的库。polysemy 允许将业务逻辑与实现细节分开,这样一来,就把实现代码变成可重用的库代码。[https://reasonablypolymorphic.com/ Reasonably Polymorphic] | ||
+ | |||
+ | ==DevOps== | ||
+ | 代码测试、代码质量、静态分析、代码安全、[[Gitlab]]、[[DevOps]] ... | ||
+ | *[https://hackage.haskell.org/package/QuickCheck QuickCheck] Automatic testing of Haskell programs. [https://wiki.haskell.org/Introduction_to_QuickCheck2 Introduction to QuickCheck2] | ||
+ | *[https://github.com/haskell-servant/servant-quickcheck servant-quickcheck] QuickCheck entire APIs | ||
+ | *[https://github.com/hspec hspec] Testing for Haskell | ||
+ | *[https://hackage.haskell.org/package/hspec-wai hspec-wai] Experimental Hspec support for testing WAI applications | ||
+ | *[https://github.com/facebookincubator/retrie Retrie] is a powerful, easy-to-use code modding tool for Haskell. | ||
+ | *[https://github.com/facebookincubator/Glean Glean] System for collecting, deriving and working with facts about source code. | ||
+ | *[https://github.com/facebook/duckling Duckling] Language, engine, and tooling for expressing, testing, and evaluating composable language rules on input strings. | ||
+ | *[https://github.com/composewell/packcheck Packcheck] Universal CI testing for Haskell packages | ||
+ | *[https://github.com/Lysxia/generic-random Generic random generators] | ||
+ | *[https://github.com/hercules-ci/hercules-ci-agent Hercules CI Agent] | ||
+ | *[https://github.com/KSF-Media/gitlab-dashboard Gitlab Pipelines TV Dashboard] | ||
+ | *[https://github.com/koalaman/shellcheck ShellCheck] A shell script static analysis tool | ||
+ | *[https://github.com/kowainik/stan Stan] is a Haskell STatic ANalysis tool. | ||
==桌面IDE== | ==桌面IDE== | ||
+ | *[https://mpickering.github.io/ide/posts/2020-05-08-state-of-haskell-ide.html The State of Haskell IDEs] | ||
*[https://github.com/lamdu/lamdu lamdu] towards the next generation [[IDE]] | *[https://github.com/lamdu/lamdu lamdu] towards the next generation [[IDE]] | ||
*[https://github.com/serokell/foundry Morte IDE] | *[https://github.com/serokell/foundry Morte IDE] | ||
*[https://github.com/leksah/leksah Leksah] Haskell IDE | *[https://github.com/leksah/leksah Leksah] Haskell IDE | ||
+ | *[https://github.com/haskell/haskell-mode Haskell Mode for Emacs] | ||
+ | *[[Haskell Desktop Foundation]] | ||
==图形GUI== | ==图形GUI== | ||
+ | *[https://haskell.libhunt.com/categories/2981-graphics Haskell Graphics packages and projects] | ||
+ | *[https://github.com/haskell/fgl fgl] The Functional Graph Library for Haskell | ||
*[https://xmonad.org/ XMonad] A dynamically tiling X11 window manager that is written and configured in Haskell. | *[https://xmonad.org/ XMonad] A dynamically tiling X11 window manager that is written and configured in Haskell. | ||
− | *[https://wiki.haskell.org/WxHaskell wxHaskell] | + | *[[ImplicitCAD]] |
+ | *[https://github.com/gtk2hs/gtk2hs Gtk2Hs] GUI library for Haskell based on [[GTK+]] | ||
+ | *[https://wiki.haskell.org/WxHaskell wxHaskell] [[wxWidgets]] wrapper for Haskell | ||
+ | *[http://www.isptech.co.uk/qtHaskell/index.html qtHaskell] is a set of Haskell bindings for the [[Qt]] | ||
+ | *[https://www.gekkou.co.uk/software/hsqml/ HsQML] [[Qt]] Quick for Haskell | ||
+ | *[https://github.com/haskell-opengl Haskell OpenGL] | ||
+ | *[https://github.com/haskell-game/dear-imgui.hs Dear ImGui.hs] [https://github.com/haskell-game/sdl2 SDL2] | ||
+ | *[https://github.com/jtdaugherty/brick brick] 一个用 Haskell 编写的声明性 Unix 终端 UI 编程库 | ||
+ | *[https://github.com/reanimate/reanimate Reanimate] 是用于构建基于 [[SVG]] 图形的声明式动画 Haskell 库 | ||
+ | *[https://github.com/lettier/gifcurry Gifcurry] 是用于GIF制作的视频编辑器。 | ||
+ | *[https://github.com/jaspervdj/patat patat(Presentations Atop The ANSI Terminal)] 是一个小工具,它允许你只使用 ANSI 终端来显示演示文稿(presentations),而不需要 ncurses。 | ||
+ | |||
+ | ==REST API== | ||
+ | *[https://github.com/hasura/graphql-engine Hasura GraphQL Engine] | ||
+ | *[https://github.com/facebook/Haxl Haxl] is a Haskell library that simplifies access to remote data, such as databases or web-based services. | ||
==Web应用== | ==Web应用== | ||
+ | [[文件:haskell-servant.png|right|Servant]] | ||
+ | *[https://haskell.libhunt.com/categories/3536-web Haskell Web] | ||
+ | *[[Haskell Web Foundation]] | ||
+ | *[https://github.com/lyokha/nginx-haskell-module Nginx Haskell module] [[Nginx]] module for binding Haskell | ||
+ | *[https://github.com/haskell-servant/servant servant] A Type-Level Web [[DSL]] | ||
+ | *[https://github.com/Holmusk/three-layer three-layer] Architecture of the Haskell web applications with Haskell on backend and [[Elm]] on frontend. | ||
*[https://github.com/digitallyinduced/ihp IHP] is a modern batteries-included haskell web framework, built on top of Haskell and [https://github.com/topics/nix Nix] | *[https://github.com/digitallyinduced/ihp IHP] is a modern batteries-included haskell web framework, built on top of Haskell and [https://github.com/topics/nix Nix] | ||
− | *[https://github.com/yesodweb Yesod Web Framework] | + | *[https://github.com/yesodweb Yesod Web Framework] [https://github.com/yesodweb/wai Haskell Web Application Interface (WAI)] |
*[https://github.com/snapframework Snap] A Haskell Web Framework | *[https://github.com/snapframework Snap] A Haskell Web Framework | ||
*[https://github.com/jaspervdj/hakyll hakyll] A static website compiler library in Haskell | *[https://github.com/jaspervdj/hakyll hakyll] A static website compiler library in Haskell | ||
+ | *[http://github.com/jgm/yst yst] static websites from YAML and string templates | ||
+ | *[https://pandoc.org/ Pandoc] a universal document converter | ||
+ | *[https://github.com/jaspervdj/blaze-html BlazeHtml] 是一个库,旨在成为使用 Haskell 生成 HTML 的最快方式。 | ||
+ | *[https://github.com/Daniel-Diaz/HaTeX HaTeX] The Haskell [[LaTeX]] library. | ||
+ | *[https://github.com/jgm/gitit Gitit] A [[wiki]] using HAppS, pandoc, and git | ||
+ | *[https://github.com/dmjio/miso miso] A tasty Haskell front-end framework | ||
+ | |||
+ | ==消息社交媒体== | ||
+ | *[https://github.com/n1k0/tooty tooty] An experimental multi-account [[Mastodon]] Web client written in [[Elm]]. | ||
+ | *[[Mastodon]] client module for [https://github.com/syucream/hastodon Haskell] | ||
+ | *[https://github.com/simplex-chat/simplex-chat SimpleX] messaging platform 包含 iOS and Android apps | ||
+ | *[[RabbitMQ]] Client for [https://github.com/hreinhardt/amqp Haskell] | ||
+ | |||
+ | ==eLearning== | ||
+ | *[https://github.com/NoRedInk NoRedInk] We teach writing! | ||
+ | |||
+ | ==网络系统== | ||
+ | [[文件:Haskus-System.png|right]] | ||
+ | 网络、服务器、系统编程 | ||
+ | *[https://github.com/haskell/network Haskell Network] Low-level networking interface | ||
+ | *[https://github.com/jaspervdj/websockets websockets] A Haskell library for creating [[WebSocket]]-capable servers | ||
+ | *[https://github.com/haskus/haskus-system Haskus system] | ||
+ | |||
+ | ==数据科学== | ||
+ | [[文件:jupyter-haskell.png|right]] | ||
+ | [[文件:ArrayFire.png|right]] | ||
+ | *[https://github.com/haskell/statistics statistics] A library of statistical types, data, and functions 这个库提供了一些在统计学中有用的常用函数和类型,专注于高性能、数值稳健和使用良好的算法。 | ||
+ | *[https://github.com/DataHaskell dataHaskell] Haskell [[data science]] | ||
+ | *[https://github.com/gibiansky/IHaskell IHaskell] IHaskell is a kernel for the [[Jupyter]] | ||
+ | *[https://diagrams.github.io/ diagrams] DSL for creating vector graphics for [[Data visualization]] | ||
+ | *[https://github.com/haskell-numerics/hmatrix hmatrix] BLAS/LAPACK wrapper for [[Linear algebra]] and [[Computational mathematics|numerical computation]] | ||
+ | *[https://github.com/tweag/HaskellR HaskellR] Programming [[R]] in Haskell | ||
+ | *[https://github.com/tweag/sparkle sparkle] [[Apache Spark]] applications in Haskell | ||
+ | *[https://github.com/haskell-hvr/cassava cassava] A CSV parsing and encoding library | ||
+ | *[https://github.com/acowley/Frames Frames] Data Frames for Haskell | ||
+ | *[https://github.com/timbod7/haskell-chart haskell-chart] A 2D charting library for haskell | ||
+ | *[https://github.com/datahaskell dataHaskell] Data Types for Data Science 汇总了很多数据科学和机器学习的开源项目 | ||
+ | *[https://github.com/arrayfire/arrayfire-haskell ArrayFire] Haskell bindings to [https://arrayfire.org ArrayFire] | ||
+ | |||
+ | ==[[Financial technology|金融交易]]== | ||
+ | *[https://serokell.io/blog/haskell-in-production Haskell in Production] | ||
+ | *[https://github.com/simonmichael/hledger hledger] 是开源跨平台会计软件,适合刚接触会计的人,也适合强大的用户。它适合追踪金钱、时间、投资、加密货币、库存等,具有高度的准确性、灵活性和隐私性,它是纯文本会计的最佳实现之一。 | ||
+ | *[https://github.com/adjoint-io Adjoint] 为跨国企业实现了现金和结算流程的数字化 | ||
+ | |||
+ | ==人工智能== | ||
+ | [[文件:haskell-brain.png|right|Haskell Brain]] | ||
+ | [[文件:Grammatical-Framework-logo.png|right|Grammatical Framework]] | ||
+ | [[文件:haskell-opencv.png|right|Haskell OpenCV]] | ||
+ | [[Artificial intelligence|人工智能]], [[machine learning|机器学习]], [[deep learning|深度学习]], [[Artificial neural network|神经网络]], [[Natural language processing|NLP]], [[Natural language understanding|NLU]], [[Machine_translation|机器翻译]] in Haskell | ||
+ | *[https://haskell.libhunt.com/packages/machine-learning Haskell Machine Learning packages @ Libhunt] | ||
+ | *[https://wiki.haskell.org/Applications_and_libraries/Linguistics Haskell Linguistics & NLP] | ||
+ | *[https://mmhaskell.com/machine-learning Machine Learning in Haskell] | ||
+ | *[https://hackage.haskell.org/packages/#cat:AI AI packages] | ||
+ | *[https://github.com/DataHaskell/awesome-haskell-ml Awesome Haskell Machine Learning] | ||
+ | *[https://github.com/mikeizbicki/HLearn HLearn] is a high performance [[machine learning]] library written in Haskell | ||
+ | *[https://github.com/HuwCampbell/grenade Grenade] [[Deep learning]] in Haskell | ||
+ | *[https://github.com/GU-CLASP/TypedFlow TypedFlow] Typed frontend to [[TensorFlow]] and higher-order [[deep learning]] | ||
+ | *[https://github.com/hasktorch/hasktorch Hasktorch] Tensors and neural networks in Haskell | ||
+ | *[https://github.com/ajtulloch/dnngraph DNNGraph] A deep neural network model generation DSL in Haskell | ||
+ | *[https://mmhaskell.com/ Monday Morning Haskel] | ||
+ | *[https://hackage.haskell.org/packages/#cat:Natural%20Language%20Processing Natural Language Processing packages] | ||
+ | *[https://github.com/LumiGuide/haskell-opencv Haskell OpenCV] Haskell binding to [[OpenCV]]-3.x | ||
+ | *[https://github.com/GrammaticalFramework Grammatical Framework] [https://www.grammaticalframework.org/gf-book/gf-book-slides.pdf Grammatical Framework: Programming with Multilingual Grammars] | ||
+ | |||
+ | ==数学物理== | ||
+ | *[https://wiki.haskell.org/Category:Mathematics Haskell and Mathematics] [https://wiki.haskell.org/Blog_articles/Mathematics Articles using Haskell for mathematics and the mathematics of Haskell] | ||
+ | *[https://wiki.haskell.org/Applications_and_libraries/Theorem_provers Theorem provers] [[Agda]] | ||
+ | *[https://wiki.haskell.org/Combinatory_logic 组合逻辑(Combinatory logic)]被发展为数学基础的理论,组合逻辑为发展[https://wiki.haskell.org/Applications_and_libraries/Linguistics 数理语言学(mathematical linguistics)] 的强大理论做出了贡献,应用:[[Natural language processing|NLP]] | ||
+ | *[https://haskell.libhunt.com/categories/3145-math Haskell Math projects] [https://hackage.haskell.org/packages/#cat:Math Math packages] [https://hackage.haskell.org/packages/#cat:Algebra Algebra packages] [https://hackage.haskell.org/package/texmath texmath] Conversion between math formats. | ||
+ | *[http://blog.sigfpe.com/2006/01/eleven-reasons-to-use-haskell-as.html 作为一个数学家使用 Haskell 的十一个理由] | ||
+ | *[https://github.com/wellposed/numerical Numerical] is the core library for Numerical Haskell | ||
+ | *[https://github.com/ekmett/ad Automatic Differentiation] | ||
+ | *[http://haskelldsp.sourceforge.net/ Haskell DSP Library] | ||
+ | *[https://github.com/snowleopard/alga Algebraic graphs] | ||
+ | *[https://github.com/adamwalker/sdr Haskell Software Defined Radio (SDR) 库] | ||
+ | *[https://github.com/DSLsofMath/DSLsofMath DSLsofMath] [[DSL|Domain-Specific Languages]] of [[Mathematics]] | ||
+ | *[https://dslsofmath.github.io/BScProj2018/index.html Learn You a Physics for Great Good!] | ||
+ | *[https://github.com/nick8325/jukebox/ jukebox] A theorem prover | ||
==并发并行== | ==并发并行== | ||
− | + | [[文件:accelerate-logo.png|right|Accelerate]] | |
− | *[https://wiki.haskell.org/Applications_and_libraries/Concurrency_and_parallelism Concurrent and Parallel Programming] 软件事务内存(Software Transactional Memory,STM)是一种比较理想的解决并发程序的解决方案。 | + | 并行、并发、异步以及分布式、云计算、[[actor model]] |
− | *[https://wiki.haskell.org/Cloud_Haskell | + | *[https://wiki.haskell.org/Applications_and_libraries/Concurrency_and_parallelism Concurrent and Parallel Programming] 软件事务内存(Software Transactional Memory,STM)是一种比较理想的解决并发程序的解决方案。[https://github.com/haskell/stm STM包] |
− | *[https://github.com/haskell-distributed Distributed Haskell] | + | *[https://wiki.haskell.org/Parallel_GHC_Project Parallel GHC Project] |
+ | *[https://haskell.libhunt.com/categories/2377-concurrency Haskell Concurrency packages and projects] | ||
+ | *[https://github.com/haskell/parallel parallel] Parallel programming library | ||
+ | *[https://www.acceleratehs.org/ Accelerate] High-Performance Parallel Arrays for Haskell | ||
+ | *[https://github.com/haskell/ThreadScope ThreadScope] A graphical tool for profiling parallel Haskell programs | ||
+ | *[https://wiki.haskell.org/Cloud_Haskell Cloud Haskell(CH)] 与 [[Erlang]] 类似,都采用 [[actor model|Actor 模型]]作为其默认的并发模型。 | ||
+ | *[https://github.com/haskell-distributed Distributed Haskell] [https://github.com/haskell-distributed/distributed-process distributed-process] Haskell analog to [[Erlang]] [https://haskell-distributed.github.io/ Learn how to build concurrent, distributed programs with Cloud Haskell] | ||
*[https://well-typed.com/blog/68/ A Cloud Haskell Appetiser (Parallel Haskell Digest 11)] | *[https://well-typed.com/blog/68/ A Cloud Haskell Appetiser (Parallel Haskell Digest 11)] | ||
*[https://github.com/samuelschlesinger/stm-actor stm-actor] An implementation of the [[actor model]] in Haskell using STM | *[https://github.com/samuelschlesinger/stm-actor stm-actor] An implementation of the [[actor model]] in Haskell using STM | ||
*[https://github.com/evanrelf/drama drama] Actor library for Haskell 更多 [https://hackage.haskell.org/packages/search?terms=actor Actor 开源项目] | *[https://github.com/evanrelf/drama drama] Actor library for Haskell 更多 [https://hackage.haskell.org/packages/search?terms=actor Actor 开源项目] | ||
+ | *[https://github.com/transient-haskell/transient transient] composable primitives for concurrency / parallelism / distributed computing | ||
+ | |||
+ | ==音乐视频== | ||
+ | *[https://hackage.haskell.org/packages/#cat:Audio Audio] [https://hackage.haskell.org/packages/#cat:Music Music] [https://hackage.haskell.org/packages/#cat:Video Video] [https://wiki.haskell.org/Haskore Haskore] | ||
+ | *[http://github.com/omelkonian/AlgoRhythm/ AlgoRhythm] Algorithmic music composition | ||
+ | *[https://github.com/lettier/movie-monad Movie Monad] 视频播放器 | ||
==游戏== | ==游戏== | ||
+ | [[文件:fungen.gif|right]] | ||
+ | *[https://wiki.haskell.org/Game_Development Haskell Game Development] [https://wiki.haskell.org/Applications_and_libraries/Games Haskell Games] | ||
+ | *[https://haskell.libhunt.com/categories/2937-game Haskell Game packages and projects] | ||
+ | *[https://github.com/LambdaHack/LambdaHack LambdaHack] Haskell game engine library | ||
+ | *[https://github.com/haskell-game Haskell Game] [https://github.com/haskell-game/sdl2 Haskell SDL2 library] | ||
*[https://github.com/ivanperez-keera/haskanoid Haskanoid] A free and open source breakout clone in Haskell using SDL and FRP, with Wiimote and Kinect support. | *[https://github.com/ivanperez-keera/haskanoid Haskanoid] A free and open source breakout clone in Haskell using SDL and FRP, with Wiimote and Kinect support. | ||
+ | *[https://github.com/benl23x5/gloss gloss] Painless 2D vector graphics, animations and simulations. | ||
*[https://github.com/rainbyte/frag Frag] is a 3D first person shooting game written in Haskell | *[https://github.com/rainbyte/frag Frag] is a 3D first person shooting game written in Haskell | ||
+ | *[https://github.com/ekmett/quine Quine] Haskell, [[OpenGL]], toy project | ||
*[https://github.com/nionita/Barbarossa Barbarossa] - a chess engine written completely in Haskell | *[https://github.com/nionita/Barbarossa Barbarossa] - a chess engine written completely in Haskell | ||
*[https://github.com/ocharles/hadoom hadoom] A little Doom-like 2.5 game engine | *[https://github.com/ocharles/hadoom hadoom] A little Doom-like 2.5 game engine | ||
第62行: | 第326行: | ||
*[https://github.com/mchakravarty/lazy-lambda Lazy Lambda] a Flappy Bird clone in Haskell with SpriteKit | *[https://github.com/mchakravarty/lazy-lambda Lazy Lambda] a Flappy Bird clone in Haskell with SpriteKit | ||
*[https://github.com/morgenthum/lambda-heights Lambda-Heights] A fast paced arcade game | *[https://github.com/morgenthum/lambda-heights Lambda-Heights] A fast paced arcade game | ||
+ | *[https://github.com/keera-studios Keera Studios] The mobile Haskell game and app company | ||
+ | *[https://github.com/haskell-game/fungen FunGEn (Functional Game Engine)] | ||
+ | *[http://jxv.io/blog/2018-02-28-A-Game-in-Haskell.html A Game in Haskell - Dino Rush] | ||
+ | |||
+ | ==移动App== | ||
+ | *[https://wiki.haskell.org/Android Android] | ||
+ | *[https://wiki.haskell.org/IPhone iPhone] | ||
+ | |||
+ | ==实时嵌入式== | ||
+ | *[https://github.com/GaloisInc/ivory Ivory] is an embedded domain specific language (EDSL) | ||
+ | *[https://github.com/Copilot-Language/copilot Copilot] Stream [[DSL]] for hard real-time runtime verification | ||
+ | |||
+ | ==安全密码学== | ||
+ | [[文件:cryptol-logo.png|right|Cryptol]] | ||
+ | *[https://github.com/haskell/hackage-security Hackage Security] | ||
+ | *[https://hackage.haskell.org/packages/#cat:Security Security] [https://hackage.haskell.org/packages/#cat:ACME ACME] (Automatic Certificate Management Environment, RFC 8555) packages | ||
+ | *[https://hackage.haskell.org/packages/#cat:Cryptography Cryptography packages] | ||
+ | *[[Cryptol]]加密语言 | ||
==区块链== | ==区块链== | ||
− | *[https://github.com/input-output-hk Input Output] [https://cardano.org/ Cardano Foundation] [https://input-output-hk.github.io/adrestia/ Adrestia Project] | + | [[文件:cardano-logo.png|right|Cardano]] |
+ | *[[Cardano]] | ||
+ | *[https://github.com/input-output-hk Input Output] [https://cardano.org/ Cardano Foundation] [https://github.com/cardano-foundation/CIPs Cardano Improvement Proposals (CIPs)] [https://cardano.org/what-is-ada/ ADA加密货币] [https://forum.cardano.org/t/cardano/82144 为什么人们无法评估Cardano的潜力] [https://forum.cardano.org/t/cardano/76981 Cardano如何实现中本聪的愿景] [https://forum.cardano.org/t/cardano/67573 Cardano和比特币可以共存并相互支持] [https://forum.cardano.org/t/alonzo-cardano/76973 Alonzo为Cardano带来智能合约] [https://github.com/input-output-hk/essential-cardano The Essential Cardano list] [https://input-output-hk.github.io/adrestia/ Adrestia Project] [https://medium.com/@cardano.foundation/why-cardano-chose-haskell-and-why-you-should-care-why-cardano-chose-haskell-and-why-you-should-f97052db2951 Why Cardano chose Haskell — and why you should care] [https://forum.cardano.org/c/chinese/39 Cardano中文] | ||
*[https://well-typed.com/blog/tags/blockchain/ Well-Typed] | *[https://well-typed.com/blog/tags/blockchain/ Well-Typed] | ||
+ | *[https://hackage.haskell.org/package/lorentz lorentz: EDSL for the Michelson Language] [https://serokell.io/blog/lorentz-implementing-smart-contract-edsl-in-haskell Lorentz: Implementing Smart Contract eDSL in Haskell] | ||
+ | *[https://gitlab.com/morley-framework Morley] Standards and tools for the [https://tezos.com/ Tezos platform] | ||
+ | *[https://github.com/aviaviavi/legion Legion] a simple [[blockchain]] server implementation written in Haskell | ||
+ | *[https://github.com/kadena-io/pact/ Pact] Smart Contract Language | ||
+ | |||
+ | ==FRP流计算== | ||
+ | 大数据、流计算、Functional Reactive Programming (FRP) 使用可组合的事件和随时间变化的值,将交互式系统描述为纯函数。 | ||
+ | *[https://haskell.libhunt.com/categories/2932-frp Haskell FRP packages and projects] | ||
+ | *[https://github.com/reflex-frp/reflex Reflex] The world changes, your apps should keep up. | ||
+ | *[https://github.com/snoyberg/conduit conduit] A streaming data library | ||
+ | *[https://yampa-book.readthedocs.io/en/latest Yampa Book] [https://wiki.haskell.org/Yampa Yampa @ Haskell] [https://lambdor-net.readthedocs.io/index.html Lambdor.net Devblog] | ||
+ | *[https://github.com/nkarag/haskell-DBFunctor DBFunctor] Functional Data Management, [[ETL]]/ELT* Data Processing in Haskell | ||
+ | *[https://github.com/composewell/streamly Haskell Streamly] 数据流编程和声明性并发 | ||
+ | *[https://github.com/composewell/streaming-benchmarks Streaming Benchmarks] 比较 Haskell 中各种流式实现的性能基准测试 | ||
+ | |||
+ | ==数据库存储== | ||
+ | [[文件:PostgREST-logo.png|right|PostgREST]] | ||
+ | [[文件:postgrest-request-flow.png|right]] | ||
+ | [https://wiki.haskell.org/Web/Databases_and_Persistence Databases and Persistence] | ||
+ | *[[PostgREST]] [[REST]] [[API]] for any [[PostgreSQL]] database [https://postgrest.org/en/v9.0/ecosystem.html PostgREST ecosystem] | ||
+ | *[https://github.com/bitemyapp/esqueleto Esqueleto] a [[SQL]] [[DSL]] for Haskell | ||
+ | *[https://github.com/haskell-beam Beam] a type-safe, non-TH Haskell relational database library and [[ORM]] | ||
+ | *[https://github.com/yesodweb/persistent Persistence] interface for Haskell allowing multiple storage methods | ||
+ | *[https://hackage.haskell.org/package/resource-pool resource-pool] A high-performance striped resource pooling implementation | ||
+ | *[https://hackage.haskell.org/package/hedis hedis] Client library for the [[Redis]] datastore: supports full command set, pipelining. | ||
+ | *[https://github.com/NixOS/hackage-db hackage-db] provide access to the Hackage database via Data.Map | ||
+ | *[https://github.com/tkvogt/judy-graph-db judy-graph-db] is a [[graph database]] | ||
+ | *[https://github.com/valderman/selda Selda] A type-safe, high-level SQL library for Haskell | ||
==操作系统== | ==操作系统== | ||
第71行: | 第383行: | ||
*[https://xmonad.org/ XMonad] | *[https://xmonad.org/ XMonad] | ||
*[https://hackage.haskell.org/package/bluetile Bluetile] full-featured tiling for the [[GNOME]] desktop environment | *[https://hackage.haskell.org/package/bluetile Bluetile] full-featured tiling for the [[GNOME]] desktop environment | ||
− | *[https://github.com/tathougies/hos Hos] A Haskell operating system] | + | *[https://github.com/tathougies/hos Hos] A Haskell [[operating system]] |
*[https://programatica.cs.pdx.edu//House/ House] | *[https://programatica.cs.pdx.edu//House/ House] | ||
*[https://github.com/GaloisInc/halfs Haskell File System] | *[https://github.com/GaloisInc/halfs Haskell File System] | ||
+ | *[https://github.com/haskell/directory Haskell Directory] Platform-independent library for basic file system operations | ||
+ | |||
+ | ==机器人== | ||
+ | *[https://wiki.haskell.org/Robotics Robotics] | ||
==硬件芯片== | ==硬件芯片== | ||
+ | [[文件:Formal-Verification.png]] | ||
+ | [[文件:Corespec.png|right]] | ||
+ | |||
+ | 涉及 [[proof assistant]]、软硬件规范、形式化语言、定理验证等领域 | ||
+ | |||
+ | *[https://ku-fpg.github.io/software/kansas-lava/ Kansas Lava] | ||
+ | *[https://deepspec.org The Science of Deep Specification] [https://deepspec.org/entry/Project/Haskell+CoreSpec Haskell CoreSpec] [https://riscv.org/wp-content/uploads/2017/12/Wed-1454-RISCV-AdamChlipala.pdf Strong Formal Verification for RISC-V] | ||
+ | *[https://wiki.haskell.org/Specification_and_proof Specification and proof] [https://programatica.cs.pdx.edu/P/diatchi.pdf A Formal Specification of the Haskell 98 Module System] | ||
+ | *[https://cnrv.io/resource RISC-V资源列表] | ||
+ | *[https://github.com/GaloisInc/grift GRIFT] A richly-typed, deeply-embedded RISC-V semantics written in Haskell | ||
*[https://github.com/standardsemiconductor/lion Lion] Where Lions Roam: RISC-V on the VELDT | *[https://github.com/standardsemiconductor/lion Lion] Where Lions Roam: RISC-V on the VELDT | ||
*[https://github.com/mit-plv/riscv-semantics riscv-semantics] A formal semantics of the [[RISC]]-V ISA in Haskell | *[https://github.com/mit-plv/riscv-semantics riscv-semantics] A formal semantics of the [[RISC]]-V ISA in Haskell | ||
*[https://gergo.erdi.hu/retroclash/ Retrocomputing with Clash: Haskell for FPGA Hardware Design] | *[https://gergo.erdi.hu/retroclash/ Retrocomputing with Clash: Haskell for FPGA Hardware Design] | ||
+ | *[https://forsyde.github.io ForSyDe] A Methodology for Formal System Design(形式化系统设计的方法论) | ||
+ | *[https://github.com/jwiegley/coq-haskell coq-haskell] [http://blog.ezyang.com/2014/03/haskell-for-coq-programmers/ Haskell for Coq programmers] | ||
+ | *[https://github.com/plclub/hs-to-coq hs-to-coq] Convert Haskell source code to [[Coq]] source code. | ||
+ | *[https://github.com/nomeata/incredible The Incredible Proof Machine] | ||
==图集== | ==图集== | ||
<gallery> | <gallery> | ||
image:haskell-ghc-runtime-system.png|GHC实时系统 | image:haskell-ghc-runtime-system.png|GHC实时系统 | ||
+ | image:cardano-ecosystem.jpg|Cardano生态系统 | ||
image:Cardano-Node.png|Cardano Node | image:Cardano-Node.png|Cardano Node | ||
image:Cardano-architecture.png|Cardano架构 | image:Cardano-architecture.png|Cardano架构 | ||
+ | image:Cardano-Ethereum-Bitcoin.png|Cardano优势 | ||
+ | image:plutus-platform-architecture.png|Plutus平台 | ||
+ | image:Cardano-ada-payment-flow.png|Cardano支付流 | ||
image:haskell-static-site-generators.png|静态网站生成器 | image:haskell-static-site-generators.png|静态网站生成器 | ||
image:actor-and-thread.png|Actor和Thread | image:actor-and-thread.png|Actor和Thread | ||
image:Haskell-House-OS.png|用Haskell构建操作系统 | image:Haskell-House-OS.png|用Haskell构建操作系统 | ||
+ | image:Haskell-Typeclassopedia-diagram.png|类型类 | ||
+ | image:Haskell-Lens-Hierarchy.png|Lens | ||
+ | image:wire-backend-architecture.png|wire.com 架构 | ||
+ | image:PostgREST-deployment-diagram.png|PostgREST部署 | ||
+ | image:A-Multipurpose-Formal-RISC-V-Specification.png|RISC-V形式化验证 | ||
+ | image:inside-the-compiler.png|编译器 | ||
+ | image:Monads-in-Haskell.png|Monads(单体) | ||
+ | image:deepspec-network-boxes.png|DeepSpec | ||
+ | image:Marlowe-DSL.jpg|Marlowe DSL | ||
+ | image:dino-rush-architecture.png|Dino Rush游戏架构 | ||
+ | image:etalang-packages.png|Eta语言包 | ||
+ | image:Eta-Haskell-Compatibility.png|Eta元编程兼容性 | ||
+ | image:flrc-pipeline.png|Functional Language Research Compiler (FLRC) | ||
+ | image:grammaticalframework-summerschool-logo.png|Grammatical Framework (GF) | ||
+ | image:grammatical-framework-synopsis.png|GF Resource Grammar Library | ||
</gallery> | </gallery> | ||
==链接== | ==链接== | ||
− | + | *[https://planet.haskell.org/ Planet Haskell] | |
+ | *[https://www.haskellers.com/ Haskellers] [https://github.com/snoyberg/haskellers source code] | ||
+ | |||
[[category:haskell]] | [[category:haskell]] | ||
[[category:ecosystem]] | [[category:ecosystem]] | ||
+ | [[category:Huihoo Foundation]] |
2023年3月26日 (日) 08:11的最后版本
Haskell ecosystem
目录 |
[编辑] 基金会
[编辑] 会议
[编辑] 项目集
- Awesome Haskell awesome-haskell
- State of the Haskell ecosystem
- A List of companies that use Haskell
- A.W.E.S.O.M. O Haskell
- Awesome Haskell @ LibHunt
- servant Rethinking webservices and APIs in Haskell, one combinator at a time(一次一个组合器)
- Holmusk
- Haskell ecosystem
[编辑] 用户服务商
- Haskell in Industry Haskell in Research Haskell in Education
- Haskell Cosmos collection of data related to Haskell ecosystem.
- IOHK 是一个区块链研发团队,目前负责 Cardano Foundation 软件的开发。
- EMURGO
- FP Complete
- Commercial Haskell SIG
- Galois, Inc.
- Serokell
- digitally induced
- Wire Swiss GmbH Wire.com backend services
- Scarf 帮助你了解你的代码是如何被使用的,并将你与那些依赖你的工作的公司联系起来。
- Keera Studios The Haskell Game & Mobile App company @ GitHub
- 为什么 Haskell 是我们(Foxhound Systems)构建生产软件系统的首选 Concordium 混合使用 Rust & Haskell Concordium @ GitHub
- Well-Typed
- Kowainik Anyone can change the world. We do.
- Serokell Software Development Company
[编辑] 语言编译器
- Haskell Language Haskell Compiler
- Implementations (GHC, Hugs, NHC, JHC, Yhc, UHC) Glasgow Haskell Compiler (GHC) Utrecht Haskell Compiler (UHC) LLVM Haskell Compiler (LHC) York Haskell Compiler (Yhc)
- Write You a Haskell Building a modern functional compiler from first principles
- Miranda 是一种惰性求值的纯函数式编程语言,由英国学者大卫·特纳所设计,强烈的影响了后来发展出的 Haskell。
- Haskell library for Language Server Protocol
- Compilers and interpreters Foreign Function Interface (FFI)
- Haskell LLVM JIT Compiler Tutorial Implementing a JIT Compiled Language with Haskell and LLVM
- Asterius A Haskell to WebAssembly compiler
- llvm-hs Haskell bindings for LLVM
- GRIN 是一个支持整个程序优化的懒惰和严格函数式语言的编译器后端LLVM,GRIN 编译器项目支持 Haskell、Idris 和 Agda 语言前端。
- LHC Haskell Compiler aims at compiling Haskell2010 to LLVM IR
- Elm Elm Compiler
- Unison A friendly programming language from the future
- PureScript A small strongly, statically typed language which compiles to JavaScript
- GHCJS is a Haskell to JavaScript compiler that uses the GHC API.
- Haste A GHC-based Haskell to JavaScript compiler
- Clash A functional hardware description language, Haskell to VHDL/Verilog/SystemVerilog compiler
- Cryptol The Language of Cryptography
- Agda is a dependently typed programming language / interactive theorem prover. Programming Language Foundations in Agda
- Carp 是一种旨在为互动和性能(如:游戏、语音视频、声音合成和可视化)提供良好支持的编程语言。Carp 是一个静态类型的 Lisp,没有 GC,用于实时应用。
- Idris A Language for Type-Driven Development
- ForSyDe Haskell-embedded Domain Specific Language
- Accelerate High-performance parallel arrays for Haskell Accelerate-LLVM
- Perl6::Pugs - A Perl 6 Implementation, Perl 6 的 Haskell 实现 Pugs
- Plutus Core smart contracts language implementation and tools. 为了确保增强安全性和代码可验证性,IOHK 选择 Haskell 作为 Plutus 智能合约的编程语言。
- Glow language for Blockchain Decentralized Applications, interact with the Cardano network from Gerbil Scheme
- Marlowe is also an embedded DSL, hosted in the Haskell programming language.
- Ermine Programming Language
- Yampa Functional Reactive Programming (FRP, 函数反应式编程) DSL for efficient hybrid(混合离散时间和连续时间)systems,使用了信号函数作为它的核心抽象,并使用箭头(Arrow)组合器进行结构化。
- Frege is a Haskell for the JVM, It brings purely functional programing to the Java platform.
- Eta Modern Haskell on the JVM, port Haskell games to Android.
- The Kore Language
- Shentong A Haskell implementation of the Shen programming language.
- Axel Haskell + Lisp
- hs-language-php 用于解析和评估 PHP 代码的实验性 Haskell 模块
- hruby Embed Ruby in your Haskell program.
- Berp an implementation of Python 3
- COMP3012/G53CMP Compilers 2018/19 不错的编译原理课程
- The Haskell Thrift Compiler Apache Thrift
- Paskell A Pascal to LLVM compiler in Haskell
- Helium compiler Helium-as-a-library, and the texthint interpreter
- Disco Discus Compiler (DDC)
- Intel labs Haskell research compiler
- Curry A Truly Integrated Functional Logic Programming Language
- Futhark High-performance purely functional data-parallel array programming
- Hackett WIP implementation of a Haskell-like Lisp in Racket
- Quipper: A Scalable Quantum Programming Language 量子计算
[编辑] GHC
GHC, GHCi, Runtime, Virtual Machine, Haskell Compiler Service(HCS)资源汇集
- GHC @ Haskell GHC @ GitLab GHC @ GitHub GHC Documentation GHC Download GHC @ Huihoo
- The Glasgow Haskell Compiler and LLVM
- Hoogle is a Haskell API search engine
- compilertools.net The Catalog of Compiler Construction Tools
- GHC Proposals GHC提案过程和指导委员会对GHC和GHC/Haskell的编译器和语言进行讨论建议和修改。
- Latest releases per GHC version stackage
- Hadrian is a new build system for the Glasgow Haskell Compiler
- GHC packages
- ghc-vis Visualize live Haskell data structures in GHCi
- Template Haskell 是对 Haskell 的 GHC 语言扩展 Template Haskell 允许你在 Haskell 中进行编译时元编程(metaprogramming)。Template Haskell packages
- Lex & Yacc Happy parser generator for Haskell, similar to Yacc and Bison.
- ghcid Very low feature GHCi based IDE
- LC3 virtual machine Write your Own Virtual Machine
[编辑] 开发者
Haskell & GHC 核心开发者
[编辑] .NET
与 .NET 的集成和互操作
[编辑] 类型系统
这里包含类型、数据、结构、算法等软件包,Haskell 主要使用 data 与 newtype 关键字来定义新的数据类型。Type systems are an example of lightweight formal methods(形式化方法)。
- Haskell Type Haskell's Data Types! Haskell Algorithms
- Haskell Data packages and projects Haskell Data Structures packages and projects
- Type Class 类型类首先在 Haskell 中实现 对类型类的广泛解释 Haskell Typeclasses vs. C++ Classes
- Monad 在 Haskell 中,monad 是一个很重要的类型类,它起源于数学中的范畴论,单体(Monad)可以被看作是各种数据或控制结构的标准编程接口。
- Lens Lenses, Folds, and Traversals
- From Type Theory to Haskell in 10 Minutes
[编辑] 包管理
- 推荐使用 GHCup 安装 GHC, cabal-install, Stack and haskell-language-server
- Cabal
- Haskell Platform Included Packages 35 core & widely-used packages
- Hackage The Haskell Package Repository
- stack Nix integration Stack is a cross-platform program for developing Haskell projects.
- ghc-pkg
cabal-install 支持多个 Haskell 编译器,而 ghc-pkg 仅用于 GHC。
- Nix 是一个包管理器,它管理的包环境可信赖、可重现,可原子地执行升级与回滚,在这基础上又有了基于包管理的操作系统 NixOS
- cabal2nix Generate Nix build instructions from a Cabal file
- haskell.nix 用 Nix 构建 Haskell 包的基础设施,haskell.nix 可以自动将 Cabal 或 Stack 项目及其依赖项转化成 Nix 代码。
- The Aura Package Manager
- Darcs 版本控制系统
- hpack 一种现代的 Haskell 包格式
[编辑] 插件模块化
- polysemy 是一个用于编写高复用领域特定语言(DSL)的库。polysemy 允许将业务逻辑与实现细节分开,这样一来,就把实现代码变成可重用的库代码。Reasonably Polymorphic
[编辑] DevOps
代码测试、代码质量、静态分析、代码安全、Gitlab、DevOps ...
- QuickCheck Automatic testing of Haskell programs. Introduction to QuickCheck2
- servant-quickcheck QuickCheck entire APIs
- hspec Testing for Haskell
- hspec-wai Experimental Hspec support for testing WAI applications
- Retrie is a powerful, easy-to-use code modding tool for Haskell.
- Glean System for collecting, deriving and working with facts about source code.
- Duckling Language, engine, and tooling for expressing, testing, and evaluating composable language rules on input strings.
- Packcheck Universal CI testing for Haskell packages
- Generic random generators
- Hercules CI Agent
- Gitlab Pipelines TV Dashboard
- ShellCheck A shell script static analysis tool
- Stan is a Haskell STatic ANalysis tool.
[编辑] 桌面IDE
- The State of Haskell IDEs
- lamdu towards the next generation IDE
- Morte IDE
- Leksah Haskell IDE
- Haskell Mode for Emacs
- Haskell Desktop Foundation
[编辑] 图形GUI
- Haskell Graphics packages and projects
- fgl The Functional Graph Library for Haskell
- XMonad A dynamically tiling X11 window manager that is written and configured in Haskell.
- ImplicitCAD
- Gtk2Hs GUI library for Haskell based on GTK+
- wxHaskell wxWidgets wrapper for Haskell
- qtHaskell is a set of Haskell bindings for the Qt
- HsQML Qt Quick for Haskell
- Haskell OpenGL
- Dear ImGui.hs SDL2
- brick 一个用 Haskell 编写的声明性 Unix 终端 UI 编程库
- Reanimate 是用于构建基于 SVG 图形的声明式动画 Haskell 库
- Gifcurry 是用于GIF制作的视频编辑器。
- patat(Presentations Atop The ANSI Terminal) 是一个小工具,它允许你只使用 ANSI 终端来显示演示文稿(presentations),而不需要 ncurses。
[编辑] REST API
- Hasura GraphQL Engine
- Haxl is a Haskell library that simplifies access to remote data, such as databases or web-based services.
[编辑] Web应用
- Haskell Web
- Haskell Web Foundation
- Nginx Haskell module Nginx module for binding Haskell
- servant A Type-Level Web DSL
- three-layer Architecture of the Haskell web applications with Haskell on backend and Elm on frontend.
- IHP is a modern batteries-included haskell web framework, built on top of Haskell and Nix
- Yesod Web Framework Haskell Web Application Interface (WAI)
- Snap A Haskell Web Framework
- hakyll A static website compiler library in Haskell
- yst static websites from YAML and string templates
- Pandoc a universal document converter
- BlazeHtml 是一个库,旨在成为使用 Haskell 生成 HTML 的最快方式。
- HaTeX The Haskell LaTeX library.
- Gitit A wiki using HAppS, pandoc, and git
- miso A tasty Haskell front-end framework
[编辑] 消息社交媒体
- tooty An experimental multi-account Mastodon Web client written in Elm.
- Mastodon client module for Haskell
- SimpleX messaging platform 包含 iOS and Android apps
- RabbitMQ Client for Haskell
[编辑] eLearning
- NoRedInk We teach writing!
[编辑] 网络系统
网络、服务器、系统编程
- Haskell Network Low-level networking interface
- websockets A Haskell library for creating WebSocket-capable servers
- Haskus system
[编辑] 数据科学
- statistics A library of statistical types, data, and functions 这个库提供了一些在统计学中有用的常用函数和类型,专注于高性能、数值稳健和使用良好的算法。
- dataHaskell Haskell data science
- IHaskell IHaskell is a kernel for the Jupyter
- diagrams DSL for creating vector graphics for Data visualization
- hmatrix BLAS/LAPACK wrapper for Linear algebra and numerical computation
- HaskellR Programming R in Haskell
- sparkle Apache Spark applications in Haskell
- cassava A CSV parsing and encoding library
- Frames Data Frames for Haskell
- haskell-chart A 2D charting library for haskell
- dataHaskell Data Types for Data Science 汇总了很多数据科学和机器学习的开源项目
- ArrayFire Haskell bindings to ArrayFire
[编辑] 金融交易
- Haskell in Production
- hledger 是开源跨平台会计软件,适合刚接触会计的人,也适合强大的用户。它适合追踪金钱、时间、投资、加密货币、库存等,具有高度的准确性、灵活性和隐私性,它是纯文本会计的最佳实现之一。
- Adjoint 为跨国企业实现了现金和结算流程的数字化
[编辑] 人工智能
人工智能, 机器学习, 深度学习, 神经网络, NLP, NLU, 机器翻译 in Haskell
- Haskell Machine Learning packages @ Libhunt
- Haskell Linguistics & NLP
- Machine Learning in Haskell
- AI packages
- Awesome Haskell Machine Learning
- HLearn is a high performance machine learning library written in Haskell
- Grenade Deep learning in Haskell
- TypedFlow Typed frontend to TensorFlow and higher-order deep learning
- Hasktorch Tensors and neural networks in Haskell
- DNNGraph A deep neural network model generation DSL in Haskell
- Monday Morning Haskel
- Natural Language Processing packages
- Haskell OpenCV Haskell binding to OpenCV-3.x
- Grammatical Framework Grammatical Framework: Programming with Multilingual Grammars
[编辑] 数学物理
- Haskell and Mathematics Articles using Haskell for mathematics and the mathematics of Haskell
- Theorem provers Agda
- 组合逻辑(Combinatory logic)被发展为数学基础的理论,组合逻辑为发展数理语言学(mathematical linguistics) 的强大理论做出了贡献,应用:NLP
- Haskell Math projects Math packages Algebra packages texmath Conversion between math formats.
- 作为一个数学家使用 Haskell 的十一个理由
- Numerical is the core library for Numerical Haskell
- Automatic Differentiation
- Haskell DSP Library
- Algebraic graphs
- Haskell Software Defined Radio (SDR) 库
- DSLsofMath Domain-Specific Languages of Mathematics
- Learn You a Physics for Great Good!
- jukebox A theorem prover
[编辑] 并发并行
并行、并发、异步以及分布式、云计算、actor model
- Concurrent and Parallel Programming 软件事务内存(Software Transactional Memory,STM)是一种比较理想的解决并发程序的解决方案。STM包
- Parallel GHC Project
- Haskell Concurrency packages and projects
- parallel Parallel programming library
- Accelerate High-Performance Parallel Arrays for Haskell
- ThreadScope A graphical tool for profiling parallel Haskell programs
- Cloud Haskell(CH) 与 Erlang 类似,都采用 Actor 模型作为其默认的并发模型。
- Distributed Haskell distributed-process Haskell analog to Erlang Learn how to build concurrent, distributed programs with Cloud Haskell
- A Cloud Haskell Appetiser (Parallel Haskell Digest 11)
- stm-actor An implementation of the actor model in Haskell using STM
- drama Actor library for Haskell 更多 Actor 开源项目
- transient composable primitives for concurrency / parallelism / distributed computing
[编辑] 音乐视频
- Audio Music Video Haskore
- AlgoRhythm Algorithmic music composition
- Movie Monad 视频播放器
[编辑] 游戏
- Haskell Game Development Haskell Games
- Haskell Game packages and projects
- LambdaHack Haskell game engine library
- Haskell Game Haskell SDL2 library
- Haskanoid A free and open source breakout clone in Haskell using SDL and FRP, with Wiimote and Kinect support.
- gloss Painless 2D vector graphics, animations and simulations.
- Frag is a 3D first person shooting game written in Haskell
- Quine Haskell, OpenGL, toy project
- Barbarossa - a chess engine written completely in Haskell
- hadoom A little Doom-like 2.5 game engine
- Hedgewars A turn-based artillery game, The game server is written in Haskell.
- Lazy Lambda a Flappy Bird clone in Haskell with SpriteKit
- Lambda-Heights A fast paced arcade game
- Keera Studios The mobile Haskell game and app company
- FunGEn (Functional Game Engine)
- A Game in Haskell - Dino Rush
[编辑] 移动App
[编辑] 实时嵌入式
- Ivory is an embedded domain specific language (EDSL)
- Copilot Stream DSL for hard real-time runtime verification
[编辑] 安全密码学
- Hackage Security
- Security ACME (Automatic Certificate Management Environment, RFC 8555) packages
- Cryptography packages
- Cryptol加密语言
[编辑] 区块链
- Cardano
- Input Output Cardano Foundation Cardano Improvement Proposals (CIPs) ADA加密货币 为什么人们无法评估Cardano的潜力 Cardano如何实现中本聪的愿景 Cardano和比特币可以共存并相互支持 Alonzo为Cardano带来智能合约 The Essential Cardano list Adrestia Project Why Cardano chose Haskell — and why you should care Cardano中文
- Well-Typed
- lorentz: EDSL for the Michelson Language Lorentz: Implementing Smart Contract eDSL in Haskell
- Morley Standards and tools for the Tezos platform
- Legion a simple blockchain server implementation written in Haskell
- Pact Smart Contract Language
[编辑] FRP流计算
大数据、流计算、Functional Reactive Programming (FRP) 使用可组合的事件和随时间变化的值,将交互式系统描述为纯函数。
- Haskell FRP packages and projects
- Reflex The world changes, your apps should keep up.
- conduit A streaming data library
- Yampa Book Yampa @ Haskell Lambdor.net Devblog
- DBFunctor Functional Data Management, ETL/ELT* Data Processing in Haskell
- Haskell Streamly 数据流编程和声明性并发
- Streaming Benchmarks 比较 Haskell 中各种流式实现的性能基准测试
[编辑] 数据库存储
- PostgREST REST API for any PostgreSQL database PostgREST ecosystem
- Esqueleto a SQL DSL for Haskell
- Beam a type-safe, non-TH Haskell relational database library and ORM
- Persistence interface for Haskell allowing multiple storage methods
- resource-pool A high-performance striped resource pooling implementation
- hedis Client library for the Redis datastore: supports full command set, pipelining.
- hackage-db provide access to the Hackage database via Data.Map
- judy-graph-db is a graph database
- Selda A type-safe, high-level SQL library for Haskell
[编辑] 操作系统
- XMonad
- Bluetile full-featured tiling for the GNOME desktop environment
- Hos A Haskell operating system
- House
- Haskell File System
- Haskell Directory Platform-independent library for basic file system operations
[编辑] 机器人
[编辑] 硬件芯片
涉及 proof assistant、软硬件规范、形式化语言、定理验证等领域
- Kansas Lava
- The Science of Deep Specification Haskell CoreSpec Strong Formal Verification for RISC-V
- Specification and proof A Formal Specification of the Haskell 98 Module System
- RISC-V资源列表
- GRIFT A richly-typed, deeply-embedded RISC-V semantics written in Haskell
- Lion Where Lions Roam: RISC-V on the VELDT
- riscv-semantics A formal semantics of the RISC-V ISA in Haskell
- Retrocomputing with Clash: Haskell for FPGA Hardware Design
- ForSyDe A Methodology for Formal System Design(形式化系统设计的方法论)
- coq-haskell Haskell for Coq programmers
- hs-to-coq Convert Haskell source code to Coq source code.
- The Incredible Proof Machine
[编辑] 图集
[编辑] 链接
分享您的观点