2017-05-05T00:02:28Z milanj quit (Quit: Leaving) 2017-05-05T00:02:37Z dddddd quit (Quit: Hasta otra..) 2017-05-05T00:04:06Z pjb` joined #lisp 2017-05-05T00:06:26Z pjb quit (Ping timeout: 268 seconds) 2017-05-05T00:08:16Z jibanes quit (Ping timeout: 260 seconds) 2017-05-05T00:09:46Z jibanes joined #lisp 2017-05-05T00:10:22Z unbalancedparen quit (Quit: WeeChat 1.7.1) 2017-05-05T00:10:26Z malice quit (Remote host closed the connection) 2017-05-05T00:10:49Z pjb` quit (Quit: Be seeing you!) 2017-05-05T00:15:27Z l04m33 joined #lisp 2017-05-05T00:20:33Z RedEight quit (Quit: leaving) 2017-05-05T00:20:57Z l04m33 quit (Ping timeout: 240 seconds) 2017-05-05T00:21:46Z vibs29 quit (Quit: bye) 2017-05-05T00:21:47Z l04m33 joined #lisp 2017-05-05T00:22:19Z vibs29 joined #lisp 2017-05-05T00:23:21Z scottj quit (Quit: leaving) 2017-05-05T00:26:47Z l04m33 quit (Ping timeout: 268 seconds) 2017-05-05T00:30:37Z hexfive joined #lisp 2017-05-05T00:31:13Z onehrxn quit (Quit: Leave for a while) 2017-05-05T00:33:23Z l04m33 joined #lisp 2017-05-05T00:34:02Z Dotcra joined #lisp 2017-05-05T00:35:46Z onehrxn joined #lisp 2017-05-05T00:40:19Z smoon joined #lisp 2017-05-05T00:43:55Z adolf_stalin joined #lisp 2017-05-05T00:43:56Z edgar-rft quit (Quit: edgar-rft) 2017-05-05T00:44:11Z smoon quit (Client Quit) 2017-05-05T00:44:12Z LiamH joined #lisp 2017-05-05T00:47:22Z yrk quit (Read error: Connection reset by peer) 2017-05-05T00:48:57Z smoon joined #lisp 2017-05-05T01:00:51Z cromachina joined #lisp 2017-05-05T01:02:08Z velo-alien quit (Ping timeout: 240 seconds) 2017-05-05T01:09:01Z al-damiri quit (Quit: Connection closed for inactivity) 2017-05-05T01:09:41Z sellout- joined #lisp 2017-05-05T01:11:09Z smoon quit (Quit: smoon) 2017-05-05T01:11:36Z smoon joined #lisp 2017-05-05T01:14:03Z spos left #lisp 2017-05-05T01:15:09Z sellout- quit (Quit: Leaving.) 2017-05-05T01:17:59Z smoon quit (Quit: smoon) 2017-05-05T01:19:23Z shdeng joined #lisp 2017-05-05T01:19:48Z l04m33 quit (Ping timeout: 260 seconds) 2017-05-05T01:19:49Z attila_lendvai quit (Ping timeout: 268 seconds) 2017-05-05T01:21:06Z Bock joined #lisp 2017-05-05T01:21:07Z Bock quit (Max SendQ exceeded) 2017-05-05T01:23:22Z Bock joined #lisp 2017-05-05T01:23:27Z rpg joined #lisp 2017-05-05T01:29:29Z pilne quit (Quit: Quitting!) 2017-05-05T01:30:54Z l04m33 joined #lisp 2017-05-05T01:35:54Z l04m33 quit (Remote host closed the connection) 2017-05-05T01:42:13Z pmc joined #lisp 2017-05-05T01:43:26Z pmc quit (Client Quit) 2017-05-05T01:43:46Z Draz quit (Quit: Leaving) 2017-05-05T01:45:21Z rpg_ joined #lisp 2017-05-05T01:45:54Z rpg quit (Ping timeout: 240 seconds) 2017-05-05T01:47:06Z dpg joined #lisp 2017-05-05T01:52:03Z holycow joined #lisp 2017-05-05T01:52:32Z sellout- joined #lisp 2017-05-05T01:54:55Z d4ryus3 joined #lisp 2017-05-05T01:58:18Z d4ryus2 quit (Ping timeout: 260 seconds) 2017-05-05T02:00:41Z shifty joined #lisp 2017-05-05T02:02:09Z shrdlu68 left #lisp 2017-05-05T02:03:22Z enzuru quit (Ping timeout: 264 seconds) 2017-05-05T02:03:52Z AeroNotix: What are the chances of a new common lisp standard? 2017-05-05T02:04:12Z rpg_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-05-05T02:05:23Z holycow: from someone who watches systems and organization rather than a programmer, my estimation is none 2017-05-05T02:05:23Z minion: holycow, memo from beach: OpenDoc does not seem to be the kind of documentation system I am thinking of. Perhaps this embryonic draft can give you a better idea of what I am aiming for: http://metamodular.com/doclang-requirements.pdf 2017-05-05T02:05:23Z minion: holycow, memo from beach: Oh, and please disregard the hastily chosen and temporary name of the system. 2017-05-05T02:05:53Z nyef: AeroNotix: My current thought is that there are two chances: "fat" and "slim". 2017-05-05T02:06:01Z AeroNotix: nyef: would be interesting though 2017-05-05T02:06:07Z AeroNotix: I often think about it 2017-05-05T02:06:14Z nyef: "May you live in interesting times." 2017-05-05T02:06:16Z holycow: well then just do it. write your own 2017-05-05T02:06:23Z AeroNotix: nah, don't do this to me. 2017-05-05T02:06:31Z AeroNotix: just saying 2017-05-05T02:06:44Z AeroNotix: There's a lot of interesting things that have happened since CL was ratified 2017-05-05T02:06:50Z nyef: Yes, that would be the other thing that I was considering saying. Feel free to make your own standard, and try to implement it. 2017-05-05T02:06:52Z holycow: the reason it cannot be done again is because the economics of the original draft, if you read the story, had a very unique set of pressures that got a whole bunch of disparate people to agree to a standard 2017-05-05T02:06:58Z l04m33 joined #lisp 2017-05-05T02:07:30Z AeroNotix: holycow: I read a really interesting account of the original one a few years ago. I seem to remember reading a whole archive of emails and things. So much history. 2017-05-05T02:07:52Z holycow: everyone wants their own little bits and pieces, all it would do is make everyone unhappy. the wound has healed, we have the scars. 2017-05-05T02:07:57Z AeroNotix: I just wonder how different things could be if they just did X, or just did Y. 2017-05-05T02:08:22Z holycow: i actually think that we have the BEST of all possible worlds right now 2017-05-05T02:08:31Z holycow: we have a CANONICAL core that is an imovable object 2017-05-05T02:08:33Z AeroNotix: Possibly. That's what's so interesting to me 2017-05-05T02:08:42Z AeroNotix: Did we get the best possible CL? 2017-05-05T02:08:43Z holycow: hell, people have gotten 40 year old lisp code to run on the spec 2017-05-05T02:08:54Z AeroNotix: Oh I don't mean a new version every year or so 2017-05-05T02:08:55Z holycow: BUT! and here is the part that excites me 2017-05-05T02:09:08Z holycow: we get to extend the cl spec with all of the extensions 2017-05-05T02:09:25Z holycow: so if you want to extend the language, go ahead. its all there. write a library and bam. 2017-05-05T02:09:29Z AeroNotix: I genuinely believe that long term releases, and if we just think that the CL spec is just an LTS. 2017-05-05T02:09:44Z AeroNotix: holycow: maaaan/womaaaan don't do that. I'm not asking to be dismissed 2017-05-05T02:09:45Z holycow: everyone gets to experiment, which is really all that anyone wants to do and the core doesn't get hurt. 2017-05-05T02:09:54Z holycow: oh! haha sorry! my bad. 2017-05-05T02:10:13Z holycow: i really didn't mean it that way. i'm just a big fan of watching systems form and trying to understand the origin + guess where they are going. 2017-05-05T02:10:30Z holycow: i only meant to explain some of the motivations that drive the status quo. 2017-05-05T02:10:31Z AeroNotix: Just an interesting idea I think of a lot. What could be different if, for example, CL added Erlang style concurrency. 2017-05-05T02:10:48Z AeroNotix: or, it had a static type system 2017-05-05T02:10:50Z AeroNotix: and 2017-05-05T02:10:55Z holycow: AeroNotix: *nod* the problem is always engineering. getting the ideas JUST right is sooooooooooo bloody hard 2017-05-05T02:10:59Z AeroNotix: it had that from when it was first ratified 2017-05-05T02:11:17Z holycow: i cannot beleive how we lucked out with so many really really really smart people over the last 100 years that inventented all the important stuff 2017-05-05T02:11:21Z holycow: or say 250 years 2017-05-05T02:11:23Z AeroNotix: Would it be better? More widely used? Worse? Would we be here talking about it? 2017-05-05T02:11:33Z AeroNotix: holycow: it's mad to think about right 2017-05-05T02:11:36Z AeroNotix: all those people 2017-05-05T02:11:37Z holycow: *nod* 2017-05-05T02:11:40Z jameser joined #lisp 2017-05-05T02:11:59Z AeroNotix: right place/right time. Just came together and birthed a tonne of useful stuff we can all write crappy web apps with. 2017-05-05T02:12:07Z holycow: hehe 2017-05-05T02:13:01Z nyef: And the reason you write crappy web apps is because the available native UI toolkits all suck, right? d-: 2017-05-05T02:13:11Z AeroNotix: No, Qt is life 2017-05-05T02:13:32Z AeroNotix: My worry honestly is that what we end up with is a single implementation that slowly becomes standard and the extensions that that implementation contains end up becoming a defacto non-standard standard. 2017-05-05T02:13:54Z holycow: i mean, i've been here for a long time and i'm still a noob. i can make small shell like programs do a few things nothing more. i like lisp because i'm lazy. lisp is just a type of algebra notation 2017-05-05T02:14:00Z AeroNotix: nyef: I love native apps. I don't get the massive shift towards web apps. 2017-05-05T02:14:23Z holycow: it just means i have to read the hierarchy of the forms and evaluate the operands to figure out what it does 2017-05-05T02:15:01Z AeroNotix: holycow: I've seen you round here for at least 5 years. 2017-05-05T02:15:49Z holycow: what i'm getting that with my example is that everyone gets what they want out of the language at their own level. i'm not sure you could EVER satisfy anyone to any degree sufficiently 2017-05-05T02:16:12Z holycow: to the degree that everyone gets along in this community, in my opinion, is because it is just small enough to where that is doable 2017-05-05T02:16:34Z presiden: :) 2017-05-05T02:16:36Z holycow: the moment the number of users increases to something like java or c++ it will splinter, namely because lisp can do anything 2017-05-05T02:16:59Z holycow: java, for example, CAN have a large community precisely because it is a tightly hamstrung environment. 2017-05-05T02:17:12Z holycow: it is designed so that programmers cannot be creative, which is what you need in large organizations 2017-05-05T02:17:20Z holycow: that isn't lisp 2017-05-05T02:17:22Z holycow: on the other hand 2017-05-05T02:17:22Z rumbler31 joined #lisp 2017-05-05T02:17:24Z dpg quit (Ping timeout: 240 seconds) 2017-05-05T02:17:39Z AeroNotix: that's some nice insight 2017-05-05T02:18:31Z holycow: you can probably write a library that imposes those kinds of world views ona lisp team and get similar kind of large team cohesion ... but i don't know. i'm just guessing at this point, it seems like it could be done. 2017-05-05T02:18:36Z holycow: it jus soudns fucking awful 2017-05-05T02:19:10Z AeroNotix: yeah I get that 2017-05-05T02:19:10Z holycow: AeroNotix: i watched it happend to #debian around 2001 or so just when ubuntu came on board 2017-05-05T02:19:23Z holycow: the debian community was getting toxic and eating it self alive 2017-05-05T02:19:35Z AeroNotix: I feel that when I see lisp "frameworks" and I just think "but you know I can break out of this in like 2 lines" 2017-05-05T02:19:38Z holycow: and just like a cel splitting into two then four then 8, ubuntu split off half or more of the population 2017-05-05T02:19:44Z holycow: and then those gropus split up into more 2017-05-05T02:19:45Z holycow: and so on 2017-05-05T02:20:06Z holycow: thats the one thing that i think people misunderstand about java 2017-05-05T02:20:31Z holycow: java is very deliberately designed to be so verbose and tied to a set of programming ideals 2017-05-05T02:20:47Z AeroNotix: which is interesting 2017-05-05T02:20:57Z holycow: everyone seems to love taking the piss out of java these days, but i think they missed the point. 2017-05-05T02:21:22Z AeroNotix: because the fact is, java's scope is unconstrained, but language constrained yet lisp's scope at a core language level is vastly different. 2017-05-05T02:21:43Z holycow: that is my understanding as well *nod* 2017-05-05T02:21:44Z AeroNotix: and it provides the means to accomplish whatever you need, rather than always needing the platform to hcnage 2017-05-05T02:21:45Z rumbler31 quit (Ping timeout: 240 seconds) 2017-05-05T02:21:52Z holycow: right 2017-05-05T02:21:53Z AeroNotix: change* 2017-05-05T02:21:57Z zulu_inuoe quit (Remote host closed the connection) 2017-05-05T02:21:58Z holycow: you guys just invent shit as you go along 2017-05-05T02:21:59Z holycow: dude 2017-05-05T02:22:07Z holycow: you wrote a browser on your own 2017-05-05T02:22:21Z AeroNotix: yeah 2017-05-05T02:22:27Z holycow: in a handful of lines of code it seems. okay its there, i don't have enough knowledge to fully appreciate your work 2017-05-05T02:22:50Z holycow: i look at that and go, jesus, you took a rendering engine and built a browser. and it works. holycow. 2017-05-05T02:22:52Z space_otter joined #lisp 2017-05-05T02:23:00Z holycow: its not like you couldn't do that in other languages, but you just whipped it up 2017-05-05T02:23:13Z holycow: i look at some of the conversations beach has and its all way over my head 2017-05-05T02:23:19Z rpg joined #lisp 2017-05-05T02:23:21Z holycow: i just don't see that kind of experimentation in other groups 2017-05-05T02:23:41Z AeroNotix: definitely true and the scope of conversations is different 2017-05-05T02:23:51Z AeroNotix: Just sit in ##python for a while 2017-05-05T02:23:57Z AeroNotix: it's just... differnet 2017-05-05T02:24:00Z AeroNotix: different 2017-05-05T02:24:03Z holycow: i think what will ultimately matter for cl is this: does what we do change the lives of regular users 2017-05-05T02:24:12Z presiden: :) 2017-05-05T02:24:13Z holycow: is there anything that we do that can be used by regular users in new and better ways 2017-05-05T02:24:42Z AeroNotix: And to that, here is where we may disagree 2017-05-05T02:24:51Z AeroNotix: but I definitely think concurrency should be addressed 2017-05-05T02:24:58Z barton_ quit (Remote host closed the connection) 2017-05-05T02:25:02Z _barton_ joined #lisp 2017-05-05T02:25:03Z holycow: this is where i start to listen. :) 2017-05-05T02:25:08Z holycow: please go on, i want to learn. 2017-05-05T02:25:32Z AeroNotix: Well there's nothing ratified in CL itself which specifies concurrency 2017-05-05T02:25:51Z holycow: is concurrency understood well enough to be standardized? 2017-05-05T02:25:57Z AeroNotix: good question 2017-05-05T02:26:13Z holycow: i've spoken to a bunch of people over the last years and all of them describe the concurrency issue differently 2017-05-05T02:26:15Z AeroNotix: and "concurrency" itself is a very broad term and has very different requirements based on the problem, true 2017-05-05T02:26:27Z holycow: let me see if i can find the latest mozilla video on their attempts at concurrency 2017-05-05T02:26:31Z nyef: Better question: Is concurrency *unlikely to change soon* to the point that it can be standardized? 2017-05-05T02:26:44Z AeroNotix: Excellent 2017-05-05T02:26:51Z holycow: mozilla is now trying to emulate multiprocess concurrency in a multithreaded environment 2017-05-05T02:27:02Z holycow: with the root thread being some kind of controller if i remember correctly 2017-05-05T02:27:22Z nyef: Because the historic multi-thread environment for Lisp looks *nothing* like the modern picture. 2017-05-05T02:27:44Z AeroNotix: nyef: I lack knowledge of what computers even were back then, to be fair 2017-05-05T02:27:45Z nyef: And some things like STREAM-LISTEN actually hail from that legacy. 2017-05-05T02:27:55Z AeroNotix: CL was standardized the year I was born 2017-05-05T02:28:22Z l04m33 quit (Ping timeout: 246 seconds) 2017-05-05T02:28:24Z holycow: in the future concurrency will probably look very different too 2017-05-05T02:28:25Z AeroNotix: wait, no 2017-05-05T02:28:34Z jbomo quit 2017-05-05T02:28:48Z AeroNotix: x3j13 started when I was born 2017-05-05T02:28:56Z AeroNotix: holycow: that's true 2017-05-05T02:29:06Z AeroNotix: Interesting points here 2017-05-05T02:29:20Z nyef: CL was first standardized in '84, and X3J13 finished up their version of the standard in '94. 2017-05-05T02:29:31Z AeroNotix: nyef: so I am from in between then 2017-05-05T02:29:33Z AeroNotix: any way 2017-05-05T02:29:34Z l04m33 joined #lisp 2017-05-05T02:29:40Z AeroNotix: point was that I come from a different time 2017-05-05T02:29:46Z AeroNotix: and my thread isn't their thread 2017-05-05T02:30:08Z AeroNotix: so 1) we don't understand concurrency enough and 2) even if we did, would an implementation of concurrency stand the test of time to be useful enough anyway? 2017-05-05T02:30:41Z AeroNotix: and 3) if 1/2 fail,the language itself we already defined without concurrency will make up for the deficiencies any way 2017-05-05T02:30:44Z AeroNotix: beautiful 2017-05-05T02:31:08Z quazimodo quit (Ping timeout: 240 seconds) 2017-05-05T02:31:41Z nyef: So, "classical" Lisp "multi-process" support had this thing called PROCESS-WAIT. One of its parameters is a function that gets run by the scheduler to see if the thread should be resumed or not. 2017-05-05T02:32:55Z nyef: It's actually pretty clever, almost elegant, but dear god is it unworkable in the modern era. 2017-05-05T02:33:11Z AeroNotix: I was just spending time trying to think how it may work 2017-05-05T02:33:37Z AeroNotix: who/when would PROCESS-WAIT be called? 2017-05-05T02:34:03Z holycow: i i cannot find the video i was thinking about. i think mozilla was doing a presentation on their work in rust and what they are doing at mozilla 2017-05-05T02:34:11Z AeroNotix: also quite interesting I personally believe the scheduler in itself is quite interesting. 2017-05-05T02:34:33Z nyef: Let's say you're waiting for keyboard input. You call (PROCESS-WAIT (LAMBDA () (STREAM-LISTEN *STANDARD-INPUT*))), and when it returns you know that there's input to read. 2017-05-05T02:34:46Z AeroNotix: omg 2017-05-05T02:34:49Z holycow: and a part of it described them going from multithread to multiprocess to get the encapsulation that chrome has, but now they are going back to implementing the same features in a multithreaded model 2017-05-05T02:34:53Z holycow: which is interesting 2017-05-05T02:35:10Z nyef: But this can stack. So, if you have a network stream to listen to as well, it's (LAMBDA () (OR (STREAM-LISTEN *STANDARD-INPUT*) (STREAM-LISTEN MY-NETWORK-STREAM))). 2017-05-05T02:35:33Z AeroNotix: nyef: so it's like a condition variable on arbitrary (and assumably pluggable? functions/variables 2017-05-05T02:35:40Z AeroNotix: ) 2017-05-05T02:36:16Z AeroNotix: holycow: would be interested if you found the link 2017-05-05T02:36:20Z nyef: So, here's the thing: Aside from the possibility of these arbitrary functions breaking in such a way that you need to run the debugger against the scheduler, it Just Doesn't Scale. 2017-05-05T02:36:35Z nyef: We already use things other than select(3) because select(3) doesn't scale well enough. 2017-05-05T02:36:55Z nyef: This is select(3) that scales *even worse*. 2017-05-05T02:36:58Z AeroNotix: oh I get that. The scheduler would be running these wakeup queries extremely often 2017-05-05T02:37:27Z nyef: Because instead of saying "I want a wakeup when any of these FDs have input for me", you supply code that *makes that evaluation*. 2017-05-05T02:37:46Z nyef: And there's literally no way for the scheduler to shortcut that. 2017-05-05T02:38:10Z AeroNotix: yeah that's the issue with that 2017-05-05T02:38:31Z AeroNotix: very interesting 2017-05-05T02:38:33Z _barton_ quit (Ping timeout: 260 seconds) 2017-05-05T02:38:53Z AeroNotix: That API is quite nice though 2017-05-05T02:41:42Z AeroNotix: near 5am for me. Bed. 2017-05-05T02:42:01Z holycow: oh one more thought AeroNotix 2017-05-05T02:42:08Z AeroNotix: Go for it 2017-05-05T02:42:10Z holycow: just on the concurrency bit 2017-05-05T02:42:25Z holycow: so everyone talks about code testing when it comes writing bug free code 2017-05-05T02:42:27Z rpg quit (Ping timeout: 268 seconds) 2017-05-05T02:42:45Z emaczen quit (Remote host closed the connection) 2017-05-05T02:43:07Z holycow: how the hell do you write tests for concurrency? if the things running at the same time have a co-dependency, how do you test your code before you are stuck debugging it? 2017-05-05T02:43:22Z holycow: concurrency may be the thing that forces us to invent ai :) 2017-05-05T02:43:26Z holycow: okay that's it 2017-05-05T02:43:48Z AeroNotix: There are some models of concurrency that simplfy the way to think about concurrent interactions 2017-05-05T02:43:59Z nyef: Testing, as it is commonly understood, can only show the presence of bugs, not the absence. Because it's commonly taken as a behavioral test, given certain inputs, the following response should be observed. 2017-05-05T02:44:00Z AeroNotix: the actor model, for example 2017-05-05T02:44:18Z AeroNotix: You can easily model concurrent actors as separate finite state machines 2017-05-05T02:44:25Z holycow: aha. right. 2017-05-05T02:44:39Z AeroNotix: though nyef is correct 2017-05-05T02:44:46Z BitPuffin|osx quit (Ping timeout: 264 seconds) 2017-05-05T02:45:00Z AeroNotix: Though there are some provisions here too 2017-05-05T02:45:00Z pillton: nyef: I thought epoll/kqueue/(and the windows one) were introduced to address the scaling issue? 2017-05-05T02:45:04Z nyef: But anything that attempts to show that some code conforms to some property is testing it. 2017-05-05T02:45:33Z nyef: pillton: Yes. And that would be my point exactly: The classical LispM model sucks *even worse than select(3)*. 2017-05-05T02:45:45Z pillton: nyef: ok. 2017-05-05T02:45:58Z AeroNotix: you can specify a set of possible state transitions and generate massive randomized sets of these transitions and model what should happen between each transition. Apply the model and verify between each change 2017-05-05T02:46:05Z pillton: A first step would be to introduce first class environments and define currency in terms of independent environments. 2017-05-05T02:46:14Z pillton: concurrency sorry. 2017-05-05T02:46:17Z nyef: Had multithreading ("multiprocessing") been included in the CL spec, it would almost-certainly have been on that model, and it's Just Not Workable in the modern world. 2017-05-05T02:46:47Z AeroNotix: nyef: that's some interesting insight I didn't have, though. Concurrency meant something completely different then. 2017-05-05T02:47:25Z nyef: AeroNotix: As the saying goes, "we're going to keep repeating history until we get a passing grade." 2017-05-05T02:47:48Z AeroNotix: Truth 2017-05-05T02:47:54Z nyef: AeroNotix: Anyway, you were going to bed. Get some sleep. d-: 2017-05-05T02:47:59Z AeroNotix: nyef: night 2017-05-05T02:48:02Z AeroNotix: good talk 2017-05-05T02:48:17Z ryxai joined #lisp 2017-05-05T02:48:25Z holycow: later 2017-05-05T02:49:02Z p_l: nyef: process being left in wait state till a callback are quite an interesting approach, though 2017-05-05T02:50:18Z p_l: (especially since it provides so many possibilities... want to use actor model? it works with that. Want to do something more classical? Also works) 2017-05-05T02:50:41Z CEnnis91 joined #lisp 2017-05-05T02:53:59Z nyef: p_l: Yes, an interesting and flexible approach, but one that really doesn't work in the modern era. 2017-05-05T02:54:26Z p_l: nyef: process-wait or callback on filtered event (i.e. not running function to check if it should run something) 2017-05-05T02:54:50Z p_l: also, while working on a windows driver, I found barely-documented AST system in WinNT 2017-05-05T02:55:09Z p_l: which is apparently how WaitForObject is implemented 2017-05-05T02:58:44Z rogersm quit (Read error: Connection reset by peer) 2017-05-05T02:59:35Z rogersm joined #lisp 2017-05-05T02:59:52Z nyef: AST, hunh? Is that the asynchronous function call thing inherited from VMS? 2017-05-05T03:01:39Z holycow: oh, found the video 2017-05-05T03:01:46Z holycow: https://www.youtube.com/watch?v=an5abNFba4Q 2017-05-05T03:01:51Z holycow: AeroNotix: https://www.youtube.com/watch?v=an5abNFba4Q 2017-05-05T03:02:22Z holycow: its withing the first 10 minutes 2017-05-05T03:02:33Z holycow: but the whole video is really great, at least to my ears 2017-05-05T03:05:06Z shka_ joined #lisp 2017-05-05T03:05:47Z presiden: owh, servo 2017-05-05T03:06:20Z presiden: the gpu rendering is nice 2017-05-05T03:07:01Z holycow: he explains the threading / process based synchronous programming without throwing up code snippets that i won't comprehend 2017-05-05T03:08:07Z holycow: it looks like they are thinking about synchronous programming from a framework perspective and getting some help from rust 2017-05-05T03:08:11Z holycow: looks nice 2017-05-05T03:11:03Z LiamH quit (Quit: Leaving.) 2017-05-05T03:16:28Z schoppenhauer quit (Ping timeout: 240 seconds) 2017-05-05T03:17:06Z p_l: nyef: yes 2017-05-05T03:18:46Z schoppenhauer joined #lisp 2017-05-05T03:24:22Z yrdz quit (Ping timeout: 264 seconds) 2017-05-05T03:25:04Z beach: Good morning everyone! 2017-05-05T03:26:06Z beach: Wow, I missed some interesting discussions. 2017-05-05T03:26:32Z holycow: good morning beach. thank you for the linkage. downloaded and reading. 2017-05-05T03:26:47Z beach: holycow: Take your time. 2017-05-05T03:30:12Z TDT quit (Quit: TDT) 2017-05-05T03:33:17Z beach: I noticed some people asked about the state of Second Climacs. It uses the Cluffer library, but currently not the CLIM3/CLIMatis GUI library. Instead, I am working on a GUI for McCLIM. Lots of trivial functions are missing in Second Climacs still. That is because I wanted to get the incremental Common Lisp parser (i.e., the hard part) working first, so that it will be easier to contribute later. 2017-05-05T03:33:28Z beach: What exists of the incremental Common Lisp parser seems to be working, i.e., it uses a version of READ to parse the code at typing speed and it is quite fast. It detects non-existing packages, and non-existing symbols in existing packages. It also recognizes an opening parenthesis that does not have a matching closing parenthesis. 2017-05-05T03:33:40Z beach: The next step is to apply incremental "compilation" of each top-level form, which is what I am working on now. This feature will allow me to compute correct indentation and to figure out the role of each symbol, so that I can distinguish between a symbol from the Common Lisp package that refers to the corresponding standard feature, and the same symbol that is merely used as a lexical variable. 2017-05-05T03:33:41Z beach: Incremental compilation is going to take a bit more time because I need the CST (Concrete Syntax Tree) library to do source tracking. 2017-05-05T03:34:52Z beach: This is how it might look at the moment: http://metamodular.com/second-climacs.png 2017-05-05T03:35:12Z holycow: that looks pretty good 2017-05-05T03:35:57Z beach: Thanks. Since McCLIM is now using Truetype fonts by default, it is automatically a bit prettier than previous McCLIM GUIs. 2017-05-05T03:36:02Z holycow: do you mind me asking what levels of abstration are being designed for the interface? 2017-05-05T03:36:25Z beach: For the GUI? 2017-05-05T03:36:31Z holycow: for example, its lisp all the way down. is there going to be separation of content and presentation? note: i'm stuck in the html world / notions 2017-05-05T03:36:39Z holycow: right gui 2017-05-05T03:37:06Z holycow: not even expecting any thought to be spent on it, just curious. 2017-05-05T03:37:17Z beach: Good question. The answer might be a bit hard... 2017-05-05T03:37:33Z holycow: if you don't have time, you can decline :) 2017-05-05T03:37:46Z holycow: i'm just curious since you posted 2017-05-05T03:37:47Z beach: Basically, everything is in a very abstract (GUI-free) representation, until the very last layer. 2017-05-05T03:38:17Z beach: The result of parsing the Common Lisp code is a data structure that is GUI independent. 2017-05-05T03:38:39Z holycow: now, that is a lispy answer 2017-05-05T03:38:50Z beach: Then, I have a layer that defines a CLIM "output history" that traverses that data structure and displays the visible part. 2017-05-05T03:38:52Z holycow: i understand that. that makes sense to me. 2017-05-05T03:40:15Z beach: But, yeah, it's Common Lisp all the way down, at least until CLX needs to communicate with the operating system. 2017-05-05T03:40:29Z beach: I believe there are a few lines of C in CLX. 2017-05-05T03:41:47Z holycow: sweet. that describes it well enough. thank you. 2017-05-05T03:42:19Z beach: My pleasure. 2017-05-05T03:44:20Z rumbler31 joined #lisp 2017-05-05T03:44:40Z beach: Let me just insist on one thing: the image in that link shows something that happens at typing speed. There is no C-c C-c or any other action required. I have already measured the time to compile a typical top-level expression, and it is fast, so I will be able to compile top-level expressions at typing speed as well. Again, no need for any particular action on the part of the user. 2017-05-05T03:44:46Z nyef: A quick look at the CLX that I have installed has two "legacy" .c files, one of which is explicitly for Allegro. 2017-05-05T03:45:02Z holycow: it compiles as you type? 2017-05-05T03:45:03Z holycow: huh 2017-05-05T03:45:14Z beach: holycow: It will when I am done, yes. 2017-05-05T03:45:32Z holycow: that is astoundingly cool. 2017-05-05T03:45:37Z nyef: I don't know if the whole compiles-as-you-type thing is awesome, stupidly dangerous, or both. 2017-05-05T03:45:43Z beach: nyef: Yes, the amount of C code very modest, and most of it is probably no longer needed. 2017-05-05T03:46:08Z holycow: nyef: well, i have always wanted to hire someone to write an emacs extension for me 2017-05-05T03:46:09Z test1600 joined #lisp 2017-05-05T03:46:32Z nyef: No, no... My point is that the C code appears to be *unused* for our typical deployments. 2017-05-05T03:46:33Z holycow: that pre-types the lisp form for me as i type and i just tab and input values into the form 2017-05-05T03:47:07Z beach: nyef: That the C code is unused is good news. :) 2017-05-05T03:47:08Z mathrick quit (Read error: Connection reset by peer) 2017-05-05T03:47:09Z holycow: if this is compiling in real time the editor will probably handle forms in some automated way and users will focus on correctness of logic 2017-05-05T03:47:32Z holycow: but the debugger window will be up all the time :) 2017-05-05T03:47:40Z beach: holycow: My goal is to give high-quality real-time feedback to the programmer. 2017-05-05T03:48:28Z rumbler31 quit (Ping timeout: 240 seconds) 2017-05-05T03:48:33Z beach: holycow: I am not going to attempt any automatic actions that might annoy the programmer. 2017-05-05T03:50:20Z beach: nyef: It is not really "compilation" in the sense of generating executable code. But I need to get down to the AST level to compute indentation, and to the HIR level to compute DU and UD chains for better feedback. 2017-05-05T03:51:53Z beach: holycow: For you information: DU and UD chains are used in compiler design to determine what "definitions" (bindings, assignments) of a variable can affect what uses of that variable. 2017-05-05T03:52:47Z holycow: noted. added to notes. 2017-05-05T03:53:01Z beach: It will give me the possibility to show information such as highlighting the LET binding or the SETQ form that may provide the value of a variable that the pointer is currently at. 2017-05-05T03:55:09Z nyef: beach: Something for your possible-future-extensions list, then: Tools to do automated code transformation in terms of the semantic structures in the compiler, taking advantage of the various analyses that can be done there, that then get rendered back through to the surface syntax. 2017-05-05T03:56:38Z beach: nyef: Definitely. 2017-05-05T03:58:01Z beach: Once I have these analyses, there are a large number of possibilities for such transformations. 2017-05-05T03:59:35Z holycow: heh. i want to see doclang as an ready to use implementation just because i hate the look of Tex notation so much. 2017-05-05T04:00:36Z holycow: the notation examples in the doclang document seem very reasonable to me 2017-05-05T04:00:39Z beach: holycow: That's exactly the point. No matter what surface syntax is chosen for documentation, it seems 90% of all programmers hate it. 2017-05-05T04:00:53Z holycow: heh, yup! 2017-05-05T04:01:13Z beach: holycow: That document is my suggested solution to this huge problem. 2017-05-05T04:02:01Z holycow: i had the idea once that i would write a rednering engine where the css side (presentation) would look something like your notation. actually almost exaclty like it 2017-05-05T04:02:17Z holycow: and if we are talking about a large report, or whatever it would be plain text. 2017-05-05T04:03:04Z beach: I see. 2017-05-05T04:03:05Z holycow: and the lisp forms would then refer to begining and ending of the marking by character count. its stupid i know. 2017-05-05T04:03:20Z holycow: but then i realized that makes no sense and cannot be generalized. 2017-05-05T04:05:02Z holycow: you seem to be seeing that everything is just a datastructure and final presentation is the very last layer at the top as you said. i am starting to see that. 2017-05-05T04:05:23Z holycow: you don't care if it's document or not it seems. 2017-05-05T04:05:25Z holycow: thats neat. 2017-05-05T04:06:42Z beach: I'll show you the format that I imagine for saving this structure, but right now I am busy with something a bit more urgent. Let me get back to you. 2017-05-05T04:07:01Z holycow: yeah no worrie, i'm wasting your time. any time. i have to work too. 2017-05-05T04:07:13Z drcode quit (Ping timeout: 260 seconds) 2017-05-05T04:07:25Z beach: No, not wasted. It is just that an urgent thing popped up. :) 2017-05-05T04:09:28Z sacculina quit (Ping timeout: 240 seconds) 2017-05-05T04:12:29Z shka_ quit (Ping timeout: 268 seconds) 2017-05-05T04:16:40Z paule32: hello 2017-05-05T04:16:44Z shaftoe: hi 2017-05-05T04:16:49Z paule32: (loop for (key vals) in (duden-mean_kannsein duden1) do 2017-05-05T04:17:03Z paule32: *** - CAR: "JENS" is not a list 2017-05-05T04:17:56Z shaftoe: (describe 'duden) (describe 'duden-mean_kannsein) 2017-05-05T04:18:13Z shaftoe: i'm assuming one of those isn't a list 2017-05-05T04:18:36Z paule32: http://codepad.org/x39zozLF 2017-05-05T04:19:51Z satran joined #lisp 2017-05-05T04:20:04Z shaftoe: i haven't tried looping through a struct 2017-05-05T04:20:17Z rumbler31 joined #lisp 2017-05-05T04:22:04Z drcode joined #lisp 2017-05-05T04:23:30Z knobo joined #lisp 2017-05-05T04:23:44Z gingerale joined #lisp 2017-05-05T04:24:48Z rumbler31 quit (Ping timeout: 240 seconds) 2017-05-05T04:24:59Z vlatkoB joined #lisp 2017-05-05T04:32:41Z OTS__ quit (Quit: Leaving) 2017-05-05T04:38:58Z ttt72 joined #lisp 2017-05-05T04:45:40Z hexfive quit (Quit: WeeChat 1.6) 2017-05-05T04:46:33Z noorbeh joined #lisp 2017-05-05T04:47:22Z beach: paule32: When you submit code for others to read, you should make sure you respect the conventions of the group that you want to submit your code to. 2017-05-05T04:49:48Z ryxai quit (Ping timeout: 260 seconds) 2017-05-05T04:55:56Z psacrifice joined #lisp 2017-05-05T04:56:27Z knobo quit (Ping timeout: 240 seconds) 2017-05-05T04:57:10Z beach: paule32: It looks to me like you need to go read an introductory text on Common Lisp programming, and to study the examples in that text. 2017-05-05T04:59:27Z satran quit (Quit: satran) 2017-05-05T05:00:52Z psacrifice quit (Ping timeout: 260 seconds) 2017-05-05T05:05:04Z neoncontrails quit (Remote host closed the connection) 2017-05-05T05:07:50Z dec0n joined #lisp 2017-05-05T05:08:26Z mathrick joined #lisp 2017-05-05T05:08:35Z ttt72 quit (Quit: ttt72) 2017-05-05T05:09:23Z ttt72 joined #lisp 2017-05-05T05:17:28Z shka: beach: good morning! 2017-05-05T05:22:27Z shka: beach: i was wondering what is your opinion on current CL community status. We are going somwhere? It seems to me that you should have good perspective after all this years. 2017-05-05T05:22:38Z test1600 quit (Quit: Leaving) 2017-05-05T05:27:42Z ttt72 quit (Quit: ttt72) 2017-05-05T05:28:05Z ttt72 joined #lisp 2017-05-05T05:29:15Z CEnnis91 quit (Quit: Connection closed for inactivity) 2017-05-05T05:31:22Z mishoo joined #lisp 2017-05-05T05:31:59Z rumbler31 joined #lisp 2017-05-05T05:33:43Z beach: shka: Hard to give a simple answer. 2017-05-05T05:33:57Z psacrifice joined #lisp 2017-05-05T05:34:00Z shka: well, i was not expecting simple answer 2017-05-05T05:34:02Z beach: shka: Things are definitely improving, but very very slowly. 2017-05-05T05:35:16Z shka: hm, i was not expecting to hear that 2017-05-05T05:35:30Z shka: especially "very very slowly" 2017-05-05T05:35:47Z ttt72 quit (Quit: ttt72) 2017-05-05T05:35:58Z shka: what is your comparsion point? 2017-05-05T05:36:04Z beach: Most people seem to spend their time with things that don't make collective progress. 2017-05-05T05:36:08Z beach: That's their choice of course. 2017-05-05T05:36:09Z ttt72 joined #lisp 2017-05-05T05:36:24Z rumbler31 quit (Ping timeout: 240 seconds) 2017-05-05T05:37:21Z flip214: everybody's fighting for her own survival 2017-05-05T05:37:51Z beach: shka: There is a handful of people who try to make progress. Most of those have daytime jobs, so they have very little time for Common Lisp. 2017-05-05T05:38:18Z shka: yeah, i see that 2017-05-05T05:38:20Z beach: shka: No comparison. Just my own subjective impression. 2017-05-05T05:40:10Z BlueRavenGT quit (Ping timeout: 240 seconds) 2017-05-05T05:40:24Z beach: shka: Also, some of the progress that I think we need to make requires a level of knowledge that most people don't have. That fact limits the available resources even more. 2017-05-05T05:42:26Z dec0n quit (Read error: Connection reset by peer) 2017-05-05T05:42:49Z shaftoe: an updated state of the union would be good 2017-05-05T05:43:34Z beach: Of course, many people don't agree with me about the kind of progress we need to make. Maybe we need a better web framework instead. Or a better FFI library. 2017-05-05T05:43:35Z dec0n joined #lisp 2017-05-05T05:43:58Z shka: … why not both? ;-) 2017-05-05T05:44:55Z angavrilov joined #lisp 2017-05-05T05:45:00Z beach: You asked about *my* opinion. My perspective is not necessarily the entire truth. And I know nothing about web programming, so I don't have an opinion. 2017-05-05T05:45:26Z shka: yeah, i did ask about your opinion, thanks 2017-05-05T05:47:53Z beach: shaftoe: Sure. Sounds like another task to accomplish by the handful of people who have very little time. Right? 2017-05-05T05:49:02Z beach: shaftoe: That seems to be a law of nature that applies to #lisp. Any indication of progress is instantly followed by demands for more progress. 2017-05-05T05:49:22Z shaftoe: please sir 2017-05-05T05:49:25Z shaftoe: can i have some more? 2017-05-05T05:49:32Z shaftoe: beach: MOOOORE! 2017-05-05T05:49:37Z shka: beach: but isn't that actually sign of health? 2017-05-05T05:49:39Z beach: Sure! How much do you want? And how soon? 2017-05-05T05:49:46Z shka: there is a strong drive 2017-05-05T05:49:59Z Karl_Dscc joined #lisp 2017-05-05T05:50:00Z shka: how soon is NOW? ;-) 2017-05-05T05:50:13Z beach: Oh, not yesterday? Whew! 2017-05-05T05:50:23Z shka: :D 2017-05-05T05:51:12Z shka: anyway, i would be more concern if any indication of progress is instantly ignored 2017-05-05T05:51:18Z shka: would held true 2017-05-05T05:54:10Z shifty quit (Ping timeout: 246 seconds) 2017-05-05T05:54:45Z ttt72 quit (Quit: ttt72) 2017-05-05T05:55:05Z shka: so although you may feel like there is a plenty of presure, isn't it better this way? 2017-05-05T05:55:08Z ttt72 joined #lisp 2017-05-05T05:55:19Z chens joined #lisp 2017-05-05T05:56:11Z beach: I don't care either way. I just do what I like to do and what I think is necessary. When I can turn it into research, it also justifies my salary. 2017-05-05T05:56:49Z shka: well, yeah 2017-05-05T05:58:01Z flip214: "the key to happiness", sounds like it 2017-05-05T05:59:11Z jackdaniel: o/ 2017-05-05T05:59:17Z shka: jackdaniel: yo 2017-05-05T05:59:26Z beach: Hello jackdaniel. 2017-05-05T06:03:08Z ttt72 quit (Quit: ttt72) 2017-05-05T06:03:25Z psacrifice quit (Read error: No route to host) 2017-05-05T06:03:32Z ttt72 joined #lisp 2017-05-05T06:07:48Z scymtym quit (Ping timeout: 240 seconds) 2017-05-05T06:14:12Z Karl_Dscc quit (Remote host closed the connection) 2017-05-05T06:17:16Z ttt72 quit (Quit: ttt72) 2017-05-05T06:18:05Z rk[ghost] joined #lisp 2017-05-05T06:18:27Z rk[ghost]: is there a suggested method for redefining a function? or is 'defun' used ? 2017-05-05T06:18:44Z beach: rk[ghost]: Yes, you re-evaluate the DEFUN form. 2017-05-05T06:19:14Z rk[ghost]: beach: aye aye, thanks! 2017-05-05T06:19:50Z ttt72 joined #lisp 2017-05-05T06:20:35Z bigos_ joined #lisp 2017-05-05T06:20:45Z knobo joined #lisp 2017-05-05T06:24:26Z onehrxn quit (Ping timeout: 255 seconds) 2017-05-05T06:27:27Z Harag joined #lisp 2017-05-05T06:27:43Z beach: rk[ghost]: Common Lisp is different from other languages. Other languages have a distinction between compile time and run time. The semantics of Common Lisp are defined as a sequence of interactions. Therefore, it is well defined what it means to re-evaluate definitions that you already evaluated once before. We call such a language a "dynamic language". Not to be confused with "dynamic typing", though Common Lisp has that too. 2017-05-05T06:28:22Z shka: it is not that unique to lisp nowdays 2017-05-05T06:28:31Z beach: Right. 2017-05-05T06:29:52Z beach: As Norvig pointed out in his talk, few things are unique to Common Lisp these days. But, it still remains true that no other language has the full set of features combined. 2017-05-05T06:29:56Z ttt72 quit (Quit: ttt72) 2017-05-05T06:30:07Z shka: Yup. 2017-05-05T06:30:44Z ttt72 joined #lisp 2017-05-05T06:32:20Z beach: ... so it's a bit unfair to say things like "well, language A has bignums, language B is dynamic, language C has generic functions, language D has macros, language E has totally integrated complex numbers, language F has a very good compiler, etc etc" because you can't use all those languages simultaneously the way you can with Common Lisp. 2017-05-05T06:32:54Z shka: Yup. 2017-05-05T06:33:01Z rk[ghost]: beach: right-o. just was getting a "style-warning" for redefining something. thought maybe there was another prefered command other than using defun again 2017-05-05T06:33:29Z Bike: if it's just a working definition you can ignore it. the style warning is for if loading a complete system does that. 2017-05-05T06:33:33Z Bike: cos it's stylistically fraught, see. 2017-05-05T06:33:44Z rk[ghost]: i am personally trying to wiggle in a few features of the erlang framework in to CL.. i know there is LFE.. but i have usages for an intermediate.. 2017-05-05T06:33:46Z beach: rk[ghost]: Nothing to worry about. The style warning exists in case you define functions with the same name in different files, and you don't notice that. 2017-05-05T06:33:55Z rk[ghost]: aye aye 2017-05-05T06:33:55Z shka: rk[ghost]: well you were redefining, but that's what you want so it is ok 2017-05-05T06:34:11Z rk[ghost]: right-o; 2017-05-05T06:34:33Z shka: rk[ghost]: what features? 2017-05-05T06:34:53Z l04m33 quit (Ping timeout: 240 seconds) 2017-05-05T06:34:56Z rk[ghost]: wanting to have a simple way to say (update-functions 'module '(myfun1 myfun2 myfun3)) 2017-05-05T06:35:14Z shka: ok, that is not hard 2017-05-05T06:35:15Z rk[ghost]: go through the file module.lisp and find all the occurences of those functions and update 2017-05-05T06:35:19Z rk[ghost]: no.. should be easy.. 2017-05-05T06:35:24Z ebrasca-afk is now known as ebrasca 2017-05-05T06:35:36Z rk[ghost]: just trying to learn other CL constructs in the implementation :D 2017-05-05T06:35:42Z shka: right 2017-05-05T06:36:05Z l04m33 joined #lisp 2017-05-05T06:36:21Z shka: Once i have more time, i want to build solid CSP style network library for CL. 2017-05-05T06:36:27Z rk[ghost]: but i like the processing framework in erlang.. wanting to have more control over how to update the running processes over time. having an update "message" for the functions is quite handy 2017-05-05T06:36:34Z shka: with some distributed state machine 2017-05-05T06:36:53Z shka: but that's not really erlang style ;-) 2017-05-05T06:36:54Z Seanzheng joined #lisp 2017-05-05T06:38:19Z rk[ghost]: well erlang's style is for an individual process to be able to update itself during runtime. i am just trying to have macros to define which ones from a given file to redefine so i can do a rolling update in the future.. 2017-05-05T06:40:36Z psacrifice joined #lisp 2017-05-05T06:41:15Z TeMPOraL: macros; did any non-lisp language actually reproduce workable macros? 2017-05-05T06:41:38Z ttt72 quit (Quit: ttt72) 2017-05-05T06:41:41Z TeMPOraL: (except Tcl, because it wouldn't surprise me, and Forth, because it's different flavour of arcane magic) 2017-05-05T06:41:46Z shka: TeMPOraL: i think so… 2017-05-05T06:42:22Z TeMPOraL: I mean the kind of macros you'd lile to use in your code, not e.g. Erlang's parse_transform, which entails writing in the lisp that's between Erlang code and BEAM bytecode... 2017-05-05T06:43:27Z knobo quit (Ping timeout: 240 seconds) 2017-05-05T06:43:56Z TeMPOraL: (also I meant mine as a fair question, not attempt at mocking languages - I'm curious if any non-lisp language has figured out how to do macros that are comparably powerful _and_ convenient to lisp ones) 2017-05-05T06:45:13Z shka: TeMPOraL: i think that few novel languages are trying to (like Rust) but I have no idea how far they got up to this point 2017-05-05T06:45:24Z quazimodo joined #lisp 2017-05-05T06:51:36Z loke`: TeMPOraL: Well, you have languages what are nothign _but_ macros, like TCL. 2017-05-05T06:51:47Z loke`: Or Forth 2017-05-05T06:53:40Z nullman` quit (Ping timeout: 246 seconds) 2017-05-05T06:53:56Z adolf_stalin quit (Remote host closed the connection) 2017-05-05T07:01:07Z lagagain joined #lisp 2017-05-05T07:01:44Z dschoepe: TeMPOraL: Languages like Scala and Haskell have quasiquoting constructs (basically turning concrete syntax into an AST along with support for splicing), but it's not as convenient as in Lisps I would say 2017-05-05T07:02:28Z ealfonso joined #lisp 2017-05-05T07:03:42Z ealfonso: is there an easy way to get a copy of a pathname with a different pathname-name? 2017-05-05T07:04:28Z jackdaniel: ealfonso: (make-pathname :name "bam" :defaults *old-pathname*) 2017-05-05T07:04:40Z ealfonso: jackdaniel thanks 2017-05-05T07:05:12Z ealfonso: jackdaniel I was getting close, I was lookking at merge-pathnames 2017-05-05T07:05:22Z jackdaniel: sure 2017-05-05T07:05:38Z o1e9 joined #lisp 2017-05-05T07:06:40Z jackdaniel: for instance I have function in my scratchbox to provide chain of defaults 2017-05-05T07:07:21Z jackdaniel: (defun fix-path (path &rest defaults) (reduce #'merge-pathnames defaults :initial-value (or path "") :key (lambda (p) (or p ""))) 2017-05-05T07:13:56Z vlatkoB_ joined #lisp 2017-05-05T07:14:46Z ryxai joined #lisp 2017-05-05T07:14:53Z ryxai quit (Remote host closed the connection) 2017-05-05T07:15:01Z jameser quit (Ping timeout: 268 seconds) 2017-05-05T07:17:09Z jameser joined #lisp 2017-05-05T07:17:40Z vlatkoB quit (Ping timeout: 240 seconds) 2017-05-05T07:23:19Z jameser quit (Max SendQ exceeded) 2017-05-05T07:25:24Z jameser joined #lisp 2017-05-05T07:30:30Z varjag joined #lisp 2017-05-05T07:36:03Z gargaml joined #lisp 2017-05-05T07:36:36Z Seanzheng quit (Read error: Connection reset by peer) 2017-05-05T07:39:14Z phoe: flip214: about cmd and start, you know what's funny? 2017-05-05T07:40:13Z phoe: I have found a somewhat portable solution using UIOP:NATIVE-NAMESTRING... only to find out that Wine's CMD's START command is bugged since forever and fails to launch any EXE files, so if I use CMD START, then my launcher won't work on Wine. 2017-05-05T07:40:20Z phoe: All the sweet things. 2017-05-05T07:41:29Z scymtym joined #lisp 2017-05-05T07:47:58Z chu joined #lisp 2017-05-05T07:49:25Z ExcelTronic joined #lisp 2017-05-05T07:50:14Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-05-05T07:51:47Z hhdave joined #lisp 2017-05-05T07:51:58Z jameser joined #lisp 2017-05-05T07:54:56Z flip214: well, that's what (if (getenv "WINEPREFIX") ...) is for, right? ;) 2017-05-05T07:55:04Z manualcrank quit (Quit: WeeChat 1.7.1) 2017-05-05T07:55:37Z TeMPOraL: software development, forever building things out of piles of workarounds... xD 2017-05-05T07:56:28Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-05-05T07:57:04Z shrdlu68 joined #lisp 2017-05-05T08:00:10Z chens quit (Ping timeout: 240 seconds) 2017-05-05T08:00:32Z phoe: flip214: except I'm screwed on wine 2017-05-05T08:00:33Z chens` joined #lisp 2017-05-05T08:00:41Z phoe: because I cannot use START 2017-05-05T08:01:27Z phoe: in the worst case I'll use CMD that will stay around while the process is running. 2017-05-05T08:03:36Z flip214: phoe: on WINE, use "wineconsole" instead? or what exactly is broken about START? 2017-05-05T08:04:19Z flip214: c:\> help start 2017-05-05T08:04:35Z flip214: /unix Use a Unix filename and start the file like windows explorer. 2017-05-05T08:04:44Z flip214: sounds like what you've been asking for ... 2017-05-05T08:05:09Z quazimodo quit (Ping timeout: 260 seconds) 2017-05-05T08:05:35Z chens` quit (Ping timeout: 268 seconds) 2017-05-05T08:05:57Z chens` joined #lisp 2017-05-05T08:06:31Z Bike quit (Quit: leaving) 2017-05-05T08:07:05Z mazoe joined #lisp 2017-05-05T08:09:25Z jameser joined #lisp 2017-05-05T08:10:00Z phoe: flip214: c:\> start "" cmd.exe 2017-05-05T08:10:36Z flip214: what's the problem? 2017-05-05T08:11:06Z flip214: what should the "" mean? 2017-05-05T08:11:16Z FakePedro quit (Ping timeout: 260 seconds) 2017-05-05T08:12:13Z phoe: ...wait a second, this is much more complicated 2017-05-05T08:14:07Z nirved joined #lisp 2017-05-05T08:14:43Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-05-05T08:15:35Z phoe: it's the title. read "start /?" a little bit more. the bug seems to be, Wine's START refuses to launch if this title is empty. 2017-05-05T08:16:02Z phoe: And suddenly, from writing Lisp, I've ended up in debugging operating systems' compatibility layers. Shit. It's always like that. 2017-05-05T08:17:47Z splittist: phoe: wine is an important target because... ? 2017-05-05T08:18:17Z rumbler31 joined #lisp 2017-05-05T08:19:03Z ealfonso quit (Ping timeout: 240 seconds) 2017-05-05T08:19:08Z phoe: splittist: My program is a launcher for one application. That application is Windows-only and, despite a native version being available, someone might want to use the Windows version along with the Windows client for e.g. keeping everything portably on a thumb drive. 2017-05-05T08:19:12Z bigos_ quit (Remote host closed the connection) 2017-05-05T08:19:21Z phoe: In other words: it's not, BUT 2017-05-05T08:19:55Z phoe: (Also because I still need to set up my windows VM and right now Wine is my poor man's Windows.) 2017-05-05T08:20:15Z pve joined #lisp 2017-05-05T08:20:20Z onehrxn joined #lisp 2017-05-05T08:22:28Z rumbler31 quit (Ping timeout: 240 seconds) 2017-05-05T08:22:42Z jameser joined #lisp 2017-05-05T08:28:10Z Ukari quit (Ping timeout: 258 seconds) 2017-05-05T08:30:37Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-05-05T08:32:00Z hhdave quit (Read error: Connection reset by peer) 2017-05-05T08:33:15Z hhdave joined #lisp 2017-05-05T08:33:43Z flip214: phoe: always think of how lucky you are... 2017-05-05T08:33:51Z flip214: "Edge displays “123456” in PDF but prints “114447” " https://news.ycombinator.com/item?id=14267189 2017-05-05T08:34:08Z deank quit (Ping timeout: 240 seconds) 2017-05-05T08:34:35Z jack_rabbit joined #lisp 2017-05-05T08:36:06Z flip214: WTF? the wine cmd.exe shows different help for "start /help" vs. "start /title"??? 2017-05-05T08:41:30Z Ukari joined #lisp 2017-05-05T08:41:35Z defaultxr quit (Ping timeout: 240 seconds) 2017-05-05T08:45:53Z loke` quit (Remote host closed the connection) 2017-05-05T08:46:23Z krasnal quit (Ping timeout: 240 seconds) 2017-05-05T08:49:58Z milanj joined #lisp 2017-05-05T08:53:33Z ttt72 joined #lisp 2017-05-05T08:54:38Z rumbler31 joined #lisp 2017-05-05T08:59:20Z rumbler31 quit (Ping timeout: 260 seconds) 2017-05-05T09:01:30Z krasnal joined #lisp 2017-05-05T09:05:04Z holycow quit (Quit: Lost terminal) 2017-05-05T09:05:23Z jack_rabbit quit (Ping timeout: 241 seconds) 2017-05-05T09:11:25Z space_otter quit (Remote host closed the connection) 2017-05-05T09:15:49Z ExcelTronic quit (Quit: I'm going to go hit the sack, then go to bed.) 2017-05-05T09:16:12Z rory joined #lisp 2017-05-05T09:16:20Z hhdave_ joined #lisp 2017-05-05T09:17:21Z mazoe quit (Read error: Connection reset by peer) 2017-05-05T09:17:44Z hhdave quit (Ping timeout: 268 seconds) 2017-05-05T09:17:44Z hhdave_ is now known as hhdave 2017-05-05T09:20:28Z hhdave quit (Read error: Connection reset by peer) 2017-05-05T09:22:26Z ttt72 quit (Quit: ttt72) 2017-05-05T09:22:49Z ttt72 joined #lisp 2017-05-05T09:23:11Z ttt72 quit (Remote host closed the connection) 2017-05-05T09:23:32Z ttt72 joined #lisp 2017-05-05T09:24:16Z jameser joined #lisp 2017-05-05T09:27:23Z rory left #lisp 2017-05-05T09:32:08Z hhdave joined #lisp 2017-05-05T09:35:34Z chens` quit (Ping timeout: 260 seconds) 2017-05-05T09:40:32Z deank joined #lisp 2017-05-05T09:40:48Z jameser quit (Quit: Textual IRC Client: www.textualapp.com) 2017-05-05T09:40:50Z lagagain quit (Quit: Connection closed for inactivity) 2017-05-05T09:45:35Z Harag quit (Ping timeout: 255 seconds) 2017-05-05T09:46:03Z ZabaQ joined #lisp 2017-05-05T09:47:52Z ttt72 quit (Quit: ttt72) 2017-05-05T09:49:48Z ttt72 joined #lisp 2017-05-05T09:54:52Z jameser joined #lisp 2017-05-05T10:01:03Z CrazyEddy quit (Remote host closed the connection) 2017-05-05T10:03:35Z CrazyEddy joined #lisp 2017-05-05T10:06:35Z rumbler31 joined #lisp 2017-05-05T10:08:34Z p9s quit (Remote host closed the connection) 2017-05-05T10:09:14Z p9s joined #lisp 2017-05-05T10:10:40Z rumbler31 quit (Ping timeout: 240 seconds) 2017-05-05T10:11:46Z ttt72 quit (Quit: ttt72) 2017-05-05T10:12:09Z ttt72 joined #lisp 2017-05-05T10:13:10Z p9s quit (Ping timeout: 240 seconds) 2017-05-05T10:15:30Z knobo joined #lisp 2017-05-05T10:17:00Z ttt72 quit (Quit: ttt72) 2017-05-05T10:17:23Z ttt72 joined #lisp 2017-05-05T10:18:55Z m00natic joined #lisp 2017-05-05T10:21:43Z stardiviner quit (Ping timeout: 260 seconds) 2017-05-05T10:22:11Z stardiviner joined #lisp 2017-05-05T10:23:26Z KZiemian joined #lisp 2017-05-05T10:29:10Z shdeng quit (Quit: Leaving) 2017-05-05T10:29:51Z loke` joined #lisp 2017-05-05T10:32:19Z p9s joined #lisp 2017-05-05T10:33:04Z ttt72 quit (Quit: ttt72) 2017-05-05T10:33:28Z ttt72 joined #lisp 2017-05-05T10:39:58Z hjudt: any idea how i can generate a svg with cl-svg that does not have the tag at the beginning so i can embed it into html? 2017-05-05T10:40:03Z hiro1 joined #lisp 2017-05-05T10:42:24Z loke`: hjudt: If that is all you want to do then just filter it out using some string manipulation later? 2017-05-05T10:42:35Z hjudt: ok, instead of using make-svg-toplevel i can create the class manually and use the initarg 2017-05-05T10:44:52Z ttt72 quit (Quit: ttt72) 2017-05-05T10:45:17Z ttt72 joined #lisp 2017-05-05T10:45:37Z psacrifice quit (Remote host closed the connection) 2017-05-05T10:46:36Z bigos_ joined #lisp 2017-05-05T10:47:35Z psacrifice joined #lisp 2017-05-05T10:49:28Z tmc_ joined #lisp 2017-05-05T10:49:50Z tmc quit (Read error: Connection reset by peer) 2017-05-05T10:49:50Z minion quit (Read error: Connection reset by peer) 2017-05-05T10:49:59Z minion joined #lisp 2017-05-05T10:53:32Z ttt72 quit (Quit: ttt72) 2017-05-05T10:53:56Z ttt72 joined #lisp 2017-05-05T10:54:51Z safe joined #lisp 2017-05-05T10:59:28Z jameser quit (Ping timeout: 240 seconds) 2017-05-05T11:01:56Z quazimodo joined #lisp 2017-05-05T11:06:22Z FakePedro joined #lisp 2017-05-05T11:07:37Z FakePedro quit (Client Quit) 2017-05-05T11:12:50Z ttt72 quit (Quit: ttt72) 2017-05-05T11:13:04Z sacculina joined #lisp 2017-05-05T11:13:15Z ttt72 joined #lisp 2017-05-05T11:17:17Z ttt72 quit (Client Quit) 2017-05-05T11:17:41Z ttt72 joined #lisp 2017-05-05T11:30:52Z safe quit (Quit: Leaving) 2017-05-05T11:37:24Z Harag joined #lisp 2017-05-05T11:40:26Z ttt72 quit (Quit: ttt72) 2017-05-05T11:40:49Z ttt72 joined #lisp 2017-05-05T11:42:31Z loke` quit (Remote host closed the connection) 2017-05-05T11:44:40Z EvW joined #lisp 2017-05-05T11:44:48Z paule32: hello 2017-05-05T11:45:04Z paule32: i came home atm and read down the posts 2017-05-05T11:45:18Z paule32: and i decide: you are a funny folk 2017-05-05T11:45:29Z paule32: what the current average here? 2017-05-05T11:46:12Z paule32: i am 37 and near to the far, to be a computer programmer :-) 2017-05-05T11:46:18Z paule32: i came from germany 2017-05-05T11:46:21Z stardiviner quit (Quit: WeeChat 1.7.1) 2017-05-05T11:46:59Z paule32: and my hard thing is to build me my own things of view about the english stuff 2017-05-05T11:47:13Z Xach: there was once a joke that the average age of 31 in the channel. this was hilarious because 31 was so far in the future 2017-05-05T11:47:13Z paule32: in context to translate, and understand 2017-05-05T11:47:26Z Xach: less hilarious to me today 2017-05-05T11:48:12Z paule32: haha Xach, you old cowboy :-) 2017-05-05T11:48:15Z flip214: Xach: sic transit gloria mundi, right? 2017-05-05T11:49:27Z phoe: well, I'm 24, but I can feel my beard growing with every day 2017-05-05T11:49:46Z paule32: im afraid to see, that the new age wave is missing 2017-05-05T11:50:18Z raynold quit (Quit: Connection closed for inactivity) 2017-05-05T11:50:24Z paule32: and no youngsters can be rule the things of old stable things 2017-05-05T11:50:25Z knobo: I'm getting gray hairs in my beard. 2017-05-05T11:50:31Z paule32: im too 2017-05-05T11:50:35Z paule32: and that with 37 2017-05-05T11:50:39Z paule32: oh my god 2017-05-05T11:51:16Z knobo: I'm 41 2017-05-05T11:51:22Z NeverDie quit (Ping timeout: 264 seconds) 2017-05-05T11:51:54Z paule32: just a question: kobold is so far 2017-05-05T11:53:37Z paule32: i work in an christ church organization from 8 - 14 o'clock 2017-05-05T11:53:52Z paule32: the rest is my free time 2017-05-05T11:54:06Z paule32: not to forget the household 2017-05-05T11:54:10Z paule32: but i have time 2017-05-05T11:54:21Z paule32: the problem can be the age 2017-05-05T11:54:30Z paule32: 37 is very old for new things 2017-05-05T11:54:48Z paule32: but, i feel free, to give my best 2017-05-05T11:56:59Z Dotcra quit (Quit: leaving) 2017-05-05T11:59:02Z Xach: this is, alas, much more of a technical channel, usually, than a social channel 2017-05-05T11:59:40Z phoe: flip214: https://i.imgtc.com/sCnr4Ip.png 2017-05-05T11:59:41Z EvW quit (Ping timeout: 255 seconds) 2017-05-05T12:00:53Z alex_e: Hi there. What's the most common approach to have C++ RAII-like destructors in CL? Some GC hooks maybe? Or just explicit freeing with with-something context management? 2017-05-05T12:01:26Z nyef: alex_e: WITH- macros. 2017-05-05T12:01:38Z ttt72 quit (Quit: ttt72) 2017-05-05T12:01:49Z nyef: alex_e: Which basically wrap an UNWIND-PROTECT, more-or-less. 2017-05-05T12:02:10Z ttt72 joined #lisp 2017-05-05T12:02:17Z dpg joined #lisp 2017-05-05T12:03:19Z alex_e: Thanks. Also I'm 25 btw. And many of most productive Lisp hackers nowdays are younger. 2017-05-05T12:03:39Z nyef: (Some go to the trouble of wrapping a CALL-WITH- or INVOKE-WITH- function, which contains the UNWIND-PROTECT and whatnot, but that's an elaboration and a separation of concerns, and doesn't really change the basic semantics.) 2017-05-05T12:05:25Z alex_e: I see. Maybe it's worth to create something like protected-let* macro to wrap all foreign allocation and freeing in one place. 2017-05-05T12:05:57Z alex_e: Nested with-s are certainly not the best looking thing. 2017-05-05T12:06:13Z KZiemian: I practicing CL by rewriting Ruby tutorial in him, not hard thing to do, but help me to rember functions to works with vector, hash table and so on 2017-05-05T12:06:36Z KZiemian: I almost never used defvar, only defparameter, good sing or bad sign? 2017-05-05T12:07:09Z phoe: KZiemian: defvar behaves a little bit differently and has different usages. 2017-05-05T12:07:17Z alex_e: I alsmost never use defparameter... 2017-05-05T12:07:26Z nyef: Perhaps not the best looking thing, but you might consider it more a warning sign that you're trying to do too much in a single function. 2017-05-05T12:07:35Z phoe: basically, DEFPARAMETER is meant for variables that *should* be changeable during the program's runtime or after its compilation, for example. 2017-05-05T12:07:36Z alex_e: But whatever, as long as it serves you why bother? 2017-05-05T12:07:53Z phoe: So when you recompile the program, the value of the DEFPARAMETER's variable is replaced. 2017-05-05T12:07:56Z MrBusiness quit (Ping timeout: 268 seconds) 2017-05-05T12:08:12Z ttt72 quit (Quit: ttt72) 2017-05-05T12:08:17Z phoe: When you reevaluate DEFVAR, the variable's current value is not replaced. For DEFPARAMETER, it is replaced. 2017-05-05T12:08:34Z alex_e: You can always setf it from the repl though. 2017-05-05T12:08:40Z phoe: Only if the variable is unbound, DEFVAR initializes it and sets it value. It never re-sets it. 2017-05-05T12:09:08Z ttt72 joined #lisp 2017-05-05T12:09:19Z phoe: (defvar *foo* 3) (defvar *foo* 5) (defparameter *bar* 3) (defparameter *bar* 5) 2017-05-05T12:09:28Z phoe: *foo* ;=> 3 2017-05-05T12:09:30Z phoe: *bar* ;=> 5 2017-05-05T12:09:58Z Xach: 2017-05-05T12:10:01Z EvW1 joined #lisp 2017-05-05T12:11:19Z alex_e: nyef, I just think about how many things I need to allocate for Vulkan initialization and... Well... It doesn't map good to with- syntax. 2017-05-05T12:12:17Z oleo: since when is #/x a character ? 2017-05-05T12:12:51Z oleo: hyperspec saiz #\x <- that way backslash not slash 2017-05-05T12:12:53Z alex_e: Is it? 2017-05-05T12:12:55Z shka: well, this vulkan stuff looks really complicated 2017-05-05T12:13:12Z oleo: ya i got closure-html downloaded and it's spread with wrong characters 2017-05-05T12:13:18Z shka: enter barrier is colosal 2017-05-05T12:13:34Z alex_e: Not really. Just tedious. 2017-05-05T12:13:52Z alex_e: It takes 1k sloc to render a single triangle with C++. 2017-05-05T12:14:05Z oleo: why does this happen, is it on windows for example different ? 2017-05-05T12:14:09Z alex_e: But everything is basically the same as in OpenGL, just much more explicit. 2017-05-05T12:14:56Z alex_e: oleo, maybe #/ is some other reader macro, defined by closure-html itself? 2017-05-05T12:15:17Z paule32: haha alla 2017-05-05T12:15:32Z paule32: you are muslime Xach? 2017-05-05T12:16:05Z paule32: ok, i understand, a joke 2017-05-05T12:16:20Z flip214: phoe: well done ;) 2017-05-05T12:17:17Z flip214: paule32: "alas" => https://translate.google.de/#en/de/alas 2017-05-05T12:17:18Z psacrifice quit (Remote host closed the connection) 2017-05-05T12:18:07Z paule32: ok, Ach 2017-05-05T12:18:19Z paule32: X + Ach = Xach ? 2017-05-05T12:18:31Z psacrifice joined #lisp 2017-05-05T12:18:32Z flip214: more of a "Weh!", I believe. 2017-05-05T12:18:32Z psacrifice quit (Client Quit) 2017-05-05T12:18:41Z flip214: no. 2017-05-05T12:18:45Z paule32: haha 2017-05-05T12:18:56Z oleo: alex_e: definitely not 2017-05-05T12:20:23Z paule32: http://codepad.org/ScvK6K65 2017-05-05T12:20:55Z paule32: look line 71, and 73 2017-05-05T12:21:07Z paule32: this are symbols? 2017-05-05T12:22:19Z phoe: paule32: from what I see, you use the ~A format directive 2017-05-05T12:22:28Z phoe: which is Aesthetic 2017-05-05T12:22:35Z phoe: and prints strings unescaped. 2017-05-05T12:22:39Z onehrxn quit (Remote host closed the connection) 2017-05-05T12:22:44Z paule32: to list the structure, yes 2017-05-05T12:22:56Z phoe: if you use ~S instead of ~A in your format, you will print them escaped. 2017-05-05T12:23:01Z onehrxn joined #lisp 2017-05-05T12:23:21Z paule32: the order is a little bit confuse to me 2017-05-05T12:23:26Z phoe: Order? 2017-05-05T12:23:33Z ttt72 quit (Quit: ttt72) 2017-05-05T12:23:40Z paule32: because JENS and PETER no list elements? 2017-05-05T12:23:46Z alex_e: oleo: then I don't quite understand. 2017-05-05T12:23:50Z oleo: (cond ((null ch) ;eof 2017-05-05T12:23:52Z oleo: (parse-warn input 3 "EOF in entity") 2017-05-05T12:23:53Z oleo: (push-on-scratch input sp #/&)) 2017-05-05T12:23:55Z oleo: ((rune= ch #/#) ;numeric reference? 2017-05-05T12:24:03Z redeemed joined #lisp 2017-05-05T12:24:05Z oleo: does that look like characters there ? 2017-05-05T12:24:16Z paule32: why missing () 2017-05-05T12:24:18Z ttt72 joined #lisp 2017-05-05T12:24:22Z oleo: #/# and #/& etc 2017-05-05T12:24:35Z phoe: paule32: in line 49, you create a list 2017-05-05T12:24:49Z phoe: which contains four elements: string "JENS", another list, string "PETER", another list 2017-05-05T12:24:55Z oleo: my whole sgml-parse.lisp and other stuff is filled with that nonsense 2017-05-05T12:24:55Z flip214: oleo: looks like runes instead of characters. 2017-05-05T12:25:06Z oleo: you don't get it! 2017-05-05T12:25:13Z oleo: #/# is not a valid character! 2017-05-05T12:25:21Z oleo: #\# is 2017-05-05T12:25:36Z paule32: phoe: yes, but they should string 2017-05-05T12:25:48Z phoe: paule32: line 63 2017-05-05T12:25:50Z oleo: any my reader is going bonkers on reading that file 2017-05-05T12:25:51Z flip214: oleo: for runes look at https://common-lisp.net/project/cxml/ 2017-05-05T12:25:56Z phoe: change "~A~%" to "~S~%" 2017-05-05T12:26:01Z TMA: oleo: #/# was a way to write #.(char-code #\#) in pre-common lisp lisps 2017-05-05T12:26:03Z oleo: i already have cxml installed 2017-05-05T12:26:11Z oleo: aaah 2017-05-05T12:26:13Z phoe: oleo: are you in the proper readtable? 2017-05-05T12:26:19Z oleo: ya 2017-05-05T12:26:22Z oleo: default readtable 2017-05-05T12:26:32Z TMA: oleo: it was a fixnum, not a character 2017-05-05T12:26:44Z alex_e: So it was macro character after all? 2017-05-05T12:26:47Z phoe: are you sure that you don't need a different one, that has a #\# #\/ dispatch macro defined? 2017-05-05T12:26:47Z oleo: oh man 2017-05-05T12:26:52Z phoe: because it looks like that 2017-05-05T12:26:59Z TMA relates a mere hearsay, never encountered it firsthand 2017-05-05T12:27:01Z oleo: no i don't need anything 2017-05-05T12:27:03Z orivej quit (Ping timeout: 268 seconds) 2017-05-05T12:27:21Z oleo: it's a standard package which should load in a standard way..... 2017-05-05T12:27:29Z oleo: and not let the reader flip out 2017-05-05T12:27:58Z alex_e: What's a standard package? 2017-05-05T12:28:06Z phoe: oleo: you're not going to read a file which has #/ in it, using a standard readtable 2017-05-05T12:28:10Z oleo: conforming 2017-05-05T12:28:21Z alex_e: To what? 2017-05-05T12:28:22Z phoe: because there is no dispatch macro for #\# #\/ defined AFAIK 2017-05-05T12:28:25Z oleo: so what ? 2017-05-05T12:28:29Z oleo: is it my fault or what ? 2017-05-05T12:28:40Z oleo: ya and that's the error i get too 2017-05-05T12:28:40Z paule32: phoe: how can i loop only to look, if "JENS" or "PETER" is available? 2017-05-05T12:28:53Z onehrxn quit (Quit: Leave for a while) 2017-05-05T12:28:53Z phoe: oleo: most likely you *need* a readtable capable of reading this. 2017-05-05T12:29:08Z oleo: i don't think i need anything 2017-05-05T12:29:14Z phoe: paule32: (member "JENS" list :test #'string=) 2017-05-05T12:29:25Z oleo: if someone release that thing they make sure it works like expected.... 2017-05-05T12:29:30Z paule32: phoe: this is CL? 2017-05-05T12:29:32Z oleo: ya 2017-05-05T12:29:34Z phoe: oleo: then AFAIK your line of thought is incorrect. and it's not a personal offense - I'm just stringing up facts 2017-05-05T12:29:37Z phoe: paule32: ayup 2017-05-05T12:29:38Z oleo: the closure-html package 2017-05-05T12:30:00Z Marumarsu quit (Read error: Connection reset by peer) 2017-05-05T12:30:00Z oleo: i got it via quicklisp 2017-05-05T12:30:31Z phoe: oleo: where do you see these symbols? 2017-05-05T12:30:34Z phoe: is the code on GitHub? 2017-05-05T12:30:42Z oleo: i suppose so 2017-05-05T12:31:02Z oleo: or did something render it unreadable on download ? 2017-05-05T12:31:03Z phoe: oleo: https://github.com/bluelisp/closure-html <- can you find this file with #/stuff here? 2017-05-05T12:31:17Z phoe: oleo: let's find out - I want to check it out 2017-05-05T12:31:32Z phoe: paule32: 2017-05-05T12:31:34Z phoe: clhs member 2017-05-05T12:31:34Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_member.htm 2017-05-05T12:32:27Z phoe: oleo: https://github.com/bluelisp/closure-html/blob/63ffe9ec19e3d74e9ff1afcf69d6a054d5908c07/src/parse/sgml-parse.lisp 2017-05-05T12:32:30Z phoe: I can see it 2017-05-05T12:32:32Z alex_e: phoe: sgml-parse.lisp:390 2017-05-05T12:32:32Z onehrxn joined #lisp 2017-05-05T12:32:34Z alex_e: e.g. 2017-05-05T12:33:35Z oleo: https://github.com/bluelisp/closure-html/blob/master/src/parse/sgml-parse.lisp ya 2017-05-05T12:33:40Z oleo: that one 2017-05-05T12:33:41Z alex_e: defpackage :sgml states it uses runes package. 2017-05-05T12:34:28Z alex_e: It even has the entry in changelog. 2017-05-05T12:34:36Z alex_e: ;; - use #/.. read syntax instead of #.(char-code) idiom 2017-05-05T12:35:31Z alex_e: Now oleo, what are you trying to do. 2017-05-05T12:35:34Z ttt72 quit (Quit: ttt72) 2017-05-05T12:35:40Z alex_e: And what exactly fails. 2017-05-05T12:35:56Z phoe: alex_e: https://github.com/TBRSS/FXML/blob/b44500dadbfc28106f92ea78babf7a0f41cf111d/runes/syntax.lisp#L168 2017-05-05T12:35:58Z ttt72 joined #lisp 2017-05-05T12:35:59Z phoe: oleo: https://github.com/TBRSS/FXML/blob/b44500dadbfc28106f92ea78babf7a0f41cf111d/runes/syntax.lisp#L168 2017-05-05T12:36:02Z phoe: ah-ha! 2017-05-05T12:36:09Z phoe: (in-readtable :runes) 2017-05-05T12:36:09Z phoe: try this 2017-05-05T12:36:20Z alex_e: Welp, case solved. 2017-05-05T12:36:35Z phoe: ...but I seriously don't know why the closure files do not have an explicit IN-READTABLE on top of them 2017-05-05T12:36:46Z phoe: because it's not only IN-PACKAGE but IN-READTABLE that has to be set per file 2017-05-05T12:37:02Z alex_e: Is in-readtable standard? 2017-05-05T12:37:08Z phoe: alex_e: NAMED-READTABLES 2017-05-05T12:37:12Z oleo: bah 2017-05-05T12:37:13Z alex_e: Oh. 2017-05-05T12:37:26Z flip214: phoe: perhaps there's an :AROUND-COMPILE hook in ASDF set? 2017-05-05T12:37:51Z oleo: i deleted the directory in quiclisp/dists/quicklisp/software and downloaded it again via quicklisp and now it all of a sudden all works 2017-05-05T12:37:59Z oleo: oh man 2017-05-05T12:38:32Z phoe: flip214: there has to be wizardry like that if it builds at all 2017-05-05T12:39:43Z flip214: can't see something like this, though 2017-05-05T12:39:51Z Oladon quit (Read error: Connection reset by peer) 2017-05-05T12:40:11Z flip214: and ystream.lisp uses #/ 2017-05-05T12:40:33Z TDT joined #lisp 2017-05-05T12:40:56Z phoe: flip214: well 2017-05-05T12:40:58Z phoe: welp 2017-05-05T12:41:00Z phoe: magic 2017-05-05T12:41:11Z alex_e: There's no such thing. 2017-05-05T12:41:15Z alex_e: As magic. 2017-05-05T12:41:50Z Oladon joined #lisp 2017-05-05T12:42:19Z flip214: #-x&y-streams-are-stream (:file "ystream") 2017-05-05T12:42:29Z flip214: in the ASD file must remove that file... 2017-05-05T12:43:53Z flip214: grrr, trying to inspect a function gives me "The function SB-KERNEL:%SIMPLE-FUN-SELF is undefined." 2017-05-05T12:44:08Z dpg quit (Ping timeout: 240 seconds) 2017-05-05T12:44:36Z ttt72 quit (Quit: ttt72) 2017-05-05T12:45:02Z ttt72 joined #lisp 2017-05-05T12:46:52Z KZiemian: sey you 2017-05-05T12:46:55Z KZiemian quit (Quit: Page closed) 2017-05-05T12:47:05Z quazimodo quit (Ping timeout: 240 seconds) 2017-05-05T12:49:06Z paule32: http://codepad.org/FVz9GJGV 2017-05-05T12:49:14Z paule32: need help 2017-05-05T12:54:31Z logicmoo joined #lisp 2017-05-05T12:54:33Z hhdave_ joined #lisp 2017-05-05T12:54:46Z Harag1 joined #lisp 2017-05-05T12:55:16Z antoszka: paule32: what book/tutorial are you learning common lisp from? 2017-05-05T12:55:25Z paule32: google 2017-05-05T12:55:35Z shka: paule32: use Practical Common Lisp 2017-05-05T12:55:37Z antoszka: huh, ok 2017-05-05T12:55:44Z antoszka: minion: tell paule32 about pcl 2017-05-05T12:55:45Z minion: paule32: look at pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 2017-05-05T12:56:06Z dpg joined #lisp 2017-05-05T12:56:32Z paule32: thanks boys 2017-05-05T12:56:54Z paule32: girl friend came home, must be buy groceries 2017-05-05T12:57:00Z paule32: back in few minuts 2017-05-05T12:57:23Z ttt72_ joined #lisp 2017-05-05T13:00:24Z nyef: flip214: The symbol SB-KERNEL:%SIMPLE-FUN-SELF alone raises red flags to me that someone might be doing something unsupported. And a grep over SBCL git HEAD shows only *two* uses for it... Which turn out to be x86oid and non-x86oid versions of the same logic. There's no interpreter stub, which would be why it's undefined, but also no good reason to call it. 2017-05-05T13:01:11Z nyef: Actually, worse: It's *only* implemented as (SETF %SIMPLE-FUN-SELF), with no %SIMPLE-FUN-SELF function. 2017-05-05T13:01:24Z antoszka: paule32: there's a lot of stylistic things we will want to tell you (this is very non-idiomatic style for a number of reasons technical and cosmetic), but your STRING-TO-LIST is probably not generating a proper list. 2017-05-05T13:01:38Z antoszka: paule32: wherever you get the function from (it's not in the standard) 2017-05-05T13:02:51Z ttt72 quit (*.net *.split) 2017-05-05T13:02:52Z Harag quit (*.net *.split) 2017-05-05T13:02:52Z hhdave quit (*.net *.split) 2017-05-05T13:02:52Z nirved quit (*.net *.split) 2017-05-05T13:02:52Z chu quit (*.net *.split) 2017-05-05T13:02:53Z d4ryus3 quit (*.net *.split) 2017-05-05T13:02:53Z dmiles quit (*.net *.split) 2017-05-05T13:02:53Z jcloud quit (*.net *.split) 2017-05-05T13:02:53Z aaronjensen quit (*.net *.split) 2017-05-05T13:02:53Z Harag1 is now known as Harag 2017-05-05T13:02:53Z hhdave_ is now known as hhdave 2017-05-05T13:02:55Z cromachina quit (Read error: Connection reset by peer) 2017-05-05T13:03:23Z ttt72_ quit (Quit: ttt72_) 2017-05-05T13:03:49Z ttt72_ joined #lisp 2017-05-05T13:04:46Z jameser joined #lisp 2017-05-05T13:09:16Z d4ryus3 joined #lisp 2017-05-05T13:09:28Z sellout- quit (Quit: Leaving.) 2017-05-05T13:10:02Z orivej joined #lisp 2017-05-05T13:10:51Z ttt72_ quit (Quit: ttt72_) 2017-05-05T13:11:15Z ttt72 joined #lisp 2017-05-05T13:11:19Z ttt72 is now known as ttt72_ 2017-05-05T13:13:28Z chu joined #lisp 2017-05-05T13:14:27Z grumble is now known as 14WAA001L 2017-05-05T13:14:29Z nirved joined #lisp 2017-05-05T13:14:29Z jcloud joined #lisp 2017-05-05T13:14:29Z aaronjensen joined #lisp 2017-05-05T13:14:30Z Lowl3v3l joined #lisp 2017-05-05T13:14:52Z jcloud quit (Max SendQ exceeded) 2017-05-05T13:15:22Z jcloud joined #lisp 2017-05-05T13:16:01Z 14WAA001L is now known as grumble 2017-05-05T13:17:24Z antoszka: paule32: actually, I'm not sure about the logic you want to achieve, here's your code reformatted to be more lispy: http://wklej.org/id/3104701/ 2017-05-05T13:18:01Z antoszka: paule32: the last form that gives errors is commented out using the #+NIL reader macro (you'll come across it in people's code) 2017-05-05T13:18:15Z LiamH joined #lisp 2017-05-05T13:18:23Z mnoonan joined #lisp 2017-05-05T13:19:03Z ogamita: antoszka: better use #-(and) than #+NIL. NIL is New Implementation of Lisp, so :NIL can be found in *features*. 2017-05-05T13:19:32Z antoszka: ogamita: yeah, I had that discussion with jackdaniel recently elsewhere ;) 2017-05-05T13:19:34Z antoszka: Agreed. 2017-05-05T13:20:17Z antoszka: Must go now, won't be available until later on. 2017-05-05T13:21:57Z MrBusiness joined #lisp 2017-05-05T13:22:04Z rpg joined #lisp 2017-05-05T13:22:46Z nyef: antoszka: Or use #+(or). NIL could also be "Nyef's Implementation of Lisp", which isn't quite implausible, and would *totally* be something that I'd do if I were to start my own Lisp implementation. 2017-05-05T13:23:35Z rumbler31 joined #lisp 2017-05-05T13:23:58Z rippa joined #lisp 2017-05-05T13:25:23Z CEnnis91 joined #lisp 2017-05-05T13:26:31Z CEnnis91 quit (*.net *.split) 2017-05-05T13:26:31Z rpg quit (*.net *.split) 2017-05-05T13:26:31Z nirved quit (*.net *.split) 2017-05-05T13:26:31Z aaronjensen quit (*.net *.split) 2017-05-05T13:26:55Z nirved joined #lisp 2017-05-05T13:27:01Z rpg joined #lisp 2017-05-05T13:27:05Z jackdaniel: I'm using #+(or) personally 2017-05-05T13:27:40Z CEnnis91 joined #lisp 2017-05-05T13:27:47Z aaronjensen joined #lisp 2017-05-05T13:27:50Z beach: Me too. 2017-05-05T13:29:53Z Ukari quit (Quit: Leaving.) 2017-05-05T13:30:16Z shka quit (Quit: Konversation terminated!) 2017-05-05T13:30:16Z Ukari joined #lisp 2017-05-05T13:30:55Z antoszka: nyef: yeah, well, some code will probably break :) 2017-05-05T13:31:08Z alex_e: What's NIL? 2017-05-05T13:31:20Z ttt72_ quit (Quit: ttt72_) 2017-05-05T13:31:43Z ttt72 joined #lisp 2017-05-05T13:31:46Z drmeister: Does anyone know what this might be due to? 2017-05-05T13:31:48Z drmeister: https://www.irccloud.com/pastebin/rrOTosTy/ 2017-05-05T13:32:07Z drmeister: I'm loading a quicklisp system into Clasp. 2017-05-05T13:32:28Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-05-05T13:32:57Z beach: alex_e: It is the Common Lisp value that means false and the empty list. Some people use it as a reader conditional to comment out a form. But it is not a good idea because it might be a valid feature, such as "New Implementation of Lisp", or "Nyef's Implementation of Lisp". 2017-05-05T13:33:06Z jackdaniel: drmeister: what version of asdf do you have? 2017-05-05T13:33:17Z alex_e: beach: oooh. 2017-05-05T13:33:21Z jackdaniel: may it's *yet another* breakage from changes 2017-05-05T13:33:51Z alex_e: I see. Though it's an actual feature set, something like Fukamachi's cl21.org or something like that. 2017-05-05T13:33:54Z drmeister: 3.2.0.1 2017-05-05T13:33:54Z beach: drmeister: It looks like you have a literal stream in the code you are trying to load. 2017-05-05T13:34:10Z antoszka: nyef: $ find quicklisp/ -type f -name '*lisp' -exec pcregrep -i '#\+nil' {} + 2>/dev/null | wc -l 2017-05-05T13:34:11Z antoszka: 61 2017-05-05T13:34:41Z ttt72 quit (Client Quit) 2017-05-05T13:35:05Z ttt72 joined #lisp 2017-05-05T13:35:22Z jackdaniel: bugs in code shouldn't cripple implementations to make workarounds for these bugs (unless you want to invite flawed, bug-driven design) 2017-05-05T13:36:07Z drmeister: jackdaniel: ASDF version 3.2.0.1 2017-05-05T13:36:15Z nyef: antoszka: And that's just from what you have installed, not the whole of quicklisp, right? (-: 2017-05-05T13:36:17Z drmeister: I can load the source code directly 2017-05-05T13:36:28Z antoszka: nyef: sure 2017-05-05T13:36:45Z antoszka: nyef: a pretty small sample, I've been cleaning up recently :) 2017-05-05T13:37:03Z nyef: drmeister: I think that might be coming from trying to COMPILE-FILE the system definition itself? 2017-05-05T13:37:58Z drmeister: This is the .asd file: 2017-05-05T13:38:00Z drmeister: https://www.irccloud.com/pastebin/BTUhB9uH/ 2017-05-05T13:38:26Z drmeister: I'm using (ql:quickload "metering") - I'm not sure what quickload is trying to do. 2017-05-05T13:38:54Z drmeister: When I retry the ASDF operation - it completes. 2017-05-05T13:41:06Z jackdaniel: drmeister: just load the metering.cl file 2017-05-05T13:41:08Z shifty joined #lisp 2017-05-05T13:41:32Z jackdaniel: or even (load (compile-file "metering.cl")) ; asd file is added there for conveniance, but if asdf has problems 2017-05-05T13:41:53Z jackdaniel: at least you'll see if it's metering system or its definition 2017-05-05T13:42:03Z jackdaniel: what causes the problem 2017-05-05T13:42:05Z drmeister: Is .cl a common extension for Common Lisp code? Should I modify my LOAD command to recognize it? 2017-05-05T13:42:18Z z0d: drmeister: most people use .lisp 2017-05-05T13:42:34Z jackdaniel: drmeister: it is not forbidden and old sources sometimes have it 2017-05-05T13:42:46Z jackdaniel: not very common though 2017-05-05T13:43:49Z nyef: I see .cl occasionally, I think that it might be more common with some implementations than with others, for whatever reason. Possibly something to do with a three letter limit on file extensions? 2017-05-05T13:44:29Z nyef: I also recall seeing .l a time or two? 2017-05-05T13:44:53Z jackdaniel: ecl has a lot of .lsp files 2017-05-05T13:45:27Z shrdlu68 quit (Ping timeout: 240 seconds) 2017-05-05T13:45:54Z nyef remembers LightSpeed Pascal. 2017-05-05T13:46:57Z drmeister: I'm schizophrenic with .lsp and .lisp 2017-05-05T13:47:08Z drmeister: asdf doesn't like .lsp 2017-05-05T13:49:24Z AeroNotix: https://github.com/AeroNotix/exposure I've had this idea for a while. Not sure if it's the best idea but wonder what people think... just banged this out: https://github.com/AeroNotix/exposure 2017-05-05T13:50:20Z p9s quit (Read error: Connection reset by peer) 2017-05-05T13:50:58Z p9s joined #lisp 2017-05-05T13:54:02Z dpg quit (Ping timeout: 240 seconds) 2017-05-05T13:55:57Z Lowl3v3l quit (Quit: Leaving.) 2017-05-05T13:56:42Z Lowl3v3l joined #lisp 2017-05-05T13:56:50Z velo-alien joined #lisp 2017-05-05T13:56:54Z Lowl3v3l quit (Client Quit) 2017-05-05T13:57:18Z Lowl3v3l joined #lisp 2017-05-05T13:57:32Z Lowl3v3l quit (Client Quit) 2017-05-05T13:58:17Z Lowl3v3l joined #lisp 2017-05-05T13:58:28Z ttt72 quit (Quit: ttt72) 2017-05-05T13:58:39Z Lowl3v3l quit (Remote host closed the connection) 2017-05-05T13:58:53Z ttt72 joined #lisp 2017-05-05T13:59:32Z ttt72 quit (Client Quit) 2017-05-05T13:59:52Z Lowl3v3l joined #lisp 2017-05-05T13:59:57Z ttt72 joined #lisp 2017-05-05T14:00:33Z Lowl3v3l quit (Remote host closed the connection) 2017-05-05T14:01:29Z Lowl3v3l joined #lisp 2017-05-05T14:01:48Z Lowl3v3l quit (Client Quit) 2017-05-05T14:02:47Z dec0n quit (Read error: Connection reset by peer) 2017-05-05T14:04:37Z Ukari quit (Quit: Leaving.) 2017-05-05T14:05:14Z Ukari joined #lisp 2017-05-05T14:06:05Z redeemed quit (Quit: q) 2017-05-05T14:07:57Z l04m33 quit (Ping timeout: 240 seconds) 2017-05-05T14:09:03Z l04m33 joined #lisp 2017-05-05T14:09:42Z _death: AeroNotix: another lightweight solution is to use the standard method combination facility 2017-05-05T14:12:21Z AeroNotix: _death: can also just use functions to do it 2017-05-05T14:12:51Z AeroNotix: method combinations would require implementing a CLOS class with a bunch of :around type methods, though right? 2017-05-05T14:14:15Z _death: yes.. mixins 2017-05-05T14:14:36Z ogamita: AeroNotix: have a look at Cells. I don't remember if they work on variables too, but it's possible they do. 2017-05-05T14:14:42Z AeroNotix: Will do 2017-05-05T14:14:49Z ogamita: AeroNotix: another implementation of the same principle would be KR. 2017-05-05T14:15:04Z ogamita: (found in Garnet if not standalone). 2017-05-05T14:15:22Z _death: I'd think aspectl/contextl would be relevant 2017-05-05T14:16:06Z AeroNotix: _death: I looked at those, quite complicated compared to what I've made (also they're probably more generally useful ) 2017-05-05T14:16:22Z AeroNotix: ogamita: wow Cells looks cool. Looks like something completely different though 2017-05-05T14:16:35Z _death: AeroNotix: yes, that's why I mentioned the lightweight approach 2017-05-05T14:16:45Z AeroNotix: ogamita: reminds me of React/Om 2017-05-05T14:18:33Z ogamita: AeroNotix: perhaps you want something like KVC and KVO, applied to variables? https://developer.apple.com/library/content/documentation/General/Conceptual/DevPedia-CocoaCore/KeyValueCoding.html https://developer.apple.com/library/content/documentation/General/Conceptual/DevPedia-CocoaCore/KVO.html 2017-05-05T14:19:57Z knobo quit (Ping timeout: 240 seconds) 2017-05-05T14:20:36Z AeroNotix: That's another way to do it and I'm sure you could do it with CLOS 2017-05-05T14:20:43Z discardedes quit (Remote host closed the connection) 2017-05-05T14:20:43Z ogamita: Of course. 2017-05-05T14:20:54Z AeroNotix: but I specifically wanted to be able to arbitrarily add hooks to any value 2017-05-05T14:21:03Z ogamita: variable or value? 2017-05-05T14:21:10Z AeroNotix: both 2017-05-05T14:21:30Z AeroNotix: (expose thing) (expose thing :thing) are functionally the same, in my library 2017-05-05T14:21:31Z ogamita: Some values are immutable. When would the hook be called? 2017-05-05T14:21:44Z AeroNotix: The place where EXPOSE is called 2017-05-05T14:21:57Z ogamita: So the variable (= place), not the value! 2017-05-05T14:22:36Z yeticry_ joined #lisp 2017-05-05T14:22:58Z p9s quit (Remote host closed the connection) 2017-05-05T14:22:59Z AeroNotix: I don't follow. The same thing could just be done with functions, the hook functions get the value of the variable at the point when it is called when execution gets to the EXPOSE site. 2017-05-05T14:23:10Z hjdiio joined #lisp 2017-05-05T14:23:17Z p9s joined #lisp 2017-05-05T14:23:30Z ogamita: (let ((bar (let ((var (expose* (gensym) :thing))) var))) (print bar)) would a hook be called when the gensym is created, then when it's bound to var, then when it's read from var, then when it's bound to bar, then when it's read from bar, then when it is bound and read from whatever variable print uses? 2017-05-05T14:23:45Z p9s quit (Remote host closed the connection) 2017-05-05T14:24:02Z p9s joined #lisp 2017-05-05T14:24:12Z AeroNotix: after (gensym) and before the binding 2017-05-05T14:24:29Z ogamita: Which are exactly the same time? 2017-05-05T14:24:33Z p9s quit (Remote host closed the connection) 2017-05-05T14:24:44Z ogamita: What about the binding to bar? 2017-05-05T14:24:52Z p9s joined #lisp 2017-05-05T14:24:55Z AeroNotix: Read the code, it's very small 2017-05-05T14:25:06Z shka_ joined #lisp 2017-05-05T14:25:18Z ogamita: Are you saying this code is your specifications? 2017-05-05T14:25:21Z p9s quit (Remote host closed the connection) 2017-05-05T14:25:33Z yeticry quit (Ping timeout: 260 seconds) 2017-05-05T14:25:36Z p9s joined #lisp 2017-05-05T14:25:37Z AeroNotix: I thought you were asking me how that piece of code would work with my library 2017-05-05T14:25:43Z ttt72 quit (Quit: ttt72) 2017-05-05T14:26:02Z ogamita: Your code doesn't deal with values, only with variables. 2017-05-05T14:26:06Z ttt72 joined #lisp 2017-05-05T14:26:09Z p9s quit (Remote host closed the connection) 2017-05-05T14:26:13Z ogamita: But you said you wanted to hook the values too. 2017-05-05T14:26:23Z AeroNotix: (expose '(1 2 3) :thing) works 2017-05-05T14:26:26Z p9s joined #lisp 2017-05-05T14:26:54Z j0ni quit (Quit: Lost terminal) 2017-05-05T14:26:57Z p9s quit (Remote host closed the connection) 2017-05-05T14:27:09Z ogamita: Yes, it's rather strange. 2017-05-05T14:27:17Z j0ni joined #lisp 2017-05-05T14:27:26Z AeroNotix: Yes it's not anything overly complicated or meaningful. 2017-05-05T14:27:26Z ogamita: Also I see that you prevent the mutation of the value. I don't see why the hooks couldn't mutate them. 2017-05-05T14:27:29Z drcode quit (Quit: ZNC 1.6.5 - http://znc.in) 2017-05-05T14:27:36Z ogamita: or substitute them in case of immutable values… 2017-05-05T14:27:38Z AeroNotix: Interesting 2017-05-05T14:28:03Z ogamita: I mean, if you hook the places, they can be mutated, so the hook should be able to do whatever it wants (unless you (expose … :read-only) 2017-05-05T14:28:04Z ogamita: ) 2017-05-05T14:28:13Z alex_e: Are :around, :before and :after method combinations? 2017-05-05T14:28:14Z AeroNotix: But overall my specific use-case is just to inform some other code that there is a value associated with a term 2017-05-05T14:28:52Z alex_e: Then how are the different from :method-combination option of defgeneric? 2017-05-05T14:29:05Z ogamita: alex_e: nope, they're method qualifers. method qualifers depend on the actual method combination used. They're method qualifiers for the default method combination. 2017-05-05T14:29:19Z alex_e: Oh. 2017-05-05T14:29:31Z alex_e: Now it makes much more sense! Thank you. 2017-05-05T14:29:34Z drcode joined #lisp 2017-05-05T14:29:49Z AeroNotix: it's been a long while since I used method combinations 2017-05-05T14:29:50Z ogamita: See http://www.lispworks.com/documentation/HyperSpec/Body/m_defmet.htm vs. http://www.lispworks.com/documentation/HyperSpec/Body/m_defgen.htm where the method combination is defined for the whole generic function. 2017-05-05T14:30:09Z ogamita: Method combinations combine the results of all the applicable methods for a single generic function. 2017-05-05T14:30:13Z BitPuffin|osx joined #lisp 2017-05-05T14:30:41Z ogamita: Method qualifiers further help discriminate methods of a single generic function, having the same signature. 2017-05-05T14:31:45Z alex_e: Nice. How can I define method qualifiers? I should do it for my own defined method combination? 2017-05-05T14:32:00Z ogamita: It's useful to write a few examples of generic functions with different method combinations such as append or +, and see how the results of all the methods called (eg. thru call-next-method) are collected in the result. 2017-05-05T14:32:00Z jerme joined #lisp 2017-05-05T14:32:09Z noorbeh left #lisp 2017-05-05T14:32:27Z l04m33 quit (Ping timeout: 240 seconds) 2017-05-05T14:32:31Z ogamita: Methods qualifiers are defined in the method combination. cf. http://www.lispworks.com/documentation/HyperSpec/Body/m_defi_4.htm 2017-05-05T14:32:58Z AeroNotix: ogamita: so the method combinations are functions that perform some computation on the set of results of all methods? 2017-05-05T14:33:24Z alex_e: ogamita: many thanks! I should proceed to experimenting with define-method-combination now. 2017-05-05T14:33:28Z drcode quit (Client Quit) 2017-05-05T14:33:28Z AeroNotix: for example, +, if your methods all returned integers would return the sum of integers? 2017-05-05T14:33:35Z ogamita: AeroNotix: exactly. 2017-05-05T14:33:38Z AeroNotix: nice 2017-05-05T14:34:01Z AeroNotix: I've personally only used :around, :before and :after 2017-05-05T14:34:39Z ogamita: Indeed, this allows you to define a class such as car with mixin such as having-body having-wheels having-gas-reservoir and implemeting methods such as (mass car) trivially. 2017-05-05T14:34:49Z AeroNotix: https://github.com/AeroNotix/cqlcl they were very useful implementing a stream parser 2017-05-05T14:34:57Z ogamita: AeroNotix: those qualifiers are for the default method combination. 2017-05-05T14:35:39Z ogamita: clhs define-method-combination gives an example of an AND method combination having primary and :around qualifiers. 2017-05-05T14:35:55Z AeroNotix: https://github.com/AeroNotix/cqlcl/blob/0c6af10b99d96931fe8c3313084e209077f0f956/protocol.lisp#L27 2017-05-05T14:36:10Z AeroNotix: https://github.com/AeroNotix/cqlcl/blob/0c6af10b99d96931fe8c3313084e209077f0f956/protocol.lisp#L46 2017-05-05T14:36:40Z drcode joined #lisp 2017-05-05T14:38:49Z l04m33 joined #lisp 2017-05-05T14:39:58Z orivej quit (Ping timeout: 255 seconds) 2017-05-05T14:40:05Z j0ni quit (Quit: leaving) 2017-05-05T14:40:13Z orivej joined #lisp 2017-05-05T14:41:06Z j0ni joined #lisp 2017-05-05T14:43:29Z scymtym quit (Ping timeout: 255 seconds) 2017-05-05T14:48:03Z bungoman_ quit (Ping timeout: 258 seconds) 2017-05-05T14:50:44Z ttt72 quit (Quit: ttt72) 2017-05-05T14:51:08Z ttt72 joined #lisp 2017-05-05T14:51:09Z warweasle joined #lisp 2017-05-05T14:52:56Z ttt72 quit (Client Quit) 2017-05-05T14:53:19Z ttt72 joined #lisp 2017-05-05T14:55:53Z Xof quit (Ping timeout: 260 seconds) 2017-05-05T15:02:21Z alex_e left #lisp 2017-05-05T15:02:55Z hjdiio quit (Quit: Page closed) 2017-05-05T15:05:13Z bigos_ quit (Ping timeout: 260 seconds) 2017-05-05T15:10:32Z phoe: woot! 2017-05-05T15:10:52Z phoe successfully built and packed his first Lisp GUI application. 2017-05-05T15:11:02Z phoe afk, time to celebrate. 2017-05-05T15:11:17Z beach: phoe: Congratulations! 2017-05-05T15:11:34Z wheelsucker joined #lisp 2017-05-05T15:12:32Z jackdaniel: phoe: which toolkit did you use? also, mind sharing? ;_) 2017-05-05T15:12:35Z jackdaniel: conrats 2017-05-05T15:12:41Z jackdaniel: s/conrats/congrats/ 2017-05-05T15:15:14Z ttt72 quit (Quit: ttt72) 2017-05-05T15:15:49Z milanj quit (Quit: This computer has gone to sleep) 2017-05-05T15:17:47Z ttt72 joined #lisp 2017-05-05T15:18:08Z ogamita quit (Quit: Be seeing you!) 2017-05-05T15:18:14Z burtons joined #lisp 2017-05-05T15:20:12Z ttt72 quit (Client Quit) 2017-05-05T15:20:35Z ttt72 joined #lisp 2017-05-05T15:21:51Z eazar001 joined #lisp 2017-05-05T15:22:04Z beach is guessing some FFI-based toolkit on Windows. 2017-05-05T15:22:12Z Harag: I am working on my own low code frame work for cl (something to use to build an application quickly) and would like to be able add functionality (like plugins) during run time is there a lispy method/paradigm for doing this type of thing? 2017-05-05T15:22:41Z beach: Harag: LOAD 2017-05-05T15:23:58Z Harag: :beach so you would make each plugin its own package or load individual files into the main system package? 2017-05-05T15:24:14Z hiro1 left #lisp 2017-05-05T15:25:01Z beach: I would definitely use a different package. And I would document which application package to find functions and classes in, and what you could do with those. 2017-05-05T15:25:16Z jackdaniel: Harag: there is no widely adapted technique. I've seen various ad-hoc solutions though 2017-05-05T15:25:20Z p_l: Harag: don't think it makes sense to share system package, except maybe for some sort of APPLICATION-USER package for quick customizations 2017-05-05T15:26:10Z BitPuffin|osx quit (Ping timeout: 240 seconds) 2017-05-05T15:27:57Z Harag: what about implementing a "scripting" language for the plugins instead, that way you can at least try to sandbox what plugins do... pros? cons? 2017-05-05T15:28:03Z p_l: ... lisp.org is dead? 2017-05-05T15:28:28Z jackdaniel: "unable to connect" here 2017-05-05T15:28:30Z p_l: Harag: sandboxing can be tricky, but doable - especially if you use beach's SICL libraries, I think 2017-05-05T15:28:35Z p_l: jackdaniel: the server doesn't respond 2017-05-05T15:28:48Z beach: Harag: Big disadvantage: You need to design and implement such a language. 2017-05-05T15:29:25Z beach: Harag: To get real sandboxing, you need to implement an interpreter or a compiler for your scripting langauge. 2017-05-05T15:30:08Z beach: ... or use SICL, but then you have to wait for some time still. 2017-05-05T15:30:46Z Harag: it would be lisp just limiting the functions/methods that would be called 2017-05-05T15:31:21Z beach: It is still tricky. 2017-05-05T15:31:28Z ttt72 quit (Quit: ttt72) 2017-05-05T15:34:13Z Karl_Dscc joined #lisp 2017-05-05T15:34:13Z beach: Actually, I already do something like that in SICL (but I don't recommend you try it). I compile Common Lisp to AST and then to HIR relative to a first-class global environment. Then I translate the HIR to host Common Lisp and execute it, still relative to that first-class global environment. It is perfect sandboxing as long as the environment only contains what is desired. 2017-05-05T15:34:57Z rumbler31 quit (Ping timeout: 240 seconds) 2017-05-05T15:35:02Z ARM9 joined #lisp 2017-05-05T15:37:06Z onehrxn_ joined #lisp 2017-05-05T15:37:44Z Harag: beach: what I have done so far is just a basic sexp parser that calls a method to parse a function and those method's can be over ridden to create a new or enhanced "dialect" 2017-05-05T15:38:29Z beach: So you are not even using READ to parse? 2017-05-05T15:39:18Z jackdaniel: wise choice, using READ for sandbox pet language wouldn't be a wise choice 2017-05-05T15:39:41Z beach: Why is that? 2017-05-05T15:39:44Z onehrxn quit (Ping timeout: 246 seconds) 2017-05-05T15:40:10Z Harag: nope, mucking about with read is something I have not attempted before 2017-05-05T15:40:12Z l04m33 quit (Ping timeout: 260 seconds) 2017-05-05T15:41:03Z jackdaniel: putting aside security issues (eval, malicious intern), read mechanism is an overkill and wrong tool for a job (in my opinion) to parse language which isn't CL 2017-05-05T15:41:21Z jackdaniel: I'd go with esrap probably 2017-05-05T15:44:12Z ZabaQ quit (Remote host closed the connection) 2017-05-05T15:46:00Z p_l: jackdaniel: you mean, use more complex parser? 2017-05-05T15:46:04Z beach: It sounds a bit strange to me to assume that a plug-in loaded by the user might be malicious. But what do I know. 2017-05-05T15:46:04Z vaporatorius quit (Read error: No route to host) 2017-05-05T15:46:25Z jackdaniel: beach: that's why I did "put it aside" 2017-05-05T15:46:43Z vaporatorius joined #lisp 2017-05-05T15:47:05Z jackdaniel: p_l: I mean – build parser which is tailored to your syntax 2017-05-05T15:47:12Z vap1 joined #lisp 2017-05-05T15:47:26Z jackdaniel: but of course this is a mere opinion 2017-05-05T15:48:23Z Harag: ok thank you for your input guys 2017-05-05T15:48:29Z BitPuffin|osx joined #lisp 2017-05-05T15:49:58Z alex_e joined #lisp 2017-05-05T15:50:14Z jackdaniel: for instance (read-from-string "a:b:c") ; I don't know how this could be read using read, though it may be valid syntax for "pet language" 2017-05-05T15:50:35Z knobo joined #lisp 2017-05-05T15:55:11Z vaporatorius quit (Quit: Leaving) 2017-05-05T15:57:13Z onehrxn joined #lisp 2017-05-05T15:59:29Z deank quit 2017-05-05T16:00:21Z onehrxn_ quit (Ping timeout: 240 seconds) 2017-05-05T16:00:23Z Bike joined #lisp 2017-05-05T16:01:07Z varjagg joined #lisp 2017-05-05T16:06:16Z Grue``: i have at least one language where that *is* a valid syntax. I parse it by splitting strings by ":" 2017-05-05T16:06:22Z l04m33 joined #lisp 2017-05-05T16:06:40Z MoALTz joined #lisp 2017-05-05T16:18:33Z rumbler31 joined #lisp 2017-05-05T16:21:16Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-05-05T16:25:50Z Einwq joined #lisp 2017-05-05T16:26:04Z gigamonkey joined #lisp 2017-05-05T16:26:28Z orivej quit (Ping timeout: 240 seconds) 2017-05-05T16:28:35Z BitPuffin|osx quit (Ping timeout: 240 seconds) 2017-05-05T16:28:50Z edgar-rft joined #lisp 2017-05-05T16:29:44Z EvW1 quit (Ping timeout: 260 seconds) 2017-05-05T16:33:28Z defaultxr joined #lisp 2017-05-05T16:35:28Z antoszka: > beach is guessing some FFI-based toolkit on Windows 2017-05-05T16:35:37Z antoszka: I don't think phoe does any Window stuff. 2017-05-05T16:35:45Z antoszka: phoe: Mind sharing the details ↑? 2017-05-05T16:38:22Z wildlander joined #lisp 2017-05-05T16:41:32Z papachan joined #lisp 2017-05-05T16:41:44Z haxmeister joined #lisp 2017-05-05T16:41:52Z haxmeister left #lisp 2017-05-05T16:42:17Z pjb joined #lisp 2017-05-05T16:48:46Z bungoman joined #lisp 2017-05-05T16:49:08Z xaotuk joined #lisp 2017-05-05T16:49:46Z scymtym joined #lisp 2017-05-05T16:49:57Z hhdave quit (Quit: hhdave) 2017-05-05T16:50:11Z ttt72 joined #lisp 2017-05-05T16:51:02Z hhdave joined #lisp 2017-05-05T16:51:03Z hhdave quit (Client Quit) 2017-05-05T16:51:22Z o1e9 quit (Quit: Ex-Chat) 2017-05-05T16:58:47Z bigos_ joined #lisp 2017-05-05T16:59:37Z milanj joined #lisp 2017-05-05T17:04:53Z defaultxr quit (Ping timeout: 240 seconds) 2017-05-05T17:09:19Z BlueRavenGT joined #lisp 2017-05-05T17:15:08Z NeverDie joined #lisp 2017-05-05T17:19:44Z ttt72 quit (Quit: ttt72) 2017-05-05T17:20:13Z ttt72 joined #lisp 2017-05-05T17:20:31Z yrk joined #lisp 2017-05-05T17:21:19Z Ukari: I defun a function dot, and use (setf (dot xx) nil), but it tells me: undefined function (SETF DOT) 2017-05-05T17:21:49Z Bike: yeah, setf can't just figure out how to set arbitrary things without you telling it. 2017-05-05T17:21:55Z Ukari: is it because setf is a macro so it only accepts origin string like (car xx)? 2017-05-05T17:22:13Z Bike: clhs 5.1 2017-05-05T17:22:17Z specbot: Generalized Reference: http://www.lispworks.com/reference/HyperSpec/Body/05_a.htm 2017-05-05T17:22:22Z m00natic quit (Remote host closed the connection) 2017-05-05T17:22:24Z Bike: explains how to customize setf so that it works 2017-05-05T17:22:39Z Bike: but the simple thing might just be (defun (setf dot) (new-value arg) ...) 2017-05-05T17:24:47Z szmer joined #lisp 2017-05-05T17:24:47Z Mon_Ouie joined #lisp 2017-05-05T17:26:50Z antoszka: there's also define-setf-expander and defsetf, but (defun (setf …) …) will probably work for you 2017-05-05T17:28:24Z Grue``: it really depends on what Ukari wanted in the first place. maybe (dot xx) returns a symbol and (setf (dot xx) nil) was supposed to set that symbol's value to nil 2017-05-05T17:29:08Z foom quit (Quit: Leaving) 2017-05-05T17:30:58Z xaotuk quit (Ping timeout: 264 seconds) 2017-05-05T17:31:14Z ebrasca quit (Remote host closed the connection) 2017-05-05T17:31:23Z discardedes joined #lisp 2017-05-05T17:34:36Z flip214: nyef: thanks, but what does that tell me? other that inspecting functions via swank is broken currently... 2017-05-05T17:36:28Z prole joined #lisp 2017-05-05T17:36:33Z ttt72 quit (Quit: ttt72) 2017-05-05T17:36:56Z ttt72 joined #lisp 2017-05-05T17:39:14Z Ukari: I use a lambda to wrap setf instead expand it 2017-05-05T17:39:40Z Ukari: because i think it scope is easy to understand, i mean function scope 2017-05-05T17:39:48Z Ukari: like this, ((lambda (place) (setf place nil)) (dot :status dummy)) 2017-05-05T17:41:56Z jasom: Harag: the most comming thing I've seen for plugins is to just use a different system for each plugin, and have both the system-name and the package-name be the same. 2017-05-05T17:42:39Z jasom: Harag: then you can access the entry-point(s) into the system with (funcall (intern symbol-name package-name)) 2017-05-05T17:42:49Z phoe: beach: jackdaniel: antoszka: thanks! I will share in a moment, I just got home 2017-05-05T17:43:16Z phoe: beach: jackdaniel: antoszka: actually it's Windows-centric and built in CommonQt/Qtools. 2017-05-05T17:43:57Z jasom: jackdaniel: I have a reader-macro for which a:b:c is valid syntax 2017-05-05T17:45:31Z shrdlu68 joined #lisp 2017-05-05T17:46:00Z phoe: jackdaniel: antoszka: https://github.com/phoe/furcadia-launcher - an alpha testing version of a launcher for Furcadia, which in turn is the oldest running online graphical chat/social game. 2017-05-05T17:47:01Z ttt72 quit (Quit: ttt72) 2017-05-05T17:47:24Z ttt72 joined #lisp 2017-05-05T17:48:20Z pilne joined #lisp 2017-05-05T17:51:01Z orivej joined #lisp 2017-05-05T17:55:16Z sellout- joined #lisp 2017-05-05T17:57:57Z ttt72 quit (Quit: ttt72) 2017-05-05T17:58:20Z ttt72 joined #lisp 2017-05-05T17:58:25Z Grue`` quit (Ping timeout: 255 seconds) 2017-05-05T17:58:35Z velo-alien quit (Ping timeout: 240 seconds) 2017-05-05T17:58:47Z frodef`` quit (Read error: Connection reset by peer) 2017-05-05T17:59:03Z emacsoma` quit (Remote host closed the connection) 2017-05-05T18:01:55Z SAL9000: Is it possible to somehow add extra information to SBCL stack traces? I have a monad-like program involving a ton of LAMBDAs, making the stack-trace nigh-useless; however, since those lambdas are usually generated by functions, I thought I could write those functions as macros instead, which would record the forms used to build the nested LAMBDAs, thus providing some level of application-relevant debugging 2017-05-05T18:01:56Z SAL9000: information 2017-05-05T18:02:31Z phoe: SAL9000: named-lambda? 2017-05-05T18:02:47Z ttt72 quit (Ping timeout: 258 seconds) 2017-05-05T18:02:52Z gigamonkey quit (Ping timeout: 246 seconds) 2017-05-05T18:03:09Z phoe: you want an anonymous function that has a name of sorts, correct? and you want this name to show in stacktraces? 2017-05-05T18:03:15Z sz0 quit (Quit: Connection closed for inactivity) 2017-05-05T18:04:10Z SAL9000: I have normal functions which return higher-order function lambdas; ideally, I want to attach the unevaluated form of the arguments to the returned lambdas, somehow. 2017-05-05T18:04:19Z SAL9000: names would help a bit, but not much 2017-05-05T18:04:44Z SAL9000: a bit of context -- this is a SMUG parser which is going into stack overflow when given a relatively small file 2017-05-05T18:04:51Z neoncontrails joined #lisp 2017-05-05T18:05:43Z fourier joined #lisp 2017-05-05T18:09:09Z SAL9000: phoe: ^ 2017-05-05T18:09:16Z khguirt joined #lisp 2017-05-05T18:11:40Z phoe: SAL9000: unevaluated, correct? 2017-05-05T18:11:43Z phoe: hm 2017-05-05T18:11:53Z seg_ joined #lisp 2017-05-05T18:11:56Z phoe: you need macros to get the unevaluated forms. 2017-05-05T18:12:33Z phoe: you can make a macro which grabs its &whole and stores it in an unused/ignored argument to the lambda. 2017-05-05T18:12:37Z seg quit (Ping timeout: 268 seconds) 2017-05-05T18:12:44Z jsgrant_om joined #lisp 2017-05-05T18:13:08Z phoe: so #1=(lambda (foo bar) ...) is turned into (lambda (args foo bar) (declare (ignore foo)) ...) where args is bound to #1# 2017-05-05T18:13:29Z SAL9000: that works. I thought about a macro which inserts a RESTART-CASE into the lambda chain, adding &whole into a bogus restart 2017-05-05T18:14:26Z phoe: huh, or that, sure 2017-05-05T18:14:35Z phoe: this way it won't show up in the stack but in the restarts 2017-05-05T18:14:42Z phoe: ...which is a nice trick 2017-05-05T18:15:38Z yrdz joined #lisp 2017-05-05T18:22:41Z dddddd joined #lisp 2017-05-05T18:27:16Z Bock quit (Read error: Connection reset by peer) 2017-05-05T18:30:02Z p9s joined #lisp 2017-05-05T18:33:03Z deank joined #lisp 2017-05-05T18:35:13Z p9s quit (Ping timeout: 260 seconds) 2017-05-05T18:37:18Z discardedes quit (Remote host closed the connection) 2017-05-05T18:37:53Z fourier quit (Ping timeout: 240 seconds) 2017-05-05T18:38:46Z shifty quit (Ping timeout: 264 seconds) 2017-05-05T18:41:46Z Einwq quit (Ping timeout: 264 seconds) 2017-05-05T18:44:54Z phoe: I need access to this function: https://msdn.microsoft.com/pl-pl/library/windows/desktop/ms633548%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396 2017-05-05T18:44:54Z SAL9000: phoe: it seems to be working, although I have to pre-build the restart name string, because calling FORMAT inside the restart causes SBCL to drop all the way to LDB =/ 2017-05-05T18:45:03Z phoe: From inside a lisp image. 2017-05-05T18:45:08Z phoe: SAL9000: you can do it inside the macro 2017-05-05T18:45:14Z shka_: phoe: this is C 2017-05-05T18:45:18Z shka_: use cffi 2017-05-05T18:45:46Z shka_: MS says that it is C++ 2017-05-05T18:45:56Z phoe: but ms ain't know shit 2017-05-05T18:46:07Z shka_: this is C 2017-05-05T18:46:15Z phoe: Also, the header file is .h and not .hpp, so I have some luck 2017-05-05T18:46:20Z phoe: shka_: thanks, I'll try 2017-05-05T18:46:25Z shka_: no problem 2017-05-05T18:46:46Z shka_: i was using windows api before 2017-05-05T18:46:55Z SAL9000: phoe: yeah, I did. Also, just confirmed that my naive implementation of left-associative operators is at fault 2017-05-05T18:47:14Z shka_: phoe: btw, i hope that you have control over life time of this window 2017-05-05T18:47:46Z shka_: because HWND may be invalidated 2017-05-05T18:47:54Z phoe: shka_: I have an issue where an application starts out hidden. 2017-05-05T18:47:55Z SAL9000: it ends up grabbing all tokens, then all-1 tokens, then all-2, etc. using a recursive function which it seems that SBCL can't TCO 2017-05-05T18:48:14Z shka_: phoe: right 2017-05-05T18:48:32Z phoe: So I need to somehow wait for the application to spawn its first window, and then show it. 2017-05-05T18:48:57Z phoe: It's ugly that I need to do this sort of stuff. 2017-05-05T18:49:27Z phoe: Either that, or I will need some sort of application-in-the-middle that is launched as a GUI application that will then launch the target EXE. 2017-05-05T18:49:38Z phoe: Which should make it spawn that freaking window. 2017-05-05T18:51:23Z phoe: Actually this is insane 2017-05-05T18:51:39Z phoe: if I run my launcher through double-clicking an EXE, the process it spawns shows a window 2017-05-05T18:51:54Z phoe: if I run the same launcher through CMD, the process it spawns DOES NOT SHOW a window. 2017-05-05T18:55:59Z fourier joined #lisp 2017-05-05T18:57:51Z warweasle quit (Quit: later) 2017-05-05T18:58:32Z szmer quit (Ping timeout: 260 seconds) 2017-05-05T19:02:31Z Einwq joined #lisp 2017-05-05T19:04:59Z andrzejku joined #lisp 2017-05-05T19:06:52Z jack_rabbit joined #lisp 2017-05-05T19:10:17Z szmer joined #lisp 2017-05-05T19:13:13Z jack_rabbit quit (Ping timeout: 246 seconds) 2017-05-05T19:16:03Z shka_ quit (Ping timeout: 260 seconds) 2017-05-05T19:22:20Z setheus quit (Ping timeout: 240 seconds) 2017-05-05T19:24:00Z setheus joined #lisp 2017-05-05T19:25:01Z jack_rabbit joined #lisp 2017-05-05T19:26:19Z jasom: phoe: what's the working-directory when running through cmd? 2017-05-05T19:27:38Z phoe: jasom: the directory where the target .exe resides. 2017-05-05T19:27:50Z phoe: The process spawns - I can see it in the task manager. It just does not open a window. 2017-05-05T19:28:45Z jasom: phoe: doesn't qt have a way of showing a window? 2017-05-05T19:29:30Z xaotuk joined #lisp 2017-05-05T19:29:34Z phoe: jasom: I do not control the target process. 2017-05-05T19:29:40Z jasom: oh 2017-05-05T19:29:50Z phoe: It's not the issue with the launcher I'm writing - it's the issue with the process that I spawn 2017-05-05T19:30:21Z jasom: how are you launching it? No control over the STARTUPINFO? 2017-05-05T19:30:48Z p9s joined #lisp 2017-05-05T19:31:12Z phoe: jasom: UIOP:LAUNCH-PROGRAM 2017-05-05T19:31:29Z phoe: and it seems that I'll need to go into the ugly ugly implementation details in order to hack around it 2017-05-05T19:31:52Z jasom: phoe: you could switch to directly using the windows CreateProcess() which lets you set this 2017-05-05T19:32:00Z phoe: since SBCL does not seem to have a programmatic way of controlling the bits of startupinfo that I want 2017-05-05T19:32:10Z phoe: jasom: either what you say, or I simply patch the SBCL function 2017-05-05T19:32:15Z phoe: which is hopefully possible 2017-05-05T19:32:56Z jasom: phoe: QProcess lets you specify startupInfo 2017-05-05T19:33:08Z okflo joined #lisp 2017-05-05T19:33:12Z jack_rabbit quit (Ping timeout: 245 seconds) 2017-05-05T19:33:12Z jasom: see QProcess::CreateProcessArgumentModifier 2017-05-05T19:33:37Z phoe: jasom: yes, except then I'll be launching it through Qt and not through Lisp. 2017-05-05T19:33:40Z phoe: I'll try patching SBCL first. 2017-05-05T19:35:40Z p9s quit (Ping timeout: 240 seconds) 2017-05-05T19:38:27Z raynold joined #lisp 2017-05-05T19:40:35Z knobo quit (Ping timeout: 240 seconds) 2017-05-05T19:41:26Z velo-alien joined #lisp 2017-05-05T19:43:01Z vlatkoB_ quit (Remote host closed the connection) 2017-05-05T19:43:34Z flip214: phoe: perhaps a better idea might be to use "wscript"? 2017-05-05T19:43:47Z flip214: instead of cmd.exe 2017-05-05T19:43:55Z jasom: phoe: what about using start? 2017-05-05T19:43:59Z flip214: although I guess that won't exist in wine 2017-05-05T19:45:12Z phoe: jasom: actually, start works 2017-05-05T19:45:21Z phoe: inside CMD 2017-05-05T19:45:32Z phoe: and I need to start CMD, which causes a CMD window to pop up for a split second which is annoying. 2017-05-05T19:45:45Z phoe: it's a workaround that I'll use if everything fails... but SBCL seems to have accepted my redefinition 2017-05-05T19:45:55Z flip214: phoe: or, instead of "cmd.exe /c ...", run "explorer.exe path-to.exe" ?? 2017-05-05T19:46:18Z jasom: start doesn't work from uiop:run-program? 2017-05-05T19:46:18Z phoe: wait 2017-05-05T19:46:25Z phoe: explorer does this thing? 2017-05-05T19:46:29Z phoe: you can explore an EXE file? 2017-05-05T19:46:33Z phoe: and it gets launched? 2017-05-05T19:46:33Z flip214: yeah 2017-05-05T19:46:45Z phoe: flip214: ...... 2017-05-05T19:46:57Z flip214: but I guess it won't take arguments, which might make it unsuitable for your usecase 2017-05-05T19:47:22Z flip214: and regarding the dos box, start /min should do a minimized window - although not for the cmd.exe window itself... 2017-05-05T19:48:18Z flip214: phoe: explorer.exe just runs the default action for its argument. 2017-05-05T19:48:24Z flip214: .DOCX starts winword, etc. 2017-05-05T19:48:44Z phoe: flip214: I see 2017-05-05T19:48:46Z flip214: like mailcap etc. 2017-05-05T19:49:18Z jasom: you could make a shortcut file with the arguments you want and call explorer on that 2017-05-05T19:49:43Z xaotuk quit (Quit: xaotuk) 2017-05-05T19:49:47Z flip214: a batch file might be good enough too 2017-05-05T19:50:10Z jasom: running a batch file will also briefly open a console, so it's not better than cmd /c 2017-05-05T19:50:57Z flip214: jasom: it depends on the flags the calling program was started with... 2017-05-05T19:52:29Z flip214: phoe: next idea... https://technet.microsoft.com/en-gb/library/dd315276.aspx powershell 2017-05-05T19:52:35Z flip214: and call http://stackoverflow.com/questions/16686122/calling-createprocess-from-powershell createprocess yourself... 2017-05-05T19:52:39Z rpg joined #lisp 2017-05-05T19:52:53Z flip214: phoe: https://www.pluralsight.com/blog/it-ops/external-processes-in-powershell 2017-05-05T19:55:23Z p9s joined #lisp 2017-05-05T19:55:23Z szmer quit (Read error: Connection reset by peer) 2017-05-05T19:55:49Z p9s quit (Remote host closed the connection) 2017-05-05T19:56:00Z p9s joined #lisp 2017-05-05T19:56:31Z p9s quit (Remote host closed the connection) 2017-05-05T19:56:48Z p9s joined #lisp 2017-05-05T19:57:20Z p9s quit (Remote host closed the connection) 2017-05-05T19:57:38Z p9s joined #lisp 2017-05-05T19:58:08Z p9s quit (Remote host closed the connection) 2017-05-05T19:58:24Z p9s joined #lisp 2017-05-05T19:58:53Z gigamonkey joined #lisp 2017-05-05T19:58:56Z Karl_Dscc quit (Remote host closed the connection) 2017-05-05T19:58:56Z p9s quit (Remote host closed the connection) 2017-05-05T19:59:14Z p9s joined #lisp 2017-05-05T19:59:18Z phoe: http://paste.lisp.org/display/345891/raw 2017-05-05T19:59:23Z phoe: jasom: flip214: I am modifying https://github.com/sbcl/sbcl/blob/622c9daf9bb41ef9ad4b8a063c62c4baf59a1c1a/src/code/warm-mswin.lisp#L70 2017-05-05T19:59:43Z okflo quit (Remote host closed the connection) 2017-05-05T19:59:43Z phoe: Basically I turn show-window flag to 5, as per https://msdn.microsoft.com/en-us/library/windows/desktop/ms633548.aspx 2017-05-05T19:59:54Z phoe: and setting the flags to 0x1, as per https://msdn.microsoft.com/en-us/library/windows/desktop/ms686331.aspx 2017-05-05T19:59:54Z p9s quit (Read error: Connection reset by peer) 2017-05-05T20:00:37Z phoe: Or wait, should I be setting show-window to 1 2017-05-05T20:01:32Z velo-alien quit (Ping timeout: 260 seconds) 2017-05-05T20:02:59Z paule32 quit (Ping timeout: 255 seconds) 2017-05-05T20:04:43Z paule32 joined #lisp 2017-05-05T20:12:06Z rogersm quit (Read error: Connection reset by peer) 2017-05-05T20:13:02Z rogersm joined #lisp 2017-05-05T20:15:24Z TDT quit (Quit: TDT) 2017-05-05T20:16:37Z phoe: uh 2017-05-05T20:17:16Z phoe: I am thinking of writing some tiny C program that launches whatever is passed to it in its argv but it would be both terrible and tedious for me 2017-05-05T20:19:45Z NeverDie quit (Quit: http://radiux.io/) 2017-05-05T20:23:27Z wedesoft joined #lisp 2017-05-05T20:26:57Z flip214: phoe: try powershell, that should be included in all windows since vista or so 2017-05-05T20:27:08Z aeth_ joined #lisp 2017-05-05T20:27:09Z aeth quit (Ping timeout: 260 seconds) 2017-05-05T20:27:19Z flip214: you can pass the single line on the command line, or via stdin. both examples in the link above. 2017-05-05T20:27:22Z MrWoohoo quit (Ping timeout: 255 seconds) 2017-05-05T20:28:16Z khguirt quit (Quit: Page closed) 2017-05-05T20:29:25Z oleo quit (Quit: irc client terminated!) 2017-05-05T20:31:31Z gigamonkey quit (Ping timeout: 258 seconds) 2017-05-05T20:33:19Z nirved quit (Quit: Leaving) 2017-05-05T20:36:13Z paule32: hello 2017-05-05T20:36:15Z paule32: http://codepad.org/FVz9GJGV 2017-05-05T20:37:13Z paule32: how can i say "JENS" has more than one entry "PETER has one entrx word "WER IST" 2017-05-05T20:37:15Z paule32: then 2017-05-05T20:37:29Z paule32: if word "WER IST JENS" 2017-05-05T20:38:15Z paule32: the output should be: "please specified jens by surname" 2017-05-05T20:40:14Z gingerale quit (Remote host closed the connection) 2017-05-05T20:41:33Z oleo joined #lisp 2017-05-05T20:42:15Z alejandrozf joined #lisp 2017-05-05T20:43:12Z knobo joined #lisp 2017-05-05T20:45:03Z sellout- quit (Quit: Leaving.) 2017-05-05T20:47:38Z pirateking-_- joined #lisp 2017-05-05T20:47:38Z neoncontrails quit (Remote host closed the connection) 2017-05-05T20:48:32Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-05-05T20:48:44Z neoncontrails joined #lisp 2017-05-05T20:49:52Z jsgrant_om quit (Ping timeout: 268 seconds) 2017-05-05T20:52:35Z oleo quit (Quit: irc client terminated!) 2017-05-05T20:57:43Z quazimodo joined #lisp 2017-05-05T20:58:41Z defaultxr joined #lisp 2017-05-05T21:03:02Z andrzejku quit (Quit: Textual IRC Client: www.textualapp.com) 2017-05-05T21:03:27Z rpg quit (Ping timeout: 240 seconds) 2017-05-05T21:04:13Z Seanzheng joined #lisp 2017-05-05T21:05:07Z oleo joined #lisp 2017-05-05T21:05:49Z TeMPOraL: phoe: you can always try (ab)using rundll32 ;) 2017-05-05T21:06:20Z phoe: TeMPOraL: ugh, how 2017-05-05T21:06:53Z mulk quit (Ping timeout: 255 seconds) 2017-05-05T21:08:17Z paule32: hello phoe 2017-05-05T21:08:22Z phoe: hey paule32 2017-05-05T21:08:26Z TeMPOraL: phoe: ah, nevermind, you probably won't be able to call Kernel / CreateProcessA from it anyway 2017-05-05T21:08:29Z TeMPOraL: just checked the docs 2017-05-05T21:08:34Z phoe: I sadly have no time to help you 2017-05-05T21:08:54Z paule32: me? 2017-05-05T21:09:09Z phoe: paule32: yes 2017-05-05T21:09:13Z paule32: oh 2017-05-05T21:09:29Z neoncontrails quit (Remote host closed the connection) 2017-05-05T21:10:27Z alejandrozf quit (Quit: Page closed) 2017-05-05T21:11:18Z paule32: oleo: you? 2017-05-05T21:11:31Z oleo: ? 2017-05-05T21:11:35Z oleo: what about me ? 2017-05-05T21:11:37Z paule32: http://codepad.org/FVz9GJGV 2017-05-05T21:11:42Z paule32: can you help 2017-05-05T21:14:00Z pirateking-_- quit (Quit: pirateking-_-) 2017-05-05T21:15:02Z oleo: what about it ? 2017-05-05T21:15:07Z oleo: clhs member and see 2017-05-05T21:15:51Z Trenif joined #lisp 2017-05-05T21:20:10Z Einwq quit (Ping timeout: 264 seconds) 2017-05-05T21:23:55Z enzuru joined #lisp 2017-05-05T21:26:14Z oleo: aww man i installed updates and got a new kernel again....baa i have to restart again.... 2017-05-05T21:29:07Z eazar001 quit (Quit: WeeChat 1.5) 2017-05-05T21:29:12Z oleo quit (Quit: irc client terminated!) 2017-05-05T21:36:16Z wheelsucker quit (Quit: Client Quit) 2017-05-05T21:36:35Z Seanzheng quit (Remote host closed the connection) 2017-05-05T21:38:06Z mulk joined #lisp 2017-05-05T21:38:35Z knobo quit (Ping timeout: 268 seconds) 2017-05-05T21:38:47Z oleo joined #lisp 2017-05-05T21:38:53Z pve quit (Ping timeout: 240 seconds) 2017-05-05T21:41:18Z Trenif quit (Quit: Leaving) 2017-05-05T21:45:51Z impulse joined #lisp 2017-05-05T21:48:37Z rumbler31 quit (Ping timeout: 246 seconds) 2017-05-05T21:50:26Z grumble quit (Quit: Failure configuring Windows updates. Reverting changes. Do not turn off your computer.) 2017-05-05T21:50:40Z Marumarsu joined #lisp 2017-05-05T21:51:36Z grumble joined #lisp 2017-05-05T21:55:35Z shrdlu68 quit (Ping timeout: 240 seconds) 2017-05-05T22:00:34Z strykerkkd joined #lisp 2017-05-05T22:01:20Z wedesoft quit (Remote host closed the connection) 2017-05-05T22:05:09Z angavrilov quit (Remote host closed the connection) 2017-05-05T22:05:10Z ARM9 quit (Ping timeout: 240 seconds) 2017-05-05T22:07:06Z oleo quit (Quit: irc client terminated!) 2017-05-05T22:10:31Z attila_lendvai joined #lisp 2017-05-05T22:10:31Z attila_lendvai quit (Changing host) 2017-05-05T22:10:31Z attila_lendvai joined #lisp 2017-05-05T22:12:23Z velo-alien joined #lisp 2017-05-05T22:13:13Z rpg joined #lisp 2017-05-05T22:26:18Z papachan quit (Quit: Saliendo) 2017-05-05T22:27:45Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-05-05T22:28:43Z rpg_ joined #lisp 2017-05-05T22:29:41Z dpg joined #lisp 2017-05-05T22:31:35Z rpg quit (Ping timeout: 240 seconds) 2017-05-05T22:33:04Z oleo joined #lisp 2017-05-05T22:34:08Z rpg_ quit (Ping timeout: 260 seconds) 2017-05-05T22:36:48Z safe joined #lisp 2017-05-05T22:41:07Z burtons quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-05-05T22:43:52Z CEnnis91 quit (Quit: Connection closed for inactivity) 2017-05-05T22:44:05Z warweasle joined #lisp 2017-05-05T22:47:15Z prole quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2017-05-05T22:57:40Z velo-alien quit (Ping timeout: 240 seconds) 2017-05-05T22:58:33Z rumbler31 joined #lisp 2017-05-05T23:00:08Z shrdlu68 joined #lisp 2017-05-05T23:01:30Z rpg joined #lisp 2017-05-05T23:05:23Z shrdlu68 quit (Ping timeout: 240 seconds) 2017-05-05T23:07:04Z NeverDie joined #lisp 2017-05-05T23:11:18Z MinnowTaur quit (Remote host closed the connection) 2017-05-05T23:12:19Z ARM9 joined #lisp 2017-05-05T23:15:40Z varjagg quit (Ping timeout: 240 seconds) 2017-05-05T23:15:52Z warweasle quit (Quit: rcirc on GNU Emacs 24.5.1) 2017-05-05T23:16:45Z strykerkkd quit (Quit: Leaving) 2017-05-05T23:18:45Z rumbler31 quit (Remote host closed the connection) 2017-05-05T23:19:24Z oleo quit (Ping timeout: 260 seconds) 2017-05-05T23:21:15Z rumbler31 joined #lisp 2017-05-05T23:25:29Z rumbler31 quit (Ping timeout: 255 seconds) 2017-05-05T23:27:29Z sellout- joined #lisp 2017-05-05T23:29:09Z oleo joined #lisp 2017-05-05T23:30:24Z NeverDie quit (Quit: http://radiux.io/) 2017-05-05T23:35:49Z ealfonso joined #lisp 2017-05-05T23:36:22Z fourier quit (Ping timeout: 264 seconds) 2017-05-05T23:36:57Z NeverDie joined #lisp 2017-05-05T23:39:22Z rumbler31 joined #lisp 2017-05-05T23:40:21Z ealfonso: usocket docs https://common-lisp.net/project/usocket/api-docs.shtml#usocket says I can find out whether a socket read will block using (listen (usocket:socket-stream your-socket)). in my case, (listen ...) return T, yet (read-line stream nil nil) still blocks 2017-05-05T23:40:41Z rpg quit (Read error: Connection reset by peer) 2017-05-05T23:41:00Z ealfonso: is there a timeout version of read-line? 2017-05-05T23:42:31Z rpg joined #lisp 2017-05-05T23:43:54Z rpg quit (Client Quit) 2017-05-05T23:44:08Z rumbler31 quit (Ping timeout: 260 seconds) 2017-05-05T23:51:56Z velo-alien joined #lisp 2017-05-05T23:52:14Z rogersm quit (Read error: Connection reset by peer) 2017-05-05T23:53:09Z rogersm joined #lisp 2017-05-05T23:56:01Z jsgrant_om joined #lisp 2017-05-05T23:56:57Z mishoo quit (Ping timeout: 240 seconds) 2017-05-05T23:57:42Z parsnip joined #lisp 2017-05-05T23:58:38Z parsnip: i'd like to motivate some lisp learning by doing what some scripting that i would other wise use bash or python for.