共有
  • 記事へのコメント33

    • 注目コメント
    • 新着コメント
    その他
    rikuba
    rikuba 末尾再帰最適化の経緯

    2021/06/20 リンク

    その他
    mohritaroh
    mohritaroh 歴史だ

    2021/04/26 リンク

    その他
    mizdra
    mizdra 数年前にSTCが出たあたりで知識の更新が止まっていたので、まとめてもらってありがたい

    2021/04/26 リンク

    その他
    coppieee
    coppieee for文書きたくないのでSTCください

    2021/04/25 リンク

    その他
    mozukuyummy
    mozukuyummy 最近はAtCoderで、模範解答が再帰を使ってる問題を、あえてループと配列で書く練習してるので参考になる。

    2021/04/24 リンク

    その他
    UhoNiceGuy
    UhoNiceGuy TCOは関数呼び出しの帰り先を元関数の帰り先にするだけ(callの直後がretだったらjumpに代える)なので特殊な構文解析は必要ないんだけどね//組み込みでは再帰呼び出し自体使用禁止なそうな(ISO26262)

    2021/04/24 リンク

    その他
    odakaho
    odakaho STCは何がどうcontinueやねんて感じで採用されなくてよかった

    2021/04/24 リンク

    その他
    roshi
    roshi Safariはプラットフォーム開放や他ブラウザーとの相互互換のための機能対応の方をもっと頑張って欲しい、、ていうかなんでそれだけ頑張って先行実装したw

    2021/04/24 リンク

    その他
    YokoChan
    YokoChan 私は再帰呼出関数ばかり書いているプログラマをサイキックプログラマと呼んでいる。

    2021/04/24 リンク

    その他
    NetPenguin
    NetPenguin 一方、scalaは@tailrecアノテーションを、kotlinはtailrecキーワードを使用した!(javascriptも当初の時点で明示する方法を取れていたらよかったのにね……(´・ω・`))(ちな、scalaはアノテーション無くても展開してくれる)

    2021/04/24 リンク

    その他
    kazkaz03
    kazkaz03 Microsoftさん…

    2021/04/24 リンク

    その他
    bouzuya
    bouzuya ほとんど実装されていないことは知っていたが、その経緯は知らなかった。

    2021/04/24 リンク

    その他
    tkmkg8m
    tkmkg8m Safariだけ実装→MozillaとMSが反対→Chromeが代替案→Safariが反対→今って状況だったのか。知らなかった。JavaScriptはブラウザベンダー間の調整とか互換性とかしんどそうね。

    2021/04/24 リンク

    その他
    knjname
    knjname 末尾呼び出し最適化自体は再帰かどうかは関係ない。

    2021/04/24 リンク

    その他
    yarumato
    yarumato “末尾で自分を呼び出す(return function self)関数を末尾再帰関数と呼ぶ。最適化は速度ではなくメモリ消費を抑える。実質的には再帰からループへの変換。JSはSafari以外で未実装。実装拒否された歴史。自分で実装しよう”

    2021/04/24 リンク

    その他
    sugawara1991
    sugawara1991 高々予測できない再帰は怖くてかけないなあ

    2021/04/24 リンク

    その他
    turanukimaru
    turanukimaru 再帰を書きたい側からすれば、無限ループならともかく高々数万回の再帰で stack over flow するんじゃねぇよみたいな感覚だからな…私は階層数を把握してるときしか再帰書かないけど気にせず無限に再帰させたいときも有る

    2021/04/24 リンク

    その他
    gengesa
    gengesa 末尾再帰最適化は末尾再帰は自明にループにできるからできることなので、末尾再帰ではない=自明なループにしづらい再帰のときのほうが再帰で書きたくて最適化を期待して末尾再帰で書くくらいなら普通にループで書く

    2021/04/24 リンク

    その他
    Magicant
    Magicant 非同期処理の結果を処理するのにコールバックが必要になったりするが、それをループ内でやった時にスタックオーバーフローするかどうかはかなり自明ではないので、末尾最適化への需要はあるだらうな

    2021/04/24 リンク

    その他
    otchy210
    otchy210 いやー、文字列連結くらいシンプルでない限り、暗黙的な最適化をアテにしたコードは書かないでしょ?

    2021/04/24 リンク

    その他
    surume000
    surume000 再帰じゃん。末尾かどうかということが大事なの?

    2021/04/24 リンク

    その他
    taiyow
    taiyow 歴史的経緯をまとめてくれるのはすごくありがたい / 末尾再起、普通に意識して書くけど…なんで人間は自分の周囲だけのことを一般化して文句をつけるのか。そろそろ人類進化しろよ。

    2021/04/24 リンク

    その他
    kijtra
    kijtra 無制限の階層構造とかは再帰が必要だからなあ。

    2021/04/24 リンク

    その他
    gfx
    gfx こういう経緯だったのか。暗黙のTCOはダメだよなーと常々思っていたけど、Syntactic Tail Callだったらいいと思う。

    2021/04/24 リンク

    その他
    stakme
    stakme Safari実装してたんだ…

    2021/04/24 リンク

    その他
    youichirou
    youichirou そんなややこしい話が…。

    2021/04/24 リンク

    その他
    ultimatebreak
    ultimatebreak 一言でいうとメンドイ

    2021/04/24 リンク

    その他
    onesplat
    onesplat 末尾再帰最適化をアテにしてコード書く奴なんていねえよ。こんな中途半端なもんやめたらええねん

    2021/04/24 リンク

    その他
    kazoo_oo
    kazoo_oo なるほど。まぁ書かないなー再帰。

    2021/04/24 リンク

    その他
    beginnerchang
    beginnerchang 末尾呼び出し再帰とかいう百害しかないコードを書くクソプログラマは首を吹っ飛ばすしかねえよ / そんなマニアックな事例のためだけに阿呆みたいな予約語を追加するんじゃない

    2021/04/24 リンク

    その他

    注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています

    アプリのスクリーンショット
    いまの話題をアプリでチェック!
    • バナー広告なし
    • ミュート機能あり
    • ダークモード搭載
    アプリをダウンロード

    関連記事

    末尾呼び出し最適化とJavaScript

    著者情報 : kota-yata.com プレゼン動画 : https://www.youtube.com/watch?v=BcaPCnWZuvY

    ブックマークしたユーザー

    すべてのユーザーの
    詳細を表示します

    いま人気の記事

    いま人気の記事をもっと読む

    いま人気の記事 - テクノロジー

    いま人気の記事 - テクノロジーをもっと読む

    新着記事 - テクノロジー

    新着記事 - テクノロジーをもっと読む

    同時期にブックマークされた記事