You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(56) |
Sep
(40) |
Oct
(30) |
Nov
(144) |
Dec
(23) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(41) |
Feb
(29) |
Mar
(31) |
Apr
(39) |
May
(193) |
Jun
(45) |
Jul
(19) |
Aug
(3) |
Sep
(23) |
Oct
(83) |
Nov
(92) |
Dec
(123) |
2007 |
Jan
(90) |
Feb
(267) |
Mar
(120) |
Apr
(51) |
May
(40) |
Jun
(121) |
Jul
(109) |
Aug
(173) |
Sep
(77) |
Oct
(52) |
Nov
(121) |
Dec
(62) |
2008 |
Jan
(76) |
Feb
(53) |
Mar
(98) |
Apr
(87) |
May
(26) |
Jun
(27) |
Jul
(23) |
Aug
(136) |
Sep
(79) |
Oct
(68) |
Nov
(29) |
Dec
(14) |
2009 |
Jan
(7) |
Feb
(2) |
Mar
(11) |
Apr
(75) |
May
(1) |
Jun
(95) |
Jul
(19) |
Aug
(4) |
Sep
(8) |
Oct
(93) |
Nov
(43) |
Dec
(21) |
2010 |
Jan
(20) |
Feb
(23) |
Mar
(18) |
Apr
(6) |
May
(20) |
Jun
(23) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
(2) |
Feb
(6) |
Mar
(15) |
Apr
(5) |
May
(9) |
Jun
(14) |
Jul
(9) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
(2) |
Jun
(17) |
Jul
(37) |
Aug
|
Sep
(1) |
Oct
(6) |
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
(5) |
Apr
(2) |
May
(7) |
Jun
(11) |
Jul
(8) |
Aug
|
Sep
(1) |
Oct
(2) |
Nov
|
Dec
|
2014 |
Jan
|
Feb
(2) |
Mar
(1) |
Apr
|
May
(1) |
Jun
(1) |
Jul
(7) |
Aug
(2) |
Sep
|
Oct
(5) |
Nov
(2) |
Dec
(4) |
2015 |
Jan
|
Feb
(2) |
Mar
(2) |
Apr
|
May
|
Jun
(9) |
Jul
(1) |
Aug
|
Sep
|
Oct
(4) |
Nov
(1) |
Dec
|
2016 |
Jan
(2) |
Feb
(1) |
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
(5) |
Oct
|
Nov
|
Dec
|
2017 |
Jan
(1) |
Feb
(3) |
Mar
(3) |
Apr
(7) |
May
(2) |
Jun
(2) |
Jul
(5) |
Aug
(1) |
Sep
(2) |
Oct
(17) |
Nov
(4) |
Dec
(7) |
2018 |
Jan
(5) |
Feb
(14) |
Mar
(2) |
Apr
(5) |
May
(2) |
Jun
(5) |
Jul
|
Aug
(2) |
Sep
|
Oct
(3) |
Nov
(5) |
Dec
|
2019 |
Jan
(4) |
Feb
(2) |
Mar
(3) |
Apr
(1) |
May
(8) |
Jun
(14) |
Jul
(2) |
Aug
|
Sep
(2) |
Oct
(2) |
Nov
(15) |
Dec
(2) |
2020 |
Jan
(10) |
Feb
(3) |
Mar
(1) |
Apr
|
May
(9) |
Jun
(4) |
Jul
(16) |
Aug
(10) |
Sep
(4) |
Oct
(3) |
Nov
|
Dec
|
2021 |
Jan
(11) |
Feb
(2) |
Mar
(2) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(5) |
Sep
|
Oct
(6) |
Nov
(4) |
Dec
(4) |
2022 |
Jan
(4) |
Feb
(2) |
Mar
(2) |
Apr
|
May
(6) |
Jun
(3) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(5) |
Jun
(1) |
Jul
(4) |
Aug
(1) |
Sep
|
Oct
(1) |
Nov
(13) |
Dec
|
2024 |
Jan
(1) |
Feb
|
Mar
(5) |
Apr
|
May
(10) |
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
(1) |
Dec
(14) |
2025 |
Jan
(3) |
Feb
|
Mar
(1) |
Apr
|
May
(2) |
Jun
(3) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: GitHub <no...@gi...> - 2015-11-10 21:38:01
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 2aab97c69babdedd75c92fd40c2080956a0bd4fd https://github.com/MLton/mlton/commit/2aab97c69babdedd75c92fd40c2080956a0bd4fd Author: Matthew Fluet <mat...@gm...> Date: 2015-11-10 (Tue, 10 Nov 2015) Changed paths: M lib/ckit-lib/ckit.patch M lib/ckit-lib/ckit.tgz M lib/mllpt-lib/ml-lpt.patch M lib/mllpt-lib/ml-lpt.tgz M lib/mlrisc-lib/MLRISC.patch M lib/mlrisc-lib/MLRISC.tgz M lib/smlnj-lib/smlnj-lib.patch M lib/smlnj-lib/smlnj-lib.tgz Log Message: ----------- Update to SML/NJ 110.78 libraries Commit: 822fd3f87a5db85521e9e1d0e806fdfab55e64ed https://github.com/MLton/mlton/commit/822fd3f87a5db85521e9e1d0e806fdfab55e64ed Author: Matthew Fluet <mat...@gm...> Date: 2015-11-10 (Tue, 10 Nov 2015) Changed paths: M doc/guide/src/CKitLibrary.adoc M doc/guide/src/MLLPTLibrary.adoc M doc/guide/src/MLRISCLibrary.adoc M doc/guide/src/SMLNJLibrary.adoc M util/cm2mlb/cm2mlb-map Log Message: ----------- Update to SML/NJ 110.78 libraries (documentation) Commit: bb306fac037cb2ab4fcebaad9c68a2d113cc9c0c https://github.com/MLton/mlton/commit/bb306fac037cb2ab4fcebaad9c68a2d113cc9c0c Author: Matthew Fluet <mat...@gm...> Date: 2015-11-10 (Tue, 10 Nov 2015) Changed paths: M lib/mlrisc-lib/MLRISC.patch M lib/mlrisc-lib/MLRISC.tgz Log Message: ----------- Update to SML/NJ 110.78 libraries Use 'allowOrPats' and 'allowSigWithtype' to minimize diff. Better encoding of higher-order functors. Commit: fdd24ed425dafe58f73920b1bd5cc312c35ef9a0 https://github.com/MLton/mlton/commit/fdd24ed425dafe58f73920b1bd5cc312c35ef9a0 Author: Matthew Fluet <mat...@gm...> Date: 2015-11-10 (Tue, 10 Nov 2015) Changed paths: M doc/guide/src/MLRISCLibrary.adoc Log Message: ----------- Update to SML/NJ 110.78 libraries (documentation) Commit: 50e61ffa6097d98bd33920a5582c52fefb30726a https://github.com/MLton/mlton/commit/50e61ffa6097d98bd33920a5582c52fefb30726a Author: Matthew Fluet <Mat...@gm...> Date: 2015-11-10 (Tue, 10 Nov 2015) Changed paths: M doc/guide/src/CKitLibrary.adoc M doc/guide/src/MLLPTLibrary.adoc M doc/guide/src/MLRISCLibrary.adoc M doc/guide/src/SMLNJLibrary.adoc M lib/ckit-lib/ckit.patch M lib/ckit-lib/ckit.tgz M lib/mllpt-lib/ml-lpt.patch M lib/mllpt-lib/ml-lpt.tgz M lib/mlrisc-lib/MLRISC.patch M lib/mlrisc-lib/MLRISC.tgz M lib/smlnj-lib/smlnj-lib.patch M lib/smlnj-lib/smlnj-lib.tgz M util/cm2mlb/cm2mlb-map Log Message: ----------- Merge pull request #128 from MatthewFluet/smlnj-110.78-libraries Update to SML/NJ 110.78 libraries Use `allowOrPats` and `allowSigWithtype` to minimize diffs. Fixes MLton/mlton#125. Compare: https://github.com/MLton/mlton/compare/22f61a4adf14...50e61ffa6097 |
From: GitHub <no...@gi...> - 2015-10-20 16:46:20
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: d0bd0dda2d0a6b8535cd1f221567cbfa57ab7dc0 https://github.com/MLton/mlton/commit/d0bd0dda2d0a6b8535cd1f221567cbfa57ab7dc0 Author: Matthew Fluet <mat...@gm...> Date: 2015-10-09 (Fri, 09 Oct 2015) Changed paths: M mlton/elaborate/interface.fun Log Message: ----------- Trace Interface.TypeStr.apply function Commit: 9670ab496e097fea712f12d42217b6a1154059b5 https://github.com/MLton/mlton/commit/9670ab496e097fea712f12d42217b6a1154059b5 Author: Matthew Fluet <mat...@gm...> Date: 2015-10-20 (Tue, 20 Oct 2015) Changed paths: M mlton/atoms/generic-scheme.fun Log Message: ----------- Trace GenericScheme.apply function Commit: ac35f600c7411155d4216edf6fead76294f7a53a https://github.com/MLton/mlton/commit/ac35f600c7411155d4216edf6fead76294f7a53a Author: Matthew Fluet <mat...@gm...> Date: 2015-10-20 (Tue, 20 Oct 2015) Changed paths: M mlton/elaborate/elaborate-sigexp.fun Log Message: ----------- Fix elaboration of withtype in signatures The previous implementation of elaboration of withtype in signatures would raise an internal compiler error (Interface.Type.substitute) when elaborating a polymorphic withtype type binding. Fixes MLton/mlton#116 Commit: 22f61a4adf14464ca96a59798ec2eab8733c728f https://github.com/MLton/mlton/commit/22f61a4adf14464ca96a59798ec2eab8733c728f Author: Matthew Fluet <Mat...@gm...> Date: 2015-10-20 (Tue, 20 Oct 2015) Changed paths: M mlton/atoms/generic-scheme.fun M mlton/elaborate/elaborate-sigexp.fun M mlton/elaborate/interface.fun Log Message: ----------- Merge pull request #126 from MatthewFluet/signature-withtype-updates Fix elaboration of withtype in signatures Compare: https://github.com/MLton/mlton/compare/adfd22730bec...22f61a4adf14 |
From: GitHub <no...@gi...> - 2015-10-10 03:23:24
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: d11ea1862a5b55f9771d6544134a9fbe9f5187ac https://github.com/MLton/mlton/commit/d11ea1862a5b55f9771d6544134a9fbe9f5187ac Author: Matthew Fluet <mat...@gm...> Date: 2015-10-09 (Fri, 09 Oct 2015) Changed paths: M mlton/defunctorize/defunctorize.fun Log Message: ----------- Fix SML/NJ build (unresolved flex record) Commit: adfd22730beca1dda0147d86dad1c5a302b01a1a https://github.com/MLton/mlton/commit/adfd22730beca1dda0147d86dad1c5a302b01a1a Author: Matthew Fluet <Mat...@gm...> Date: 2015-10-09 (Fri, 09 Oct 2015) Changed paths: M mlton/defunctorize/defunctorize.fun Log Message: ----------- Merge pull request #124 from MatthewFluet/smlnj-build-updates Fix SML/NJ build (unresolved flex record) Compare: https://github.com/MLton/mlton/compare/728e2a5fb726...adfd22730bec |
From: GitHub <no...@gi...> - 2015-10-06 17:16:29
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: d17cd86462483b635ce578f14a4d9fc70490006f https://github.com/MLton/mlton/commit/d17cd86462483b635ce578f14a4d9fc70490006f Author: Matthew Fluet <mat...@gm...> Date: 2015-08-19 (Wed, 19 Aug 2015) Changed paths: M util/cm2mlb/cm2mlb.sml Log Message: ----------- Add support for setting CM anchor bindings in cm2mlb tool The cm2mlb "-map file" option allows setting a mapping from CM anchors to MLB paths in order to generate MLB files with MLB paths that correspond to CM anchors. However, it is sometimes necessary to specify a CM anchor environment in order for CM.Graph.graph to properly process a .cm file. For example: devel.cm: Library structure Lib is sources.cm (bind:(anchor:util value:wip/util)) sources.cm: Library structure Lib is $util/sources.cm lib.sml In order to process sources.cm with cm2mlb, a binding for $util is necessary for CM.Graph.graph to process. While a binding for $util is provided by devel.cm, processing devel.cm with cm2mlb will simply result in a MLB file with a reference to sources.mlb. The cm2mlb "-bind file" option allows setting a binding from CM anchors to CM paths. Often, a "-bind file" should be accompanied by a "-map file" in order to provide a CM anchor -> CM path environment for CM.Graph.graph and to provide a CM anchor -> MLB path environment for the resulting MLB file. Commit: 728e2a5fb726e768908a564849c90f42ad889d89 https://github.com/MLton/mlton/commit/728e2a5fb726e768908a564849c90f42ad889d89 Author: Matthew Fluet <Mat...@gm...> Date: 2015-10-06 (Tue, 06 Oct 2015) Changed paths: M util/cm2mlb/cm2mlb.sml Log Message: ----------- Merge pull request #122 from MatthewFluet/cm2mlb-anchor-bind Add support for setting CM anchor bindings in cm2mlb tool Compare: https://github.com/MLton/mlton/compare/f4273fd2b873...728e2a5fb726 |
From: GitHub <no...@gi...> - 2015-10-06 17:02:50
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 8e9acfa283669ce644a9de06df36d91f6a113d30 https://github.com/MLton/mlton/commit/8e9acfa283669ce644a9de06df36d91f6a113d30 Author: Matthew Fluet <mat...@gm...> Date: 2015-08-16 (Sun, 16 Aug 2015) Changed paths: M mlton/match-compile/nested-pat.fun Log Message: ----------- Trace 'NestedPat.flatten' Commit: 9c919cd86dd849f250c48c885735cce2549bceb0 https://github.com/MLton/mlton/commit/9c919cd86dd849f250c48c885735cce2549bceb0 Author: Matthew Fluet <mat...@gm...> Date: 2015-08-16 (Sun, 16 Aug 2015) Changed paths: M mlton/defunctorize/defunctorize.fun Log Message: ----------- Fix non-exhaustive match warnings with or-patterns. Fixes MLton/mlton#115. Commit: 98d33ad89a966a6596b5337d8c9bf06c20994804 https://github.com/MLton/mlton/commit/98d33ad89a966a6596b5337d8c9bf06c20994804 Author: Matthew Fluet <mat...@gm...> Date: 2015-08-19 (Wed, 19 Aug 2015) Changed paths: M mlton/match-compile/nested-pat.fun Log Message: ----------- Pretty print NestedPat.Or with | separators Commit: 5287151ac4f5955f28b91f10d02cb6c259bd8634 https://github.com/MLton/mlton/commit/5287151ac4f5955f28b91f10d02cb6c259bd8634 Author: Matthew Fluet <mat...@gm...> Date: 2015-08-19 (Wed, 19 Aug 2015) Changed paths: M mlton/match-compile/nested-pat.fun Log Message: ----------- Make code style improvements to NestedPat.flatten Commit: c55a1fbe3174e3c4a13ac94aebaed2b7e60fa3cd https://github.com/MLton/mlton/commit/c55a1fbe3174e3c4a13ac94aebaed2b7e60fa3cd Author: Matthew Fluet <mat...@gm...> Date: 2015-08-19 (Wed, 19 Aug 2015) Changed paths: M mlton/match-compile/nested-pat.fun Log Message: ----------- Fix NestedPat.varsAndTypes on or-patterns It is only necessary to return the vars and types of the first pattern in an or-pattern. All other patterns must have the same set of vars and types. Commit: 7aa24d96071945b2543f5f32b59d1ea9b040153a https://github.com/MLton/mlton/commit/7aa24d96071945b2543f5f32b59d1ea9b040153a Author: Matthew Fluet <mat...@gm...> Date: 2015-08-19 (Wed, 19 Aug 2015) Changed paths: M mlton/defunctorize/defunctorize.fun Log Message: ----------- Update comment regarding expansion of poly pats in val decs Commit: ccc72e447244a40f70d202c4d53b1b43c008b773 https://github.com/MLton/mlton/commit/ccc72e447244a40f70d202c4d53b1b43c008b773 Author: Matthew Fluet <mat...@gm...> Date: 2015-08-19 (Wed, 19 Aug 2015) Changed paths: M mlton/defunctorize/defunctorize.fun Log Message: ----------- Simplify logic for CoreML to XML conversion of val decs Commit: aeb4ac0976470fcc2d1258d32891a8600d9b09d1 https://github.com/MLton/mlton/commit/aeb4ac0976470fcc2d1258d32891a8600d9b09d1 Author: Matthew Fluet <mat...@gm...> Date: 2015-08-19 (Wed, 19 Aug 2015) Changed paths: M mlton/defunctorize/defunctorize.fun M mlton/match-compile/match-compile.fun M mlton/match-compile/match-compile.sig Log Message: ----------- Report redundancy in matches with or-patterns Determine if a match rule has redundancy by comparing the number of flattened patterns to the number of uses of the rhs expression. Commit: 85aa139cc661a09fdd877b68d63c7ca517776e57 https://github.com/MLton/mlton/commit/85aa139cc661a09fdd877b68d63c7ca517776e57 Author: Matthew Fluet <mat...@gm...> Date: 2015-08-20 (Thu, 20 Aug 2015) Changed paths: M mlton/defunctorize/defunctorize.fun Log Message: ----------- Distinguish between fully and partially redundant patterns Consider the following example: datatype a = A1 | A2 | A3 fun f a = case a of A1 => 1 | (A1 | A2 | A3) => 2 | _ => 3 The second match rule is partially redundant, since the A3 pattern will never match. The third match rule is fully redundant, since the _ pattern will never match. Note that partially redundant matches can only arise with or-patterns. The following error messages are generated: Warning: a.sml 3.5. Case has rules with redundancy. rules: (A1 | A2 | A3) => 2 in: case a of A1 => 1 | (A1 | A2 | A3) => 2 | _ => 3 Warning: a.sml 3.5. Case has redundant rules. rules: _ => 3 in: case a of A1 => 1 | (A1 | A2 | A3) => 2 | _ => 3 Commit: c23d43079d7bb204aeef67b4922799fcf3bfd315 https://github.com/MLton/mlton/commit/c23d43079d7bb204aeef67b4922799fcf3bfd315 Author: Matthew Fluet <mat...@gm...> Date: 2015-08-20 (Thu, 20 Aug 2015) Changed paths: M mlton/ast/ast-core.fun M mlton/front-end/ml.grm Log Message: ----------- Lower precedence of or-patterns in parser Make or-patterns lower precedence than as-patterns and constraint-patterns, much as orelse expressions have lower precedence than andalso-expressions and constraint-expressions. The following is now accepted: fun isVowel c = case c of #"a" | #"e" | #"i" | #"o" | #"u" => true | _ => false whereas, previously, only the following was accepted: fun isVowel c = case c of (#"a" | #"e" | #"i" | #"o" | #"u") => true | _ => false Commit: 6e7a7ca27cc30ecdaf41a8c34b7569b752114384 https://github.com/MLton/mlton/commit/6e7a7ca27cc30ecdaf41a8c34b7569b752114384 Author: Matthew Fluet <mat...@gm...> Date: 2015-08-20 (Thu, 20 Aug 2015) Changed paths: M mlton/ast/ast-core.fun M mlton/ast/ast-core.sig M mlton/elaborate/elaborate-core.fun Log Message: ----------- Pretty print rules in case-expressions and standalone consistently There was a minor inconsistency in the pretty printing of match rules, exemplified by the following warning: Warning: z.sml 11.4. Case has rules with redundancy. rules: A1 | A1 => 1 in: case a of (A1 | A1) => 1 | _ => 2 This warning now prints as: Warning: z.sml 11.4. Case has rules with redundancy. rules: (A1 | A1) => 1 in: case a of (A1 | A1) => 1 Commit: c14dd3fb9edbf3f8468962fa69950edf769a0823 https://github.com/MLton/mlton/commit/c14dd3fb9edbf3f8468962fa69950edf769a0823 Author: Matthew Fluet <mat...@gm...> Date: 2015-08-20 (Thu, 20 Aug 2015) Changed paths: M mlton/ast/ast-core.fun Log Message: ----------- Always pretty print or-patterns with parens Consider the following program: datatype t = T1 | T2 of int fun f1 t = case t of _ => true | T1 => false | T2 _ => false | T1 | T2 _ => false | (T1 | T2 _) | (T1 | T2 _) => false | x as (T1 | T2 _) | x as (T1 | T2 _) => false fun f2 l = case l of _ => true | [T1 | T2 _] => false fun f3 r = case r of _ => true | {t = T1 | T2 _} => false The previous pretty printing of or-patterns would yield the following warning messages: Warning: y.sml 5.4. Case has redundant rules. rules: T1 => false (T2 _) => false (T1 | T2 _) => false (T1 | T2 _ | T1 | T2 _) => false (x as T1 | T2 _ | x as T1 | T2 _) => false in: case t of _ => true | T1 => false ... T1 | T2 _) => false Warning: y.sml 14.4. Case has redundant rules. rules: [T1 | T2 _] => false in: case l of _ => true | [T1 | T2 _] => false Warning: y.sml 19.4. Case has redundant rules. rules: {t = T1 | T2 _} => false in: case r of _ => true | {t = T1 | T2 _} => false Note that the fifth and sixth match rules of f1 are pretty printed with insufficient parens. With the current grammar/ast, it is not trivial to detect the nesting of patterns, as a parenthesized pattern is wrapped in a singleton Ast.Pat.FlatApp. Now the pretty printing of or-patterns yields the following warning messages: Warning: y.sml 5.4. Case has redundant rules. rules: T1 => false (T2 _) => false (T1 | T2 _) => false ((T1 | T2 _) | (T1 | T2 _)) => false (x as (T1 | T2 _) | x as (T1 | T2 _)) => false in: case t of _ => true | T1 => false ... T1 | T2 _)) => false Warning: y.sml 14.4. Case has redundant rules. rules: [(T1 | T2 _)] => false in: case l of _ => true | [(T1 | T2 _)] => false Warning: y.sml 19.4. Case has redundant rules. rules: {t = (T1 | T2 _)} => false in: case r of _ => true | {t = (T1 | T2 _)} => false Note that the fifth and sixth match rules of f1 are pretty printed with sufficient parens, but the second match rules of f2 and f3 are printed with extraneous parens. In general, it is desirable to never pretty print with insufficient parens, even at the expense of occasionally pretty printing with extraneous parens. Commit: 4ff8dad525c050df33bd0d8e13ab4b11c2278159 https://github.com/MLton/mlton/commit/4ff8dad525c050df33bd0d8e13ab4b11c2278159 Author: Matthew Fluet <mat...@gm...> Date: 2015-08-21 (Fri, 21 Aug 2015) Changed paths: M mlton/core-ml/core-ml.fun M mlton/core-ml/core-ml.sig M mlton/defunctorize/defunctorize.fun M mlton/elaborate/elaborate-core.fun M mlton/elaborate/elaborate-env.fun Log Message: ----------- Report partial redundancy in val declarations Consider the following program: datatype a = A1 of int | A2 of int val (A1 x | A1 x) = A1 1 The pattern is partially redundant and non exhaustive. The following error messages are generated: Warning: x.sml 3.5. Declaration is not exhaustive. missing pattern: (A2 _) in: (A1 x | A1 x) = A1 1 Warning: x.sml 3.5. Declaration has rules with redundancy. rules: (A1 x | A1 x) in: (A1 x | A1 x) = A1 1 Commit: 431e42eb444fd5d6bb6f6e3a60b3f43accc7997c https://github.com/MLton/mlton/commit/431e42eb444fd5d6bb6f6e3a60b3f43accc7997c Author: Matthew Fluet <mat...@gm...> Date: 2015-08-23 (Sun, 23 Aug 2015) Changed paths: M mlton/core-ml/core-ml.fun M mlton/core-ml/core-ml.sig M mlton/defunctorize/defunctorize.fun M mlton/elaborate/elaborate-core.fun Log Message: ----------- Make cosmetic improvements to redundant and nonexhaustive diagnostics A number of source-level constructs can give rise to redundant and nonexhaustive diagnostics. Consider the following program: datatype a = A1 of int | A2 of int fun f1 (A1 x | A1 x) = x + 1 val f2 = fn (A1 x | A1 x) => x + 1 val rec f3 = fn (A1 x | A1 x) => x + 1 val (A1 x | A1 x) = A1 1 Previously, the following error messages were generated: Warning: x.sml 4.1. Function is not exhaustive. missing pattern: (A2 _) in: f1 (A1 x | A1 x) = x + 1 Warning: x.sml 4.1. Function has rules with redundancy. rules: f1 (A1 x | A1 x) = x + 1 in: f1 (A1 x | A1 x) = x + 1 Warning: x.sml 6.13. Function is not exhaustive. missing pattern: (A2 _) in: fn (A1 x | A1 x) => (x + 1) Warning: x.sml 6.13. Function has rules with redundancy. rules: (A1 x | A1 x) => (x + 1) in: fn (A1 x | A1 x) => (x + 1) Warning: x.sml 8.17. Function is not exhaustive. missing pattern: (A2 _) in: val rec f3 = fn (A1 x | A1 x) => (x + 1) Warning: x.sml 8.17. Function has rules with redundancy. rules: (A1 x | A1 x) => (x + 1) in: val rec f3 = fn (A1 x | A1 x) => (x + 1) Warning: x.sml 10.5. Declaration is not exhaustive. missing pattern: (A2 _) in: (A1 x | A1 x) = A1 1 Warning: x.sml 10.5. Declaration has rules with redundancy. rules: (A1 x | A1 x) in: (A1 x | A1 x) = A1 1 In particular, note that the last error message refers the the "rules" of a declaration. Also note that when there is both redundancy and nonexhaustiveness, the nonexhaustive error is given earlier. Now, the following error messages are generated: Warning: x.sml 4.1. Function has clauses with redundancy. clauses: f1 (A1 x | A1 x) = x + 1 in: f1 (A1 x | A1 x) = x + 1 Warning: x.sml 4.1. Function is not exhaustive. missing pattern: (A2 _) in: f1 (A1 x | A1 x) = x + 1 Warning: x.sml 6.13. Function has rules with redundancy. rules: (A1 x | A1 x) => (x + 1) in: fn (A1 x | A1 x) => (x + 1) Warning: x.sml 6.13. Function is not exhaustive. missing pattern: (A2 _) in: fn (A1 x | A1 x) => (x + 1) Warning: x.sml 8.17. Function has rules with redundancy. rules: (A1 x | A1 x) => (x + 1) in: val rec f3 = fn (A1 x | A1 x) => (x + 1) Warning: x.sml 8.17. Function is not exhaustive. missing pattern: (A2 _) in: val rec f3 = fn (A1 x | A1 x) => (x + 1) Warning: x.sml 10.5. Declaration has pattern with redundancy. pattern: (A1 x | A1 x) in: (A1 x | A1 x) = A1 1 Warning: x.sml 10.5. Declaration is not exhaustive. missing pattern: (A2 _) in: (A1 x | A1 x) = A1 1 In particular, redundancy errors come before nonexhaustive errors, "fun" functions have redundant "clauses", and "val" declarations have a redundant "pattern". Commit: 0cdc1f1f33724d1065d3a08b00f7fadab6c8f7e4 https://github.com/MLton/mlton/commit/0cdc1f1f33724d1065d3a08b00f7fadab6c8f7e4 Author: Matthew Fluet <mat...@gm...> Date: 2015-09-04 (Fri, 04 Sep 2015) Changed paths: M mlton/ast/ast-core.fun M mlton/match-compile/nested-pat.fun Log Message: ----------- Unify pretty printing of AST.Pat.t and NestedPat.t Commit: bf6153c54ee6e625daebb1992f7d8f125fab0aad https://github.com/MLton/mlton/commit/bf6153c54ee6e625daebb1992f7d8f125fab0aad Author: Matthew Fluet <mat...@gm...> Date: 2015-09-15 (Tue, 15 Sep 2015) Changed paths: M mlton/ast/ast-core.fun M mlton/defunctorize/defunctorize.fun M mlton/match-compile/match-compile.fun M mlton/match-compile/nested-pat.fun Log Message: ----------- Make cosmetic improvements to nonexhaustive diagnostics Consider the following program: datatype a = A1 of int * int | A2 of int | A3 of int | A4 of int * int | A5 of int | A6 of int datatype b = B1 of a | B2 of a * a fun f1 b = case b of B1 (A1 (x,_) | A2 x) => x + 1 | B2 (A3 y, A5 z) => y + z fun f2 b = case b of B1 _ => true fun f3 b = case b of (A3 y, A5 z) => y + z Previously, the following error messages were generated: Warning: w.sml 6.3. Case is not exhaustive. missing pattern: (B2 ((A1 _) | (A2 _) | (A4 _) | (A5 _) | (A6 _), _)) | (B2 ((A3 _), (A1 _) | (A2 _) | (A3 _) | (A4 _) | (A6 _))) | (B1 (A3 _) | (A4 _) | (A5 _) | (A6 _)) in: case b of (B1 (A1 (x, _) |A2 x)) ... y, A5 z)) => (y + z) Warning: w.sml 9.3. Case is not exhaustive. missing pattern: (B2 _) in: case b of (B1 _) => true Warning: w.sml 12.3. Case is not exhaustive. missing pattern: ((A1 _) | (A2 _) | (A4 _) | (A5 _) | (A6 _), _) | ((A3 _), (A1 _) | (A2 _) | (A3 _) | (A4 _) | (A6 _)) in: case b of (A3 y, A5 z) => (y + z) In the first warning, there are insufficient parens for the or-pattern argument to the B1 constructor and extraneous parens around some of the AX constructors. It is also curious that the B2 constructor patterns are given before the B1 constructor patterns. In the second warning, there are extraneous parens around the B1 _ pattern. Now, the following error messages are generated: Warning: w.sml 6.3. Case is not exhaustive. missing pattern: (B1 (A3 _ | A4 _ | A5 _ | A6 _) | B2 (A3 _, (A1 _ | A2 _ | A3 _ | A4 _ | A6 _)) | B2 ((A1 _ | A2 _ | A4 _ | A5 _ | A6 _), _)) in: case b of B1 (A1 (x, _) | A2 x) = ... y, A5 z) => (y + z) Warning: w.sml 9.3. Case is not exhaustive. missing pattern: B2 _ in: case b of B1 _ => true Warning: w.sml 12.3. Case is not exhaustive. missing pattern: ((A3 _, (A1 _ | A2 _ | A3 _ | A4 _ | A6 _)) | ((A1 _ | A2 _ | A4 _ | A5 _ | A6 _), _)) in: case b of (A3 y, A5 z) => (y + z) The missing pattern examples are now pretty-printed in the same manner as other patterns. Commit: f4273fd2b873ca77d0f49986d940c3c663687d1a https://github.com/MLton/mlton/commit/f4273fd2b873ca77d0f49986d940c3c663687d1a Author: Matthew Fluet <Mat...@gm...> Date: 2015-10-06 (Tue, 06 Oct 2015) Changed paths: M mlton/ast/ast-core.fun M mlton/ast/ast-core.sig M mlton/core-ml/core-ml.fun M mlton/core-ml/core-ml.sig M mlton/defunctorize/defunctorize.fun M mlton/elaborate/elaborate-core.fun M mlton/elaborate/elaborate-env.fun M mlton/front-end/ml.grm M mlton/match-compile/match-compile.fun M mlton/match-compile/match-compile.sig M mlton/match-compile/nested-pat.fun Log Message: ----------- Merge pull request #121 from MatthewFluet/or-patterns-updates Provide better diagnostic support for or-patterns Highlights: * Fix non-exhaustive match warnings with or-patterns. Fixes MLton/mlton#115. * Distinguish between partial and fully redundant matches. * Report partial redundancy in val declarations. * Lower precedence of or-patterns in parser. * A variety of cosmetic improvements to non-exhaustive and redundant error/warn messages, primarily to be consistent in formatting between quoted AST and generated messages. Compare: https://github.com/MLton/mlton/compare/c611cbbf9a88...f4273fd2b873 |
From: GitHub <no...@gi...> - 2015-07-10 15:28:04
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 78920eed98fb72bea9a7febf9d158b356456bde3 https://github.com/MLton/mlton/commit/78920eed98fb72bea9a7febf9d158b356456bde3 Author: Matthew Fluet <mat...@gm...> Date: 2015-07-10 (Fri, 10 Jul 2015) Changed paths: M lib/stubs/mlton-stubs/mlton.sml M lib/stubs/mlton-stubs/platform.sig M mlton/main/main.fun A runtime/platform/arm64.h Log Message: ----------- Further support for arm64 (aarch64). Patch from Edmund Evans via mlton-devel mailing list and Debian Bug report (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762143) to build on arm64 (aarch64) Debian unstable. Original support for arm64 (aarch64) was commit 51ac878. Commit: c611cbbf9a88eeb86bec51e079ecbfe3c2cb3096 https://github.com/MLton/mlton/commit/c611cbbf9a88eeb86bec51e079ecbfe3c2cb3096 Author: Matthew Fluet <Mat...@gm...> Date: 2015-07-10 (Fri, 10 Jul 2015) Changed paths: M lib/stubs/mlton-stubs/mlton.sml M lib/stubs/mlton-stubs/platform.sig M mlton/main/main.fun A runtime/platform/arm64.h Log Message: ----------- Merge pull request #113 from MatthewFluet/arm64-support Further support for arm64 (aarch64). Compare: https://github.com/MLton/mlton/compare/492fa319f8b2...c611cbbf9a88 |
From: GitHub <no...@gi...> - 2015-06-22 20:13:07
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: e25f34a53342dc3acf6e37a56715d29ffc57ec9c https://github.com/MLton/mlton/commit/e25f34a53342dc3acf6e37a56715d29ffc57ec9c Author: Matthew Fluet <mat...@gm...> Date: 2015-06-22 (Mon, 22 Jun 2015) Changed paths: M mlton/elaborate/elaborate-core.fun Log Message: ----------- Reject rebinding of constructors with fun declarations. Fixes MLton/mlton#52. Commit: 76d65a207e63f58f50cc0fcc6317f4ca5664014b https://github.com/MLton/mlton/commit/76d65a207e63f58f50cc0fcc6317f4ca5664014b Author: Matthew Fluet <mat...@gm...> Date: 2015-06-22 (Mon, 22 Jun 2015) Changed paths: M doc/changelog M doc/guide/src/MLBasisAnnotations.adoc M doc/guide/src/UnresolvedBugs.adoc M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/elaborate/elaborate-core.fun R regression/fail/val-rec-constructor.2.sml R regression/fail/val-rec-constructor.sml A regression/warn/val-rec-constructor.2.sml A regression/warn/val-rec-constructor.sml Log Message: ----------- Introduce "valrecConstr {warn|error|ignore}" MLB annotation. Report when a 'val rec' (or 'fun') declaration redefines an identifier that previously had constructor status. Commit: 492fa319f8b2b89a8da60bc419c617e841673abb https://github.com/MLton/mlton/commit/492fa319f8b2b89a8da60bc419c617e841673abb Author: Matthew Fluet <Mat...@gm...> Date: 2015-06-22 (Mon, 22 Jun 2015) Changed paths: M doc/changelog M doc/guide/src/MLBasisAnnotations.adoc M doc/guide/src/UnresolvedBugs.adoc M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/elaborate/elaborate-core.fun R regression/fail/val-rec-constructor.2.sml R regression/fail/val-rec-constructor.sml A regression/warn/val-rec-constructor.2.sml A regression/warn/val-rec-constructor.sml Log Message: ----------- Merge pull request #112 from MatthewFluet/constructor-redef Introduce "valrecConstr {warn|error|ignore}" MLB annotation to report when a 'val rec' (or 'fun') declaration redefines an identifier that previously had constructor status. Fixes MLton/mlton#52. Compare: https://github.com/MLton/mlton/compare/9cf1f18692f6...492fa319f8b2 |
From: GitHub <no...@gi...> - 2015-06-19 17:38:33
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 669395b6f7b459b93b07719870cf5393cfe8b147 https://github.com/MLton/mlton/commit/669395b6f7b459b93b07719870cf5393cfe8b147 Author: Kevin Bradley <km...@ri...> Date: 2015-02-26 (Thu, 26 Feb 2015) Changed paths: M mlton/front-end/ml.lex Log Message: ----------- Added line comments of the form (*) Commit: 24f6e117b34037cfff2f9a25170f0597743dbdc9 https://github.com/MLton/mlton/commit/24f6e117b34037cfff2f9a25170f0597743dbdc9 Author: Kevin Bradley <km...@ri...> Date: 2015-02-26 (Thu, 26 Feb 2015) Changed paths: M mlton/front-end/ml.lex Log Message: ----------- Fixed formatting for consistency. Commit: a4bbd0d1c21a6ed98ae85748aa15b0a33a7b7a6a https://github.com/MLton/mlton/commit/a4bbd0d1c21a6ed98ae85748aa15b0a33a7b7a6a Author: Kevin Bradley <km...@ri...> Date: 2015-03-12 (Thu, 12 Mar 2015) Changed paths: M mlton/ast/ast-core.fun M mlton/ast/ast-core.sig M mlton/elaborate/elaborate-core.fun M mlton/elaborate/scope.fun M mlton/front-end/ml.grm Log Message: ----------- Implemented do declarations as a derived form of val () = exp. Commit: b47bcc29f5c6efad012dcec893f24cfc9092255a https://github.com/MLton/mlton/commit/b47bcc29f5c6efad012dcec893f24cfc9092255a Author: Kevin Bradley <km...@ri...> Date: 2015-03-19 (Thu, 19 Mar 2015) Changed paths: M mlton/front-end/ml.grm Log Message: ----------- Fixed eol's to be consistent. Commit: 6cfa1acd9c4d9765b25f40c0777eebae07396ea7 https://github.com/MLton/mlton/commit/6cfa1acd9c4d9765b25f40c0777eebae07396ea7 Author: Kevin Bradley <km...@ri...> Date: 2015-03-19 (Thu, 19 Mar 2015) Changed paths: M mlton/front-end/ml.grm Log Message: ----------- Fixed Do to be DO keyword. Commit: 394fc6a2a8bde8efa742c8e27682a4dd8647cd24 https://github.com/MLton/mlton/commit/394fc6a2a8bde8efa742c8e27682a4dd8647cd24 Author: Kevin Bradley <km...@ri...> Date: 2015-03-19 (Thu, 19 Mar 2015) Changed paths: M mlton/elaborate/elaborate-core.fun M mlton/front-end/ml.grm Log Message: ----------- Implemented optional pattern bars. Cleaned up do declaration type checking to create unused vars. Commit: 4ae08b1bf1f173908debebbb1c199c794ed7bf8f https://github.com/MLton/mlton/commit/4ae08b1bf1f173908debebbb1c199c794ed7bf8f Author: Kevin Bradley <km...@ri...> Date: 2015-03-19 (Thu, 19 Mar 2015) Changed paths: M mlton/elaborate/elaborate-core.fun Log Message: ----------- Adjusted to use Vector.new1 instead of Vector.fromList. Commit: a775402c37312b2e55e273bd287d7aecef9cb440 https://github.com/MLton/mlton/commit/a775402c37312b2e55e273bd287d7aecef9cb440 Author: Kevin Bradley <km...@ri...> Date: 2015-04-09 (Thu, 09 Apr 2015) Changed paths: M mlton/ast/ast-core.fun M mlton/ast/ast-core.sig M mlton/elaborate/elaborate-core.fun M mlton/front-end/ml.grm Log Message: ----------- Partially implemented disjunctive (or) patterns. These changes include adjusting the AST, modifying the grammar, and implementing the typechecking of or patterns. Todos include: changing the CoreML, adding flattening functionality to match-compile. Commit: b3b672aa80323b3654111ea1f0af97e6700f052f https://github.com/MLton/mlton/commit/b3b672aa80323b3654111ea1f0af97e6700f052f Author: Kevin Bradley <km...@ri...> Date: 2015-04-09 (Thu, 09 Apr 2015) Changed paths: M mlton/elaborate/elaborate-core.fun M mlton/front-end/ml.grm Log Message: ----------- Cleaned up partial disjunctive pattern implementation. Added back type-checking of do declarations. Updated ml.grm to remove unneeded nonterminal. Commit: f4982eb915243ea302633079f3c56bb0af513687 https://github.com/MLton/mlton/commit/f4982eb915243ea302633079f3c56bb0af513687 Author: Kevin Bradley <km...@ri...> Date: 2015-04-09 (Thu, 09 Apr 2015) Changed paths: M mlton/core-ml/core-ml.fun M mlton/core-ml/core-ml.sig Log Message: ----------- Added or patterns to coreml il. Commit: d722edb63d7ccc9bbad0be1fcfa0529ab510e0a2 https://github.com/MLton/mlton/commit/d722edb63d7ccc9bbad0be1fcfa0529ab510e0a2 Author: Kevin Bradley <km...@ri...> Date: 2015-04-09 (Thu, 09 Apr 2015) Changed paths: M mlton/core-ml/core-ml.fun Log Message: ----------- Fixed spacing issue. Commit: 5a29b2a50454813c1c1a383a5e4a459409cced7f https://github.com/MLton/mlton/commit/5a29b2a50454813c1c1a383a5e4a459409cced7f Author: Kevin Bradley <km...@ri...> Date: 2015-04-14 (Tue, 14 Apr 2015) Changed paths: M mlton/ast/ast-core.fun M mlton/elaborate/elaborate-core.fun M mlton/elaborate/scope.fun M mlton/match-compile/match-compile.fun M mlton/match-compile/nested-pat.fun M mlton/match-compile/nested-pat.sig Log Message: ----------- Partially implemented disjunctive patterns. Todos: finish flattening for the tuple case, adjust layout of or patterns to look nicer Commit: 73b8f1b950bca963775c2a6e51603f29d1485196 https://github.com/MLton/mlton/commit/73b8f1b950bca963775c2a6e51603f29d1485196 Author: Kevin Bradley <km...@ri...> Date: 2015-04-14 (Tue, 14 Apr 2015) Changed paths: M mlton/match-compile/nested-pat.fun Log Message: ----------- Begun implementation of flattening tuple patterns. Commit: a5530e32773000b262e8900d7ddf61c7d0b8e9bb https://github.com/MLton/mlton/commit/a5530e32773000b262e8900d7ddf61c7d0b8e9bb Author: Kevin Bradley <km...@ri...> Date: 2015-04-14 (Tue, 14 Apr 2015) Changed paths: M mlton/match-compile/nested-pat.fun Log Message: ----------- Finished flattening of tuple patterns, or patterns should be functional. Todo: adjust layout of or patterns so that they look nicer during debug messages. Commit: 2f88ecf015ef2b32fa37ec837e6bd77d8c1f2418 https://github.com/MLton/mlton/commit/2f88ecf015ef2b32fa37ec837e6bd77d8c1f2418 Author: Kevin Bradley <km...@ri...> Date: 2015-04-14 (Tue, 14 Apr 2015) Changed paths: M mlton/match-compile/match-compile.fun Log Message: ----------- Uncommented flattening preprocessing pass in match-compile.fun Commit: de0ab2b87162e0b0f45d52643679ccb8eaf607d8 https://github.com/MLton/mlton/commit/de0ab2b87162e0b0f45d52643679ccb8eaf607d8 Author: Kevin Bradley <km...@ri...> Date: 2015-04-15 (Wed, 15 Apr 2015) Changed paths: M mlton/defunctorize/defunctorize.fun M mlton/match-compile/match-compile.fun M mlton/match-compile/nested-pat.fun Log Message: ----------- Added debug messages for or pattern cases being encountered when they shouldn't be. Commit: f1d6769a6348d4ec59fbe5e9409bc04b48ba5bd1 https://github.com/MLton/mlton/commit/f1d6769a6348d4ec59fbe5e9409bc04b48ba5bd1 Author: Kevin Bradley <km...@ri...> Date: 2015-04-15 (Wed, 15 Apr 2015) Changed paths: M mlton/defunctorize/defunctorize.fun Log Message: ----------- Added conversion from CoreML or patterns to NestedPat or patterns, or patterns now function as intended. Commit: fcab2a28d5f5191fce0a386de6a7a584f552bc3e https://github.com/MLton/mlton/commit/fcab2a28d5f5191fce0a386de6a7a584f552bc3e Author: Kevin Bradley <km...@ri...> Date: 2015-04-15 (Wed, 15 Apr 2015) Changed paths: M mlton/front-end/ml.grm Log Message: ----------- Implemented record punning in the parser. Commit: 36c0f23e956dab07be728b70538d861a380a07c5 https://github.com/MLton/mlton/commit/36c0f23e956dab07be728b70538d861a380a07c5 Author: Kevin Bradley <km...@ri...> Date: 2015-04-16 (Thu, 16 Apr 2015) Changed paths: M mlton/ast/ast-core.fun Log Message: ----------- Improved layout of AST or patterns. Commit: 1987a94da0d79b2130666dcf97398900a83eea66 https://github.com/MLton/mlton/commit/1987a94da0d79b2130666dcf97398900a83eea66 Author: Kevin Bradley <km...@ri...> Date: 2015-04-22 (Wed, 22 Apr 2015) Changed paths: M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/front-end/ml.grm Log Message: ----------- Added annotations in control flags for the features which have been implemented. Implemented the enabling of record punning via annotation. Commit: a73adbee6a5381f293974c1b3e3965983853ad40 https://github.com/MLton/mlton/commit/a73adbee6a5381f293974c1b3e3965983853ad40 Author: Kevin Bradley <km...@ri...> Date: 2015-04-22 (Wed, 22 Apr 2015) Changed paths: M mlton/front-end/ml.grm M mlton/front-end/ml.lex Log Message: ----------- Implemented enabling/disabling of optional pattern bar (in all three cases: clauses, constrs, and rules. Implemented enabling/disabling of line comments. Please note that for line comments if the feature is not enabled the line comment will be implicitly understood as the start of a normal block comment. Commit: 17302ae281e99a04eb951e6602fc5d44d5ba2cb1 https://github.com/MLton/mlton/commit/17302ae281e99a04eb951e6602fc5d44d5ba2cb1 Author: Kevin Bradley <km...@ri...> Date: 2015-04-22 (Wed, 22 Apr 2015) Changed paths: M mlton/elaborate/elaborate-core.fun M mlton/front-end/ml.grm Log Message: ----------- Added checking in elaborate-core for whether orpatterns and dodeclarations are enabled. Note the 'check' function has been lifted up to be defined earlier. Adjusted position info given when optionalbar is disabled to be the location of the bar not the following respective part. Additionally changed the messages to be more descriptive as to which type of optional bar was attempting to be used. Commit: 19454595425f3579a1a7dd429528b3b2a69d5fd2 https://github.com/MLton/mlton/commit/19454595425f3579a1a7dd429528b3b2a69d5fd2 Author: Kevin Bradley <km...@ri...> Date: 2015-04-28 (Tue, 28 Apr 2015) Changed paths: M mlton/front-end/ml.lex Log Message: ----------- Implemented binary literals and binary words. Binary literals are started utilizing 0b and ~0b for positive and negative binary numbers respectively. Binary words are started with 0wb or 0bw. Commit: d62a2f985480872a2a634de6b64659e1381a1681 https://github.com/MLton/mlton/commit/d62a2f985480872a2a634de6b64659e1381a1681 Author: Kevin Bradley <km...@ri...> Date: 2015-04-28 (Tue, 28 Apr 2015) Changed paths: M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/front-end/ml.grm Log Message: ----------- Implemented optional semicolon along with the enabling and disabling for the feature via the annotation: 'allowOptSemicolon'. Commit: 5587da0a8ecc1b0b4d1e8e7b653f1ee7a42952e1 https://github.com/MLton/mlton/commit/5587da0a8ecc1b0b4d1e8e7b653f1ee7a42952e1 Author: Kevin Bradley <km...@ri...> Date: 2015-04-29 (Wed, 29 Apr 2015) Changed paths: M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/front-end/ml.lex Log Message: ----------- Implemented extended literals to be able to artibrarily place underscores throughout the literal (except at the very end of the literal). Also implemented enabling and disabling of extended literals. Commit: cefe2175b60c64c1a994a29242eb35d463460270 https://github.com/MLton/mlton/commit/cefe2175b60c64c1a994a29242eb35d463460270 Author: Kevin Bradley <km...@ri...> Date: 2015-05-01 (Fri, 01 May 2015) Changed paths: M mlton/front-end/ml.lex Log Message: ----------- Adjusted number extended literal syntax such that underscores can only be between regular digits. Adjusted hex words to allow the prefix of 0xw in addition to 0wx. Commit: 789bece2fa5b76888b8accddf1ab0c44cfd3e7a2 https://github.com/MLton/mlton/commit/789bece2fa5b76888b8accddf1ab0c44cfd3e7a2 Author: Kevin Bradley <km...@ri...> Date: 2015-05-01 (Fri, 01 May 2015) Changed paths: M mlton/elaborate/elaborate-sigexp.fun M mlton/front-end/ml.grm Log Message: ----------- Implemented withtype for signatures. Commit: f13a196eb94e44bd1a753a54ffd5be0e13276f28 https://github.com/MLton/mlton/commit/f13a196eb94e44bd1a753a54ffd5be0e13276f28 Author: Kevin Bradley <km...@ri...> Date: 2015-05-04 (Mon, 04 May 2015) Changed paths: M mlton/front-end/ml.grm Log Message: ----------- Removed the now unneeded rules for datatypes with no withtypes. Commit: 6caa441ce4322242f2a43000047a670241e7ce6c https://github.com/MLton/mlton/commit/6caa441ce4322242f2a43000047a670241e7ce6c Author: Kevin Bradley <km...@ri...> Date: 2015-05-07 (Thu, 07 May 2015) Changed paths: M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/elaborate/elaborate-sigexp.fun Log Message: ----------- Implemented enabling/disabling of withtype for signatures with 'allowSigWithtype'. Commit: ba30bfba12268d99bbc2eab3f6e40a3fd59f3d78 https://github.com/MLton/mlton/commit/ba30bfba12268d99bbc2eab3f6e40a3fd59f3d78 Author: Kevin Bradley <km...@ri...> Date: 2015-06-07 (Sun, 07 Jun 2015) Changed paths: M mlton/front-end/ml.lex Log Message: ----------- Fixed line comments such that when a line comment is encountered inside of a block comment, any following close block comments on that line do not decrement the comment level. Commit: 2e57194f8373240cbb95c4f2755876edf8285013 https://github.com/MLton/mlton/commit/2e57194f8373240cbb95c4f2755876edf8285013 Author: Kevin Bradley <km...@ri...> Date: 2015-06-10 (Wed, 10 Jun 2015) Changed paths: M doc/guide/src/MLBasisAnnotations.adoc M doc/guide/src/SuccessorML.adoc Log Message: ----------- Partially completed adding documentation of SuccessorML Features. Commit: 5c000e9fd96f132e91e4a5890b623c90fdc6f005 https://github.com/MLton/mlton/commit/5c000e9fd96f132e91e4a5890b623c90fdc6f005 Author: Kevin Bradley <km...@ri...> Date: 2015-06-14 (Sun, 14 Jun 2015) Changed paths: M doc/guide/src/SuccessorML.adoc Log Message: ----------- Added documentation for other successorml features. Commit: e38e4139b032d878108489ff0b1de425884db62c https://github.com/MLton/mlton/commit/e38e4139b032d878108489ff0b1de425884db62c Author: Kevin Bradley <km...@ri...> Date: 2015-06-16 (Tue, 16 Jun 2015) Changed paths: M doc/guide/src/SuccessorML.adoc Log Message: ----------- Updated documentation of SuccessorML features. Commit: b4edb571a5bdbc2ce6e0bc91c072d4622e197bda https://github.com/MLton/mlton/commit/b4edb571a5bdbc2ce6e0bc91c072d4622e197bda Author: Kevin Bradley <km...@ri...> Date: 2015-06-18 (Thu, 18 Jun 2015) Changed paths: M mlton/front-end/ml.lex Log Message: ----------- Adjusted literals such that they cannot be started or ended with an underscore. Commit: 1f25c358e5edcc25a48fcde07e13e6111c528186 https://github.com/MLton/mlton/commit/1f25c358e5edcc25a48fcde07e13e6111c528186 Author: Kevin Bradley <km...@ri...> Date: 2015-06-18 (Thu, 18 Jun 2015) Changed paths: M doc/guide/src/SuccessorML.adoc M mlton/front-end/ml.lex Log Message: ----------- Adjusted documentation to reflect that underscores cannot start or end literals. Re-added lexer changes to properly handle nesting of line comments in block comments. Commit: 9cf1f18692f6f429b6436751b9e869f69ad4d261 https://github.com/MLton/mlton/commit/9cf1f18692f6f429b6436751b9e869f69ad4d261 Author: Matthew Fluet <Mat...@gm...> Date: 2015-06-19 (Fri, 19 Jun 2015) Changed paths: M doc/guide/src/MLBasisAnnotations.adoc M doc/guide/src/SuccessorML.adoc M mlton/ast/ast-core.fun M mlton/ast/ast-core.sig M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/core-ml/core-ml.fun M mlton/core-ml/core-ml.sig M mlton/defunctorize/defunctorize.fun M mlton/elaborate/elaborate-core.fun M mlton/elaborate/elaborate-sigexp.fun M mlton/elaborate/scope.fun M mlton/front-end/ml.grm M mlton/front-end/ml.lex M mlton/match-compile/match-compile.fun M mlton/match-compile/nested-pat.fun M mlton/match-compile/nested-pat.sig Log Message: ----------- Merge pull request #111 from kmb3398/master SuccessorML features and documentation. * do declarations (allowDoDecls) * extended literals (allowExtendedLiterals) * line comments (allowLineComments) * optional leading bar in matches, fun decls, and datatype decls (allowOptBar) * optional trailing semicolon in sequence expressions (allowOptSemicolon) * or patterns (allowOrPats) * record expression punning (allowRecPunning) * withtype in signatures (allowSigWithtype) Compare: https://github.com/MLton/mlton/compare/a7ed9cbf10ac...9cf1f18692f6 |
From: GitHub <no...@gi...> - 2015-06-11 13:26:55
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: c3fa1633c64214bddaf02389e9090d363f2e3209 https://github.com/MLton/mlton/commit/c3fa1633c64214bddaf02389e9090d363f2e3209 Author: Matthew Fluet <mat...@gm...> Date: 2015-06-10 (Wed, 10 Jun 2015) Changed paths: M basis-library/arrays-and-vectors/mono-array.fun M basis-library/arrays-and-vectors/mono-array2.fun M basis-library/arrays-and-vectors/mono-array2.sig M basis-library/arrays-and-vectors/mono-vector-slice.sig M basis-library/arrays-and-vectors/mono-vector.fun M basis-library/arrays-and-vectors/mono-vector.sig M basis-library/arrays-and-vectors/mono.sml M basis-library/net/socket.sml Log Message: ----------- Hide type equality of mono and poly Word8.word arrays and vectors. Fixes MLton/mlton#45. Commit: d9c2bb7fadb70835978b6e5668c946719d7fad94 https://github.com/MLton/mlton/commit/d9c2bb7fadb70835978b6e5668c946719d7fad94 Author: Matthew Fluet <mat...@gm...> Date: 2015-06-10 (Wed, 10 Jun 2015) Changed paths: M basis-library/arrays-and-vectors/sequence0.sml Log Message: ----------- Hide equality status of poly (and mono) vector and array slices. Fixes MLton/mlton#47. Commit: 4da1e468a6d4a59f93e492a605c339bb77e66656 https://github.com/MLton/mlton/commit/4da1e468a6d4a59f93e492a605c339bb77e66656 Author: Matthew Fluet <mat...@gm...> Date: 2015-06-10 (Wed, 10 Jun 2015) Changed paths: M doc/changelog Log Message: ----------- Document changes to equality status and type equalities in Basis Library. Commit: a7ed9cbf10ac0aff79c781f658df01a78027cc06 https://github.com/MLton/mlton/commit/a7ed9cbf10ac0aff79c781f658df01a78027cc06 Author: Matthew Fluet <Mat...@gm...> Date: 2015-06-11 (Thu, 11 Jun 2015) Changed paths: M basis-library/arrays-and-vectors/mono-array.fun M basis-library/arrays-and-vectors/mono-array2.fun M basis-library/arrays-and-vectors/mono-array2.sig M basis-library/arrays-and-vectors/mono-vector-slice.sig M basis-library/arrays-and-vectors/mono-vector.fun M basis-library/arrays-and-vectors/mono-vector.sig M basis-library/arrays-and-vectors/mono.sml M basis-library/arrays-and-vectors/sequence0.sml M basis-library/net/socket.sml M doc/changelog Log Message: ----------- Merge pull request #110 from MatthewFluet/basis-library-types Changes to type equalities and equality status in Basis Library. * Hide type equality of mono and poly Word8.word arrays and vectors; fixes MLton/mlton#45. * Hide equality status of poly (and mono) vector and array slices; fixes MLton/mlton#47. Compare: https://github.com/MLton/mlton/compare/f2d45f9258ba...a7ed9cbf10ac |
From: GitHub <no...@gi...> - 2015-06-08 20:57:59
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 3bc97c1da1450d9419d5af3cceefa97505cf08ec https://github.com/MLton/mlton/commit/3bc97c1da1450d9419d5af3cceefa97505cf08ec Author: Matthew Fluet <mat...@gm...> Date: 2015-06-08 (Mon, 08 Jun 2015) Changed paths: M doc/examples/ffi/export.sml M mlton/ast/ast-core.fun M mlton/ast/ast-core.sig M mlton/atoms/c-function.fun M mlton/atoms/c-function.sig M mlton/elaborate/elaborate-core.fun M mlton/front-end/ml.grm Log Message: ----------- Introduce a "reentrant" _import attribute. In addition to the "pure", "impure", and "runtime" _import attributes introduced by cdcb21b, introduce a "reentrant" _import attribute for C functions which (directly or indirectly) call _export-ed SML functions. The "pure" and "impure" _import attributes were introduced to reduce the overhead of calling the typical _import-ed function: a "pure" or "impure" function that does not enter the MLton runtime (and, thus, does not require synchronizing the runtime state before or after the call). However, an _import-ed C function that calls an _export-ed SML function indirectly invokes runtime services (e.g., garbage collection); therefore, after the return from SML and the return from C, the global GC state must be reloaded (frontier, stack top, ...). Presently, a "reentrant" function treated the same as a "runtime" function; both are elaborated to CFunction.Kind.Runtime (with default values), but the "runtime" attribute should be a private undocumented attribute for compiler developers, while the "reentrant" attribute should be a public documented attribute for users. In the future, the two attributes may diverge. Fixes MLton/mlton#88. Commit: 6d03e0fe59a40f7e9615d0d9b426533abb9826b1 https://github.com/MLton/mlton/commit/6d03e0fe59a40f7e9615d0d9b426533abb9826b1 Author: Matthew Fluet <mat...@gm...> Date: 2015-06-08 (Mon, 08 Jun 2015) Changed paths: M doc/changelog M doc/examples/ffi/test_quot.sml M doc/guide/src/CallingFromCToSML.adoc M doc/guide/src/CallingFromSMLToC.adoc M doc/guide/src/ForeignFunctionInterfaceSyntax.adoc Log Message: ----------- Document the "pure", "impure", and "reentrant" _import attributes. Fixes MLton/mlton#89. Commit: f2d45f9258ba4ef79a2ed4220462417444ecd0d8 https://github.com/MLton/mlton/commit/f2d45f9258ba4ef79a2ed4220462417444ecd0d8 Author: Matthew Fluet <Mat...@gm...> Date: 2015-06-08 (Mon, 08 Jun 2015) Changed paths: M doc/changelog M doc/examples/ffi/export.sml M doc/examples/ffi/test_quot.sml M doc/guide/src/CallingFromCToSML.adoc M doc/guide/src/CallingFromSMLToC.adoc M doc/guide/src/ForeignFunctionInterfaceSyntax.adoc M mlton/ast/ast-core.fun M mlton/ast/ast-core.sig M mlton/atoms/c-function.fun M mlton/atoms/c-function.sig M mlton/elaborate/elaborate-core.fun M mlton/front-end/ml.grm Log Message: ----------- Merge pull request #109 from MatthewFluet/ffi-kind-attributes Updates to _import attributes for C function kinds. Two updates to _import attributes for C function kinds: * Introduce a "reentrant" _import attribute for _import-ed C functions that call _export-ed SML functions. * Document the "pure", "impure", and "reentrant" _import attributes. Fixes MLton/mlton#88 and MLton/mlton#89. Compare: https://github.com/MLton/mlton/compare/94857d6baba1...f2d45f9258ba |
From: GitHub <no...@gi...> - 2015-06-08 18:23:15
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 07afa54e247afd6d202fb3968c75b5ed08918322 https://github.com/MLton/mlton/commit/07afa54e247afd6d202fb3968c75b5ed08918322 Author: Matthew Fluet <mat...@gm...> Date: 2015-06-08 (Mon, 08 Jun 2015) Changed paths: M mlton/main/main.fun M runtime/gc/init.c M runtime/gc/init.h Log Message: ----------- Eliminate output executable name from compile-time specified "@MLton" arguments. Partly fixes MLton/mlton#50. Commit: 4269f97307b63b460f8d8fe5272ba8593a5350ef https://github.com/MLton/mlton/commit/4269f97307b63b460f8d8fe5272ba8593a5350ef Author: Matthew Fluet <mat...@gm...> Date: 2015-06-08 (Mon, 08 Jun 2015) Changed paths: M mlton/codegen/c-codegen/c-codegen.fun Log Message: ----------- Deterministically generate magic constant. Each MLton generated executable embeds a magic constant that is meant to protect against using MLton.World.load (or @MLton load-world _world_) with a world saved by a different executable. Previously, the magic constant was generated with MLton.Random.useed, which uses /dev/urandom to get a random word, falling back to String.hash of the input file name if reading from /dev/urandom fails or if MLton.Random is provided by a stub. Unfortunately, this means that two builds of the same source file (by the same version of MLton) will generate executables that differ in the value of the magic constant; furthermore, this is the only difference in the two executables (excluding the embedding of the output executable name in the compile-time specified "@MLton" arguments; see 07afa54). The magic constant is now generated by combining "String.hash Version.banner" (which contains the version, build date, and build node of the compiler) and "Random.word ()" (which is a deterministic pseudo-random number generator). Note that "Random.word" is used throughout the compile to generate hash-values for identifiers and other atomic constructs, so the state of the pseudo-random number generator at the end of the compile is quite sensitive to the input program. Partly fixes MLton/mlton#50. Commit: 5717063f96d566b21d1ae8843e5ee9a392842cae https://github.com/MLton/mlton/commit/5717063f96d566b21d1ae8843e5ee9a392842cae Author: Matthew Fluet <mat...@gm...> Date: 2015-06-08 (Mon, 08 Jun 2015) Changed paths: M mlton/codegen/c-codegen/c-codegen.fun Log Message: ----------- Deterministically generate magic constant. Refine 4269f97 to generate magic constant from "String.hash Version.version" (rather than "String.hash Version.banner") and "Random.word ()". This should allow two builds of the same version of MLton to generate identical executables for the same input program. Commit: 94857d6baba16dd9f0e128de457f87d8a5070062 https://github.com/MLton/mlton/commit/94857d6baba16dd9f0e128de457f87d8a5070062 Author: Matthew Fluet <Mat...@gm...> Date: 2015-06-08 (Mon, 08 Jun 2015) Changed paths: M mlton/codegen/c-codegen/c-codegen.fun M mlton/main/main.fun M runtime/gc/init.c M runtime/gc/init.h Log Message: ----------- Merge pull request #107 from MatthewFluet/deterministic-build For a given compiler and input program (and compile-time options), deterministically build executable by: * Eliminating output executable name from compile-time specified "@MLton" arguments. * Deterministically generating magic constant. Closes MLton/mlton#50. Compare: https://github.com/MLton/mlton/compare/4881c41ae78a...94857d6baba1 |
From: GitHub <no...@gi...> - 2015-06-08 15:20:31
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 45b95648bcb686694c0b2bfe5b20dc603759e288 https://github.com/MLton/mlton/commit/45b95648bcb686694c0b2bfe5b20dc603759e288 Author: Matthew Fluet <mat...@gm...> Date: 2015-06-08 (Mon, 08 Jun 2015) Changed paths: M mlton/front-end/Makefile Log Message: ----------- Update post-processing of generated front-end files. Commit 4055a88 added post-processing with sed of generated front-end files to support recent versions of SML/NJ's ml-lex and ml-yacc that generate long identifiers rather than unqualified (top-level environment) identifiers. Unfortunately, GNU sed (e.g., linux) and BSD sed (e.g., darwin) differ in the treatment of the "-i" (in place extension) command line flag, which can lead one or the other to leave a backup file that dirties the working tree. Use "mv" and temporary files to eliminate the need for in place editing. Commit: 15163a8d4e874e4c5929deac90eefaca8030865c https://github.com/MLton/mlton/commit/15163a8d4e874e4c5929deac90eefaca8030865c Author: Matthew Fluet <Mat...@gm...> Date: 2015-06-08 (Mon, 08 Jun 2015) Changed paths: M mlton/front-end/Makefile Log Message: ----------- Merge pull request #105 from MatthewFluet/post-processing-for-front-end Update post-processing of generated front-end files. Compare: https://github.com/MLton/mlton/compare/6cf0de4a1773...15163a8d4e87 |
From: GitHub <no...@gi...> - 2015-06-08 15:20:14
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 9854dd4ae9277e0514f655e17d6af1a2fa8744a8 https://github.com/MLton/mlton/commit/9854dd4ae9277e0514f655e17d6af1a2fa8744a8 Author: Matthew Fluet <mat...@gm...> Date: 2015-06-08 (Mon, 08 Jun 2015) Changed paths: M mlton/control/source.sml M mlton/front-end/front-end.fun M mlton/front-end/mlb-front-end.fun M mlton/main/compile.fun Log Message: ----------- Updates (mostly code style) to "-keep ast" feature. Commit: 4881c41ae78ac82d7510c5eb56b5c97ce66cc561 https://github.com/MLton/mlton/commit/4881c41ae78ac82d7510c5eb56b5c97ce66cc561 Author: Matthew Fluet <Mat...@gm...> Date: 2015-06-08 (Mon, 08 Jun 2015) Changed paths: M mlton/control/source.sml M mlton/front-end/front-end.fun M mlton/front-end/mlb-front-end.fun M mlton/main/compile.fun Log Message: ----------- Merge pull request #106 from MatthewFluet/keep-ast-updates Updates (mostly code style) to "-keep ast" feature. Compare: https://github.com/MLton/mlton/compare/e349d4ee76f6...4881c41ae78a |
From: GitHub <no...@gi...> - 2015-06-08 14:56:59
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: ed9236de282d1126c30d80fa57b89009604eec85 https://github.com/MLton/mlton/commit/ed9236de282d1126c30d80fa57b89009604eec85 Author: Rostepher <ros...@gm...> Date: 2015-05-29 (Fri, 29 May 2015) Changed paths: M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/control/source.sig M mlton/control/source.sml M mlton/front-end/front-end.fun M mlton/front-end/mlb-front-end.fun M mlton/main/compile.fun M mlton/main/main.fun Log Message: ----------- Implement keep-ast feature. Commit: e349d4ee76f6c9fc8174b20c6a6a399bfeb4376f https://github.com/MLton/mlton/commit/e349d4ee76f6c9fc8174b20c6a6a399bfeb4376f Author: Matthew Fluet <Mat...@gm...> Date: 2015-06-08 (Mon, 08 Jun 2015) Changed paths: M mlton/control/control-flags.sig M mlton/control/control-flags.sml M mlton/control/source.sig M mlton/control/source.sml M mlton/front-end/front-end.fun M mlton/front-end/mlb-front-end.fun M mlton/main/compile.fun M mlton/main/main.fun Log Message: ----------- Merge pull request #104 from Rostepher/master Implement keep-ast feature. Compare: https://github.com/MLton/mlton/compare/15163a8d4e87...e349d4ee76f6 |
From: GitHub <no...@gi...> - 2015-06-02 13:45:41
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 8bb8aff9e44898fcc694859501037f166525a344 https://github.com/MLton/mlton/commit/8bb8aff9e44898fcc694859501037f166525a344 Author: Christopher Cramer <tsu...@yu...> Date: 2015-05-28 (Thu, 28 May 2015) Changed paths: M doc/guide/src/RunningOnNetBSD.adoc M package/debian/control M package/freebsd/Makefile Log Message: ----------- Remove the last vestiges of htmldoc; replace with asciidoc Commit: 9fbe584269a3eb15353b510404709a8c5b3b5735 https://github.com/MLton/mlton/commit/9fbe584269a3eb15353b510404709a8c5b3b5735 Author: Christopher Cramer <tsu...@yu...> Date: 2015-05-28 (Thu, 28 May 2015) Changed paths: R package/debian/patches/11-fixes-20100608-to-20110319.patch R package/debian/patches/22-fixes-20110319-to-20110719.patch M package/debian/patches/series Log Message: ----------- Remove redundant Debian patches Commit: b525b6796c1975bae05d68c1b63993ba760fee4a https://github.com/MLton/mlton/commit/b525b6796c1975bae05d68c1b63993ba760fee4a Author: Christopher Cramer <tsu...@yu...> Date: 2015-05-28 (Thu, 28 May 2015) Changed paths: M package/debian/watch Log Message: ----------- Update Debian watch file to reflect move to Sourceforge The pattern is adapted from https://wiki.debian.org/debian/watch#SourceForge Commit: 15f6115917944f25168e3d8f995a5ca69b723964 https://github.com/MLton/mlton/commit/15f6115917944f25168e3d8f995a5ca69b723964 Author: Christopher Cramer <tsu...@yu...> Date: 2015-05-28 (Thu, 28 May 2015) Changed paths: M package/debian/control M package/debian/mlton-compiler.install R package/debian/mlton-runtime-i486-gnu.install R package/debian/mlton-runtime-i486-kfreebsd-gnu.install R package/debian/mlton-runtime-i486-linux-gnu.install A package/debian/mlton-runtime-i586-gnu.install A package/debian/mlton-runtime-i586-kfreebsd-gnu.install A package/debian/mlton-runtime-i586-linux-gnu.install Log Message: ----------- Update Debian packaging (control, *.install) First, usr/lib/mlton/opcodes was part of the discontinued bytecode codegen. It doesn't exist anymore, so don't try to install it. Second, the GNU architecture has changed from i486 to i586. I don't know why the GNU architecture (which has changed twice, and may change again to i686, for all I know) is used in all these paths instead of the Debian architecture (which will presumably remain i386 until the end of time). But I will assume there is a good reason, and so switch all the paths to the new architecture. Commit: c18745bcf388b495a8e12a7fd54b8b5d30a50964 https://github.com/MLton/mlton/commit/c18745bcf388b495a8e12a7fd54b8b5d30a50964 Author: Christopher Cramer <tsu...@yu...> Date: 2015-05-29 (Fri, 29 May 2015) Changed paths: M doc/guide/src/LLVMCodegen.adoc Log Message: ----------- Add more documentation on the LLVM codegen Add the required LLVM version (3.3, according to comments in the source) and note the performance relative to the other codegens (summarized from the benchmarks in Brian Leibig's project report). Commit: ab2dd1ebfac68489ed907ff8ba0773f1e046c4f8 https://github.com/MLton/mlton/commit/ab2dd1ebfac68489ed907ff8ba0773f1e046c4f8 Author: Christopher Cramer <tsu...@yu...> Date: 2015-05-29 (Fri, 29 May 2015) Changed paths: M package/debian/control Log Message: ----------- Add Suggest: llvm for mlton-compiler Debian package The llvm package is necessary for the new LLVM codegen, but the native or C codegens (depending on architecture) are still the default. It still works without llvm installed. Commit: 6cf0de4a177398a201aa3564a71a66836f8b1d2e https://github.com/MLton/mlton/commit/6cf0de4a177398a201aa3564a71a66836f8b1d2e Author: Matthew Fluet <Mat...@gm...> Date: 2015-06-02 (Tue, 02 Jun 2015) Changed paths: M doc/guide/src/LLVMCodegen.adoc M doc/guide/src/RunningOnNetBSD.adoc M package/debian/control M package/debian/mlton-compiler.install R package/debian/mlton-runtime-i486-gnu.install R package/debian/mlton-runtime-i486-kfreebsd-gnu.install R package/debian/mlton-runtime-i486-linux-gnu.install A package/debian/mlton-runtime-i586-gnu.install A package/debian/mlton-runtime-i586-kfreebsd-gnu.install A package/debian/mlton-runtime-i586-linux-gnu.install R package/debian/patches/11-fixes-20100608-to-20110319.patch R package/debian/patches/22-fixes-20110319-to-20110719.patch M package/debian/patches/series M package/debian/watch M package/freebsd/Makefile Log Message: ----------- Merge pull request #103 from tsuyoshi2/master Remove dependencies on htmldoc in package descriptions; replace with asciidoc. Various updates to Debian package. Compare: https://github.com/MLton/mlton/compare/73f2e1db3419...6cf0de4a1773 |
From: GitHub <no...@gi...> - 2015-03-31 02:18:52
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 993d12982371d3f6db2e40627ee6b1884a8ea58e https://github.com/MLton/mlton/commit/993d12982371d3f6db2e40627ee6b1884a8ea58e Author: Eugene Akentyev <ak...@gm...> Date: 2015-03-26 (Thu, 26 Mar 2015) Changed paths: M Makefile M mlton/Makefile Log Message: ----------- Fixed LANG variable. Commit: 73f2e1db34195b1f66aec995fe4bae9791de8238 https://github.com/MLton/mlton/commit/73f2e1db34195b1f66aec995fe4bae9791de8238 Author: Matthew Fluet <Mat...@gm...> Date: 2015-03-30 (Mon, 30 Mar 2015) Changed paths: M Makefile M mlton/Makefile Log Message: ----------- Merge pull request #97 from ak3n/master Compute MLton build date under LANG=en_us. Fixes problems building with cyrillic date (and presumably, with other locales). Revert 43092d1, as version number computation is locale independent. Compare: https://github.com/MLton/mlton/compare/2a2ebce6d12f...73f2e1db3419 |
From: GitHub <no...@gi...> - 2015-03-17 13:41:48
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 43092d15157f4221cdbfbe3ad90a3c057a7349f4 https://github.com/MLton/mlton/commit/43092d15157f4221cdbfbe3ad90a3c057a7349f4 Author: Eugene Akentyev <ak...@gm...> Date: 2015-03-13 (Fri, 13 Mar 2015) Changed paths: M Makefile Log Message: ----------- Update Makefile Commit: 2a2ebce6d12f7fc40ebf98e79c0cdfe607bc7d43 https://github.com/MLton/mlton/commit/2a2ebce6d12f7fc40ebf98e79c0cdfe607bc7d43 Author: Matthew Fluet <Mat...@gm...> Date: 2015-03-17 (Tue, 17 Mar 2015) Changed paths: M Makefile Log Message: ----------- Merge pull request #96 from ak3n/patch-1 Compute version number under LANG=en_us. Fixes problems building with cyrillic date (and presumably, with other locales). Compare: https://github.com/MLton/mlton/compare/79414b0154a2...2a2ebce6d12f |
From: GitHub <no...@gi...> - 2015-02-20 01:39:18
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: f081e4a7c3158f6f9aa777d493253d7c41fa3830 https://github.com/MLton/mlton/commit/f081e4a7c3158f6f9aa777d493253d7c41fa3830 Author: Matthew Fluet <mat...@gm...> Date: 2015-02-16 (Mon, 16 Feb 2015) Changed paths: A doc/guide/src/GoogleSummerOfCode2015.adoc Log Message: ----------- Create GoogleSummerOfCode2015 page. Commit: b7d4a1cdac69069913e496db62b7bdae49f384b5 https://github.com/MLton/mlton/commit/b7d4a1cdac69069913e496db62b7bdae49f384b5 Author: Matthew Fluet <mat...@gm...> Date: 2015-02-16 (Mon, 16 Feb 2015) Changed paths: M doc/guide/src/GoogleSummerOfCode2015.adoc Log Message: ----------- Update GoogleSummerOfCode2015 ideas list. Commit: a9422084b000b9d2cf11f3c1c430f9f5632f7b20 https://github.com/MLton/mlton/commit/a9422084b000b9d2cf11f3c1c430f9f5632f7b20 Author: Matthew Fluet <mat...@gm...> Date: 2015-02-19 (Thu, 19 Feb 2015) Changed paths: M doc/guide/src/GoogleSummerOfCode2015.adoc Log Message: ----------- Update GoogleSummerOfCode2015 ideas list. Commit: 10b92a51b3d9ca1b58f9430254711249107c2c16 https://github.com/MLton/mlton/commit/10b92a51b3d9ca1b58f9430254711249107c2c16 Author: Matthew Fluet <mat...@gm...> Date: 2015-02-19 (Thu, 19 Feb 2015) Changed paths: M doc/guide/src/GoogleSummerOfCode2015.adoc Log Message: ----------- Update GoogleSummerOfCode2015 ideas list from L. Ziarek. Commit: 79414b0154a2e1383bd2633f85a5e5877cb64958 https://github.com/MLton/mlton/commit/79414b0154a2e1383bd2633f85a5e5877cb64958 Author: Matthew Fluet <Mat...@gm...> Date: 2015-02-19 (Thu, 19 Feb 2015) Changed paths: A doc/guide/src/GoogleSummerOfCode2015.adoc Log Message: ----------- Merge pull request #94 from MatthewFluet/gsoc15-ideas Create GoogleSummerOfCode2015 page. Compare: https://github.com/MLton/mlton/compare/6c00f7764306...79414b0154a2 |
From: GitHub <no...@gi...> - 2015-02-18 03:27:04
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 205848af68fc0682564ab98e1c2874649ab759b9 https://github.com/MLton/mlton/commit/205848af68fc0682564ab98e1c2874649ab759b9 Author: Armando Doval <arm...@gm...> Date: 2015-02-11 (Wed, 11 Feb 2015) Changed paths: M mlnlffigen/ast-to-spec.sml Log Message: ----------- mlnlffigen no longer terminates when it encounters a function with a struct or union argument or return value. Commit: 5a4c54ba2046b4634c89481de04c4846da07bb85 https://github.com/MLton/mlton/commit/5a4c54ba2046b4634c89481de04c4846da07bb85 Author: Armando Doval <arm...@gm...> Date: 2015-02-16 (Mon, 16 Feb 2015) Changed paths: M mlnlffigen/ast-to-spec.sml Log Message: ----------- Fixed mlnlffigen skipping functions with struct results. Commit: 62dea7fdf8d52f59b3157f21e0b5272537bad933 https://github.com/MLton/mlton/commit/62dea7fdf8d52f59b3157f21e0b5272537bad933 Author: Armando Doval <arm...@gm...> Date: 2015-02-16 (Mon, 16 Feb 2015) Changed paths: M mlnlffigen/ast-to-spec.sml Log Message: ----------- Added missing call to fun_valty_nonvoid. Commit: 6c00f7764306ee892c4f9ac14979eace0bc1d352 https://github.com/MLton/mlton/commit/6c00f7764306ee892c4f9ac14979eace0bc1d352 Author: Matthew Fluet <Mat...@gm...> Date: 2015-02-17 (Tue, 17 Feb 2015) Changed paths: M mlnlffigen/ast-to-spec.sml Log Message: ----------- Merge pull request #93 from InquisitiveCoder/master Update mlnlffigen to warn and skip functions with struct/union arguments. Compare: https://github.com/MLton/mlton/compare/f1859035a43b...6c00f7764306 |
From: GitHub <no...@gi...> - 2014-12-22 19:28:30
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 3d3109d9fe4df91121e3acc85c83c1baa4a66376 https://github.com/MLton/mlton/commit/3d3109d9fe4df91121e3acc85c83c1baa4a66376 Author: Vedant Raiththa <ved...@gm...> Date: 2014-11-11 (Tue, 11 Nov 2014) Changed paths: R mlton/ast/admits-equality.fun R mlton/ast/admits-equality.sig R mlton/ast/char-size.fun R mlton/ast/char-size.sig R mlton/ast/field.fun R mlton/ast/field.sig R mlton/ast/int-size.fun R mlton/ast/int-size.sig R mlton/ast/prim-cons.fun R mlton/ast/prim-cons.sig R mlton/ast/prim-tycons.fun R mlton/ast/prim-tycons.sig R mlton/ast/real-size.fun R mlton/ast/real-size.sig R mlton/ast/record.fun R mlton/ast/record.sig M mlton/ast/sources.mlb R mlton/ast/symbol.fun R mlton/ast/symbol.sig R mlton/ast/tycon-kind.fun R mlton/ast/tycon-kind.sig R mlton/ast/tyvar.fun R mlton/ast/tyvar.sig R mlton/ast/word-size.fun R mlton/ast/word-size.sig R mlton/ast/wrapped.sig A mlton/atoms/admits-equality.fun A mlton/atoms/admits-equality.sig A mlton/atoms/char-size.fun A mlton/atoms/char-size.sig A mlton/atoms/field.fun A mlton/atoms/field.sig A mlton/atoms/int-size.fun A mlton/atoms/int-size.sig A mlton/atoms/prim-cons.fun A mlton/atoms/prim-cons.sig A mlton/atoms/prim-tycons.fun A mlton/atoms/prim-tycons.sig A mlton/atoms/real-size.fun A mlton/atoms/real-size.sig A mlton/atoms/record.fun A mlton/atoms/record.sig M mlton/atoms/sources.mlb A mlton/atoms/symbol.fun A mlton/atoms/symbol.sig A mlton/atoms/tycon-kind.fun A mlton/atoms/tycon-kind.sig A mlton/atoms/tyvar.fun A mlton/atoms/tyvar.sig A mlton/atoms/word-size.fun A mlton/atoms/word-size.sig A mlton/atoms/wrapped.sig Log Message: ----------- Moved files from ast to atoms and changed references in the sources.mlb file. Commit: 4a0c8496645b07a30b34254953ce09516f937f67 https://github.com/MLton/mlton/commit/4a0c8496645b07a30b34254953ce09516f937f67 Author: Vedant Raiththa <ved...@gm...> Date: 2014-11-14 (Fri, 14 Nov 2014) Changed paths: M mlton/ast/ast-atoms.fun M mlton/ast/ast-atoms.sig M mlton/atoms/atoms.fun M mlton/atoms/atoms.sig M mlton/atoms/sources.mlb M mlton/main/compile.fun Log Message: ----------- References refactored Commit: beb16c149061cbb8b4e885902f459bef48f12395 https://github.com/MLton/mlton/commit/beb16c149061cbb8b4e885902f459bef48f12395 Author: Vedant Raiththa <ved...@gm...> Date: 2014-11-14 (Fri, 14 Nov 2014) Changed paths: M mlton/ast/sources.cm M mlton/atoms/sources.cm M mlton/atoms/sources.mlb Log Message: ----------- smlnj compilation files updated accordingly Commit: 48b9b238437fc7791cc846f85921601e9f7a79b7 https://github.com/MLton/mlton/commit/48b9b238437fc7791cc846f85921601e9f7a79b7 Author: Matthew Fluet <mat...@gm...> Date: 2014-12-17 (Wed, 17 Dec 2014) Changed paths: M mlton/backend/sources.cm M mlton/backend/sources.mlb M mlton/codegen/amd64-codegen/sources.cm M mlton/codegen/amd64-codegen/sources.mlb M mlton/codegen/c-codegen/sources.cm M mlton/codegen/c-codegen/sources.mlb M mlton/codegen/llvm-codegen/sources.cm M mlton/codegen/llvm-codegen/sources.mlb M mlton/codegen/x86-codegen/sources.cm M mlton/codegen/x86-codegen/sources.mlb M mlton/core-ml/sources.cm M mlton/core-ml/sources.mlb M mlton/elaborate/sources.cm M mlton/match-compile/sources.cm M mlton/ssa/sources.cm M mlton/xml/sources.cm Log Message: ----------- Cleanup `sources.mlb` and `sources.cm` files. In particular, drop references to `../ast/sources.mlb` and `../ast/sources.cm`, since the necessary structures are now provided by `../atoms/sources.mlb` and `../atoms/sources.cm`. Commit: 9a85e8d5e8679ab111b7e90f7f56db3202e32996 https://github.com/MLton/mlton/commit/9a85e8d5e8679ab111b7e90f7f56db3202e32996 Author: Matthew Fluet <mat...@gm...> Date: 2014-12-17 (Wed, 17 Dec 2014) Changed paths: M doc/guide/src/AST.adoc M mlton/atoms/sources.cm M mlton/atoms/sources.mlb R mlton/atoms/wrapped.sig M mlton/control/sources.cm M mlton/control/sources.mlb A mlton/control/wrapped.sig Log Message: ----------- Move `signature WRAPPED` to `control` directory. Commit: 9cb35cbe8fcb8ac3ee0df60d521a6e17dd48bf91 https://github.com/MLton/mlton/commit/9cb35cbe8fcb8ac3ee0df60d521a6e17dd48bf91 Author: Matthew Fluet <mat...@gm...> Date: 2014-12-22 (Mon, 22 Dec 2014) Changed paths: M mlton/atoms/atoms.fun M mlton/atoms/atoms.sig M mlton/match-compile/match-compile.fun Log Message: ----------- Drop unused `structure Atoms.Vars : SET`. Commit: 3b324bf30d191a2092ce3929f21ed3e691a35ca5 https://github.com/MLton/mlton/commit/3b324bf30d191a2092ce3929f21ed3e691a35ca5 Author: Matthew Fluet <mat...@gm...> Date: 2014-12-22 (Mon, 22 Dec 2014) Changed paths: M mlton/atoms/atoms.fun M mlton/atoms/atoms.sig M mlton/atoms/tycon.fun M mlton/atoms/tycon.sig Log Message: ----------- Complete `sharing` constraints for `signature ATOMS`. Commit: 039edb8e2740263051eacc5e6430fd7fd3141721 https://github.com/MLton/mlton/commit/039edb8e2740263051eacc5e6430fd7fd3141721 Author: Matthew Fluet <mat...@gm...> Date: 2014-12-22 (Mon, 22 Dec 2014) Changed paths: M mlton/atoms/sources.cm M mlton/atoms/sources.mlb Log Message: ----------- Reorganize `atoms/sources.{cm,mlb}`. Commit: f1859035a43b4363dfce83a6120c0a1bf160c4c0 https://github.com/MLton/mlton/commit/f1859035a43b4363dfce83a6120c0a1bf160c4c0 Author: Matthew Fluet <Mat...@gm...> Date: 2014-12-22 (Mon, 22 Dec 2014) Changed paths: M doc/guide/src/AST.adoc R mlton/ast/admits-equality.fun R mlton/ast/admits-equality.sig M mlton/ast/ast-atoms.fun M mlton/ast/ast-atoms.sig R mlton/ast/char-size.fun R mlton/ast/char-size.sig R mlton/ast/field.fun R mlton/ast/field.sig R mlton/ast/int-size.fun R mlton/ast/int-size.sig R mlton/ast/prim-cons.fun R mlton/ast/prim-cons.sig R mlton/ast/prim-tycons.fun R mlton/ast/prim-tycons.sig R mlton/ast/real-size.fun R mlton/ast/real-size.sig R mlton/ast/record.fun R mlton/ast/record.sig M mlton/ast/sources.cm M mlton/ast/sources.mlb R mlton/ast/symbol.fun R mlton/ast/symbol.sig R mlton/ast/tycon-kind.fun R mlton/ast/tycon-kind.sig R mlton/ast/tyvar.fun R mlton/ast/tyvar.sig R mlton/ast/word-size.fun R mlton/ast/word-size.sig R mlton/ast/wrapped.sig A mlton/atoms/admits-equality.fun A mlton/atoms/admits-equality.sig M mlton/atoms/atoms.fun M mlton/atoms/atoms.sig A mlton/atoms/char-size.fun A mlton/atoms/char-size.sig A mlton/atoms/field.fun A mlton/atoms/field.sig A mlton/atoms/int-size.fun A mlton/atoms/int-size.sig A mlton/atoms/prim-cons.fun A mlton/atoms/prim-cons.sig A mlton/atoms/prim-tycons.fun A mlton/atoms/prim-tycons.sig A mlton/atoms/real-size.fun A mlton/atoms/real-size.sig A mlton/atoms/record.fun A mlton/atoms/record.sig M mlton/atoms/sources.cm M mlton/atoms/sources.mlb A mlton/atoms/symbol.fun A mlton/atoms/symbol.sig A mlton/atoms/tycon-kind.fun A mlton/atoms/tycon-kind.sig M mlton/atoms/tycon.fun M mlton/atoms/tycon.sig A mlton/atoms/tyvar.fun A mlton/atoms/tyvar.sig A mlton/atoms/word-size.fun A mlton/atoms/word-size.sig M mlton/backend/sources.cm M mlton/backend/sources.mlb M mlton/codegen/amd64-codegen/sources.cm M mlton/codegen/amd64-codegen/sources.mlb M mlton/codegen/c-codegen/sources.cm M mlton/codegen/c-codegen/sources.mlb M mlton/codegen/llvm-codegen/sources.cm M mlton/codegen/llvm-codegen/sources.mlb M mlton/codegen/x86-codegen/sources.cm M mlton/codegen/x86-codegen/sources.mlb M mlton/control/sources.cm M mlton/control/sources.mlb A mlton/control/wrapped.sig M mlton/core-ml/sources.cm M mlton/core-ml/sources.mlb M mlton/elaborate/sources.cm M mlton/main/compile.fun M mlton/match-compile/match-compile.fun M mlton/match-compile/sources.cm M mlton/ssa/sources.cm M mlton/xml/sources.cm Log Message: ----------- Merge pull request #92 from MatthewFluet/RestructuringAtoms Move pervasive constructs from `ast` to `atoms`. Most program constructs (e.g., `WordX` for word constants, `Label` for basic block labels) that are used in multiple ILs are defined in the `atoms` directory. However, some program constructs (e.g., `WordSize` for word constants, `Field` for record fields) that are used in multiple ILs are defined in the `ast` directory. This commit moves all of the pervasive program constructs that are defined in `ast` to `atoms`, so that `ast/sources.mlb` depends on `atoms/sources.mlb` and not the other way around. Compare: https://github.com/MLton/mlton/compare/75dc70e6bc4d...f1859035a43b |
From: GitHub <no...@gi...> - 2014-12-17 18:15:15
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 97c2bdf1db0977cb9b3439fc74ea72207c6670a0 https://github.com/MLton/mlton/commit/97c2bdf1db0977cb9b3439fc74ea72207c6670a0 Author: Matthew Fluet <mat...@gm...> Date: 2014-12-06 (Sat, 06 Dec 2014) Changed paths: M basis-library/mlton/thread.sml Log Message: ----------- Cache a worker thread to service calls to `_export`-ed functions. Each call from C to an `_export`-ed SML function resulted in the creation of a new ML thread to service the call. An application that made many calls to `_export`-ed SML functions could result in a significant cost in terms of allocation and garbage collection; see http://sourceforge.net/p/mlton/mailman/message/33116352/. Recall the implementation of `_export`-ed SML functions. Each source program `_export` is assigned a unique integer and the `_export` expression becomes a function that stores (a wrapped version of) the SML function into a global array at the appropriate index. An ML thread is created and registered in the runtime to handle (not service) all calls of `_export`-ed SML functions. This ML thread is a simple loop that inspects global state to determine the index of the `_export`-ed SML function that is being called, extracts (the wrapped version of) the SML function from the global array, creates a new ML thread to execute the extracted SML function (and service the call of the `_export`-ed SML function), and switches to the new ML thread, leaving the handler ML thread paused ready to go around the loop and handle the next call of an `_export`-ed SML function. It is not possible for the handler ML thread to call the extracted SML function (and service the call), because the extracted function might call an `_import`-ed C function which in turns calls an `_export`-ed SML function; when trying to handle this nested call of an `_export`-ed SML function, the handler ML thread would be paused at the call of the `_import`-ed C function, not paused in the handler loop, and chaos would ensue. Thus, a separate ML thread is required to service the call of the `_export`-ed SML function, leaving the handler ML thread ready to handle nested and subsequent calls of `_export`-ed SML functions. However, mutual recursion between SML and C is probably not common. The common case is probably that of SML calling C calling SML (or, in the case of a SML system-level library, just C calling SML). In this common case, it shouldn't be necessary to create a new ML thread per call of an `_export`-ed SML function. In this common case, it would be possible for the handler ML thread to also service the call of the `_export`-ed function. However, we still need to handle the situation where there is deeper recursion between SML and C. Creating and registering a new handler ML thread while the original handler ML thread is servicing the call of the `_export`-ed function isn't a solution to the allocation problem, since a new handler ML thread is created per call of an `_export`-ed SML function. Lazily creating a new handler ML thread isn't a solution either, since we can't recover from the original handler ML thread paused at the call of the `_import`-ed C function (and not paused in the handler loop). A better solution is to create a worker ML thread to service the call of an `_export`-ed SML function and reuse this worker thread when it is not already servicing the call of an `_export`-ed SML function. Essentially, a `val worker: Prim.thread option ref` is created to cache an available worker ML thread. The handler ML thread inspects `worker` for an available worker thread: if `!worker` is `NONE`, then a new worker ML thread is created; if `!worker` is `SOME wrk_thrd`, then `worker` is updated to `NONE` (indicating that no worker thread is available; the `wrk_thrd` worker thread is now servicing the call of the `_export`-ed SML function). When a worker ML thread is about to return to C (and pause ready to go around the loop and service the next call of an `_export`-ed SML function), it updates `worker` to `SOME self`, making itself available. In the common case, a single worker ML thread is created at the first call of an `_export`-ed SML function, and this worker ML thread is reused for all subsequent calls of `_export`-ed SML functions. The example program from the above message results in no additional allocation per call of the `_export`-ed SML function (resulting in significantly faster overall execution). While it would be possible to replace `val worker: Prim.thread option ref` with `val workers: Prim.thread list ref`, allowing multiple worker ML threads to persist after some mutual recursion between SML and C, this would result in a small amount of additional alloction per call of `_export`-ed SML function corresponding cons-cell allocation in the the update of `workers` to `self :: !workers`. Commit: 75dc70e6bc4d661bed6eeb8c3cc063e061c087d6 https://github.com/MLton/mlton/commit/75dc70e6bc4d661bed6eeb8c3cc063e061c087d6 Author: Matthew Fluet <Mat...@gm...> Date: 2014-12-17 (Wed, 17 Dec 2014) Changed paths: M basis-library/mlton/thread.sml Log Message: ----------- Merge pull request #91 from MatthewFluet/export-allocation Cache a worker thread to service calls to `_export`-ed functions. Compare: https://github.com/MLton/mlton/compare/7041382a9dbd...75dc70e6bc4d |
From: GitHub <no...@gi...> - 2014-12-02 21:28:19
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 4055a88ebb9182fa223877b23c9aac63439f77d5 https://github.com/MLton/mlton/commit/4055a88ebb9182fa223877b23c9aac63439f77d5 Author: Matthew Fluet <mat...@gm...> Date: 2014-12-02 (Tue, 02 Dec 2014) Changed paths: M mlton/front-end/Makefile Log Message: ----------- Post-process generated front-end files. SML/NJ's recent ml-lex and ml-yacc tools generate long identifiers rather than unqualified (top-level environment) identifiers; that is, they generate "List.map"/"List.rev" rather than "map"/"rev" and "General.Subscript" rather than "Subscript". Unfortunately, in the context of building mlton-compile, the generated front-end files are elaborated in the environment provided by the MLton utility library, not the environment provided by the SML Basis Library. While the MLton utility library does re-export the top-level environment of the SML Basis Library, MLton's utility library provides a structure List that is incompatible with the SML Basis Library's structure List (MLton's utility library provides an uncurried List.map, while the SML Basis Library provides a curried List.map) and the MLton utility library does not provide a structure General. Furthermore, with SML/NJ's recent ml-lex and ml-yacc tools, both the SML Basis Library's structure List and the MLton utility library's structure List are used in the generated code --- the former by the tool generated code and the later by the semantic actions. (SML/NJ's recent ml-lex and ml-yacc tools also generate "String.substring"/"String.size" rather than "substring"/"size", but MLton's utility library provides a structure String that is compatible with the SML Basis Library's structure String for these functions.) To accomodate SML/NJ's recent ml-lex and ml-yacc tools, post-process the generated front-end files, replacing the generated occurrences of "List." and "General." with "Pervasive.List." and "Pervasive.General.". Fixes MLton/mlton#77 and fixes MLton/mlton#86. Commit: 7041382a9dbda322068299fc813aff5702134d22 https://github.com/MLton/mlton/commit/7041382a9dbda322068299fc813aff5702134d22 Author: Matthew Fluet <Mat...@gm...> Date: 2014-12-02 (Tue, 02 Dec 2014) Changed paths: M mlton/front-end/Makefile Log Message: ----------- Merge pull request #87 from MatthewFluet/smlnj-tools-for-front-end Post-process generated front-end files. Compare: https://github.com/MLton/mlton/compare/64369b40f9fb...7041382a9dbd |
From: GitHub <no...@gi...> - 2014-12-02 15:38:03
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 183e9af7eb05a491da4063369ab0d9627bb070f6 https://github.com/MLton/mlton/commit/183e9af7eb05a491da4063369ab0d9627bb070f6 Author: Daniel Rosenwasser <Dan...@gm...> Date: 2014-11-30 (Sun, 30 Nov 2014) Changed paths: M doc/guide/src/SelfCompiling.adoc Log Message: ----------- Corrected documentation for SML/NJ Makefile target Commit: c8e9c73692fec8636bf3334bd2214e77d9e04626 https://github.com/MLton/mlton/commit/c8e9c73692fec8636bf3334bd2214e77d9e04626 Author: Daniel Rosenwasser <Dan...@gm...> Date: 2014-11-30 (Sun, 30 Nov 2014) Changed paths: M Makefile Log Message: ----------- Fixed bootstrap-nj target Commit: 64369b40f9fb9c09b717d27d8fdacb82a52b55cd https://github.com/MLton/mlton/commit/64369b40f9fb9c09b717d27d8fdacb82a52b55cd Author: Matthew Fluet <Mat...@gm...> Date: 2014-12-02 (Tue, 02 Dec 2014) Changed paths: M Makefile M doc/guide/src/SelfCompiling.adoc Log Message: ----------- Merge pull request #85 from DanielRosenwasser/compile-smlnj-doc Corrected documentation for SML/NJ Makefile target & fixed bootstrap-nj target. Compare: https://github.com/MLton/mlton/compare/4f7f652962ed...64369b40f9fb |
From: GitHub <no...@gi...> - 2014-11-21 20:05:56
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 3a683cfea6100b3cff914555604fe28baa5e4bef https://github.com/MLton/mlton/commit/3a683cfea6100b3cff914555604fe28baa5e4bef Author: Matthew Fluet <mat...@gm...> Date: 2014-10-29 (Wed, 29 Oct 2014) Changed paths: M benchmark/main.sml M benchmark/tests/.gitignore A benchmark/tests/pidigits.sml M benchmark/update-counts.sh Log Message: ----------- Add pidigits.sml, an IntInf intensive benchmark. The pidigits.sml benchmark is based upon The Computer Language Benchmarks Game (aka, Shootout) pidigits benchmark (streaming arbitrary-precision arithmetic). While the Shootout pidigits benchmark should display the first n digits of pi, this pidigits.sml benchmark simply displays the index of the Nth 0-digit in the digits of pi; this makes the benchmark IntInf intensive with almost no I/O. Commit: f30f2367e0f1ff6a90bcb145fea78bb3f3b50af8 https://github.com/MLton/mlton/commit/f30f2367e0f1ff6a90bcb145fea78bb3f3b50af8 Author: Matthew Fluet <mat...@gm...> Date: 2014-11-12 (Wed, 12 Nov 2014) Changed paths: M benchmark/tests/pidigits.sml Log Message: ----------- Update pidigits.sml benchmark. Use polymorphic equality of IntInf.int values. Commit: 24b7e0bd003f7435225543b2c798da12109d995a https://github.com/MLton/mlton/commit/24b7e0bd003f7435225543b2c798da12109d995a Author: Matthew Fluet <mat...@gm...> Date: 2014-11-12 (Wed, 12 Nov 2014) Changed paths: M mlton/backend/backend.fun Log Message: ----------- Translation of RSSA ArrayOffset operands. Translate an RSSA ArrayOffset operand with a non-location base to a dummy Machine operand. This should only arise in dead-code; for example, vector operations on the result of IntInf_toVector applied to a small IntInf, where the code path is guarded by the IntInf tag-check. Commit: 4a0163eb5f7286f80f0eb3d7ecb1ab3f63bdc7e2 https://github.com/MLton/mlton/commit/4a0163eb5f7286f80f0eb3d7ecb1ab3f63bdc7e2 Author: Matthew Fluet <mat...@gm...> Date: 2014-11-13 (Thu, 13 Nov 2014) Changed paths: M doc/guide/src/PolyEqual.adoc M mlton/ssa/poly-equal.fun Log Message: ----------- Directly implement polymorphic equality on IntInf values. Introduce an SSA function for IntInf equality, which performs an eq (object-pointer-equality) test, followed by a tag test (if both arguments are "small" IntInf values and not pointer equal, then they are not equal), followed by a vector equality (without an eq test). This corresponds to the implementation of IntInf_equal in runtime/gc/int-inf.c. There seems to be no significant compile-time, size, or run-time impact: MLton0 -- /home/matthew/devel/mlton/mlton-20130715-1.amd64-linux/build/bin/mlton MLton1 -- /home/matthew/devel/mlton/builds/build.gf30f236/bin/mlton MLton2 -- /home/matthew/devel/mlton/mlton.git/build/bin/mlton run time ratio benchmark MLton0 MLton1 MLton2 pidigits 1.00 1.00 0.99 smith-normal-form 1.00 1.00 1.00 size benchmark MLton0 MLton1 MLton2 pidigits 164,912 168,322 168,386 smith-normal-form 312,352 317,330 317,362 compile time benchmark MLton0 MLton1 MLton2 pidigits 1.93 1.94 1.90 smith-normal-form 2.46 2.45 2.44 run time benchmark MLton0 MLton1 MLton2 pidigits 36.28 36.13 36.02 smith-normal-form 34.25 34.21 34.18 Commit: e3a63600407f935420f27f676d294041ea6e7e1a https://github.com/MLton/mlton/commit/e3a63600407f935420f27f676d294041ea6e7e1a Author: Matthew Fluet <mat...@gm...> Date: 2014-11-13 (Thu, 13 Nov 2014) Changed paths: M mlton/atoms/prim.fun M mlton/atoms/prim.sig M mlton/backend/ssa-to-rssa.fun M runtime/gc/int-inf.c M runtime/gc/int-inf.h Log Message: ----------- Remove IntInf_equal primitive and implementation. Commit: e0e53cdc300b9f5c6e8b976a0ff75bc0b2649b82 https://github.com/MLton/mlton/commit/e0e53cdc300b9f5c6e8b976a0ff75bc0b2649b82 Author: Matthew Fluet <mat...@gm...> Date: 2014-11-13 (Thu, 13 Nov 2014) Changed paths: M mlton/atoms/c-type.fun M mlton/atoms/c-type.sig M mlton/backend/rep-type.fun M mlton/backend/rep-type.sig M mlton/backend/ssa-to-rssa.fun M runtime/gc/int-inf.c M runtime/gc/int-inf.h Log Message: ----------- Pass GCState operand to C functions implementing IntInf operations. The various C functions that implement IntInf operations in runtime/gc/int-inf.c made explicit use of the global gcState, rather than taking it as a parameter (as with all other runtime functions). Furthermore, in SsaToRssa, the IntInf operations are translated to C functions with Runtime kind, which suggests that they should have a GCState operand. There seems to be no significant compile-time, size, or run-time impact. A small increase in size is expected, as there is a little more work at each call site to pass the additional argument. MLton0 -- /home/matthew/devel/mlton/mlton-20130715-1.amd64-linux/build/bin/mlton MLton1 -- /home/matthew/devel/mlton/builds/build.gf30f236/bin/mlton MLton2 -- /home/matthew/devel/mlton/builds/build.ge3a6360/bin/mlton MLton3 -- /home/matthew/devel/mlton/mlton.git/build/bin/mlton run time ratio benchmark MLton0 MLton1 MLton2 MLton3 pidigits 1.00 1.00 1.00 0.99 smith-normal-form 1.00 1.00 1.00 1.00 size benchmark MLton0 MLton1 MLton2 MLton3 pidigits 164,912 168,322 168,290 168,802 smith-normal-form 312,352 317,330 317,266 317,794 compile time benchmark MLton0 MLton1 MLton2 MLton3 pidigits 1.90 1.90 1.92 1.89 smith-normal-form 2.47 2.45 2.45 2.43 run time benchmark MLton0 MLton1 MLton2 MLton3 pidigits 36.24 36.08 36.11 36.04 smith-normal-form 34.34 34.24 34.16 34.23 Commit: 9eb0e0dcc558d4fe8511702249c309f2fe61f896 https://github.com/MLton/mlton/commit/9eb0e0dcc558d4fe8511702249c309f2fe61f896 Author: Matthew Fluet <mat...@gm...> Date: 2014-11-13 (Thu, 13 Nov 2014) Changed paths: M runtime/gc.c Log Message: ----------- Do not import the global gcState in runtime/gc.c. There are no remaining uses of the global gcState in runtime/gc. Commit: ade5f5e064814e21fd7fc2b244388ca4d1cf8aee https://github.com/MLton/mlton/commit/ade5f5e064814e21fd7fc2b244388ca4d1cf8aee Author: Matthew Fluet <mat...@gm...> Date: 2014-11-13 (Thu, 13 Nov 2014) Changed paths: M runtime/gc/int-inf.c Log Message: ----------- Drop 'inline' keyword on IntInf binary wrapper function. The other IntInf wrapper functions do not have an 'inline' keyword and there is really no advantage to inlining the wrapper. There seems to be no significant compile-time, size, or run-time impact. A small decrease in size is expected, as the function is not inlined at its multiple call-sites. MLton0 -- /home/matthew/devel/mlton/mlton-20130715-1.amd64-linux/build/bin/mlton MLton1 -- /home/matthew/devel/mlton/builds/build.gf30f236/bin/mlton MLton2 -- /home/matthew/devel/mlton/builds/build.ge3a6360/bin/mlton MLton3 -- /home/matthew/devel/mlton/builds/build.ge0e53cd/bin/mlton MLton4 -- /home/matthew/devel/mlton/mlton.git/build/bin/mlton run time ratio benchmark MLton0 MLton1 MLton2 MLton3 MLton4 pidigits 1.00 1.00 1.00 1.01 1.00 smith-normal-form 1.00 1.00 1.00 1.00 1.00 size benchmark MLton0 MLton1 MLton2 MLton3 MLton4 pidigits 164,912 168,322 168,290 168,802 168,446 smith-normal-form 312,352 317,330 317,266 317,794 317,438 compile time benchmark MLton0 MLton1 MLton2 MLton3 MLton4 pidigits 1.91 1.92 1.91 1.93 1.91 smith-normal-form 2.47 2.45 2.45 2.46 2.44 run time benchmark MLton0 MLton1 MLton2 MLton3 MLton4 pidigits 36.12 36.09 36.01 36.32 36.16 smith-normal-form 34.39 34.27 34.27 34.26 34.31 Commit: 6b2456aca2da4cac79eaac29207e6f21a7c480b5 https://github.com/MLton/mlton/commit/6b2456aca2da4cac79eaac29207e6f21a7c480b5 Author: Matthew Fluet <mat...@gm...> Date: 2014-11-14 (Fri, 14 Nov 2014) Changed paths: M runtime/gc/int-inf.c M runtime/gc/int-inf.h Log Message: ----------- Regularize IntInf wrapper functions. Rename the IntInf binary op, unary op, and shift op wrapper functions. Introduce IntInf comparison op and string op wrapper functions. Commit: 3ff3aca08d463dc8ccf682e3e69e08aa8104550a https://github.com/MLton/mlton/commit/3ff3aca08d463dc8ccf682e3e69e08aa8104550a Author: Matthew Fluet <mat...@gm...> Date: 2014-11-14 (Fri, 14 Nov 2014) Changed paths: A runtime/basis/IntInf/int-inf.c M runtime/gc/int-inf.c M runtime/gc/int-inf.h Log Message: ----------- Move function references into a separate compilation unit. Compile all of the non-wrapper IntInf functions, which simply pass a GMP function to a wrapper IntInf function, as a separate compilation unit to be archived in libmlton.a. When a compiled program is statically linked to libmlton.a, if no IntInf_* functions are required to resolve symbols from the compiled program, then the compilation unit could be dropped during linking, and there would be no residual run-time dependency on GMP. Closes MLton/mlton#59. There seems to be no significant compile-time, size, or run-time impact: MLton0 -- /home/matthew/devel/mlton/mlton-20130715-1.amd64-linux/build/bin/mlton MLton1 -- /home/matthew/devel/mlton/builds/build.gf30f236/bin/mlton MLton2 -- /home/matthew/devel/mlton/builds/build.ge3a6360/bin/mlton MLton3 -- /home/matthew/devel/mlton/builds/build.ge0e53cd/bin/mlton MLton4 -- /home/matthew/devel/mlton/builds/build.gade5f5e/bin/mlton MLton5 -- /home/matthew/devel/mlton/mlton.git/build/bin/mlton run time ratio benchmark MLton0 MLton1 MLton2 MLton3 MLton4 MLton5 pidigits 1.00 1.00 1.00 1.00 1.00 1.00 smith-normal-form 1.00 1.00 1.00 1.00 1.00 1.00 size benchmark MLton0 MLton1 MLton2 MLton3 MLton4 MLton5 pidigits 164,912 168,322 168,290 168,802 168,446 168,510 smith-normal-form 312,352 317,330 317,266 317,794 317,438 317,502 compile time benchmark MLton0 MLton1 MLton2 MLton3 MLton4 MLton5 pidigits 1.89 1.95 1.95 1.99 1.90 1.91 smith-normal-form 2.45 2.44 2.45 2.45 2.45 2.43 run time benchmark MLton0 MLton1 MLton2 MLton3 MLton4 MLton5 pidigits 36.08 36.11 36.02 36.05 36.10 35.97 smith-normal-form 34.24 34.26 34.28 34.33 34.25 34.19 Commit: 491818769ef5579aa70ca4d8957d2ae2044fad30 https://github.com/MLton/mlton/commit/491818769ef5579aa70ca4d8957d2ae2044fad30 Author: Matthew Fluet <mat...@gm...> Date: 2014-11-14 (Fri, 14 Nov 2014) Changed paths: M runtime/gc/int-inf.c Log Message: ----------- Update IntInf_strop. The GMP mpz_get_str function uses digits 0..9a..zA..z for a positive base and uses digits 0..9A..Za..z for a negative base. The SML Basis Library IntInf.fmt function requires 0..9A..F digits for StringCvt.HEX. Previously, used a positive base for mpz_get_str and then converted lower-case to upper-case via a for-loop. Now, simply use a negative base for mpz_get_str and need only convert a leading '-' to a leading '~'. Commit: 612111c4de05d134485a336953add1fd41281380 https://github.com/MLton/mlton/commit/612111c4de05d134485a336953add1fd41281380 Author: Matthew Fluet <mat...@gm...> Date: 2014-11-16 (Sun, 16 Nov 2014) Changed paths: M doc/changelog Log Message: ----------- Update changelog. Note that IntInf-free programs compile to executables with no residual dependency on GMP. Commit: c0600c9bb513e53cb61c92ee235a8513a93dc0cc https://github.com/MLton/mlton/commit/c0600c9bb513e53cb61c92ee235a8513a93dc0cc Author: Matthew Fluet <mat...@gm...> Date: 2014-11-17 (Mon, 17 Nov 2014) Changed paths: A regression/int-inf.rep1.ok A regression/int-inf.rep1.sml A regression/int-inf.rep2.ok A regression/int-inf.rep2.sml A regression/int-inf.rep3.ok A regression/int-inf.rep3.sml A regression/int-inf.rep4.ok A regression/int-inf.rep4.sml Log Message: ----------- Regression tests demonstrating bugs with MLton.IntInf.fromRep. Add a number of regression tests from MLton/mlton#65 that demonstrate bugs with MLton.IntInf.fromRep accepting non-canonical integers. Thanks to @robsimmons for the bug report and initial regression tests. Commit: d1415927bc7eacd228d632246fa4eb671a397af9 https://github.com/MLton/mlton/commit/d1415927bc7eacd228d632246fa4eb671a397af9 Author: Matthew Fluet <mat...@gm...> Date: 2014-11-17 (Mon, 17 Nov 2014) Changed paths: M basis-library/integer/int-inf.sml Log Message: ----------- Implement IntInf.sign with a single (big) comparison. Commit: b6a6872fd2641101320da47fd5006edf63454b9c https://github.com/MLton/mlton/commit/b6a6872fd2641101320da47fd5006edf63454b9c Author: Matthew Fluet <mat...@gm...> Date: 2014-11-21 (Fri, 21 Nov 2014) Changed paths: M runtime/gc/int-inf.c M runtime/gc/int-inf.h Log Message: ----------- Latent bugs in conversion of MLton IntInf-s to/from GMP mpz-s. Fix a couple of latent bugs in conversion of Small IntInfs (represented as an objptr with the bottom bit set to 1 and the top bits representing a signed integer) to and from GMP __mpz_struct when sizeof(objptr) > sizeof(mp_limb_t). Commit: ca0a648cbd0792ee05e02f6e2f0dc452941345dd https://github.com/MLton/mlton/commit/ca0a648cbd0792ee05e02f6e2f0dc452941345dd Author: Matthew Fluet <mat...@gm...> Date: 2014-11-21 (Fri, 21 Nov 2014) Changed paths: A regression/int-inf.rep5.ok A regression/int-inf.rep5.sml Log Message: ----------- Additional regression test for MLton.IntInf.{rep,fromRep}. Commit: 3add91eda2fba9373ff90a2ce1dbffb4fe768a5f https://github.com/MLton/mlton/commit/3add91eda2fba9373ff90a2ce1dbffb4fe768a5f Author: Matthew Fluet <mat...@gm...> Date: 2014-11-21 (Fri, 21 Nov 2014) Changed paths: M basis-library/integer/int-inf0.sml Log Message: ----------- Check IntInf representation invariants in MLton.IntInf.fromRep. Both SML and GMP rely upon various representation invariants for IntInf values. For example, MLton's implementation of SML's polymorphic equality on IntInf values assumes that if one argument is a "small" IntInf and the other is a "big" IntInf, then the values are not equal (implying that the values do not denote the same numeric value); see commit 4a0163e. Similarly, GMP assumes that the most-significant limb of a non-zero mpz_t is non-zero (implying that the _mp_size can be used to short-circuit a comparison and that all limbs contribute to the string representation); see regression/int-inf.rep3.sml and regression/int-inf.rep4.sml from commit c0600c9. When creating an IntInf via MLton.IntInf.fromRep, check that the representation invariants are satisfied. For a Big input, the checks are essentially: * length >= 2 (* sign limb + magnitude limb(s) *) * v[0] <= 0w1 (* sign limb is 0w0 (positive) or 0w1 (negative) *) * v[l-1] > 0w0 (* most-significant limb is non-zero *) * value exceeds range of a "small" IntInf For a Small input, the check is essentially: * value preserved by tagging and untagging Thanks to @robsimmons for the bug report, initial regression tests, and initial check logic. Closes MLton/mlton#65. Commit: ce8c50f03a05af834cb00f2f373a5d8d46b4fe19 https://github.com/MLton/mlton/commit/ce8c50f03a05af834cb00f2f373a5d8d46b4fe19 Author: Matthew Fluet <mat...@gm...> Date: 2014-11-21 (Fri, 21 Nov 2014) Changed paths: M doc/changelog Log Message: ----------- Update changelog. Fixed bug in MLton.IntInf.fromRep that could yield values that violate the IntInf representation invariants. Commit: 4f7f652962edab44c9bcf681154ea84463548087 https://github.com/MLton/mlton/commit/4f7f652962edab44c9bcf681154ea84463548087 Author: Matthew Fluet <Mat...@gm...> Date: 2014-11-21 (Fri, 21 Nov 2014) Changed paths: M basis-library/integer/int-inf.sml M basis-library/integer/int-inf0.sml M benchmark/main.sml M benchmark/tests/.gitignore A benchmark/tests/pidigits.sml M benchmark/update-counts.sh M doc/changelog M doc/guide/src/PolyEqual.adoc M mlton/atoms/c-type.fun M mlton/atoms/c-type.sig M mlton/atoms/prim.fun M mlton/atoms/prim.sig M mlton/backend/backend.fun M mlton/backend/rep-type.fun M mlton/backend/rep-type.sig M mlton/backend/ssa-to-rssa.fun M mlton/ssa/poly-equal.fun A regression/int-inf.rep1.ok A regression/int-inf.rep1.sml A regression/int-inf.rep2.ok A regression/int-inf.rep2.sml A regression/int-inf.rep3.ok A regression/int-inf.rep3.sml A regression/int-inf.rep4.ok A regression/int-inf.rep4.sml A regression/int-inf.rep5.ok A regression/int-inf.rep5.sml A runtime/basis/IntInf/int-inf.c M runtime/gc.c M runtime/gc/int-inf.c M runtime/gc/int-inf.h Log Message: ----------- Merge pull request #84 from MatthewFluet/int-inf-ops IntInf implementation updates. Various updates to IntInf implementation. Highlights: * Reorganized runtime support for IntInf operations so that programs that do not use IntInf compile to executables with no residual dependency on GMP. * Fixed bug in MLton.IntInf.fromRep that could yield values that violate the IntInf representation invariants. Compare: https://github.com/MLton/mlton/compare/a79cca84de6f...4f7f652962ed |
From: GitHub <no...@gi...> - 2014-11-13 15:02:39
|
Branch: refs/heads/master Home: https://github.com/MLton/mlton Commit: 9d9b854df8a0ec01d0cd0f302641f46afee8c784 https://github.com/MLton/mlton/commit/9d9b854df8a0ec01d0cd0f302641f46afee8c784 Author: Matthew Fluet <mat...@gm...> Date: 2014-11-13 (Thu, 13 Nov 2014) Changed paths: M doc/guide/conf/mlton-html5.conf Log Message: ----------- Use <link> for Google+ website token for HTML5 conformance. Commit: 5432b4c2038983b7a99512563cbc6758b76e0d60 https://github.com/MLton/mlton/commit/5432b4c2038983b7a99512563cbc6758b76e0d60 Author: Matthew Fluet <mat...@gm...> Date: 2014-11-13 (Thu, 13 Nov 2014) Changed paths: M doc/guide/src/SSA2.adoc Log Message: ----------- Fix SSA2 page to describe an SSA2 program (not an SSA program). Commit: a79cca84de6fdec987ddb091b0c03bbd500161f6 https://github.com/MLton/mlton/commit/a79cca84de6fdec987ddb091b0c03bbd500161f6 Author: Matthew Fluet <Mat...@gm...> Date: 2014-11-13 (Thu, 13 Nov 2014) Changed paths: M doc/guide/conf/mlton-html5.conf M doc/guide/src/SSA2.adoc Log Message: ----------- Merge pull request #83 from MatthewFluet/guide-updates Miscellaneous updates to guide. Compare: https://github.com/MLton/mlton/compare/cdcb21b879db...a79cca84de6f |