tokenizer-0.1.0.0: Check uniqueness and tokenize safely
Copyright(c) Lev Dvorkin 2022
LicenseMIT
Maintainerlev_135@mail.ru
StabilityExperimental
Safe HaskellNone
LanguageHaskell2010

Text.Tokenizer.BlackWhiteSet

Description

This module contains auxillary set structure to store effectively small sets of symbols and complementary to them

Synopsis

Documentation

data BlackWhiteSet c Source #

Select some "white set" of available elements or "black set" of forbidden ones

Constructors

BlackSet (Set c) 
WhiteSet (Set c) 

Some simple utilities to work with BlackWhiteSet

singleton :: c -> BlackWhiteSet c Source #

Make a BlackWhiteSet containing only one symbol

isEmpty :: BlackWhiteSet c -> Bool Source #

Check if BlackWhiteSet is empty

NB! number of all elements assumed to be too large, so BlackSet is never supposed to be empty

member :: Ord c => c -> BlackWhiteSet c -> Bool Source #

Check if symbol is a member of a BlackWhiteSet

>>> member 'a' (WhiteSet (S.fromList ['a', 'b']))
True
>>> member 'a' (BlackSet (S.fromList ['a', 'b']))
False