Mote is a remarkable vim plugin where the editor can use type holes to almost write Haskell code for you!
miniblog.
OH: "Mathematica is the only successful lisp derivative with m-expressions."
Great overview of LLVM passes, their design, and the pitfalls of phase ordering: https://llvm.org/devmtg/2014-04/PDFs/Talks/Passes.pdf
In Rust you can add methods to any type in a sane way. It's elegant, but hard to get used to after years of 'no monkeypatching!'
Python trivia: x+(1+1) is faster than x+1+1 because the former bytecode can be optimised. The latter cannot because x may have __add__.
Many of my macros for control flow could be functions if I had lazy evaluation. Sadly I find laziness hard to reason about (familiarity?)
Why create tiny JS modules? https://github.com/sindresorhus/ama/issues/10#issuecomment-117766328 (works surprisingly well in practice!)
TIL the order of LLVM passes *really* matters. Running opt -O3 twice has tripled runtime perf, so the defaults don't suit my BF compiler.
"if you partially evaluate an interpreter with respect to a particular input, you get a compiler"
Today I learnt that GHC has an incredible facility to teach it optimisations applicable to your code:
Doxygen provides an excellent highlighted view of source code with hyperlinked cross-references! https://llvm.org/docs/doxygen/html/DataLayout_8cpp_source.html Why is this rare?
Maybe flat comments are better than nested. In HN the top tree dominates. In mailman there's next/prev links but a tree isn't linear!
@thattommyhall looks like bpython to me.
I've added GIFs to the smartparens README! https://github.com/Fuco1/smartparens#smartparens It can really help new users grok the feature set.
I learnt today that Rust's cargo has a clean command. Neat! I've been rm -rf'ing the target directory all this time.
Showing 4,876-4,890 of 7,549 posts