freenode/#lisp - IRC Chatlog
Search
9:44:03
jack_rabbit
makomo, I rarely use them, but when I do, they're indespensible. That's true of many tools CL provides.
9:45:48
jack_rabbit
Yeah. I chuckle when someone tells me about their favorite lanugage's "new feature" and how genius it is.
9:46:41
makomo
i like to refer to lisp in general as the knowledge of the ancients, the ancient scrolls
9:46:54
hajovonta
and when you say "I implemented this new feature into my language", that's completely alien to them
9:46:54
makomo
most people can't believe when i tell them i'm reading/learning about some language that was made 60 years ago
9:47:29
makomo
in general i think that the it industry doesn't have very much appreciation for the past
9:48:27
makomo
yep, and lisp has taught me to get rid of this feeling and appreciate the old papers, the old articles, the old code
9:51:10
TMA
well, most code is crap (because it is written by humans), the practitioners are (unconsiously) aware of that. The desire to rewrite is (a) there are bugs for sure, it is easier to rewrite than to fix (b) at least it will somewhat work for my use case
9:52:07
makomo
TMA: sometimes it makes sense, i agree. but for example when you mention Emacs to most people, they all go "eww, why would you use such an old editor?? use something modern like intellij, look at all of the cool features i has!"
9:52:48
makomo
i loved the moment a few days ago where, after all of the buildup from my CL stories, i showed the guy that Emacs itself is just a huge lisp system
9:55:13
makomo
i use spacemacs which some consider to be bloated, but i like the ease of configuration (when it works) + the default vim keybinds
9:57:30
makomo
(it marries eclipse and emacs, basically runs eclipse in the background in headless mode and provides completions for emacs)
9:58:22
makomo
most of the stuff that another friend was telling me about, how cool all of these features are in intellij and how eclipse doens't have them, was plain wrong
9:58:33
makomo
eclipse had all of them, he just never even tried to use them because intellij is new and better
9:58:47
TMA
makomo: it is a natural feeling, most people consider themselves young _and_ better than anyone else (it is a well established fact of human psychology). they just mistake their own personal bias/delusions with natural laws
10:00:48
jack_rabbit
I began writing some tools for Java editing in emacs, but got frustrated, and decided just not to write Java anymore.
10:01:01
TMA
when editing java, I routinely use all three big ides -- eclipse, netbeans and intellij.
10:02:11
jack_rabbit
makomo, I gave eclim a fair shot, but found it unintuitive. It seemed to get in the way more than it was helpful.
10:03:29
jack_rabbit
makomo, It seemed inconsistent. There were also some features that seemed to require a fixed window layout. I'm not sure how they hacked emacs to behave that way, but it was very strange.
10:04:13
jack_rabbit
makomo, Basically instead of providing tools and such to use with my regular work flow, it seemed to require me to conform to its rigid rules.
10:05:56
jack_rabbit
I ended up just going back to my sed and grep scripts for finding classes and stuff. :)
10:06:47
makomo
in conclusion, i consider CL/Lisp to be one of the most important discoveries i've made
10:07:08
makomo
it has opened my eyes to many things, and allowed me to see the essence of many language features
10:08:51
jack_rabbit
I have written a couple of import-related emacs functions for Java: https://gist.github.com/knusbaum/a0934a7a6de986420e683704a38bf58f
10:10:35
makomo
i have to learn more of the emacs api to be able to do anything non-trivial with emacs
10:11:06
makomo
learning emacs lisp is easy. it's the emacs ideas/internals/apis you need to really learn
10:12:16
makomo
sometimes it's a bit confusing, even more so since i'm using spacemacs and then some stuff doens't really work as described
10:13:06
makomo
it allowed me to get a quick start on emacs and make me feel at home with its vim keybinds
10:13:37
makomo
the greatest thing about vim are its keybinds and the whole concept of modal editing imo
10:14:20
makomo
so i'm glad something like spacemacs exists, and it's good to introduce newbies too because of the familiar vim keybinds/modes
10:15:02
makomo
now when i know more about lisp, i'm considering going back to raw emacs and trying to do it myself, but we'll see about that
10:16:13
jack_rabbit
I've never found it that useful. I just hold down Ctrl and issue commands. I guess it's sort of like a rapid mode switch.
10:17:09
makomo
when you start out you're in "normal mode", to enter insert mode you just press "i", and then "ESC" to go back to normal mode
10:33:34
TMA
the problem with the default emacs keybinding for me is my supershort pinky finger. that and the left ctrl being too far, the right too awkwardly positioned.
10:57:05
dim
is it possible to build SBCL in a way that the sbcl binary then contains extra .so dependencies, such as openssl.so or sqlite.so?
11:03:31
dim
yeah, to avoid having to dlopen from the image when it's possible that the symbol found at dlopen won't match the symbols found at image creation time
11:04:38
dim
now that I had to write this, I wonder if having the .so in the binary header rather than used with dlopen() is going to have an impact on the problem...
11:05:51
p_l
dim: you might want to write a hook before save-lisp-and-die, which dumps a list of shared objects, copies them to where the image is to be saved, and rewrites the list to contain image-relative paths
13:17:23
pierpal
ebrasca: http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/code/tools/xref/0.html
14:30:35
puchacz
I know they can have names, but names are not unique and they exist only for threads I create.
14:33:32
puchacz
I am not sure about semantics of special variables; (let ((*special-var* (random-string))) ....) for example ?
14:36:06
puchacz
shka: yes, it will work. however I was hoping I could have a mechanism that works for all threads I can encounter, not only these I create or control somehow
14:36:43
puchacz
for truly ThreadLocal variables, I could just (unless (threadlocal :name) (setf (threadlocal :name) (gensym))
14:39:13
shka
anyway, i don't run into thread issues, mostly because i am really good at avoiding explicit synchronization :P
14:40:54
shka
everybody is, just don't try to be smart, keep things simple and separated and you are fine
14:42:04
shka
so share very little between threads (mutable stuff), and explicitly mark those things
17:28:13
puchacz
hi, in unwind-protect, will cleanup body be executed even if return-from the whole function?
18:08:21
makomo
i would like to use conses as keys into my hashtable but i would like a special equality test for them
18:32:31
sjl
If you want to use vectors as keys based on their contents, you need to use #'equalp, but that will also make strings ignore case
18:35:37
shka_
sjl: actually, if you want to be so anal about sxhash, standard allows returning same number for every string as well
18:37:44
shka_
there is plenty of use cases for custom hashtables, but it is not worth to use it if you can simply use equal
18:38:43
makomo
i mean, it would definitely be overkill, but using the chance to explore other options is always nice
19:48:19
Baggers
doesthiswork: a bit quiet here today, maybe due to ELS. If you have time it could be worth reporting this on the mailing list.