freenode/#lisp - IRC Chatlog
Search
17:50:16
thijso
I'm at the point of just giving up and stuffing ecl full of debug_log print statements...
17:53:17
pfdietz
When I debug lisp i use TRACE a lot. Some lisps support single stepping; I don't know if ecl does.
18:11:49
thijso
kind of a weird setup, I'm debugging an android app that is segfaulting in ecl_init_module, I don't have a repl to work with yet at that point
18:16:50
thijso
It's not gdb, it's probably me. I have a working gdb talking to my app on my phone through gdbremote.
18:17:41
thijso
I just don't know how to go about getting exactly where the segfault is happening, and what is triggering it
22:00:09
thijso
hmmm... maybe I should figure out if the random crashes running clfswm with newer quicklisp libs is solved. And if not, find out where the problem is...
22:00:49
thijso
although... maybe I should focus on the random -- well, not random, actually -- crashes of my android app...
4:01:10
Berra
It feels frustrating, I would just like to be able to define a continuation to that evaluation and quote that.
4:01:37
Berra
But any evaluation that I try to quote obviously also quotes that evaluation. There must be something I'm missing.
4:05:02
Josh_2
Berra: I'm sorry but that's a bit above my pay grade xD If you wait a little while beach will probably be up and I'm sure he will be able to help if no one else has by then
4:20:52
Berra
Something like `',x works because the unescape still evaluates x because that's not prevented by the quote. But ``,x does not work, because the outermost quasiquote won't evaluate the escaped x because of the innermost one.
4:25:29
Berra
``,,x almost does what I want, but I don't understand why so I need to read more about quasiquote escapes..
4:49:01
Berra
It would be easy if I allowed myself to evaluate the quoting semantics in parsing, but that's incorrect, right?
4:52:59
no-defun-allowed
(let ((x 2)) `,x) would not work as the reader does not have access to the lexical environment.
4:53:33
no-defun-allowed
However, I don't think the representation of backquote is defined, so you could simplify it to (let ((x 2)) x).
4:53:45
Berra
What I'm trying to do is that I want to parse a Lisp and I want to parse it into an actual Lisp AST, since the parsing is done by a Lisp. But I'm running into this problem.
4:55:00
no-defun-allowed
Hm, so you'd like to read `x and get (quasiquote x) or something like that?
4:55:51
Berra
no-defun-allowed: Something like that, yes. But since `x represents the actual parsing of a datum (x) in this case, I need to evaluate x since the quote is not supposed to be quote x but instead that that datum is.
4:56:51
no-defun-allowed
I think what you're asking for is different than CL quasiquote then, and I barely understand that quasiquote.
4:57:30
Berra
Ok, that's my fault. I entered #lisp because yeah- but I'm actually writing the parser in a subset of Scheme
4:58:01
no-defun-allowed
And that quasiquote is the same as Scheme quasiquote, but the representation in Scheme is defined.
5:00:04
no-defun-allowed
Everyone that isn't Berra should mentally replace any `define` in that article with `defvar`, but it just describes what to translate in English to list building functions, so you should be okay.
5:05:17
Berra
no-defun-allowed: https://privatebin.net/?599c1f453ff0213a#95wHMhJ5YZ26eHnZbro7Wyu6aXVdj28twPHWhiTWX1zS
5:06:09
Berra
Problem is just those mappings really. But the representation is tripping me up. The article makes perfect sense from the perspective of interpretation and code generation, but I should refrain from such semantics in parsing right?
5:06:43
Berra
Maybe I cannot avoid doing either of two things. Either create an arbitrary representation for quotation that isn't the defacto one in the Lisp I'm wiring my parser in.
5:07:54
no-defun-allowed
You might write a macro for QUASIQUOTE which translates its body to that list building code.