[フレーム]
はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

気に入った記事をブックマーク

  • 気に入った記事を保存できます
    保存した記事の一覧は、はてなブックマークで確認・編集ができます
  • 記事を読んだ感想やメモを書き残せます
  • 非公開でブックマークすることもできます
適切な情報に変更

エントリーの編集

loading...

エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。

タイトルガイドライン

このページのオーナーなので以下のアクションを実行できます

タイトル、本文などの情報を
再取得することができます
コメントを非表示にできます コメント表示の設定

ブックマークしました

ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください

Twitterで共有

ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します

179users がブックマーク コメント 33

ガイドラインをご確認の上、良識あるコメントにご協力ください

0 / 0
入力したタグを追加

現在プライベートモードです 設定を変更する

おすすめタグタグについて

よく使うタグ

末尾呼び出し最適化とJavaScript

ガイドラインをご確認の上、良識あるコメントにご協力ください

0 / 0
入力したタグを追加

現在プライベートモードです 設定を変更する

おすすめタグタグについて

よく使うタグ

はてなブックマーク

はてなブックマークで
関心をシェアしよう

みんなの興味と感想が集まることで
新しい発見や、深堀りがもっと楽しく

ユーザー登録

アカウントをお持ちの方はログインページ

記事へのコメント33

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

その他
kazkaz03
Microsoftさん...

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

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

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

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

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

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

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

その他
rikuba
末尾再帰最適化の経緯

その他
mohritaroh
歴史だ

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

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

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

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

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

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

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

2021年04月24日 リンク

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

その他
kazkaz03
kazkaz03 Microsoftさん...

2021年04月24日 リンク

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

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

2021年04月24日 リンク

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

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

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

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

2021年04月24日 リンク

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

2021年04月24日 リンク

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

2021年04月24日 リンク

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

2021年04月24日 リンク

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

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

2021年04月24日 リンク

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

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

2021年04月24日 リンク

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

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

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

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

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

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

その他

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

リンクを埋め込む

以下のコードをコピーしてサイトに埋め込むことができます

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

関連記事

usersに達しました!

さんが1番目にブックマークした記事「末尾呼び出し最適...」が注目されています。

気持ちをシェアしよう

ツイートする

末尾呼び出し最適化とJavaScript

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

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

  • techtech05212024年04月19日 techtech0521
  • rikuba2021年06月20日 rikuba
  • heatman2021年05月24日 heatman
  • bizen2412021年05月22日 bizen241
  • ksk_uchimura2021年04月29日 ksk_uchimura
  • hamaco2021年04月27日 hamaco
  • empitsu882021年04月27日 empitsu88
  • mohritaroh2021年04月26日 mohritaroh
  • todesking2021年04月26日 todesking
  • mizdra2021年04月26日 mizdra
  • korin2021年04月25日 korin
  • yut1482021年04月25日 yut148
  • yo_waka2021年04月25日 yo_waka
  • k0yoshitsugu2021年04月25日 k0yoshitsugu
  • coppieee2021年04月25日 coppieee
  • moritata2021年04月25日 moritata
  • manhole2021年04月25日 manhole
  • somathor2021年04月25日 somathor
すべてのユーザーの
詳細を表示します

ブックマークしたすべてのユーザー

同じサイトの新着

同じサイトの新着をもっと読む

いま人気の記事

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

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

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

新着記事 - テクノロジー

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

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

いま人気の記事 - 企業メディア

企業メディアをもっと読む

はてなブックマーク

公式Twitter

はてなのサービス

Copyright © 2005-2025 Hatena. All Rights Reserved.
設定を変更しましたx

AltStyle によって変換されたページ (->オリジナル) /