HNHacker News
TopNewBestAskShowJobs

lispm

1 karma · joined February 12, 2025

submissionscomments
lispm··on Is Iceland getting ready to join the EU?
Orban has corrupted the political system in Hungary and weakened the checks and balances.

Democracies in Europe. Hungary is at the lower end of the spectrum.

https://en.wikipedia.org/wiki/Democracy_in_Europe

lispm··on Is Iceland getting ready to join the EU?
> Unpopular, unsuccessful ex-government officials from member states are governing the EU, where they are appointed by bureaucrats.

Von der Leyen was not appointed by bureaucrats.

> It's telling that the Von Der Leyen Commission scraped in with just 51.4% of MEP votes.

That's nothing special in European voting systems. Various governments (regional or country wide) in Germany have small, but relatively stable majorities provided by coalitions. That's very different to the mostly two-party systems in the US or the UK.

lispm··on Is Iceland getting ready to join the EU?
If Russia commits war crimes, it is not necessary, that we follow.
lispm··on Is Iceland getting ready to join the EU?
> joining the EU is not the same as joining the Euro

Now, every country joining the EU is expected to join the Euro at some point.

https://economy-finance.ec.europa.eu/euro/enlargement-euro-a...

"Who can join and when?

All EU Member States, except Denmark, are required to adopt the euro and join the euro area. To do this they must meet certain conditions known as 'convergence criteria'."

lispm··on Is Iceland getting ready to join the EU?
That's a lot of nonsense.

> Germany's failure to manage its national energy needs due to EU "green" policies made it subject to Russian energy dependency.

Germany did not import EU green policies. It was a driver of those.

The offer of cheap energy from Russia combined with the corruption following that, caused German politicians (CDU/SPD) to make a series of mistakes, like expanding energy dependence from Russia without making sure energy needs are covered in times of a crisis (AFD and BSW are making the same mistake, only worse, worshipping the authoritarian & corrupt government of Putin). When Russia was invading the Ukraine, suddenly the Gas storages were not filled anymore - Russia trying to blackmail Germany. Putin influencers like Sarah Wagenknecht denied any Russian plans, just days before the invasion, when already a huge Russian military, ordered by Putin, at the Ukraine border. At the same time the US already warned allies about the Russian plans.

> The US had to literally rescue Germany from itself by blowing up Nordstream

The US did not blow up Nordstream. Actually the US warned their allies of planned attacks. There is zero evidence for US involvement. The Nordstream pipelines were also useless, since they did not transport gas at that time.

lispm··on Is Iceland getting ready to join the EU?
> So I'd estimate that in an honest poll to reopen Nord Stream and protect it militarily you'd easily get 60% in favor.

That's nonsense. There are AFD and BSW bought and paid by Russia telling this nonsense.

Russia has used their energy policy as a weapon to try to dominate Europe and to conquer countries. It was a huge mistake to fall into that trap.

Nord Stream is dead. Russia is a paria in Europe.

lispm··on Is Iceland getting ready to join the EU?
> no benefits for France and Germany

Peace, friendship, shared values, culture, diversity, stability, ...

We have a lot of benefits.

lispm··on The fair dreamed up by art legends – unsealed after 44 years
Funky that the BBC fails to mention that Luna Luna actually was developed by André Heller as an amusement park for Hamburg/Germany, as a celebration of a 50th year birthday of a magazine published in Hamburg:

https://en.wikipedia.org/wiki/Luna_Luna_(1987_exhibition)

André Heller probably was little known to the BBC, but he was quite prominent in German speaking countries. He, for example, was important in the organization of the culture part of Football World Cup from 2006 in Germany, which was a great success, with the Fan Fests.

https://en.wikipedia.org/wiki/André_Heller

lispm··on Ask HN: Programmers who don't use autocomplete/LSP, how do you do it?
I load the Lisp code of a project into the Lisp environment, which is the program and the development environment in one thing. Then all the information about the project is available in the running IDE/program combination. The thing then is fully reflective and introspective.

An example is GNU Emacs itself. For Emacs Lisp it is both the IDE and the application environment.

Similar integrated systems existed already earlier for Lisp and Smalltalk. Interlisp, the MIT Lisp Machine, Smalltalk 80 and others were examples where the IDE and the code was integrated.

