Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-4041-

Begin rant.

Name: Anonymous 2015-06-10 3:07

When a programming language has an edge (not even a corner) case commonly requiring the direct expression by the developer of types like,

core::iter::Zip<core::iter::FilterMap<'_, (&std::collections::hash::set::HashSet<attr::Attribute>, &attr::Attribute), &attr::Attribute, core::iter::Zip<core::iter::Repeat<&std::collections::hash::set::HashSet<attr::Attribute>>, core::iter::Map<', (&attr::Attribute, &()), &attr::Attribute, std::collections::hash::map::Entries<', attr::Attribute, ()>>>>, core::iter::FilterMap<', (&std::collections::hash::set::HashSet<attr::Attribute>, &attr::Attribute), &attr::Attribute, core::iter::Zip<core::iter::Repeat<&std::collections::hash::set::HashSet<attr::Attribute>>, core::iter::Map<', (&attr::Attribute, &()), &attr::Attribute, std::collections::hash::map::Entries<'_, attr::Attribute, ()>>>>>,

how does fixing this not take the absolute highest priority?

Name: Mentifex 2015-06-10 4:57

Name: Anonymous 2015-06-10 6:53

>>1
Relax, I predict Rust will see a major die off in 2017/2018, and then it's fall into obscurity after that.

Name: Anonymous 2015-06-10 7:01

>>1
&std::collections::hash is some high-quality hash. SWIM highly recommends it.

Name: Anonymous 2015-06-10 20:00

I tried to use zip in C++ but it did not make a zip file :(

Name: Anonymous 2015-06-10 20:03

Lol, all this core:: shit is just std:: all over again. Also longer.

SYNTAX: FAILED

Name: Anonymous 2015-06-10 20:22

>>6
std::foo and core::foo are usually (always?) the same thing, except not all of std:: is in core::. core:: exists for std-less Rust and does away with a lot of bloat and doesn't have much in the way of runtime-supported features.

Name: Anonymous 2015-06-10 23:20

ZERO COST ABSTRACTION

Name: Anonymous 2015-06-10 23:49

>>8
boy, I sure do love memory leaks!

Name: Anonymous 2015-06-11 0:14

>>8,9
They're called zero cost because they're free().

Name: Anonymous 2015-06-11 0:20

>>9
Why did you quote something that hasn't been said?

Name: Anonymous 2015-06-11 1:12

>>9
Rust's zero costs abstractions cannot leak. C++ zero cost abstractions which can leak aren't so abstract after all.

Name: Anonymous 2015-06-11 4:17

C++ infects the mind.

Name: Anonymous 2015-06-11 19:20

>>7
By std:: I meant C++'s horror. For a language that tries to compete with Sepples, SJWRust is awfully glad to take on its warts.

Name: Anonymous 2015-06-11 19:49

>>14
To be fair, if you have nested namespaces, arguably a good thing, you need paths. Rust picked :: as the path separator like C++, so yeah, when you get an error message fuckup you get a mess that looks a lot like C++ barf (especially when parametrics are involved.)

The real problem isn't std, core or using :: as a path separator (it doesn't look any better in Java) but failing to normalize paths in the error message or in the C++ case, failing unification, which is why template errors are usually complete lies.

Regardless, I agree with the thesis. SJW/Rust1 has imported some C++ problems for no other benefit than to appeal to C++ users.

[1] Note to self, translate the ``interject'' kopipe to address SJW/Rust.

Name: Anonymous 2015-06-11 21:26

nested namespaces, arguably a good thing

Yeah, key word is "arguably". Locally-scoped definitions? A prelude? No, haven't heard of them. I::want::to::write::like::this::all::the::time<because::it<makes::me::look>::more::professional>

Name: Anonymous 2015-06-11 21:48

>>16
Locally-scoped definitions?
Haskell doesn't need them.

Name: Anonymous 2015-06-11 21:55

>>16
I::want::to::write::like::this::all::the::time<because::it<makes::me::look>::more::professional>
Generally untrue of the SJW/Rust crowd.

Name: Anonymous 2015-06-11 22:22

"Namespaces" and "nested namespaces" are just poor men's excuse for not having any module system.

Name: Anonymous 2015-06-11 22:27

"Namespaces" and "nested namespaces" are just poor men's excuse for not having any module system.

Name: Anonymous 2015-06-12 0:37

>>19-20
Modules are namespaces. Nested modules create nested namespaces.

Name: Anonymous 2015-06-12 0:40

>>21
You just went full retard.

Name: Anonymous 2015-06-12 0:55

>>22
I can't help you if you can't face reality.

Name: Anonymous 2015-06-12 2:20

>>23
Yes, your utter stupidity is reality, but I can face it alright.

Hint: namespaces are not modules, not even in the pedestrial sense of Racket or Haskell modules, let alone in the case of ML modules.

Name: Anonymous 2015-06-12 2:50

>>24
Who said namespaces were modules?

Name: Anonymous 2015-06-12 2:56

>>25
>>21 did.

Or, you could nitpick that >>21-faggot was misunderstood and was actually correctly saying that modules are strictly more flexible than namespaces, but that would still mean that >>21, although technically true is as irrelevant and pointless as the statement "motorcycles are not the poor men's cars, because cars wheels are wheels". Either way, >>21-idiot you is a retard of massive proportions.

