Skip to content

Fix ST magic-do and inlining - #3444

Merged
kritzcreek merged 1 commit into
purescript:masterfrom
natefaubion:nf/fix-st-inliner
Oct 22, 2018
Merged

Fix ST magic-do and inlining#3444
kritzcreek merged 1 commit into
purescript:masterfrom
natefaubion:nf/fix-st-inliner

Conversation

@natefaubion

Copy link
Copy Markdown
Contributor

Example output now:

var sumOfSquares = (function __do() {
    var v = {
        value: 0
    };
    var loop = function (v1) {
        if (v1 === 0) {
            return Control_Monad_ST_Internal.read(v);
        };
        return function __do() {
            var v2 = v.value = (function (v2) {
                return v2 + (v1 * v1 | 0) | 0;
            })(v.value);
            return loop(v1 - 1 | 0)();
        };
    };
    return loop(100)();
})();
var main = Effect_Console.logShow(Data_Show.showInt)(sumOfSquares);
var counter = (function __do() {
    var v = 0;
    (function () {
        while ((function __do() {
            return v < 10;
        })()) {
            (function __do() {
                var v1 = v = (function (v1) {
                    return v1 + 1 | 0;
                })(v);
                return Data_Unit.unit;
            })();
        };
        return {};
    })();
    return v;
})();

@kritzcreek

Copy link
Copy Markdown
Member

Great, thanks!

@kritzcreek
kritzcreek merged commit 02ecfe6 into purescript:master Oct 22, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants