Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
ufo
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
67 ms
·
901.
▲
by
ufo
6y ago
This one is my favorite summary of the Tether story: https://www.kalzumeus.com/2019/10/28/tether-and-bitfinex/
902.
▲
by
ufo
6y ago
On the topic of other VMs, Lua 5.4 (released last year) now uses the computed goto by default.
903.
▲
by
ufo
6y ago
I find that this kind of pattern can be useful if you have a default implementation for each visit_foo method. For example, suppose that you want to create a traversal that walks through the entire Ast and does something special on just the
904.
▲
by
ufo
6y ago
By any chance, do you know an example of a regex library or tool that uses that backwards-matching trick?
905.
▲
by
ufo
6y ago
A question for the Rust crowd, from someone who's thinking about giving Rust another chance in 2021: Last time I tried getting into Rust, some years ago, the recommended way to install it was to use the rustup tool. You were also kind
906.
▲
by
ufo
6y ago
Yes, the main difference is the instruction set. One common way to design a stack-based instruction set is to refer to the local variables using stack offsets, just as in a register-based instruction set. The operation for reading a local v
907.
▲
by
ufo
6y ago
> Closely related to stack based VM are register based virtual machines. They are also interpreters of bytecode, but their design is quite different, since they don’t use the stack for the operands but rather a set of registers. This is
908.
▲
by
ufo
6y ago
There only way to know for sure would be to run a controlled trial. Vaccines can work (or not work) in surprising ways.
909.
▲
by
ufo
6y ago
IIRC some of those soundness holes are an intentional tradeoff to simplify the type system. http://users.soe.ucsc.edu/~abadi/Papers/FTS-submitted.pdf
910.
▲
by
ufo
6y ago
Actually, I think that might work in Javascript! All the numbers are IEE754 floating point numbers and there are separate values for positive and negative zero.
911.
▲
by
ufo
6y ago
Even better: just make all arrays one-based instead of zero-based ;)
912.
▲
by
ufo
6y ago
I think I might disagree with #3. I find that having arr[-1] point towards the last element of the array can hide accidental off-by-one errors. It's also a bit weird how the arrays are zero-based if you access them normaly but one-base
913.
▲
by
ufo
6y ago
I was also disappointed by that post. I'm definitely not a fan of modern C++ but I wish they would have explained their reasoning in more detail. How is this different from the other C++ subsets that they list in the references?
914.
▲
by
ufo
6y ago
Flex+yacc and llvm are for separate steps in the process. The former are for parsing the source code into an AST and the latter for generating executable code from the AST. That said, somewhere else on this comment thread user "finitel
915.
▲
by
ufo
6y ago
The weirdest one for me was learning that their git repository has more than one root commit.
916.
▲
by
ufo
6y ago
A question for the LLVM experts here: In the past when I've looked at LLVM from a distance, the biggest stumbling block I found were that it's written in C++ , which isn't the language I'm using for my frontend. How impo
917.
▲
by
ufo
6y ago
No binary data. Just an ordinary git repo with a bunch of source code files (mostly C and Lua).
918.
▲
by
ufo
6y ago
Wow! Running git gc just shrunk my .git folder from 18MB to only 3MB.
919.
▲
by
ufo
6y ago
A dumb question: if I make a commit changing just a single line in a large file, does this create a completely new object/blob with the entire contents of the file? Or does it store it in a more space-efficient manner?
920.
▲
by
ufo
6y ago
I remember reading the part about binary search in Programming Pearls and it left a big impression on me. It is a very neat example because it's something that everyone thinks they know how to do, but there are enough places to introdu
921.
▲
by
ufo
6y ago
While the more obvious application of defunctionalization is to avoid stack overflow from using the implicit machine stack, another application is if you want to make your algorithm asynchronous. In many languages, it's hard to create
922.
▲
by
ufo
6y ago
The mechanical transformation described in the article does not change the asymptotic complexity of the program. It just changes it from using an implicit (recursion) stack, to using an explicit stack. The neat thing about that transformati
923.
▲
by
ufo
6y ago
Can a process increase their own stack limit or do they need to spawn a child process with a higher limit?
924.
▲
by
ufo
6y ago
> I don't think the 'stops buggy programs' argument is particularly compelling, since that could apply to pretty much any restriction This is the part that irks me the most. If I have an algorithm that is neatly written as
925.
▲
by
ufo
6y ago
The other question I always had is why do we need to have a fixed limit for the stack. Why can't it grow automatically as needed, just like the heap?
926.
▲
by
ufo
6y ago
Thanks again. Much appreciated.
927.
▲
by
ufo
6y ago
Thanks, but the WASM ecosystem is a bit foreign to me so some of what you said went right over my head. Would it be correct to say that: 1. AssemblyScript functions can be exposed to Javascript via the loader utility. If the arguments are p
928.
▲
by
ufo
6y ago
I'm curious how this works in terms of interoperability with Javascript but I couldn't understand that from reading their website. Does anyone here know how the interop works, by any chance? * Can JS functions call Assemblyscript
929.
▲
by
ufo
6y ago
The attribute(cleanup) is just exposing to C the C++ destructor functionality that is already implemented in the compiler. That's why it's using the awkward nonstandard syntax.
930.
▲
by
ufo
6y ago
I got the impression that the proposal still has some aspects of the design that are open for discussion, including whether it should be static or dynamic, and whether it should capture the variables by value or by reference. (These are dis
More ›