HNHacker News
TopNewBestAskShowJobs

quasigloam

167 karma · joined August 11, 2024

submissionscomments
quasigloam··on Elixir-lang.org has a new design
Presumably it gives the JIT more type information, parent example was specifically about one of the type-check functions you can use for guards (is_float). While running it'll use the is_float information to generate code for the float case, and bail out if the actual values fail the guards at runtime.

Other JITS like V8 will do things like speculative inlining and inserting its own type guards , but if this JIT is "Admittedly an extremely simple one" then it presumably doesn't do much of that.

quasigloam··on Lisp in the Rust Type System
(Self plug) There’s also a lisp in the decl macro system directly: https://github.com/RyanWelly/lisp-in-rs-macros
quasigloam··on Google pushes update to Antigravity instead it reinstalls and locks everyone out
Twitter doesn’t show replies when you’re not logged in. https://xcancel.com/antigravity/status/2056795168326754759
quasigloam··on The Vatican's Website in Latin
Now I’m curious; what book of grammar was it? What did the exercises look like? What other languages and strategies did you use?
quasigloam··on Many people have no mental imagery. What's going on in their brains?
What would you say some of these pros and cons would be? I don’t think anyone really speaks about the possible negatives of having strong mental imagery would be
quasigloam··on Ask HN: What Are You Working On? (December 2025)
I really enjoy tiled words, thanks for making this new addition to my daily routine!
quasigloam··on Fixing the mechanics of my bullet chess
At some point there was "the keyboard extension" which was somewhat vim like (kinda). It was too overpowered and you literally could not flag someone who was using it in ultra or hyperbullet, so lichess finally banned it: https://lichess.org/page/play-extensions. Vim bindings were too overpowered for chess :D
quasigloam··on Fixing the mechanics of my bullet chess
I usually play chess with just my mousepad, so I've basically always just dragged and dropped. Playing click and click feels about the same speed, but I'm less used to it; maybe I'll try use it more in the future. I think Andrew Tang does drag and drop, and he's the fastest I've ever seen; I don't know if people like Danya or Hikaru do drag and drop, might be interesting to get some kind of statistical analysis of that.

>I’ve always been a good deal better (maybe a couple hundred ELO points) at blitz (3+0 or 5+0) than bullet (1+0).

I've basically always found that my bullet rating is at least 100 rating points higher than my blitz on lichess; possibly because I've wasted too much of my youth on bullet

quasigloam··on Lisp implemented in Rust macros
Although in a Lisp such as Scheme, you could pass around the negation operator in something like (map - '(1 2 3)), so it would be a valid concern that it might clash.
quasigloam··on Lisp implemented in Rust macros
No problem! I had fun making it, for such a silly little project it's given me a surprising amount of joy. If you want to look at another cool project that's tangentially related, have a look at Sectorlisp.
quasigloam··on Lisp implemented in Rust macros
Implementing a lisp in the type system would be fun, that's originally what this project was about until I got distracted with macros. Awesome projects like fortraith (https://github.com/Ashymad/fortraith) already exist, and even far more useful projects like dimensioned (compile time dimensional analysis using type level numbers) are inspiring. These examples, although cool, are probably a worse sign for krick for Rust compared with macro_rules being Turing complete.
quasigloam··on Lisp implemented in Rust macros
Yes it would match both, this would require us to assume that "foo - bar" can only be an atom. It's not a great solution.
quasigloam··on Lisp implemented in Rust macros
Yes, at the moment I just assume that all atoms are rust idents because that makes it easier to implement (I can just match against $x:ident), so it doesn't support dashes in atoms. I guess you could match against `$x:ident $(- $y:ident)*` instead? That should work I think, I'd have to change some details in some of the arms but it seems like that would be possible.
quasigloam··on Lisp implemented in Rust macros
Thanks! It was fun to make. It was also instructive, as I learned that rust analyser doesn't handle macros generating millions of tokens :D