freenode/#lisp - IRC Chatlog
Search
21:46:55
aeth
I think the only language more expressive than Lisp, and in a very different way, is assembly. There, you can do literally whatever you want, and probably very efficiently, although not portably. (And C is not sufficient portable assembly.)
21:47:30
aeth
Assembly fairly directly translates to/from s-expressions, too, so it probably wouldn't be too hard to give it real macros. It already has real functions.
21:49:08
aeth
_death: All we need is more languages with define-vop so someone can write a define-vop portability library.
21:49:42
aeth
CL isn't a particularly concise language if you take away the macros (including the built-in macros)
21:50:37
aeth
tagbody and go can fairly directly be translated into asm. Just "namespace" the tags to mimic the contained goto effect.
21:59:33
aeth
fouric: My point is that with asm, you can trivially add Lisp-style macros and then use Lisp-style macros to write Lisp-style abstractions (although you're working with registers instead of lexically scoped variables and special variables)
22:01:16
aeth
whoman: You'd have to write the macro system in another language instead of directly in asm (unless you first built up all of the abstractions necessary, which would be a waste of time because CL exists)
22:01:26
_death
I also found http://canonical.org/~kragen/sw/urscheme/compiler.scm.html a very neat example, starting from very little ending with a working compiler
22:42:09
pjb
aeth: well, writing lisp (or anything) in assembly is rather easy and fast: you just need to implement a few "primitive" functions and assembler macros, and use them systematically. It may be syntactically inconvenient, but you can achieve a higher level of abstraction quickly and easily enough.
7:53:11
jackdaniel
siraben: ecl is known to work on iOS (but requires some effort to build things, and you don't have access to c compiler - only bytecodes)
7:55:11
jackdaniel
easier testability. CL is not particularily functional, so answers here won't be very representative with this regard
7:56:03
minion
siraben: direct your attention towards PCL: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005).
8:01:48
Colleen
Common lisp hyperspec (tm) http://www.lispworks.com/documentation/HyperSpec/Front/index.htm
8:04:10
Shinmera
C, C++, Java, JavaScript, Python, Bash, Rust, Haskell, and probably others that I forgot about.
8:07:23
Shinmera
Or in other words, I don't see anything I care about that Clojure would offer me over CL.
8:11:57
patrixl
it skips over the whole topic of organizing your code in files, packages, etc and doing actual development
8:12:25
patrixl
otherwise it's a fun book to get the basics and get excited about Lisp (if you aren't already ;) )
8:13:02
jach[m]1
siraben: I'm about 100 pages from finishing LoL, I've enjoyed it but it's not very sticky. And skips over a lot I care about as an employed person in Blub. ;)
8:19:05
jach[m]1
One of the things that made me go "I wish someone had shown me this back when I had learned a little scheme and thought I knew 'lisp'" is this small series of posts:
8:26:04
siraben
Emacs was my go-to after learning Scheme, especially because paredit is just amazing when dealing with parens
8:28:54
patrixl
after spending a month coding lisp with emacs on a personal project, I went back to my work codebase in ruby and visual studio code and pulled quite a lot of hair out in frustration haha
8:47:22
siraben
I love that feeling of when I wish Emacs could do something, then implementing it myself.
8:47:40
patrixl
the annoying one is Outlook for Mac, it not only breaks some the usual macOS keybindings, it also maps ctrl-C etc to the copy paste
8:57:11
aeth
I accidentally use key bindings in Firefox all the time. It's not a big deal. Usually I just have to hit ESC to close the save page window that opens when I tried to search with C-s.
8:58:01
aeth
In the terminal, thanks to readline and its many clones, I use Emacs keybindings outside of Emacs all of the time. (The biggest difference is what C-u does, afaik.)
9:00:23
siraben
I was shook when I used my friend's Windows machine and 'C-x C-f' didn't do what I thought it would
9:02:56
aeth
If only there was a program that actually did everything, unlike Emacs, which is too tied in its buffer-oriented ways and too burdened by its terminal-first legacy.
9:03:33
aeth
Emacs gets you a lot of the way there, until you want to browse the web, view and edit images (although you can somewhat view them), open PDFs (although you it somewhat handles PDFs), etc.
9:04:20
aeth
siraben: Using external non-Emacs applications means learning another set of key bindings.
9:06:10
siraben
It really doesn't make much sense to use CMD+C or C-c for copy and the same for paste
9:06:15
aeth
pjb: You can do just about everything in Emacs (at least the X11 Emacs, which has additional features over the in-terminal Emacs), but it's not the best option for anything visual imo. Web browsing, image viewing, PDF viewing, etc. I've done them all, and Emacs's model is... limiting there.
9:06:40
aeth
pjb: I hope a CL Emacs takes that into account when there's a popular/serious one out there.
9:06:57
aeth
I think it turns PDFs into images and then uses its image viewer, which is why it's slow and limiting.
9:07:44
aeth
Emacs is an app for everything, but there's a lot of things that you can't do without heavily rewriting how Emacs thinks about the world (i.e. never)
9:08:25
siraben
Or one could create an elisp to CL compiler, refactor the C code automatically and boom!
9:08:50
aeth
A good Emacs replacement in CL would essentially just be a CL app platform all in one application.
9:10:34
aeth
As soon as I saw Google I immediately knew it wasn't going to be what I was looking for because Google only uses CL when they acquire a company that uses CL (afaik).
9:11:55
aeth
The thing is, GNU Emacs is not a text editor. It's an integrated application platform. You're not going to replace it with a text editor. This also means that GNU Emacs itself is not a particularly good Emacs because it was never designed with web, PDF, PNG, IRC, etc., support in mind.
9:12:38
siraben
So I imagine the work would change from "let's rewrite Emacs" to "let's replace the core of Emacs"
9:13:05
siraben
But to allow Emacs to have a swappable "kernel" there needs to be better API documentation
9:15:13
aeth
siraben: In its list of 7 design decisions, the only one I agree with is the front-end/back-end separation.
9:16:43
aeth
And while high performance is a nice goal, the rise of Electron apps has shown that shipping a working product seems to be valued more than performance. Sadly.
9:17:02
aeth
Fortunately, that means you can use a lot more RAM than you used to get away with using, because you're still lightweight compared to Electron.
9:19:03
siraben
aeth: It's like needing to ship a full-fledged browser for something that should be tiny
9:20:34
aeth
There's a middle ground between "rush to shipment and waste all of the resources" and "carefully craft an editor that can compete with vim" (I said vim because emacs's draw isn't that it can edit text). Reasonable optimizations, etc.
9:21:04
siraben
aeth: Rip "Emacs is an excellent OS, the only thing it lacks is a decent text editor"
9:22:49
siraben
aeth: Maybe because the whole mindset in developing Emacs in the first place wasn't "do one thing well" as is common in UNIX philosophy, but "let's do everything"
9:24:44
siraben
Because Elisp, although it's pretty good in what it does, doesn't have much value outside Emacs
9:24:50
aeth
CL's in a "mid tier" performance range, like Java, where you don't have to have a separate scripting language and core language.
9:25:06
aeth
GNU Emacs would probably be much faster if it was entirely in SBCL instead of slow elisp mixed with fast C.
9:26:13
aeth
They want to change to Guile, for some reason, even though CL isn't that different from Emacs Lisp.
9:27:05
aeth
JITs aren't magic, though. I think they have two disadvantages: (1) RAM, (2) startup time
9:27:17
aeth
And #2 would make me hate Emacs. I don't leave it up for days at a time like some people
9:28:17
siraben
I wonder if and how Emacs is going to stick around for the next 10, 20, maybe 50+ years?
9:30:10
pjb
siraben: now, take your favorite OS, and activate the dictaphone function. Have fun dictating a letter. Bonus points to dictage a program (programming language of your choice!)
9:30:17
siraben
pjb: Maybe a brain-computer interface would eventually allow us to program at the speed of thought?
9:30:37
pjb
siraben: the problem is not the brain of the programmer: it's the brain of the listener.
9:31:18
pjb
The point here is that we need AI with much higher AIQ before they can understand us dictating a program.
9:33:54
aeth
siraben: 9/10 people in a computer science program do not care about computers or programming and are just there for the money
9:35:05
siraben
The people (and the teacher teaching it) in my school's computer science course haven't heard about Lisp
9:42:22
aeth
siraben: Just look at the numbers of people enrolled in computer science departments over time.
9:44:59
siraben
My understanding is that it's full of people who /want/ to learn CS, but apparently that's not the case lol