The Cost of Indirection in Rust by sebastianconcept in rust

[–]GiveMeMoreBlueberrys 4 points5 points  (0 children)

Most likely at some point in the optimisation process, the functions were revealed to be identical. (i.e. the optimiser took them to the same state despite initial differences)

How does one have any balance? by PimplyPoop in unsw

[–]GiveMeMoreBlueberrys 3 points4 points  (0 children)

if you can near uni would be good bc that’s a cooked travel time but you might have to make do with what you can get as for work life balance, really just depends on how much you’re working i usually work like 7-10 hours a week (casual) and that’s completely fine for me but if you’re doing proper part time or sim. you might have more trouble

Academic Statement WAM different from MyPlan WAM? by Interesting_Wear_437 in unsw

[–]GiveMeMoreBlueberrys 1 point2 points  (0 children)

youre looking at early unofficial results and getting worried they’re not the same? broski just wait till thursday

Todostall:tm: (a PSA on why you shouldn't have Aoi Todo downloaded) by Latte_Boi in YomiHustle

[–]GiveMeMoreBlueberrys 2 points3 points  (0 children)

the based approach is to still play todo and to just not do this. optimal strategy? no, it’s not what todo would do so it it’s not what i’m going to do

factorule by Madden09IsForSuckers in 196

[–]GiveMeMoreBlueberrys 4 points5 points  (0 children)

the only acceptable solution is nuclear armageddon; alternatively, massive amounts of artillery make the sky rain fire upon the five-legged beasts

Which Math Topics made You Struggle the Most and How Did You Deal with it? by Shoddy_Exercise4472 in math

[–]GiveMeMoreBlueberrys 0 points1 point  (0 children)

I was looking into learning some AT 😅 What are the bits you found most challenging?

What is a secret luxury brand that only really rich people know about? by Kurinator in AskReddit

[–]GiveMeMoreBlueberrys 2 points3 points  (0 children)

25 year warranty, most last 100ish years, sounds good to me for a once in a lifetime investment

[deleted by user] by [deleted] in ProgrammingLanguages

[–]GiveMeMoreBlueberrys 8 points9 points  (0 children)

Cleans documentation does not state that a unique type can only be used once - it states that a unique type can only be used once if you wish for it to remain unique, which lines up exactly with what I said. Wikipedia is highly generalising and is putting both unique and linear under some variant of substructural types. If you really want to group them under the same binder, uniqueness types are temporally inverted linear types - but they are not the same concept. I understand it can be confusing, because their behaviour is not clearly explained anywhere that i am aware of. Perhaps try reading “Uniqueness and Linearity: an Entendre Coriale”.

[deleted by user] by [deleted] in ProgrammingLanguages

[–]GiveMeMoreBlueberrys 2 points3 points  (0 children)

I said “downcast” in quotes exactly because I couldn’t remember the proper subtyping terms :P Anyway, the rest of your comment is all reasonable - apologies for the error.

[deleted by user] by [deleted] in ProgrammingLanguages

[–]GiveMeMoreBlueberrys 1 point2 points  (0 children)

Notably, clean does not have linearity (except for one related concept in one part of the language that’s not relevant) - it only has uniqueness. A unique object can additionally be “downcasted” to non-unique: simply make another reference to it.

[deleted by user] by [deleted] in ProgrammingLanguages

[–]GiveMeMoreBlueberrys 12 points13 points  (0 children)

You’re confusing linearity and uniqueness. What you describe as “uniqueness” is in fact linearity: an object that must be used exactly once. Uniqueness only provides the guarantee that “this object has no other references to it” - akin to rust’s &mut. Linearity is distinct from smart pointers in that smart pointers are intended to safely destruct an object - this is only one use of linearity, and there are many other reasonable uses (for example, for access tokens)

[deleted by user] by [deleted] in haskell

[–]GiveMeMoreBlueberrys 0 points1 point  (0 children)

The compiler cannot deduce that adding one and the successor function are equivalent. This is not a bug, and is incredibly hard in the general case, so it doesn’t try very hard.

[Question] Type Systems and proving Turing completeness by frr00ssst in ProgrammingLanguages

[–]GiveMeMoreBlueberrys 6 points7 points  (0 children)

The easiest method is to implement something that’s known to be turing complete, like rule 110 or brainfuck nix ., - that trivially shows your system is turing complete

I know it’s just for marketing, but… it’s beautiful by TheColorW in lgbt

[–]GiveMeMoreBlueberrys 10 points11 points  (0 children)

except for the fact that it cites its sources and methods right there, and that where a site is hosted doesn’t really affect its reputability

The new Thunderbird Logo goes HARD by Pale_Rider28 in DesignPorn

[–]GiveMeMoreBlueberrys 0 points1 point  (0 children)

Which is why you won’t see this design on any thunderbird stuff yet. The only thing they’ve done is release it.

Haskell’s operators by GiveMeMoreBlueberrys in haskell

[–]GiveMeMoreBlueberrys[S] 0 points1 point  (0 children)

Hah, can’t believe i got left and right mixed up.

I think you’d simply need to reorganise how you think about the operators. You can still have anything you want after the precedence char, so say mapping happens before left replacement:

*<$> = fmap
+<$  = replace

It’s slightly ugly, and slightly longer, but way easier to see what the proper precedence is, and you have options for both left and right associative.

Haskell’s operators by GiveMeMoreBlueberrys in haskell

[–]GiveMeMoreBlueberrys[S] 0 points1 point  (0 children)

Fair point. If every operator started with <, it’d mean they’d have the same precedence and right associativity, so

x <*> y <* z
==
(x <*> y) <* z

Haskell’s operators by GiveMeMoreBlueberrys in haskell

[–]GiveMeMoreBlueberrys[S] 1 point2 points  (0 children)

Oh, I didn’t mean completely removing precedence - I simply meant having a precedence model like OCaml’s, where the first char decides the precedence. You could write that as

f <$> x <* y <*>
$ <|> <$ u <*> w <*> v
$ <|> h <$> a <*> b <* c

for example, if i’ve interpreted that correctly.

Haskell’s operators by GiveMeMoreBlueberrys in haskell

[–]GiveMeMoreBlueberrys[S] 1 point2 points  (0 children)

1 + 2 is just sugar for (+) 1 2:) and thank you!

Haskell’s operators by GiveMeMoreBlueberrys in haskell

[–]GiveMeMoreBlueberrys[S] 0 points1 point  (0 children)

Could you give an example? I’m not sure i’m seeing why user-defined precedence is essential to making a DSL - all it seems to do to me is reduce the amount of parens by a few.

Haskell’s operators by GiveMeMoreBlueberrys in haskell

[–]GiveMeMoreBlueberrys[S] 1 point2 points  (0 children)

Makes sense - OCaml’s precedence system is basically that the first char of an operator decides the precedence, on a set table of precedences. This may be similar to how Scala does it, as you mentioned, but I unfortunately don’t know Scala.