← Home ← Back to /g/

Thread 106575541

138 posts 48 images /g/
Anonymous No.106575541 >>106575566 >>106575595 >>106575709 >>106575855 >>106575906 >>106575913 >>106576057 >>106576175 >>106576306 >>106576697 >>106577659 >>106579294 >>106579315 >>106579809 >>106579940 >>106581493
>be a rust programmer
>write a disk usage calculator
>use recursion to scan the filesystem
>get stack overflow bug reports from linuxchads with 10,000 nested directories
>hmm, maybe I shouldn't use recursion
>no because of muh maintainability and le wheel reinventing
>allocate a gigabyte of stack per thread instead
>pic rel is inevitable result
>c doesn't have this problem
Why are rusty nails like this?
Anonymous No.106575566
>>106575541 (OP)
>get stack overflow bug reports from linuxchads with 10,000 nested directories

seek help.
Anonymous No.106575589 >>106575605 >>106575611 >>106575889 >>106576549 >>106579854
yeah it's pretty gay that Rust does not have TCO
TCO mogs the fuck out of whatever looping mechanism you have (aside from lazy sequences/iterators for when applicable)
Anonymous No.106575595 >>106575611
>>106575541 (OP)
>>hmm, maybe I shouldn't use recursion
just use tail calls bro lmao
Anonymous No.106575605 >>106575611
>>106575589
TCO is almost certainly not applicable to filesystem scanning tho, so my point is kind of moot
whatever, still gay
Anonymous No.106575611 >>106575778 >>106576542
>>106575589
>>106575595
>>106575605
TCO only works when each recursive function makes one recursive call, and traversing a filesystem needs one per directory. You need to store the stack of parent directories somewhere, and using the call stack causes stack overflow crashes.
Anonymous No.106575657
why torture yourself?
https://code.blicky.net/yorhel/ncdu/
sage No.106575709 >>106575749 >>106576342
>>106575541 (OP)
>implying 99.999% of tools don't limit themselves to PATH_MAX/NAME_MAX
>fixed issue
potential janny bot repost detected
Anonymous No.106575749 >>106575757 >>106575801
>>106575709
https://github.com/bootandy/dust/issues/197#issuecomment-1209483710
Anonymous No.106575757 >>106575791
>>106575749
share a current reproducer nigger
Anonymous No.106575778
>>106575611
the presumably fixed issue appears to have been about task stacks from a thread pool executor used for performance reasons anyway.
but hey, let's not get into the way of kids trying to find something to shove their newly acquired knowledge about TCO into.
Anonymous No.106575791 >>106575906 >>106579941
>>106575757
He "fixed" it by allocating a gigabyte of stack per thread.
Anonymous No.106575801
>>106575749
lmao he reopened same issue 3 times
truly a rust moment
sage No.106575815
just use ncdu, rust is not a low level language
/thread
Anonymous No.106575855 >>106575907 >>106580193
>>106575541 (OP)
Wish linux filesystems had an equivalent to NTFS's master file table. It's like the one NTFS feature I envy.
Anonymous No.106575889 >>106575907 >>106575926 >>106578392
>>106575589
>Automatic memory management
You are using a slop language and should face the gallows for using one. At least Rust fags know garbage collection is a failed experiment.
Anonymous No.106575906 >>106576127
>>106575541 (OP)
>>106575791
he allocates a maximum GiB stack per thread if-and-only-if available memory is > GiB*thread_count AND the user is not setting a custom stack size.


