2016-08-19T00:02:34Z IPmonger joined #lisp 2016-08-19T00:03:46Z sjl quit (Read error: Connection reset by peer) 2016-08-19T00:07:09Z IPmonger quit (Ping timeout: 250 seconds) 2016-08-19T00:10:00Z wccoder quit (Remote host closed the connection) 2016-08-19T00:17:01Z grimsley quit (Quit: Leaving) 2016-08-19T00:23:55Z IPmonger joined #lisp 2016-08-19T00:30:40Z IPmonger quit (Ping timeout: 250 seconds) 2016-08-19T00:31:07Z z3r0_ quit (Quit: Leaving) 2016-08-19T00:35:12Z prole quit (Remote host closed the connection) 2016-08-19T00:38:43Z arescorpio joined #lisp 2016-08-19T00:40:27Z oleo quit (Read error: Connection reset by peer) 2016-08-19T00:40:34Z oleo_ joined #lisp 2016-08-19T00:40:48Z Bike joined #lisp 2016-08-19T00:42:18Z zelcon5 quit (Quit: Leaving) 2016-08-19T00:48:36Z nicdev: is someone here good with optima or other pattern matching libraries to help me rewrite this using them? http://paste.lisp.org/display/323511#1 2016-08-19T00:48:41Z [1]ringer1 joined #lisp 2016-08-19T00:49:06Z cibs quit (Ping timeout: 240 seconds) 2016-08-19T00:49:25Z nicdev: the data is CL-JSON output and is a mix of proper lists and cons 2016-08-19T00:50:03Z ringer1 quit (Ping timeout: 250 seconds) 2016-08-19T00:50:04Z [1]ringer1 is now known as ringer1 2016-08-19T00:51:05Z cibs joined #lisp 2016-08-19T00:54:02Z slyrus quit (Ping timeout: 244 seconds) 2016-08-19T00:55:45Z mastokley joined #lisp 2016-08-19T00:59:33Z Karl_Dscc joined #lisp 2016-08-19T01:04:07Z Xach can't help sorry 2016-08-19T01:05:06Z shrdlu68 joined #lisp 2016-08-19T01:05:37Z shrdlu68: Hi, anyone know how to work with JSON in postmodern? 2016-08-19T01:06:21Z mastokley quit (Read error: Connection reset by peer) 2016-08-19T01:06:33Z shrdlu68: Specifically, how does one use placeholders in such query strings? 2016-08-19T01:06:55Z mastokley joined #lisp 2016-08-19T01:06:56Z mastokley quit (Max SendQ exceeded) 2016-08-19T01:07:28Z mastokley joined #lisp 2016-08-19T01:07:31Z cromachina: nicdev: http://paste.lisp.org/display/323609 2016-08-19T01:08:03Z EvW quit (Ping timeout: 276 seconds) 2016-08-19T01:09:11Z leo_song: Is proper list a legacy feature? 2016-08-19T01:10:13Z Bike: of lisp? what? 2016-08-19T01:10:33Z wccoder joined #lisp 2016-08-19T01:15:12Z wccoder quit (Ping timeout: 276 seconds) 2016-08-19T01:18:29Z DGASAU quit (Read error: Connection reset by peer) 2016-08-19T01:18:55Z DGASAU joined #lisp 2016-08-19T01:19:28Z nicdev: cromachina: thank you, i didn't know you could match nest the matching but it makes sense! i was stumped trying to figure out how to walk the result list still get the information I wanted. I will give this approach a shot 2016-08-19T01:20:03Z nicdev: s/match nest the matching/nest the matching 2016-08-19T01:20:49Z shdeng joined #lisp 2016-08-19T01:21:13Z DGASAU quit (Read error: Connection reset by peer) 2016-08-19T01:21:59Z cromachina: lots of macros can be nested, although some do not play nice with others 2016-08-19T01:22:08Z cromachina: cl-who and iterate for example 2016-08-19T01:22:18Z DGASAU joined #lisp 2016-08-19T01:24:16Z eSVG joined #lisp 2016-08-19T01:24:29Z ahungry quit (Remote host closed the connection) 2016-08-19T01:26:19Z nicdev: cromachina: i will remember that, especially cl-who 2016-08-19T01:28:12Z asc232 quit (Remote host closed the connection) 2016-08-19T01:35:34Z Karl_Dscc quit (Remote host closed the connection) 2016-08-19T01:35:39Z Anselmo quit (Quit: WeeChat 1.5) 2016-08-19T01:39:00Z ahungry joined #lisp 2016-08-19T01:44:46Z cibs quit (Ping timeout: 240 seconds) 2016-08-19T01:46:05Z afterdinner joined #lisp 2016-08-19T01:46:47Z cibs joined #lisp 2016-08-19T01:48:23Z IPmonger joined #lisp 2016-08-19T01:52:53Z IPmonger quit (Ping timeout: 250 seconds) 2016-08-19T01:53:16Z IPmonger joined #lisp 2016-08-19T01:55:21Z discardedes quit (Remote host closed the connection) 2016-08-19T01:56:19Z zeitue quit (Read error: Connection reset by peer) 2016-08-19T01:58:42Z smokeink joined #lisp 2016-08-19T02:00:13Z vaitel_ joined #lisp 2016-08-19T02:00:41Z scottj joined #lisp 2016-08-19T02:03:15Z vaitel quit (Ping timeout: 244 seconds) 2016-08-19T02:04:02Z ahungry quit (Remote host closed the connection) 2016-08-19T02:06:19Z asc232 joined #lisp 2016-08-19T02:07:07Z nselmo joined #lisp 2016-08-19T02:07:07Z nselmo is now known as Anselmo 2016-08-19T02:07:08Z fkac joined #lisp 2016-08-19T02:08:29Z milanj quit (Quit: This computer has gone to sleep) 2016-08-19T02:08:41Z svgDelux joined #lisp 2016-08-19T02:10:39Z IPmonger quit (Ping timeout: 250 seconds) 2016-08-19T02:11:31Z eSVG quit (Ping timeout: 250 seconds) 2016-08-19T02:17:03Z shrdlu68 quit (Ping timeout: 240 seconds) 2016-08-19T02:28:25Z svgDelux quit (Ping timeout: 250 seconds) 2016-08-19T02:29:05Z eSVG joined #lisp 2016-08-19T02:41:28Z ahungry joined #lisp 2016-08-19T02:42:48Z IPmonger joined #lisp 2016-08-19T02:45:24Z vaitel__ joined #lisp 2016-08-19T02:47:16Z IPmonger quit (Ping timeout: 258 seconds) 2016-08-19T02:48:03Z vaitel_ quit (Ping timeout: 240 seconds) 2016-08-19T02:49:44Z zacharias_ joined #lisp 2016-08-19T02:50:47Z wccoder joined #lisp 2016-08-19T02:51:50Z asc232 quit (Remote host closed the connection) 2016-08-19T02:53:21Z zacharias quit (Ping timeout: 276 seconds) 2016-08-19T02:53:37Z asc232 joined #lisp 2016-08-19T02:54:27Z Bike quit (Ping timeout: 264 seconds) 2016-08-19T02:54:48Z kn-928 quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2016-08-19T02:55:16Z wccoder quit (Ping timeout: 258 seconds) 2016-08-19T02:56:56Z vaitel__ quit (Quit: Leaving) 2016-08-19T02:56:58Z ramky joined #lisp 2016-08-19T02:59:05Z fiddlerwoaroof prefers https://github.com/ruricolist/spinneret to cl-who 2016-08-19T02:59:36Z IPmonger joined #lisp 2016-08-19T03:00:36Z nikki93__ quit (Remote host closed the connection) 2016-08-19T03:01:14Z nikki93 joined #lisp 2016-08-19T03:03:57Z kn-928 joined #lisp 2016-08-19T03:04:08Z IPmonger quit (Ping timeout: 258 seconds) 2016-08-19T03:05:37Z nikki93 quit (Ping timeout: 258 seconds) 2016-08-19T03:05:47Z IPmonger joined #lisp 2016-08-19T03:05:54Z Bike joined #lisp 2016-08-19T03:06:09Z kn-928 quit (Client Quit) 2016-08-19T03:06:19Z ahungry quit (Remote host closed the connection) 2016-08-19T03:06:24Z kn-928 joined #lisp 2016-08-19T03:10:06Z ramky quit (Ping timeout: 265 seconds) 2016-08-19T03:10:14Z kn-928 quit (Client Quit) 2016-08-19T03:14:11Z ahungry joined #lisp 2016-08-19T03:18:50Z BlueRavenGT joined #lisp 2016-08-19T03:20:59Z d4ryus quit (Ping timeout: 260 seconds) 2016-08-19T03:22:09Z ramky joined #lisp 2016-08-19T03:22:22Z zacharias joined #lisp 2016-08-19T03:22:50Z zacharias_ quit (Ping timeout: 244 seconds) 2016-08-19T03:23:23Z d4ryus joined #lisp 2016-08-19T03:30:11Z klltkr quit (Quit: Textual IRC Client: www.textualapp.com) 2016-08-19T03:30:19Z froggey quit (Ping timeout: 260 seconds) 2016-08-19T03:32:05Z froggey joined #lisp 2016-08-19T03:32:59Z eSVG quit (Ping timeout: 250 seconds) 2016-08-19T03:37:08Z mastokley quit (Ping timeout: 244 seconds) 2016-08-19T03:50:41Z Baggers joined #lisp 2016-08-19T03:54:40Z loke__ prefers my own template language. It's awesome. 2016-08-19T03:54:42Z Baggers: Hi folks, I got interested in the issues around codewalking in CL again and I'm confused on one detail. I understand that things like macroexpand-dammit have bugs but it also seems that most implementation have some kind of macroexpand-all equivalent. Could one use these and expect more reliable results than from the previous (purportedly portable) codewalker library attempts? 2016-08-19T03:55:03Z loke__: Baggers: yes 2016-08-19T03:55:31Z fluter quit (Ping timeout: 250 seconds) 2016-08-19T03:55:33Z Bike: yeah, but those aren't set up to have a clean interface that does what you want. 2016-08-19T03:56:21Z loke__: If you are focusing on a single implementation, you can do pretty much anything you want. 2016-08-19T03:56:36Z Baggers: Bike: interesting, would you mind expanding on that? I saw that the swank folks had done the leg work of gathering all the various versions in one place, i was thinking of just moving that to it's own library 2016-08-19T03:56:45Z loke__: SB-WALKER is pretty cool, for example. 2016-08-19T03:59:01Z Baggers: loke__: absolutely, but I'm curious about what problems would emerge from using the various implementations versions. Im sure Im just missing the detail that explains why this is this tricky (which it must be or it would have been done already) 2016-08-19T03:59:53Z Bike: well, it looks like all the implementations in swank do bother defining an interface, so nevermin 2016-08-19T04:00:34Z fluter joined #lisp 2016-08-19T04:00:49Z tmtwd_ joined #lisp 2016-08-19T04:02:03Z Baggers: Bike: cool, thanks for checking that. 2016-08-19T04:02:47Z Bike: what i meant was, all implementations have to expand macros recursively, but they don't have to do it in the form of a macroexpand-all function 2016-08-19T04:03:09Z Baggers: ah I see. 2016-08-19T04:03:14Z Bike: the compiler could look at a form, macroexpand it, and start conversion to IR before sub-expanding 2016-08-19T04:05:12Z Bike: so like in sbcl macroexpand-all is part of sb-cltl2, which is a spcial user interface. and the definition is in terms of the internal code walker which i think is only otherwise used for CLOS 2016-08-19T04:06:05Z moore33 quit (Ping timeout: 265 seconds) 2016-08-19T04:06:09Z Baggers: wow, that's really interesting, thankyou. These are things I definitely would have missed 2016-08-19T04:06:16Z wccoder joined #lisp 2016-08-19T04:07:05Z wccoder quit (Remote host closed the connection) 2016-08-19T04:07:21Z arescorpio quit (Quit: Leaving.) 2016-08-19T04:12:57Z Blukunfando joined #lisp 2016-08-19T04:14:40Z ASau joined #lisp 2016-08-19T04:15:45Z wccoder joined #lisp 2016-08-19T04:16:35Z wccoder quit (Remote host closed the connection) 2016-08-19T04:23:02Z jleija quit (Quit: leaving) 2016-08-19T04:24:49Z ramky quit (Ping timeout: 244 seconds) 2016-08-19T04:28:21Z afterdinner quit (Quit: Leaving) 2016-08-19T04:30:06Z Grue` joined #lisp 2016-08-19T04:34:47Z eSVG joined #lisp 2016-08-19T04:36:13Z beach: Good morning everyone! 2016-08-19T04:37:25Z Bike: yo. 2016-08-19T04:38:21Z Baggers: morning 2016-08-19T04:40:27Z oleo_ quit (Quit: Leaving) 2016-08-19T04:44:44Z kdas__ joined #lisp 2016-08-19T04:45:32Z IPmonger quit (Ping timeout: 240 seconds) 2016-08-19T04:45:52Z beach: Bike: So how is it going? 2016-08-19T04:46:34Z Bike: once i fixed what you mentioned and one other thing, the transfer functions started actually getting called. now i'm altering ast generation a bit so they have more types to work with. 2016-08-19T04:47:10Z beach: How does AST generation influence the types? 2016-08-19T04:47:22Z beach: Oh, using more primitive operations? 2016-08-19T04:47:42Z Bike: right now i'm just making it so function calls get a bunch of the-asts if there are ftypes for the functions. 2016-08-19T04:47:47Z kdas__ is now known as kushal 2016-08-19T04:47:53Z kushal quit (Changing host) 2016-08-19T04:47:53Z kushal joined #lisp 2016-08-19T04:47:59Z beach: OK. 2016-08-19T04:48:04Z davsebamse quit (Ping timeout: 244 seconds) 2016-08-19T04:48:09Z beach: Let me just tell you the general plan... 2016-08-19T04:48:11Z Bike: more expansion to primitive operations would probably also help, though 2016-08-19T04:48:32Z beach: The plan is to use very special ASTs only in low-level code. 2016-08-19T04:48:41Z beach: And then rely on inlining. 2016-08-19T04:49:24Z beach: So the fixnum-add-ast would only be used in the implementation of + and the car-ast only in the implementation of CAR. You get the picture. 2016-08-19T04:49:38Z Bike: right, ok. 2016-08-19T04:50:03Z davsebamse joined #lisp 2016-08-19T04:51:05Z Bike: i don't have inline expansions for the random functions i've been picking (floor, mostly, for some reason) so this seemed like the most obvious thing to do. 2016-08-19T04:51:32Z kolko quit (Ping timeout: 244 seconds) 2016-08-19T04:51:41Z beach: Sure. 2016-08-19T04:51:46Z sellout- quit (Quit: Leaving.) 2016-08-19T04:51:55Z kolko joined #lisp 2016-08-19T04:56:47Z cromachina quit (Read error: Connection reset by peer) 2016-08-19T04:57:57Z cromachina joined #lisp 2016-08-19T04:59:34Z asc232 quit (Ping timeout: 260 seconds) 2016-08-19T05:02:26Z zm joined #lisp 2016-08-19T05:04:52Z nikki93 joined #lisp 2016-08-19T05:07:27Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2016-08-19T05:12:13Z asc232 joined #lisp 2016-08-19T05:16:06Z Seteeri joined #lisp 2016-08-19T05:17:12Z wccoder joined #lisp 2016-08-19T05:18:33Z araujo_ quit (Quit: Leaving) 2016-08-19T05:20:33Z clop quit (Ping timeout: 240 seconds) 2016-08-19T05:20:53Z nikki93 quit (Remote host closed the connection) 2016-08-19T05:21:22Z nikki93 joined #lisp 2016-08-19T05:21:45Z wccoder quit (Ping timeout: 258 seconds) 2016-08-19T05:22:04Z sellout- joined #lisp 2016-08-19T05:24:55Z tmtwd_ quit (Ping timeout: 252 seconds) 2016-08-19T05:25:16Z flamebeard joined #lisp 2016-08-19T05:25:52Z Bike: beach: currently, in the transfer function's around methods, they don't push their successors to the worklist if the new type restrictions are not different from the old ones. why is this? 2016-08-19T05:26:38Z shka_ joined #lisp 2016-08-19T05:27:34Z vlatkoB joined #lisp 2016-08-19T05:29:52Z froggey quit (Ping timeout: 252 seconds) 2016-08-19T05:30:46Z beach: Bike: I would think that if they did, we would have an infinite computation. No? 2016-08-19T05:31:05Z beach: We must stop when a fixpoint is reached. 2016-08-19T05:31:33Z Bike: well, there needs to be some other criterion, because right now it stops as soon as you hit a useless instruction, which has consistently been the first instruction in my tests 2016-08-19T05:31:45Z mastokley joined #lisp 2016-08-19T05:31:50Z Bike: since it assigns a T to another T, generally 2016-08-19T05:32:24Z beach: But, all live lexical variables should be in the bag. Not only the ones for that specific instruction. 2016-08-19T05:32:51Z beach: So, a change from a previous instruction should be propagated, even when an instruction does nothing. 2016-08-19T05:33:13Z Bike: i don't understand. 2016-08-19T05:33:34Z beach: OK, let's see... 2016-08-19T05:33:47Z beach: Suppose you have an instruction I followed by another J. 2016-08-19T05:33:56Z beach: J is "useless", say a NOP. 2016-08-19T05:34:17Z Baggers left #lisp 2016-08-19T05:34:40Z beach: In the arc between I and J, all live lexical variables are initially T. 2016-08-19T05:34:55Z beach: I changes that so that lexical variable L is now (say) CONS. 2016-08-19T05:35:46Z beach: This fact should propagate through J so that the :AROUND method detects the change, and puts the successors of J on the worklist. 2016-08-19T05:37:07Z froggey joined #lisp 2016-08-19T05:37:13Z beach: Does that make sense? 2016-08-19T05:37:20Z Bike: okay. what about J's successors. 2016-08-19T05:37:23Z scottj left #lisp 2016-08-19T05:37:28Z Bike: er. no. 2016-08-19T05:37:32Z Bike: evidently i do not understand. 2016-08-19T05:37:55Z beach: Let me elaborate... 2016-08-19T05:37:57Z Bike: i don't think i get "I changes that". Changes the arc? 2016-08-19T05:38:44Z beach: Let's say I is a TYPEQ that checks a variable L. 2016-08-19T05:38:54Z beach: J is a successor of I but does not use L. 2016-08-19T05:38:56Z Bike: well, if practicalities help, what i have now is an assignment X = x. the input bag and filtered bags are both ((X . T) (y . T)). 2016-08-19T05:39:01Z beach: K is a successor of J that uses L. 2016-08-19T05:39:39Z beach: Initially, the arc between I and J has ((L . T) ...). 2016-08-19T05:39:46Z beach: I is on the worklist. 2016-08-19T05:39:49Z Bike: ok. 2016-08-19T05:40:09Z zm quit (Ping timeout: 258 seconds) 2016-08-19T05:40:14Z beach: So when I is processed the bag on the arc between I and J changes to ((L . FIXNUM) ...) 2016-08-19T05:40:30Z beach: This is detected by the :AROUND method, which puts J on the worklist. 2016-08-19T05:40:56Z beach: When J is processed, ((L . FIXNUM) is propagated to the successors of J. 2016-08-19T05:40:57Z beach: Etc. 2016-08-19T05:41:25Z Bike: ok. i get that. 2016-08-19T05:41:58Z Bike: wait. no. 2016-08-19T05:42:28Z Bike: okay, back to J. J is processed. J is a nop, so its transfer function returns the same bag. the input and output bags are equal. type inference stops. 2016-08-19T05:43:03Z beach: No. 2016-08-19T05:43:12Z beach: The transfer function of J returns the bag that I modified. 2016-08-19T05:43:24Z beach: So it is different from the previous bag of the successors of J. 2016-08-19T05:43:50Z beach: I mean, maybe it doesn't, but it should. 2016-08-19T05:44:29Z beach: The input to the transfer function should be the join of all the predecessors. 2016-08-19T05:44:49Z Bike: maybe the problem is that this instruction's predecessor is an enter. it is the start of type inference. 2016-08-19T05:44:59Z Bike: so there's no I, you just start with J the nop. 2016-08-19T05:45:10Z zacharias quit (Ping timeout: 265 seconds) 2016-08-19T05:45:24Z beach: Initially, all instructions must be on the worklist. Not just the ENTERs. 2016-08-19T05:45:31Z fiddlerwoaroof quit (Ping timeout: 258 seconds) 2016-08-19T05:45:49Z beach: All, except the ENTERs in fact, because they have no predecessors. 2016-08-19T05:45:53Z Bike: oh. heh. that is definitely not what happens then. 2016-08-19T05:46:25Z beach: Ah, entirely possible. 2016-08-19T05:46:41Z Bike: https://github.com/robert-strandh/SICL/blob/master/Code/Cleavir/Type-inference/type-inference.lisp#L3-L9 it only pushes enter instructions 2016-08-19T05:46:45Z fiddlerwoaroof joined #lisp 2016-08-19T05:46:48Z Bike: let's try changing that when to an unless... 2016-08-19T05:46:50Z beach: That seems wrong. 2016-08-19T05:46:58Z beach: Yeah. 2016-08-19T05:47:11Z beach: As you have noticed, the code has never been executed. 2016-08-19T05:47:26Z Bike: it was definitely wrong, it meant nothing happened because they have no predecessors. so i changed it to pushing the successor of the enter, which is why i've been misunderstanding everything for the past fifteen minutes. 2016-08-19T05:47:49Z beach: It's good that it's only 15 minutes. 2016-08-19T05:48:45Z karswell` joined #lisp 2016-08-19T05:49:02Z karswell quit (Remote host closed the connection) 2016-08-19T05:50:12Z Bike: therrrrre we go. now it's calling enough transfer functions that i'm getting errors. progress 2016-08-19T05:51:36Z beach: Excellent! 2016-08-19T05:52:05Z ramky joined #lisp 2016-08-19T05:52:23Z beach: I should go. I have a ton of things to do today. Do you need me for anything else? 2016-08-19T05:52:46Z Bike: No, this has been very helpful, thank you. 2016-08-19T05:52:59Z beach: Oh, thank YOU for doing this. 2016-08-19T05:53:02Z beach: Talk later. 2016-08-19T05:53:18Z beach left #lisp 2016-08-19T05:55:38Z clintm joined #lisp 2016-08-19T05:55:45Z BlueRavenGT quit (Ping timeout: 244 seconds) 2016-08-19T05:55:55Z clintm left #lisp 2016-08-19T05:57:27Z fiddlerwoaroof quit (Ping timeout: 264 seconds) 2016-08-19T06:11:26Z asc232 quit (Quit: Saliendo) 2016-08-19T06:13:42Z fiddlerwoaroof joined #lisp 2016-08-19T06:14:41Z mvilleneuve joined #lisp 2016-08-19T06:16:14Z mishoo joined #lisp 2016-08-19T06:19:01Z nostoi joined #lisp 2016-08-19T06:19:14Z nikki93__ joined #lisp 2016-08-19T06:19:38Z nikki93__ quit (Remote host closed the connection) 2016-08-19T06:20:01Z fiddlerwoaroof quit (Ping timeout: 258 seconds) 2016-08-19T06:20:09Z nikki93__ joined #lisp 2016-08-19T06:20:33Z nikki93 quit (Read error: Connection reset by peer) 2016-08-19T06:26:14Z nikki93__ quit (Remote host closed the connection) 2016-08-19T06:26:43Z nikki93 joined #lisp 2016-08-19T06:26:55Z gingerale joined #lisp 2016-08-19T06:29:42Z shka_ quit (Ping timeout: 244 seconds) 2016-08-19T06:31:45Z nikki93 quit (Ping timeout: 276 seconds) 2016-08-19T06:35:29Z pierpa joined #lisp 2016-08-19T06:36:00Z fiddlerwoaroof joined #lisp 2016-08-19T06:42:03Z test1600 joined #lisp 2016-08-19T06:42:17Z IPmonger joined #lisp 2016-08-19T06:42:59Z ovenpasta joined #lisp 2016-08-19T06:44:45Z jstewart777 quit (Ping timeout: 276 seconds) 2016-08-19T06:45:45Z nikki93 joined #lisp 2016-08-19T06:46:41Z IPmonger quit (Ping timeout: 250 seconds) 2016-08-19T06:47:19Z bocaneri joined #lisp 2016-08-19T06:48:32Z varjag joined #lisp 2016-08-19T06:49:03Z angavrilov joined #lisp 2016-08-19T06:51:39Z gravicappa joined #lisp 2016-08-19T06:52:41Z nikki93 quit 2016-08-19T06:55:55Z Anselma joined #lisp 2016-08-19T06:56:05Z Anselma quit (Client Quit) 2016-08-19T06:59:59Z DeadTrickster joined #lisp 2016-08-19T07:00:30Z shrdlu68 joined #lisp 2016-08-19T07:01:11Z nostoi quit (Quit: Verlassend.) 2016-08-19T07:01:45Z mikaelj joined #lisp 2016-08-19T07:07:31Z Munksgaard joined #lisp 2016-08-19T07:07:40Z gigetoo quit (Ping timeout: 264 seconds) 2016-08-19T07:08:23Z shrdlu68 quit (Ping timeout: 265 seconds) 2016-08-19T07:08:58Z smokeink quit (Quit: leaving) 2016-08-19T07:09:41Z zacharias joined #lisp 2016-08-19T07:13:15Z FreeBirdLjj joined #lisp 2016-08-19T07:16:21Z smokeink joined #lisp 2016-08-19T07:16:29Z loke__: Hello lisp 2016-08-19T07:16:34Z loke__: Any mcclimmers here? 2016-08-19T07:16:58Z fiddlerwoaroof: I know a bit about it 2016-08-19T07:18:00Z kushal quit (Quit: Leaving) 2016-08-19T07:18:07Z lambda-smith joined #lisp 2016-08-19T07:18:33Z jackdaniel: loke__: #clim will be also a good place to ask 2016-08-19T07:18:38Z wccoder joined #lisp 2016-08-19T07:19:52Z mastokley quit (Ping timeout: 252 seconds) 2016-08-19T07:19:52Z loke__: Thanks. 2016-08-19T07:20:10Z loke__: I want to restart my work on my potato-clim client. This time I want to do things right. 2016-08-19T07:22:12Z FreeBirdLjj quit (Remote host closed the connection) 2016-08-19T07:22:21Z gingerale quit (Remote host closed the connection) 2016-08-19T07:22:46Z jackdaniel: sounds interesting 2016-08-19T07:23:45Z wccoder quit (Ping timeout: 276 seconds) 2016-08-19T07:25:30Z KaliLinuxGR joined #lisp 2016-08-19T07:25:37Z loke__: Are all CLIM applications supposed to be command-driven? 2016-08-19T07:26:04Z ggole joined #lisp 2016-08-19T07:26:48Z H4ns: when i tried, i gathered that clim is all about commands and presentations 2016-08-19T07:27:05Z fiddlerwoaroof: loke__: I think so 2016-08-19T07:27:49Z varjag: it takes commands however fairly liberally 2016-08-19T07:28:01Z varjag: e.g. mouse actions 2016-08-19T07:28:18Z fiddlerwoaroof: I think the idea is basically that commands are about modifying and otherwise interacting with the app's data and have little direct connection to rendering 2016-08-19T07:29:47Z nzambe quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2016-08-19T07:29:54Z fiddlerwoaroof: The display function for a particular part of the screen is responsible for updating the display from the data model and it uses presentations to mark things out as targets for commands 2016-08-19T07:30:10Z fiddlerwoaroof: Of course, I'm still quite an amateur, so take this all with a grain of salt 2016-08-19T07:30:26Z nzambe joined #lisp 2016-08-19T07:30:36Z fiddlerwoaroof: s/part of the screen/gadget 2016-08-19T07:33:57Z Bike: minion: memo for beach: reverse transfers might be nice, especially in unsafe code. failing that, less hostile instruction ordering. http://i.imgur.com/b42wAdT.png (Bonus problem: values types are weird, huh?) 2016-08-19T07:33:57Z minion: Remembered. I'll tell beach when he/she/it next speaks. 2016-08-19T07:42:11Z gigetoo joined #lisp 2016-08-19T07:51:01Z SumoSudo joined #lisp 2016-08-19T07:53:46Z Quadrescence: In SBCL, I am allocating foreign vectors so I can avoid the GC moving things around. I have the foreign vector deallocated in a finalizer of a Lisp object. My current problem is that (loop (allocate-lisp-obj)) will cause memory to run out and the finalizers are never called. 2016-08-19T07:54:34Z Quadrescence: I suspect because there's still lisp heap space so it never feels like calling GC. Is there a good way to attempt a GC in this scenario? 2016-08-19T07:55:51Z pareidolia joined #lisp 2016-08-19T07:57:35Z lexicall joined #lisp 2016-08-19T07:58:08Z Bike: huh. how do you know memory runs out? 2016-08-19T07:58:19Z Bike: like, is it a nice error or ldb 2016-08-19T07:58:58Z lexicall quit (Client Quit) 2016-08-19T08:01:21Z rme quit (Quit: rme) 2016-08-19T08:01:21Z rme quit (Quit: rme) 2016-08-19T08:02:11Z Quadrescence: Bike, I observe it in top. I seem to get an error sometimes, other times the process just gets killed by the OS 2016-08-19T08:02:38Z edgar-rft joined #lisp 2016-08-19T08:04:15Z Bike: hm. no ideas, sorry. 2016-08-19T08:04:50Z Quadrescence: RIP in piece my life 2016-08-19T08:05:23Z loke__: Quadrescence: if you allocate lisp objs until you run out of heap, anything can happen so you can't assumet hat things will be correct afterward. 2016-08-19T08:05:47Z Quadrescence: I don't run out of heap, and the objects are not live when memory fills up. 2016-08-19T08:05:51Z Bike: you could do something stupid like have allocate-lisp-obj increase a counter, and run sb-ext:gc when it hits a large enough number 2016-08-19T08:05:52Z loke__: And the OS process killed by the OS is a broken-by-design thing in Linux. Youc an turn that off. 2016-08-19T08:06:01Z loke__: How much swap have you configured? 2016-08-19T08:06:14Z Quadrescence: No swap. 2016-08-19T08:06:19Z loke__: You should. 2016-08-19T08:06:30Z Quadrescence: I want to solve this problem not by having swap. 2016-08-19T08:06:45Z Quadrescence: It works perfectly fine if I don't do this finalizer stuff and just allocate lisp objects 2016-08-19T08:06:45Z loke__: Well, if you don't have swap, you'll never be able to use all your memory. 2016-08-19T08:07:10Z loke__: I'm not talking about this problem specifically. I'm talking about the fact that without swap you'll never be able to use all your RAM 2016-08-19T08:07:32Z hhdave joined #lisp 2016-08-19T08:07:39Z Quadrescence: Maybe so, but I am not so concerned about whether I am using all of my RAM or not. 2016-08-19T08:08:23Z loke__: I'd rather avoid having processes randomly dying on me by making sure I have some swap cofngured. But, whatever floats your boat. 2016-08-19T08:09:15Z Quadrescence: Like I said, the problem I wish to solve is to make garbage collection DWIM, not worry about processes getting killed or adding swap partitions, because ideally those are orthogonal to the idea of running out of memory. 2016-08-19T08:10:03Z loke__: Quadrescence: YUou're not in an ideal world. The problem is that you're allocating non-Lisp-heap memory, which means it's not coutned the same way 2016-08-19T08:10:10Z Quadrescence: s/running out of memory/clearing dead objects/ 2016-08-19T08:11:16Z loke__: By the time you run out of RAM (since you have no Swap) you have lots of Lisp heap left, so there will no GC. 2016-08-19T08:11:19Z Bike quit (Quit: tire) 2016-08-19T08:12:04Z Quadrescence: Lisp allocating foreign memory can detect when malloc fails. 2016-08-19T08:12:09Z lambda-smith quit (Quit: Konversation terminated!) 2016-08-19T08:12:19Z knobo: loke__: did you know that sbcl save-image does not save foreign memory? 2016-08-19T08:12:32Z loke__: knobo: It should. 2016-08-19T08:12:44Z knobo: loke__: but it does not. 2016-08-19T08:12:46Z loke__: Oh wait... Hm... Actually I don't know. 2016-08-19T08:12:54Z ggole: The Linux behaviour is that malloc does not fail, but the OS will kill a process that is using "too much" memory 2016-08-19T08:13:08Z ggole: (The default behaviour, I should say. You can tweak it a bit.) 2016-08-19T08:13:14Z knobo: loke__: we were talking about it some weeks ago. 2016-08-19T08:13:19Z loke__: ggole: Well yes. By default. It's a good idea to turn that stupidity off. 2016-08-19T08:13:34Z ggole: So you can't solve it by interposing a layer between malloc and your code. 2016-08-19T08:13:45Z loke__: knobo: I know. And since then I was looking a bit intop how the core saving works, and now I'm not so sure of myself anymore. 2016-08-19T08:14:49Z Quadrescence: What I am most deeply trying to solve is to be able to allocate big arrays and not have GC slosh them around 2016-08-19T08:15:29Z loke__: Quadrescence: Look. All yiou have to remember is that the foreign memory lives in a competely different world compared to the Lisp heap. 2016-08-19T08:15:41Z Quadrescence: I understand that. 2016-08-19T08:16:07Z Quadrescence: I also understand that Lisp is (sometimes, depending on configuration) able to detect when it can't allocate more foreign memory. 2016-08-19T08:16:39Z loke__: Quadrescence: forign-alloc is essentially nothing more than a call to malloc(). 2016-08-19T08:16:41Z loke__: So SBCL' 2016-08-19T08:16:58Z Sigyn quit (Quit: I'll Be Back) 2016-08-19T08:17:14Z loke__: So SBCL's ability to detect it depends on whether or not malloc() can detect it. And malloc() can only detect it if you turn off the "memory allocations will always suceed" misfeature in Linux. 2016-08-19T08:17:38Z Sigyn joined #lisp 2016-08-19T08:17:46Z Sigyn quit (Remote host closed the connection) 2016-08-19T08:18:10Z Quadrescence: Solving the deeper problem by way of foreign-alloc seems to be to catch the error, gc, and try again. That's all I can think of. The other is to just tolerate memory moving around and hope generational gc is good enough 2016-08-19T08:18:10Z Sigyn joined #lisp 2016-08-19T08:19:00Z ggole: Big arrays tend to be allocated in a non-moved place by reasonable GCs already 2016-08-19T08:19:01Z Beetny joined #lisp 2016-08-19T08:19:14Z ggole: You still have tracing costs though. 2016-08-19T08:19:16Z loke__: Quadrescence: Again, you will only be able to do that if you change the memory allocation setting "overcommit memory" to 2. 2016-08-19T08:31:25Z lambda-smith joined #lisp 2016-08-19T08:37:12Z knicklux joined #lisp 2016-08-19T08:38:18Z lambda-smith quit (Quit: Konversation terminated!) 2016-08-19T08:39:36Z Harag joined #lisp 2016-08-19T08:39:52Z Karl_Dscc joined #lisp 2016-08-19T08:40:38Z ZombieChicken quit (Remote host closed the connection) 2016-08-19T08:42:55Z knobo: loke__: stassats on #sbcl told me about it. Then I tested it in several ways. Like allocating large memory blocks saving the image, look at the size of the image and inspecting the pointers to the memory. So in addition to the sbcl developer source, I observed it. :) 2016-08-19T08:43:25Z titankiller joined #lisp 2016-08-19T08:43:53Z norfumpit quit (Quit: norfumpit) 2016-08-19T08:44:10Z norfumpit joined #lisp 2016-08-19T08:51:54Z papachan joined #lisp 2016-08-19T08:56:49Z Harag quit (Remote host closed the connection) 2016-08-19T08:57:42Z Harag joined #lisp 2016-08-19T08:58:14Z IPmonger joined #lisp 2016-08-19T09:02:56Z IPmonger quit (Ping timeout: 265 seconds) 2016-08-19T09:03:15Z dim: what about mmap'ing your memory area then? 2016-08-19T09:11:44Z Karl_Dscc quit (Remote host closed the connection) 2016-08-19T09:15:59Z eSVG quit (Read error: Connection reset by peer) 2016-08-19T09:21:09Z loke__ is trying to figure out presentations in MacClim 2016-08-19T09:21:23Z loke__: (yes, it's McCLIM, but MacClim is more like MacDonlands :-) ) 2016-08-19T09:22:06Z loke__: I tried to create a presentation method for a given class, so that it renders using my dedicated method, but it never gets called. 2016-08-19T09:25:04Z pkkm quit (Ping timeout: 264 seconds) 2016-08-19T09:25:18Z jdz: loke__: there's a #clim channel, but are you specifying the presentation you want to be used when presenting your object? 2016-08-19T09:26:23Z loke__: jdz: No. 2016-08-19T09:26:38Z loke__: jdz: The documentation is somewhat unclear, imho 2016-08-19T09:27:00Z loke__: do you know of an example that declares a custom class and a custom presentation for that class? 2016-08-19T09:27:53Z jdz: loke__: I seem to remember there being a macro like WITH-OUTPUT-AS-PRESENTATION or somesuch. 2016-08-19T09:37:53Z milanj joined #lisp 2016-08-19T09:39:11Z White_Flame quit (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) 2016-08-19T09:39:22Z prole joined #lisp 2016-08-19T09:39:36Z White_Flame joined #lisp 2016-08-19T09:42:16Z Karl_Dscc joined #lisp 2016-08-19T09:46:55Z Seteeri quit (Remote host closed the connection) 2016-08-19T09:49:23Z pkkm joined #lisp 2016-08-19T09:50:12Z m00natic joined #lisp 2016-08-19T09:58:51Z ASau quit (Ping timeout: 258 seconds) 2016-08-19T09:59:06Z M-moredhel quit (Remote host closed the connection) 2016-08-19T09:59:06Z M-Illandan quit (Remote host closed the connection) 2016-08-19T10:00:22Z z3r0_ joined #lisp 2016-08-19T10:00:22Z z3r0_ quit (Killed (Sigyn (Spam is off topic on freenode.))) 2016-08-19T10:05:34Z Harag quit (Remote host closed the connection) 2016-08-19T10:08:14Z Harag joined #lisp 2016-08-19T10:10:50Z Harag quit (Remote host closed the connection) 2016-08-19T10:12:05Z ante joined #lisp 2016-08-19T10:13:18Z ante is now known as Cymew 2016-08-19T10:24:17Z el-mikl quit (Read error: Connection reset by peer) 2016-08-19T10:24:32Z el-mikl joined #lisp 2016-08-19T10:25:12Z Oladon1 joined #lisp 2016-08-19T10:26:24Z Oladon quit (Ping timeout: 276 seconds) 2016-08-19T10:26:50Z titankiller quit (Ping timeout: 264 seconds) 2016-08-19T10:29:23Z el-mikl quit (Read error: Connection reset by peer) 2016-08-19T10:29:35Z el-mikl joined #lisp 2016-08-19T10:29:46Z Harag joined #lisp 2016-08-19T10:33:26Z M-moredhel joined #lisp 2016-08-19T10:33:47Z EvW joined #lisp 2016-08-19T10:39:12Z milanj quit (Quit: This computer has gone to sleep) 2016-08-19T10:40:22Z zacts joined #lisp 2016-08-19T10:53:32Z test1600 quit (Quit: Leaving) 2016-08-19T10:53:46Z IPmonger joined #lisp 2016-08-19T10:58:03Z Th30n joined #lisp 2016-08-19T10:58:29Z Th30n: Hello everyone! 2016-08-19T10:59:34Z loke__: hello 2016-08-19T11:00:16Z shdeng quit (Quit: Leaving) 2016-08-19T11:00:28Z Th30n: I need a recommendation on 2 libraries for Common Lisp: reading PNG images and a serialization library. I would prefer if the PNG library was completely written in CL, without any dependencies on additional foreign libraries. 2016-08-19T11:01:32Z Th30n: Serialization lib should support both binary and text formats, but I'm thinking about writing my own, since I don't need fancy features (like circular reference handling). 2016-08-19T11:07:12Z IPmonger quit (Ping timeout: 240 seconds) 2016-08-19T11:09:57Z constantinexvi quit (Ping timeout: 276 seconds) 2016-08-19T11:11:04Z TMA: Th30n: try CONSPACK for serialization 2016-08-19T11:11:35Z constantinexvi joined #lisp 2016-08-19T11:13:20Z IPmonger joined #lisp 2016-08-19T11:14:09Z jackdaniel: Th30n: opticl for images, cl-store for serialization (my recommendation) 2016-08-19T11:14:20Z jackdaniel: both pure CL 2016-08-19T11:15:16Z krasnal joined #lisp 2016-08-19T11:16:11Z Th30n: Thank you both, will look into them. 2016-08-19T11:18:22Z Harag quit (Ping timeout: 250 seconds) 2016-08-19T11:18:26Z kokonaisluku joined #lisp 2016-08-19T11:20:06Z IPmonger quit (Ping timeout: 250 seconds) 2016-08-19T11:20:11Z wccoder joined #lisp 2016-08-19T11:20:31Z prole: xb 2016-08-19T11:21:06Z Th30n: Hmm, maybe I'll skip opticl for png-read, since I don't need all the other functionality of opticl 2016-08-19T11:22:06Z M-Illandan joined #lisp 2016-08-19T11:23:05Z IPmonger joined #lisp 2016-08-19T11:24:46Z wccoder quit (Ping timeout: 258 seconds) 2016-08-19T11:27:22Z yrk quit (Ping timeout: 252 seconds) 2016-08-19T11:27:22Z ramky quit (Ping timeout: 265 seconds) 2016-08-19T11:27:51Z edgar-rft: Th30n: A "pure CL" library is , but I have no idea how good or bad it works. 2016-08-19T11:29:52Z ovenpasta quit (Remote host closed the connection) 2016-08-19T11:30:09Z ovenpasta joined #lisp 2016-08-19T11:30:56Z milanj joined #lisp 2016-08-19T11:33:07Z elimik31 joined #lisp 2016-08-19T11:35:16Z gargaml joined #lisp 2016-08-19T11:41:02Z shrdlu68 joined #lisp 2016-08-19T11:43:31Z jdtest joined #lisp 2016-08-19T11:43:53Z papachan quit (Ping timeout: 258 seconds) 2016-08-19T11:44:31Z shrdlu68: Hi, I've a list of strings that I want to concatenate. 2016-08-19T11:45:01Z shrdlu68: (defparameter *str* '("a" "b" "c")) 2016-08-19T11:45:03Z jdtest3 quit (Ping timeout: 240 seconds) 2016-08-19T11:45:37Z shrdlu68: (eval `(concatenate 'string ,@str)) 2016-08-19T11:45:46Z edgar-rft: (apply #'concatenate 'string *str*) 2016-08-19T11:46:24Z shrdlu68: edgar-rft: Ah, thanks. 2016-08-19T11:47:11Z jdtest2 joined #lisp 2016-08-19T11:47:28Z shrdlu68: I was concerned I was doing something horribly wrong o_0 2016-08-19T11:48:08Z edgar-rft: yes, don't ever use EVAL to evaluate something, use FUNCALL or APPLY 2016-08-19T11:49:16Z IPmonger quit (Ping timeout: 250 seconds) 2016-08-19T11:49:56Z shrdlu68: Noted. 2016-08-19T11:50:00Z edgar-rft: using EVAL on abitrary user input makes it easy to produce hack your programs 2016-08-19T11:50:08Z yrk joined #lisp 2016-08-19T11:50:15Z edgar-rft: *ignore the "produce" 2016-08-19T11:50:39Z jdtest quit (Ping timeout: 265 seconds) 2016-08-19T11:50:40Z yrk quit (Changing host) 2016-08-19T11:50:40Z yrk joined #lisp 2016-08-19T11:50:53Z z3r0_ joined #lisp 2016-08-19T11:51:02Z shrdlu68: edgar-rft: Couldn't the same sort of vulnerability come about when you use macros? 2016-08-19T11:52:03Z elimik31 quit (Ping timeout: 264 seconds) 2016-08-19T11:52:56Z edgar-rft: In general it's not really difficult to hack Common Lisp programs, because CL is designed to be re-programmable at run-time. 2016-08-19T11:53:00Z Th30n: shrdlu68: No, because macros are expanded on read and compile time. You are calling eval on run time and potentially on strings received from a user. 2016-08-19T11:53:17Z Th30n: shrdlu68: Macros can cause problems if you use eval on a string which uses read macro evaluation. 2016-08-19T11:53:54Z Th30n: shrdlu68: I mean, read on strings with read eval macros, e.g. (read "#.(delete-all-files)") 2016-08-19T11:54:20Z jackdaniel: (let ((*read-eval* nil)) (read-from-string "#.(delete-all-files)")) 2016-08-19T11:54:49Z edgar-rft: who has deleted my files? 2016-08-19T11:54:53Z shrdlu68: Yeah...I get it. 2016-08-19T11:55:09Z shrdlu68: So when is eval ever used? 2016-08-19T11:55:57Z jackdaniel: shrdlu68: in some very pathological code 2016-08-19T11:56:29Z edgar-rft: I never have seen EVAL in any code, but maybe somebody knows a real-world use-case. 2016-08-19T11:56:41Z dwchandler: god morgen, allesammen! 2016-08-19T11:56:59Z jackdaniel: well, grepping through quicklisp directory in software/ I have a lot of pathological cases :) 2016-08-19T11:57:06Z Th30n: xD 2016-08-19T11:57:07Z jackdaniel: grep -rni '(eval ' 2016-08-19T11:57:08Z edgar-rft: that's called *guten* morgen 2016-08-19T11:57:10Z shrdlu68: I was thinking of using the reader/printer capabilities to bypass having to use xml/json/etc and just store readable lisp object. But I see now that could be catastrophic. 2016-08-19T11:57:49Z Th30n: I've seen eval at work only when doing some hot patching stuff with input guaranteed to be generated by us and safe. 2016-08-19T11:58:10Z jackdaniel: one of such occasions when eval might be useful is when you doesn't have a package yet you want to reach for, but that's also a sign of bad design 2016-08-19T11:58:55Z jackdaniel: ie: (defun xxx () (eval "(setf non-existent-yet::*foo* t)")) 2016-08-19T11:59:12Z jackdaniel: read-from-string inbetween 2016-08-19T12:00:52Z gravicappa quit (Ping timeout: 240 seconds) 2016-08-19T12:01:31Z rme joined #lisp 2016-08-19T12:02:32Z plan9 joined #lisp 2016-08-19T12:02:42Z EvW quit (Ping timeout: 250 seconds) 2016-08-19T12:03:46Z z3r0_ quit (Quit: Leaving) 2016-08-19T12:04:00Z shrdlu68: Or maybe not. If I store a printed lisp array in a database and read it back, all I get is an array. 2016-08-19T12:04:22Z shrdlu68: What could go wrong? 2016-08-19T12:11:21Z sjl joined #lisp 2016-08-19T12:12:16Z brkr joined #lisp 2016-08-19T12:13:59Z EvW joined #lisp 2016-08-19T12:14:19Z lnostdal joined #lisp 2016-08-19T12:14:45Z brkr quit (Read error: Connection reset by peer) 2016-08-19T12:19:54Z ovenpasta quit (Ping timeout: 250 seconds) 2016-08-19T12:20:59Z akkad: dim: ping 2016-08-19T12:26:43Z kokonaisluku quit (Quit: ChatZilla 0.9.92 [Firefox 45.3.0/20160803111628]) 2016-08-19T12:28:13Z Arathnim quit (Quit: leaving) 2016-08-19T12:28:55Z Rajasegar joined #lisp 2016-08-19T12:28:56Z Cymew quit (Quit: rcirc on GNU Emacs 24.5.1) 2016-08-19T12:29:06Z Grue`: shrdlu68: there exist better libraries for serializing CL objects than just printing and reading. for example CL-STORE 2016-08-19T12:30:19Z KaliLinuxGR quit (Ping timeout: 258 seconds) 2016-08-19T12:30:33Z akkad: any reason this line would not work as expected? (format t "insert into ~A(value) select '~A' where not exists (select * from ~A where value = '~A')" table value table value) 2016-08-19T12:30:34Z akkad: 2016-08-19T12:32:20Z Grue`: i don't know how you expect it to work, but it is obviously vulnerable to sql injections 2016-08-19T12:32:26Z akkad: for some odd reason i'm getting insert into #1=dates(value) select '1470173871' where not exists (select * from #1# where value = '1470173871'). even though table nor value ever have # in them 2016-08-19T12:32:45Z akkad: yes if this was a dynamic web page. no doubt 2016-08-19T12:33:46Z Grue`: try setting *print-circle* to nil maybe 2016-08-19T12:34:25Z akkad: that fixed it. thanks Grue` 2016-08-19T12:34:41Z Grue`: though I didn't think format can do this 2016-08-19T12:35:11Z akkad: is the culprit? 2016-08-19T12:35:15Z akkad: using format incorrectly? 2016-08-19T12:35:40Z Grue`: it might be implementation dependent 2016-08-19T12:36:14Z Grue`: I never had several "~A"s print using this syntax 2016-08-19T12:36:58Z akkad: the same var? 2016-08-19T12:37:40Z akkad: Grue`: only an issue on allegro 2016-08-19T12:38:22Z EvW quit (Ping timeout: 258 seconds) 2016-08-19T12:39:06Z Grue`: yeah, sbcl always prints dates regardless of *print-circle* 2016-08-19T12:40:45Z akkad: this was epoch int. 2016-08-19T12:41:02Z oleo joined #lisp 2016-08-19T12:41:12Z akkad: keyword 'dates' break it? 2016-08-19T12:41:12Z Beetny quit (Ping timeout: 240 seconds) 2016-08-19T12:41:21Z Th30n quit (Quit: leaving) 2016-08-19T12:45:23Z zacts quit (Quit: WeeChat 1.5) 2016-08-19T12:46:49Z clop joined #lisp 2016-08-19T12:47:10Z LiamH joined #lisp 2016-08-19T12:50:30Z davsebamse quit (Ping timeout: 265 seconds) 2016-08-19T12:51:22Z ramky joined #lisp 2016-08-19T12:51:43Z shrdlu68: Has used postmodern with JSON? 2016-08-19T12:52:17Z shrdlu68: I have no idea how to use it with placeholders. 2016-08-19T12:52:27Z moore33 joined #lisp 2016-08-19T12:52:56Z Rajasegar left #lisp 2016-08-19T12:53:01Z shrdlu68: This fails: (query "INSERT INTO test VALUES ('[$1,$2]');" "foo" "bar") 2016-08-19T12:53:25Z shrdlu68: Ignore the glaring sqli, just testing. 2016-08-19T12:54:00Z davsebamse joined #lisp 2016-08-19T12:54:11Z vap1 quit (Read error: Connection reset by peer) 2016-08-19T12:54:41Z vap1 joined #lisp 2016-08-19T12:56:00Z kushal joined #lisp 2016-08-19T12:59:03Z vap1 quit (Ping timeout: 240 seconds) 2016-08-19T12:59:11Z vap1 joined #lisp 2016-08-19T12:59:26Z prole quit (Remote host closed the connection) 2016-08-19T13:01:41Z Grue`: it probably doesn't expand placeholders that are within quotes 2016-08-19T13:01:51Z lexicall joined #lisp 2016-08-19T13:01:55Z kushal quit (Excess Flood) 2016-08-19T13:03:40Z H4ns: shrdlu68: i would also expect that you need to supply the json as parameter, not a template like you did. 2016-08-19T13:04:26Z H4ns: shrdlu68: after all, sql parameter substitution is just that, substitution of parameters by query invocation arguments. it is not general text-based templating. 2016-08-19T13:04:44Z kushal joined #lisp 2016-08-19T13:05:58Z Grue`: shrdlu68: I'd use a JSON library to generate a string like "['foo', 'bar']", then you can insert it in database 2016-08-19T13:07:50Z shrdlu68: H4ns: Yeah, this works: (query "INSERT INTO testing VALUES ($1);" "[3,4]") 2016-08-19T13:08:02Z shrdlu68: I thought I'd tried that earlier... 2016-08-19T13:09:14Z kilfer quit (Remote host closed the connection) 2016-08-19T13:09:50Z shrdlu68: Grue`: Looking into cl-json 2016-08-19T13:10:34Z plan9 quit (Remote host closed the connection) 2016-08-19T13:11:46Z Mon_Ouie joined #lisp 2016-08-19T13:12:20Z kushal quit (Ping timeout: 265 seconds) 2016-08-19T13:19:14Z FreeBirdLjj joined #lisp 2016-08-19T13:19:42Z kobain joined #lisp 2016-08-19T13:21:07Z kushal joined #lisp 2016-08-19T13:23:23Z lexicall quit (Quit: Ah, my macbook is gonna sleep!) 2016-08-19T13:24:19Z al-damiri joined #lisp 2016-08-19T13:25:18Z sellout- quit (Quit: Leaving.) 2016-08-19T13:26:17Z pierpa quit (Ping timeout: 244 seconds) 2016-08-19T13:28:04Z warweasle joined #lisp 2016-08-19T13:28:50Z warweasle: Good morning. 2016-08-19T13:29:11Z warweasle: I had a thought the other day and I wanted to run it past some others. 2016-08-19T13:29:21Z karswell` quit (Ping timeout: 258 seconds) 2016-08-19T13:30:21Z warweasle: There is a program called gccxml. I can use it to pull the AST out of C++ code. It gives the regular *and* mangled names of the functions. With that, I can call C++ functions directly from the CFFI. 2016-08-19T13:30:29Z warweasle: Has anyone done anything like this before? 2016-08-19T13:30:37Z zacts joined #lisp 2016-08-19T13:31:58Z kushal quit (Ping timeout: 250 seconds) 2016-08-19T13:32:38Z warweasle: Are there obstacles I don't understand? 2016-08-19T13:34:04Z phadthai: hmm there is a lisp implementation which relied on similar clang results to integrate with C++ if I remember; I fail to remember its name or if it was opensourced; others may remember better 2016-08-19T13:34:06Z jackdaniel: warweasle: template parameters maybe 2016-08-19T13:34:17Z jackdaniel: clasp? 2016-08-19T13:34:22Z phadthai: probably, thanks 2016-08-19T13:34:49Z jackdaniel: warweasle: problems happen when you want to actually use c++ features (like templates) 2016-08-19T13:35:31Z Karl_Dscc quit (Remote host closed the connection) 2016-08-19T13:35:48Z warweasle: jackdaniel: Yes. But they actually expand into regular functions! I haven't figured out everything about them, but it looks possible. 2016-08-19T13:36:26Z jackdaniel: warweasle: you may look in ecl's mailing list (https://mailman.common-lisp.net/pipermail/ecl-devel/) for clasp announcement, I remember reading some interesting remarks from jjgarcia 2016-08-19T13:36:41Z jackdaniel: but I don't know which year was that, and archive doesn't seem to have "search" function 2016-08-19T13:36:58Z jackdaniel: (shame gmane isn't web-accessible anymore) 2016-08-19T13:37:32Z ramky quit (Quit: Leaving) 2016-08-19T13:39:12Z jackdaniel: warweasle: ask drmeister on #clasp if you are interested in details, if someone is to ask about ffi'ing to C++ it's him 2016-08-19T13:39:14Z cromachina quit (Read error: Connection reset by peer) 2016-08-19T13:39:30Z jackdaniel: ECL can do that with static FFI (call C++ functions) if it's compiled with-cxx compiler 2016-08-19T13:41:58Z warweasle: jackdaniel: ECL doesn't need them. I can compile it with the C++ option and then use the inline ffi. 2016-08-19T13:42:13Z warweasle: jackdaniel: Oh, sorry. I misread that. 2016-08-19T13:45:32Z IPmonger joined #lisp 2016-08-19T13:48:08Z sharkteeth joined #lisp 2016-08-19T13:48:16Z Th30n joined #lisp 2016-08-19T13:49:49Z IPmonger quit (Ping timeout: 252 seconds) 2016-08-19T13:57:37Z moore33 quit (Quit: Leaving) 2016-08-19T14:01:50Z IPmonger joined #lisp 2016-08-19T14:07:04Z smokeink quit (Read error: Connection reset by peer) 2016-08-19T14:07:46Z DGASAU quit (Read error: Connection reset by peer) 2016-08-19T14:08:08Z smokeink joined #lisp 2016-08-19T14:08:51Z DGASAU joined #lisp 2016-08-19T14:11:31Z gravicappa joined #lisp 2016-08-19T14:12:13Z dmiles quit (Read error: Connection reset by peer) 2016-08-19T14:12:17Z Mon_Ouie quit (Ping timeout: 258 seconds) 2016-08-19T14:13:00Z ahirsch joined #lisp 2016-08-19T14:13:25Z ahirsch: does anyone have any recommendations for parser libraries or parser generators? 2016-08-19T14:13:38Z ahirsch: everything listed on CLiki seems to be either dead or in beta 2016-08-19T14:14:24Z IPmonger quit (Quit: ZNC 1.6.3 - http://znc.in) 2016-08-19T14:14:42Z smokeink quit (Remote host closed the connection) 2016-08-19T14:16:26Z warweasle: ahirsch: What are you parsing? Genearlly, writing a parser in lisp is trivial. 2016-08-19T14:16:41Z ahirsch: nothing complicated, just a little description language 2016-08-19T14:16:54Z ahirsch: but nothing particularly lisp-like 2016-08-19T14:17:08Z warweasle: ahirsch: You can just use straight lisp if you know your data is safe. 2016-08-19T14:18:08Z ahirsch: warweasle: that seems plausible, but it feels a little like reinventing the wheel 2016-08-19T14:18:14Z warweasle: ahirsch: There is also a good javascript parser library. 2016-08-19T14:18:26Z warweasle: ahirsch: What does your data look like? 2016-08-19T14:19:26Z ahirsch: warweasle: It's just some types for a language with functions and parametric polymorphism 2016-08-19T14:19:48Z ahirsch: warweasle: the only part that is making me hesitate to roll my own is the variable capture in the forall-statements 2016-08-19T14:20:24Z IPmonger joined #lisp 2016-08-19T14:20:39Z ahirsch: warweasle: but it sounds like rolling my own might be the best option? 2016-08-19T14:23:51Z sjl quit (Ping timeout: 264 seconds) 2016-08-19T14:28:37Z warweasle: ahirsch: Or the javascript parser. 2016-08-19T14:29:20Z warweasle: ahirsch: I'm not sure what you mean by variable capture. 2016-08-19T14:32:11Z slyrus joined #lisp 2016-08-19T14:32:38Z phoe joined #lisp 2016-08-19T14:33:13Z phoe: I accidentally joined #clboons instead of #clnoobs 2016-08-19T14:33:23Z warweasle: ahirsch: I'm willing to help if you need. 2016-08-19T14:33:32Z warweasle: phoe: Is that a thing? 2016-08-19T14:33:57Z smokeink joined #lisp 2016-08-19T14:34:43Z dmiles joined #lisp 2016-08-19T14:35:05Z eivarv joined #lisp 2016-08-19T14:35:07Z smokeink quit (Remote host closed the connection) 2016-08-19T14:36:28Z moore33 joined #lisp 2016-08-19T14:36:52Z smokeink joined #lisp 2016-08-19T14:37:19Z pbgc joined #lisp 2016-08-19T14:37:58Z pbgc quit (Max SendQ exceeded) 2016-08-19T14:38:27Z eschulte joined #lisp 2016-08-19T14:39:52Z danieli quit (Ping timeout: 250 seconds) 2016-08-19T14:40:06Z MoALTz joined #lisp 2016-08-19T14:40:53Z papachan joined #lisp 2016-08-19T14:42:20Z Munksgaard quit (Read error: Connection reset by peer) 2016-08-19T14:43:33Z phoe: warweasle: it's not 2016-08-19T14:43:34Z phoe: I mean 2016-08-19T14:43:39Z phoe: ...it might become one 2016-08-19T14:45:09Z karswell` joined #lisp 2016-08-19T14:46:26Z cibs quit (Ping timeout: 240 seconds) 2016-08-19T14:46:56Z waser joined #lisp 2016-08-19T14:48:28Z cibs joined #lisp 2016-08-19T14:49:22Z waser quit (Client Quit) 2016-08-19T14:49:29Z papachan quit (Ping timeout: 244 seconds) 2016-08-19T14:50:18Z kilfer joined #lisp 2016-08-19T14:50:26Z BusFactor1 joined #lisp 2016-08-19T14:50:56Z zacts quit (Quit: WeeChat 1.5) 2016-08-19T14:51:31Z danieli joined #lisp 2016-08-19T14:53:13Z mathi_aihtam joined #lisp 2016-08-19T14:58:53Z Mon_Ouie joined #lisp 2016-08-19T15:02:57Z papachan joined #lisp 2016-08-19T15:03:10Z wildlander joined #lisp 2016-08-19T15:03:10Z wildlander quit (Max SendQ exceeded) 2016-08-19T15:03:54Z wildlander joined #lisp 2016-08-19T15:03:54Z wildlander quit (Max SendQ exceeded) 2016-08-19T15:03:59Z IPmonger quit (Ping timeout: 258 seconds) 2016-08-19T15:05:32Z wildlander joined #lisp 2016-08-19T15:05:32Z wildlander quit (Max SendQ exceeded) 2016-08-19T15:05:40Z IPmonger joined #lisp 2016-08-19T15:06:49Z mathi_aihtam quit (Read error: Connection reset by peer) 2016-08-19T15:07:03Z wildlander joined #lisp 2016-08-19T15:07:03Z wildlander quit (Max SendQ exceeded) 2016-08-19T15:07:04Z sjl joined #lisp 2016-08-19T15:08:00Z wildlander joined #lisp 2016-08-19T15:08:01Z wildlander quit (Max SendQ exceeded) 2016-08-19T15:08:18Z lambda-smith joined #lisp 2016-08-19T15:08:33Z mathi_aihtam joined #lisp 2016-08-19T15:08:48Z wildlander joined #lisp 2016-08-19T15:08:49Z zacharias quit (Ping timeout: 265 seconds) 2016-08-19T15:08:54Z wildlander quit (Changing host) 2016-08-19T15:08:54Z wildlander joined #lisp 2016-08-19T15:09:13Z mathi_aihtam quit (Client Quit) 2016-08-19T15:10:07Z IPmonger quit (Ping timeout: 258 seconds) 2016-08-19T15:10:15Z lnostdal quit (Read error: Connection reset by peer) 2016-08-19T15:12:16Z cantstanya quit (Read error: Connection reset by peer) 2016-08-19T15:14:34Z zacts joined #lisp 2016-08-19T15:21:31Z wccoder joined #lisp 2016-08-19T15:23:06Z shrdlu68: Is there a built-in way to collect objects in a collection that match a certain criteria? 2016-08-19T15:23:45Z eivarv quit (Quit: Sleep) 2016-08-19T15:23:48Z shrdlu68: Something like find-if, but one that searches the entire sequence and returns a sequence. 2016-08-19T15:23:55Z rme: (remove-if 'something-p sequence) 2016-08-19T15:24:18Z norfumpit quit (Ping timeout: 258 seconds) 2016-08-19T15:24:19Z shrdlu68: rme: touche 2016-08-19T15:24:25Z moore33: remove-if-not :) 2016-08-19T15:24:37Z shrdlu68: It's been a while since I lisped :( 2016-08-19T15:24:52Z lexicall joined #lisp 2016-08-19T15:24:52Z flamebeard quit (Quit: Leaving) 2016-08-19T15:24:54Z moore33: Actually does what you want. Deprecated, but not really. 2016-08-19T15:25:29Z raydeejay: will be removed in the next version of the standard? xD 2016-08-19T15:25:32Z moore33: rme: Hey, I'm in your state. 2016-08-19T15:25:53Z wccoder quit (Ping timeout: 258 seconds) 2016-08-19T15:26:04Z rme: moore33: Really? Welcome! 2016-08-19T15:26:22Z moore33: rme: With my in-laws in Cleveland. 2016-08-19T15:26:40Z shrdlu68: state...of mind? 2016-08-19T15:27:03Z lambda-smith quit (Quit: Konversation terminated!) 2016-08-19T15:28:07Z phoe: raydeejay: XD 2016-08-19T15:28:21Z phoe: actually, I've seen fair movements to un-deprecate REMOVE-IF-NOT. 2016-08-19T15:28:41Z rme: moore33: If you want to come down to Medina to say hello or chat over lunch or dinner, you would be welcome. 2016-08-19T15:28:47Z moore33: phoe: Exactly. 2016-08-19T15:28:51Z phoe: And I'm in that camp myself, too, especially because it's basically a filter function, and as such it should *not* be deprecated. 2016-08-19T15:29:07Z dlowe: any statement of deprecation in the spec should be sniffed at with the scorn it deserves 2016-08-19T15:29:10Z phoe: ^ 2016-08-19T15:29:15Z shrdlu68: Why null and not nullp? It breaks stride awkwardly. 2016-08-19T15:29:37Z dlowe: shrdlu68: there's lots of warts. If you focus on them, you will only make yourself sad. 2016-08-19T15:29:50Z moore33: rme: Hey thanks! As you might imagine, things are pretty tightly booked, especially as grandparents are involved. 2016-08-19T15:29:50Z phoe: shrdlu68: because it follows the convention 2016-08-19T15:29:54Z phoe: see ATOM 2016-08-19T15:29:55Z shrdlu68: I actually expected nil-p :) 2016-08-19T15:29:56Z dlowe: attempts to remove the warts have met mostly in failure 2016-08-19T15:30:07Z phoe ducks 2016-08-19T15:30:08Z dlowe: null is the type of nil 2016-08-19T15:30:09Z shrdlu68: dlowe: Hehe 2016-08-19T15:30:39Z moore33: dlowe: Is that true? I had thought that null was the type of nothing. 2016-08-19T15:31:18Z phoe: moore33: NIL is the type of nothing. 2016-08-19T15:31:26Z phoe: NULL is the type of the atom NIL. 2016-08-19T15:31:48Z phoe: (TYPEP NIL 'NULL) ;=> T 2016-08-19T15:32:12Z moore33: phoe: Oh yeah. Thanks for straightening me out. 2016-08-19T15:32:20Z rme: moore33: I figured, but please let me know if I can have the chance to offer you some payback hospitality. :-) 2016-08-19T15:32:49Z moore33: rme: I appreciate it! 2016-08-19T15:34:17Z rme: remove-if-not could be named choose-if 2016-08-19T15:34:40Z shrdlu68: avoid-if... 2016-08-19T15:34:58Z phoe: rme: filter 2016-08-19T15:35:01Z phoe: that's my call 2016-08-19T15:35:10Z akkad: if pcall::task-p does not exist to test an object, do you do some (string= (format nil "~A" (type-of task)) "pcall::task") ? 2016-08-19T15:35:33Z moore33: Doesn't clojure have some interesting idiom for that? 2016-08-19T15:35:39Z varjag quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2016-08-19T15:36:22Z rme: I believe that Clojure calls it filter. 2016-08-19T15:36:38Z slyrus quit (Ping timeout: 250 seconds) 2016-08-19T15:36:42Z Karl_Dscc joined #lisp 2016-08-19T15:37:03Z karswell` quit (Ping timeout: 264 seconds) 2016-08-19T15:39:02Z raydeejay: Smalltalk calls it select: 2016-08-19T15:39:45Z eivarv joined #lisp 2016-08-19T15:40:29Z raydeejay: or filter: (remove-if-not and remove-if, respectively) 2016-08-19T15:42:21Z DGASAU quit (Read error: Connection reset by peer) 2016-08-19T15:42:24Z IPmonger joined #lisp 2016-08-19T15:42:42Z adolf_stalin joined #lisp 2016-08-19T15:44:34Z Th30n quit (Ping timeout: 250 seconds) 2016-08-19T15:45:02Z pareidolia quit (Remote host closed the connection) 2016-08-19T15:48:44Z DeadTrickster_ joined #lisp 2016-08-19T15:50:05Z wccoder joined #lisp 2016-08-19T15:50:10Z asc232 joined #lisp 2016-08-19T15:51:18Z DGASAU joined #lisp 2016-08-19T15:51:22Z Bike joined #lisp 2016-08-19T15:54:10Z DeadTrickster quit (Ping timeout: 265 seconds) 2016-08-19T15:54:44Z EvW joined #lisp 2016-08-19T15:54:55Z zacts quit (Quit: WeeChat 1.5) 2016-08-19T15:56:24Z Grue` quit (Ping timeout: 260 seconds) 2016-08-19T15:58:25Z DeadTrickster joined #lisp 2016-08-19T15:59:03Z Th30n joined #lisp 2016-08-19T16:02:14Z DeadTrickster_ quit (Ping timeout: 260 seconds) 2016-08-19T16:02:36Z fourier joined #lisp 2016-08-19T16:04:55Z jackdaniel: rme: I prefere name filter :) 2016-08-19T16:06:23Z fiddlerwoaroof: Ok, this is surprisingly difficult 2016-08-19T16:06:54Z fiddlerwoaroof: How do I portably add a subdirectory to the pathname of its parent directory? 2016-08-19T16:08:02Z fiddlerwoaroof: i.e. I have some directory /tmp/my-directory/ and I want a pathname for a subdirectory of it such as foo/ 2016-08-19T16:08:11Z fiddlerwoaroof: (which may not exist) 2016-08-19T16:08:12Z jackdaniel: ensure-directories-exist 2016-08-19T16:08:29Z fiddlerwoaroof: I want to compose the pathname 2016-08-19T16:08:43Z fiddlerwoaroof: I had a way that worked using merge-pathnames but it broke on ccl 2016-08-19T16:08:46Z wccoder quit (Remote host closed the connection) 2016-08-19T16:09:14Z jackdaniel: cl-fad has merge-pathnames-as-directory afaik 2016-08-19T16:09:27Z fiddlerwoaroof: Hmm, maybe something like that's what I need 2016-08-19T16:10:20Z fiddlerwoaroof: Hmm, I wonder what was happening 2016-08-19T16:10:26Z fiddlerwoaroof: I can't reproduce it 2016-08-19T16:10:33Z rme: Something like (make-pathname :directory (append (pathname-directory p) '("foo")) :defaults p) should work, right? 2016-08-19T16:11:01Z fiddlerwoaroof: That should work 2016-08-19T16:11:34Z fiddlerwoaroof: Ok, the other problem I have is that ccl insists on escaping colons in a pathname but doesn't seem to provide a way to get an unescaped version 2016-08-19T16:11:40Z mvilleneuve quit (Quit: This computer has gone to sleep) 2016-08-19T16:12:24Z rme: You can use ccl:native-translated-pathname to get a namestring with no escaped characters. 2016-08-19T16:12:37Z fiddlerwoaroof: But there's no portable way to do this? 2016-08-19T16:12:44Z rme: native-translated-namestring, I mean. 2016-08-19T16:13:06Z rme: Unfortunately, namestrings are completely non-portable. 2016-08-19T16:13:10Z fiddlerwoaroof: Cool, that's what I was missing 2016-08-19T16:13:52Z lexicall quit (Quit: Ah, my macbook is gonna sleep!) 2016-08-19T16:14:03Z nzambe quit (Ping timeout: 250 seconds) 2016-08-19T16:14:06Z wccoder joined #lisp 2016-08-19T16:14:17Z fiddlerwoaroof: I suppose I'll have to use uiop? 2016-08-19T16:15:14Z BlueRavenGT joined #lisp 2016-08-19T16:15:39Z fiddlerwoaroof: uiop:native-namestring seems to abstract what I need 2016-08-19T16:16:12Z fourier quit (Ping timeout: 240 seconds) 2016-08-19T16:17:25Z rme: http://trac.clozure.com/ccl/ticket/632 talks about gory details of namestring quoting in ccl. 2016-08-19T16:17:56Z fiddlerwoaroof: The mac background makes colon quoting make sense 2016-08-19T16:18:22Z jleija joined #lisp 2016-08-19T16:22:07Z varjag joined #lisp 2016-08-19T16:22:53Z fourier joined #lisp 2016-08-19T16:24:06Z EvW quit (Ping timeout: 258 seconds) 2016-08-19T16:24:22Z sjl quit (Ping timeout: 252 seconds) 2016-08-19T16:26:30Z sjl joined #lisp 2016-08-19T16:26:31Z j0nii joined #lisp 2016-08-19T16:26:58Z shka quit (Quit: Konversation terminated!) 2016-08-19T16:28:26Z eivarv quit (Quit: Sleep) 2016-08-19T16:31:44Z eivarv joined #lisp 2016-08-19T16:31:50Z mbrock joined #lisp 2016-08-19T16:42:54Z Lord_of_Life quit (Excess Flood) 2016-08-19T16:42:59Z slyrus joined #lisp 2016-08-19T16:43:07Z knicklux quit (Remote host closed the connection) 2016-08-19T16:43:18Z Davidbrcz joined #lisp 2016-08-19T16:43:23Z BusFactor1 quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2016-08-19T16:43:38Z Lord_of_Life joined #lisp 2016-08-19T16:44:11Z BusFactor1 joined #lisp 2016-08-19T16:46:12Z dyelar quit (Ping timeout: 240 seconds) 2016-08-19T16:46:22Z scymtym joined #lisp 2016-08-19T16:49:04Z hhdave quit (Ping timeout: 264 seconds) 2016-08-19T16:49:21Z fourier quit (Ping timeout: 265 seconds) 2016-08-19T16:49:32Z IPmonger quit (Ping timeout: 240 seconds) 2016-08-19T16:50:05Z Kruppe quit (Quit: ZNC - http://znc.in) 2016-08-19T16:51:23Z Kruppe joined #lisp 2016-08-19T16:53:34Z Davidbrcz quit (Ping timeout: 260 seconds) 2016-08-19T16:57:30Z slyrus quit (Ping timeout: 258 seconds) 2016-08-19T16:58:33Z IPmonger joined #lisp 2016-08-19T16:59:49Z m00natic quit (Remote host closed the connection) 2016-08-19T17:00:04Z sjl__ joined #lisp 2016-08-19T17:00:47Z PosterdatiMobile: ho 2016-08-19T17:01:13Z PosterdatiMobile: there's one able to quickload antik on i386? 2016-08-19T17:03:21Z IPmonger quit (Client Quit) 2016-08-19T17:03:33Z sjl quit (Ping timeout: 276 seconds) 2016-08-19T17:04:54Z slyrus joined #lisp 2016-08-19T17:05:54Z discardedes joined #lisp 2016-08-19T17:05:57Z sjl joined #lisp 2016-08-19T17:08:07Z Davidbrcz joined #lisp 2016-08-19T17:08:07Z papachan quit (Ping timeout: 265 seconds) 2016-08-19T17:08:18Z sjl__ quit (Ping timeout: 244 seconds) 2016-08-19T17:11:23Z vap1 is now known as vaporatorius 2016-08-19T17:11:58Z schjetne quit (Remote host closed the connection) 2016-08-19T17:13:03Z slyrus quit (Ping timeout: 264 seconds) 2016-08-19T17:15:08Z shrdlu68 quit (Ping timeout: 250 seconds) 2016-08-19T17:16:54Z shrdlu68 joined #lisp 2016-08-19T17:26:25Z eivarv quit (Quit: Sleep) 2016-08-19T17:27:42Z eivarv joined #lisp 2016-08-19T17:30:21Z sjl quit (Ping timeout: 265 seconds) 2016-08-19T17:34:41Z shka_ joined #lisp 2016-08-19T17:38:39Z alphor: uh using slime, is there a way to find-function? 2016-08-19T17:39:00Z alphor: or generally browse the source of ql'd packages 2016-08-19T17:39:36Z raydeejay: try M-. 2016-08-19T17:41:22Z alphor: sweet, exactly what I was looking for. thanks! 2016-08-19T17:41:53Z raydeejay: np 2016-08-19T17:42:03Z raydeejay: also M-, to go back where you were 2016-08-19T17:42:25Z alphor: you read my mind 2016-08-19T17:42:30Z raydeejay: ^^ 2016-08-19T17:45:01Z lnostdal joined #lisp 2016-08-19T17:47:09Z eivarv quit (Quit: Sleep) 2016-08-19T17:49:00Z aeth: if anyone wants land of lisp, etc, it's only $8 as part of a huge bundle: https://www.humblebundle.com/books/joy-of-coding-book-bundle 2016-08-19T17:49:22Z aeth: the two other lisp books are off topic though because they're different lisp dialects 2016-08-19T17:49:52Z phoe quit (Ping timeout: 240 seconds) 2016-08-19T17:51:14Z aeth: the ebook appears to be $39.95 on the publisher website, so it's $32 cheaper even if you don't want the other books 2016-08-19T17:53:44Z ptroja joined #lisp 2016-08-19T17:54:07Z asc232 quit (Remote host closed the connection) 2016-08-19T17:56:17Z eivarv joined #lisp 2016-08-19T17:57:12Z mastokley joined #lisp 2016-08-19T18:03:33Z schjetne joined #lisp 2016-08-19T18:03:49Z milanj quit (Quit: This computer has gone to sleep) 2016-08-19T18:04:05Z mnoonan joined #lisp 2016-08-19T18:05:09Z Karl_Dscc quit (Remote host closed the connection) 2016-08-19T18:06:43Z eivarv quit (Quit: Sleep) 2016-08-19T18:07:34Z schjetne quit (Remote host closed the connection) 2016-08-19T18:08:39Z gingerale joined #lisp 2016-08-19T18:09:59Z BusFactor1 quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2016-08-19T18:11:22Z knobo: how do I expand #p"~/" to #p"/home/knobo/"? 2016-08-19T18:11:31Z fiddlerwoaroof: (truename #p"~/") 2016-08-19T18:11:32Z DGASAU quit (Ping timeout: 240 seconds) 2016-08-19T18:11:35Z knobo: right. 2016-08-19T18:11:51Z fiddlerwoaroof: Although, I'm not sure how portable that is it works on ccl and sbcl, at least 2016-08-19T18:12:43Z rme: Also, user-homedir-pathname is standard CL 2016-08-19T18:12:59Z rme: (it's a function) 2016-08-19T18:14:33Z nalik joined #lisp 2016-08-19T18:15:23Z impaktor left #lisp 2016-08-19T18:17:03Z IPmonger joined #lisp 2016-08-19T18:17:49Z impaktor joined #lisp 2016-08-19T18:20:07Z nalik quit (Ping timeout: 244 seconds) 2016-08-19T18:21:38Z ptroja: hi, can I insert a key into hash-table and check if it indeed was not there before without repeating gethash? 2016-08-19T18:21:56Z fiddlerwoaroof: the second return value of gethash? 2016-08-19T18:22:13Z ptroja: yes, but without calling gethash for the second time 2016-08-19T18:22:19Z fiddlerwoaroof: it's nil if the key wasn't present 2016-08-19T18:22:29Z fiddlerwoaroof: Ah, I see 2016-08-19T18:23:00Z eivarv joined #lisp 2016-08-19T18:23:21Z fiddlerwoaroof: Maybe Alexandria's ensure-gethash? 2016-08-19T18:23:27Z ptroja: yep, if I use multiple-value-bind (to test the second return value) then I cannot setf the first one. 2016-08-19T18:23:29Z Xizor joined #lisp 2016-08-19T18:23:43Z phoe joined #lisp 2016-08-19T18:24:34Z ptroja: perfect, thanks! 2016-08-19T18:24:48Z fiddlerwoaroof: I don't know how it's implemented, it might actually call gethash twice, if that's a proble 2016-08-19T18:25:13Z bocaneri quit (Remote host closed the connection) 2016-08-19T18:26:41Z ptroja: oh, it indeed does call it twice. 2016-08-19T18:27:25Z dlowe: ptroja: are you attempting to access a hash table atomically for threading? 2016-08-19T18:28:55Z ptroja: no, I am just learning lisp and found this odd. I used to do this in a single call (in Ada). 2016-08-19T18:29:21Z dlowe: I have to say, I've never once wondered, after setting a hash table value, if there was something I overwrote. 2016-08-19T18:29:30Z raydeejay: I'm curious... why not check before inserting? 2016-08-19T18:29:33Z dlowe: but maybe I just haven't been in the right domains. 2016-08-19T18:29:45Z dlowe: well, if you're threading, you can get a race condition. 2016-08-19T18:29:49Z fiddlerwoaroof: this & 2016-08-19T18:29:54Z dlowe: if you're not, I guess it's just unsightly 2016-08-19T18:29:57Z fiddlerwoaroof: s/&/^/ 2016-08-19T18:29:59Z schjetne joined #lisp 2016-08-19T18:29:59Z dlowe: if that's a thing you want 2016-08-19T18:30:05Z raydeejay: oh come on 2016-08-19T18:30:16Z raydeejay: I'm curious... all other things being equal, why not check before inserting? better? xD 2016-08-19T18:30:33Z fiddlerwoaroof: the main reason is possible race conditions 2016-08-19T18:30:44Z ptroja: because doing this in a single search is faster (?) 2016-08-19T18:31:27Z raydeejay: ok, but what I was thinking is that the hashmap would have to somehow remember if a key existed before 2016-08-19T18:31:42Z raydeejay: which sounded a bit weird to some of us 2016-08-19T18:32:02Z Bike: (setf gethash) could hypothetically return, in addition to whatever it already returns, a boolean indicating whether it had to insert an entry 2016-08-19T18:32:28Z Bike: since it already has to have different internal behavior based on previous existence, it's not that far fetched 2016-08-19T18:32:57Z yang quit (Ping timeout: 258 seconds) 2016-08-19T18:33:38Z ptroja: exacly Bike. that's why in Ada there is Include (which overwrites), Insert (which returns an exception if a key is already present) and another Insert that tells you if it overwritten or not 2016-08-19T18:33:41Z fiddlerwoaroof: is setf's behavior defined with multiple return values? 2016-08-19T18:34:16Z Bike: er, well, no. i guess it would not be a setf function. 2016-08-19T18:34:31Z Bike: ptroja: ada is more exacting than most things, including lisp. 2016-08-19T18:34:40Z fiddlerwoaroof: clhs setf 2016-08-19T18:34:40Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_setf_.htm 2016-08-19T18:34:48Z fiddlerwoaroof: "results---the multiple values[2] returned by the storing form for the last place, or nil if there are no pairs" 2016-08-19T18:35:00Z fiddlerwoaroof: Looks like the setf expander could return a second value 2016-08-19T18:35:05Z TMA: fiddlerwoaroof: you can (setf (values a b c) (values 1 2 3)) if that's what you are asking 2016-08-19T18:35:10Z eivarv quit (Quit: Sleep) 2016-08-19T18:35:27Z fiddlerwoaroof: No, the question is what happens if a #'(setf foo) function returns multiple values? 2016-08-19T18:35:29Z Bike: whatever. 2016-08-19T18:35:32Z oleo: or (setf a 1 b 2 c 3) 2016-08-19T18:35:41Z Bike: that doesn't return multiple values. 2016-08-19T18:36:09Z dlowe: "A function named (setf f) must return its first argument as its only value in order to preserve the semantics of setf." 2016-08-19T18:36:11Z oleo: oh he want multiple ? 2016-08-19T18:36:15Z dlowe: http://clhs.lisp.se/Body/05_abi.htm 2016-08-19T18:36:23Z Bike: look, it's not important. 2016-08-19T18:38:54Z DGASAU joined #lisp 2016-08-19T18:39:38Z testpt joined #lisp 2016-08-19T18:40:29Z testpt quit (Client Quit) 2016-08-19T18:43:29Z ptroja: Bike: Ada has its own problems, I would say, just like lisp 2016-08-19T18:43:41Z milanj joined #lisp 2016-08-19T18:43:49Z Bike: trust me, i did not mean "exacting" as an unambiguous good thing 2016-08-19T18:44:27Z Bike: i haven't used ada but i've used vhdl. i no longer want to use government products for programming 2016-08-19T18:50:07Z ptroja: for me it does not matter that much what organization paid for the standardization effort. I care about the in the result and this comes from the people, not from the funding. 2016-08-19T18:51:33Z PuercoPop: jackdaniel: Btw were you able to run clx's gl demo before or after the change? 2016-08-19T18:51:58Z Bike: yeah. i was trying to kid. fell flat. maybe i belong in a subcommittee after all. 2016-08-19T18:52:26Z jackdaniel: PuercoPop: no, this one didn't work before the change 2016-08-19T18:52:32Z ptroja: anyway, I do not want to go on a language war, today at least :) 2016-08-19T18:52:36Z edgar-rft: Ada is a woman and Lisp is a linuistic disorder, so Lisp will produce less problems in the long run. 2016-08-19T18:52:58Z PuercoPop: jackdaniel: yeah, I didn't manage to run the demo either, that is why I didn't submit the PR 2016-08-19T18:53:00Z Bike: ugh 2016-08-19T18:53:06Z PuercoPop: (before renaming that is) 2016-08-19T18:53:10Z jackdaniel: right 2016-08-19T18:53:41Z PuercoPop: btw you have experience with texinfo right? 2016-08-19T18:54:01Z jackdaniel: yes, I'm rewriting (slowly) ecl documentation in it 2016-08-19T18:54:21Z dyelar joined #lisp 2016-08-19T18:54:23Z schjetne: Bike: Isn't Common Lisp also a government product? 2016-08-19T18:54:32Z nalik joined #lisp 2016-08-19T18:54:55Z Bike: probably. at some point. i know they partly funded it, but the standardization committee was ANSI or something, which may or may not be a national agency. 2016-08-19T18:55:16Z Bike: nope. nonprofit. bam totally fine 2016-08-19T18:55:50Z raydeejay: it was pretty much defined before going to ANSI, anyway 2016-08-19T18:56:15Z schjetne: I'm thinking of ARPA, but I guess they didn't have much technical input 2016-08-19T18:57:01Z Bike: i just wanted to say i really don't like using vhdl. man. the ridiculous logic thing is ieee anyway. i am bad at communicating today. 2016-08-19T18:57:23Z raydeejay: it's more abut who makes choices than about who pays... goverment's money is your money, in the end 2016-08-19T18:59:29Z ptroja: back to the problem, here is precisely the same question: http://stackoverflow.com/questions/22007962/avoiding-redundant-place-calculations-with-setf apparently it is not possible to avoid second gethash, but the compiler (at least CCL) is smart enough to remove it. 2016-08-19T19:00:08Z Bike: oh, i was going to mention that possibility but i didn't know if it was actually true. nice. 2016-08-19T19:00:10Z PlasmaStar joined #lisp 2016-08-19T19:02:24Z phoe: ptroja: GETHASH is a place, which makes things a bit more complicated. 2016-08-19T19:02:36Z phoe: This is how SBCL expands it: 2016-08-19T19:02:36Z phoe: (LET* ((#:KEY HASHMAP) (#:HASHTABLE KEY) (#:NEW1 (+ 200 (GETHASH HASHMAP KEY)))) 2016-08-19T19:02:37Z phoe: (SB-KERNEL:%PUTHASH #:KEY #:HASHTABLE #:NEW1)) 2016-08-19T19:02:38Z sharkteeth quit (Ping timeout: 244 seconds) 2016-08-19T19:02:44Z phoe: Which looks like the naive way. 2016-08-19T19:02:56Z wccoder quit (Remote host closed the connection) 2016-08-19T19:03:04Z phoe: But again - the compiler might recognize it and optimize. 2016-08-19T19:03:23Z Bike: on sbcl i'm pretty sure hash tables cache the last access, so there's that 2016-08-19T19:03:56Z yrk quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2016-08-19T19:04:49Z sharkteeth joined #lisp 2016-08-19T19:06:32Z eivarv joined #lisp 2016-08-19T19:06:53Z ptroja: Bike: true. that's what I have just found here: http://stackoverflow.com/questions/1099509/how-can-i-reuse-a-gethash-lookup-in-common-lisp 2016-08-19T19:06:59Z PuercoPop: do you know how to handle the case of @xref'ing symbols in the keyword package? the CLX manual does it and it breaks the links in the info browser, works on the HTML manual though 2016-08-19T19:07:48Z akkad: so there is t, and nil. is there a difference between 'undefined' and nil? 2016-08-19T19:07:58Z akkad: s/undefined/unbound 2016-08-19T19:08:05Z raydeejay: yes 2016-08-19T19:08:23Z PuercoPop: akkad: of course, you can access/read an unbound variable (it signals a condition) 2016-08-19T19:09:29Z akkad: ok. so i'll use defined/unbound test vs t/f 2016-08-19T19:11:47Z raydeejay: those test different things 2016-08-19T19:12:56Z jackdaniel: PuercoPop: no, sorry 2016-08-19T19:14:16Z akkad: right 2016-08-19T19:15:48Z moore33: fiddlerwoaroof: Not to beat a dead horse, but multiple values in a setf form are well supported, if the set expander is prepared to accept them. 2016-08-19T19:15:58Z moore33: setf expander 2016-08-19T19:16:46Z j0nii quit (Ping timeout: 250 seconds) 2016-08-19T19:17:34Z Trystam joined #lisp 2016-08-19T19:17:49Z moore33: Just yesterday I wrote a setf expander that makes dealing with 3 element vectors in an array much more convenient. 2016-08-19T19:18:41Z Xizor quit (Read error: Connection reset by peer) 2016-08-19T19:20:12Z Tristam quit (Ping timeout: 240 seconds) 2016-08-19T19:23:38Z angavrilov quit (Remote host closed the connection) 2016-08-19T19:26:43Z fiddlerwoaroof: moore33: the question I had was what happens if a setf expander returns multiple values 2016-08-19T19:27:17Z fiddlerwoaroof: And dlowe's link indicates that the result is unspecified 2016-08-19T19:27:32Z wccoder joined #lisp 2016-08-19T19:27:43Z fiddlerwoaroof: "A function named (setf f) must return its first argument as its only value in order to preserve the semantics of setf. 2016-08-19T19:27:46Z warweasle quit (Quit: bye) 2016-08-19T19:28:19Z Bike: you can have other setf expanders. 2016-08-19T19:28:39Z Bike: or rather, a setf expander, since a setf function isn't an expander, it's the result of the default expansion. 2016-08-19T19:29:07Z fiddlerwoaroof: Ok, that makes sense (I thought of that after hitting enter) 2016-08-19T19:30:18Z strelox joined #lisp 2016-08-19T19:31:56Z knicklux joined #lisp 2016-08-19T19:33:01Z nzambe joined #lisp 2016-08-19T19:41:31Z vlatkoB quit (Remote host closed the connection) 2016-08-19T19:48:29Z nalik quit (Quit: Leaving) 2016-08-19T19:51:58Z danieli quit (Changing host) 2016-08-19T19:51:58Z danieli joined #lisp 2016-08-19T19:52:56Z glorioso joined #lisp 2016-08-19T19:53:11Z wccoder quit (Remote host closed the connection) 2016-08-19T19:53:29Z wccoder joined #lisp 2016-08-19T19:53:38Z BusFactor1 joined #lisp 2016-08-19T19:56:07Z Bike: minion: memo for beach: actually, the THE thing might be the root issue. THE can't work in general if it has to M->F first anyway. i don't understand ast-to-hir enough to do anything, though. 2016-08-19T19:56:07Z minion: Remembered. I'll tell beach when he/she/it next speaks. 2016-08-19T19:56:39Z moore33: fiddlerwoaroof: If the setf expander accepts multiple values, it should return all of them. 2016-08-19T19:57:19Z moore33: At least, that's the way I write mine. 2016-08-19T19:57:35Z fiddlerwoaroof: Can it return extra information? like, whether the key was in the hash-table? 2016-08-19T19:59:31Z moore33: fiddlerwoaroof: Generally one doesn't, because expanders can be chained in unpredictable ways. 2016-08-19T20:01:07Z fiddlerwoaroof: moore33: Yeah, I was just trying to figure out whether it was possible to do what ptroja was asking about: set a value in a hash table and check whether that value was previously set with one call to gethash 2016-08-19T20:01:40Z sharkteeth quit (Quit: Textual IRC Client: www.textualapp.com) 2016-08-19T20:09:38Z sjl joined #lisp 2016-08-19T20:11:52Z hhdave joined #lisp 2016-08-19T20:11:56Z gravicappa quit (Remote host closed the connection) 2016-08-19T20:11:56Z dlowe: well, there is one way in sbcl, which is to use sb-ext:compare-and-swap 2016-08-19T20:12:08Z sellout- joined #lisp 2016-08-19T20:12:28Z m00natic joined #lisp 2016-08-19T20:13:00Z jdz quit (Ping timeout: 258 seconds) 2016-08-19T20:13:12Z dlowe: actually, rotatef might work if you're willing to accept a nil value as "not existing" 2016-08-19T20:13:27Z ggole quit 2016-08-19T20:14:11Z dlowe: (setf val 5) (rotatef (gethash key table) val) ; val now contains the previous value, or nil if no value existed 2016-08-19T20:14:43Z Bike: still probably have a separate read and write. 2016-08-19T20:16:42Z NeverDie quit (Quit: http://radiux.io/) 2016-08-19T20:17:24Z dlowe: yes? This wasn't a threading question. 2016-08-19T20:17:26Z voidlily joined #lisp 2016-08-19T20:18:02Z Bike: yes, but multiple accesses seemed to be a concern. 2016-08-19T20:19:00Z jdz joined #lisp 2016-08-19T20:19:37Z PosterdatiMobile: hi 2016-08-19T20:20:27Z PosterdatiMobile: I've got a problem with slime and emacs, launching slime freezes emacs (emacs 24.5, ecl 16.1.2, slime 2.18 on i386 OpenSD 5.9) please help! thanks 2016-08-19T20:20:46Z PosterdatiMobile: I installed quicklisp-slime-helper 2016-08-19T20:27:24Z akkad: don't use openbsd 2016-08-19T20:27:47Z Bike: don't be obnoxious. 2016-08-19T20:30:14Z glorioso: PosterdatiMobile I think you're in the wrong channel, this is for Lisp not Emacs 2016-08-19T20:30:57Z glorioso: try #emacs 2016-08-19T20:31:13Z Bike: slime is related, though 2016-08-19T20:31:23Z PosterdatiMobile: #emacs is not the right place 2016-08-19T20:31:31Z glorioso: why not? 2016-08-19T20:31:31Z aeth: Depends on which side the error is. 2016-08-19T20:31:40Z aeth: s/is/is on/ 2016-08-19T20:31:46Z PosterdatiMobile: I think could be a connection related problem 2016-08-19T20:31:49Z aeth: oh wait I had it originally 2016-08-19T20:31:50Z dlowe: isn't there a #slime channel? 2016-08-19T20:31:53Z milanj quit (Quit: This computer has gone to sleep) 2016-08-19T20:32:20Z PosterdatiMobile: seems that it tries to connect to swank server, but no answer from it, maybe a port related problem 2016-08-19T20:32:37Z aeth: Quite a few things could be causing the problem. Emacs, ECL, SLIME, OpenBSD, etc. 2016-08-19T20:33:48Z PosterdatiMobile: netstat | grep swank returns nothing 2016-08-19T20:34:02Z glorioso: PosterdatiMobile think about it though, this is a channel for the Common Lisp language, not programmes that implement that 2016-08-19T20:34:37Z PosterdatiMobile: glorioso, I started to be on #lisp 8 years ago, and you? 2016-08-19T20:34:46Z glorioso: does it matter? 2016-08-19T20:35:40Z Bike: it's perfectly reasonable to ask about a lisp ide in the lisp channel 2016-08-19T20:35:41Z glorioso: I mean if you're having a problem with a specific program it might be better to try and find something related to that rather than a language it's related to 2016-08-19T20:36:06Z glorioso: It's reasonable sure, I'm just saying give #emacs or #slime a try first 2016-08-19T20:36:42Z Bike: this is probably a better place than emacs, because there are probably more slime users here than there 2016-08-19T20:36:50Z PosterdatiMobile: #slime does not exist, #emacs is a jokes related channel, you wouldn't get any reasonable answer to a problem ther! :) 2016-08-19T20:37:13Z glorioso: Do you know how old I am PosterdatiMobile? 2016-08-19T20:37:17Z glorioso: you should listen to me 2016-08-19T20:37:25Z raydeejay: lol 2016-08-19T20:37:30Z Bike: you realize that's as stupid to say as "i've been here longer than you" 2016-08-19T20:37:30Z raydeejay: sorry, couldn't help myself xD 2016-08-19T20:37:35Z glorioso: See sounds stupid doesn't it? 2016-08-19T20:37:46Z PosterdatiMobile: maybe 2016-08-19T20:37:47Z raydeejay: it's not the same and you know it 2016-08-19T20:37:51Z Bike: they're both silly. 2016-08-19T20:37:52Z raydeejay: and this is pointless and you also know it 2016-08-19T20:37:57Z glorioso: they're both silly lol 2016-08-19T20:38:06Z ptroja quit (Quit: Leaving) 2016-08-19T20:38:16Z totimkopf: my neckbeard is longer than all of yours, threfore I win 2016-08-19T20:38:19Z PosterdatiMobile: Bike: an answer to a silly statements is silly too... 2016-08-19T20:38:22Z glorioso: Anyway that was just my advice, take it or don't 2016-08-19T20:38:36Z glorioso: doesn't matter really 2016-08-19T20:38:36Z aeth: talking about if this is on or off topic has taken the channel far more off topic than if the question were allowed to be asked here 2016-08-19T20:38:44Z raydeejay: ^ 2016-08-19T20:38:47Z slyrus joined #lisp 2016-08-19T20:38:48Z glorioso: exactly 2016-08-19T20:39:02Z glorioso: that's why I said take it or don't 2016-08-19T20:39:31Z raydeejay: so basically you're saying now that your remarks were counterproductive :) 2016-08-19T20:39:51Z AlphaAtom joined #lisp 2016-08-19T20:39:56Z glorioso: not really I'm just saying you can either listen or not 2016-08-19T20:40:08Z totimkopf: neckbeard 2016-08-19T20:40:10Z PosterdatiMobile: ok, was my request off topic? 2016-08-19T20:40:16Z AlphaAtom quit (Client Quit) 2016-08-19T20:40:20Z glorioso: I'd say yes 2016-08-19T20:40:21Z Bike: can we all agree to shut up about this. 2016-08-19T20:40:27Z glorioso: yes 2016-08-19T20:40:30Z glorioso: I think we all should 2016-08-19T20:40:37Z glorioso: *shuts up* 2016-08-19T20:40:41Z totimkopf: before we end this topic, could I just add that I am proud of my neckbeardd 2016-08-19T20:41:02Z ahungry: I've had issues in the past with incompatability between slime.el and the lisp side, I would try: Using a different lisp first (to ensure the issue is not with ecl, something like clisp wihch is a small install, or sbcl), then launch emacs with -Q to avoid loading config/add ons, and try installing a fresh copy of slime from M-x package-install slime 2016-08-19T20:41:03Z glorioso: I think we should all celebrate totimkopf's neckbeard first 2016-08-19T20:41:10Z totimkopf: yes 2016-08-19T20:41:17Z totimkopf: it's just as relevant 2016-08-19T20:41:20Z PosterdatiMobile: ahungry: sbcl perform the same 2016-08-19T20:41:22Z totimkopf: or just as silly 2016-08-19T20:42:12Z PosterdatiMobile: ahungry: emacs wrote: pipelined request... (swank-repl:create-repl nil :coding-system "utf-8-unix) 2016-08-19T20:42:15Z ahungry: there can be problems with quicklisp-slime-helper and your version of emacs, because unlike the slime.el installed from melpa, quicklisp-slime-helper isn't going to be aware of your emacs settings 2016-08-19T20:42:24Z PosterdatiMobile: emacs 24.5 2016-08-19T20:42:30Z aeth: I always get my SLIME from quicklisp iirc. It seems to cause the fewest problems at least ime. It might have changed, though. 2016-08-19T20:42:44Z aeth: It's the only slime I could get working back when I set things up a few years ago. 2016-08-19T20:42:53Z PosterdatiMobile: aeth: note that this happens only on two openbsd machines 2016-08-19T20:44:07Z ahirsch quit (Remote host closed the connection) 2016-08-19T20:47:46Z totimkopf: I feel like I cheated the system. I managed to get a print of On Lisp and did not have to pay ~$200 for it :) 2016-08-19T20:48:19Z glorioso: You bar steward! 2016-08-19T20:48:33Z glorioso: ;) 2016-08-19T20:49:06Z PosterdatiMobile: clisp worked! 2016-08-19T20:51:12Z glorioso: great! 2016-08-19T20:51:30Z PosterdatiMobile: but I need ecl to work :( 2016-08-19T20:52:04Z aeth: Yes, but now you've narrowed it down to ecl 2016-08-19T20:52:10Z aeth: So perhaps try #ecl if they're active enough 2016-08-19T20:52:40Z PosterdatiMobile: aeth: ecl and sbcl 2016-08-19T20:52:46Z aeth: interesting 2016-08-19T20:55:34Z smokeink quit (Ping timeout: 250 seconds) 2016-08-19T20:58:50Z glorioso: my neckbeard is getting longer... 2016-08-19T21:02:07Z Davidbrcz quit (Ping timeout: 252 seconds) 2016-08-19T21:04:38Z dyelar quit (Quit: Leaving.) 2016-08-19T21:07:46Z attila_lendvai joined #lisp 2016-08-19T21:13:46Z grimsley joined #lisp 2016-08-19T21:15:28Z Th30n quit (Quit: leaving) 2016-08-19T21:19:10Z moore33: Neckbeards get a bad name. 2016-08-19T21:23:15Z PosterdatiMobile: anyway in swank-loader.lisp there's no i386 architecture keyword 2016-08-19T21:25:43Z moore33: PosterdatiMobile: Does slime work with any other lisps? 2016-08-19T21:26:09Z PosterdatiMobile: moore33: ? 2016-08-19T21:26:21Z moore33: PosterdatiMobile: On your system. 2016-08-19T21:26:48Z PosterdatiMobile: with clisp is working 2016-08-19T21:27:16Z phoe: It should be working with any sufficiently advanced Common Lisp implementation. 2016-08-19T21:27:44Z phoe: Like, anything that's reasonably standard-compliant and has sockets. 2016-08-19T21:27:51Z moore33: phoe: Well yeah, but in terms of debugging this setup... 2016-08-19T21:27:53Z Bike: yes but it's not 2016-08-19T21:28:24Z pierpa joined #lisp 2016-08-19T21:29:06Z akkad: PosterdatiMobile: did you check messages log for any pledge(2) breakage? 2016-08-19T21:29:23Z PosterdatiMobile: akkad: where? 2016-08-19T21:29:30Z PosterdatiMobile: in *messages* ? 2016-08-19T21:30:34Z DavidGu joined #lisp 2016-08-19T21:32:05Z glorioso quit (Quit: leaving) 2016-08-19T21:33:31Z PosterdatiMobile: Connecting to Swank on port 15918 and then freezes 2016-08-19T21:33:59Z PosterdatiMobile: netstat returns: 2016-08-19T21:34:08Z akkad: PosterdatiMobile: openbsd /var/log/messages 2016-08-19T21:34:24Z PosterdatiMobile: tcp 0 0 localhost.9495 localhost.15918 ESTABLISHED 2016-08-19T21:34:33Z akkad: are you using emacs from ports? 2016-08-19T21:34:46Z PosterdatiMobile: tcp 0 0 localhost.15918 localhost.9495 ESTABLISHED 2016-08-19T21:34:51Z PosterdatiMobile: akkad: no 2016-08-19T21:34:57Z PosterdatiMobile: akkad: a binary package 2016-08-19T21:35:03Z MoALTz quit (Quit: Leaving) 2016-08-19T21:35:39Z PosterdatiMobile: nothing in /var/log/messages related 2016-08-19T21:36:25Z akkad: can you do this "ktrace -o emacs-slime emacs" 2016-08-19T21:36:34Z akkad: then once emacs comes up try to reproduce, then exit. 2016-08-19T21:37:56Z ASau joined #lisp 2016-08-19T21:38:10Z SumoSudo quit (Ping timeout: 250 seconds) 2016-08-19T21:38:50Z PosterdatiMobile: akkad: done 2016-08-19T21:46:06Z akkad: PosterdatiMobile: did it work? try "kdump|more" 2016-08-19T21:46:32Z PosterdatiMobile: the file is huge 2016-08-19T21:46:40Z LiamH quit (Quit: Leaving.) 2016-08-19T21:47:51Z PosterdatiMobile: there are a lot of call to mprotect 2016-08-19T21:48:11Z akkad: yes. hold on 2016-08-19T21:49:32Z NeverDie joined #lisp 2016-08-19T21:51:31Z shka_ quit (Ping timeout: 258 seconds) 2016-08-19T21:51:31Z gingerale quit (Read error: Connection reset by peer) 2016-08-19T21:52:30Z akkad: PosterdatiMobile: "kdump|grep -C 2 connect" 2016-08-19T21:52:52Z akkad: or just tail the output of kdump and see what it's doing last 2016-08-19T21:56:34Z PosterdatiMobile: http://pastebin.com/pY6VfRkT 2016-08-19T21:56:40Z PosterdatiMobile: akkad: mmmh 2016-08-19T21:57:33Z akkad: PosterdatiMobile: which lisp? 2016-08-19T21:57:37Z PosterdatiMobile: ecl 2016-08-19T21:57:41Z PosterdatiMobile: 16.1.2 2016-08-19T21:57:44Z akkad: ahh, you build it with threads? 2016-08-19T21:58:01Z akkad: I had this issue on openbsd when using it without threads 2016-08-19T21:58:12Z nalik joined #lisp 2016-08-19T21:58:16Z PosterdatiMobile: aah 2016-08-19T21:58:21Z akkad: in xterm, in fvwm, run ecl 2016-08-19T21:58:25Z akkad: then *features* 2016-08-19T21:58:34Z PosterdatiMobile: ecl 2016-08-19T21:58:54Z nalik quit (Max SendQ exceeded) 2016-08-19T21:58:59Z PosterdatiMobile: yes, it is 2016-08-19T21:59:07Z PosterdatiMobile: :THREADS 2016-08-19T21:59:24Z PosterdatiMobile: :BOEHM-GC 2016-08-19T21:59:32Z nalik joined #lisp 2016-08-19T22:00:43Z nalik quit (Max SendQ exceeded) 2016-08-19T22:01:08Z adolf_stalin quit (Ping timeout: 250 seconds) 2016-08-19T22:01:37Z nalik joined #lisp 2016-08-19T22:01:52Z DavidGu quit (Ping timeout: 240 seconds) 2016-08-19T22:02:27Z edgar-rft quit (Quit: edgar-rft) 2016-08-19T22:02:43Z nalik quit (Max SendQ exceeded) 2016-08-19T22:02:55Z wccoder quit (Remote host closed the connection) 2016-08-19T22:03:08Z PosterdatiMobile: akkad: I launched an ecl from a terminal, then I did (swank:create-server :port 4005 :dont-close t) 2016-08-19T22:03:19Z strelox quit (Ping timeout: 250 seconds) 2016-08-19T22:03:22Z PosterdatiMobile: akkad: then I launched emacs and did slime-connect 2016-08-19T22:03:32Z nalik joined #lisp 2016-08-19T22:03:42Z PosterdatiMobile: akkad: to port 4005 on 127.0.0.1 and it freezes at connection 2016-08-19T22:04:31Z wccoder joined #lisp 2016-08-19T22:04:39Z PosterdatiMobile: akkad: then I CTRL+C the ecl in the terminal and quit the debugger in emacs slime, then slime load the banner and now I've got a slime REPL on emacs 2016-08-19T22:04:44Z nalik quit (Max SendQ exceeded) 2016-08-19T22:05:40Z akkad: running it graphically? emacs 2016-08-19T22:05:45Z nalik joined #lisp 2016-08-19T22:05:55Z PosterdatiMobile: yes 2016-08-19T22:06:36Z nalik quit (Max SendQ exceeded) 2016-08-19T22:08:34Z attila_lendvai quit (Ping timeout: 260 seconds) 2016-08-19T22:10:27Z akkad: and emacs hangs solid? 2016-08-19T22:10:51Z PosterdatiMobile: seems to be waiting for swank to answer 2016-08-19T22:10:55Z akkad: PosterdatiMobile: do you have ktruss? 2016-08-19T22:11:05Z PosterdatiMobile: no what is it? 2016-08-19T22:11:09Z akkad: command 2016-08-19T22:11:34Z BusFactor1 quit (Ping timeout: 240 seconds) 2016-08-19T22:11:39Z PosterdatiMobile: ok what does it do? 2016-08-19T22:12:18Z akkad: same as ktrace. do you have it? 2016-08-19T22:12:45Z PosterdatiMobile: no 2016-08-19T22:14:05Z akkad: right. theo removed that some time ago iirc 2016-08-19T22:14:29Z akkad: is this a vm? or a real box? 2016-08-19T22:14:57Z PosterdatiMobile: real box 2016-08-19T22:16:33Z akkad: does this work with sbcl? 2016-08-19T22:16:43Z akkad: ok bbl 2016-08-19T22:16:50Z PosterdatiMobile: no 2016-08-19T22:17:00Z PosterdatiMobile: clisp 2016-08-19T22:17:05Z akkad: hangs on sbcl? really? 2016-08-19T22:17:16Z PosterdatiMobile: yes 2016-08-19T22:18:02Z akkad: hmm there is a obsd dev here 2016-08-19T22:18:05Z akkad: jasom:? 2016-08-19T22:20:51Z rumbler31 joined #lisp 2016-08-19T22:21:10Z dwchandler: akkad: there's at least one obsd dev in here 2016-08-19T22:21:39Z PosterdatiMobile: akkad: could be anything related to firewall? 2016-08-19T22:27:45Z lnostdal quit (Read error: Connection reset by peer) 2016-08-19T22:28:15Z lnostdal joined #lisp 2016-08-19T22:31:55Z hhdave quit (Quit: hhdave) 2016-08-19T22:32:24Z shrdlu68 quit (Ping timeout: 244 seconds) 2016-08-19T22:36:15Z plertrood joined #lisp 2016-08-19T22:38:58Z BlueRavenGT quit (Read error: Connection reset by peer) 2016-08-19T22:40:06Z xaotuk joined #lisp 2016-08-19T22:42:30Z DavidGu joined #lisp 2016-08-19T22:52:36Z akkad: PosterdatiMobile: for localhost in pf? 2016-08-19T22:52:47Z akkad: can you nc to it/ 2016-08-19T22:52:47Z PosterdatiMobile: yes 2016-08-19T22:52:48Z akkad: ? 2016-08-19T22:52:56Z PosterdatiMobile: http://osdir.com/ml/lisp.slime.devel/2004-06/msg00157.html 2016-08-19T22:53:15Z DeadTrickster quit (Ping timeout: 264 seconds) 2016-08-19T22:57:27Z DavidGu quit (Ping timeout: 264 seconds) 2016-08-19T23:05:39Z knicklux quit (Remote host closed the connection) 2016-08-19T23:08:45Z Xizor joined #lisp 2016-08-19T23:09:03Z IPmonger quit (Ping timeout: 240 seconds) 2016-08-19T23:10:59Z al-damiri quit (Quit: Connection closed for inactivity) 2016-08-19T23:11:31Z rvirding quit (Ping timeout: 244 seconds) 2016-08-19T23:12:27Z PosterdatiMobile: akkad: nc? 2016-08-19T23:12:41Z PosterdatiMobile: akkad ok 2016-08-19T23:13:13Z gendl quit (Ping timeout: 244 seconds) 2016-08-19T23:15:20Z PosterdatiMobile: connection refused 2016-08-19T23:15:40Z PosterdatiMobile: nc -v 127.0.0.1 6369 2016-08-19T23:16:43Z gendl joined #lisp 2016-08-19T23:18:23Z programisto quit (Ping timeout: 244 seconds) 2016-08-19T23:18:35Z rvirding joined #lisp 2016-08-19T23:19:32Z xaotuk quit (Ping timeout: 240 seconds) 2016-08-19T23:23:09Z slyrus quit (Ping timeout: 276 seconds) 2016-08-19T23:29:02Z programisto joined #lisp 2016-08-19T23:29:04Z plertrood quit (Ping timeout: 260 seconds) 2016-08-19T23:35:44Z Velveeta_Chef quit (Ping timeout: 258 seconds) 2016-08-19T23:35:49Z asc232 joined #lisp 2016-08-19T23:38:59Z m00natic quit (Read error: Connection reset by peer) 2016-08-19T23:39:30Z Quadrescence quit (Ping timeout: 250 seconds) 2016-08-19T23:43:24Z varjag quit (Ping timeout: 250 seconds) 2016-08-19T23:49:37Z krasnal quit (Read error: Connection reset by peer) 2016-08-19T23:50:09Z Quadrescence joined #lisp