Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
bPspGiJT8Y
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
31.
▲
by
bPspGiJT8Y
3y ago
Clean also has WASM as the compile target via its IR, and its tooling is great. Unfortunately though I couldn't find any sort of a community when I was looking into it, but other than this the language looks quite mature and very indus
32.
▲
by
bPspGiJT8Y
3y ago
> It's more that how a lambda can only contain a single expression That's exactly how lambdas (and all functions) work in actually functional languages like Haskell. And it's a good thing,lambdas shouldn't allow state
33.
▲
by
bPspGiJT8Y
3y ago
Also worth mentioning Idris, although its tooling and ecosystem are still pretty much nonexistent.
34.
▲
by
bPspGiJT8Y
3y ago
> Any high-level language that is afraid of map/reduce and other functional constructs is a waste of time to me Elixir is afraid of most "functional concepts".
35.
▲
by
bPspGiJT8Y
3y ago
> no chance of forgetting to check the error I remember a similar discussion here a couple months ago and some guy linking numerous open bug reports in Docker's repo with this very issue.
36.
▲
by
bPspGiJT8Y
3y ago
From their page: > Disclaimer. Teaching functional programming is out of scope of this project, so the documentation assumes you already know what FP is. Personally, and some might disagree here, but I think you simply shouldn't use
37.
▲
by
bPspGiJT8Y
3y ago
The author of this article does highlight the cases where using Python didn't work out well for them, in fact multiple times.
38.
▲
by
bPspGiJT8Y
3y ago
Lab rats, I guess
39.
▲
by
bPspGiJT8Y
3y ago
> You really do want to specify types manually, at least at boundaries, e.g. in function definitions I think PureScript has the best compromise here, top-level type signatures are not enforced but if you don't include one you'l
40.
▲
by
bPspGiJT8Y
3y ago
Then why not just say that a monad (instance) is a type `t` which implements `bind :: t a -> (a -> t b) -> t b`? It's as down to earth and down to the point as it gets, and each time a new dev thinks out a code path which woul
41.
▲
by
bPspGiJT8Y
3y ago
That's because monads are way more general than promises. Explaining how to use Maybe to write total functions is just as easy as explaining promises, if not easier.
42.
▲
by
bPspGiJT8Y
3y ago
I agree, in Kitty I'd have to hit C-S-u and then type fora... to get ∀. Good thing I can just type forall and the formatter replaces the keyword with the symbol for me :) Same for transforming othey symbols, like :: and =>, <=, -
43.
▲
by
bPspGiJT8Y
3y ago
> who are afraid of the legal risks to the monorepo You're talking about a company which happily pays billions in fines because its just a fraction of what they otherwise manage to get away with. They're not at all afraid of do
44.
▲
by
bPspGiJT8Y
3y ago
It's definitely against the grain but also not really a lot of work. The currying function is ~3-4 lines. The macros are 5-10 lines each. As for examples of such things being used "in the wild", many use Witchcraft library wh
45.
▲
by
bPspGiJT8Y
3y ago
Didn't really change anything. PureScript is in goood hands of the maintainers and contributors currently.
46.
▲
by
bPspGiJT8Y
3y ago
I do partial application in Elixir all the time. I have a function `curry/1` which takes any function and gives a curried version of it, and I have a `p` macro which introduces Scala-like "holes" (e.g. `(p Enum.map(list, _))`
47.
▲
by
bPspGiJT8Y
3y ago
It doesn't remove or break anything, it just changes the order of arguments to be compatible with Elixir's (|>) operator and consistent data-first design across the language.
48.
▲
by
bPspGiJT8Y
4y ago
Any errors these techniques could catch would have to happen during runtime, not at compile time, and this is a huge and key difference. In my experience having the type errors being caught at compile time is an incredible boost to producti