lazy functional language
