Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
shirogane86x
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
11 ms
·
61.
▲
by
shirogane86x
4y ago
I totally get that sentiment about nix, and actually I sort of share a variation of it too: I really want to learn it, and I like the featureset in theory, but I can't get used to it in practice, and I don't have the time to inves
62.
▲
by
shirogane86x
4y ago
quoting the github readme: > In general, ante is low-level (no GC, values aren't boxed by default) while also trying to be as readable as possible by encouraging high-level approaches that can be optimized with low-level details lat
63.
▲
by
shirogane86x
4y ago
F# will always assume that the types can be heterogeneous, there's nothing in F# that gives (*) or (+) any sort of special behaviour, so it doesn't conform to an interface. Operators will usually always have an (inline) type of fo
64.
▲
by
shirogane86x
4y ago
As a former F# full-time dev, I'd say that there's a few things that really make it worth to use F# (and I will still use it instead of C#, where there's a possibility, in the future): - Computation expressions make it possib
65.
▲
by
shirogane86x
4y ago
both cabal and stack have improved, there's now a pretty good language server in HLS, there's ghcup to download and install both GHC and tooling and manage it (both on linux and on windows). And for quick one-off experiments I usu
66.
▲
by
shirogane86x
4y ago
I don't know if those things you ask are in Haskell specifically, but what I do know is that Haskell concurrency is pretty much best in class. You get channels (Control.Concurrent.Chan is in the stdlib), STM, green threads (forkIO). Yo
67.
▲
by
shirogane86x
4y ago
I'm pretty sure discord is using rust on the backend, not on the electron app. They use it to make some code faster (through NIFs) inside of their larger Elixir codebase.
68.
▲
by
shirogane86x
4y ago
Thanks for the response! I will surely hop on the gitter when I have some time. I'm also really happy about the presence of let*. I guess I have something to try this evening after work :)
69.
▲
by
shirogane86x
4y ago
As someone who loves Haskell a lot and was looking for a functional language on the JVM, the language looks absolutely awesome. If the richer effect system gets implemented this has a shot to becoming a staple of mine! I'm reading the
70.
▲
by
shirogane86x
4y ago
I don't think that's quite true. It's sort of the same in how it's used, but the main difference is that T? (or T | null) is a union, and Optional/Maybe/Option is a sum type. Out of all the implementations I&#x
71.
▲
by
shirogane86x
4y ago
Is it? To me it seemed like any potentially powerful enough type system starts needing at least some degree of type annotations at some point. Something something typechecking halting problem? Don't know the specifics though.
72.
▲
by
shirogane86x
4y ago
In every single project or company I've ever worked on/with, monkey patching was _extremely_ frowned upon (for good reasons). Also, how would you be able to filter without any copies? you'd at least be forced to make one. fil
73.
▲
by
shirogane86x
4y ago
I'm also one of those guys that will always spread NodeLists (and other iterable-but-not-array type of objects) but it's really only because I find functional style a lot more readable than imperative style for loops. It might be
74.
▲
by
shirogane86x
4y ago
Yeah I've had the same experience (with Haskell, and with Rust). Lisp probably counts too, and maybe even Array languages like APL? It does feel amazing though. It does take a while to learn and internalize these great languages, but o
75.
▲
by
shirogane86x
4y ago
if you need a fun language to learn to make TUIs, haskell has the brick library :) . I've heard very good things about it, it's declarative, only downside is that it doesn't support windows.
76.
▲
by
shirogane86x
4y ago
Admittedly most of my experience was in VB.NET, with a small caveat. The codebase I worked on (for around 3 years) was initially ported verbatim from an old VB6 + Access app, and it had the bare minimum amount of changes needed to make it w
77.
▲
by
shirogane86x
4y ago
If I had to push a fix to prod ASAP, I'd personally rather it take more time but go in production safely. Especially in a case like that with not enough testing to really be sure if everything's okay or not, the stricter the compi
78.
▲
by
shirogane86x
4y ago
Weird take: I actually do say the same for Haskell (disclaimer: I've used Haskell in all my personal stuff for about 5 years now) A lot of the stuff I used to hear and say about Haskell (about type driven and compiler driven developme
79.
▲
by
shirogane86x
4y ago
I see a lot of people expressing love and nostalgia for like VB6 and stuff but to be honest... maybe it's me being younger and not having experienced VB during its prime, but when I got to work with VB6 and VB.NET it was a _nightmare_.
80.
▲
by
shirogane86x
4y ago
Wait a second, sorry if I am ignorant on the matter but... carriers _whitelist_ phones in America? That sounds absolutely insane to me (as a European). Is there a particular reason why they do that? and also, is there any reason why it is a
81.
▲
by
shirogane86x
4y ago
I may be wrong about this, but having tried fennel recently, doesn't it have quasiquoting now? at least according to: https://fennel-lang.org/macros
82.
▲
by
shirogane86x
5y ago
I feel like effect systems like the ones in unison and koka (or haskell with extensible effects / freer libraries like polysemy or eff) get pretty close to that. I feel like there's a lot of effort needed to make the idea "ma
83.
▲
by
shirogane86x
5y ago
Disclaimer: personal opinion Having used both extensively over the years... I'll have to disagree. Don't get me wrong, purescript is awesome in its own way, but it falls short of haskell in a few major ways. - Lacks ergonomics (fo
84.
▲
by
shirogane86x
5y ago
that is _not_ possible in haskell, simply. generateUUID needs a random number generator, thus it probably has a type like generateUUID :: IO UUID which means that those two lines don't _really_ make sense: you'd get a comp
85.
▲
by
shirogane86x
5y ago
I still think that it would look a lot less bad than JS callback hell, mostly because of syntax. actA >>= \a -> actB a >>= \b -> pure doSomethingWith b is a lot better (to my eyes) than: actA(a =>
86.
▲
by
shirogane86x
5y ago
I am not at all an expert on GHC's codegen, but having glanced at that code before (mostly to get an intuition of what IO is under all that sugar), RealWorld doesn't even... exist. Realworld and its close friend, State# are tokens
87.
▲
by
shirogane86x
5y ago
I see that scala(z)'s operators are adapted from haskell which seems to make it quite nice, although I don't know the finer details. Also thanks for letting me know about the escaping, sadly I can't edit the comment anymore
88.
▲
by
shirogane86x
5y ago
disclaimer: I'm a haskell user who has worked professionally with F# for 3 years I don't think something like native F# would fit Haskell's niche: Haskell's type system is a lot more complete (and complex, by virtue of c
89.
▲
by
shirogane86x
5y ago
small nitpick/counter example: in Haskell, you could make your example look like: something <$> effectfulA <*> effectfulB <$> and < > are very common in haskell code and basically second nature to any ha
90.
▲
by
shirogane86x
5y ago
To be honest, and maybe I'm just an outlier... As someone who uses Haskell for most of my personal stuff (sadly, not for work), I really don't mind the complexity. Haskell98 is... nice, at best, but it lacks a lot for me to be tru
More ›