Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
mkolosick
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
4 ms
·
1.
▲
by
mkolosick
7y ago
Perhaps using abstract names A, B, and C was unclear. The following is the rule that is commonly referred to as modus ponens: A → B A ----------- B However, modus ponens is just one of the names for this. I could also ca
2.
▲
by
mkolosick
7y ago
While naming the different derivation rules can be useful for guiding readers the names are not formally necessary. The rules A B ----- C and A B ----- (→c) C are logically equivalent, the latter just gives you
3.
▲
by
mkolosick
10y ago
Good question! Pyret does not translate to a class hierarchy. Pyret dynamically allows dot lookups on both objects and ADTs. In the type checker this means that an ADT permits dot lookup on any field that all variants have (in this case, `n
4.
▲
by
mkolosick
10y ago
Hi, I'm actually the person who wrote the static type checker. Essentially we get around the difficulties of mixing objects and ADTs by having very limited support for subtyping. This way we can still carry out unification-based infere
5.
▲
by
mkolosick
11y ago
You can use "!hn duckduckgo" that usually works better.
6.
▲
by
mkolosick
11y ago
As the sibling comment mentions, Pyret was originally written in Racket. It's now self-hosted, and I'm working on rewriting the typechecker so if you want I can answer questions about that. The current development is all done on
7.
▲
by
mkolosick
11y ago
How do you determine semantically equivalent code fragments? Is it a dynamic solution or a static solution?
8.
▲
by
mkolosick
11y ago
Not quite though. I had a bug with Javascript where I was reading in a number and forgot to parse it to a float. I ended up doing an addition with that value, which later got used as a float again. So I had 1 + "10" turn to 110 wh
9.
▲
by
mkolosick
11y ago
It's more a one-way dataflow language.