Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
sklogic
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
41 ms
·
361.
▲
by
sklogic
11y ago
And again, 90% about the parsing, and a couple of words about "code optimisation". That pitiful so called "Dragon Book" really keeps taking its toll of souls. I'm terribly sorry to break the news for you, but no, co
362.
▲
by
sklogic
11y ago
This is nearly impossible. Just imagine decompiling the result of lowering some deeply nested pattern matching.
363.
▲
by
sklogic
11y ago
Now, what exactly do you need the bootloader source code for? And if you're really depending on it, there is a reverse engineered VPU code, just build upon it.
364.
▲
by
sklogic
11y ago
Low end FPGAs are used very widely in the consumer products. STBs are probably the most numerous.
365.
▲
by
sklogic
11y ago
> The cost in time and complexity of solving a problem in hardware is almost always larger. Why? I have exactly the opposite feeling when I'm dealing with software - "if only I could design my own cache here, how much easier wo
366.
▲
by
sklogic
11y ago
Biggest OO languages gotcha is the dot-syntax (hint: it must be left-recursive), but it is not OO specific, plain old C had the same problem.
367.
▲
by
sklogic
11y ago
Bidirectional parsing-pretty-printing is a nice thing, with the only potentially tricky issue in an idiomatic rendering of the infix opetators with priority. Firstly, parser must be aware that they are special (I am using a dedicated Prat
368.
▲
by
sklogic
11y ago
Is any of the indices you're describing O(1)? Very, very unlikely. As for the bulk operations, they're in most cases totally useless. Rendering - maybe, but most of the other CAD operations require precise edge following. And wh
369.
▲
by
sklogic
11y ago
Shit, not this scumbag again.
370.
▲
by
sklogic
11y ago
The last attempt was made in around 2008, AFAIR. Fundamentally nothing changed in the relational storage. Follow-a-graph-edge operation is as expensive as it used to be (involves an index lookup, it cannot be cheap). If you know a relationa
371.
▲
by
sklogic
11y ago
Somewhat related: https://github.com/a2flo/oclraster
372.
▲
by
sklogic
11y ago
I worked on a (very old) ship-building and factory-building CAD, written mostly in PL/I and Fortran. It was built around a graph database. Throughout its long and turbulent history, there were many attempts of moving to a relational st
373.
▲
by
sklogic
11y ago
Yes, of course you could always select a node (often you'd always have to start from a single root node), select arcs, filter the arcs by some criteria, etc. But I've never seen a complex query language that would allow to express
374.
▲
by
sklogic
11y ago
A typical graph dbms exposes a node selection (often only allowing to start at a single entry node or selecting a set of nodes by tags) and arc selection / filtering. Given that they were mostly used for CADs such an interface makes a
375.
▲
by
sklogic
11y ago
Most of the language was introduced by Conway himself, with a bit of contribution by Gardener who popularised it.
376.
▲
by
sklogic
11y ago
> a database which can efficiently represent graphs and offers functionality for traversing them First part is matching the commonly accepted definition (the one that had been around for about 50 years). The second part is your own inven
377.
▲
by
sklogic
11y ago
Are you inventing your own new, hipstor definition of a "graph database" here? I used graph databases a lot, and I never heard of any of the requirements you've listed.
378.
▲
by
sklogic
11y ago
Mind naming any historical (i.e., from the pre-relational era) graph DBMS that had graph traversal features?
379.
▲
by
sklogic
11y ago
Of course you can express anything on top of a relational model. But for graphs such a representation would have been awfully inefficient. For this reason, CADs never even tried to switch to a relational data storage once that fancy new rel
380.
▲
by
sklogic
11y ago
It is nice and simple indeed but does not really show anything instructive in terms of backend, which is the focus of this thread. And once you go into SSA and proper isel, there is no way to do it both easily and compactly at the same time
381.
▲
by
sklogic
11y ago
Tiny does not mean "simple", and this is very true in compilers. There are ways of making a compiler trivial and extremely comprehensible, but it involves somewhat lengthy code. A tiny compiler which fuses multiple transforms int
382.
▲
by
sklogic
11y ago
Far from a comprehensive list, just the stuff I could remember straight away: Nanopass: http://www.cs.indiana.edu/~dyb/pubs/nano-jfp.pdf http://andykeep.com/pubs/np-preprint.pdf An extremely
383.
▲
by
sklogic
11y ago
A good start. But a lot of really important and approachable stuff is missing from the list. On SSA, for example, the best introduction is S. Pop thesis: http://www.cri.ensmp.fr/people/pop/papers/2006-12-thesi
384.
▲
by
sklogic
11y ago
Are you going to profile everything for the entire nearly infinite range of possible input values, including all the pathological cases?
385.
▲
by
sklogic
11y ago
That guy in Google who screwed up Android thought just like you. Now, as the number of text messages stored on your phone grows, the entire system slows down. Such a pity that cretin was not screened out on an interview!
386.
▲
by
sklogic
11y ago
> I tend to prefer more practical programming to theory And yet you're asking about a Computer Science . Why? You should be looking for a Software Engineering course instead.
387.
▲
by
sklogic
11y ago
Not sure singling out Tesla is fair. Pretty much all the modern (built in 21st century) cars are far less serviceable and far less modular than they used to be before. The military designs are the only exception from this unfortunate trend,
388.
▲
by
sklogic
11y ago
Sorry for a confusing wording. I was referring to the newly generated tag variables A1, A2, ..., An. The next typing pass after solving the equations is to substitute those tags with the type values found by Prolog.
389.
▲
by
sklogic
11y ago
For example, you have an AST node for 'x + 2', encoded as 'apply(apply(var("+"), var("x")), const("2"))' (we're talking about ML, so it is curried here). Firstly, all the expression nod
390.
▲
by
sklogic
11y ago
As I said, this kind of restrictions are useful but not enforced.
More ›