Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
bjz_
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
11 ms
·
61.
▲
by
bjz_
7y ago
It is, but they are not full spectrum dependent types, as far as I know. ATS doesn't have a Rust-style region system either, as far as I'm aware. It's very cool though, and quite inspiring, if a little unfriendly UX wise! :)
62.
▲
by
bjz_
7y ago
Yeah, I'm aware of Quantitative Type Theory, it's very cool! Another neat iteration is described in "Resourceful Dependent Types"[0]. I'm interested in what the Granule people are doing though - they can track usage
63.
▲
by
bjz_
7y ago
Mercury brings a bit more sanity to Prolog with its mode system. This is one of the key reasons why it runs fast and can be used to build big systems like Prince. That said, it _is_ a restriction on expressiveness of programs, and sometimes
64.
▲
by
bjz_
7y ago
Waaaaaat. There's so much in Haskell's type system that is also in logic programming. Like Hindley-Milner type inference and type class instance resolution.
65.
▲
by
bjz_
7y ago
> I'm sure this is awesome, but there's no code examples until I download a read a PDF tutorial. Yeah, I definitely think this is something that could be improved - Mercury tends to come from a more 'old-school' form
66.
▲
by
bjz_
7y ago
Funnily enough we don't actually use the built-in non-determinism all that much. Often the layout tasks that HTML and CSS demand require us to build our own, bespoke algorithms, for performance and control reasons. We still get a bunch
67.
▲
by
bjz_
7y ago
I work at YesLogic and answered a similar question on Lobste.rs recently: https://lobste.rs/s/7op1vm/my_first_3_weeks_professional_rus... The gist of it (as far as I understand it) is that at the time Prince was s
68.
▲
by
bjz_
7y ago
> A language with dependent types and borrow checking I'm definitely interested in this! There are significant challenges here though, particularly with respect to combining dependent types with effects and coeffects! This is open r
69.
▲
by
bjz_
8y ago
Yeah - renewables are quicker to bring online, and allow for faster iteration and innovation. If Australia currently had nuclear power plants I definitely wouldn't be in favour of shutting them down, but it seems a better bet to invest
70.
▲
by
bjz_
8y ago
> Business changes are usually changes in logic, not in types. Types _are_ logical propositions. In languages like Coq they are more expressive, and it's easier to leverage them as a way to constrain your implementation. Of course i
71.
▲
by
bjz_
8y ago
Awesome work! I've not had the greatest experience with Opam in the past for the reasons you mention - after using Cargo for a long time, it was a bit of a shock! This could do wonders to improve things! Some questions: - Is there any
72.
▲
by
bjz_
8y ago
> I used to point out to people that functional programming can be imperative and nobody (I do mean nobody I spoke to about this) would believe me on this. Interesting. Monadic Haskell can be quite imperative if you want it to be, as can
73.
▲
by
bjz_
8y ago
> and it's built on Chromium That's a negative to me - again, too much browser engine consolidation. :/
74.
▲
by
bjz_
8y ago
> I stand corrected, as monomorphization is optional for parametric polymorphism but mandatory for ad hoc polymorphism. It's not mandatory for ad-hoc polymorphism. Haskell desugars ah-hoc polymorphism to dictionary passing (although
75.
▲
by
bjz_
8y ago
Oh, I must be mistaken then. So pointers are guaranteed not to be null? Can I mark pointers as nullable, and be forced to explicitly check? Although there are differing ways to define dependent types, and they come in different varieties (d
76.
▲
by
bjz_
8y ago
I wouldn't say it's inexcusable, but I'm definitely trying to avoid any systems language that has implicit null, and allows for data races and de-referencing uninitialized memory from safe code. So that only really leaves ATS
77.
▲
by
bjz_
8y ago
> This approach, technically termed ad hoc polymorphism (i.e. polymorphism without type system support) Note that Haskell and Rust (and other languages) have adhoc polymorphism _with_ type system support via type classes/traits. I w
78.
▲
by
bjz_
8y ago
You can use most WebExtensions from Chrome with Firefox: https://addons.mozilla.org/en-US/firefox/addon/chrome-store-...
79.
▲
by
bjz_
8y ago
Been really enjoying Firefox, especially after Quantum. More devs should support and use it, lest we be beholden to Chrome for the rest of time.
80.
▲
by
bjz_
8y ago
> They tapped Yehuda Katz early on for this. After trying three or four times to build one on their own that is!
81.
▲
by
bjz_
8y ago
I don't know about Crystal's preformance problems specifically, but I would be surprised if macros would take up much compile time. I would have guessed it was more to do with the fiendishly tricky type inference problem that they
82.
▲
by
bjz_
8y ago
Yeah, what I was referring to when I mentioned marketing and communication design in another thread. You don't have to make false claims, you just have to shape your wording and content in order to target the right people in a more rel
83.
▲
by
bjz_
8y ago
Prince is pretty powerful when it comes to print-specific stuff. We care about pagination, making tables look good across page breaks, footnotes, great justification, table of contents, non-sRGB color space handling, crop marks, etc. Also h
84.
▲
by
bjz_
8y ago
Oh yeah! Definitely agree with this!
85.
▲
by
bjz_
8y ago
Marketing and good communication design is important though, if you want to actually reach new users. If somebody can't get the gist of what you're about from a glance, they are far less likely to invest a year into giving it a so
86.
▲
by
bjz_
8y ago
As Mike says in a sibling comment, we use it quite heavily for implementing our HTML-to-PDF browser engine, https://www.princexml.com It's a pretty handy general purpose language, kind of a combination of Prolog and Haskell
87.
▲
by
bjz_
8y ago
I always found react-redux's connect function maddeningly hard to understand, because it does far too many things all in one function. The types just expose that complexity, and make it plainly obvious that it should be split apart. Th
88.
▲
by
bjz_
8y ago
Afaik (I'm no security expert), as soon as you pushed them to a public repo you should change them all regardless of force pushing, because there's no way to take it back. Folks do trawl github for passwords and secrets.
89.
▲
by
bjz_
8y ago
I dunno, I do prefer having type directed editing (eg. auto case splitting, and autocomplete), so full type inference is less of a holy grail to me. Damas-Hindley-Milner inference is also hyper-optimised to a specific point on the design sp
90.
▲
by
bjz_
8y ago
That's why you go with bidirectional type checking instead. This scales much better to more interesting language constructs like rank-n polymorphism, and dependent types, gives better localised error messages, and the downside of havin
More ›