Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
ollef committed Jan 22, 2024
1 parent 736796d commit 7e8a779
Showing 1 changed file with 31 additions and 0 deletions.
31 changes: 31 additions & 0 deletions src/UTF8.hs
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}

module UTF8 where

import qualified Data.Char as Char
import qualified Data.Text.Internal.Encoding.Utf8 as Utf8
import qualified Language.Haskell.TH.Lib as TH
import Language.Haskell.TH.Quote
import Protolude

unit1 :: QuasiQuoter
unit1 =
QuasiQuoter
{ quoteExp = \case
[c]
| word8 <- fromIntegral $ Char.ord c
, Utf8.validate1 word8 ->
TH.litE $ TH.integerL $ fromIntegral word8
_ ->
panic "UTF8.unit1 needs a single char"
, quotePat = \case
[c]
| word8 <- fromIntegral $ Char.ord c
, Utf8.validate1 word8 ->
TH.litP $ TH.integerL $ fromIntegral word8
_ ->
panic "UTF8.unit1 needs a single char"
, quoteType = panic "UTF8.unit1 quoteType"
, quoteDec = panic "UTF8.unit1 quoteDec"
}

0 comments on commit 7e8a779

Please sign in to comment.