Skip to content
  • Home Home Home, current page.
  • Moments Moments Moments, current page.

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
pcwalton's profile
Patrick Walton
Patrick Walton
Patrick Walton
@pcwalton

Tweets

Patrick Walton

@pcwalton

Research engineer at Mozilla

San Francisco, CA
pcwalton.github.io
Joined November 2009

Tweets

  • © 2018 Twitter
  • About
  • Help Center
  • Terms
  • Privacy policy
  • 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.

    Patrick Walton‏ @pcwalton Oct 22

    Unpopular opinion: The Rust community uses macros too much. I basically have a “no macro definitions” policy in all crates I maintain.

    5:52 PM - 22 Oct 2018
    • 11 Retweets
    • 101 Likes
    • Functional Works Who ordered *that*? Nathan Lincoln Alex Nedelcu Łukasz Langa Ty Overby Komu Wairagu Declan Hopkins Rok Garbas
    14 replies 11 retweets 101 likes
      1. New conversation
      2. Ted Mielczarek‏ @TedMielczarek Oct 22
        Replying to @pcwalton

        Overused as external API or just in general? I've found them pretty useful for bits of my crates, but I don't think I've exposed any in a public API.

        1 reply 0 retweets 1 like
      3. Patrick Walton‏ @pcwalton Oct 22
        Replying to @TedMielczarek

        I don’t even use them internally. I find them too obfuscating :)

        1 reply 0 retweets 5 likes
      4. Robert Muller‏ @dogfishbar Oct 22
        Replying to @pcwalton @TedMielczarek

        Definitely. Admit it or not, everyone just expands them in their heads to understand the meaning.

        0 replies 0 retweets 2 likes
      5. End of conversation
      1. New conversation
      2. skelejon  💀‏ @whyevernotso Oct 22
        Replying to @pcwalton

        Unpopular mitigation: everywhere someone would use a macro to abstract over syntax, it should be obviated by introducing or generalising language features to let them abstract over semantics instead (e.g. higher-kinded types, higher-rank polymorphism, first-class patterns…)

        1 reply 0 retweets 6 likes
      3. Brendan Zabarauskas‏ @brendanzab Oct 22
        Replying to @whyevernotso @pcwalton

        That’s how I ended up at dependent types! Still need to patch up some stuff with elaborator reflection though :/

        1 reply 0 retweets 2 likes
      4. Brendan Zabarauskas‏ @brendanzab Oct 22
        Replying to @brendanzab @whyevernotso @pcwalton

        We are still a ways off being able to truly do type theory in type theory, so you still need some level of support for automation - be it macro expasion or at elaboration time...

        0 replies 0 retweets 3 likes
      5. End of conversation
      1. New conversation
      2. Jimmy Zelinskie‏ @jimmyzelinskie Oct 22
        Replying to @pcwalton

        If everyone is using macros, it might be evidence that the type system is not sophisticated enough. It could also be that not everybody understands what idiomatic Rust should be, so they exploit macros to try to make the language closer to what's in their head.

        1 reply 1 retweet 10 likes
      3. 1 more reply
      1. ʟʟoɢiq‏ @llogiq Oct 23
        Replying to @pcwalton @ozkriff

        Popular opinion: Sometimes the type system keeps us from reusing the same code (because we cannot get the types to match). This leaves us with macros, code generation or copy & paste. The latter carries its risk, so the former are sometimes valuable.

        0 replies 0 retweets 9 likes
        Thanks. Twitter will use this to make your timeline better. Undo
        Undo
      1. Tony Arcieri‏ @bascule Oct 22
        Replying to @pcwalton

        Every time I use a macro I feel bad and want to find a way to replace it with anything but a macro. The only exception is if it’s a macro that thunks arguments to a std macro

        0 replies 0 retweets 4 likes
        Thanks. Twitter will use this to make your timeline better. Undo
        Undo
      1. Lars Hupel‏ @larsr_h Oct 24
        Replying to @pcwalton @clementd

        Same problem in Scala.

        0 replies 0 retweets 1 like
        Thanks. Twitter will use this to make your timeline better. Undo
        Undo
      1. Andrew Chambers‏ @AndrewChamb Oct 22
        Replying to @pcwalton

        So far the only time I used one was to make my own '?' style operator that exits a command line program properly.

        0 replies 0 retweets 1 like
        Thanks. Twitter will use this to make your timeline better. Undo
        Undo
      1. ໓ฯlคຖ ໓p¢‏ @DPC_22 Oct 22
        Replying to @pcwalton

        Yeah I mostly stay away as well unless a macro actually has a substantial gain

        0 replies 0 retweets 1 like
        Thanks. Twitter will use this to make your timeline better. Undo
        Undo
      1. Yuriy Jl‏ @blandger Oct 24
        Replying to @pcwalton

        Is that probably because lang doesn't have HKT inside? So we have another approach, macros way...

        0 replies 0 retweets 0 likes
        Thanks. Twitter will use this to make your timeline better. Undo
        Undo
      1. Maciek Gorywoda  🌍‏ @makingthematrix Oct 23
        Replying to @pcwalton @clementd

        "Too much" suggests that there's something wrong about using macros. But in Rust they're easy to write and use. I don't see many disadvantages.

        0 replies 0 retweets 0 likes
        Thanks. Twitter will use this to make your timeline better. Undo
        Undo
      1. Serious Sirius Black  ⚡️‏ @NikolaiVazquez Oct 23
        Replying to @pcwalton

        I was gonna ask you to help maintain this crate but I guess you can't :P https://docs.rs/static_assertions/ …

        0 replies 0 retweets 0 likes
        Thanks. Twitter will use this to make your timeline better. Undo
        Undo
      1. Carter T Schonwald‏ @cartazio Oct 23
        Replying to @pcwalton

        Does it make your builds faster and debugging saner?

        0 replies 0 retweets 0 likes
        Thanks. Twitter will use this to make your timeline better. Undo
        Undo
      1. Benjamin Fry  🐞 🔫 🦀= ⚙️‏ @benj_fry Oct 23
        Replying to @pcwalton

        There are some really useful things they do though, then there are some mind blowing ones, like html! In yew.

        0 replies 0 retweets 0 likes
        Thanks. Twitter will use this to make your timeline better. Undo
        Undo
      1. Vladimir Votiakov‏ @vvot Oct 23
        Replying to @pcwalton

        Sadly, macros are promoted by: every single use of print, every single vector allocation, lack of functions overloads, lack of functions with variable number of arguments...

        0 replies 0 retweets 0 likes
        Thanks. Twitter will use this to make your timeline better. Undo
        Undo

    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

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