freenode/#lisp - IRC Chatlog
Search
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
9:46:52
aeth
In my personal experience taking classes in various subjects, the places where most of the undergraduates want to be there are the upper level courses that aren't marketable, like philosophy. (The lower level ones might fill general education requirements.)
9:49:08
aeth
Well, some universities probably has difficult enough computer science classes to get the same effect by the time that the upper level comp sci classes come.
9:50:21
aeth
Not like that's necessarily a good thing. Those universities probably teach a lot of useless C++ trivia.
9:53:21
siraben
If you have even a week of programming experience I would imagine it would be trivial, right?
9:57:05
Shinmera
An exercise a friend of mine tried to solve recently has a really elegant solution in lisp, I think: Determine whether a list is a palindrome.
10:00:42
Shinmera
Everything under the sun, but hardly any of it is Lisp relevant (and thus off-topic)
10:03:13
_death
I once asked someone to define a class for representing classes (in the context of C++)
10:08:46
pjb
fizzbuzz is not that easy as interview question: https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
10:14:45
aeth
I wonder what the most efficient FizzBuzz solution is in SBCL (limiting it to one implementation so there's an objective, clear answer)
10:15:59
beach
Shinmera: For ELS registration, when I click on "Early regular", it says that the banquet is included, but the banquet option is also selected. Shall I deselect the option?
13:39:10
beach
asarch: In Common Lisp, they are called "conditions", and we "signal" conditions, whereas other languages "raise" "exceptions".
13:43:50
Shinmera
There are THROW and CATCH special forms in Lisp as well, but those provide a non local return mechanism, rather than anything to do with "exceptional situations"
14:09:26
beach
dxtr: The class, the class of the class, the subclasses of those classes, the generic functions that specialize on those classes, etc. etc.