HNHacker News
TopNewBestAskShowJobs

kagevf

261 karma · joined March 12, 2013

Learning Common Lisp along with Parenscript. Day job using C# on asp.net (core). Also dabble in reactjs and F#
submissionscomments
kagevf··on Depending in Common Lisp – Using the CLOS dependent maintenance protocol (2022)
> even if by some chance it included some "vi mode", it would simply be an emulation, not an actual vi editor

Lem supports vim key bindings, according to its README.

btw, I don't have any issues with emacs keybindings, but I chuckled at the "Emacs RSI bindings" :)

In fact, I think vim keybindings are superior for editing - you can't beat hitting "." to repeat an action - but after using emacs for ~5 years I find myself in it a lot more than I expected when I started using it. The whole thing with key bindings is that for whichever one(s) you use your muscle memory catches up.

kagevf··on Depending in Common Lisp – Using the CLOS dependent maintenance protocol (2022)
vim has 2 implementations of slime.

Lem is a new editor written in Common Lisp that has slime "built-in".

kagevf··on Depending in Common Lisp – Using the CLOS dependent maintenance protocol (2022)
> why on God's green earth is the present working directory not searched for the package I'm trying to build, like every other build system to ever exist?

What if you want to share packages (aka CL systems) between different CL systems / applications?

kagevf··on Depending in Common Lisp – Using the CLOS dependent maintenance protocol (2022)
> any system that relies on information that was typed into a REPL three-months ago and is now only stored in the binary state of that REPL and nowhere else

Implemenations like SBCL can produce executables. Source code is stored in files and can be versioned.

> The only person trying to fix this [is] Fukamachi

There are other ways to get dependencies, such as ultra lisp https://ultralisp.org/ and OCICL https://github.com/ocicl/ocicl.

kagevf··on Depending in Common Lisp – Using the CLOS dependent maintenance protocol (2022)
All in the service of interactivity, a key feature of CL.
kagevf··on A UC Santa Cruz professor unearthed the oldest alphabet yet
Yeah, was aware of that possibility; I guess I should have made a point about the disctinction between symbols vs "possible sound combinations" (my words). And even "possible sound combinations" can be further limited to "actually used sound combinations" as mentioned in the answer on that SO link.

So, in terms of "possible sound combinations" I think Japanese would likely be on the lower side given that the number of sounds are also pretty low. Alright, thank you for that reply; the point in the original post I replied to makes more sense to me now.

kagevf··on A UC Santa Cruz professor unearthed the oldest alphabet yet
> there are languages with a relatively small number of distinct syllables, like Japanese

Japanese has around 50 syllabic symbols, depending on how you count - include both sets of kana? include more archaic kana? etc

What would be a more typical number of syllabic symbols? I tried googling it to get an idea, but couldn't find much useful information. I guess Arabic has 28?

kagevf··on Some programming language ideas
Not sure it counts as "multicursors" but overwriting a rectangle using C-x r t (string-rectangle) is pretty handy in emacs.
kagevf··on The evolution of a structural code editor
Interesting, I did not know that! But, the one I wrote mimics how insert-parentheses works, so I will probably stick to my version.
kagevf··on The evolution of a structural code editor
With built-in emacs functionality you can do:

1. Place the cursor on the left parenthesis of the form (same as you wrote)

2. C-M-Space to select the form.

