diff options
Diffstat (limited to 'lib/compatibility/4.11.nom')
| -rw-r--r-- | lib/compatibility/4.11.nom | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/lib/compatibility/4.11.nom b/lib/compatibility/4.11.nom new file mode 100644 index 0000000..24dbbdc --- /dev/null +++ b/lib/compatibility/4.11.nom @@ -0,0 +1,97 @@ +#!/usr/bin/env nomsu -V6.14 +# + This file defines upgrades from Nomsu <4.11 to Nomsu 4.11 + (overhaul of function literals, deleting (if all of ...), etc. shorthand) + +use "compatibility/compatibility" + +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Overhaul of function literals: +upgrade action "call 1 with" to "4.11" via + for ($tree $end_version): + $tree2 = {.type = "Action", .source = $tree.source, .1 = $tree.2} + for $arg in $tree.4 at $i: + $tree2.($i + 1) = $arg + return (SyntaxTree $tree2) +upgrade action (-> $yield_value) to "4.11" as (yield $yield_value) + +# Replace set {$x:1, $y:2} with [$x, $y] = [1, 2] +upgrade action "set" to "4.11" via + for ($tree $end_version): + [$lhs, $rhs] = [\[], \[]] + $lhs.source = $tree.2.source + $rhs.source = $tree.2.source + for $entry in $tree.2 at $i: + $lhs.$i = $entry.1 + $rhs.$i = $entry.2 + + return + SyntaxTree {.type = "Action", .source = $tree.source} $lhs "=" $rhs + +upgrade action "1 with 2 ~>" to "4.11" via + for $tree: + compile error at $tree "This method has been deprecated." + "Perhaps this could be use ($tree, map ...) instead." + +# Changing filesystem API: +upgrade action (for file $f in $path $body) to "4.11" as + for $f in (files for $path) $body + +upgrade action ($expr for file $f in $path) to "4.11" as + [: for $f in (files for $path): add $expr] + +upgrade action (line $n in $text) to "4.11" as ($text, line $n) +upgrade action (line number of $pos in $text) to "4.11" as + $text, line number at $pos + +# Deduplicating goto labels: +upgrade action [=== $label ===, *** $label ***] to "4.11" as (--- $label ---) +upgrade action [===stop $label ===, ***stop $label ***] to "4.11" as + ---stop $label --- + +upgrade action [===next $label ===, ***next $label ***] to "4.11" as + ---next $label --- + +# Deprecating shorthand functions: +upgrade action [if all of $items $body, if all of $items then $body] to "4.11" as + if (all of $items) $body + +upgrade action [unless all of $items $body, unless all of $items then $body] to +.."4.11" as (if (not (all of $items)) $body) + +upgrade action [if any of $items $body, if any of $items then $body] to "4.11" as + if (any of $items) $body + +upgrade action [unless any of $items $body, unless any of $items then $body] to +.."4.11" as (if (not (any of $items)) $body) + +upgrade action [if none of $items $body, if none of $items then $body] to "4.11" +..as (if (not (any of $items)) $body) + +upgrade action [unless none of $items $body, unless none of $items then $body] to +.."4.11" as (if (any of $items) $body) + +upgrade action [ + if all of $items $body else $else, if all of $items then $body else $else +] to "4.11" as (if (all of $items) $body else $else) + +upgrade action [ + unless all of $items $body else $else, unless all of $items then $body else $else +] to "4.11" as (if (not (all of $items)) $body else $else) + +upgrade action [ + if any of $items $body else $else, if any of $items then $body else $else +] to "4.11" as (if (any of $items) $body else $else) + +upgrade action [ + unless any of $items $body else $else, unless any of $items then $body else $else +] to "4.11" as (if (not (any of $items)) $body else $else) + +upgrade action [ + if none of $items $body else $else, if none of $items then $body else $else +] to "4.11" as (if (not (any of $items)) $body else $else) + +upgrade action [ + unless none of $items $body else $else, unless none of $items then $body else $else +] to "4.11" as (if (any of $items) $body else $else) |
