Earlier quoted context omitted.
The old man the boat
The horse raced past the barn fell
Fixing Ctrl+C in Rust terminal apps: Child process management
41–50 of 62 posts
Re: Fixing Ctrl+C in Rust terminal apps: Child process management
#42Earlier quoted context omitted.
The horse raced past the barn fell
I still have never managed to understand that one properly
Re: Fixing Ctrl+C in Rust terminal apps: Child process management
#43This title was close to being a garden path sentence, but ultimately avoided it.
Re: Fixing Ctrl+C in Rust terminal apps: Child process management
#44Re: Fixing Ctrl+C in Rust terminal apps: Child process management
#45Earlier quoted context omitted.
I still have never managed to understand that one properly
I think it shall be interpreted like this: The creature who fell was the horse (that was previously raced past the barn). I.e. it was not the barn that fell.
So in reality this is just an incorrect sentence. It should be written as
"The horse that raced past the barn fell"
Re: Fixing Ctrl+C in Rust terminal apps: Child process management
#46Earlier quoted context omitted.
I think it shall be interpreted like this: The creature who fell was the horse (that was previously raced past the barn). I.e. it was not the barn that fell.
Thankyou that makes sense! So in reality this is just an incorrect sentence. It should be written as "The horse that raced past the barn fell"
Re: Fixing Ctrl+C in Rust terminal apps: Child process management
#47Fearless concurrency with Rust unless you are worried about lifecycle management, threads/co-operation and general ergonomics. Even modern c++ might be better at this (gasp!) with std::jthread
I believe Rust's std::thread::scope is an equivalent. > Unlike non-scoped threads, scoped threads can borrow non-'static data, as the scope guarantees all threads will be joined at the end of the scope. > All threads spawned within the scope that haven’t been manually joined will be automatically joined before this function returns.
The fact Rust actually has scoped threads is unrelated, in Rust they can do this because they have working lifetime checking and in C++ such a feature would be meaningless, you're always assumed to have manually ensured the correct lifetimes and they aren't checked.
Generously you could say they're gesturing at the fact C++ decided to bolt the stop flag mechanic to jthreads, so you can have the old broken threads or this newer non-broken threads which also has built-in stop flags. But that's less choice, it's not as though you can't have a stop flag in Rust.
Re: Fixing Ctrl+C in Rust terminal apps: Child process management
#48Re: Fixing Ctrl+C in Rust terminal apps: Child process management
#49Earlier quoted context omitted.
Thankyou that makes sense! So in reality this is just an incorrect sentence. It should be written as "The horse that raced past the barn fell"
It’s ambigous, but is it incorrect?
Re: Fixing Ctrl+C in Rust terminal apps: Child process management
#50Earlier quoted context omitted.
I think it shall be interpreted like this: The creature who fell was the horse (that was previously raced past the barn). I.e. it was not the barn that fell.
Thankyou that makes sense! So in reality this is just an incorrect sentence. It should be written as "The horse that raced past the barn fell"
But it’s not incorrect to say
The tree grown tall is the one I planted
The horse raced past had somewhere to go
But when you don’t end the subject syntagma in an obvious way, you make it difficult to read.It’s easier to read
The tree grown tall last year withered
because grown has a distinct past particle form. The past particle of raced is raced, which means you need more lookahead to determine its role in the sentence.You can artificially push out the point at which the sentence disambiguates between whether the word is past tense or past particle, and make it seem that it’s probably past tense until it can’t be.
You could say that the sentence is LL(k) for an unintuitively high k.