git.iko.soy/rowtype-yoga/purescm
on bytevector help sign in
Simplify foreign imports
commit126b6b9fd9729f85ed50b5d63eb3f15f548ad2a8 authorpurefunctor <purefunctor@pm.me> dateFri 17 Mar 2023, 01:13 (4 years ago) parent1e38d34
4 files changed+8−10
src/PureScript/Backend/Chez/Convert.purs+1−2 src/PureScript/Backend/Chez/Syntax.purs+3−7 test-snapshots/snapshots-input/Snapshot.Import.Foreign.purs+3 test-snapshots/snapshots-output/Snapshot.Import.Foreign.ss+1−1
src/PureScript/Backend/Chez/Convert.purs+1−2
@@ -8,7 +8,6 @@ import Data.Array.NonEmpty as NonEmptyArray
88import Data.Maybe (Maybe(..))
99import Data.Newtype (wrap)
1010import Data.Profunctor.Strong (second)
11−import Data.Set as Set
1211import Data.String.CodeUnits as CodeUnits
1312import Data.Tuple (Tuple, uncurry)
1413import PureScript.Backend.Chez.Syntax (ChezExpr)
@@ -30,7 +29,7 @@ codegenModule { name, bindings, exports, imports, foreign: foreign_ } =
3029 codegenEnv = { currentModule: name }
3130
3231 exports' :: Array Ident
33− exports' = Array.fromFoldable $ Set.difference exports foreign_
32+ exports' = Array.fromFoldable exports
3433
3534 imports' :: Array ModuleName
3635 imports' = Array.fromFoldable imports
src/PureScript/Backend/Chez/Syntax.purs+3−7
@@ -73,12 +73,8 @@ foreignImport :: ModuleName -> Array Ident -> Array ChezExpr
7373foreignImport moduleName foreign_ =
7474 if not $ Array.null foreign_ then
7575 [ List
76− [ Identifier "prefix"
77− , List
78− [ Identifier $ coerce moduleName
79− , Identifier "foreign"
80− ]
81− , Identifier $ coerce moduleName <> "."
76+ [ Identifier $ coerce moduleName
77+ , Identifier "foreign"
8278 ]
8379 ]
8480 else
@@ -96,7 +92,7 @@ library moduleName exports imports bindings foreign_ = do
9692 , Identifier $ "(" <> coerce moduleName <> " lib" <> ")"
9793 , List $
9894 [ Identifier "export"
99− ] <> map Identifier (coerce exports) <> foreignExport moduleName foreign_
95+ ] <> (Identifier <$> coerce exports)
10096 , List $
10197 [ Identifier "import"
10298 , List
test-snapshots/snapshots-input/Snapshot.Import.Foreign.purs+3
@@ -1,3 +1,6 @@
11module Snapshot.Import.Foreign where
22
33foreign import greeting :: String
4+
5+greeting_ :: String
6+greeting_ = greeting
test-snapshots/snapshots-output/Snapshot.Import.Foreign.ss+1−1
@@ -1 +1 @@
1−(library (Snapshot.Import.Foreign lib) (export Snapshot.Import.Foreign.greeting) (import (prefix (chezscheme) scm:) (prefix (Snapshot.Import.Foreign foreign) Snapshot.Import.Foreign.)))
1+(library (Snapshot.Import.Foreign lib) (export greeting greeting_) (import (prefix (chezscheme) scm:) (Snapshot.Import.Foreign foreign)) (scm:define greeting_ greeting))