Student univerzity v Indianě Eric Holk vytvořil programovací jazyk pro tvorbu aplikací určených pro grafické čipy počítačů. Programy mohou využít paralelní zpracování dat v mnoha výpočetních vláknech. Harlan pro kompilování kódů vyžaduje implementované standardy OpenCL a Scheme.
Grafické procesory obvykle disponují mnoha relativně pomalými výpočetními jádry s omezenými schopnostmi, jež zpracovávají kód v simultánních vláknech. Oproti tradičním počítačovým procesorům s několika rychlými jádry a bohatou instrukční sadou tedy nabízejí vlastnost zvanou paralelismus. Grafické procesory využívají i mnohé současné superpočítače. Ve své podstatě ovšem slouží jako >>hloupé<< koprocesory, kterým >>práci<< přidělují čipy s vyšší inteligencí.
Programování pro grafické procesory obnáší mnoho práce (cyklů) na nejnižší úrovni. Nový programovací jazyk Harlan umožňuje tvůrcům aplikací, aby se soustředili na hlavní funkce programu, protože nejnižší úrovně kódu již má ošetřeny.
Existuje několik programovacích jazyků pro GPU. Mezi nejznámější patří již zmíněný OpenCL nebo Nvidia CUDA. Harlan lze kompilovat do standardu OpenCL. Současně však nabízí schopnosti vyšších programovacích jazyků typu Python nebo Ruby. Syntaxe vychází ze standardu Scheme, jenž je zase založen na jazyku Lisp.
Jazyk Harlan je poskytován na bázi open source.