Skip to content
By using Twitter’s services you agree to our Cookies Use. We and our partners operate globally and use cookies, including for analytics, personalisation, and ads.
  • Home Home Home, current page.
  • About

Saved searches

  • Remove
  • In this conversation
    Verified accountProtected Tweets @
Suggested users
  • Verified accountProtected Tweets @
  • Verified accountProtected Tweets @
  • Language: English
    • Bahasa Indonesia
    • Bahasa Melayu
    • Català
    • Čeština
    • Dansk
    • Deutsch
    • English UK
    • Español
    • Filipino
    • Français
    • Hrvatski
    • Italiano
    • Magyar
    • Nederlands
    • Norsk
    • Polski
    • Português
    • Română
    • Slovenčina
    • Suomi
    • Svenska
    • Tiếng Việt
    • Türkçe
    • Ελληνικά
    • Български език
    • Русский
    • Српски
    • Українська мова
    • עִבְרִית
    • العربية
    • فارسی
    • मराठी
    • हिन्दी
    • বাংলা
    • ગુજરાતી
    • தமிழ்
    • ಕನ್ನಡ
    • ภาษาไทย
    • 한국어
    • 日本語
    • 简体中文
    • 繁體中文
  • Have an account? Log in
    Have an account?
    · Forgot password?

    New to Twitter?
    Sign up
Jonathan_Blow's profile
Jonathan Blow
Jonathan Blow
Jonathan Blow
@Jonathan_Blow

Tweets

Jonathan Blow

@Jonathan_Blow

Game designer of Braid and The Witness. Partner in IndieFund.

San Francisco
the-witness.net/news
Joined January 2010

Tweets

  • © 2019 Twitter
  • About
  • Help Center
  • Terms
  • Privacy policy
  • Imprint
  • Cookies
  • Ads info
Dismiss
Previous
Next

Go to a person's profile

Saved searches

  • Remove
  • In this conversation
    Verified accountProtected Tweets @
Suggested users
  • Verified accountProtected Tweets @
  • Verified accountProtected Tweets @

Promote this Tweet

