لغة برمجة كايين (Cayenne) هي إحدى اللغات البرمجية التي تعتمد على نوعيات البيانات المعتمدة، وهي لغة وظيفية تم إنشاؤها من قبل لينارت أوغوستسون (Lennart Augustsson) في عام 1998، مما يجعلها واحدة من أقدم لغات البرمجة التي تعتمد على الأنواع المعتمدة بدلاً من المعاون الأثباتي أو الإطار اللوجي. قرار التصميم البارز في هذه اللغة هو أنها تسمح بالدوال العادمة المتكررة غير المحدودة في مستوى النوع، مما يجعل فحص الأنواع غير قابل للتحديد. معظم مساعدات الأثبات التي تعتمد على الأنواع ولغات البرمجة التي جاءت بعد ذلك مثل Agda قامت بتضمين فاحص توقف لمنع فحص الأنواع من الدوران، بينما قام Dependent ML بتقييد قوة لغة مستوى النوع للحفاظ على قابلية التحديد. تتكون اللغة من قطع أساسية قليلة، لكن هناك الكثير من السكر النحاسي الصناعي لجعلها أكثر قراءةً. الأنواع الأساسية هي الدوال والمنتجات والمجموعات، حيث تستخدم الدوال والمنتجات أنواعًا تابعة لكسب قوة إضافية. يتم استعارة الصيغ بشكل كبير من Haskell. لا يوجد نظام خاص للوحدات، لأن مع أنواع البيانات المعتمدة تعتبر السجلات (المنتجات) قوية بما يكفي لتحديد الوحدات. تم كتابة تنفيذ Cayenne بلغة Haskell، وكان يترجم أيضًا إلى Haskell، ولكنه حاليًا لم يعد يتم صيانته.
0