Kip

A programming language in Turkish where grammatical case and mood are part of the type system.

Kip is an experimental language that integrates Turkish morphology into typing, exploring the overlap between linguistics and type theory.

In Kip, pure function signatures are noun phrases; effectful ones are infinitives invoked in the imperative. Every argument bears a grammatical case—nominative, accusative, dative, and so on—and case is part of the function’s type. When cases are distinct, arguments can be supplied in any order.

Kip also resolves natural-language ambiguity with type-directed disambiguation: it preserves multiple parses through parsing and lets elaboration and type checking select the intended one.

Example
defining and using a linked list type
Bir (öğe listesi)
  ya boş
  ya da bir öğenin bir öğe listesine eki
olabilir.

(bu öğe listesiyle) (şu öğe listesinin) birleşimi,
  bu boşsa,
    şu,
  ilkin devama ekiyse,
    ilkin (devamla şunun birleşimine) ekidir.

(bu öğe listesinin) tersi,
  bu boşsa,
    boş,
  ilkin devama ekiyse,
    (devamın tersiyle) 
      (ilkin boşa ekinin) birleşimidir.

(1'in (2'nin boşa ekine) ekinin) tersini yaz.
            

Playground

Write Kip code, pick an example, and run it.