{-# LANGUAGE OverloadedStrings #-} module Funcons.Core.Values.Primitive.Characters where import Funcons.EDSL import Funcons.Types library = libFromList [ ("ascii-characters", NullaryFuncon (rewriteTo $ type_ AsciiCharacters)) , ("ascii-character", ValueOp stepAscii_Character) ] ascii_character = applyFuncon "ascii-character" stepAscii_Character [String [c]] = rewriteTo $ FValue $ Ascii $ fromEnum c stepAscii_Character vs = sortErr (ascii_character (fvalues vs)) "ascii-character not applied to a string (of 1 ascii character long)"