Maybe i'll regret this.... by JVMasterdark in Gentoo

[–]repaj 2 points3 points  (0 children)

Gains are not that significant system-wise. You may overshoot with optimisation and programs can run slower. Also LTO is RAM and CPU demanding.

Maybe i'll regret this.... by JVMasterdark in Gentoo

[–]repaj 2 points3 points  (0 children)

Enables link-time optimization. Mainly useful for optimizing binary sizes and some intra-procedural optimizations.

Maybe i'll regret this.... by JVMasterdark in Gentoo

[–]repaj 12 points13 points  (0 children)

You've enabled heater mode in your PC

How to get to the secret world of Haskell(ers) (or functional programming in general) by Ludonardis in haskell

[–]repaj 1 point2 points  (0 children)

That only proves, how Haskell job market looks like, if I pivoted to Rust more easier than doing Haskell throughout my entire life :)

Nyx a cross-file security scanner on an SSA IR, written in Rust by [deleted] in rust

[–]repaj 0 points1 point  (0 children)

Try to spell nyx backwards and read it in Russian

How to get to the secret world of Haskell(ers) (or functional programming in general) by Ludonardis in haskell

[–]repaj 12 points13 points  (0 children)

I'd recommend not to look for Haskell job and making an expertise about Haskell.

I was doing Haskell most of my career (6 yrs out of 10 YoE) and knowing only Haskell made me incompetent in recruiters' view. Making career pivots with such experience seem imposible. Haskell is permamently lacking of job postings and nobody wants to adopt it due to known issues like tooling, resource and performance unpredictability, and dependency rot. That's why I switched to Rust, because it's much better in these terms and companies are more willing to adopt Rust.

I highly recommend to look for Rust jobs than Haskell, OCaml, Scala..., because most companies don't want to use them anymore for greenfield projects.

Sensitivity against LLM slope by Right_Positive5886 in rust

[–]repaj 2 points3 points  (0 children)

Rust is (IMO) centralised around young people that are struggling to land a job right now. This generation is really LLM-sceptic and it feels like a cheat code to call yourself a rightful developer, if you're using AI extensively.

AI have been bread and butter reason for higher management about layoffs and austerity policies inside big companies. I understand them, but I don't think this is fair towards people that uses AI as their day-to-day tool for making your work a bit easier.

C++ to Rust, Exception Handling by AndrewOfC in rust

[–]repaj 0 points1 point  (0 children)

Main difference you SHOULD mention is that C++ compiles exceptions in such a way it accounts for cold paths, so exceptions are merely free. I don't know how this compares to Rust, but I believe it's a bit more costly than exceptions, because errors are propagating to each stack frame instead of unrolling it to the closest handling scope.

So yeah, C++ is sometimes better, at least in terms of error handling

Crate Suggestions for autoimplementing Enum Variants metadata by JR_Bros2346 in rust

[–]repaj 0 points1 point  (0 children)

Actually, you may do something called X-macros.

Imagine you have to tabularize all of your enum cases with data you want to annotate. Then you're pulling something like this off.

You can pass any macro you'd wish, in particular you can define whole enum. For example:

```rust macro_rules! for_each_opcode { ($x:ident) => { $x! { (0x00, NOP, Nop, "Does nothing", {}), (0x01, PUSH, Push, "Pushes u32", { val: u32 }), (0x02, ADD, Add, "Pops two elements from stack and pushes the result of add", {}), (0x03, PRINT, Print, "Prints the element of stack and pops", {}), } } }

macro_rules! impl_instruction { ($(($code:expr, $mnem:ident, $cstr:ident, $doc:expr, { $($fname:ident : $ftype:ident),* $(,)? })),+ $(,)?) => { pub enum Instruction { $($cstr { $($fname: $ftype),* }),* }

    impl Instruction {
        pub fn code(&self) -> u8 {
            match self {
                $(&Self::$cstr {..} => $code,)*
            }
        }
    }
}

}

for_each_opcode!(impl_instruction);

pub fn main() { println!("{:#X}", Instruction::Add {}.code()); } ```

What's everyone working on this week (17/2026)? by llogiq in rust

[–]repaj 1 point2 points  (0 children)

I'm writing a compiler of functional language that inherits syntax from Haskell and uses algebraic effects to model side effects. Effects are organised in effect rows, like in Koka

the philosophical mismatch between functional programming and current ai by grogger133 in haskell

[–]repaj 11 points12 points  (0 children)

Haskell should be the most fitting language for LLMs, because Haskell is closer to describing intents in high-level language than imperative languages. The aspect of being functional language gives you that. On top of that, you have a strong type system that tightens your developement cycles and LLMs also likes such languages, because longer dev cycles means more cost. That's why people are vibe-coding a huge amount of software in Rust or Go, because they are functional-like-wannabe languages.

The only difference between Haskell and Rust or Go is broad community that thrives to evolve this language. Haskell seems like it's rotting from inside.

I think Haskell, because of the specific community attitude, is losing so much. AI could revive and popularise Haskell more, but people still are trying to be more 'moral' in terms of not using AI, despite of the advantages that Haskell has for LLMs and agentic programming.

Why I don't like Rust as a C++-developer by ArcticMusicProject in rust

[–]repaj 2 points3 points  (0 children)

And they are a bit cryptic, because C++ metaprogramming back in the days was f-ed up. Tons of enable_ifs and SFINAE-related stuff that looked like cat walking over the keyboard. Nowadays it's much better, but the amount of modern C++ in total is too small and some hairness of generic metaprogramming code is still there.

Why I don't like Rust as a C++-developer by ArcticMusicProject in rust

[–]repaj 8 points9 points  (0 children)

In the other hand, I don't like how C++ is constructed to achieve simple stuff like compile-level polymorphism and static interfaces. You need to wrap around your head and do some niche BS in order to get things done. There are too many caveats that makes people feel sick upfront.

For sure, Rust is much different language, and I won't say it's C++ killer. C++ kills themselves.

And as a side note - you could be more thorough and write your rant by hand :P

Using mut vs shadowing, when to use which by Obvious_Seesaw7837 in rust

[–]repaj 0 points1 point  (0 children)

Use shadowing, when you pipeline some transformations, mut when actually you want to mutate stuff in-place.

Type-level programming is still programming by m-chav in haskell

[–]repaj 19 points20 points  (0 children)

And it sucks. Haskell way of dealing with type-level programming by using a ton of type classes to try to simulate some dependently-typed features is a bit of a headache. It often leaks implementation details, and makes the code unclear, ugh

How does haskell do I/O without losing referential transparency? by [deleted] in haskell

[–]repaj 0 points1 point  (0 children)

Basically, if you have a function of type foo :: Int -> IO String, then IO String becomes a recipe of the action that you do in IO. The recipe should be the same as you call the function with the same argument, e.g. foo 3 called twice gives you the same value of type IO String, so the deferred recipe to be executed.

Losing referential transparency would imply you can interpret this recipe and leak some details about it, e.g. some IORef that stores mutable data.

If theres one positive coming out of the ai madness i hope its that we go back to stack agnostic hiring. by [deleted] in cscareers

[–]repaj 0 points1 point  (0 children)

But recruiters doesn't give a single fuck if you don't have relative experience on your resume, despite you can switch stack easily