Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
uryga
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
40 ms
·
361.
▲
by
uryga
7y ago
> propositions are not necessarily types could you expand on this?
362.
▲
by
uryga
7y ago
yeah, Ctrl+F "type" gives 4 (non-title) occurrences, all of them in the first two paragraphs. the rest seems to be related to AI and the problems of making it "actually refer to the real world". weird! EDIT2: i think the
363.
▲
by
uryga
7y ago
thanks for the reply! i'm gonna need some time to mull it over... would you be able to say how "normalizing" fits into this? by "normalizing" i mean applying some function that takes each equivalence class to a repr
364.
▲
by
uryga
7y ago
could you point me towards an explanation of why quotients aren't constructive?
365.
▲
by
uryga
7y ago
check out the wiki article about DJ Sprinkles: https://en.m.wikipedia.org/wiki/Terre_Thaemlitz it's written without using pronouns in accordance with the artist's wishes afaik. it's pretty easy to notice
366.
▲
by
uryga
7y ago
i learned a bunch of German years ago, and while i don't really know what the particular components mean, it's pretty easy for me to decompose the word into parts. do you see a "ge-" or a "be-"? its probably t
367.
▲
by
uryga
7y ago
[Idris - Define a 'Prime' type]( https://stackoverflow.com/q/46132987/5534735 ) it looks pretty weird tbh. the ergonomics of dependent types are an open area of research
368.
▲
by
uryga
7y ago
hoogle is great, but it gives you library functions. it won't teach you higher-level patterns like f <$> x <*> y <*> z to "map a function over three values"
369.
▲
by
uryga
7y ago
i put it in quotes because i meant "arbitrarily weird side-effects", but you're right that i should have used a different term
370.
▲
by
uryga
7y ago
i guess the argument is that you'll never read random garbage instead of a well-formed object; and given that random garbage could result in pretty much arbitrary "undefined behavior", it should at least guarantee that your p
371.
▲
by
uryga
7y ago
oh man, i must've missed it! tbh though, i just quickly scanned through the article to see if this needed plugging, because I remember being completely stumped by `(<×>)`. too late to edit it now though :/ sorry!
372.
▲
by
uryga
7y ago
there's an equivalent definition of Applicative that may be a bit less intimidating: class Functor f => Applicative f where unit :: f () (**) :: f a -> f b -> f (a,b) [source - a bit CT heavy]( https://
373.
▲
by
uryga
7y ago
so what's the "cost in complexity" here? the complexity would be there whether you went with a a hand-rolled or "zero-cost" version (at least that's the idea), except the "zero-cost" version should re
374.
▲
by
uryga
7y ago
there's [Hackett]( https://github.com/lexi-lambda/hackett ) though it's more an implementation of haskell within racket
375.
▲
by
uryga
7y ago
i've never read it that way! could you give an example of that?
376.
▲
by
uryga
7y ago
isn't "zero-cost abstraction" shorthand for "zero- performance -cost abstraction"? i.e. computer, not human, performance?
377.
▲
by
uryga
7y ago
each of those options have major downsides: - 'dumb data' (json, yaml, ...) is machine-, but not human-friendly. it's often tedious to write/read, and you can't abstract common parts out - DSLs are something you hav
378.
▲
by
uryga
7y ago
> Of course, this leads to type -> type functions which describe dependent and refinement types naturally. could you expand on this? i don't understand how you get this from grammars. (on a side note, i think that dependent types
379.
▲
by
uryga
7y ago
i regularly use Compose for unicode symbols, mostly stuff like ←↑↓→–≠ . it's not too clunky, for example "→" is "RAlt, -, >" in succession.
380.
▲
by
uryga
7y ago
btw i came a across a definition of `||` which wouldn't have the `5 + -5` problem, and thus would make it all work with integers: x || y = x + y - xy
381.
▲
by
uryga
7y ago
> Time is growing more important than space, that'll be building up to 2024. that part makes you sound a bit crank-ish... could you explain this a bit more? what's happening in 2024?
382.
▲
by
uryga
7y ago
why hasn't it aged well? re: c#, afaik LINQ would solve this particular problem, so perhaps the solution wouldn't be as verbose nowadays. but other than that it still rings true – I miss Haskell when doing Python and keep coming u
383.
▲
by
uryga
7y ago
true! i wondered if i should include that but decided to stick with the "mathematical" naturals since we were talking from a math standpoint
384.
▲
by
uryga
7y ago
i haven't checked it thoroughly, but it looks like all the desired properties of boolean arithmetic are preserved when false = 0 true = [1] (i.e. the equivalence class of all n > 0) && = + || = * spelling it out
385.
▲
by
uryga
7y ago
yeah but presenting a hypothesis as fact (as the title does) is misleading at best. something like "A new hypothesis re: the development of recursive language" would be better
386.
▲
by
uryga
7y ago
> The meanings of expressions are determined by those who use them communication is a team sport though. "intended meaning" is only worth anything if the recipient understands it
387.
▲
by
uryga
7y ago
i used to like that distinction as well but verbs are too useful to let mutating stuff use them all up! and pure functions are actions as well, they just result in a new thing. also, some verbs sound awkward adjectified: take, drop, show, g
388.
▲
by
uryga
7y ago
ah, that makes sense! but what about something like ConvertFromTo(F,T) ? i mean, we need a single method func convert(f F) T but where should it go (which type should implement it)?
389.
▲
by
uryga
7y ago
afaik there's no such thing as an interface for multiple types in Go; i.e. you can have (the equivalent of) `Foo implements Comparable` but not `Bar, Baz implement ConvertFromTo`. `Graph(N, E)` mentions two types, so you can't rea
390.
▲
by
uryga
7y ago
i do it when i'm in a REPL and want to minimize typing, but probably wouldn't put it in an actual program... so i guess we mostly agree
More ›