{"id":7425,"date":"2013-05-14T13:05:32","date_gmt":"2013-05-14T18:05:32","guid":{"rendered":"http:\/\/mjtsai.com\/blog\/?p=7425"},"modified":"2013-05-15T15:02:47","modified_gmt":"2013-05-15T20:02:47","slug":"the-terra-programming-language","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2013\/05\/14\/the-terra-programming-language\/","title":{"rendered":"The Terra Programming Language"},"content":{"rendered":"<p><a href=\"http:\/\/terralang.org\">Terra<\/a> (via <a href=\"https:\/\/news.ycombinator.com\/item?id=5702793\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"http:\/\/terralang.org\"><p>Like C, Terra is a simple, statically-typed, compiled language with manual memory management. But unlike C, it is designed from the beginning to interoperate with Lua. Terra functions are first-class Lua values created using the <code>terra<\/code> keyword. When needed they are JIT-compiled to machine code.<\/p><\/blockquote>\n<p><a href=\"https:\/\/news.ycombinator.com\/item?id=5703155\">Zachary DeVito<\/a>:<\/p><blockquote cite=\"https:\/\/news.ycombinator.com\/item?id=5703155\"><p>You&rsquo;re right that we designed Terra primarily to be an enviornment for generate low-level code. In particular, we want to be able to easily design and prototype DSLs and auto-tuners for high-performance programming applications. We explain this use-case in more detail in our upcoming <a href=\"http:\/\/terralang.org\/pldi071-devito.pdf\">PLDI paper<\/a>.<\/p><\/blockquote>\n<p>Update (2013-05-15): The <a href=\"http:\/\/lambda-the-ultimate.org\/node\/4739\">Lambda thread<\/a>:<\/p>","protected":false},"excerpt":{"rendered":"<p>Terra (via Hacker News): Like C, Terra is a simple, statically-typed, compiled language with manual memory management. But unlike C, it is designed from the beginning to interoperate with Lua. Terra functions are first-class Lua values created using the terra keyword. When needed they are JIT-compiled to machine code. Zachary DeVito:You&rsquo;re right that we designed [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[4],"tags":[46,387,71,455],"class_list":["post-7425","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-languagedesign","tag-lua","tag-programming","tag-terra"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/7425","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=7425"}],"version-history":[{"count":2,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/7425\/revisions"}],"predecessor-version":[{"id":7436,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/7425\/revisions\/7436"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=7425"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=7425"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=7425"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}