Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
reikonomusha
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
31.
▲
Almighty Lisp
(almightylisp.com)
16 points
by
reikonomusha
7mo ago
|
4 comments
32.
▲
by
reikonomusha
7mo ago
Logan Skelton, a music professor at the University of Michigan, really made be find profundity in this poem, not just for its message, but also its construction. I was blown away by his video about it [1]. Really, it was a mind-blown thing
33.
▲
by
reikonomusha
8mo ago
Three (in part or full; presently or recently historically): DWave, Rigetti, HRL
34.
▲
by
reikonomusha
8mo ago
Coalton [1] adds Haskell-style types (so typed lists, type classes, parametric polymorphism, ...) to Common Lisp, and compiles to especially efficient code in SBCL. [1] https://coalton-lang.github.io/
35.
▲
by
reikonomusha
8mo ago
I mean the following with all due respect—and I have a lot of respect for your many efforts and contributions—but it will sound a little blunt, especially as a written comment. "We have one," no, this is a consistent problem with
36.
▲
by
reikonomusha
8mo ago
This is not true. (defun f (x) (let ((y x)) (setf y (* y x)) (block foo (if (minusp y) (return-from foo y)) (loop :for i :from 1 :to 10 :do ... This is absolutely
37.
▲
by
reikonomusha
8mo ago
- Ease of setup and install. Turnkey. Good defaults. - Non-buffer based workflows. - Easy access to settings. - Easy ways to change or switch my compiler. - Integrated with typical lisp tooling for library, system, and package management. (
38.
▲
by
reikonomusha
8mo ago
Lisp code is written top to bottom, left to right. Is your grievance more to do with expression-oriented—as opposed to statement-oriented—languages? "Do this" (statement) vs "represent this" (expression)? For instance, d
39.
▲
by
reikonomusha
8mo ago
Lisp isn't solely defined by DEFMACRO. There are other reasons to use it too, in ways that can complement or compete with DEFMACRO. I also don't really know or understand what the term "flexible" is supposed to mean prec
40.
▲
by
reikonomusha
8mo ago
This is a common reaction/belief but usually from people who have not actually managed a team of Lisp devs. Lisp devs are managed in the same way as any other: You have style guidelines, design review, code review, etc. Sometimes a new
41.
▲
by
reikonomusha
8mo ago
Three thoughts (in the context of Common Lisp specifically): - Every day that passes, the gulf between Lisp's tooling and what a typical user expects grows wider. It needs to escape Emacs and SLIME to something that feels complete and
42.
▲
by
reikonomusha
1y ago
The value NIL has type NULL. No value has type NIL.
43.
▲
by
reikonomusha
1y ago
I think this article over-sells (to a point of being misleading) the amount of static type checking offered in Common Lisp even by a relatively good implementation like SBCL. SBCL's static type checking provides in practice virtually z
44.
▲
by
reikonomusha
1y ago
I think the criticism is relevant because TFA isn't the first to exercise the term "cognitive load" in the context of computing. It's a term thrown around quite often, so we should cross reference its alleged meaning to
45.
▲
by
reikonomusha
1y ago
S-expressions make the user interface to code generation, a component to hot-reloading, more facile. It's not a triviality or gimmick in this context. We can see from OP that it's actually quite annoying to specify code in a non-S
46.
▲
by
reikonomusha
1y ago
You asked where Lisp is useful, and I supplied a list of companies that find (or, in some cases of recent history, found) Lisp useful. Your Google example is pertinent, because Google had the resources to wholesale eliminate its use of Lisp
47.
▲
by
reikonomusha
1y ago
https://github.com/azzamsa/awesome-lisp-companies
48.
▲
by
reikonomusha
1y ago
CLOG [1] seems to do something similar (though it's hard to tell; Seed's README isn't terribly informative), except CLOG has more tutorials, is better documented, has a more fleshed out README, and has ongoing support. [1] h
49.
▲
by
reikonomusha
1y ago
It doesn't make sense in and of itself. We usually think of division as a closed operation: we divide two things (like real numbers) and we get the same kind of thing out (another real number). In Hamilton's original view of quate
50.
▲
by
reikonomusha
1y ago
Since a macro is a definition of syntax, I think you'd essentially need something like typing judgments to show how the typed elements of the syntax relate to one another, so that the type checker (e.g., a typical Hindley-Milner unifie
51.
▲
by
reikonomusha
1y ago
I think you're right that debugging errors involving complicated macros can get difficult, but to at least make the situation more tolerable, when Coalton expands a macro, it remembers where the expansion came from, so an error will be
52.
▲
by
reikonomusha
1y ago
Then nothing. Macros work. Silly example: COALTON-USER> (defmacro rpn (x y op) `(,op ,x ,y)) RPN COALTON-USER> (coalton-toplevel (define (double x) (rpn 2 x
53.
▲
by
reikonomusha
1y ago
It can detect simple-ish instances, like calling (fn-t "hello" "world") But a good rule-of-thumb is that these compile-time type errors are more of a courtesy, rather than a guarantee. As soon as you abstract ov
54.
▲
by
reikonomusha
1y ago
I think it's three things: 1. Bringing abstractions that are only possible with static types, like ad hoc polymorphism via type classes. For example, type classes allow polymorphism on the return type rather than the argument types. So
55.
▲
by
reikonomusha
1y ago
As far as your first question is concerned, macros in and of themselves are not incompatible with a typed language. Coalton uses Lisp macros, for example, and they work seamlessly and as expected. But a Coalton macro is typically written in
56.
▲
Coalton Playground: Type-Safe Lisp in the Browser
(abacusnoir.com)
117 points
by
reikonomusha
1y ago
|
39 comments
57.
▲
Why might it be necessary for Coalton to be a language in itself?
(gist.github.com)
3 points
by
reikonomusha
1y ago
|
0 comments
58.
▲
Pseudo, a Common Lisp macro for pseudocode expressions
(funcall.blogspot.com)
73 points
by
reikonomusha
1y ago
|
14 comments
59.
▲
by
reikonomusha
1y ago
In addition, Common Lisp provides standardized ways to get fast code: OPTIMIZE policy, type annotations, stack allocations, disassemblies, etc. This is all there before you get to SBCL's specific tools for optimization and profiling.
60.
▲
by
reikonomusha
1y ago
This is a disappointing article from an author who usually writes excellent works. The article touches on a seedling of truth, but then takes it in a misleading direction. Unfortunately, I don't think this article actually inspires any
More ›