freenode/#lisp - IRC Chatlog
Search
6:54:19
whoman
is there a way to create a graph of lisp forms, like "box notation" from gentle introduction to symbol computation ?
7:12:16
whoman
"The Common Lisp standard specifies the interface between a Lisp implementation and the editor it provides. The interface is a function called ED."
7:17:16
aeth
Implementation-specific. Doesn't work in SBCL out of the box, but describe gives me enough information. Looks like in sbcl it uses *ed-functions*
7:17:25
aeth
(setf *ed-functions* (list (lambda (x) (declare (ignore x)) (uiop:run-program "emacs"))))
7:17:39
aeth
That almost works, errors on exit, though. I'd also need to figure out how to use its argument.
7:18:05
aeth
It's probably not used enough for there to be a trivial-ed package that makes all this easy.
7:19:13
whoman
; Evaluation aborted on #<TYPE-ERROR expected-type: (OR CONS (VECTOR CHARACTER) (VECTOR NIL) BASE-STRING PATHNAME SYMBOL)
8:37:41
schweers
minion: memo for phoe: I do read manuals from time to time in order to spot things I missed on earlier passes (or didn’t understand yet), but that setting was still not something I was aware of.
8:40:40
borodust
Xach: tried on a different machine (macbook pro 2012, no homebrew, no devtools, probably nothing that could potentially pollute environment) and guess what? it worked D:
8:41:52
borodust
Xach: on that note, I have another suggestion, but i need to get back to my dev machine to update the code (basically, just supress SBCL FPE check) and push it, so in a few hours
9:15:01
jdz
I used Hemlock (most likely with CMUCL) in 2003, was working just fine. I even came up with an initfile (http://www.ltn.lv/~jonis/.hemlock-init.lisp).
9:20:06
knobo3
How can I insert null in to a column with postmodern dao? Nil becomes false, not null :(
11:59:47
Xach
dim: http://report.quicklisp.org/2017-12-06/failure-report/pgloader.html#pgloader -- that's with sbcl from git, which uses asdf 3.3.1
12:26:29
knobo3
I experience a big delay when restarting one of my caveman projects on my development server that runs sbcl 1.4.2
12:31:44
Xach
dim: I tried using asdf 3.3.1 to test things, but these problems did not immediately present themselves.
12:39:16
jmercouris
This isn't a strictly lisp question, but within my browser, I have a global-map (as in emacs), I've named it global-map for consistency with emacs, but I'm thinkig about making it *global-map* to be consistent with lisp
12:40:39
jmercouris
Yeah, my other code has earmuffs, but I was thinking of making exceptions for emacs specific variables to avoid confusing people
12:41:00
jmercouris
I think earmuffs for all global vars for more consistency is more important than confusing a few emacs users
12:41:21
jmercouris
ecraven: Yeah, it MIGHT be a little less confusing in the beginning for some familiar variables, but more confusing in the long run
12:41:26
ecraven
also, it's not emacs, is it? so unless you want to emulate more, I wouldn't care about just a few variables
12:41:56
knobo3
Does it load the same project multiple times? https://gist.github.com/knobo/de67a3ab9a55b9b8ab423c75f33936f7
12:42:16
mercourisj
It's not emacs exactly, and emacs is in elisp, this is in lisp, so I should follow lisp convention
12:44:19
mercourisj
ecraven: No, I absolutely agree, it makes a lot of sense, and I hadn't thought of that before, so thank you
12:45:22
TMA
mercourisj: jmercouris: you can point emacs users to a file with a (define-symbol-macro global-map *global-map*) they can load if they wish
12:48:17
jmercouris
I will only personally support webkit on Linux though as I fundamentally do not trust google
12:55:14
TMA
mercourisj: jmercouris: you can point emacs users to a file with a (define-symbol-macro global-map *global-map*) they can load if they wish [this perhaps did not come through]
12:55:38
jmercouris
TMA: Ah, yes I did not see your message earlier, I guess I was disconnected at the time
12:56:28
jmercouris
TMA: so maybe some package they can install that loads a whole bunch of these expansions written out for common vars?
12:57:22
jmercouris
TMA: Maybe I didn't say that correctly, but something akin to package-install, where they can install something that makes "alias" from some special set of vars (emacs specific global ones) to the ear muff version?
12:59:16
jmercouris
I'm starting to feel like Linus now that I have actual users, I can't just break userspace whenever I feel like it
13:01:00
TMA
jmercouris: something like an emacs-compatibility-layer, yes. I think that it might be a package that will be separate, contain the aliases and the users could just (use-package ...) it themselves
13:02:24
TMA
jmercouris: the support burden needs to be considered. Personally I am not convinced that a non-emacs application shall cater to such emacs-specific taste preferences.
13:03:25
pjb
jmercouris: I would (defvar *global-map*) and (define-symbol-macro global-map *global-map*)
13:04:01
TMA
jmercouris: it will just invite "where is the rest of elisp?" and "why haven't you done it as an emacs package?" questions.
13:04:13
pjb
jmercouris: However, this would have the property of letting local bindings to global-map be lexical bindings. Perhaps not what you'd want.
13:04:18
jmercouris
TMA: Lol, that would be funny to see wouldn't it :D I'm already getting questions about Evil
13:05:51
jmercouris
pjb: I've looked at the source extensively already actually :D when I was trying to figure out how to get to stop eating my commands when in the REPL, as well as how to support copy/paste integration
13:06:38
pjb
I would advise to stick to the *convention*. It will let you avoid losing hours debugging strange bugs.
13:08:22
jmercouris
pjb: I'll just pretend I'm not aware of the discrepancy and leave it as earmuffs for now then :P if some emacs user comes across this log at a later time, they can proceed at their own risk :D
13:54:08
minion
schweers, memo from phoe: I know, I was kidding about the manuals. I keep on finding new gems and pearls inside ALEXANDRIA whose manual I've read tens of times and even inside CL.
13:59:23
tfb
schweers: CCL's editor is hemlock, so, yes (I don't know how far it has diverged from other hemlocks)
14:39:05
Xach
Shinmera: halftone has some trouble too -- http://report.quicklisp.org/2017-12-06/failure-report/halftone.html#halftone
14:46:50
Shinmera
Xach: That's the same error as for lionchat. It's from the qt-libs asd, and I still don't understand what it's doing.
14:48:23
Shinmera
:shrug: I can't tell you what's going on. I can't reproduce it, nor explain it in any way.
15:04:36
Shinmera
But that shouldn't have anything to do with the error that's in your failure report. That one is just complete nonsense to me still.
15:07:19
Xach
Now, I could see an argument that halftone is not to blame and it's a breaking UI change in uiop or asdf or something.
15:18:43
eudoxia
the stamp< thing is something Fare reported: https://twitter.com/Ngnghm/status/937885821272756226
15:47:28
jmercouris
Seems to be using some RB somehow, maybe there is an RB to SED transpiler they are using
15:51:30
jmercouris
Zhivago: What do you mean? I have no idea if he wrote it in ruby and just committed the sed, or literally wrote it in sed, there's no way for me to know actually
15:52:03
Zhivago
What I mean is how can you tell if a program is a transpiler or if it is a compiler?
15:53:36
Bike
the documentation suggests that the ruby file is a different implementation of the same thing (lisp via convoluted text editing)
15:56:28
mercourisj
Zhivago: My best guess (not being a compiler expert or anything) is that a transpiler goes from language a -> language b, whereas a compiler will go from language a -> machine code
16:00:10
waynecolvin
all compilers transform source code to object code, just sometimes the output is text files for further processing
16:00:50
mercourisj
I'll just leave this here: https://en.wikipedia.org/wiki/Source-to-source_compiler
16:01:58
Zhivago
wayne: So, a compiler which outputs assembly is a transpiler? But a compiler which includes an assembler and outputs the result of assembly is a compiler?
16:02:43
Zhivago
mercourisj: We have compilers from one machine code to another. Therefore machine code is source code. Therefore all compilers are transpilers?
16:05:26
jmercouris
Zhivago: See: "A source-to-source compiler translates between programming languages that operate at approximately the same level of abstraction, while a traditional compiler translates from a higher level programming language to a lower level programming language."
16:06:59
Bike
well, you brought it up, so if you want to argue about it go ahead i guess. except not since it's definitely off topic.
16:08:10
Zhivago
jmercouris: Ok, so would a lisp to C compiler be a compiler, but a lisp to C compiler be a transpiler?
16:09:28
Bike
the ecl internals manual also helpfully explains some things, e.g. how closures are implemented.
16:09:28
_death
"transpiler" is just javascript newspeak, they need to come up with new terms for everything because they lack historical education..
16:09:54
jackdaniel
and many optimizations are performed on ecl size, so it's not naive transpilation
16:11:53
ercourisjm
Can someone explain what (documentation) wants for "doc-type"? It says "symbol" in the CLHS, but I don't understand what they want
16:11:57
Zhivago
Apparantly a transpiler targets a language of the same level of abstraction and doesn't do many optimizations.
16:12:26
_death
ercourisjm: it depends what you want documentation for.. for example it could be the symbol FUNCTION or the symbol VARIABLE..
16:12:34
Zhivago
Although how we measure the level of abstraction or determing the critical level of optimization is unclear.
16:13:07
jackdaniel
many terms are fuzzy (especially in natural language). but right, not well defined term
16:13:55
_death
ercourisjm: well, actually VARIABLE is not there.. but it's also a generic function, so can be extended with new doc-types
16:17:13
alandipert
i am using lisp for some adventofcode problems, i'd much appreciate any thoughts or feedback on my solution for today's puzzle http://adventofcode.com/2017/day/6 https://github.com/alandipert/advent-of-code-2017/blob/master/day06.lisp
16:17:41
ercourisjm
Bike: Can you explain exactly what is going on then? I'm not doubting your opinion, just trying to understand
16:18:21
Bike
The CL package doesn't even have a symbol CONSTANT (try (find-symbol "CONSTANT" "CL"))
16:18:57
Bike
defconstant makes constant bindings. there is no way to alter a constant binding portably. you can't shadow them. that's what a constant is.
16:19:05
_death
alandipert: looks similar to mine.. https://gist.github.com/death/02e716211827683c48a9c580348fd5a5
16:26:47
mercourisj
I've asked this quesiton awhile ago and looked through the IRC logs to try to find it but could not, what's the way to list all of the variables defied by defvar?
16:27:55
Shinmera
Here's how to do it on some implementations. https://github.com/Shinmera/staple/blob/master/symbols.lisp#L198
16:30:59
Younder
Look Lisp allows you to enter a string for documantaion. It is however optional and should be. But if the interface is documented it should be possible to figure out what function you want.
16:32:23
whoman
.... asinine would be typing like a sloppy pig and expecting everyone to mentally compensate
16:32:49
jmercouris
I'm going to stay offline until my connection stops breaking, sorry for the lurker spam
16:32:54
whoman
and of course usually those times being the times under emotion or stress or anger, which never leads to clarity or understanding.
16:35:14
whoman
it is understood that listing symbols is how we inter-face with lisp. which is interesting because 'graphical' user inter-faces are probably less meaningfull due to not being as linguistic as text/repl/tui
16:37:29
flip214
I tried to subscribe to the elsconf ML; the confirmation link arrived within a minute, but there's no password or welcome message after ~15 minutes....