Öğrenme deneyimi olarak basit ve statik olarak yazılmış işlevsel bir programlama dili tasarlıyorum.
Şimdiye kadar uyguladığım tip sisteminin, (biraz fazladan bir çalışma ile) kesişme ve sendika tipleri içerebileceği anlaşılıyor, örneğin:
<Union String Integer>
<Union Integer Foo>
- Yukarıdaki iki türün kesişimi düz olacaktır
Integer
- İki tür birliği olurdu
<Union String Integer Foo>
Bunun mümkün olması elbette gerekli değil, iyi bir tasarım fikri olduğu anlamına gelmez. Özellikle, türleri birbirinden ayırma ve / veya çakışmalarla ilgilenme konusundaki uygulama zorlukları konusunda biraz endişeliyim.
Bu özelliklerin tip sistemine dahil edilmesinin artıları / eksileri nelerdir?