OTOH, the combination of GNU Emacs and external Lisps, like Common Lisp systems, was basically LSP before LSP existed. There were tools like ILISP, which connected GNU Emacs to various external Lisp runtimes (which have all the development information about the loaded code). SLIME replaced it at some point in time and usually connected to external Lisps via network connections.

lispm··on 38th Chaos Communication Congress
Kind of.

Chancellor Scholz removed Christian Lindner from the position as Finance Minister.

The FDP then left the coalition. Die ZEIT writes:

"Die FDP zieht alle ihre Minister aus der Bundesregierung zurück. Sie wollten ihren Rücktritt geschlossen beim Bundespräsidenten einreichen, kündigte Fraktionschef Christian Dürr in Berlin an. Damit beendet die FDP das Dreierbündnis der Ampelkoalition."

One of the FDP ministers left the FDP and stayed in the Scholz government.

lispm··on 38th Chaos Communication Congress
> And historically, the FDP and CSU have a lot more influence that what would be proportional to their vote share compared to the bigger partners.

I don't think the influence is "outsized". Any party with 5% shares AND being in a coalition has much more influence than a party with 5% AND not in a coalition. A party with 4.9% may have very little influence, when not in a coalition and not even represented in the Bundestag. There are steps from very little influence to normal influence. The CSU never had that much special influence, since they were basically the CDU with a different name, but in Bavaria. It appeared larger because it was historically a different party, but basically only as an historic accident. The politics of CDU and CSU are largely the same. The CSU (only in Bavaria) getting more persons into the government may look like "more influence", but is largely the same policy as the CDU (in Germany minus Bavaria).

The FDP has left the current coalition, exactly BECAUSE they thought their influence was too low and they had to agree to too many unwanted compromises.

> My point is: It's a gradual difference. Not a complete systems change.

The currently policy landscape looks very different to me. Ultra-rich billionaires ruling US politics.

lispm··on 38th Chaos Communication Congress
> Even a 5% party can have an outsized influence on the politics

Die Linke does not have an "outsized influence". It's also shrinking.

It may seem to have "outsized influence" for someone from the US or the UK, with their different voting system, which practically creates a two-party system. In a proportional representation system smaller parties have influence, too - for example by being a coalition member.

Die Linke has not been a member of a coalition in Germany, so far, and it is not expected that this will change.

> which mostly means that some (insurance) costs are lifted from the incur-er and distributed socially

That's a very narrow view. Try to get a German-style workers council at an US company. Good luck!

lispm··on 38th Chaos Communication Congress
> "the biggest European hacker gathering and has grown into one of the most important conferences on digital transformation."

"biggest European hacker gathering" -> still most participants are from Germany, that's where the Chaos Computer Club is located. The club itself is organized into local groups all over the country (plus some in neighbor countries).

lispm··on 38th Chaos Communication Congress
> "Realistically though, the congress is a worldwide phenomenon"

Actually it is an open meeting of the German members of the CCC. What you see online is an important part of the congress, but it is only a part of the whole thing. Much more it is a gathering of activists. Thus its from the CCC for CCC. Guests are welcome. Since the talks maybe interesting to a larger audience they are streamed and translated in real-time.

Visit the congress in Hamburg and you are beamed to an alternate reality for four days and nights, meeting all kinds of interesting people in person. That experience is a bit more mind-blowing than seeing translated talks online. ;-) People from outside Germany are visiting the congress.

lispm··on 38th Chaos Communication Congress
You have a narrow view of "proper hacker talks" and the purpose of the Chaos Computer Club. The congress is representative for what is of interest for CCC members.
lispm··on 38th Chaos Communication Congress
I live in Hamburg/Germany, where the CCC is hosted. It would feel strange to go to a German hacker congress in a German city and people would expect that everything is in English, first. It's organized by volunteers from various CCC groups from all over Germany and not by a commercial congress provider. The result may look like a "professional" congress, but that's the result by countless hours of volunteers enabling it. Generally there is much more to the congress, then the talks you can see online. It's a large gathering (> 14k participants with >2500k volunteer organizers) of people from all kinds of German grassroots hacker domains... with a lot of groups meeting there and presenting themselves. The Hamburg congress center, where it takes place, is not the largest location possible, but it currently seems to be the best mix of a congress center in the middle of a large German city with lots of rooms and space for all the groups.

Having CCC talks translated to and from English/... is fine, as it's actually done.

https://events.ccc.de/en/2024/11/26/call-for-interpreters-tr...

says:

