{"id":28542,"date":"2020-04-02T16:56:26","date_gmt":"2020-04-02T20:56:26","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=28542"},"modified":"2020-04-02T16:56:26","modified_gmt":"2020-04-02T20:56:26","slug":"swift-on-mac-os-9","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2020\/04\/02\/swift-on-mac-os-9\/","title":{"rendered":"Swift on Mac OS 9"},"content":{"rendered":"<p><a href=\"https:\/\/belkadan.com\/blog\/2020\/04\/Swift-on-Mac-OS-9\/\">Jordan Rose<\/a> (<a href=\"https:\/\/twitter.com\/UINT_MIN\/status\/1245472285672083456\">tweet<\/a>, <a href=\"https:\/\/news.ycombinator.com\/item?id=22754667\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"https:\/\/belkadan.com\/blog\/2020\/04\/Swift-on-Mac-OS-9\/\"><p>It&rsquo;s April 1, and that means it&rsquo;s both <a href=\"https:\/\/en.wikipedia.org\/wiki\/April_Fools'_Day\">April Fools&rsquo; Day<\/a> and <a href=\"https:\/\/en.wikipedia.org\/wiki\/History_of_Apple_Inc.\">the anniversary of the founding of Apple Inc.<\/a> While this year is a sober one due to <a href=\"https:\/\/staythefuckhome.com\">current events<\/a>, I think a lot of people still appreciate what people are creating and sharing to keep spirits up, whether that be music or art or&#8230;impractical programming projects. And while <em>pranks<\/em> on April Fools&rsquo; seem less and less fun, obvious jokes and whimsy, not at anyone&rsquo;s expense, are still something I believe in&#8230;and even better if they actually work.<\/p><p>Last year I implemented <a href=\"https:\/\/forums.swift.org\/t\/new-code-visualizer-for-swift-source-is-view\/22454\">the world&rsquo;s best code visualizer<\/a>. This year I decided to seriously attempt something that I&rsquo;d thought about in the past: getting a <a href=\"https:\/\/swift.org\">Swift<\/a> program to run on Mac OS 9.<\/p><p>[&#8230;]<\/p><p>Fortunately for me, I&rsquo;m not the only one interested in building Classic apps on modern macOS. At some point I found about the <a href=\"https:\/\/github.com\/ksherlock\/mpw\"><code>mpw<\/code><\/a> project: an emulator specifically for running Apple&rsquo;s <a href=\"https:\/\/en.wikipedia.org\/wiki\/Macintosh_Programmer%27s_Workshop\">Macintosh Programmer&rsquo;s Workshop<\/a> tools.<\/p>\n<p>[&#8230;]<\/p>\n<p>Was it possible that AIX and Classic Mac OS used the same calling conventions for their procedures, and they could just interoperate without any extra work?<\/p><\/blockquote>","protected":false},"excerpt":{"rendered":"<p>Jordan Rose (tweet, Hacker News): It&rsquo;s April 1, and that means it&rsquo;s both April Fools&rsquo; Day and the anniversary of the founding of Apple Inc. While this year is a sober one due to current events, I think a lot of people still appreciate what people are creating and sharing to keep spirits up, whether [&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":"2020-04-02T20:56:29Z","apple_news_api_id":"8cc64535-308d-4036-bff6-1350eef59cc5","apple_news_api_modified_at":"2020-04-02T20:56:29Z","apple_news_api_revision":"AAAAAAAAAAD\/\/\/\/\/\/\/\/\/\/w==","apple_news_api_share_url":"https:\/\/apple.news\/AjMZFNTCNQDa_9hNQ7vWcxQ","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":[255,733,924,1059,402,71,901],"class_list":["post-28542","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-compiler","tag-emulator","tag-mac-os-9","tag-macintosh-programmers-workshop-mpw","tag-powerpc","tag-programming","tag-swift-programming-language"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/28542","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=28542"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/28542\/revisions"}],"predecessor-version":[{"id":28543,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/28542\/revisions\/28543"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=28542"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=28542"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=28542"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}