Name: Anonymous 2015-06-12 3:12

>>26
Nice backpedaling, but I don't know why you're saying module namespacing is irrelevant when the issue was that namespaces cause problems in C++ and modules do nothing on their own to address that problem.

Name: Anonymous 2015-06-12 11:52

>>27
THE BACKPEDALLING MAZE SOLVING ALGORITHM
COPYRIGHT 1982 SYLVESTER SHALOMI-SANDWICHES

Name: Anonymous 2015-06-12 14:20

>>27
Modules on their own don't do anything. They're a mechanism. But they, on their own, obviously allow programmers to address that problem. God, you're a retard.

Name: Anonymous 2015-06-12 14:27

>>29
WHEATUS, GET OFF THE FUCKING COMPUTER

Name: Anonymous 2015-06-12 14:28

>>29
But they, on their own, obviously allow programmers to address that problem.

See that big mess in >>1? That's modules. Now: what's the obvious solution using only the module system?

Name: Anonymous 2015-06-12 14:29

>>31
Why do you make inappropriate posts like >>30 when you feel threatened?

Name: Anonymous 2015-06-12 14:31

>>31
import qualified Shit.Piss.Negroes.Tongue.Anus.Unzip.Before.Fucking.Anus as A

A.zip (A.fromList [1, 2, 3]) (A.fromList [5, 6, 7])

Name: Anonymous 2015-06-12 14:34

>>31
Another solution is for the library author to make a module that re-exports all the important bindings from all of his submodules (which is standard practice in the Haskell world). The user then would have a choice of importing the whole shiz-wiz, or importing the precise little sub-modules he needs, piece-wise.

Name: Anonymous 2015-06-12 14:46

>>32
You can even do stuff like

import qualified Shit.Piss.Negroes.Tongue.Anus.Unzip.Before.Fucking.Anus as A
import qualified Shit.Piss.Negroes.Tongue.Anus.Unzip.Before.Fucking.Vagina as A
import Shit.Piss.Negroes.Tongue.Anus.Unzip.Before.Fucking.Vagina (gSpot)


That way, provided there are no name clashes, you can call shit from both Anus and Vagina as A.foo. Also you can call Vagina's gSpot as just gSpot (as well as A.gSpot, of course).

Yeah, let's not forget that a module system must check for possible name clashes. Namespaces, at least in C++, are a mess where nobody gives a shit if you import a name that clashes with one you've defined.

Name: Anonymous 2015-06-12 14:55

shit wizz cereal: five pounds of iron per ounce

Name: Anonymous 2015-06-12 15:24

>>33-35
Observation: none of that is particular to modules. C++ is bad, check. Rust has a similar problem, but with modules. Importing this stuff in Rust doesn't change the error because fully qualified paths are important.

Name: Anonymous 2015-06-12 15:36

>>37
fully qualified paths are important.
Is that a code phrase for "in Rust you can't have qualified imports"?

Name: Anonymous 2015-06-12 15:45

>>38
No.

Name: Anonymous 2015-06-12 16:11

>>39
Then what does it mean? Surely you don't mean to say that fully qualified imports are important? Because they aren't.

Name: Anonymous 2015-06-12 16:45

>>40
I meant what I said, fully qualified paths are important. You need to be able to canonicalize in the case of aliases, which is why you see core:: up there when the program that produced it doesn't even refer to core. The original author of the text in >>1 was being an idiot. They didn't instantiate their type correctly and got that mess, then complained they had to express that type directly.

If you saw that in C++, you would assume some kind of template explosion. You wouldn't see it in Haskell or OCaml because that's fucking insane, and not how parameterization works in either of them. This being a parameterization error, not many languages have anything to say about that in their module system anyway.

Name: Anonymous 2015-06-12 16:58

>>35
Your examples are unnecessarily vulgar.

Name: Anonymous 2015-06-12 17:12

>>42
Unnecessarily yet pleasantly, yes?

>>41
You need to be able to canonicalize in the case of aliases
The compiler does. I don't. There aren't any practical cases where all the imported modules can't be aliased with one-two letter qualifiers. No need to write Data.Map.Map when just M.Map will do.

Name: Anonymous 2015-06-12 17:18

>>43
I liked the "you can call shit from both Anus and Vagina" part.

Name: Anonymous 2015-06-12 18:36

>>43
You misunderstand. I'm talking about what the compiler spits out, not what you write in the source code. That should be clear from >>41 if you read it.

Name: Anonymous 2015-06-12 18:39

>>45
Read it? You're asking too much from /prog/.

Name: Anonymous 2015-06-12 18:49

>>42
Vulgarize this.

*grabs dick*

Name: Anonymous 2015-06-12 19:42

For a language designed by leftists and SJWs, Rust is a little bit too obsessed about the ownership of everything by something else.

Name: Anonymous 2015-06-12 21:02

>>48
I think among the well-known languages, Common Lisp is the language that represents leftist beliefs the best way. It is far more egalitarian and liberal than Rust: everyone can hack into the compiler with reader macros, compiler macros and regular code macros; everyone can hack into CLOS; everyone can mutate and change everything even at runtime.

Don't change these.
Name: Email:
Entire Thread Thread List