-- Copyright 2020-2021 Google LLC -- -- Licensed under the Apache License, Version 2.0 (the "License"); -- you may not use this file except in compliance with the License. -- You may obtain a copy of the License at -- -- http://www.apache.org/licenses/LICENSE-2.0 -- -- Unless required by applicable law or agreed to in writing, software -- distributed under the License is distributed on an "AS IS" BASIS, -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- See the License for the specific language governing permissions and -- limitations under the License. {-# LANGUAGE TypeApplications #-} module SNumberLiterals where import Data.SNumber (SNumber) import DependentLiterals (valueOf) import Kinds.Integer (Integer(..)) import Numeric.Natural (Natural) x0 :: SNumber Natural ('Pos 0) x0 = 0 x1 :: SNumber Natural ('Pos 4096) x1 = 4096 x2 :: SNumber Natural ('Pos 77) x2 = valueOf @77 x3 :: SNumber Natural ('Pos 77) x3 = valueOf @('Pos 77) x4 :: SNumber Int ('Pos 0) x4 = 0 x5 :: SNumber Int ('Neg 4) x5 = -4 x6 :: SNumber Int ('Neg 77) x6 = valueOf @('Neg 77) x7 :: SNumber Word ('Pos 7) x7 = 7 x8 :: SNumber Prelude.Integer ('Neg 44) x8 = -44