freenode/#lisp - IRC Chatlog
Search
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
14:43:45
pjb
flip214: why isn't flying to Malaga not easy? Depending on the flight company, going to Gibraltar may be easier (and not farther to Marbella than Malaga).
17:13:41
pagnol
I have entities and every entity has key-value pairs and I want to store them persistently on disk
17:14:38
pagnol
in my case there are entity types, too, an entity type says which key-value pairs an entity must have and of which type the values must have
17:22:09
Shinmera
pagnol: As I understand it from your explanation you have some kind of object that acts as an entity and you'd like to persist them to disk, yeah?
17:25:12
Shinmera
If you need to have it automatically persist to disk when a change in any of the values occurs then things get more complicated of course.
17:26:57
pagnol
I have an existing program that I want to rewrite and which is relying on an rdbms with a messy eav-like layout, and I was looking at the problem from that angle
17:29:02
Shinmera
Okey. Well, there's multiple libraries for RDBMs interaction or RDBMs-like things. If you want something more lispy, perhaps have a look at Rucksack. https://github.com/arieltan/rucksack/blob/master/doc/rucksack-tutorial.lisp
17:30:40
pagnol
I was hoping to find something that gives me ACID and also lets me enforce the schema without having to write a lot of code myself, especially the validity of entity references
17:32:05
pagnol
btw I will be using this only from lisp, so the potential lack of implementations in other languages is not an issue
17:33:03
tazjin
pagnol: I'm only using it for a little toy project, for "real" things I use postgres, but cl-prevalence works well
17:37:03
tazjin
because the main problem with the concept is that things like web apps have waaay too much friction
17:50:19
tazjin
pagnol: well, I basically want to translate the UI of the web app into a physical thing - the fun part is that I know nothing about "making" (in the sense of building physical tech), so this is a cool side project
17:50:55
tazjin
pagnol: the idea is to have a sort of board with the tasks on it, where on the backend the tasks are now linked to slots on the physical board, and then there's indicator LEDs for the red/green/yellow statuses and an actual physical button for resetting the completion timer of each task
18:04:55
pagnol
tazjin, I've also always wanted to learn how to make actual physical devices that do something... I wish you luck
18:05:18
tazjin
we have a nice makerspace here in Oslo that I'm going to be consulting to get some help :P
18:07:04
tazjin
you mean hardware-wise? I don't really know yet, I've only done some sketching of how I want things to be.
18:07:27
tazjin
I have an Arduino starter kit somewhere that I never got around to using for anything so that's probably a good entrypoint
18:07:57
pagnol
Shinmera, thanks for suggesting rucksack earlier, I'm going to play around with it a little
18:08:35
pagnol
building a project on it seems like a somewhat risky undertaking though, given that it hasn't been maintained in the past 7 years
18:22:55
jackdaniel
I'm a big fan of `collecting' macro from cmu utilities, it unties collection from loop construct and is very handy
18:28:06
Shinmera
Here's another version :^) (prog((i n))x(and(< 0 i)(decf i)(read-line s NIL)(go x)))
18:29:14
Shinmera
Actually this is even better: (prog((i 3))i(and(< 0 i)(decf i)(read-line s NIL)(go i)))
18:30:06
Shinmera
well, change the 3 to an n, but you get the point. (the point is you shouldn't use this)
18:34:48
Shinmera
The hidden point is that I like to write intentionally obtuse answers to simple questions.
18:39:00
_death
(define-symbol-macro _ (progn (format t "Enter a specific number: ") (force-output) (read))) ;; you know the rest
18:53:05
Bike
"how they're used" covers a lot of things. is there something in particular that you want to do?
18:53:59
_death
you can check out http://infolab.stanford.edu/~paepcke/shared-documents/bibliography.html search "metaobject" (there is more than one paper)
18:57:30
pagnol
I was wondering if/how I could use mop for my current project in which I load a schema definition on startup, which is then used to check if certain objects that are created are conformant
18:59:01
pagnol
when the program attempts to update a slot, then the ... metaclass? ... would look at the schema to find out if it's ok
19:00:11
Bike
here's a start: define some class and then do (describe (find-class your-class)) and get a look at things
19:23:00
makomo
pagnol: what about the book The Art of the Metaobject Protocol (AMOP)? i didn't open the book yet, but it sounds like it might be useful?