build tool with functional language