A340の(電子計算機と言う意味の方の)コンピューターのひとつ(? ふたつ?><)、複数のソースで、CPUが80386で、でもCPUカード(?)のアーキテクチャはVAX由来で(!?><;)、その上で(カスタマイズ版?)VMSが動いているって書いてある気がする、そんなバナナみたいな情報が・・・><
(ていうか386で動くVMSなんてあるの?><; 開発用のエミュレータを動かしたのがVAX/VMSって事?><;)
http://www.adahome.com/Ammo/Success/aerofws.html
https://sites.google.com/site/af447a330/resources/dfbw-specifics
やっぱ非破壊っぽいし納得いかない・・・><
C# で55行のコード書いたよ!ブラウザ上で実行できるよ! https://paiza.io/projects/bRZQbwWGCDjfkuWuKVheUw
https://referencesource.microsoft.com/#System.Core/Microsoft/Scripting/Utils/CollectionExtensions.cs
https://mstdn.nere9.help/@orange_in_space/101266366644177728
これ、
impl Hoge {
fn hoge1(self) -> Self;
fn hoge2(&self) -> &Self;
fn hoge3(&mut self) -> &mut Self;
fn hoge4(&mut self) -> Self;
// などなど
}
のどれのつもりで言ってるのかわからないんですが (これらが区別できない言語はまず弱い)
うん><; オレンジもAda大好き(ほとんど使った事無いけど)ってくらいだしそう考えるし、その前の話的にはboolならって書いたじゃん?><;( https://mstdn.nere9.help/@orange_in_space/101266265618556686 )
その上で、金具さんの案はどうなのって・・・><
https://mstdn.nere9.help/@orange_in_space/101266292721323876
これは型で表明されれば何の混乱も起きない話で、たとえば
fn TryIncrement(&mut self) -> Result<&mut Self, IncrementError>
なのか
fn TryIncrement(&self) -> Result<Self, IncrementError>
なのか、型を見れば mutability なんて自明なので
で、intにint int.TryIncrement()みたいなのがあったらとんでもなく混乱するかも><
int x=3;
int y=x.TryIncrement();
ってしたあとにxはどうなってるのかわけわからんってなるかも><(xが文字通りインクリメントされて破壊されて4になった?>< それともyに4が入るだけでxは3?>< ていうかそもそもTryIncrement()が返すのは結果なのか、それとも何らかの勝手な定義による成否の表現?><(例えば0なら成功とか))