26 points

Finally, pure functional rust.

permalink
report
reply
24 points

Neat FP style. Pretty verbose though. Someone should invent a terser syntax so you don’t need to write do_two_things everywhere. It’s a common operation so maybe it could even be a single character.

permalink
report
reply
7 points

If you know about rust you know it’s a programmable programming language, meaning that you can make macros. There could be a macro that would do that but 1. Macros is rust code to write rust code so they have the complexity of rust squared 2. I said to myself the only macros I will allow myself to use in this challenge is println and allow

permalink
report
parent
reply
7 points

Like a semicolon? No, too boring. What about >>=

permalink
report
parent
reply
5 points

; is just a monad after all

permalink
report
parent
reply
15 points

Isn’t this basically how lisp works?

permalink
report
reply
1 point

Yup! Also languages in the ML family and others I’m sure.

permalink
report
parent
reply
12 points

Now do it without using commas

permalink
report
reply
7 points

Challenge accepted! If I won’t procrastinate from this procrastinating, tomorrow will be a version 2 without commas!

permalink
report
parent
reply
3 points
1 point

permalink
report
parent
reply
12 points

Yeah, semicolons are ugly anyway and they’d ruin the beautiful expression of your code.

permalink
report
reply
7 points

On a more serious note, does rust suffer some of the same issues as JavaScript when it comes to omitting semicolons?

permalink
report
parent
reply
10 points

No…?

permalink
report
parent
reply
7 points

Do not expect to find anything like Javascript craziness on other languages. Or you’ll be severely disappointed.

permalink
report
parent
reply
4 points
for (const item in items) { }

!=

for (const item of items) { }
permalink
report
parent
reply
4 points

There are plenty of languages with warts at least as bad as JavaScript’s. Bash, PHP, C, even relatively sane languages like Python still have huge issues like implicit variable declaration.

permalink
report
parent
reply
4 points

Nope. In Rust, a semicolon denotes a statement while a lack of semicolon is an expression so you can’t just omit them at will. This does lead to cool things though like if/else blocks being able to produce values if they end in an expression. But the expression type is checked so you’re less likely to make a mistake. You can see an example here: https://doc.rust-lang.org/rust-by-example/flow_control/if_else.html

In JavaScript I never skip semicolons because I’ve seen those subtle bugs.

permalink
report
parent
reply
3 points

POV: your project manager went in an “cleaned” it all up by removing them - your (sic) welcome! 😜

permalink
report
parent
reply

Programmer Humor

!programmer_humor@programming.dev

Create post

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

  • Keep content in english
  • No advertisements
  • Posts must be related to programming or programmer topics

Community stats

  • 7.1K

    Monthly active users

  • 955

    Posts

  • 37K

    Comments