Tom Tromey
tromey.com · Personal blog · on HN since 2009
Tom Tromey, a free software developer known for work on GDB, gcj and Emacs, writes about tools and package management.
What HN saysHN links it for his ELPA package manager for Emacs, which commenters find easy to use, and thanks him for improvements to GDB's Python API.
31HN people shared it
17linked it in comments
14stories submitted
834story points
4 years agolast shared
2009people per year2026
Most-shared posts
- 1ELPA - a package manager for emacs7 people · 22 points · first shared 2009 · 6 comments on HN
- 2Emacs and Common Lisp6 people · 86 points · first shared 2012 · 31 comments on HN
- 3Faster GDB startup4 people · 99 points · first shared 2022 · 6 comments on HN
- 4Shaggy Dogs and SpiderMonkey Unwinders3 people · 4 points · first shared 2016 · 1 comments on HN
- 5The Deletion of gcj2 people · 284 points · first shared 2016 · 73 comments on HN
- 6JIT Compilation for Emacs Lisp2 people · 180 points · first shared 2018 · 50 comments on HN
- 7Emacs and Common Lisp, Part 22 people · 78 points · first shared 2012 · 13 comments on HN
- 8Install2 people · first shared 2010
- 9Emacs JIT Calling Convention1 people · 81 points · first shared 2018 · 1 comments on HN
- 10Post 7781 people · first shared 2012
- 11Post 4201 people · first shared 2022
- 12Post 2018091 people · first shared 2020
- 13Swirl1 people · first shared 2011
- 14Post 3051 people · first shared 2019
What HN people wrote when they linked it
nic-ferrier · 2012-04-09
I'd love to hear tromey talk about his plans to rebase emacs in CL: http://tromey.com/blog/?p=709
astine · 2011-05-27
Whenever installing software for Emacs, it's usually worth checking ELPA http://tromey.com/elpa/ (which comes installed on Emacs by default now,) to see if the package is there already. The ELPA provide both slime and clojure-mode and they work out of the box with swank-clojure. You'll still need to install Leiningen/Cake with swank-clojure separately, but there isn't much Emacs can do to help there.
rbanffy · 2010-06-09
As for installing Slime, Clojure and swank, I love ELPA
http://tromey.com/elpa/
Very easy, almost single step.
A Leiningen hook seems absent, however. But I never really used Clojure for anything serious.
eddyb · 2022-08-03
[continued from above due to size limit]
What I'm referring to is incremental recompilation with the following properties:
1. automatic correctness
` - that is, a compiler change not explicitly updating anything related to dependency tracking should at most result in conservative coarser-grained behavior, not unsoundly cause untracked dependencies
` - manual cache invalidation logic is a clear indicator a compiler isn't this - e.g. this rules out https://gcc.gnu.org/wiki/IncrementalCompiler (maybe also Roslyn/C# and the Swift compiler, but I'm not sure - they might be hybrid w/ automated coarse-grained vs manual fine-grained?)
` - the practical approach to this is to split workload into work units (aka tasks/queries/etc.) and then force information flow through centralized "request"/"query" APIs that automatically track dependencies - see https://github.com/salsa-rs/salsa for more information
` - research along the lines of ILC (Incremental Lambda Calculus) might yield more interesting results long-term
` - outside of a compiler, the only examples I'm aware of are build systems like tup (https://gittup.org/tup/) or RIKER (https://github.com/curtsinger-lab/riker) which use filesystem sandboxing (FUSE for tup, ptrace/seccomp-BPF for RIKER) for "automatically correct" build dependencies
2. fine-grained enough
` - at the very least, changes within function bodies should be isolated from other bodies, with only IPOs ("interprocedural optimizations", usually…
chubot · 2020-10-24
Just want to give a shout out to the people who have been improving GDB's Python API over the years (I think it first appeared about 10 years ago). It seems like a lot of it is due to Tom Tromey? [1]
This is a super useful feature that I just used. I have a DSL for algebraic data types in C++ called ASDL [2], and I wrote a very small Python plugin that pretty prints the types.
Basically it automates the process of looking at the runtime type tag, and downcasting to the right variant, so you can see all the fields in the debugger. (Variants are naturally modeled with inheritance, and you still have type safety)
This makes debugging the code way easier. I basically enhanced C++'s type system and now the debugger also understands it!
It works on the command line and the Eclipse GUI. Although I should get around to requesting an open source license for CLion, because I think it is significantly more polished.
-----
GDB is very old, and has sort of a bad reputation for usability, but it's getting better after all these years! This scripting power can make up for the usability in some cases (and maybe CLion will give the best of both worlds)
https://lobste.rs/s/h7f6qk/what_debugging_technique_did_it_take_you#c_…
[1] https://tromey.com/blog/?m=201809
https://tromey.com/blog/?p=927
[2] What is Zephyr ASDL? https://www.oilshell.org/blog/2016/12/11.html
ASDL is mentioned in the post about Ungrammar, on the front page now:…
agumonkey · 2019-07-29
A few pointers, from very knowledgeable fellows (warning C code ahead)
- https://nullprogram.com/blog/2014/01/04/
- https://tromey.com/blog/?p=305
- http://emacshorrors.com/
- http://emacsninja.com/
zokier · 2018-08-14
The authors blog has some extra details (see also the comments)
https://tromey.com/blog/?p=982
lisivka · 2017-02-01
Gcj was deleted from GCC in October 2016[1]. So only free option left, AFAIK, is to use mono AOT[2].
[1]: http://tromey.com/blog/?p=911
[2]: http://www.mono-project.com/docs/about-mono/languages/java/
HerrMonnezza · 2014-09-17
Tom Tromey started an automated rewrite of Emacs in Common Lisp in 2012, see the announcement at: http://tromey.com/blog/?p=709
I couldn't find any progress report after http://tromey.com/blog/?p=751 so I guess the project has been abandoned early.
agentultra · 2012-08-22
See http://tromey.com/blog/?p=778 where he talks about some of the difficulties.
tldr; Theoretically it should just work. There are some tricky bits.
parfe · 2011-05-27
Thanks for your clojure work. I'm using a lot of your stuff and I am grateful you take the time to write and release it.
"In the mean time, the link to package.el for Emacs 23 is right at the top of marmalade-repo.org: http://bit.ly/pkg-el23
You know that, but nothing on the page indicates it. In fact, that page leads me to believe it is the same version as tromey.com hosts. It isn't made clear that marmalade is a fork rather than an additional repository.
Plus that package.el does not integrate (or include instructions on how to integrate) with Emacs the same way the one from tromey.com does when you run the code on http://tromey.com/elpa/install.html
ZeroGravitas · 2011-01-11
Either my expensive Kinesis keyboard and Dvorak layout are giving me an unfair advantage, or the difficulty needs tweaked.
There should be more keyboard driven web games, for a more sedate puzzle game with a similar interface try Word Swirl:
http://tromey.com/Swirl/
rmaccloy · 2011-01-03
It's just an integration of ELPA (http://tromey.com/elpa/) which has been around for quite a while. According to the mailing lists Tom Tromey will continue to maintain his archive in parallel. I'm not sure what licensing restrictions he has but I'm fairly sure you don't have to assign copyright as per FSF projects.
mcav · 2010-05-19
1. I installed ELPA from here: http://tromey.com/elpa/install.html
2. Ran "M-x package-list-packages"
3. Installed clojure-mode, slime, slime-repl, and swank-clojure.
Then I rebooted emacs and "M-x slime" just works for me (aquamacs).
elq · 2009-03-07
> I wish there was a distribution package for elisp modules, rather than just cutting and pasting them off the web.
http://tromey.com/elpa/
technomancy · 2010-03-10
jaaron · 2009-03-07
You mean like elpa? http://tromey.com/elpa/