freenode/#lisp - IRC Chatlog
Search
23:35:01
jmercouris
and here's the top level form defparameter: https://github.com/AeroNotix/lispkit/blob/master/settings.lisp#L3
23:36:32
aeth
Personally, I'd put them in a struct or object and would not directly expose them, so you can check that the proposed new value is valid
23:37:15
aeth
That has the added advantage that if defparameter doesn't work, you can change where they're stored
23:37:38
jmercouris
hmm, sure, but I'd like to give my users the opportunity to mess things up, it is an emacsy like program after all
23:38:23
jmercouris
I mean we are not at even version 1.0 yet, so people should not expect their configs to work forever
23:39:24
aeth
jmercouris: If you just expose an accessor (calling it returns the value, setf'ing it changes the value) then you have a lot more flexibility with the API and can change it to be pretty much anything
23:39:56
aeth
jmercouris: but I would personally test modifying it at runtime in another thread, if your browser runs in a background thread from SLIME like a lot of graphical CL apps do
23:40:20
jmercouris
when that time comes, that will be a big change, and the UI will live in its own thread
0:02:29
fiddlerwoaroof_
jmercouris: you might consider making one object for all your parameters and storing it in *config*
0:03:59
jmercouris
fiddlerwoaroof_: That might be useful for a sort of config-tool that I'll develop later for people who don't wish to write lisp, thank you for the link!
0:04:19
jmercouris
I can definitely see the value add, but I don't want to stray too much from the emacs way
2:21:42
aeth
jmercouris: I don't think Emacs is a good model for how to do something in a configurable way.
2:22:15
aeth
It's old so it pre-dates pretty much every good idea. (Well, sometimes it didn't pre-date those ideas and RMS was just too stubborn to implement them in Emacs.)
2:23:16
aeth
I mean, ideas relating to configuring large applications, which for the most part didn't really exist until the late 80s and 90s
3:27:48
Bike
asarch: the compiler hasn't been told the variable is special, so accessing its value is undefined behavior that can differ between implementations.
3:28:18
Bike
clhs examples sometimes act as if it is defined behavior and that it will work like clisp. but examples aren't normative. it's a bit confusing, unfortunately.
3:29:19
Bike
let doesn't set variables, it binds them. these bindings are only in effect within the body forms.
3:31:09
Bike
it's because you can bind more than one thing, like (let ((a 4) (b 7)) ...), as loli said.
3:32:29
asarch
So, a "binding" is what a variable would be in other languages, right? And a "binding form" would be the assignation statement, right?
3:33:19
loli
well you are letting a variable, it just has limited scope, much like how {int i; return i + 1;} is only in scope within the {}'s
3:34:14
Bike
it's like if you were to say "let x be the number of cats in this house. then the number of cats in the other house is twice x." x is bound to some number, but only temporarily, and doesn't mean anything in particular outside of the scope of the sentence.
3:34:21
asarch
"The skeleton of a LET form looks like this: (let (variable*) body-form*)" <- From PCl, chapter six
3:39:02
Bike
these are terms that are originally derived from the particularly boring kind of philosophy that eventually became programming
3:39:38
Bike
don't overthink too much, they're like, nearly english a normal person could understand
3:48:59
asarch
So, if LET was C, then it would be something like: {int foo = 10; funtion() { /* You can now use 'foo' as you wish */}}; /* Here, 'foo' doesn't exist */
3:52:12
Bike
the major difference with C is that C requires the programmer to understand when things are allocated. space for an automatic variable, like foo in your example, is allocated at entry to the block (iirc) and deallocated on exit. lisp is not this strict.
6:13:22
rme
I suppose you could write an s-expression-based .ffi file by hand and process it with parse-ffi. But I don't know if that's really practical.
6:13:37
rme
There's actually some work going on in https://github.com/Clozure/ccl/issues/13 about updated ffigen, btw.
6:15:40
jmercouris
the other day he was suggesting to me that I simply implement an entire web engine in common lisp, like it was some trivial task
6:16:57
jmercouris
rme: thanks for the link, I'll see if I can contribute anything, probably not since this is not my area of expertise, but I'll try
6:18:55
rme
When things are in the interface db, you can sometimes use objc-message-send by hand. For example, (objc:objc-message-send data #/base64Encoding)
6:20:40
jmercouris
I did try the objc-message-send approach, maybe at the time my syntax was wrong, or something, I could try it again
6:23:20
rme
I just made a note to try to build new headers. Probably I won't do it until Monday. You want updated webkit headers in particular, or all of Cocoa?
7:47:44
beach
It is not a great idea though, because when there is a problem and you look at the backtrace, you no longer see the original argument, only the modified one.
8:47:27
flip214
you should then see the new value as local variable, and the original function argument in the backtrace.
9:41:43
beach
phoe: We plan to stay in Madrid or some other intermediate place for a night or two, just to break up the trip.
9:49:47
Shinmera
While taking a bus is slower than the train, it is significantly cheaper and can take as little as 45 minutes to arrive in Marbella. All Malaga to Marbella buses are run by Avanza. All buses are direct, depart from Malaga Estación de Autobuses bus station and arrive at Marbella Estación De Autobuses.
9:52:40
Shinmera
Uugh why would any website write things in AM/PM. I don't know if "12:55PM" is "0:55" or actually "12:55"
9:58:41
Shinmera
Looks like the cheapest flight I can get is like 220Chf. Cursory look at hotels nearby would clock in at around 150Chf. Definitely isn't going to be as cheap as it was in Krakow.
9:58:44
beach
Actually, we might take a flight from Bordeaux to Malaga (change in Madrid) and stay in Malaga for a night or two.
10:10:25
beach
Careful, someone might take you up on that, and you'll find yourself being the local organizer.
10:11:45
phoe
beach: I think I can manage. I know enough people on the Jagiellonian University to do most of the heavy lifting for me.
10:13:25
phoe
Depends. JU is really all around Cracow. Has four different campuses and multiple buildings that are placed elsewhere.
10:13:33
jackdaniel
` "X86-64" cannot be printed readably.` – does it ring a bell to somebody? this is docker image in travis CI with somewhate old SBCL (nothing I can do about it) – here is a full log: https://api.travis-ci.org/v3/job/328525197/log.txt
10:13:49
beach
Shinmera: It's a very expensive place. You might need some subsidies to keep the fee low.
10:14:23
Shinmera
beach: Well yeah, asking Google or ETH would've been the thing to do. I just don't think I have the time and connections yet to do so