freenode/#lisp - IRC Chatlog
Search
14:02:26
jmercouris
you might look at where QL is loading Puri from and then you will be able to see how easily it can be updated
14:02:49
jmercouris
to use Radiance you had to add Shinmera's QL dist anyway, so he could easily patch it and provide a different version on his dist
14:06:20
patrixl
AFAIK it's a perfectly valid way of encoding arrays in parameters, when you're not using json to pass data around but x-www-form-urlencoded
14:06:37
patrixl
now whether that should be used as GET or only on POST requests, is another question, I may be doing it wrong lol
14:12:27
patrixl
hmm not a bad idea, it might allow me to remove even more Javascript from my page.. thanks jmercouris
17:18:35
leotaku
I am having some trouble with sbcl, maybe someone here is willing to help. Essentially "(eq (intern "foo") '|foo|)" returns true when I interactively eval the code, but false when I run it as an executable generated by asdf or "sb-ext:save-lisp-and-die".
17:24:28
ck_
the code you saved does not define the symbol before that code is run? I'm not too familiar with sbcl internals, but I would guess that '|foo| gets READ into a different package than what surrounds the (intern "foo") during evaluation
17:30:34
leotaku
ck_: That would make sense, yeah. Any way I can ensure that both the literal symbol and the intern are in the same package?
18:01:53
beach
rdh: The typical place is ~/quicklisp/local-projects. And they are not packages, they are systems.
18:13:21
beach
rdh: Oh, I mean that location for your own projects. Quicklisp will put them where it wants to when you install them with ql:quickload.
18:21:59
rdh
beach, just being that im new to lisp... i don't want things doing work for me, when i don't understand what it's doing.
18:22:44
beach
Anyway, I am off to spend time with my (admittedly small) family. I am sure there are others around to help you in case you need it.
20:57:36
Elronnd
has there been any research on representing lisp programs with something other than sexprs?
20:59:12
White_Flame
there's some experiments with The Forced Indentation of Code to replace parens, too
21:03:22
Fare
Elronnd, Racketeers have a large variety of experiments with alternate syntaxes, from plain old parsers to systems that allow you to do macros with infix syntax.
21:17:56
jackdaniel
Elronnd: I've read that dylan was originally planned to use sexps but they have settled with syntax more similar to c++
22:18:41
aeth
Elronnd, jackdaniel: I wonder why attempts like that didn't wind up going with a system like t-expressions (obviously not exactly like them since Python wasn't trendy in the 90s). https://srfi.schemers.org/srfi-110/srfi-110.html
22:29:40
oni-on-ion
it feels like it would be extra work for the brain. like using google translate to chat
23:03:54
mfiano
Can anyone confirm that (ql:quickload :trivia) does not compile cleanly with the release in the latest QL dist? I'm getting an undefined variable, which probably means something is not going to work at runtime. Curious how a non-style warning slipped through QL though.
23:15:11
mfiano
Looks like a regression fix was committed 6 days ago, which looks like it touches the affected issue. I'm more curious what version of SBCL Xach is using, and how the version would affect this particular undefined variable compiling without a warning.
23:19:03
mfiano
Sure, but trivia is a transitive dependency of quite a lot of software, so there are likely FASL's in your cache already.
23:22:22
mfiano
Every time you compile something, which occurs implicitly when you load/quickload a system, it stores the compiled code in your cache directory, and it normally doesn't recompile them. Quickloading a lot of software will compile trivia, and keep it around it your cache, and use the cache rather than compiling trivia again on subsequent loads.
23:24:13
oni-on-ion
yep i know. idk what cache there would have been because i dont remember installed trivial previously
23:24:59
oni-on-ion
this is a brand new SBCL install. not sure why i am stating that again. conjecture
23:25:13
oni-on-ion
there *could* be some dependency, but on computers, we can make assumptions and not check and see ?
23:26:21
mfiano
Therefor for a proper test, you need to remove your FASL cache and quickload with the :verbose flag
23:26:44
oni-on-ion
why not just ask us to delete cache. i dont see the big deal to explain something that wouldnt be a thing if simply moving on to step 2 instead
23:27:19
mfiano
Fair enough. I was explaining to you why it didn't matter that you never installed trivia before, since you seemed to think that mattered.
23:27:57
oni-on-ion
if you know trivia, and what it depends on, then could you not also know *for sure* if anything McCLIM depends on is somehow curing it.. ?
23:28:24
oni-on-ion
i dont understand the assumption. ql:quickload even prints out the things its trying to load
23:28:40
mfiano
This isn't about dependencies of trivia. This is about reverse dependencies of trivia.
23:29:50
jack-thomas
Hi everyone, I'm having a noob prob. So I'm trying to use "run-program". I can send my whole function call if desired, but basically I'm try to use the keyword arguments ":OUTPUT :STRING" and I'm getting an error "RUN-PROGRAM error processing :OUTPUT argument:
23:30:04
jack-thomas
Here is the documentation: https://gitlab.common-lisp.net/asdf/asdf/blob/master/uiop/run-program.lisp#L539
23:31:43
oni-on-ion
ok i wont. im sure one of them is on windows as well (or not, considering it loads)
23:32:49
mfiano
It doesn't fail. It emits a compiler warning and 2 style-warnings on SBCL. To see the full output you would need :verbose, but it should still emit the single warning if not I think.
23:43:55
Bike
"also exports the following symbols" is an error that suggests a defpackage was being reevaluated
23:44:30
aeth
jack-thomas: it looks like what your code is doing is something like (run-program ... :output :string ...)
23:51:31
aeth
On the other subject, is there a way to *get* the compilation to fail when there are warnings? I want to use something like that for my CI
23:52:11
aeth
I even set sb-ext:*derive-function-types* to T in SBCL so it will generate more type warnings.
23:52:16
Xach
aeth: trivia does something special that inhibits the normal warning-is-fatal behavior.
23:52:35
Xach
aeth: i don't know what, but whatever it does made the warning slip through into the latest quicklisp dist.
0:00:07
jack-thomas
aeth: Is the 'argument' to :output supposed to be a variable to hold the string? I'm confused because the documentation seems to show that by specifying both those keywords it returns a string.
0:02:00
aeth
jack-thomas: iirc, it's a stream, and if you want it to be a string you have to make one with WITH-OUTPUT-TO-STRING like (with-output-to-string (output-stream) (run-program ... :output output-stream ...))
0:02:31
aeth
jack-thomas: uiop:launch-program has more options with streams, iirc. I had to wind up using launch-program.
0:03:35
oni-on-ion
ok so i googled "common lisp run-program" anyway and got this : https://lispcookbook.github.io/cl-cookbook/os.html
0:04:09
aeth
oni-on-ion: those aren't the official documentation, but they're probably better than the official documentation
0:04:15
oni-on-ion
its generally easier to google textbox than to irc textbox , i understand when there is no info anywhere and needing human intervention tho
0:11:34
oni-on-ion
so i am currently bent on this circus act of looking at macros completely differently
0:12:56
jack-thomas
aeth: aeth: oni-on-ion: "E.g., using :OUTPUT :STRING will have it return the entire output stream as a string. And using :OUTPUT '(:STRING :STRIPPED T) will have it return the same string
0:13:03
oni-on-ion
i've just got to play around with them a bit more, but i've a question; it is not lengthy or complex but it will take me a minute to formulate
0:13:22
jack-thomas
whoops sorry for formatting. Maybe it is because I have no stream experience, but this (source documentation) really makes me think it should return a string
0:13:48
aeth
jack-thomas: okay, so it does have string as a custom option, but it doesn't accept it?
0:14:56
aeth
jack-thomas: Did you (ql:quickload :uiop) first? You always have it, but by default it's outdated and it does this weird upgrade thing when quickloaded.
0:15:57
jack-thomas
Haven't done anything. I just heard it was included is asfl (? not sure if that's right. not sure how the dependency systems work in general), and sounded like I was good to go. I will try some of those things
0:39:22
jack-thomas
Yeah, so I tried quickloading again to no avail. I have asdf version 3.2.1 where it appears that the newest version is 3.3.3. However, it looks like nobody has modified the run-program documentation for at least a few years. Regardless, if anyone knows off the top of their head how to update asdf, let me know. Otherwise I will find a way.
0:47:06
jack-thomas
And by 'modify run-program docs' I should say 'modify run-program' (including the docstring)
0:54:47
aeth
jack-thomas: when testing this sort of thing (in any language, actually) I always use dc first because I can just use "1 1 + p q" as the input and it should print 2 and quit.
0:55:33
aeth
jack-thomas: Once I quickload UIOP with (ql:quickload :uiop :silent t) I can then do (with-input-from-string (in "1 1 + p q") (uiop:run-program "dc" :input in :output :string)) and I do get the output of a string of two characters, 2 and the newline.
0:56:08
aeth
Interestingly, *I* am getting my own issue here, where DC has the return value 1 so UIOP is erroring about that (I can just continue, though).
0:56:46
aeth
This does work for me, though. (with-input-from-string (in "1 1 + p q") (uiop:run-program "dc" :input in :output :string :ignore-error-status t))
1:17:40
moldybits
(with-input-from-string (in "1 1 + n") (uiop:run-program "dc" :input in :output :string)) works for me
1:22:14
aeth
Why does p give me an error code but not n? That's probably more of a dc question than a run-program question. I guess n is what I'd want for this test, anyway.
1:27:00
aeth
Actually, it looks like "q" always gives it a return of 1 and C-d (and reaching EOF of a UIOP input stream) a return of 0.
1:50:40
jack-thomas
aeth: well, thanks again. Hopefully some day I can give back to you and/or others in this room.