Dec
8
comment Historical precedent for why Prolog is less popular than SQL in Imperative Programming?
Datalog is actually used in some very creative ways: cs.cmu.edu/~aldrich/courses/654/tools/bierhoff-bddbddb-05.pdf
Dec
5
comment How the Erlang get soft-realtime with GC?
I mean that if there is a known constant throughput of the garbage collector, with a known time in between epochs, you can, potentially, statically prove that your allocation rate do not exceed this threshold. Not sure if anyone is doing this in practice.
Dec
5
comment How the Erlang get soft-realtime with GC?
it's more up to the user, not the GC system. No GC algorithm can guarantee that a user does not choose a particularly pathological allocation pattern, and there is a pathological edge case for any possible GC algorithm with no exceptions. And yes, GC must run concurrently with your RT mutators, with a known and fixed throughput (e.g., on a dedicated CPU core). This way (assuming it's a mark&sweep) there is always a fixed maximum time in between epochs, so you can always predict what is the maximum possible size of unreclaimed memory at any moment.
Dec
4
comment How the Erlang get soft-realtime with GC?
you should not care about collection timing - the only requirement that it never ever blocks your RT processes.
Nov
10
comment Reference counting & GC in LISP
A significant subset of Lisp can live well without any GC at all, with nothing but a trivial region analysis.
Oct
20
comment Why does a bytecode VM use stack or registers opposed to direct operations?
What do you mean by "doing this directly"? Do you want to interpret, say, a DAG with phis instead of a flat bytecode? I'm affraid, there is no easy way to optimise such an interpreter, while for the flat ones you can do a lot of nice tricks (like threaded code, simple template JITs, etc.).
Oct
17
awarded  Nice Answer
Oct
10
awarded  Nice Answer
Oct
2
comment When does it make sense to compile my own language to C code first?
It makes sense when your language semantics maps to C easily (e.g., you do not require a runtime with preemptive green threads, like Erlang), when you do not care about compilation latency (e.g., this is not a scripting or protocol language), and when you can trust C level to optimise your code (e.g., no need to hint backend any further).
Sep
24
awarded  Autobiographer
Sep
21
comment Why don't developers make installation wizards on linux?
I could never understand a point of such wizards, 99.99% of users will blindly click "Continue" anyway, so a silent, non-interactive installation makes much more sense.
Sep
16
comment Scheme vs Common Lisp: Which characteristics made a difference in your project?
@ArtB, I'm implementing eDSLs as compiler functions which may do quite a lot with their source AST. Hygiene is a total nuisance within such an approach. You can take a look at how it works: github.com/combinatorylogic/mbase
Sep
10
comment How does the Common Language Runtime improve performance?
@neelsg, VM does not necessarily interpret anything. Managed code must not "surely be slower". And JIT's got a number of potential performance benefits vs. static code due to availability of the runtime profiling and tracing information.
Sep
10
comment How does the Common Language Runtime improve performance?
Your understanding of how virtual machine works is wrong.
Sep
2
comment Why aren't we building and using parallel processors *meant* for general computation?
Last time it did not work: en.wikipedia.org/wiki/Transputer
Sep
2
comment What's wrong with comments that explain complex code?
@mattnz, my point is that the vast majority of the developers are of pretty much the same capability. All that "10x programmer" stupid myths are irrelevant in the real world. Assuming that everyone else knows the same stuff as you do is almost always the safest way.
Sep
2
comment What's wrong with comments that explain complex code?
@FlorianF, only if you're using something like JavaDoc, or Lisp's doc strings. Otherwise such comments are useless and hard to navigate from an IDE.
Sep
1
comment What's wrong with comments that explain complex code?
@mattnz, why are you assuming a symmetric (e.g., a bell curve) distribution?
Sep
1
comment What's wrong with comments that explain complex code?
"What" the function or method do should be obvious from its name. How it does it is obvious from its code. Why is it done this way, what implicit assumptions were used, which papers one need to read in order to understand the algorithm, etc. - should be in comments.
Aug
29
comment Are C static libraries frowned upon?
@supercat, it's rather somewhere around 50Mb of the actual code. But yet, you need 4Gb to link it. Linkers are broken by design.