Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
leshow
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
23 ms
·
271.
▲
by
leshow
7y ago
Your practice deviates significantly from what other people are doing in the ecosystem, but if you like it for your personal projects, more power to you.
272.
▲
by
leshow
7y ago
Funny that the talk says "we are not rewriting the browser", given the current projects at mozilla.
273.
▲
by
leshow
7y ago
> 6) If you absolutely need to use static dispatch purely for ergonomics (and not because of the performance) then create two function - a dynamically dispatched private one which accepts a &dyn T and contains the actual functionalit
274.
▲
by
leshow
7y ago
If you divide the project up into sub crates, using a "workspace" you can improve compile times. If you're not using that feature already. Not saying that compilation speed isn't an issue, but that's one thing that
275.
▲
by
leshow
7y ago
- Rust doesn't really have exceptions is the short answer. Errors are represented by the Result type. - You can trace inside of async code, there are libraries like tracing and tracing-futures. - Not sure how to answer your last questi
276.
▲
by
leshow
7y ago
I write Rust as my day job and I still consider it a complex language. There's a lot of non trivial things encoded in the type system. Send/Sync, Pin, async/await, object safety, borrowing, ownership, I could go on. It's
277.
▲
by
leshow
7y ago
I don't think I'd endorse this strategy. I've seen a few resumes mention Rust just because it's popular without actually knowing much about the language. If I see something on your resume I expect you to know it.
278.
▲
by
leshow
7y ago
Id say it makes a lot of sense. You're comparing a memory unsafe language with a safe one.
279.
▲
by
leshow
7y ago
Really? I have almost the exact opposite opinion of it. If anything Pin validated the construction of Rust the language and it's approach to structuring types in the standard library. We got to express something at the type level witho
280.
▲
by
leshow
7y ago
> Rust enables junior-level JavaScript programmers to write kernel/bare-metal level code without fear of making these kinds of errors I've used Rust for a while, and this isn't really true. At the lowest level you still h
281.
▲
by
leshow
7y ago
Typescript will infer the 'any' type by default in a lot of cases, that's the reason teams will mandate type annotations. It's really just not the same thing. These are bolt on type systems to dynamic languages where if
282.
▲
by
leshow
7y ago
What would satisfy you? And don't you think you are holding Haskell to an unfair standard that you're not holding to other languages? Do you have research to show a GC is better than manual memory management? That object oriented
283.
▲
by
leshow
7y ago
Great post, just keep doing what you're doing! I, for one, have a ton of respect for the work that you do and the projects that you've created. I've never been the steward of a super popular project, but I can imagine it must
284.
▲
by
leshow
7y ago
Agree on what? "Type inference" is a broad feature, feel free to post the resources. edit: In Haskell it goes beyond just locally inferring variables, it enables a new type of development with typed holes that feels more like a ba
285.
▲
by
leshow
7y ago
Are you at all surprised that you picked a language you don't have very much experience with on a whim and the project turned out to be a failure?
286.
▲
by
leshow
7y ago
There are static languages with REPLs, Haskell's GHC has a particularly good one.
287.
▲
by
leshow
7y ago
I'm curious why you quote this like it's a fact when it's an opinion. The understanding of type inference used as the basis for making the argument in that blog post is superficial. Type inference doesn't just allow you
288.
▲
by
leshow
7y ago
Commented elsewhere here but static languages can do this also via ad hoc polymorphism or bounded polymorphism.
289.
▲
by
leshow
7y ago
> You don't have to have a vague definition of good design or a vague definition of FP. Follow a strict but commonly agreed upon definition of both and derive a proof from there There is no such definition, just like there isn'
290.
▲
by
leshow
7y ago
> If I want to be pedantic, the official term is normal order. You are wrong on this. See SICP chapter 1. SICP isn't going to help you, we're talking about Haskell's 'call by need' evaluation. It's not the s
291.
▲
by
leshow
7y ago
I don't see how that could be true, as OOP is inherently about encapsulating mutation not preventing it. The problem with OOP is you're also free to alias mutable objects. > Sans the part about laziness, for which the formal te
292.
▲
by
leshow
7y ago
> However, ADT's can be used in procedural programs or OOP programs as well. See Rust. Rust isn't OOP. Funnily, it's type system is pretty much the same as Haskell's but stops just before higher kinded types. Ignoring
293.
▲
by
leshow
7y ago
Sum and product types are essential for programming. After you have used a language with them you will miss them dearly in any other language you use. Typeclasses and traits (if you're writing Rust) coupled with ad hoc polymorphism are
294.
▲
by
leshow
7y ago
Just like to point out that you don't need to know category theory to program Haskell. You don't need to read or watch Bartosz' videos to program (though they are great fun to watch), that part in the blog is a bit specious.
295.
▲
by
leshow
7y ago
It's better to do it statically and save yourself the overhead at runtime. I don't see why you'd even want it the other way.
296.
▲
by
leshow
7y ago
Your posts don't make any sense. Rust compiles down to assembly too, but it's a safe language, so what? The compilation target has nothing to do with the relative safety of the language.
297.
▲
by
leshow
7y ago
> the adoption of TypeScript would not have been as high if a sound type system is 100% guaranteed. This is disproved as the dart language is finally gaining popularity as Flutter is now widely used. Soundness is a goal of the dart langu
298.
▲
by
leshow
7y ago
Clone doesn't have anything to do with that though. Copy types are passed 'by value' without a move (so are not affine). But a Clone type doesn't change anything except to add the clone() method.
299.
▲
by
leshow
7y ago
A language is a tool that was built to solve some kind of problem, but no language is built to be the best at all problems. There are pros and cons to using it depending on the task just like anything else. You have to consider what you wan
300.
▲
by
leshow
7y ago
This checklist comes across as incredibly ignorant. We push forward with research into all kinds of things, processors, hardware, mathematics, etc. The fact that PLT should somehow be exempt is silly. New languages coming out that do someth
More ›