You thought your diversion worked, didn't ya?
>allocate a gigabyte of stack per thread instead
>pic rel is inevitable result
your diversion is not going to work nigger.
prove that you're not a re-posting bot and share a reproducer of OP's picrel which as stated happened after the stack size changes.
Anonymous No.106575907 >>106575948 >>106575981
>>106575855
ntfs is the worst fs ever created so big chance mft is just a hacky workaround
>>106575889
gc saved more systems from segfaults than rust ever could
Anonymous No.106575913
>>106575541 (OP)
>walking the file tree instead of reading the fs index
nnnnnnnnnot nice.
Anonymous No.106575926 >>106575981
>>106575889
I write more code than you
Anonymous No.106575948 >>106576183
>>106575907
All I know is that wiztree on windows can analyse disk space way WAY faster than any option on linux and from what I understand it's because of mft, which is why I want it.
Anonymous No.106575981 >>106576019
>>106575926
>>106575907
Cope and sneed. Use a real language, like Rust.
Anonymous No.106576019 >>106580651
>>106575981
I've written more Rust than you
Anonymous No.106576057 >>106576071 >>106576373
>>106575541 (OP)
rust doesn't have tail call optimisation???
Anonymous No.106576071 >>106576077
>>106576057
it's not guaranteed, but it does sometimes happen
Anonymous No.106576077 >>106576098
>>106576071
And when might those times be? No one knows, because nothing is specified. Trust the science.
Anonymous No.106576098
>>106576077
Anonymous No.106576127 >>106576166 >>106576215
>>106575906
>he allocates a maximum GiB stack per thread if-and-only-if available memory is > GiB*thread_count AND the user is not setting a custom stack size.
The version in the OP was from before he added that check, but now that it's not allocating gigabyte stacks, it's overflowing them again lol. This is why recursion is a bad idea and shouldn't be taught in schools.
Pic rel is a brand new master build.
>share reproducer
I'm not posting my entire ssd.
Anonymous No.106576166 >>106576197
>>106576127
you understand that recursion is perfectly fine when you have an actual runtime and are not entirely reliant on OS threads, right?
Anonymous No.106576175 >>106576241
>>106575541 (OP)
because ideological purity is more important than getting shit done for these "people".
I'm a swe and I recruit people for C and C++ positions, rust is now a red flag as we already got burned by these fucking posers.
twice IN A ROW in 2025 we had dudes who made fucking powerpoints to explain why we should rewrite our cumulated 23 millions LOC in rust, they didn't know each other and they both lasted 2 months, costing us over 100k€ in recruiting fees/waste of time.
one guy went as far as emailing the ceo who live in another fucking country and does not speak our language...
this is insane, I've never seen this level of proselytism before and I've worked with C# and haskell mega shills who usually don't miss any occasion to shill their stuffs.
we've had a whoppin 10 memory issues in the last 10 years, our builds are streamlined and working very well, there is an infinite supply of C and C++ devs, we don't have a single reason to use their trash.
it's not even that much better in the first place, if anything go has more chance to get considered as simplicity is a key feature and go devs are silently getting shit done minding their own business.
I'm not in the us, I thank the trial period and the lack of shame of rustroons, they just had to wait for 4 months to start shilling their trash but even that they can't do as the itch to shill it is too strong.
Anonymous No.106576183
>>106575948
You don't want it because keeping that central table updated is a price you pay on every filesystem operation. It's a trade of performance on everything else in exchange for fast usage stats, which is done rarely.
Anonymous No.106576197 >>106576214
>>106576166
What runtimes would those be?
Anonymous No.106576214 >>106576373
>>106576197
ask chatgpt faggot
I'm not here to explain the basics of growable memory regions to your ass
Anonymous No.106576215 >>106576290
>>106576127
then set the stack size manually and/or lower the number of threads.
an easy step would be to auto-lower thread count on low available memory, but whatever.
he chose not to compromise performance for most users just to avoid errors for the tard tiny minority with the combination of low available memory and highly nested file hierarchies. and that's his choice to make.
Anonymous No.106576241 >>106576257
>>106576175
>even jeetoid hallucinated dreams are llm assisted now
Anonymous No.106576257
>>106576241
my esl english is dead giveaway that it's not llm, if this thread is still alive monday I can post the slides and the mail to ceo, it really happened
Anonymous No.106576281
why would anybody even bother using this shit when du comes with pretty much every linux install, is reliable, and doesn't try to spawn 500 threads while eating gigabytes of memory?
Anonymous No.106576290 >>106576304 >>106576318
>>106576215
why would I do that when I could use C software that actually works?
Anonymous No.106576304 >>106576318
>>106576290
if you are just a software user and not a programmer, than you have no right to talk about programming languages
go bing bong wahoo on your keyboard and fuck off
Anonymous No.106576306
>>106575541 (OP)
>recursion in production code
You chose the path of retardation. I will disregard everything you said.
Anonymous No.106576318
>>106576304
he posed a valid question, you responded with impotent rage
i declare >>106576290 the victor of this argument, as an unrelated 3rd party
Anonymous No.106576342 >>106576422 >>106576502
>>106575709
GNU coreutils do. GNU rm can remove any directory no matter how deep it goes. It is kinda important when you have some software under development and it accidentally creates this situation.
PS: Ubuntu coreutils (written in Rust) cannot handle this.
Anonymous No.106576362
>rust
>programmer
pick one
Anonymous No.106576373 >>106576435
>>106576057
Filesystem walking does not use tail call recursion. It uses...just recursion. Normal one.
>>106576214
Rust uses OS threads and those do not grow their stacks (except for the main thread on Unix systems).
Anonymous No.106576422 >>106576434 >>106576459
>>106576342
proof?
Anonymous No.106576434 >>106578445
>>106576422
Read the source code
Anonymous No.106576435 >>106576547
>>106576373
>Rust uses OS threads
no shit
I'm talking about virtual machines that support green threading mechanisms that are backed by allocated memory alongside the capability of growth/shrinkage as needed.
also, if you support TCO, then many recursive workflows may be optimized to not involve any bloating of the stack whatsoever, and they compile exactly as a more primitive looping mechanism would.
Anonymous No.106576459 >>106576478 >>106578445
>>106576422
Thanks for the concession.
Anonymous No.106576478 >>106576755
>>106576459
literally me
Anonymous No.106576502 >>106576547
>>106576342
the fact that there is a rust equivalent to these very utils should tell you (without even having any detailed technical knowledge) that this is not language related (directly).
in the context of this thread:
# /bin/time -f '%e %M' uu-du -sh /media/* >/dev/null
2.71 75588
# /bin/time -f '%e %M' du -sh /media/* >/dev/null
2.68 69696