> We interpret ALL talks in the three main halls and the two community stages live and in real-time. German talks are interpreted into English, and vice versa. Our work is transmitted live in the lecture halls, streamed to the Internet, and recordings are published on CCC sites and YouTube. We have another channel where we interpret into more languages, this is transmitted and published in the same way.

lispm··on 38th Chaos Communication Congress
The SPD in Germany claims the following:

https://www.spd.de/programm/grundsatzprogramm

---

Demokratischer Sozialismus

Unsere Geschichte ist geprägt von der Idee des demokratischen Sozialismus, einer Gesellschaft der Freien und Gleichen, in der unsere Grundwerte verwirklicht sind. Sie verlangt eine Ordnung von Wirtschaft, Staat und Gesellschaft, in der die bürgerlichen, politischen, sozialen und wirtschaftlichen Grundrechte für alle Menschen garantiert sind, alle Menschen ein Leben ohne Ausbeutung, Unterdrückung und Gewalt, also in sozialer und menschlicher Sicherheit führen können.

Das Ende des Staatssozialismus sowjetischer Prägung hat die Idee des demokratischen Sozialismus nicht widerlegt, sondern die Orientierung der Sozialdemokratie an Grundwerten eindrucksvoll bestätigt. Der demokratische Sozialismus bleibt für uns die Vision einer freien, gerechten und solidarischen Gesellschaft, deren Verwirklichung für uns einedauernde Aufgabe ist. Das Prinzip unseres Handelns ist die soziale Demokratie.

---

lispm··on Haskell vs. Ada vs. C++ vs. an Experiment in Prototyping Productivity (1994) [pdf]
From what I understand, there was a successor to AP5 called Relational Lisp (-> rellisp). I don't think I've seen the source for that. AP5 is available and there have been updates to the implementation since many years.
lispm··on Guile-Emacs Relaunched
There are code bases for SINGLE Lisp applications which go into several million lines of code. For example PTC's CAD system had several years ago >7 million lines of Common Lisp.
lispm··on Show HN: Indentation-based syntax for Clojure
For me containment is important. (a (b)) -> (b) is inside a. Also that the whole form is enclosed in parentheses. If I move the mouse over a form, the whole form can be selected.

    (pipe
      (a 1 2 3)
      (b 4 5 6 7))
If I move over the second form, there is an argument, which is above it.

My mental model is more based on tree evaluation, not so much on sequential evaluation.

    (b (a 1 2 3)
       4 5 6 7)
For me it's more important to see that all arguments to b are enclosed in a single form. If I want to move it around, I can easily select the whole form (with the mouse typically by a double click on the parentheses or a middle click).

The list becomes a physical thing (-> manipulating lists), not so much a syntactical thing (dealing with the syntax of a pipe operator).

But then I'm used to Lisp environments with a higher code complexity (longer code with deeper nesting, lots of macros) and support for that.

