Arrays)があるようですが、SoAの方が効率が良いらしいです。Lispでいうと、インスタンスの配列を作成するか、インスタンスのスロットを配列にするかになりますが、MOP細工でインスタンスのスロットは配列にはせずに通常のままでSoAな構成にしてみよう、というのが今回の趣旨です。クラスメタオブジェクトにインスタンスのスロットを配列として保持し、allocate-instanceでスロットの配列に配置。インデックスはインスタンスのデータ部が空き地なのでここに格納といった風に構成してみました。LispWorks依存ですが、standard-objectの構造はメジャーどころは大体一緒なので移植は簡単だと思います。堅牢性に難ありですが、概念実証くらいにはなるかなというところです。LispはC風に効率よく構造体を配列に詰められないのか、等々の質問はたまにみかけるのですが、今回のように高次のデータ構造的に記述して低次のデータ構造にマッピングする方法もなくはないかなとは思います。直截的な回答としてはFFIでメモリの塊をいじる方法などになりそうですが。