欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Haskell ecosystem
来自开放百科 - 灰狐
Haskell ecosystem
目录 |
基金会
项目集
- Awesome Haskell
- Awesome Haskell @ LibHunt
- servant Rethinking webservices and APIs in Haskell, one combinator at a time(一次一个组合器)
- Holmusk
用户服务商
- 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 Language Haskell Compiler
- Implementations (GHC, Hugs, NHC, JHC, Yhc, UHC) Glasgow Haskell Compiler (GHC) Utrecht Haskell Compiler (UHC) LLVM Haskell Compiler (LHC)
- 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
- Elm Elm Compiler
- Unison A friendly programming language from the future
- PureScript A small strongly, statically typed language which compiles to JavaScript
- 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.
- Idris A Language for Type-Driven Development
- ForSyDe Haskell-embedded Domain Specific Language
- Perl6::Pugs - A Perl 6 Implementation, Perl 6 的 Haskell 实现 Pugs
- Plutus Core smart contracts language implementation and tools
- Ermine Programming Language
- Yampa Functional Reactive Programming (FRP, 函数反应式编程) DSL for efficient hybrid(混合离散时间和连续时间)systems,使用了信号函数作为它的核心抽象,并使用箭头(Arrow)组合器进行结构化。
- 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.
- COMP3012/G53CMP Compilers 2018/19 不错的编译原理课程
- The Haskell Thrift Compiler Apache Thrift
GHC
GHC, GHCi, Haskell Compiler Service(HCS) 资源汇集
- GHC @ Haskell GHC @ GitLab GHC @ GitHub GHC Documentation GHC Download GHC @ Huihoo
- 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.
开发者
Haskell & GHC 核心开发者
类型系统
这里包含类型、数据、结构、算法等软件包,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
包管理
- Haskell Platform Included Packages 35 core & widely-used packages
- Hackage The Haskell Package Repository
- stack Nix integration
- cabal
- ghc-pkg
cabal-install 支持多个 Haskell 编译器,而 ghc-pkg 仅用于 GHC。
- Nix 是一个包管理器,它管理的包环境可信赖、可重现,可原子地执行升级与回滚,在这基础上又有了基于包管理的操作系统 NixOS
- The Aura Package Manager
插件模块化
- polysemy 是一个用于编写高复用领域特定语言(DSL)的库。polysemy 允许将业务逻辑与实现细节分开,这样一来,就把实现代码变成可重用的库代码。Reasonably Polymorphic
测试质量
- 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.
桌面IDE
图形GUI
- Haskell Graphics packages and projects
- XMonad A dynamically tiling X11 window manager that is written and configured in Haskell.
- ImplicitCAD Math Inspired CAD
- wxHaskell
- Haskell OpenGL
- Dear ImGui.hs SDL2
- brick 一个用 Haskell 编写的声明性 Unix 终端 UI 编程库
- Reanimate 是用于构建基于 SVG 图形的声明式动画 Haskell 库
- Gifcurry 是用于GIF制作的视频编辑器。
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
- 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
- Pandoc a universal document converter
数据科学
- dataHaskell Haskell data science
金融交易
- Haskell in Production
- hledger 是开源跨平台会计软件,适合刚接触会计的人,也适合强大的用户。它适合追踪金钱、时间、投资、加密货币、库存等,具有高度的准确性、灵活性和隐私性,它是纯文本会计的最佳实现之一。
机器学习
机器学习, 深度学习, 神经网络, NLP in Haskell
- Haskell Machine Learning packages @ Libhunt
- Machine Learning in Haskell
- AI packages
- Awesome Haskell Machine Learning
- 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 Mathematics Articles using Haskell for mathematics and the mathematics of Haskell
- 组合逻辑(Combinatory logic)被发展为数学基础的理论,组合逻辑为发展数理语言学(mathematical linguistics) 的强大理论做出了贡献,应用:NLP
- Haskell Math projects Math packages Algebra packages
- 作为一个数学家使用 Haskell 的十一个理由
- Numerical is the core library for Numerical Haskell
- Automatic Differentiation
- Haskell DSP Library
- Algebraic graphs
并发并行
并行、并发、异步以及分布式、云计算
- Concurrent and Parallel Programming 软件事务内存(Software Transactional Memory,STM)是一种比较理想的解决并发程序的解决方案。
- Haskell Concurrency packages and projects
- Cloud_Haskell(CH) 与 Erlang 类似,都采用 Actor 模型作为其默认的并发模型。
- Distributed 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 开源项目
音乐视频
- Audio Music Video Haskore
- AlgoRhythm Algorithmic music composition
游戏
- Haskell Game Development Haskell Games
- Haskell Game packages and projects
- LambdaHack Haskell game engine library
- Haskanoid A free and open source breakout clone in Haskell using SDL and FRP, with Wiimote and Kinect support.
- Frag is a 3D first person shooting game written in Haskell
- 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)
安全密码学
- Security ACME (Automatic Certificate Management Environment, RFC 8555) packages
- Cryptography packages
- cryptol加密语言
区块链
- Input Output Cardano Foundation Adrestia Project Why Cardano chose Haskell — and why you should care
- Well-Typed
- lorentz: EDSL for the Michelson Language Lorentz: Implementing Smart Contract eDSL in Haskell
- Morley Standards and tools for the Tezos platform
FRP流计算
大数据、流计算、Functional Reactive Programming (FRP) 使用可组合的事件和随时间变化的值,将交互式系统描述为纯函数。
- Haskell FRP packages and projects
- Reflex The world changes, your apps should keep up.
- conduit A streaming data library
数据库存储
- 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
操作系统
- XMonad
- Bluetile full-featured tiling for the GNOME desktop environment
- Hos A Haskell operating system
- House
- Haskell File System
硬件芯片
- 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
图集
链接
分享您的观点