3. M-( to surrond with parenthesis.

4. type "if flag" (same as you wrote for #3)

One extra step, but no need for a plugin.

Also, I added a simple "insert-quotes" that I think I mostly copy-pasted from the built-in "insert-parentheses":

  (defun insert-quotes (&optional arg)
    (interactive "P")
    (insert-pair arg ?\" ?\"))
So I can replace my #3 above to wrap something with quotes instead of parentheses.
kagevf··on The evolution of a structural code editor
> Creating a language designed for being manipulated this way

AFAIK, Lisp wasn't created for structural editing, it was just a "happy accident" that it lends itself so well to the technique. Even without the paredit and parinfer plugins, emacs already has good support for structural editing built-in. It reminds me of VIM text objects, but geared directly for Lisp syntax, ie. symbolic expressions.

kagevf··on Fighting spam with Haskell at Meta (2015)
> a couple of famous Haskell folks.

Who?

kagevf··on Using Guile for Emacs
> adding support for light/dark mode

It's there.

  M-x invert-face
Then, type "default"

Also, checkout M-x customize-themes for some other decent built-in themes.

kagevf··on I Hate the Letter F
A garbage reddit post produces this great comment - only on HN! :)

And somehow, my reply managed to avoid using that letter ...

kagevf··on Ask HN: If you were rewriting Emacs from scratch, what would you do differently?
I think it's meant to be a sarcastic take of the next iteration after VS Code :)
kagevf··on The Rise of Worse Is Better (1991)
> the worse is better approach is better.

I think this ties back to the idea of "get it working, then once it's working go back and make it fast | preformant | better for whatever meaning of better".

I think much of the consternation towards "worse is better" comes from re-inventing things to achieve the "make it better" improvements from scratch instead of leveraging existing knowledge. Re-inventing might be fine, but we shouldn't throw away knowledge and establshed techniques if we can avoid it.

kagevf··on Why does Lisp use cons cells? (1998)
To me, the form is not intuitive, but the result is:

  ((1 2) 3 4)
Someone else in that thread mentioned that CONS is basically adding (1 2) to the front of the (3 4) list, and that helped me understand it better.
kagevf··on Why does Lisp use cons cells? (1998)
I wrote "not *as* caustic" ... in particular, he wasn't being caustic toward Lee, but rather to the idea of cons pairs being redundant.

It's enough of distinction to make me think I should re-examine what Naggum had to say - in this and in other posts - and not get caught up in any pre-conceived notions I might have had about him.

kagevf··on Why does Lisp use cons cells? (1998)
He does have a tendency to write off people as “fanatics”.
kagevf··on Why does Lisp use cons cells? (1998)
This doesn't come across as "caustic" as when I previously read it. And the "bile" isn't directed so much at Lee as it is at something he wrote; "All in all, the pairs notion is redundant."

Naggum genuinely seems to be hoping that his long and thorough explanation will convince Lee of his point of view, and not as a put down.

> I hope you understand and appreciate what I have written above so the following does not apply to you anymore.

The "following" where he goes off on what Lee wrote, but not on Lee himself.

It might be worth it for me to re-read Naggum's posts, now that I have a better understanding of where he was coming from.

kagevf··on Vapour: A typed superset of the R programming language
I tried using "r" (with quotes) on indeed, and got some hits where R was listed as one of the necessary skills.
kagevf··on Unity is cancelling the runtime fee for games customers
I remember back when putting together PCs in the 90s if the cable for the IDE drive was connected incorrectly it would emit smoke - I didn't directly experience it, but any instructions I had read warned about it.
kagevf··on Why GitHub won
And, how will the existence of source control management in both GitHub and Azure DevOps be reconciled?
kagevf··on Clojure 1.12.0 is now available
Do you use LW's built-in editor, or emacs?
kagevf··on Clojure 1.12.0 is now available
> Unfortunately the SLIME REPL itself (its read eval print loop) is not great

> Another way of working got lost...

You singled out SLIME, but you've mentioned before that you use LispWorks - do you think it's also "not great"? Just curious ...

kagevf··on Clojure 1.12.0 is now available
> Does anyone remember Groovy?

I recall that Atlassian had some kind of scripting console where you could run Groovy and interact with its API / objects. It was useful for exploring when writing plugins for bamboo or Jira ...

kagevf··on Why did Windows 95 use blue screen error messages instead of hard error messages
> "Win9x is MS-DOS with a graphical shell"

I think if you replaced “Win9x” with Windows 3.1 - or earlier - it would be true.

kagevf··on Greppability is an underrated code metric
> able to hold

Would "grasp" work?

kagevf··on CIEL Is an Extended Lisp
CL is case-sensitive, but it handles things so you typically don't have to be aware of it. I don't think I'm smart enough to try to do something clever on top of that, so I hope I can avoid your pain.
kagevf··on Google Closure Library has been archived
Not to mention “Go” …
← PreviousPage 2 of 10Next →