{-# OPTIONS_GHC -futf16-string-defines #-}

{-
Two ideas for Unicode human language support in GHC
-}

module CJK where

import Control.Monad
import System.IO

-- Method 1, string preprocessing

#string 変換 Translation
#string 単子 Monad
#string システム System
#string コントロール Control
#string インポート import

#string 。 .
#string 「 [
#string 」 ]

-- Method 2, module symbol exosure. One could translate any syntax any number of ways then.

foreign export utf16 "単子" Monad
foreign export utf16 "マップ" map
foreign export utf16 "てすと" Test 

-- If using the first method of preprocessing, perhaps an option to GHC for basic translate:
--
-- ghc -ddump-utf16 CJK.hs
--
-- which makes CJK_utf16.hs
--

-- If using the second method of foriegn exports,
--
-- ..then would ghc --dump-foreign need to respect this also?
--