lispm··on Show HN: Indentation-based syntax for Clojure
The problem is that the Lisp code structure is hierarchical. Transforming it for input/output into a sequential code structure can help, but hinders the learning of the hierarchical mode of working with trees and nested lists. In the long run the mental model of trees or nested lists is more important than the "improvements" of the sequential visible structure. Typically the sequential model is preferred by those who have learned other languages with imperative code structures (in the history that was FORTRAN, but nowadays it's often languages like Python and Java). Not unlearning and then learning a different model, limits the understanding of the underlying language and its evaluation model.
lispm··on Owl Lisp – A functional Scheme for world domination
Scheme is a general category of probably 100+ implementations of various versions of the language based on various specs and standards. Small educational languages based on R4RS, R5RS. Then there is the more controversial R6RS and later a R7RS small and attempts to define a R7RS large. Then there are 100+ of language extensions in various states described in SRFIs. The there is an official language standard IEEE Scheme, which is not widely used (AFAIK). Then there are various subsets of the language Scheme used in education. For example in SICP there is a minimal Scheme subset used in the book. Scheme also spawned its own dialects (or maybe derived language), like Racket, which then has a new dialect Rhombus...

Lisp is either a family of language families (Lisps, Scheme, Logo, ML, MDL, JavaScript, Dylan, Racket, R, ...)

or

a more narrowly defined family of languages (often recognizable because they identify as Lisp in their name) and based on the core from Lisp 1: Lisp 1, Lisp 1.5, BBN Lisp, Interlisp, Maclisp, Franz Lisp, ZetaLisp, Le_Lisp, EuLisp, muLisp, Common Lisp (a standardized language), Emacs Lisp, Standard Lisp, ISLISP (a standardized language), ...

You'll find often in the Scheme literature Lisp described as a different, but related/derived, language (more symbolic, less functional, more procedural, procedural macros, less clean, less systematic, more dynamic, ...). Scheme is seen more functional, more lexical binding, less procedural, more minimal, one namespace, cleaner, ...).

lispm··on Don’t look down on print debugging
Esoteric: I use print debugging on a Lisp Machine using a presentation based Read Eval Print Loop (REPL), similar things would work in some other Common Lisp environments. Presentation based means that the REPL remembers all output and the objects associated with that output.

    (defmethod move ((a-ship object) (a-place port))
      ; do something
      )

    (defmethod move :around (what where)
      (print `(start moving object ,what to ,where))
      (call-next-method))
Above prints the list to the REPL. The REPL prints the list as data, with the objects WHAT and WHERE included. It remembers that a specific printed output is caused by some object. Later these objects can be inspected or one can call functions on them...

This combines print debug statements with introspection in a read-eval-print-loop (REPL).

Writing the output as :before/:around/:after methods or as advise statements, makes it later easier to remove all print output code, without changing the rest of the code. -> methods and advises can be removed from the code at runtime.

lispm··on M4 Mac mini's efficiency
> Specifically, I don’t like them because they show really vague percentages or “scores” where it’s very unclear what specific benchmarks are being used.

It think it's a good overview over various technical data and benchmark results. Benchmarks are linked.

> that shouldn’t guide purchase decisions like ... More modern manufacturing process – 3 versus 6 nanometers

Actually that's influencing buying decisions and gives an idea what kind of efficiency a CPU might be able to deliver. I have various M processor machines from Apple and a CPU on the recent 3 nanometer TSMC process has advantages over a 6 nm process. For example the newer M CPUs are more power efficient & smaller and some of that enables the M4 series of chips to be ahead of the rest in terms of efficiency. Over time other CPUs will move to such 3nm processes. I've seen that with the M4 in the iPad Pro and now with the M4 Pro in the new Macs.

> I much prefer the more in-depth tests

That serves a very different purpose. I like both in-depth tests and tabular comparisons between CPUs.

lispm··on Ask HN: What's the state of Common LISPs on ARM64-Linux?
I use the commercial LispWorks on ARM64-Linux.
lispm··on C++ Template Macroprogramming versus Lisp Macros
Can a template access a database/filesystem/network at compile time? Any idea about that?
lispm··on C++ template macroprogramming versus Lisp macros
it's "meta" programming, since Lisp macros do source transformations: code to new code. So one writes code which will rewrite code. For example some programming language lacks a control structure one would want. Instead of waiting for the benevolent dictator for life implementing this feature, one can do it by creating a macro, which implements the control structure.

For example, imagine that you want to program with state machines and you need a short notation for that in your programming language. In Lisp you could design a syntax for a state machine and the Lisp macro would transform state machine descriptions into the code used to implement them -> the generated code typically will be longer and full of implementation details -> in the state machine description one would only specify what's necessary. The Lisp macro will do the code transformation from using the new control structure to the implementation of the control structure.

Thus one can view Lisp as a programmable programming language.

lispm··on C++ Template Macroprogramming versus Lisp Macros
looks like he is using GNU CLISP.
lispm··on C++ template macroprogramming versus Lisp macros
> In general, a macro produces code at compile time

The term "macro" is overloaded. In a typical Lisp they are generating source as data, not just constant values. Lisp macros also work in interpreters and they can use arbitrary language features, incl. creating side effects or accessing external data sources.

lispm··on C++ template macroprogramming versus Lisp macros

    (defmacro factorial (n)
      (labels ((fact (m)
                 (if (= m 0)
                     1
                     (* m (fact (1- m))))))
        `,(fact n)))
The `, has no use here and can be removed. Here the backquote and the evaluation just returns the computed value.

Thus, this is okay:

    (defmacro factorial (n)
      (labels ((fact (m)
                 (if (= m 0)
                     1
                     (* m (fact (1- m))))))
        (fact n)))
LABELS defines local recursive functions. The macro returns the result of calling FACT, which is a number and which is a valid form in Common Lisp. A number evaluates to itself.

    CL-USER > (macroexpand-1 '(factorial 10))
    3628800
    T
← PreviousPage 2 of 34Next →