when you develop a tool, you get to choose what you should care about. if you as a user don't like it, don't use it.
Anonymous No.106576542
>>106575611
Can't we use an accumulator to store file parents pairs or something similar in this case?
Anonymous No.106576547 >>106576564
>>106576435
>I'm talking about virtual machines that support green threading mechanisms
This is shitting on Rust thread. What do virtual stacks have to do with this? They are slow and would be a bad choice for a language like Rust.
>many recursive workflows may be optimized to not involve any bloating of the stack whatsoever
Tail recursion is an irrelevant concept that bears no value. Its only purpose is to make Scheme and other function fags happy.
>>106576502
>if you as a user don't like it, don't use it.
I have stopped using Ubuntu in 2012 and never going back, so I am ok with that. Still rustfags should be embarrassed that so many rust rewrites are so shitty.
>that this is not language related
I never said it was. Last time I checked GNU rm had 5000+ lines of C code to handle possible resource exhaustion cases during filesystem traversal (path limit, fd limit). Funny how all these rewrite fails to handle edge cases. Tell you a lot how they view "correctness".
Anonymous No.106576549
>>106575589
https://github.com/rust-lang/rust/pull/144232
Anonymous No.106576564 >>106576603
>>106576547
>Tail recursion is an irrelevant concept
>he has to have labelled breaks
shut your retarded ass up and learn something new
TCO is objectively a superset of your primitive looping mechanisms
Anonymous No.106576603 >>106576634
>>106576564
>shut your retarded ass up and learn something new
There is nothing new about TCO. It is an ancient irrelevant concept.
Anonymous No.106576634
>>106576603
I will now stop replying to you, due to your inability to read the entirety of my post and provide an argument against it
Anonymous No.106576697 >>106577086
>>106575541 (OP)
>be a ru-AAAAAAAAAAAAAACCKKKKK!!!!!AAACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!ACK!
Anonymous No.106576719
oh the post was about rustxisters being mentally challenged, i agree.
Anonymous No.106576755 >>106576791
>>106576478
w-which
Anonymous No.106576791
>>106576755
the 40 years old football slash beer enjoyer obviously
Anonymous No.106577086
>>106576697
kek
Anonymous No.106577659
>>106575541 (OP)
For me, it's ncdu (written in zig). It just werks
Anonymous No.106578031 >>106579028
for me it's getdents64
Anonymous No.106578366
not a rust problem, just a retard dev
Anonymous No.106578392 >>106578636
>>106575889
Rust includes a garbage collector though. It's a really bad garbage collector, but that doesn't make it "not a garbage collector" it makes it "a shitty garbage collector", no matter how strenuously the "women can have heckin valid penises" crowd denies it.
Anonymous No.106578420 >>106578465 >>106578629
>lsblk -o FSUSE,FSAVAIL
damn that was hard
Anonymous No.106578445
>>106576459
this was meant for >>106576434
Anonymous No.106578465
>>106578420
not helpful if you want to see how much space your projects directory is taking up.
Anonymous No.106578629
>>106578420
This is just a shittier version of df, but both report at the filesystem level, whereas du (and apparently dust) report the space used by a specific directory and everything within it.
Anonymous No.106578636 >>106579516
>>106578392
you have no idea what garbage collection is. you are too fucking retarded to grasp the requirements of a search space, memory defragmentation, and reference updates
Anonymous No.106578885 >>106578958 >>106579009
>ITT: retards who don't understand TCO
If your recursive program is amenable to TCO you can trivially formulate it as a loop retards.
Yes Rust ought to have TCO but it's not some pure functional language so it isn't a big deal.
Anonymous No.106578958 >>106579028
>>106578885
>he's labeling and breaking
>he can't divide up sections of his loop into separate functions
lol
lmao
xD
Anonymous No.106578983 >>106579021
Rustsisters... we lost. I'm cutting my loses and learning C++ now
Anonymous No.106579009 >>106579028
>>106578885
I'm not looking at this shitcode (dust), but my guess is this code cannot possibly have tail calls. Entering a directory inherently branches plus you still need to track the come from path and its total disk size sum.
Nigga should have either wrote a trampoline or rewrote it using a bfs queue.
Anonymous No.106579021 >>106579170
>>106578983
If you wrote shitcode in rust, you'll write worst shitcode in C++. Plus rayon heems openmp.
Anonymous No.106579028 >>106579170
>>106578031
I don't like that syscall, or any of the syscalls where you provide a buffer and it fills what it can. It would be better if it the dirent struct were fixed size so you could know something ahead of time.

