Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
sklogic
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
93 ms
·
901.
▲
by
sklogic
11y ago
Haskell is poorly equipped for implementing compilers because writing compilers in Haskell requires tons of boilerplate, which is not needed in the languages that are a much better fit for this task. Kinda obvious from a definition of what
902.
▲
by
sklogic
11y ago
Pretty basic: graceful error recovery, arbitrarily complex error reporting, arbitrary actions (potentially with some side effects). I.e., everything that is needed for the IDE integration and for the professional compiler frontends with usa
903.
▲
by
sklogic
11y ago
Any language that allows compile-time metaprogramming (and not as restricted as TH) should allow to implement all the components I want. One example of such a system is the Nanopass framework [1], used alongside with cKanren [2]. Another ex
904.
▲
by
sklogic
11y ago
> Haskell is an amazing language for writing your own compiler. If you are writing a compiler in another language you should genuinely consider switching. Uhm, no, thank you, but no. Haskell is poorly equipped for implementing compilers,
905.
▲
by
sklogic
11y ago
Uhm, I write literate code exactly because my code is very compact so I can afford to dilute it with an equal amount of prose. And, yes, I still prefer to print the whole thing and work with a paper rather than in any IDE.
906.
▲
by
sklogic
11y ago
No, code cannot explain itself. No code will ever tell you why this algorithm was chosen, what are the unobvious consequences of this choice, and which papers should be cited.
907.
▲
by
sklogic
11y ago
I always thought that people who cannot adequately express their thoughts are fundamentally unfit for any kind of programming anyway.
908.
▲
by
sklogic
11y ago
Code itself does not tell the story , does not give you any background or any non-formalised constraints. There is absolutely no way code can replace a proper literate prose.
909.
▲
by
sklogic
11y ago
It depends on your programming style. If it's a typical convoluted, constantly refactored OO code - then, yes, literate programming won't help. If your code consists of a lot of DSLs, clearly separated from each other, each implem
910.
▲
by
sklogic
11y ago
Tell this to A. Stepanov (creator of STL). He maintains that C++ is not an OOP language and OOP has a very little place in it, if any at all. C++ is not a C with classes. It is a C with namespaces, templates and RAII.
911.
▲
by
sklogic
11y ago
Superiority is obvious. An alternative is to represent the real world problem domains as is , without hammering them into any stupid, inadequate "models" like OO, functional, whatever else.
912.
▲
by
sklogic
11y ago
No way. Majority of a so-called OOP code is nowhere close to an adequate representation of the problems it is supposed to solve. Most of the code out there is either not very OOP, breaking the purity for the sake of common sense, or a pile
913.
▲
by
sklogic
11y ago
OO does not fit most of the real world problems, not just a particular way of thinking.
914.
▲
by
sklogic
11y ago
Held me up until a C++ rant. Among multiple ways of using C++, an OOP way is the least important. It is not an OO language, so most of the legitimate anti-OOP criticism simply does not apply to C++.
915.
▲
by
sklogic
11y ago
It must be really slow in order to avoid attacks like this one: https://github.com/IAIK/rowhammerjs
916.
▲
by
sklogic
11y ago
> You can't write safe code in any Turing complete language. Correct. But, a lot of code is written in Turing complete languages which does not really require any Turing completeness at all. And some code should be implemented in
917.
▲
by
sklogic
11y ago
> So you just write your own dynamic memory allocator. If the entire pool is reclaimed once page is rendered (and there is a way to handle the running out of space condition) it may not count as a rule violation, no more than incrementin
918.
▲
by
sklogic
11y ago
> Good luck writing misra-compliant web browser. I'd be delighted to see one. Statically pre-allocating a large continuous chunk of memory for the whole browser process lifetime would have been great.
919.
▲
by
sklogic
11y ago
C still got a right to exist even in the very sensitive mission-critical environments, as long as MISRA requirements are followed (and, the good thing is that they can be automatically enforced).
920.
▲
by
sklogic
11y ago
> to the actually interesting parts (WPF, WinForms) I always had an impression that all this GUI stuff is only interesting to a relatively small minority of the .NET users. Am I wrong?
921.
▲
by
sklogic
11y ago
Just asked a number of people around how do they read this title. Nobody had "The Pentagon" in mind. London, UK, geeky population, so there might be some bias.
922.
▲
by
sklogic
11y ago
> most people have is that there has been an attack on The Pentagon Most people on this planet do not give a crap about some tasteless Northern American building. It is unlikely the first association with the word "pentagon" fo
923.
▲
by
sklogic
11y ago
It would only have been misleading with a capitalised "Pentagon".
924.
▲
by
sklogic
11y ago
The method was apparently a brute force attack, so the title is accurate.
925.
▲
by
sklogic
11y ago
Many static analysis tools are working on JVM bytecode level, and there are quite a few for even the raw x86.
926.
▲
by
sklogic
11y ago
Thanks for the TL;DR! I see the point, it's not that new at all. For example, Coverity tools are using sqlite to store the huge pile of IR.
927.
▲
by
sklogic
11y ago
Number of compiler passes does not reflect its "complexity". Can in fact be the opposite - the more distinct passes there are, the simpler each of the passes is, together making the whole thing simpler. > Clojure being the obvi
928.
▲
by
sklogic
11y ago
Currently Prolog-derived languages are making a sort of a comeback - Kanren is widely used, just look at the number of ports and variations. My favourite recent example of cKanren used inside a compiler is Harlan [1] (see the region inferen
929.
▲
by
sklogic
11y ago
It does not really matter how we are interpreting the term "reverse engineering". What matters is how it was used in the OP article, in the EULAs and the national laws. In the article it was clearly applied to a binary analysis pa
930.
▲
by
sklogic
11y ago
> The only definition of "reverse engineering software" that I use Uhm, no, that's far too narrow. Reverse engineering is any kind of introspection into a device in question, designed for obtaining any degree of understand
More ›