on master help sign in
Rename --debug flag to --optimize
commitf609efadd7c19e72c747801a96ff1021ff23a3bd authorEvan Czaplicki <evancz@users.noreply.github.com> dateTue 3 Apr 2018, 15:11 (9 years ago) parent919ffa9
5 files changed+30−30
compiler/src/Generate/JavaScript.hs+9−9 compiler/src/Generate/JavaScript/Expression.hs+14−14 compiler/src/Generate/JavaScript/Name.hs+3−3 ui/terminal/src/Main.hs+1−1 ui/terminal/src/Make.hs+3−3
compiler/src/Generate/JavaScript.hs+9−9
@@ -37,7 +37,7 @@ import qualified Reporting.Helpers as H
3737-- GENERATE MAINS
3838
3939
40−data Mode = Debug | Prod
40+data Mode = Dev | Prod
4141
4242
4343data Output
@@ -72,8 +72,8 @@ addMain mode graph home _ state =
7272toRealMode :: Mode -> Name.Target -> Map.Map N.Name Int -> Name.Mode
7373toRealMode mode target fields =
7474 case mode of
75− Debug ->
76− Name.Debug target
75+ Dev ->
76+ Name.Dev target
7777
7878 Prod ->
7979 Name.Prod target (Name.shortenFieldNames fields)
@@ -86,7 +86,7 @@ toRealMode mode target fields =
8686generateForRepl :: Opt.Graph -> I.Interface -> ModuleName.Canonical -> N.Name -> B.Builder
8787generateForRepl (Opt.Graph _ graph _) iface home name =
8888 let
89− mode = Name.Debug Name.Server
89+ mode = Name.Dev Name.Server
9090 debugState = addGlobal mode graph emptyState (Opt.Global ModuleName.debug "toString")
9191 evalState = addGlobal mode graph debugState (Opt.Global home name)
9292 in
@@ -239,7 +239,7 @@ generateCycle mode (Opt.Global home _) cycle =
239239 Name.Prod _ _ ->
240240 block
241241
242− Name.Debug _ ->
242+ Name.Dev _ ->
243243 JS.Try block Name.dollar $ JS.Throw $ JS.String $
244244 "The following top-level definitions are causing infinite recursion:\\n"
245245 <> drawCycle (map fst cycle)
@@ -311,7 +311,7 @@ addChunk mode builder chunk =
311311
312312 Opt.Debug ->
313313 case mode of
314− Name.Debug _ ->
314+ Name.Dev _ ->
315315 builder
316316
317317 Name.Prod _ _ ->
@@ -319,7 +319,7 @@ addChunk mode builder chunk =
319319
320320 Opt.Prod ->
321321 case mode of
322− Name.Debug _ ->
322+ Name.Dev _ ->
323323 "_UNUSED" <> builder
324324
325325 Name.Prod _ _ ->
@@ -335,7 +335,7 @@ generateEnum mode (Opt.Global home name) ctorName index =
335335 let
336336 definition =
337337 case mode of
338− Name.Debug _ ->
338+ Name.Dev _ ->
339339 Expr.codeToExpr (Expr.generateCtor mode ctorName index 0)
340340
341341 Name.Prod _ _ ->
@@ -353,7 +353,7 @@ generateBox mode (Opt.Global home name) ctorName =
353353 let
354354 definition =
355355 case mode of
356− Name.Debug _ ->
356+ Name.Dev _ ->
357357 Expr.codeToExpr (Expr.generateCtor mode ctorName Index.first 1)
358358
359359 Name.Prod _ _ ->
compiler/src/Generate/JavaScript/Expression.hs+14−14
@@ -58,7 +58,7 @@ generate mode expression =
5858 Opt.Chr char ->
5959 JsExpr $
6060 case mode of
61− Name.Debug _ ->
61+ Name.Dev _ ->
6262 JS.Call toChar [ JS.String (Text.encodeUtf8Builder char) ]
6363
6464 Name.Prod _ _ ->
@@ -81,7 +81,7 @@ generate mode expression =
8181
8282 Opt.VarEnum (Opt.Global home name) index ->
8383 case mode of
84− Name.Debug _ ->
84+ Name.Dev _ ->
8585 JsExpr $ JS.Ref (Name.fromGlobal home name)
8686
8787 Name.Prod _ _ ->
@@ -90,7 +90,7 @@ generate mode expression =
9090 Opt.VarBox (Opt.Global home name) ->
9191 JsExpr $ JS.Ref $
9292 case mode of
93− Name.Debug _ -> Name.fromGlobal home name
93+ Name.Dev _ -> Name.fromGlobal home name
9494 Name.Prod _ _ -> Name.fromGlobal ModuleName.basics N.identity
9595
9696 Opt.VarCycle home name ->
@@ -161,7 +161,7 @@ generate mode expression =
161161
162162 Opt.Unit ->
163163 case mode of
164− Name.Debug _ ->
164+ Name.Dev _ ->
165165 JsExpr $ JS.Ref (Name.fromKernel N.utils "Tuple0")
166166
167167 Name.Prod _ _ ->
@@ -261,7 +261,7 @@ generateCtor mode name index arity =
261261
262262 ctorTag =
263263 case mode of
264− Name.Debug _ -> JS.String (N.toBuilder name)
264+ Name.Dev _ -> JS.String (N.toBuilder name)
265265 Name.Prod _ _ -> JS.Int (Index.toMachine index)
266266 in
267267 generateFunction argNames $ JsExpr $ JS.Object $
@@ -363,7 +363,7 @@ generateCall mode func args =
363363
364364 Opt.VarBox _ ->
365365 case mode of
366− Name.Debug _ ->
366+ Name.Dev _ ->
367367 generateCallHelp mode func args
368368
369369 Name.Prod _ _ ->
@@ -744,7 +744,7 @@ generatePath mode path =
744744
745745 Opt.Unbox subPath ->
746746 case mode of
747− Name.Debug _ ->
747+ Name.Dev _ ->
748748 JS.Access (generatePath mode subPath) (Name.fromIndex Index.first)
749749
750750 Name.Prod _ _ ->
@@ -872,7 +872,7 @@ generateIfTest mode root (path, test) =
872872 DT.IsCtor name index _ _ ->
873873 strictEq (JS.Access value Name.dollar) $
874874 case mode of
875− Name.Debug _ -> JS.String (N.toBuilder name)
875+ Name.Dev _ -> JS.String (N.toBuilder name)
876876 Name.Prod _ _ -> JS.Int (Index.toMachine index)
877877
878878 DT.IsInt int ->
@@ -881,7 +881,7 @@ generateIfTest mode root (path, test) =
881881 DT.IsChr char ->
882882 strictEq (JS.String (Text.encodeUtf8Builder char)) $
883883 case mode of
884− Name.Debug _ -> JS.Call (JS.Access value (Name.fromLocal "valueOf")) []
884+ Name.Dev _ -> JS.Call (JS.Access value (Name.fromLocal "valueOf")) []
885885 Name.Prod _ _ -> value
886886
887887 DT.IsStr string ->
@@ -911,7 +911,7 @@ generateCaseValue mode test =
911911 case test of
912912 DT.IsCtor name index _ _ ->
913913 case mode of
914− Name.Debug _ -> JS.String (N.toBuilder name)
914+ Name.Dev _ -> JS.String (N.toBuilder name)
915915 Name.Prod _ _ -> JS.Int (Index.toMachine index)
916916
917917 DT.IsInt int ->
@@ -941,7 +941,7 @@ generateCaseTest mode root path exampleTest =
941941 case exampleTest of
942942 DT.IsCtor _ _ _ opts ->
943943 case mode of
944− Name.Debug _ ->
944+ Name.Dev _ ->
945945 JS.Access value Name.dollar
946946
947947 Name.Prod _ _ ->
@@ -963,7 +963,7 @@ generateCaseTest mode root path exampleTest =
963963
964964 DT.IsChr _ ->
965965 case mode of
966− Name.Debug _ ->
966+ Name.Dev _ ->
967967 JS.Call (JS.Access value (Name.fromLocal "valueOf")) []
968968
969969 Name.Prod _ _ ->
@@ -991,7 +991,7 @@ pathToJsExpr mode root path =
991991
992992 DT.Unbox subPath ->
993993 case mode of
994− Name.Debug _ ->
994+ Name.Dev _ ->
995995 JS.Access (pathToJsExpr mode root subPath) (Name.fromIndex Index.first)
996996
997997 Name.Prod _ _ ->
@@ -1031,7 +1031,7 @@ toDebugMetadata mode interfaces msgType =
10311031 Name.Prod _ _ ->
10321032 JS.Int 0
10331033
1034− Name.Debug _ ->
1034+ Name.Dev _ ->
10351035 JS.Json $ Encode.object $
10361036 [ ("versions", Encode.object [ ("elm", Pkg.encodeVersion Version.version) ])
10371037 , ("types", Type.encodeMetadata (Extract.fromMsg interfaces msgType))
compiler/src/Generate/JavaScript/Name.hs+3−3
@@ -53,7 +53,7 @@ newtype Name =
5353
5454
5555data Mode
56− = Debug Target
56+ = Dev Target
5757 | Prod Target ShortFieldNames
5858
5959
@@ -67,7 +67,7 @@ type ShortFieldNames =
6767isServer :: Mode -> Bool
6868isServer mode =
6969 case mode of
70− Debug target -> isServerHelp target
70+ Dev target -> isServerHelp target
7171 Prod target _ -> isServerHelp target
7272
7373
@@ -124,7 +124,7 @@ fromKernel home name =
124124fromField :: Mode -> N.Name -> Name
125125fromField mode name =
126126 case mode of
127− Debug _ ->
127+ Dev _ ->
128128 Name (N.toBuilder name)
129129
130130 Prod _ fields ->
ui/terminal/src/Main.hs+1−1
@@ -173,7 +173,7 @@ make =
173173
174174 makeFlags =
175175 flags Make.Flags
176− |-- onOff "debug" "Turn on debug mode. This allows you to (1) use functions like Debug.log and Debug.crash and (2) use the interactive debugger to rewind your programs."
176+ |-- onOff "optimize" "Turn on optimizations to make code smaller and faster. For example, the compiler renames record fields to be as short as possible and unboxes values to reduce allocation."
177177 |-- flag "output" Output.output "Specify the name of the resulting JS file. For example --output=assets/elm.js to generate the JS at assets/elm.js or --output=/dev/null to generate no output at all!"
178178 |-- flag "report" Make.reportType "You can say --report=json to get error messages as JSON. This is only really useful if you are an editor plugin. Humans should avoid it!"
179179 |-- flag "docs" Make.docsFile "Generate a JSON file of documentation for your project. Eventually it will be possible to preview docs with `reactor` because it is quite hard to deal with these JSON files directly."
ui/terminal/src/Make.hs+3−3
@@ -26,7 +26,7 @@ import Terminal.Args (Parser(..), suggestFiles)
2626
2727data Flags =
2828 Flags
29− { _debug :: Bool
29+ { _optimize :: Bool
3030 , _output :: Maybe Output.Output
3131 , _report :: Maybe ReportType
3232 , _docs :: Maybe FilePath
@@ -34,10 +34,10 @@ data Flags =
3434
3535
3636run :: [FilePath] -> Flags -> IO ()
37−run paths (Flags debug output report docs) =
37+run paths (Flags optimize output report docs) =
3838 let
3939 mode =
40− if debug then Obj.Debug else Obj.Prod
40+ if optimize then Obj.Prod else Obj.Dev
4141
4242 outputOptions =
4343 Output.Options mode Obj.Client output