>>106578958
I write assembly you mongrel, both looping and TCO are weak compared to the power of GOTO. You could at least talk about something cool like first-class continuations but whatever shitlang you use probably lacks those.

>>106579009
That's what I'm saying, TCO isn't really relevant here.
Anonymous No.106579120 >>106579170
>be a c programmer
>cast void pointers into whatever i want without explanation or discernable pattern
>call free on magic numbers XOR'd with oscilloscope outputs read from volatile memory
>everything just works
Anonymous No.106579170 >>106579258 >>106579744
>>106579021
And pthread mogs all.
>>106579120
Holy based.
>>106579028
>It would be better if it the dirent struct were fixed size so you could know something ahead of time.
It can't be fixed size without also putting a hard fixed limit on filename length.
Anonymous No.106579258 >>106579330 >>106581268
>>106579170
>It can't be fixed size without also putting a hard fixed limit on filename length.
Isn't there one? I thought filenames were limited to 255 bytes on Linux.
Of course most filenames are much shorter, probably 90% are under 20 bytes, so that would be wasteful. It's just a bit annoying.
Anonymous No.106579294
>>106575541 (OP)
>rust
fail
>recursion
fail
>linux
fail
>chads
don't kid yourself
>10,000 nested directories
being gay retard is not supported by the software
>allocate a gigabyte of stack per thread instead
based retard
>gay rust error message
fail
>c doesn't have this problem
yes it does
Anonymous No.106579315 >>106579648
>>106575541 (OP)
>hmm, maybe I shouldn't use recursion
you don't understand anon
rust programmers are filtered by for loops
they can't even
Anonymous No.106579330 >>106581268
>>106579258
Ah you right, the limit is 255. Like you said though, it'd be hugely wasteful by requiring much larger buffers to the getdents64 syscall blowing out your cache, and a great deal of overhead if you copy them around in your application.
Anonymous No.106579516 >>106579598
>>106578636
Go be stupid someplace else.
Anonymous No.106579598
>>106579516
point out where I am incorrect, faggot
also, read more than the titlle of that chapter
Anonymous No.106579648 >>106579743
>>106579315
Opposite really. Recursion can be hard filtering since you can't guarantee it in rust. Writing loops is gay as hell.
Anonymous No.106579743
>>106579648
>writing loops is gay as hell
int factorial(int n) {
int acc = 1;
while (n > 1) {
acc = acc * n;
n = n -1;
}
return acc;
}

