We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
assert n == len(a) を利用して map(lambda i: a[i], range(n)) を a に変換するなどしたい いまは restricted Python → core の変換時に無視してしまってる
assert n == len(a)
map(lambda i: a[i], range(n))
a
The text was updated successfully, but these errors were encountered:
Refinement Types っぽさがある
Sorry, something went wrong.
わかる。 しかし refinement types がうれしいのは「複雑な事前条件/事後条件を型として表現できる」というユーザにとっての表現力のためであってコンパイラにとっての実装しやすさではないはずで、利用は見送りになりそうです。以前に教えてもらったときにやりかけたけど、型と項で相互再帰すると実装がとても面倒だったんですよね。
アドホックにやるならとりあえず assert <cond> in <body> みたいな式に変換してあげて,optimizer が式を掘っていくときにそれに出会ったら cond を文脈の assertion 一覧に追加してあげてから body を処理するみたいな実装にすればなんとなく動きそう.
assert <cond> in <body>
cond
body
Successfully merging a pull request may close this issue.
assert n == len(a)
を利用してmap(lambda i: a[i], range(n))
をa
に変換するなどしたいいまは restricted Python → core の変換時に無視してしまってる
The text was updated successfully, but these errors were encountered: