Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
vnorilo
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
44 ms
·
421.
▲
by
vnorilo
7y ago
Thanks for bringing up another benefit of s-expressions - paredit and friends!
422.
▲
by
vnorilo
7y ago
Right. Who are these people who do (numpy stuff) linear algebra, svd decomposition, pseudoinverses, linear regression, machine learning, but see a S-expression and immediately give up?
423.
▲
by
vnorilo
7y ago
I think the reason infix feels "nice" is that you can sometimes write dataflows from leafs to roots, whereas with prefix you work from the root up. But then you use a lisp threading macro which lets you do that consistently, with
424.
▲
by
vnorilo
7y ago
I'm not saying you are wrong, but the oft-cited challenge of prefix is a meme. It's not really a big deal. It's trivially easy to add infix syntax to lisps via macros, but almost no one bothers. By the time you know enough to
425.
▲
by
vnorilo
7y ago
Well, at least I don't think our governments would actively stop us from finding and using them.
426.
▲
by
vnorilo
7y ago
If someone wants to get started on building a LLVM backed language, I’d recommend go with the Kaleidoscope tutorial [0] if one is new to compilers. 0: https://llvm.org/docs/tutorial/LangImpl01.html
427.
▲
by
vnorilo
7y ago
Sure; the article was about building compilers rather than backends. FWIW I looked briefly into building a LLVM backend (IR subset) for a DSP chip, and gave up partly for the reasons you mentioned.
428.
▲
by
vnorilo
7y ago
xtlang is one; ML meets C with S-expressions and hot reloading. https://extemporelang.github.io/docs/reference/types/ edit: link is more specific now
429.
▲
by
vnorilo
7y ago
I recall one particularly difficult evening/night after I decided it was a good idea to cook a delicious, chili heavy thai dish for my wife.
430.
▲
by
vnorilo
7y ago
Hmm, not sure I agree that LLVM has little documentation. My experience using it has been pretty smooth. Regardless, compiling functions from a language you know to LLVM IR is a good way to learn how IR works. You can do this for C(++) with
431.
▲
by
vnorilo
7y ago
The best way is making no mistakes :) The second best is machine-checkable proofs, like types. The fallback is tests. Sometimes the first two can't be applied.
432.
▲
by
vnorilo
7y ago
This might sound good to a TDD practitioner, but I'd suggest that the value of tests is that they independently verify an implementation. Couple them directly and soon you will be writing tests on your tests. OTOH, saying "this mu
433.
▲
by
vnorilo
7y ago
After debugging undefined padding bytes breaking per-byte pod type hashes, I'll hang on to my memset, thank you very much! :)
434.
▲
by
vnorilo
7y ago
Privacy is a differentiator for Apple. If the regulators forced others to respect it more, it would arguably not be in Apple's best interests.
435.
▲
by
vnorilo
7y ago
Not that it would be a game changer, but F# is a pretty nice language. https://fsharp.org/use/linux/
436.
▲
by
vnorilo
8y ago
Reagent is a simpler abstraction around React, almost like a director's cut :) Om is a bit more oriented to react components. Both are mighty fine. http://theatticlight.net/posts/Om-and-Reagent/
437.
▲
by
vnorilo
8y ago
Yes, cljs is like frontend finally got its meds and everything makes sense again!
438.
▲
by
vnorilo
8y ago
It's harder to write simple code because that requires a crystallized understanding of the problem. You can start banging out FactoryManagerFactories without having the faintest idea of the core problem at hand. Maybe some of the silli
439.
▲
by
vnorilo
8y ago
I liked the article. It mentions the fallacy of Objectivity by Indirection: "I didn't say that - the system (I designed) said it!"
440.
▲
by
vnorilo
8y ago
Types are the means of "improving language performance" without turning into C. It's all about encoding invariants for the optimizer. I doubt a competent JIT is ever slower than a competent interpreter, but it may not be that
441.
▲
by
vnorilo
8y ago
This is interesting. I "feel" this in Visual Studio, as the DE is more tightly I(ntegrated). Do you still feel like this in the context of a plugin-less plain editor?
442.
▲
by
vnorilo
8y ago
I've used edn [0] as a "better json", but in the end, json is good enough and ubiquitous. Oh, edn is not programmable either, and that's by design. [0] https://github.com/edn-format/edn
443.
▲
by
vnorilo
8y ago
Based on my personal experience, I'd say there are good "buckets" of language-context pairs and you can pick one from each according to taste. C/C++/Rust/Ada on bare metal or systems work for building abstracti
444.
▲
by
vnorilo
8y ago
To me, that sounds like a Good Thing.
445.
▲
by
vnorilo
8y ago
A well designed dynamic language like clojure can have explosive velocity. Stuff just fits together smoothly: a predicate can be a function or a set or a map or a regex, but most importantly, libraries are built of these mutually compatible
446.
▲
by
vnorilo
8y ago
The major advantage of static types is replacing tests with proofs . Tests always have (limited) coverage, but type proofs are invariant. That said, it's very possible to misunderstand what a test or a type actually means.
447.
▲
by
vnorilo
8y ago
Building name recognition and attracting students, I'd say.
448.
▲
by
vnorilo
8y ago
Norway is not in the EU.
449.
▲
by
vnorilo
8y ago
C++ in 1994 was quite a different animal.
450.
▲
by
vnorilo
8y ago
Yes, but come up with equally good minimal mechanics like tetris or go. Once? You are a game design genius. Twice? Has anybody ever done that?
More ›