My opinion of LOOP started to change when I read (the much maligned) "Land of Lisp" and went over that "periodic" diagram in TFA. Seeing the elements of LOOP broken down like that went a long way to get me to overcome my original aversion to it.
Huh, didn't realize that beach didn't like it so strongly. Still, hardly "much maligned"... My impression was that most people enjoyed it, even though it definitely has some weaknesses and could (especially now 15 years later) use a second edition, if for no other reason than to move off CLISP to SBCL. This seems supported by its high reviews on Amazon and GoodReads. (Of course overall I liked it too, and we got the best music video about lisp out of it.) FWIW my own criticisms were largely style-based: too much of it felt like Scheme code rather than Lisp code, even outside of emphasizing/educating about the more primitive features, with lots of things like inner functions, recursion where looping would have IMO been clearer, and so much use of raw car/cdr/caadr/caddr/whatdr instead of more clearly structured structs or classes or just helper functions called intuitive things like get-foo. (The book Calendrical Calculations: The Ultimate Edition uses lists for all its data structures but helpfully creates many functions to both construct and access their parts. e.g. generic dates are a (year month day) list, but the definition and exclusive use of standard-year, standard-month, and standard-day for getting at them would let one refactor it into a class. There are also functions like gregorian-date, julian-date, and egyptian-date that have exactly the same implementation (making a list of the 3 passed params) but serve as 'typed' list constructors, and indeed could be refactored into something that carried along type information without changing other code.)
I like LoL alright too. I was only maybe a year or so into CL when I read it, so I didn't really notice a lot of what it's criticized for. On the one hand, I'm a little sad that I see it bagged on so much (that link from beach's site, IRC, reddit) since I felt I got decent enough value out of it, but OTOH it's good and healthy to point out problems.
The abstractions used in Calendrical Calculations sound good - and echo what I've seen elsewhere - so, based on your comment I'm now more likely to read it, so thank you for that.
I'll never understand the love for iterate. Look at these comparisons: https://github.com/sabracrolleton/sabracrolleton.github.io/b... For almost all of them, it's the same guy, just more parens. Nothing to love/hate for one or the other, it's just preference, though one is built-in.
Looks more lispy because the parens. Plus it's extendable unlike LOOP, so you can make it work with your own data types. And a few other nice features like being able to collect into a vector or other sequence, not just lists.
ITERATE still breaks when you use `count` inside it, the built-in CL function. If they ever address that problem I'll get back to use it but having a time bomb in my programs isn't something I like.
Trivial example of breakage:
(iter (for i from 1 to 10)
(print (count i some-sequence)))
Breaks how? I'm on my phone, not a computer right now and can't test, but that should call the CL function - ITERATE uses `counting` for that particular operation to avoid conflicts; see https://iterate.common-lisp.dev/doc/Gathering-Clauses.html
I just grabbed the latest ITERATE source off of its gitlab repository, and, yeah, that bit is still giving an error:
Iterate, in (COUNT I SOME-SEQUENCE): Missing value for SOME-SEQUENCE keyword
as well as
WARNING:
COUNT appears to be used as an ITERATE clause keyword, in this sexpression: (COUNT I SOME-SEQUENCE).
This use is now deprecated and will cease to be supported in a future version. Please use the alternative keyword COUNTING instead. If you intended COUNT to be interpreted as a function call, instead of an ITERATE clause, you must find an alternative way of calling it, at present, perhaps by using FUNCALL or APPLY.
Have to use
(iter (for i from 1 to 10)
(print (funcall #'count i some-sequence)))
Guess the documentation /is/ wrong (for now, until the code finishes catching up)
It makes even less sense for Earth because Earth's orbit is near-circular, whereas Planet 9's hypothesized orbit is highly eccentric, more so than Pluto.
Most people don't know off-hand that Pluto is ~40-50AU from the sun, so 700AU is hard to conceptualize.
They're all horrible to conceptualize because people don't commonly deal with how far even something like the Earth to the Sun is, I don't think there is any winning answer here - at least an AU is consistently defined and maybe slightly more likely to be familiar, but it's still just about as crap to be honest.
Side note: Apart from AU already being defined as average distance and not current distance, the distance referenced is how far out the proposed object is now, not its general orbital parameters. At that orbital distance 23 years of motion isn't going to be much change in distance even if it's in a hyperbolic orbit.
My point was not about intuiting the distance, it's about what the solar system looks like qualitatively, as a cartoon with orbits drawn around the sun. Most people have no idea if 700AU is closer than Pluto, a little further than Pluto, or much further than Pluto. 15x the distance of Pluto is much more direct.
What's the benefit of communicating something is 15x the distance of Pluto if people are expected to have at least a ~15x error in how far away Pluto is supposed to be? At that point it's all nonsense, nothing is relevant anymore. Might as well say something useful for those who do have a clue about the solar system.
Hell, it's been nearly 2 decades since Pluto was itself planet 9. Just bringing the name up in a discussion about planets is going to cause more confusion.
15 time further than the furthest once-planet is fairly intuitive to say really freaking far; you don’t need to know how far pluto is, just that it’s the furthest.
> Might as well say something useful for those who do have a clue about the solar system.
The source we are discussing is space.com, a website which frequently mentions Star Wars and whose stated mission is to "transport our visitors across the solar system and beyond through accessible, comprehensive coverage of the latest news and discoveries." My comment was about communicating this research in a way that better fits "most readers" of space.com. If you think qualitative orrery models are beneath you and want to exclude those people, then you are not the target audience. Just go read the actual paper.
When you put it this way it depresses me (). It just illustrates just how unimaginably big space is, considering something that might be considered part of our own star's solar system can be four freaking light days away. We'll never get out of our solar system will we?
The most distant Voyager probe is about 167 AU out, or one light day, and it’s been travelling for 48 years.
If we are going to get anywhere in space it’s looking like we’re going to need some kind of technological leap. Would be wild to see that happen this lifetime.
I was just thinking of this XKCD comic specifically.
Most people won't even have the slightest idea what 1 AU is. Most people know less about most topics (including space) than the original ChatGPT (3.5) did — probably only people who at least started a degree with a space sciences module are likely to know more than 3.5, and I expect plenty of space.com readers to be enthusiastic amateurs rather than professionals.
That said, I do I expect the average reader of space.com to know what an astronomical unit is, but even so I don't expect them to know the average orbital distance of Pluto.
New horizons launched 9.5 years before it reached Pluto, and your average reader who has an interest in Planet 9 will likely know it took New Horizons about that long.
15x means no one alive today will see a mission that reaches the planet, and that's more accessible for most readers per above.
The amount of software available for linux vs the BSDs tells me that the distro model has not hurt linux. If a homogenous software stack from a single centralised set of software was beneficial, it would be more likely that porting to linux from a BSD codebase would be the norm, rather than the other way around.
the odd thing is, at some point I ended up with `hash -R` as muscle memory that I always type before I correct it to a lower case r, and I'm not sure why, I can't remember any shell that uses `-R`.
I already knew, but rapid downvotes on HN which is relatively rational surprised me.
There was a lovely radio interview of Neil Kinnock (former leader of the British Labour Party) many years ago in which he described the reactions of some Americans to him being a socialist (and not the British equivalent of the Democrats). One woman said "You can't be socialists, you're too nice".