Block

  • Tweet with a location

    You can add location information to your Tweets, such as your city or precise location, from the web and via third-party applications. You always have the option to delete your Tweet location history. Learn more

    Your lists

    Create a new list


    Under 100 characters, optional

    Privacy

    Copy link to Tweet

    Embed this Tweet

    Embed this Video

    Add this Tweet to your website by copying the code below. Learn more

    Add this video to your website by copying the code below. Learn more

    Hmm, there was a problem reaching the server.

    By embedding Twitter content in your website or app, you are agreeing to the Twitter Developer Agreement and Developer Policy.

    Preview

    Why you're seeing this ad

    Log in to Twitter

    · Forgot password?
    Don't have an account? Sign up »

    Sign up for Twitter

    Not on Twitter? Sign up, tune into the things you care about, and get updates as they happen.

    Sign up
    Have an account? Log in »

    Two-way (sending and receiving) short codes:

    Country Code For customers of
    United States 40404 (any)
    Canada 21212 (any)
    United Kingdom 86444 Vodafone, Orange, 3, O2
    Brazil 40404 Nextel, TIM
    Haiti 40404 Digicel, Voila
    Ireland 51210 Vodafone, O2
    India 53000 Bharti Airtel, Videocon, Reliance
    Indonesia 89887 AXIS, 3, Telkomsel, Indosat, XL Axiata
    Italy 4880804 Wind
    3424486444 Vodafone
    » See SMS short codes for other countries

    Confirmation

     

    Welcome home!

    This timeline is where you’ll spend most of your time, getting instant updates about what matters to you.

    Tweets not working for you?

    Hover over the profile pic and click the Following button to unfollow any account.

    Say a lot with a little

    When you see a Tweet you love, tap the heart — it lets the person who wrote it know you shared the love.

    Spread the word

    The fastest way to share someone else’s Tweet with your followers is with a Retweet. Tap the icon to send it instantly.

    Join the conversation

    Add your thoughts about any Tweet with a Reply. Find a topic you’re passionate about, and jump right in.

    Learn the latest

    Get instant insight into what people are talking about now.

    Get more of what you love

    Follow more accounts to get instant updates about topics you care about.

    Find what's happening

    See the latest conversations about any topic instantly.

    Never miss a Moment

    Catch up instantly on the best stories happening as they unfold.

    1. Steve Canon‏ @stephentyrone Aug 6
      • Report Tweet

      Preaching the "bool cannot be an unsigned integer" gospel to our intern.

      8 replies 0 retweets 20 likes
      Show this thread
    2. James Widman‏ @JamesWidman Aug 8
      • Report Tweet
      Replying to @stephentyrone

      wait what

      1 reply 0 retweets 0 likes
    3. Steve Canon‏ @stephentyrone Aug 8
      • Report Tweet
      Replying to @JamesWidman

      It is a common design error of C-family languages to treat bool as an unsigned 1-bit integer. There are two acceptable options: - bool is not an integer at all - bool is a 1-bit signed integer (and hence has values 0 and -1).

      1 reply 0 retweets 0 likes
    4. James Widman‏ @JamesWidman Aug 8
      • Report Tweet
      Replying to @stephentyrone

      is this because you can then take advantage of all register bits being set to 1 (e.g. in simd code)?

      2 replies 0 retweets 0 likes
    5. Steve Canon‏ @stephentyrone Aug 8
      • Report Tweet
      Replying to @JamesWidman

      Not only for simd, it's much, much more consistent behavior throughout. E.g. if `true` is signed, then `~true` is `false` in promoted integer arithmetic. With unsigned `~true` and `false` are different values.

      1 reply 0 retweets 1 like
    6. James Widman‏ @JamesWidman Aug 8
      • Report Tweet
      Replying to @stephentyrone

      cc @AbnerCoimbre because i don't know how Jai treats this

      1 reply 0 retweets 0 likes
    7. James Widman‏ @JamesWidman Aug 8
      • Report Tweet
      Replying to @JamesWidman @stephentyrone @AbnerCoimbre

      hm... so if bool was specified at the language level to be a signed int (and two's complement), then for any boolean b: ~b == !b ... which means you can get rid of either ~ or ! (and potentially use that one-token character for something else)

      2 replies 0 retweets 1 like
    8. James Widman‏ @JamesWidman Aug 8
      • Report Tweet
      Replying to @JamesWidman @stephentyrone @AbnerCoimbre

      *er, "one-character token"

      1 reply 0 retweets 0 likes
    9. James Widman‏ @JamesWidman Aug 8
      • Report Tweet
      Replying to @JamesWidman @stephentyrone @AbnerCoimbre

      cc @Jonathan_Blow because now i'm even more curious about how Jai treats this

      1 reply 0 retweets 0 likes
    10. Jonathan Blow‏ @Jonathan_Blow Aug 8
      • Report Tweet
      Replying to @JamesWidman @stephentyrone @AbnerCoimbre

      Bool is a separate type from integer with no implicit conversion. If you explicitly cast, true == 1. Whereas I can see some arguments for the all-1s case, I also can think of arguments for why 'true' should be 0, so, uhh, yeah.

      1 reply 0 retweets 1 like
      Jonathan Blow‏ @Jonathan_Blow Aug 8
      • Report Tweet
      Replying to @Jonathan_Blow @JamesWidman and

      You can't get rid of ! because !3 == false, but ~3 == ~3.

      11:29 AM - 8 Aug 2019
      1 reply 0 retweets 0 likes
        1. New conversation
        2. James Widman‏ @JamesWidman Aug 8
          • Report Tweet
          Replying to @Jonathan_Blow @stephentyrone @AbnerCoimbre

          i didn't think of implicit conversions from Int to Bool in an operand to the ! operator... do you actually depend on that a lot in current Jai projects? (btw it's kind of awesome that you can write a quick metaprogram to just count/report all the places where that occurs)

          1 reply 0 retweets 0 likes
        3. James Widman‏ @JamesWidman Aug 8
          • Report Tweet
          Replying to @JamesWidman @Jonathan_Blow and

          (guessing that when you wrote "no implicit conversion", you meant from Bool to Int; presumably Int to Bool is allowed if you can write !3)

          1 reply 0 retweets 0 likes
        4. Jonathan Blow‏ @Jonathan_Blow Aug 8
          • Report Tweet
          Replying to @JamesWidman @stephentyrone @AbnerCoimbre

          No, it is just that ! is allowed to operate on integer types.

          0 replies 0 retweets 1 like
        5. End of conversation

      Loading seems to be taking a while.

      Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.

        Promoted Tweet

        false

        • © 2019 Twitter
        • About
        • Help Center
        • Terms
        • Privacy policy
        • Imprint
        • Cookies
        • Ads info