Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
klibertp
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
31.
▲
by
klibertp
2mo ago
IIRC, the criticism is of syntax-rules and syntax-case kind of macros in Scheme; I don't recall (happy to be proved wrong) LoL directly mentioning syntax-parse that's specific to Racket. syntax-parse is no less powerful than defma
32.
▲
by
klibertp
2mo ago
On the contrary, CLI, TUI, and desktop GUI apps are basically the only kinds of apps that benefit from CL and can live with its shortcomings. The startup time of a tool written in CL is short: you just need to load the image into RAM, run s
33.
▲
by
klibertp
2mo ago
I suspect it's a bit like tree-shaking/dead-code elimination in an untyped, dynamic language. You can probably delete a lot of things, but each deletion has a chance to break (or silently degrade) some functionality. Good coding p
34.
▲
by
klibertp
2mo ago
> western colonies fared much better than eastern ones. Sure, Iraq and Afghanistan definitely benefited a lot from being bombed, occupied, and then handed over to even worse tyrants when the West got bored. No, sorry, but "capit
35.
▲
by
klibertp
2mo ago
> In that regard Lepiter (and GT by extension) seems immensely powerful Yes - I think this all comes from the insistence on using a single rendering tree for everything displayed on screen. It allows mixing all kinds of UI elements every
36.
▲
by
klibertp
2mo ago
> you already think we are odious I had to look up the word to double-check as a non-native English speaker. A quick definition I'm working with is "Arousing or meriting strong dislike, aversion, or intense displeasure." T
37.
▲
by
klibertp
3mo ago
I might be wrong - I investigated Pike just once, a long time ago - but I think Pike dropped a lot of the "liveness" that LPC provided (ie. reloading objects from a (changed) source at runtime while keeping their identity and upda
38.
▲
by
klibertp
3mo ago
Almost no languages are built for the environment where all code and values must be live and persistent and accessible to many people at once. Sandboxing and permissions need to be much more granular than what you get in most implementa
39.
▲
by
klibertp
3mo ago
Roguelikes have had 2D UIs since the start (just rendered with characters), while a MUD with a 2D interface is not a MUD but an MMORPG. There's a bit of a middle ground in rich MUD clients that can reorganize the 1D stream of words vis
40.
▲
by
klibertp
3mo ago
> Modern MUDs and similar will just include a mature script language, like LUA Not necessarily. The persistent, live nature of some types of MUD programming (LPMUDs, MOOs) is unique enough that many typical scripting languages are not a
41.
▲
by
klibertp
3mo ago
EDIT: Argh, I misunderstood your point: you'd like to use GT as an IDE for non-Smalltalk code, right? I took "LSP integration" to mean "GT providing LSP server implementation", while you meant "GT implementing
42.
▲
by
klibertp
3mo ago
> A git commit [ideally] gives you the reason for the change FTFY ;) I broadly agree, but it's important to note that, in practice, Git commits are hit and miss: they might save you a lot of time if they are well-structured and desc
43.
▲
by
klibertp
3mo ago
I would ignore it if I spotted it once. This is the second time, though, so I probably should point it out: 5 years is a very short time in terms of personal experience and development. While the whole industry moves very fast, it does so
44.
▲
by
klibertp
3mo ago
> The Smalltalk approach doesn't really integrate well with anything else. That's not true. GToolkit (built on Pharo Smalltalk) integrates tightly with Git for VCS and Rust via FFI for external libraries. It integrates with ext
45.
▲
by
klibertp
3mo ago
> building alternatives and nobody used them Right. I kind of forgot that MUDs are supposed to be social. Seeing as the popularity of MUDs plummeted, I also changed my goals over time: I want to build a persistent, text-based (but with r
46.
▲
by
klibertp
3mo ago
Very cool! Why reimplement the "moo code", though? Is it "just" for backward compatibility, or did you determine that none of the existing languages can be easily modified to live in a MOO environment? I started playing
47.
▲
by
klibertp
3mo ago
It tends to be. While it does use a GC, it has both bytecode and native AOT compilers. When compiled to native, it's closer in performance to C++ and Rust than to C# or Java. It's a reasonable middle ground in PL design that Nim a
48.
▲
by
klibertp
3mo ago
> They all have failed. That's not true. Most have failed, but those who used the right tool for the job - a rich, static type system in a functional language - did succeed. It's just that such type systems are rare, and even i
49.
▲
by
klibertp
3mo ago
Somebody checked[1], and they discovered that the "stages" past the first had minimal impact on the unsafe blocks count. That's just one metric, but it makes me doubt your claim that there was/is a lot of work put into m
50.
▲
by
klibertp
3mo ago
Sure. But you know, from personal experience, you can be a happy BASIC user writing simple games without knowing about the existence of arrays. It's a bit hard, but nothing copy & paste couldn't defeat. And while learning abou
51.
▲
by
klibertp
3mo ago
I got curious and checked: CLU had iterators in 1975. > Another key feature of the CLU type system are iterators It also had exception handling and tuple unpacking! > For instance, writing x,y := y,x would exchange values of x and y (
52.
▲
by
klibertp
3mo ago
> It would be good, IMO, if people could come together and build out an open mobile platform not subject to SV hegemony From what I understand (based on pretty basic research into using old smartphones (which I already have a full drawer
53.
▲
by
klibertp
3mo ago
Well, I really don't want to put the blame on anyone. Misbehaving apps on casual users' phones are a legitimate problem, and the OS is expected to mitigate that. Moreover, there are not many proven models for that, and they al
54.
▲
by
klibertp
3mo ago
It just adds another layer of editing. For me, writing is always a multi-step process, even when many steps are condensed (in quick comments or IMs). First, dump the thoughts quickly in a rough form. Then settle the basic order of points an
55.
▲
by
klibertp
3mo ago
It's not. Modern Android is increasingly limiting what apps can do. It's a "code issue" in the sense that you can clone the Android sources, overhaul security and power management systems, and build your app to run on th
56.
▲
by
klibertp
3mo ago
Emacs with `M-x make-android-bg-app-responsive-dwim` too!
57.
▲
by
klibertp
3mo ago
Try it. The AI will probably tell you that it's, of course, doable. You would have to start by making your own AOSP distribution and require an unlocked bootloader to even attempt to install it. You definitely can throw an AI agent at
58.
▲
by
klibertp
3mo ago
TL;DR: if you want a general looping construct that works no matter the container type, you need an iterator protocol that types can opt into. This is a standard technique adopted by most programming languages that are not explicitly low-le
59.
▲
by
klibertp
3mo ago
> but it needs to be repeated any time "git gud" is used as an excuse for Git's UX, which is always. It's uncanny how a completely different community can have discussions this similar. I wonder if somebody wrote an a
60.
▲
by
klibertp
3mo ago
I absolutely love the images on the landing page. "Inappropriate use of blame, push and pull to resolve a conflict" is pure genius. Even the name had a lot of thought put into it (didn't know about "Giraffe language"
More ›