Popularity
6.0
Declining
Activity
0.0
Stable
10
5
2
Monthly Downloads: 0
Programming language: Haskell
License: BSD 3-clause "New" or "Revised" License
Tags:
Language
Latest version: v0.4.0.0
zabt alternatives and similar packages
Based on the "Language" category.
Alternatively, view zabt alternatives based on common mentions on social networks and blogs.
-
stylish-haskell
DISCONTINUED. Haskell code prettifier [Moved to: https://github.com/haskell/stylish-haskell] -
ministg
Ministg is an interpreter for a high-level, small-step, operational semantics for the STG machine.
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
Promo
coderabbit.ai

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of zabt or a related project?
Popular Comparisons
README
Zabt
Simple-minded abstract binding trees.
A utility library for language authors.
Example
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE UndecidableInstances #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE DeriveFoldable #-}
{-# LANGUAGE DeriveFunctor #-}
module STLC where
import Zabt
import Zabt.Name
data Alg x
= App x x
| Lam x
deriving (Eq, Ord, Show, Functor, Foldable)
type Exp = Term Name Alg
pattern (:$) :: Exp -> Exp -> Exp
pattern (:$) f x = Pat (App f x)
pattern (:\) :: Name -> Exp -> Exp
pattern (:\) v e = Pat (Lam (Abs v e))
infixr 0 :\
infixr 1 :$
ex1, ex2, ex3 :: Exp
ex1 = Var "foo"
ex2 = "foo" :\ Var "foo"
ex3 = ex2 :$ ex1
whnf :: Exp -> Exp
whnf x = case x of
Var _ -> x
_ :\ _ -> x
(v :\ e) :$ x -> subst1 (v, x) e