freenode/#lisp - IRC Chatlog
Search
20:01:06
Ober
no-defun-allowed: yeah probably user issue on my part. restarting slime seems to not hang now.
21:04:02
semz
Question about iterate: A (for VAR initially ... then ...) clause can't use PVAR from a (for PVAR previous VAR) clause in the THEN part because the clauses expand to (PROGN (SETQ PVAR VAR) (SETQ VAR ...)). Is this an undocumented gotcha or does it follow from some principle I have missed and I should have expected it?
0:22:12
aeth
Oh wow, that was involved. It took quite a bit to get variable support in my HTML macro. https://gitlab.com/mbabich/cl-documents/blob/ab3551f26a4bcfd1ec47532efccc45693cc247b2/generate-html.lisp#L9-47
0:22:27
aeth
I have to manually iterate the lists so it terminates one after the list end instead of at the list end.
0:25:01
aeth
Basically I assume that (code-char 0) is invalid, so when I come across a symbol that's not a keyword (i.e. a variable) then I write (code-char 0) and I push the variable-name to an internal list in write-html, which is returned at the end (in reverse order). Then I write the string, split on (code-char 0)s with calls to (write-html ,variable ...) in between the splits.
0:26:34
aeth
So, effectively, what the macro generates is: if it's not (code-char 0) then it writes the string range up until that point and if it is, then it writes the original symbol it encountered, which is assumed to be a variable.
0:28:00
aeth
If no variables are used, then it just writes a constant string, which is going to be the most efficient. The next most efficient will be to precalculate as much as possible.
3:20:35
aeth
I generally prefer suffixes to prefixes because then they don't affect an alphabetical sort
4:54:46
no-defun-allowed
It's probably an excuse for something else, especially with their type<T<T2> > shenanigans.
4:54:49
beach
Josh_2: If that is what you are being told, I think the person is giving you an excuse that just isn't true.
4:55:17
beach
Josh_2: There are very strong psychological forces at work that make people resist anything new.
4:57:07
beach
Josh_2: Some bad cases will come up with ridicule such as "only bald people use Lisp".
4:58:02
beach
Josh_2: In general, I recommend that you avoid trying to convince people. It is usually a waste of time.
4:58:50
no-defun-allowed
beach: "Bald people" is a new one to me. I've heard about beard length before though.
5:00:51
beach
Josh_2: The only thing I have found to work is to show real result from very productive work.
5:01:10
no-defun-allowed
(For example, http://i.imgur.com/HLp8z11.jpg for GNU/Linux distributions. I think beards are just a general computer science thing.)
5:03:36
beach
All I am saying is that the worst offenders, i.e. the ones with the "closest mind set" (terminology by Carol Dweck), will go to any length to convince their entourage NOT try anything new. Ridicule is one such tactic. And those worst offenders are often "alpha males", so they have great influence on others.
5:04:31
no-defun-allowed
Back to the point, people have excuses and you might be more productive working on your own stuff. Then you can show them, then they might be convinced, else you can laugh at them in your head for willingly wasting their own resources.
5:08:18
beach
Josh_2: I recommend the writings (and YouTube presentations) by Carol Dweck. Once you understand the psychological forces involved, perhaps you can also understand how to work around them.