:(
(define (factorial n)
(define (inner m acc)
(if (= m 1)
acc
(inner (- m 1) (* acc m))))
(inner n 1))

:)
Anonymous No.106579744
>>106579170
>And pthread mogs all.
nice to see jeets waking up and joining this post
Anonymous No.106579809
>>106575541 (OP)
Post the tranny code so we can make fun of it
Anonymous No.106579854 >>106579912 >>106579972 >>106580038
>>106575589
can you tell me more about whats going on here? what language is this interpreting?
this looks incredibly pretty but thats coming from someone that doesnt know shit. it also looks like it's relying on a lot of high level features that would become very involved and confusing in C
{graphemes, sub_ast} = compile (graphemes, [J, "")
like that. there is a LOT going on there in one line and a lot of ways to think about all of it
Anonymous No.106579912
>>106579854
{graphemes, sub_ast} = compile (graphemes, [], "")*
Anonymous No.106579927
If you use recursion in any way that isnt either
>logically guaranteed to never be more than 2 recursions deep
>tail optimized
you are profoundly retarded.
Anonymous No.106579940
>>106575541 (OP)
>>get stack overflow bug reports from linuxchads with 10,000 nested directories
A lot of SDKs have tons of nested directories. Anyone who does development with multiple SDKs will likely have this issue.
Anonymous No.106579941
>>106575791
A gigabyte will be enough?
Anonymous No.106579968 >>106580571
Does this crap even handle symlink cycles?
Anonymous No.106579972
>>106579854
> incredibly pretty
> thousands of -> lines
It made me physically ill looking at that.
Anonymous No.106580038
>>106579854
it's Elixir
the formatting I used is autistic, I have reverted to using mix format (as one should do)
it's interpreting a custom language that I am in the process of making (lazily, I have other projects that are more important atm). the language will be a Lisp
{graphemes, sub_ast} = compile(graphemes, [], "")
compile builds up an AST from graphemes (the values of a string). because ASTs can contain ASTs (hence the "tree" part of the terminology), by calling compile() within compile, we can get a sub-AST (classic use of recursion).
Anonymous No.106580193 >>106581755
>>106575855
we call them journals
Anonymous No.106580571
>>106579968
it doesn't support anything non-trivial (including printing a meaningful error message lol)
Anonymous No.106580651 >>106581150
>>106576019
You're a web dev you haven't wrote a single line of real, meaningful code in your life.
Anonymous No.106581150 >>106581171
>>106580651
obsessed
Anonymous No.106581171 >>106581193
>>106581150
>gets called webshitter
>>nooo, im not a webshitter!!!
>posts webshittery
Anonymous No.106581193 >>106581202
>>106581171
>calls novel cryptographic work webshittery
inb4 some faggot points out the ISO spec that I do not have access to (and I suspect does not incorporate padding)
Anonymous No.106581202 >>106581231
>>106581193
>Novel
ok, novel webshittery then

describe your project and whats novel about it
soapbox is yours
Anonymous No.106581217 >>106581241
Rust shills can't cope with this
>>106580471
Anonymous No.106581231 >>106581248
>>106581202
read the module name retard
I know you enjoy my written word, but, unfortunately, I do not write for tsunderes (You)
Anonymous No.106581241 >>106581291
>>106581217
imagine following political bullshit when you could be writing cood
pic related is me writing Rust and having it identify a forgotten match case (thx Rust)
Anonymous No.106581248 >>106581261
>>106581231
you cant assert information integrity without having access to the whole information
bc if you do, you defeat redaction/cyphering
if you dont, theres multiple corrupted states that satisfy your validation mechanisms
AND you weaken the cypher

so youre retarded, only you think youre smart.
pretty habitual with rust users
Anonymous No.106581261 >>106581280
>>106581248
you are absolutely braindead if you actually think I do not understand those things
you are even more braindead for being unable to figure out a solution
hint: tradtional signatures of documents sign cryptographic hashes of documents
Anonymous No.106581268
>>106579258
>>106579330
> the limit is 255
That is the limit for Ext4 and many other filesystems, but Linux itself has no sting limit on this, so filename of any length can be returned. Opening long name will be impossible if they exceed 4096, because this is how much kernel is willing to receive per syscall (which is a denial of service protection caused by the fact that kernel cannot swap out it's memory).
Anonymous No.106581280 >>106581309
>>106581261
no perfect solution exists without having access to the underlying information
and youre reimplementing a parity bit but with extra steps
wow. how fucking worthless
Anonymous No.106581291 >>106581307 >>106581318
>>106581241
>cood
Anonymous No.106581307
>>106581291
using rust is a sign of precocious dementia
Anonymous No.106581309 >>106581317 >>106581331
>>106581280
Anonymous No.106581317 >>106581331
>>106581309
'should have been nicer to people
i, too, possess teeth
even sharper than yours, it seems
Anonymous No.106581318 >>106581479
>>106581291
I'm cooooooding
unnnhng
Anonymous No.106581331 >>106581357
>>106581309
>>106581317
also im still confused to what is it that you do, exactly
you cannot hash partial information
if its cyphered information you hash the cyphertext
if you hash/parity check/whatever a partial stream you only verify the integrity of your integrity markers, not the redacted information in between
Anonymous No.106581357 >>106581378 >>106581384
>>106581331
why the hell would I reveal my algorithm to you? all you do is call me retarded and claim my outperforming of Swiss Table is hello world tier
anyway, the algorithm works. trust me :^)
Anonymous No.106581378 >>106581392 >>106581556
>>106581357
>circle back to hashtables
ah
youre the retard who likes to reinvent the wheel, implementing hashtables for months

i thought this kind of shit was the killer feature of rust:
as in- no need to reinvent the wheel and shit
at this pace one can on ly wonder what ISNT false advertisement about rust

also start namefagging so i can hide your mentally challenged posts
Anonymous No.106581384
>>106581357
also no, im not an autistic retard that i cannot into abstractions
you can tell me your design goals and a high level overview of your solutions and ill make myself an opinion allright
Anonymous No.106581392 >>106581437 >>106581466
>>106581378
see that is another retarded statement
I get an idea in the shower and end up smacking the shit out of Google's overengineered hash table implementation
and you call it reinventing the wheel, lmao
Anonymous No.106581437 >>106581466 >>106581556
>>106581392
youve been showing your hastable to anyone willing to listen + a whole lot of people who arent
this clearly is something you consider an achievement, not an idea from the shower

also i never had use for a proper hashtable, ever
or i use hashtables whenever i parse and classify text but i dont call em that
and im fairly sure a lazy ass solution with 256 linked lists, with a rational memory layout, one per char still beats your overengineered crap with the data im using it with
Anonymous No.106581466 >>106581556
>>106581392
>>106581437
btw btw
you seem to ignore that an algo performs differently depending of the data its fed
you didnt mention data in how you benchmark
and if you ran generalist benchmarks then you should know that your algo will perform poorly in many cases
thats the diff bw a data-specific algo and generalist shit
Anonymous No.106581475
LOL >>106580471
Anonymous No.106581479
>>106581318
Joining a certain percentage? Why not just be honest instead?
Anonymous No.106581493 >>106581504
>>106575541 (OP)
>10,000 nested directories
the program should just automatically rm rf all the files if it finds that
usecase for 10000 directories??
Anonymous No.106581504 >>106581568
>>106581493
>you dont need that
EY
thats MY talking point
Anonymous No.106581556 >>106584549
>>106581466
>>106581437
>>106581378

>no challenge
huh
so such is the power of rust
shutting the fuck up when confronted with basic considerations in programming
Anonymous No.106581568 >>106581597
>>106581504
usecase?
Anonymous No.106581597
>>106581568
rust?
to signify to everyone around you that youre mentally unwell
Anonymous No.106581755
>>106580193
Can't be used the same
Anonymous No.106582095 >>106582127 >>106583753
Why are you using recursion?

>I want to iterate in a functional manner/without mutable state
Use Iterators and higher order functions. Map, fold, and filter are your friends.
>I want to do recursive backtracking/depth first search
Use an explicit stack data structure instead of assuming that the call stack will be big enough. Unless you can formally prove your program will never go beyond a specified recursion depth, the heap is your friend.
Anonymous No.106582127
>>106582095
>fptrany problems
>that exist because maffbois created a half assed model for computing and called it a day
recursion is retarded, simple as
now imagine making it a central element of your programming language...
Anonymous No.106583753
>>106582095
>Use an explicit stack data structure instead of assuming that the call stack will be big enough.
In other words, not using recursion. Had dust done this, none of the issues in the thread would exist.
Anonymous No.106583786 >>106583807 >>106583835
kek, another day of nocoder chuddies being filtered by rust
Anonymous No.106583807 >>106583854
>>106583786
many, many such cases
Anonymous No.106583835
>>106583786
rust is dogshit doe
youre not gonna tell me youre filtered from eating dogshit, are you?
Anonymous No.106583854
>>106583807
if thats a c-hud
why was he writing in rust?
Anonymous No.106584549
>>106581556
I went to sleep retard
it is absolutely an achievement btw, and if you actually knew anything about computer science, you would agree
>256 linked lists
he's the pointer chasing cache abuser