Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
bakery2k
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
1.
▲
by
bakery2k
7y ago
> what can you expect from a language that uses "+", the quintessential notation for commutative operations, for the (very non-commutative) operation of concatenation? Is this any worse than using `+` for floating-point additio
2.
▲
by
bakery2k
7y ago
So, Envoy will be embedding WebAssembly alongside (or instead of) Lua? Are other projects moving from Lua (or other embedded scripting languages) to WebAssembly? What are the benefits of compiling an extension to WASM rather than writing it
3.
▲
Lua and Python
(lwn.net)
3 points
by
bakery2k
7y ago
|
0 comments
4.
▲
by
bakery2k
7y ago
Thanks, that makes sense.
5.
▲
by
bakery2k
7y ago
> It was released just as the PS2 was announced I think that's the point. A lot of people bought a PS2 because it was also a DVD player (same with the PS3 and Blu-ray).
6.
▲
by
bakery2k
7y ago
Isn't code generation during parsing still common today? In particular, bytecode generation in interpreters (and JIT compilers) for scripting languages, e.g. Lua?
7.
▲
by
bakery2k
7y ago
`range` is an example. Lack of support for overloading makes it harder to replicate its API in our own functions.
8.
▲
by
bakery2k
7y ago
Well, however the `range` function is implemented, IMO its API would be better expressed as true overloading - as two functions with the same name.
9.
▲
by
bakery2k
7y ago
If all we do is write Pythonic code (especially now that "Pythonic" seems to include type hints), what's the benefit of the highly dynamic CPython virtual machine? Surely a faster VM, or even an ahead-of-time compiler, would
10.
▲
by
bakery2k
7y ago
`range(stop)` and `range(1, stop)` are both supported, but without overloading, the implementation of `range` is messy as it has to work out the meaning of each argument manually.
11.
▲
by
bakery2k
7y ago
That's the thing - it's documented as overloaded, because that's the most intuitive explanation. Wren would allow it to actually be implemented as an overloaded function. Python doesn't support overloading, and it doesn&
12.
▲
by
bakery2k
7y ago
The Wren scripting language supports this kind of "overloading by arity" [0]. Wren therefore allows overloads such as `range(stop)` and `range(start, stop)`. This is more intuitive than Python's `range(start=0, stop)`, which
13.
▲
by
bakery2k
7y ago
"Distances longer than a few kilometers are measured in miles" was a direct reference to the OP's "yards to measure distances shorter than a few kilometers".
14.
▲
by
bakery2k
7y ago
I think Jedd was commenting on the spelling of "meter" vs "metre".
15.
▲
by
bakery2k
7y ago
The UK doesn't use the metric system for distances, at least when talking about travel. The only switching is from yards to miles.
16.
▲
by
bakery2k
7y ago
That shouldn't be surprising. Distances longer than a few kilometers are measured in miles.
17.
▲
by
bakery2k
7y ago
> an engineer in silicon valley Good point. The biggest factor that determines an engineer's salary is location, followed by years of experience. Not whether they work on compilers/embedded/web/whatever.
18.
▲
by
bakery2k
7y ago
From GitHub [1]: "Plans to try MIR light-weight JIT first for CRuby or/and MRuby implementation" "MIR is strongly typed" Is there an explanation of how the project bridges the gap between dynamically-typed
19.
▲
by
bakery2k
7y ago
I wonder if it's similar to embedded software development (which also requires "rigorous working methods"). Salaries for embedded are generally lower than for web development because there's much less demand for embedd
20.
▲
by
bakery2k
7y ago
In a language like Python that encourages duck typing, type hints can become extremely complex [1] and can get in the way of the ideal of "executable pseudocode" [2]. [1] https://mail.python.org/pipermail/pyth
21.
▲
by
bakery2k
7y ago
Spot on. Static typing has benefits, but it also has a cost. Python's optional type hints have all the complexity but only some of the benefits - in my experience, runtime type errors are still common. > To me it feels like python i
22.
▲
Guido van Rossum Exits Python Steering Council
(discuss.python.org)
70 points
by
bakery2k
7y ago
|
4 comments
23.
▲
by
bakery2k
7y ago
> the actual creator of the language was so against the addition of this operator that he saw the community’s insistence on it as reason to step down as BDFL. That's backwards. The community was generally opposed to the walrus ope
24.
▲
by
bakery2k
7y ago
I think Python’s direction changed when Guido moved to Dropbox. Suddenly he was working on a million-line Python codebase, and started working to make the language more suitable for programming in the large.
25.
▲
by
bakery2k
7y ago
Because if `a` and `b` are lists, `a.__iadd__(b)` mutates `a` in place, then returns it.
26.
▲
by
bakery2k
7y ago
Is saving 5 lines of code really worth breaking Python's "one way to do it" design principle?
27.
▲
by
bakery2k
7y ago
`a += b` does something along the lines of `a = a.__iadd__(b)`. Here `__iadd__` performs the actual append, but then the assignment fails.
28.
▲
by
bakery2k
7y ago
Braces in Python would have issues, e.g. ambiguity with set/dict literals. Most similar languages (except JavaScript) seem to use begin/end instead. Would that be more acceptable than significant indentation?
29.
▲
by
bakery2k
7y ago
"Effect and exception" is bad, but its a special case of a more general bad design - the fact that `a += b` is sometimes equivalent to `a = a + b` and sometimes changes in-place.
30.
▲
by
bakery2k
7y ago
I came across this recently, when writing a blog post about a puzzle I solved. I wasn't sure whether to structure the post "chronologically", telling a story: 1. Here's an interesting puzzle. 2, 3, 4, 5. These
More ›