2017-03-01T00:00:02Z moei quit (Quit: Leaving...) 2017-03-01T00:06:21Z Bike: looks like sap-alien allocates a lisp-side structure to represent an alien pointer 2017-03-01T00:06:30Z Bike: so the warning is saying it can't get rid of that structure for some reason 2017-03-01T00:06:48Z Bike: ...maybe because you pass it to a function? 2017-03-01T00:07:05Z TruePika: that function being unix-poll? 2017-03-01T00:07:10Z Bike: yeah 2017-03-01T00:07:14Z Bike: i'm really guessing though 2017-03-01T00:07:36Z Bike: maybe ask #sbcl... 2017-03-01T00:08:14Z joebz left #lisp 2017-03-01T00:11:41Z jamtho quit (Ping timeout: 260 seconds) 2017-03-01T00:16:37Z nowhereman quit (Ping timeout: 246 seconds) 2017-03-01T00:19:15Z sirkmatija_ quit (Quit: sirkmatija_) 2017-03-01T00:23:13Z sdsadsdas joined #lisp 2017-03-01T00:23:24Z sjl quit (Ping timeout: 260 seconds) 2017-03-01T00:23:39Z dpg joined #lisp 2017-03-01T00:27:27Z sdsadsdas quit (Ping timeout: 240 seconds) 2017-03-01T00:32:14Z cromachina joined #lisp 2017-03-01T00:32:42Z ryanwatkins quit (Remote host closed the connection) 2017-03-01T00:35:10Z manuel_ quit (Quit: manuel_) 2017-03-01T00:37:20Z theethicalegoist quit (Ping timeout: 260 seconds) 2017-03-01T00:43:36Z nowhereman joined #lisp 2017-03-01T00:45:48Z BlueRavenGT quit (Ping timeout: 260 seconds) 2017-03-01T00:47:57Z parjanya joined #lisp 2017-03-01T00:50:15Z BlueRavenGT joined #lisp 2017-03-01T00:59:49Z RedEight quit (Quit: leaving) 2017-03-01T01:02:47Z dddddd quit (Quit: Hasta otra..) 2017-03-01T01:04:10Z EvW joined #lisp 2017-03-01T01:05:11Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-01T01:05:16Z nowhereman quit (Remote host closed the connection) 2017-03-01T01:07:48Z shdeng joined #lisp 2017-03-01T01:11:19Z sirkmatija_ joined #lisp 2017-03-01T01:11:59Z eazar001 quit (Read error: Connection reset by peer) 2017-03-01T01:12:27Z EvW quit (Ping timeout: 240 seconds) 2017-03-01T01:13:55Z Karl_Dscc quit (Remote host closed the connection) 2017-03-01T01:15:28Z manuel_ joined #lisp 2017-03-01T01:17:44Z manuel_ quit (Client Quit) 2017-03-01T01:17:50Z drewc quit (Ping timeout: 252 seconds) 2017-03-01T01:18:50Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-01T01:22:12Z dpg quit (Ping timeout: 260 seconds) 2017-03-01T01:23:47Z jameser joined #lisp 2017-03-01T01:28:29Z fourier joined #lisp 2017-03-01T01:29:49Z moei joined #lisp 2017-03-01T01:30:56Z drewc joined #lisp 2017-03-01T01:33:29Z fourier quit (Ping timeout: 268 seconds) 2017-03-01T01:37:22Z FreeBirdLjj joined #lisp 2017-03-01T01:40:02Z manuel_ joined #lisp 2017-03-01T01:42:38Z BlueRavenGT quit (Ping timeout: 240 seconds) 2017-03-01T01:45:10Z impulse- quit (Quit: leaving) 2017-03-01T01:45:40Z impulse joined #lisp 2017-03-01T01:47:12Z jleija joined #lisp 2017-03-01T01:49:56Z k-stz left #lisp 2017-03-01T01:50:40Z BitPuffin|osx quit (Ping timeout: 260 seconds) 2017-03-01T01:52:28Z didi joined #lisp 2017-03-01T01:52:53Z didi: Does anyone know an article about graph representations in lisp? 2017-03-01T01:54:27Z didi: Specifically, I am looking for an analysis on different implementations. 2017-03-01T01:54:35Z Bike: analysis of what? 2017-03-01T01:54:49Z didi: Bike: Memory usage, for instance. 2017-03-01T01:55:35Z didi: I read a passage about using weak hash tables, for example, but it didn't say more. 2017-03-01T01:58:44Z pillton: You'll probably have to be more specific. I've solved graph problems by solving a linear system. 2017-03-01T02:00:55Z didi: pillton: I currently implement graphs using adjacency-lists and a hashtable. The hashtable hold the vertices as keys and the values are the adjacency-lists. I am wondering about different implementations and if anyone investigated this problem space in lisp before. 2017-03-01T02:02:31Z pillton: What operation are you applying to the graph? 2017-03-01T02:03:19Z didi: pillton: Various. My graphs are sparse tho. 2017-03-01T02:04:57Z jameser quit (Ping timeout: 240 seconds) 2017-03-01T02:05:48Z jameser joined #lisp 2017-03-01T02:11:37Z test1600 joined #lisp 2017-03-01T02:12:53Z didi: I incidentally came across the passage that I mentioned: https://jaxenter.com/disadvantages-of-purely-functional-programming-126776.html "With a garbage collected imperative language, the relationships between the vertices and edges of a graph can be expressed using weak hash tables. The garbage collector will then collect unreachable subgraphs for you." 2017-03-01T02:14:12Z dpg joined #lisp 2017-03-01T02:14:37Z didi: s/incidentally/acidentally 2017-03-01T02:22:30Z eazar001 joined #lisp 2017-03-01T02:23:04Z Petit_Dejeuner: didi: "It took 50 years for normal people to dilute the smug weenies to the point where you can get a useful answer about functional programming on social media." 2017-03-01T02:23:48Z sdsadsdas joined #lisp 2017-03-01T02:24:40Z mrottenkolber quit (Ping timeout: 260 seconds) 2017-03-01T02:25:53Z Petit_Dejeuner: Those damn smug lisp weenies. 2017-03-01T02:26:11Z didi: Oh well. 2017-03-01T02:26:18Z fiddlerwoaroof: Common Lisp isn't a functional programming language 2017-03-01T02:26:19Z smokeink joined #lisp 2017-03-01T02:26:32Z fiddlerwoaroof: You can program in a functional style, but you don't have to 2017-03-01T02:27:19Z Petit_Dejeuner: But how are people going to annoy me if they don't call it one? 2017-03-01T02:28:13Z sdsadsdas quit (Ping timeout: 246 seconds) 2017-03-01T02:29:09Z fare__ joined #lisp 2017-03-01T02:31:07Z fiddlerwoaroof: I like it how he tells us that the Lisp community had wrong arguments about Lisp's goodness, but doesn't bother to share them 2017-03-01T02:31:57Z Petit_Dejeuner: The goodness of lisp is a strange and unknowable mystery. 2017-03-01T02:33:08Z heurist` is now known as heurist 2017-03-01T02:34:05Z trocado quit (Remote host closed the connection) 2017-03-01T02:37:48Z aries_liuxueyang joined #lisp 2017-03-01T02:38:55Z aries_liuxueyang left #lisp 2017-03-01T02:41:06Z fare__ quit (Quit: Leaving) 2017-03-01T02:41:32Z Xof quit (Ping timeout: 260 seconds) 2017-03-01T02:42:17Z bigos joined #lisp 2017-03-01T02:43:10Z defaultxr joined #lisp 2017-03-01T02:49:13Z karswell joined #lisp 2017-03-01T02:53:00Z aries_liuxueyang joined #lisp 2017-03-01T02:53:28Z fiddlerwoaroof quit (Ping timeout: 255 seconds) 2017-03-01T02:55:54Z pillton: didi: Sorry. I got called away. 2017-03-01T02:57:51Z lambda-smith joined #lisp 2017-03-01T02:59:44Z pillton: didi: I usually go with using array indices in the graph data structure any way. 2017-03-01T03:02:04Z didi: pillton: I am thinking about it. I want to retain the original vertices names, so I am thinking of using a map--possibly a hashtable--for names and indices and an array for the graph proper. 2017-03-01T03:04:19Z pillton: You always know you can switch to a hashtable if you use indices. 2017-03-01T03:19:29Z didi: pillton: I am thinking of something like https://paste.debian.net/hidden/fc499771 2017-03-01T03:27:44Z salva0 quit (Ping timeout: 260 seconds) 2017-03-01T03:29:12Z fourier joined #lisp 2017-03-01T03:32:27Z wtetzner quit (Remote host closed the connection) 2017-03-01T03:33:27Z fourier quit (Ping timeout: 240 seconds) 2017-03-01T03:35:42Z aries_liuxueyang left #lisp 2017-03-01T03:36:28Z dpg quit (Ping timeout: 246 seconds) 2017-03-01T03:39:06Z lambda-smith quit (Quit: Konversation terminated!) 2017-03-01T03:39:14Z bigos quit (Remote host closed the connection) 2017-03-01T03:53:59Z travv0 quit (Remote host closed the connection) 2017-03-01T03:55:17Z TDT quit (Quit: TDT) 2017-03-01T04:04:05Z salva joined #lisp 2017-03-01T04:08:20Z cibs quit (Ping timeout: 260 seconds) 2017-03-01T04:08:27Z findiggle joined #lisp 2017-03-01T04:10:09Z cibs joined #lisp 2017-03-01T04:10:14Z wtetzner joined #lisp 2017-03-01T04:12:38Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-01T04:16:17Z Younder joined #lisp 2017-03-01T04:16:35Z kobain quit (Ping timeout: 252 seconds) 2017-03-01T04:16:44Z chu quit (Ping timeout: 260 seconds) 2017-03-01T04:17:49Z chu joined #lisp 2017-03-01T04:24:49Z sdsadsdas joined #lisp 2017-03-01T04:25:06Z jason_m joined #lisp 2017-03-01T04:27:50Z tmtwd joined #lisp 2017-03-01T04:29:08Z sdsadsdas quit (Ping timeout: 240 seconds) 2017-03-01T04:33:04Z bpanthi joined #lisp 2017-03-01T04:36:23Z kobain joined #lisp 2017-03-01T04:38:31Z vlatkoB joined #lisp 2017-03-01T04:41:25Z jleija quit (Quit: leaving) 2017-03-01T04:52:21Z jack_rabbit joined #lisp 2017-03-01T04:53:58Z jack_rabbit: Is there a way to inspect the SBCL "heap"? I'm curious about the kinds of objects that are alive. 2017-03-01T04:54:39Z Bike: for basics, (room) will break it down into a few categories 2017-03-01T04:56:19Z jack_rabbit: Neat. That's a good start. 2017-03-01T04:58:07Z travv0 joined #lisp 2017-03-01T04:58:30Z bpanthi: how to run full garbage collection ? 2017-03-01T04:58:38Z Bike: depends on the implementation 2017-03-01T04:58:41Z Bike: but usually something like (gc) 2017-03-01T04:58:46Z bpanthi: in SBCL ? 2017-03-01T04:58:49Z jack_rabbit: in sbcl (gc :full t) 2017-03-01T04:59:11Z jack_rabbit: (only know that because I *just* looked it up by coincidence) 2017-03-01T04:59:18Z bpanthi: thanks! 2017-03-01T04:59:39Z jack_rabbit: But you have to be in-package sb-kernel. The gc function is not exposed. 2017-03-01T05:00:01Z Bike: uh, no 2017-03-01T05:00:02Z jack_rabbit: (unless there's another way to expose it. I'm still a noob) 2017-03-01T05:00:03Z Bike: it's sb-ext:gc 2017-03-01T05:00:06Z jack_rabbit: ahh. 2017-03-01T05:00:38Z Bike: sb-ext is sbcl extensions that you can use. sb kernel is internals that you cannot 2017-03-01T05:01:00Z bpanthi: you can use cl-user::gc 2017-03-01T05:01:24Z Bike: cl-user USEs sb-ext 2017-03-01T05:01:38Z bpanthi quit (Quit: bpanthi) 2017-03-01T05:01:52Z jack_rabbit: So going into the package sb-kernel is a bad idea. 2017-03-01T05:02:03Z Bike: generally 2017-03-01T05:02:11Z jack_rabbit: Probably should've figured. 2017-03-01T05:04:27Z didi quit (Ping timeout: 240 seconds) 2017-03-01T05:12:26Z FreeBirdLjj joined #lisp 2017-03-01T05:14:51Z neoncontrails quit (Remote host closed the connection) 2017-03-01T05:21:01Z MrWoohoo joined #lisp 2017-03-01T05:22:36Z eazar001 quit (Quit: WeeChat 1.7) 2017-03-01T05:24:00Z wtetzner quit (Remote host closed the connection) 2017-03-01T05:29:56Z fourier joined #lisp 2017-03-01T05:30:16Z fiddlerwoaroof joined #lisp 2017-03-01T05:30:58Z findiggle quit (Remote host closed the connection) 2017-03-01T05:34:33Z the_sign1lman quit (Quit: leaving) 2017-03-01T05:34:50Z fourier quit (Ping timeout: 260 seconds) 2017-03-01T05:43:23Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-01T05:47:11Z FreeBirdLjj joined #lisp 2017-03-01T05:51:08Z defaultxr quit (Ping timeout: 240 seconds) 2017-03-01T05:53:06Z aeth: Social media was so much better 50 years ago. 2017-03-01T05:56:16Z Petit_Dejeuner: aeth: lispcafe? 2017-03-01T05:56:22Z bocaneri joined #lisp 2017-03-01T05:56:23Z bocaneri quit (Max SendQ exceeded) 2017-03-01T05:56:46Z aeth: Petit_Dejeuner: I was purposefully misinterpreting your statement from earlier. 2017-03-01T05:57:15Z Petit_Dejeuner: Ah, 2017-03-01T05:57:31Z Petit_Dejeuner: I was going to say "Yeah, but I heard back then you could only get smug lisp weenie answers out of functional programmers.", but I wasn't sure if I should start hamming it up in #lisp. 2017-03-01T05:58:46Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-01T06:04:36Z FreeBirdLjj joined #lisp 2017-03-01T06:08:12Z dec0n joined #lisp 2017-03-01T06:11:27Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-01T06:15:05Z shka_ joined #lisp 2017-03-01T06:15:09Z davsebamse quit (Read error: Connection reset by peer) 2017-03-01T06:19:32Z vtomole joined #lisp 2017-03-01T06:19:52Z davsebamse joined #lisp 2017-03-01T06:20:27Z axion: Does anyone know why the version of the quicklisp bootstrapper offered on its website (https://beta.quicklisp.org/quicklisp.lisp) is different than https://github.com/quicklisp/quicklisp-bootstrap/blob/master/quicklisp.lisp ...it seems like the git repo is behind? 2017-03-01T06:24:36Z davsebamse quit (Ping timeout: 260 seconds) 2017-03-01T06:25:44Z sdsadsdas joined #lisp 2017-03-01T06:26:18Z davsebamse joined #lisp 2017-03-01T06:27:13Z sdsadsdas quit (Read error: No route to host) 2017-03-01T06:27:23Z sdsadsdas joined #lisp 2017-03-01T06:29:41Z oleo quit (Quit: Leaving) 2017-03-01T06:29:59Z neuronsong quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-01T06:30:16Z sz0 joined #lisp 2017-03-01T06:31:10Z mishoo joined #lisp 2017-03-01T06:33:31Z beach: Good morning everyone! 2017-03-01T06:35:25Z neoncontrails joined #lisp 2017-03-01T06:37:12Z drewc quit (Ping timeout: 260 seconds) 2017-03-01T06:37:30Z davsebamse quit (Ping timeout: 268 seconds) 2017-03-01T06:38:14Z akkad quit (Excess Flood) 2017-03-01T06:38:53Z davsebamse joined #lisp 2017-03-01T06:40:30Z vtomole quit (Ping timeout: 260 seconds) 2017-03-01T06:40:47Z akkad joined #lisp 2017-03-01T06:44:45Z EvW1 joined #lisp 2017-03-01T06:44:46Z EvW1 quit (Client Quit) 2017-03-01T06:49:56Z drewc joined #lisp 2017-03-01T06:58:47Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-01T07:00:49Z fiddlerwoaroof: Good Morning beach 2017-03-01T07:00:49Z fiddlerwoaroof: 2017-03-01T07:05:25Z shka_ quit (Ping timeout: 246 seconds) 2017-03-01T07:05:27Z FakePedro quit (Quit: FakePedro) 2017-03-01T07:06:00Z schaueho joined #lisp 2017-03-01T07:07:16Z jamtho joined #lisp 2017-03-01T07:08:29Z ardoc joined #lisp 2017-03-01T07:15:21Z jamtho_ joined #lisp 2017-03-01T07:17:38Z jamtho quit (Ping timeout: 240 seconds) 2017-03-01T07:19:45Z ym quit (Quit: Leaving) 2017-03-01T07:21:27Z FreeBirdLjj joined #lisp 2017-03-01T07:24:14Z arduo quit (Remote host closed the connection) 2017-03-01T07:25:40Z okflo joined #lisp 2017-03-01T07:28:45Z Aydin joined #lisp 2017-03-01T07:30:39Z flamebeard joined #lisp 2017-03-01T07:33:09Z angavrilov joined #lisp 2017-03-01T07:33:57Z Aydin quit (Quit: Page closed) 2017-03-01T07:41:37Z ChrisOei joined #lisp 2017-03-01T07:41:59Z ChrisOei quit (Remote host closed the connection) 2017-03-01T07:47:46Z gingerale joined #lisp 2017-03-01T07:50:38Z jamtho_ quit (Ping timeout: 240 seconds) 2017-03-01T07:51:07Z fiddlerwoaroof quit (Ping timeout: 240 seconds) 2017-03-01T07:53:27Z cibs quit (Ping timeout: 240 seconds) 2017-03-01T07:55:24Z cibs joined #lisp 2017-03-01T07:56:10Z schaueho quit (Ping timeout: 264 seconds) 2017-03-01T07:56:16Z hhdave_ joined #lisp 2017-03-01T08:05:09Z Beetny joined #lisp 2017-03-01T08:05:45Z dim: good morning! 2017-03-01T08:06:17Z dim: beach: fyi I failed to have clim talk to XQuartz because of protocol mismatch, and didn't have time to inquire after that 2017-03-01T08:07:52Z hhdave_ quit (Quit: hhdave_) 2017-03-01T08:10:37Z phoe_ joined #lisp 2017-03-01T08:11:04Z stilda joined #lisp 2017-03-01T08:11:07Z loke: dim: I haven't had any issues running mcclim on OSX 2017-03-01T08:11:15Z loke: that said, I'm still on OSX 10.10 though. 2017-03-01T08:11:33Z Petit_Dejeuner thought CLIM used to work on Windows and now it doesn't. 2017-03-01T08:13:38Z varjag joined #lisp 2017-03-01T08:15:20Z beach: dim: Oh, sorry to hear that. 2017-03-01T08:16:25Z stilda: Hello. Sorry for a newby question but can not find anything in internet. Is it acceptable thing to use a construct like (defmacro mym (args-list) (destructuring-bind (a b c) (eval args-list) ...))? The question is in using eval there. I have a defparameter that holds a list which I want to pass to the macro. Is there a better ways to do it? 2017-03-01T08:17:11Z beach: stilda: Use a function instead of a macro if you want arguments to be evaluated. 2017-03-01T08:17:46Z Xof joined #lisp 2017-03-01T08:17:51Z beach: stilda: Also, if args-list is a list of arguments, you can't call EVAL on it. 2017-03-01T08:18:48Z beach: stilda: And (again, if args-list is a list of arguments), you should call it ARGUMENTS instead. The convention is to use the plural for a list (or possibly a vector) of things. 2017-03-01T08:18:54Z phoe_: beach: sounds like a case for (apply #'eval args-list) 2017-03-01T08:19:25Z beach: phoe_: Maybe. More likely, it sounds like the use of a macro where a function should be used instead. 2017-03-01T08:19:29Z dim: wikipedia saith XQuatrz is using X.Org Server (X11R7.2) 2017-03-01T08:20:05Z phoe_: stilda: what do you want to use that macro for? give us an example usage 2017-03-01T08:20:46Z mishoo quit (Ping timeout: 264 seconds) 2017-03-01T08:22:23Z dim: I like using foo-list as argument names where I expect a list 2017-03-01T08:22:49Z dim: then tou can (loop for foo in foo-list ...) and it's easier to read (I think) than (for foo in foos ...) 2017-03-01T08:22:57Z dim: (or is it foes) 2017-03-01T08:25:43Z stilda: ok. more detailed description is following: I want to generate a code of function. I have (defun define-loka-code (name params) (destructuring-bind (p1 p2 p3) params `(defun ,name () ...))). Then I have (defmacro define-loka (name params) (define-loka-code name (eval params))). Then I have (defparameter *loka-parameters* (list value1 value2 value3)). And I use it like (define-loka myfuncname *loka-parameters*) 2017-03-01T08:26:40Z tmtwd quit (Quit: Leaving) 2017-03-01T08:27:01Z beach: dim: There are several things I don't like about accepted conventions. But I think it is more important to follow those conventions so as to facilitate communication, than to use my preferred style. And this goes for code as well as for prose. 2017-03-01T08:27:08Z stilda: value1 value2 value 3 is big enough so I want to keep it in a separate list and not inline in macro call. 2017-03-01T08:29:23Z _death: instead of PARAMS call it say PARAMS-SYMBOL and use SYMBOL-VALUE instead of EVAL 2017-03-01T08:30:08Z phoe_: stilda: is your *loka-parameters* a function call? 2017-03-01T08:30:39Z _death: also you may consider putting the DEFPARAMETER in a different file 2017-03-01T08:30:41Z dim: beach: you have a very good point here of course 2017-03-01T08:30:42Z phoe_: because if it is (list value1 value2 value3), this evaluates to (value1 value2 value3), and EVAL will treat this as a function call. 2017-03-01T08:32:22Z stilda: phoe_: no I define *loka-parameters* as (defparameter *loka-parameters* (list value1 value2 value3)) 2017-03-01T08:33:25Z stilda: _death: this makes sense to me, thanks for option. 2017-03-01T08:36:14Z mishoo joined #lisp 2017-03-01T08:36:34Z stilda: phoe_: in scope of define-loka params will have value '*loka-parameters* so there is no problems with evaluating (value1 value2 value3) 2017-03-01T08:38:25Z phoe_: stilda: from what I see, it will not be quoted anywhere 2017-03-01T08:38:37Z phoe_: oh wait 2017-03-01T08:38:38Z phoe_: wait 2017-03-01T08:38:45Z phoe_: I see what you're getting at. 2017-03-01T08:40:23Z phoe_: let *loka-parameters* be (v1 v2 v3). 2017-03-01T08:40:52Z neoncontrails quit (Remote host closed the connection) 2017-03-01T08:41:03Z phoe_: then (define-loka myfuncname *loka-parameters*) will expand to (define-loka-code myfuncname (v1 v2 v3)). 2017-03-01T08:41:28Z phoe_: which is an error unless (v1 v2 v3) is a valid function call. 2017-03-01T08:41:56Z neoncontrails joined #lisp 2017-03-01T08:41:56Z phoe_: this eval is completely unnecessary from what I currently understand. 2017-03-01T08:42:08Z stilda: sorry mybe quoute should not be there. I meant that params will be symbol *loka-parameters*. 2017-03-01T08:43:21Z stilda: no, without eval or symbol-value I will get expansion (define-loka-code myfuncname *loka-parameters*). And then it complains that can not destructure a symbol. 2017-03-01T08:43:44Z phoe_: no, I'm an idiot. 2017-03-01T08:43:57Z phoe_: this is not an error - define-loka-code is not quoted in there. 2017-03-01T08:44:09Z phoe_: this code will compile. 2017-03-01T08:44:48Z phoe_: and now that I got it, it does look sane. 2017-03-01T08:46:30Z stilda: then why does it not substitute *loka-parameters* value there? Am I right that eval will be called on my macro body? 2017-03-01T08:47:01Z stilda: and eval on func call shoul eval arguments 2017-03-01T08:47:09Z stilda: and eval on func call should eval arguments 2017-03-01T08:47:10Z stepnem joined #lisp 2017-03-01T08:51:03Z phoe_: once again 2017-03-01T08:56:33Z stilda: ok, I think I was wrong saying that (define-loka-code myfuncname *loka-parameters*) is the expansion of the (define-loka myfuncname *loka-parameters*) form. 2017-03-01T08:57:10Z edgar-rft joined #lisp 2017-03-01T09:00:34Z phoe_: yes, the expansion is (define-loka-code myfuncname (v1 v2 v3)) 2017-03-01T09:00:37Z phoe_: or actually 2017-03-01T09:00:39Z phoe_: the result of (define-loka-code myfuncname (v1 v2 v3)) 2017-03-01T09:03:22Z stilda: phoe_: right, if there is a call to symbol-value there. 2017-03-01T09:05:05Z phoe_: stilda: let's drop a function 2017-03-01T09:05:12Z phoe_: (defmacro define-loka (name params) (destructuring-bind (p1 p2 p3) (symbol-value params) `(defun ,name () ,p1 ,p2 ,p3))) 2017-03-01T09:05:44Z phoe_: now (macroexpand-1 '(define-loka myfuncname *loka-parameters*)) ;=> (DEFUN MYFUNCNAME () VALUE1 VALUE2 VALUE3) 2017-03-01T09:08:50Z hhdave joined #lisp 2017-03-01T09:10:44Z phoe_: the only caveat - params must be bound at macroexpansion time. 2017-03-01T09:15:32Z stilda: phoe_: correct. 2017-03-01T09:16:06Z stilda: ok, so I have to move it to separate file and ensure it is compiled before the call to macro 2017-03-01T09:16:10Z phoe_: stilda: uh 2017-03-01T09:16:13Z phoe_: clhs eval-when 2017-03-01T09:16:15Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/s_eval_w.htm 2017-03-01T09:16:57Z phoe_: (eval-when (:compile-toplevel :load-toplevel :execute) (defvar *loka-parameters* '(1 2 3))) 2017-03-01T09:17:44Z phoe_: no need to move it to a separate file 2017-03-01T09:18:02Z Karl_Dscc joined #lisp 2017-03-01T09:19:44Z manuel__ joined #lisp 2017-03-01T09:19:59Z phoe_: the DEFUN would need to go in there as well, but we got rid of it. 2017-03-01T09:21:45Z manuel_ quit (Ping timeout: 260 seconds) 2017-03-01T09:21:45Z manuel__ is now known as manuel_ 2017-03-01T09:29:47Z stilda: phoe_: Does it not get evaluated anyway without that (eval-when ...) when I compile/load a file? And also how does this ensure the order of evaluation? At the end the order is what bothering me. 2017-03-01T09:31:13Z moei quit (Quit: Leaving...) 2017-03-01T09:31:43Z alandipert quit (Ping timeout: 255 seconds) 2017-03-01T09:31:58Z phoe_: stilda: I need to run for now - hope someone else explains EVAL-WHEN for you. 2017-03-01T09:32:14Z phoe_: but basically, it allows the Lisp image to have some variables bound during compilation time. 2017-03-01T09:32:18Z phoe_: which is what you need. 2017-03-01T09:32:22Z phoe_ quit (Quit: Page closed) 2017-03-01T09:36:22Z alandipert joined #lisp 2017-03-01T09:36:54Z pve joined #lisp 2017-03-01T09:38:03Z stilda: phoe_: good, thank you for help. 2017-03-01T09:41:37Z Karl_Dscc quit (Remote host closed the connection) 2017-03-01T09:43:04Z edgar-rft: stilda: Common Lisp first reads the entire file, then it tries to optimize the code, and only then it compiles the code. If you're referring in your code to something that was defined in the *same* file, then you need to wrap it in (eval-when (:compile-toplevel :load-toplevel :execute) ), then Common Lisp evaluates when it *reads* the file. 2017-03-01T09:44:02Z Bike: um, your point stands, but the first sentence is wrong. 2017-03-01T09:44:19Z edgar-rft: then please correct it :-) 2017-03-01T09:45:23Z Bike: it reads one form at a time (which is why in-readtable utilities and such work). then it compiles it, or if there's a top-level eval-when, possibly evaluates it as well (or doesn't compile). and optimization is usually part of compilation. 2017-03-01T09:46:25Z edgar-rft: Bike: okay, sounds reasonable, I will have to re-read my docs... 2017-03-01T09:46:32Z Bike: stuff like defmacro is needed by the compiler, so it's evaluated. But defun and defvar aren't. So if a macroexpander function refers to a function or variable defined in the same file, there will be a problem, unless you use eval-when. 2017-03-01T09:47:52Z jamtho_ joined #lisp 2017-03-01T09:47:57Z moei joined #lisp 2017-03-01T09:47:58Z edgar-rft: stilda: Bike is usually right, listen to him :-) 2017-03-01T09:51:57Z skeuomorf joined #lisp 2017-03-01T09:53:24Z Bike quit (Quit: sleep) 2017-03-01T09:55:44Z krasnal quit (Remote host closed the connection) 2017-03-01T09:57:33Z travv0 quit (Remote host closed the connection) 2017-03-01T09:57:40Z travv0 joined #lisp 2017-03-01T10:00:47Z stilda: ok, I have to read something, to many questions. Is there a nice material to read about whole evaluation/compilation/macroexpansion process? 2017-03-01T10:01:15Z travv0 quit (Remote host closed the connection) 2017-03-01T10:01:21Z travv0 joined #lisp 2017-03-01T10:01:26Z phoe_ joined #lisp 2017-03-01T10:01:31Z travv0` joined #lisp 2017-03-01T10:02:34Z phoe_: stilda: I'm back 2017-03-01T10:02:40Z phoe_: need some more assistance with EVAL-WHEN? 2017-03-01T10:04:38Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-01T10:05:48Z travv0 quit (Ping timeout: 260 seconds) 2017-03-01T10:07:04Z Karl_Dscc joined #lisp 2017-03-01T10:08:48Z jamtho joined #lisp 2017-03-01T10:10:00Z jamtho_ quit (Ping timeout: 260 seconds) 2017-03-01T10:11:08Z nirved joined #lisp 2017-03-01T10:11:50Z travv0` quit (Remote host closed the connection) 2017-03-01T10:11:56Z travv0` joined #lisp 2017-03-01T10:12:06Z drdo quit (Ping timeout: 268 seconds) 2017-03-01T10:12:11Z edgar-rft: stilda: the Common Lisp Specification has a whole Chapter about it, but don't expect that it will be easy to understand: 2017-03-01T10:12:38Z stilda: phoe_: thank you, I have to work at the moment. I will read something myself first and then ask questions if any. 2017-03-01T10:13:01Z edgar-rft: maybe phoe_ has already started to convert Chapter 3 to markdown :-) 2017-03-01T10:13:32Z phoe_: clhs 3 2017-03-01T10:13:32Z specbot: Evaluation and Compilation: http://www.lispworks.com/reference/HyperSpec/Body/03_.htm 2017-03-01T10:13:44Z phoe_: edgar-rft: the dictionary is converted, yes 2017-03-01T10:14:22Z phoe_: and the page http://phoe.tymoon.eu/clus/doku.php?id=cl:special_operators:eval-when is somewhat usable right now 2017-03-01T10:15:48Z phoe_: but the concepts chapter - this will need some more time 2017-03-01T10:15:52Z phoe_: I'm working on the glossary now. 2017-03-01T10:16:10Z attila_lendvai joined #lisp 2017-03-01T10:16:10Z attila_lendvai quit (Changing host) 2017-03-01T10:16:10Z attila_lendvai joined #lisp 2017-03-01T10:17:16Z stilda: I have tried to generate code for multiplication of hypercomplex numbers. My macro takes a list of multiplication rules for imaginary units and output a code for multiplication function. So far it looks like lisp is a very good fit for this. 2017-03-01T10:17:24Z sjl joined #lisp 2017-03-01T10:19:07Z iapetos joined #lisp 2017-03-01T10:20:24Z jamtho quit (Remote host closed the connection) 2017-03-01T10:20:26Z test1600 quit (Quit: Leaving) 2017-03-01T10:20:53Z jamtho joined #lisp 2017-03-01T10:24:12Z phoe_: stilda: Lisp is a very fun language for compile-time computation. 2017-03-01T10:24:43Z phoe_: Because, well, you have the whole language at your disposal during read-time, macroexpansion-time, compilation-time, load-time, execution-time. 2017-03-01T10:25:14Z phoe_: In most languages, only the third of these is guaranteed. In some of the more interactive languages, the fifth is also added. 2017-03-01T10:27:55Z phoe_: For read-time, there's the #. reader macro; for macroexpansion-time, there's macros; for compile-time, load-time, execution-time, there are the respective eval-when options. 2017-03-01T10:28:28Z phoe_: (If I understand it correctly. There might be some bugs in the two statements above. If I'm wrong somewhere, please correct me.) 2017-03-01T10:31:59Z stilda: phoe_: I know I like it but I have hard time to combine it with my everyday job. 2017-03-01T10:33:18Z phoe_: stilda: that's the struggle of many people around here. 2017-03-01T10:33:23Z phoe_: ...including me. 2017-03-01T10:33:57Z BitPuffin|osx joined #lisp 2017-03-01T10:33:57Z jamtho quit (Remote host closed the connection) 2017-03-01T10:34:26Z jamtho joined #lisp 2017-03-01T10:38:46Z jameser quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-01T10:44:26Z dim: in some cases it's possible to deliver “results” without being asked what tooling you used to deliver, those are good opportunities to use CL 2017-03-01T10:49:13Z dtornabene joined #lisp 2017-03-01T10:53:49Z chronull- quit (Read error: Connection reset by peer) 2017-03-01T10:54:20Z marsjaninzmarsa quit (Ping timeout: 260 seconds) 2017-03-01T10:54:35Z chronull- joined #lisp 2017-03-01T10:59:40Z sjl quit (Read error: Connection reset by peer) 2017-03-01T11:00:03Z marsjaninzmarsa joined #lisp 2017-03-01T11:00:13Z sjl joined #lisp 2017-03-01T11:00:51Z mazoe joined #lisp 2017-03-01T11:01:55Z ardoc quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2017-03-01T11:01:58Z Lord_of_Life quit (Excess Flood) 2017-03-01T11:05:58Z Lord_of_Life joined #lisp 2017-03-01T11:09:02Z phoe_: yes, wherever you are not required to write your solution in a particular ECBCF 2017-03-01T11:09:17Z phoe_: EnterpriseCorporateBoilerplateCompilerFactory 2017-03-01T11:10:33Z jamtho_ joined #lisp 2017-03-01T11:11:18Z jamtho quit (Ping timeout: 268 seconds) 2017-03-01T11:13:34Z sbodin joined #lisp 2017-03-01T11:14:25Z lambda-smith joined #lisp 2017-03-01T11:14:36Z sjl_ joined #lisp 2017-03-01T11:16:37Z sjl quit (Ping timeout: 240 seconds) 2017-03-01T11:18:46Z iapetos: QUIT 2017-03-01T11:18:50Z iapetos quit (Quit: leaving) 2017-03-01T11:24:09Z sjl joined #lisp 2017-03-01T11:25:57Z sjl_ quit (Read error: Connection reset by peer) 2017-03-01T11:26:59Z jamtho_ quit (Remote host closed the connection) 2017-03-01T11:27:18Z jamtho_ joined #lisp 2017-03-01T11:28:12Z jameser joined #lisp 2017-03-01T11:47:02Z jamtho__ joined #lisp 2017-03-01T11:49:52Z jamtho_ quit (Ping timeout: 260 seconds) 2017-03-01T11:52:50Z sjl quit (Ping timeout: 260 seconds) 2017-03-01T11:54:58Z jamtho__ quit (Ping timeout: 264 seconds) 2017-03-01T11:55:23Z dpg joined #lisp 2017-03-01T12:01:41Z papachan joined #lisp 2017-03-01T12:06:52Z flip214: COME-FROM 2017-03-01T12:11:30Z d4ryus2 joined #lisp 2017-03-01T12:13:49Z the-blackbeard joined #lisp 2017-03-01T12:14:32Z d4ryus1 quit (Ping timeout: 252 seconds) 2017-03-01T12:14:46Z Beetny quit (Ping timeout: 264 seconds) 2017-03-01T12:15:05Z phoe_: we need to implement this in Common Lisp 2017-03-01T12:15:09Z ogamita: Already done. 2017-03-01T12:15:16Z ogamita: It's in lisppaste and/or cll. 2017-03-01T12:15:23Z ogamita: Strangely google is useless. 2017-03-01T12:15:34Z travv0` quit (Remote host closed the connection) 2017-03-01T12:15:47Z myrkraverk: Maybe they lost some indexes in the AWS outage? ;p 2017-03-01T12:15:54Z papachan: :) 2017-03-01T12:15:55Z phoe_: ogamita: please link me. 2017-03-01T12:15:58Z phoe_ afk for now 2017-03-01T12:16:22Z ogamita: phoe_: I'll have to do that this evening. 2017-03-01T12:21:46Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-01T12:24:23Z drdo joined #lisp 2017-03-01T12:24:59Z drdo quit (Client Quit) 2017-03-01T12:27:02Z sjl joined #lisp 2017-03-01T12:30:57Z salv0 joined #lisp 2017-03-01T12:32:34Z defaultxr joined #lisp 2017-03-01T12:34:45Z anaumov joined #lisp 2017-03-01T12:38:56Z ym joined #lisp 2017-03-01T12:40:07Z sbodin quit (Ping timeout: 240 seconds) 2017-03-01T12:41:15Z Lord_of_Life quit (Excess Flood) 2017-03-01T12:41:59Z drdo joined #lisp 2017-03-01T12:44:25Z alex`` quit (Ping timeout: 240 seconds) 2017-03-01T12:45:30Z jameser joined #lisp 2017-03-01T12:46:19Z drdo quit (Client Quit) 2017-03-01T12:46:38Z drdo joined #lisp 2017-03-01T12:47:09Z sirkmatija_ quit (Quit: sirkmatija_) 2017-03-01T12:47:27Z defaultxr quit (Ping timeout: 240 seconds) 2017-03-01T12:47:28Z Lord_of_Life joined #lisp 2017-03-01T12:48:15Z parjanya quit (Read error: Connection reset by peer) 2017-03-01T12:48:44Z okflo quit (Remote host closed the connection) 2017-03-01T12:49:17Z loke___ joined #lisp 2017-03-01T12:53:53Z okflo joined #lisp 2017-03-01T12:54:24Z raynold quit (Quit: Connection closed for inactivity) 2017-03-01T12:55:04Z shdeng quit (Ping timeout: 246 seconds) 2017-03-01T12:59:36Z dpg quit (Ping timeout: 256 seconds) 2017-03-01T13:00:55Z sirkmatija_ joined #lisp 2017-03-01T13:01:26Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-01T13:07:34Z stilda quit (Quit: Page closed) 2017-03-01T13:08:55Z jameser joined #lisp 2017-03-01T13:09:06Z schjetne joined #lisp 2017-03-01T13:19:36Z lnostdal quit (Read error: Connection reset by peer) 2017-03-01T13:20:06Z Lord_of_Life quit (Excess Flood) 2017-03-01T13:20:21Z mejja joined #lisp 2017-03-01T13:22:10Z lnostdal joined #lisp 2017-03-01T13:22:39Z jiacobucci quit (Ping timeout: 268 seconds) 2017-03-01T13:23:28Z Lord_of_Life joined #lisp 2017-03-01T13:32:31Z davsebamse quit (Ping timeout: 268 seconds) 2017-03-01T13:32:56Z jiacobucci joined #lisp 2017-03-01T13:34:05Z davsebamse joined #lisp 2017-03-01T13:44:01Z sellout- quit (Quit: Leaving.) 2017-03-01T13:44:16Z sellout- joined #lisp 2017-03-01T13:50:11Z wilfredh joined #lisp 2017-03-01T13:52:04Z mejja left #lisp 2017-03-01T13:54:02Z eudoxia joined #lisp 2017-03-01T14:01:58Z sbodin joined #lisp 2017-03-01T14:02:10Z TDT joined #lisp 2017-03-01T14:06:09Z sirkmatija_ quit (Quit: sirkmatija_) 2017-03-01T14:07:09Z LiamH joined #lisp 2017-03-01T14:08:36Z mrottenkolber joined #lisp 2017-03-01T14:12:41Z drmeister: ECL uses a scheme for multiprocessing where special symbols maintain a 'binding' slot that indexes into a thread local table of bindings. As you do things like (let ((*foo* 1)) (declare (special *foo*)) ...) it doesn't write the 1 into the symbol-value of *foo* but instead maintains a thread local table of bindings that needs to be expanded in every thread 2017-03-01T14:12:41Z drmeister: as new special symbols are bound. 2017-03-01T14:13:06Z drmeister: Are there any other schemes out there for supporting multiprocessing and special symbol binding in Common Lisp? 2017-03-01T14:13:32Z drmeister: If not, this seems reasonable and I will go ahead and implement it. 2017-03-01T14:13:54Z beach: It would certainly be a bad idea to write a new value to a common slot in the symbol. 2017-03-01T14:14:01Z drmeister: Yes. 2017-03-01T14:14:06Z jerme joined #lisp 2017-03-01T14:14:16Z beach: As I see it, there are two options... 2017-03-01T14:14:25Z drmeister: ECL switches what it does depending on how you set the ECL_THREADS C macro. 2017-03-01T14:14:35Z LiamH quit (Ping timeout: 260 seconds) 2017-03-01T14:14:42Z beach: 1. what ECL does. But it is important how the table is organized. 2017-03-01T14:15:03Z m00natic joined #lisp 2017-03-01T14:15:08Z beach: 2. Have a per-thread binding stack that contains pairs . 2017-03-01T14:15:49Z beach: So how is the table organized in ECL? 2017-03-01T14:16:14Z drmeister: Ah - ECL does have a per-thread binding stack that contains pairs What I described above describes where the current thread-local value of the special symbol is stored. 2017-03-01T14:16:46Z beach: I am confused now. 2017-03-01T14:16:59Z drmeister: It's just a vector of objects and as each new special symbol is bound that symbol is assigned the next index into the table. 2017-03-01T14:17:30Z beach: So one entry per special variable? 2017-03-01T14:17:46Z beach: I yes, I see. 2017-03-01T14:18:04Z drmeister: Me too (slightly). My understanding of ECL's method is that it combines both of your two options - so I wonder what your two options are. 2017-03-01T14:18:13Z beach: The table is thread-local, but the index for a particular symbol is the same in every thread, right? 2017-03-01T14:18:19Z drmeister: Yes 2017-03-01T14:18:58Z beach: I think SBCL does something very similar. 2017-03-01T14:19:33Z al-damiri joined #lisp 2017-03-01T14:20:09Z beach: So I am guessing the binding stack contains previous values. In my option 2, it would also contain current values. 2017-03-01T14:20:25Z beach: So in option 2, you would have to search the stack for each access. 2017-03-01T14:20:28Z sbodin quit (Ping timeout: 246 seconds) 2017-03-01T14:21:33Z mrottenkolber quit (Remote host closed the connection) 2017-03-01T14:21:50Z beach: Option 1 is faster, but it is messy to manage the per-thread expandable table. 2017-03-01T14:22:02Z beach: Option 2 is simpler, but also slower. 2017-03-01T14:22:10Z cromachina quit (Read error: Connection reset by peer) 2017-03-01T14:22:10Z drmeister: Ah - got it 2017-03-01T14:22:28Z lnostdal quit (Ping timeout: 268 seconds) 2017-03-01T14:22:33Z beach: It would be interesting to determine for option 2 the average depth of an access. 2017-03-01T14:22:34Z drmeister: I understand the code in ECL that manages the mess per-thread expandable table. 2017-03-01T14:22:39Z drmeister: messy 2017-03-01T14:23:00Z drmeister: Right - we have touched on this discussion before. 2017-03-01T14:23:56Z splittist: I wonder how much of the mechanism is, in reality, just handling a million *print-...* specials that are rarely changed. 2017-03-01T14:24:15Z drmeister: The question is - do special variable binding and lookups come up enough that a simple stack would impact performance. 2017-03-01T14:24:34Z beach: splittist: Yeah, very good question. 2017-03-01T14:25:05Z jiacobucci quit (Ping timeout: 240 seconds) 2017-03-01T14:25:07Z beach: My guess is accesses are either to global values or to recent bindings. 2017-03-01T14:27:35Z beach: Option 2 would need a fast way of answering the question "Does this variable have a thread-specific binding in the current thread?". 2017-03-01T14:28:23Z beach: Otherwise, the entire binding stack would have to be traversed for an access to a global binding. 2017-03-01T14:28:58Z drmeister: I'll go with the messy table 2017-03-01T14:30:32Z beach: How does the ECL technique determine whether there are any per-thread binding for a symbol? 2017-03-01T14:31:33Z beach: It can't very well store the global binding in a per-thread table. 2017-03-01T14:33:06Z drmeister: When it expands the per-thread table it fills the empty slots with a special no_thread_local_binding value. 2017-03-01T14:33:31Z beach: So if it is assigned to in one thread, it won't be visible in the others? 2017-03-01T14:33:48Z beach: That's not the usual semantics chosen by implementations. 2017-03-01T14:33:52Z lnostdal joined #lisp 2017-03-01T14:34:04Z beach: Oh, maybe I misunderstood. 2017-03-01T14:34:06Z pebblexe joined #lisp 2017-03-01T14:34:06Z drmeister: If you read a symbol with no_thread_local_binding - I think it copies the global value into that slot - so now you have a thread local binding that is identical to the global value. 2017-03-01T14:34:09Z flip214: beach: if there's no thread-local binding, the global binding is visible. 2017-03-01T14:35:04Z drmeister: I'm not sure about what happens when you assign to a special variable 2017-03-01T14:35:04Z beach: drmeister: If you are right, that is not a good idea. 2017-03-01T14:35:21Z drmeister: I'm sure the semantics are correct and that my understanding is incomplete. 2017-03-01T14:35:31Z beach: flip214: Yes, but how is that done in ECL? 2017-03-01T14:36:25Z beach: drmeister: Perhaps it stores a special value that is tested for when a variable is accessed. If it is EQ to that special value, it goes to the global binding? 2017-03-01T14:38:01Z beach: drmeister: Presumably, to assign to a special variable, you modify the value in the table, provided it is the thread-local binding. Otherwise, you modify the global binding. 2017-03-01T14:38:27Z himmAllRight17 quit (Ping timeout: 240 seconds) 2017-03-01T14:38:54Z angavrilov quit (Remote host closed the connection) 2017-03-01T14:39:19Z angavrilov joined #lisp 2017-03-01T14:39:31Z pebblexe: how would I make an accessor run a function before returning the value? 2017-03-01T14:39:45Z knicklux joined #lisp 2017-03-01T14:42:45Z beach: pebblexe: Define a :BEFORE method on it. 2017-03-01T14:43:29Z beach: ... or an :AROUND method if the function call involves the value to be returned. 2017-03-01T14:44:00Z DGASAU quit (Read error: Connection reset by peer) 2017-03-01T14:44:09Z pebblexe: beach: thanks! 2017-03-01T14:44:15Z beach: Anytime! 2017-03-01T14:44:22Z DGASAU joined #lisp 2017-03-01T14:44:24Z cibs quit (Ping timeout: 260 seconds) 2017-03-01T14:46:05Z cibs joined #lisp 2017-03-01T14:46:09Z LiamH joined #lisp 2017-03-01T14:48:58Z scottj joined #lisp 2017-03-01T14:49:34Z jiacobucci joined #lisp 2017-03-01T14:49:38Z beach: drmeister: So is it the case? 2017-03-01T14:50:05Z Karl_Dscc quit (Remote host closed the connection) 2017-03-01T14:50:50Z sjl quit (Ping timeout: 268 seconds) 2017-03-01T14:53:11Z beach: drmeister: Hello? 2017-03-01T14:53:54Z attila_lendvai: drmeister: FYI, SBCL has an extension called defglobal, which makes sure the binding cannot be made thread-local 2017-03-01T14:54:38Z lnostdal quit (Read error: Connection reset by peer) 2017-03-01T14:55:20Z lnostdal joined #lisp 2017-03-01T14:57:45Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-01T14:59:46Z lnostdal quit (Read error: Connection reset by peer) 2017-03-01T15:01:31Z strelox joined #lisp 2017-03-01T15:01:50Z lnostdal joined #lisp 2017-03-01T15:03:33Z impaktor quit (Remote host closed the connection) 2017-03-01T15:03:59Z impaktor joined #lisp 2017-03-01T15:04:08Z dec0n quit (Read error: Connection reset by peer) 2017-03-01T15:05:36Z pebblexe: can I use before on a slot-value, or do I have to create a defmethod? 2017-03-01T15:05:55Z beach: clhs slot-value 2017-03-01T15:05:56Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_slt_va.htm 2017-03-01T15:06:13Z beach: pebblexe: SLOT-VALUE is not a generic function. 2017-03-01T15:06:25Z pebblexe: right, I'm sorry, I just mean the value in a clos object 2017-03-01T15:06:26Z beach: pebblexe: So you can't define a :BEFORE method on it. 2017-03-01T15:06:36Z pebblexe: aren't they called slots? 2017-03-01T15:06:54Z raydeejay: is there some kind of channel/forum/list/wiki/other for ceramic? 2017-03-01T15:06:56Z beach: What is stored in a class instance are slots, yes. 2017-03-01T15:07:26Z beach: pebblexe: The way you define a :BEFORE method is to use DEFMETHOD. 2017-03-01T15:07:30Z ogamita: if you use slot-value in your public interface, then you can define a method on slot-value. 2017-03-01T15:08:02Z ogamita: if you use an accessor in your public interface, then define a method on your reader. 2017-03-01T15:08:06Z beach: ogamita: Not on CL:SLOT-VALUE. 2017-03-01T15:08:16Z ogamita: You can, on your own classes. 2017-03-01T15:08:52Z beach: ogamita: How would that be done? 2017-03-01T15:09:21Z beach: pebblexe: I am not sure I understand your question then, if it was not about the function named slot-value. 2017-03-01T15:09:54Z ogamita: beach: It seems I'm wrong, slot-value is not a generic function. 2017-03-01T15:09:56Z pebblexe: beach: here's what I meant 2017-03-01T15:10:02Z pebblexe: I have this in my class: (timestamp :type integer :initarg :timestamp :accessor timestamp) 2017-03-01T15:10:12Z beach: OK. 2017-03-01T15:10:16Z pebblexe: ideally I could do this: (timestamp :type integer :initarg :timestamp :accessor timestamp :before 'func1 :after 'func2) 2017-03-01T15:10:21Z ksool joined #lisp 2017-03-01T15:10:28Z beach: pebblexe: You can't do that. 2017-03-01T15:10:33Z pebblexe: dang it 2017-03-01T15:10:34Z ogamita: So you have to use accessors and define a :before or :around method on your accessor. 2017-03-01T15:10:56Z beach: (defmethod timestamp :before ((object class)) (func1 ..)) 2017-03-01T15:11:05Z ogamita: It would be possible with a specific metaclass that would use specific slot-definitions. 2017-03-01T15:11:12Z beach: pebblexe: Why is that a problem? 2017-03-01T15:11:25Z pebblexe: it's not a problem, I just thought I could handle it that way 2017-03-01T15:11:31Z ogamita: pebblexe: It would be possible with a specific metaclass that would use specific slot-definitions. 2017-03-01T15:11:39Z beach: pebblexe: What made you think that? 2017-03-01T15:11:43Z beach: clhs defclass 2017-03-01T15:11:44Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_defcla.htm 2017-03-01T15:11:56Z vibs29 quit (Ping timeout: 260 seconds) 2017-03-01T15:12:09Z pebblexe: beach: idk why I thought that. 2017-03-01T15:12:16Z ogamita: pebblexe: but one of the points of OO programming notably with CLOS, is also that you can split and spread stuff by other categories than just the class. 2017-03-01T15:12:22Z beach: pebblexe: There is no slot-option :BEFORE as you can see. 2017-03-01T15:12:36Z pebblexe: beach: right, I'm wrong. 2017-03-01T15:12:40Z Karl_Dscc joined #lisp 2017-03-01T15:15:48Z zooey quit (Remote host closed the connection) 2017-03-01T15:16:23Z zooey joined #lisp 2017-03-01T15:17:30Z alexherbo2 joined #lisp 2017-03-01T15:18:23Z vibs29 joined #lisp 2017-03-01T15:18:48Z rippa joined #lisp 2017-03-01T15:20:47Z manualcrank joined #lisp 2017-03-01T15:23:08Z lambda-smith quit (Ping timeout: 260 seconds) 2017-03-01T15:23:33Z edgar-rft quit (Quit: edgar-rft) 2017-03-01T15:23:46Z freehck quit (Quit: "restart") 2017-03-01T15:24:37Z alexherbo2 quit (Ping timeout: 240 seconds) 2017-03-01T15:26:57Z alexherbo2 joined #lisp 2017-03-01T15:29:15Z mishoo quit (Ping timeout: 260 seconds) 2017-03-01T15:32:13Z papachan quit (Ping timeout: 246 seconds) 2017-03-01T15:33:38Z an__ joined #lisp 2017-03-01T15:36:02Z pebblexe: hey I am trying to load a 2gig file into ram and I am getting this error: (SB-KERNEL::HEAP-EXHAUSTED-ERROR 438632448 2541404000) 2017-03-01T15:36:17Z beach: What implementation? 2017-03-01T15:36:22Z pebblexe: http://rosettacode.org/wiki/Read_entire_file#Common_Lisp <- that's the code I'm using to slurp 2017-03-01T15:36:23Z pebblexe: sbcl 2017-03-01T15:37:08Z beach: Try sbcl --dynamic-space-size 10000 2017-03-01T15:37:13Z beach: or something even bigger. 2017-03-01T15:38:41Z dtornabene is now known as heyjude 2017-03-01T15:39:33Z beach: clhs make-string 2017-03-01T15:39:33Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_mk_stg.htm 2017-03-01T15:40:13Z sjl joined #lisp 2017-03-01T15:40:16Z beach: pebblexe: The default element type for MAKE-STRING is CHARACTER, so you probably allocate 4 bytes for each character. 2017-03-01T15:41:10Z beach: So if you read a 2GByte file, you probably need at least 8GByte just for the string. 2017-03-01T15:41:48Z ``Erik joined #lisp 2017-03-01T15:42:10Z sirkmatija_ joined #lisp 2017-03-01T15:42:32Z flip214: perhaps a simple-string would be good enough 2017-03-01T15:42:50Z beach: How is that better? 2017-03-01T15:43:04Z flip214: that would only use 1 byte per character, IIRC 2017-03-01T15:43:13Z beach: What makes you think that? 2017-03-01T15:43:27Z flip214: or, rather, a base-char-string or what was it called? 2017-03-01T15:43:34Z beach: That's different. 2017-03-01T15:43:46Z ogamita: Simple-string is (simple-array character (size)). 2017-03-01T15:44:11Z phoe_: simple-base-string for the win 2017-03-01T15:44:16Z beach: clhs base-string 2017-03-01T15:44:16Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/t_base_s.htm 2017-03-01T15:44:43Z ogamita: When I allocate big arrays, I prefer them to be adjustable and with fill pointers… 2017-03-01T15:45:32Z varjag quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2017-03-01T15:45:32Z ogamita: So I'd rather (make-array big :element-type 'base-char :adjustable t :fill-pointer big) and obtain a base-string, but not a simple-base-string. 2017-03-01T15:45:42Z oleo joined #lisp 2017-03-01T15:47:55Z sjl quit (Ping timeout: 260 seconds) 2017-03-01T15:50:14Z flamebeard quit (Quit: Leaving) 2017-03-01T15:52:18Z sirkmatija_ quit (Quit: sirkmatija_) 2017-03-01T15:53:44Z kettle_tea quit (Read error: Connection reset by peer) 2017-03-01T15:56:21Z Guest70562 joined #lisp 2017-03-01T15:57:04Z chu quit (Ping timeout: 246 seconds) 2017-03-01T16:04:26Z drmeister: beach: I just got back from teaching 2017-03-01T16:05:02Z drmeister: I think if the thread-local-binding table has no_thread_local_binding for that symbol then it modifies the global value. 2017-03-01T16:05:35Z beach: Thanks! 2017-03-01T16:06:29Z drmeister: That's what I came up with walking back from class - but it seems like it should work. 2017-03-01T16:10:39Z bpanthi joined #lisp 2017-03-01T16:11:31Z bpanthi: (ql:quickload :ceramic) gives System "sb-rotate-byte" not found error 2017-03-01T16:11:55Z freehck joined #lisp 2017-03-01T16:13:35Z phoe_: bpanthi: what is your implementation? SBCL? 2017-03-01T16:13:39Z phoe_: what is its version? 2017-03-01T16:14:08Z Xach: if that message comes up on sbcl, it usually indicates an incomplete or damaged installation. 2017-03-01T16:16:29Z bpanthi: sbcl 1.3.5 2017-03-01T16:17:08Z Xach: bpanthi: if you start sbcl on the command-line, can you do (require 'sb-rotate-byte)? 2017-03-01T16:17:30Z BlueRavenGT joined #lisp 2017-03-01T16:17:46Z bpanthi: yes (require 'sb-rotate-byte) returns ("SB-ROTATE-BYTE") 2017-03-01T16:19:37Z stepnem quit (Ping timeout: 240 seconds) 2017-03-01T16:22:08Z mishoo joined #lisp 2017-03-01T16:22:26Z papachan joined #lisp 2017-03-01T16:25:05Z eschulte joined #lisp 2017-03-01T16:26:57Z loke___ quit (Ping timeout: 240 seconds) 2017-03-01T16:28:10Z strelox quit (Remote host closed the connection) 2017-03-01T16:28:36Z eschulte: as I recall quicklisp supports project-local installations (effectively project local local-projects, which is hard to google), is this documented somewhere? Is qlot the tool to use? 2017-03-01T16:30:56Z bpanthi: Xach: (push #p"/usr/local/lib/sbcl/contrib/" asdf:*central-registry*) solved the problem 2017-03-01T16:31:58Z Xach: bpanthi: that is not normal 2017-03-01T16:32:24Z Xach: eschulte: qlot goes above and beyond to manage versions and reproducibility 2017-03-01T16:32:46Z quazimodo quit (Ping timeout: 246 seconds) 2017-03-01T16:33:25Z bpanthi: Xach: may be asdf or quicklisp should include that directory by default. (my asdf version is 3.1.5) 2017-03-01T16:34:01Z Xach: bpanthi: in a normal installation of sbcl, with asdf loaded, it will work without any work on the user's part. 2017-03-01T16:34:19Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-01T16:34:29Z phoe_: ^ 2017-03-01T16:34:31Z Xach: bpanthi: that is, (require 'asdf) (asdf:load-system "sb-rotate-byte") will work out of the box. 2017-03-01T16:34:45Z Xach: bpanthi: if that does not work for you in some circumstance, there is something to fix. 2017-03-01T16:35:05Z Xach: short term fix is to change the registry, but something deeper is wrong. 2017-03-01T16:36:13Z bpanthi: Xach: then maybe i have messed up my system 2017-03-01T16:36:35Z Xach: bpanthi: that seems possible 2017-03-01T16:37:41Z bpanthi: Xach: but when i do CLEAR-CONFIGURATION-AND-RETRY in (asdf:load-system "sb-rotate-byte") restart , and try again , it works. 2017-03-01T16:38:13Z Xach: bpanthi: that suggests to me that there is an asdf config file that is messing things up 2017-03-01T16:39:39Z bpanthi: Xach: where are asdf config files located ? 2017-03-01T16:40:06Z Xach: bpanthi: not sure...they can live in /etc, I think, and ~/.config, and perhaps other places 2017-03-01T16:40:24Z jasom: okay, where is upstream for quicklisp's esrap? What I get from quicklisp looks nothing like https://github.com/nikodemus/esrap 2017-03-01T16:41:00Z Xach: scymtym's 2017-03-01T16:42:08Z jasom: thanks 2017-03-01T16:42:48Z phoe_ yays, will be having a minor art exhibition at the ELS. 2017-03-01T16:42:49Z jasom: and master branch, not stable it looks like 2017-03-01T16:43:02Z mazoe: hi all! Unit testing in CL - is there a generally recommended method / framework? 2017-03-01T16:43:14Z phoe_: mazoe: five-am if you like huge frameworks 2017-03-01T16:43:21Z phoe_: 1am if you like frameworks that fit on a single page 2017-03-01T16:43:24Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-01T16:43:25Z phoe_: 2am if you like in between 2017-03-01T16:43:43Z Xach: 3am should be in between :~( 2017-03-01T16:44:01Z jasom: I need to make 6am; surely 5am is not overengineered enough 2017-03-01T16:44:02Z ogamita: I use simple-test. 2017-03-01T16:46:03Z monadicDuck joined #lisp 2017-03-01T16:47:28Z raynold joined #lisp 2017-03-01T16:47:29Z mazoe: phoe_: lol, I thought you were joking about 1am and 2am... 2017-03-01T16:47:43Z phoe_: mazoe: I'm not. 2017-03-01T16:47:53Z mazoe: nope 2017-03-01T16:47:57Z phoe_: I'm using a slightly augmented 1am in my own projects. 2017-03-01T16:48:07Z phoe_: so I think we can say I'm using 1:20am. 2017-03-01T16:48:12Z mazoe: :D 2017-03-01T16:48:24Z phoe_: fivepast1am 2017-03-01T16:48:29Z phoe_: oh gods, I'm so making this framework 2017-03-01T16:48:34Z mazoe: gotta love choices 2017-03-01T16:49:50Z mazoe: ogamita: simple-test, link? 2017-03-01T16:51:38Z ogamita: https://gitlab.com/com-informatimago/com-informatimago/blob/master/common-lisp/cesarum/simple-test.lisp 2017-03-01T16:51:59Z ogamita: example: https://gitlab.com/com-informatimago/com-informatimago/blob/master/common-lisp/cesarum/string-test.lisp 2017-03-01T16:52:22Z prole joined #lisp 2017-03-01T16:53:12Z alexherbo2 quit (Ping timeout: 260 seconds) 2017-03-01T16:54:39Z mazoe: ogamita: sweet, thanks. Google wasn't too helpful 2017-03-01T16:55:22Z akkad quit (Excess Flood) 2017-03-01T16:56:25Z wilfredh quit (Quit: Connection closed for inactivity) 2017-03-01T16:56:39Z scymtym: jasom: did you see the reference to https://github.com/nikodemus/esrap in the debian package or somewhere else? 2017-03-01T16:57:47Z akkad joined #lisp 2017-03-01T16:58:21Z heyjude is now known as JumpinJackFlash 2017-03-01T16:58:35Z axion quit (Quit: WeeChat 1.7) 2017-03-01T16:58:56Z JumpinJackFlash is now known as jumpinja3kflash 2017-03-01T16:59:02Z axion joined #lisp 2017-03-01T16:59:54Z bpanthi quit (Quit: bpanthi) 2017-03-01T17:00:33Z samebchase joined #lisp 2017-03-01T17:01:47Z jasom: scymtym: googled for esrap 2017-03-01T17:02:29Z phoe_: hahaha, the glossary is parsed 2017-03-01T17:02:35Z phoe_: now to polish it by hand. 2017-03-01T17:02:36Z jasom: is it possible to get disassembly for a labels/flet in sbcl? 2017-03-01T17:03:27Z lambda-smith joined #lisp 2017-03-01T17:03:39Z phoe_: jasom: uh yeah 2017-03-01T17:03:50Z wtetzner joined #lisp 2017-03-01T17:04:01Z phoe_: (flet ((foo () 3)) #'foo) ;=> # 2017-03-01T17:04:07Z phoe_: (disassemble *) ;=> ... 2017-03-01T17:04:56Z phoe_: just don't pass it symbols, because the fleted/labeled symbols aren't globally fbound and that's where disassemble looks for the symbol-functions 2017-03-01T17:05:02Z jasom: right 2017-03-01T17:05:26Z jasom: now I'm trying to figuore out how to get the function object; I'm profiling some code and the top 3 functions are all labels/flet 2017-03-01T17:05:53Z phoe_: jasom: how to get the function objects? 2017-03-01T17:05:55Z phoe_: #'foobar 2017-03-01T17:06:03Z phoe_: inside the flet/labels body 2017-03-01T17:06:15Z jasom: right, so I'll break there and do that perhaps 2017-03-01T17:06:19Z scymtym: jasom: thanks 2017-03-01T17:06:25Z phoe_: or just (with-output-to-string (*random-string*) (disassemble #'foobar)) 2017-03-01T17:06:36Z phoe_: or dunno, rebind *standard-output* somewhere and read from it later 2017-03-01T17:06:42Z phoe_: since that's where disassemble writes 2017-03-01T17:06:54Z phoe_: wait wait 2017-03-01T17:07:04Z phoe_: break allows you to do that? 2017-03-01T17:07:12Z phoe_: like, execute arbitrary code at this point of execution? 2017-03-01T17:07:13Z scymtym: jasom: SB-DISASSEM:DISASSEMBLE-CODE-COMPONENT kind of shows it, but you have to map segments to back to functions 2017-03-01T17:07:31Z scymtym: s/to back to/back to/ 2017-03-01T17:07:37Z phoe_: so you can just drop off to a REPL there and execute stuff? 2017-03-01T17:08:05Z scymtym: with sufficient debug policy there will be semi-helpful labels that may help with that 2017-03-01T17:09:03Z jasom: phoe_: break drops you into the debugger, and from the debugger you can execute arbitrary code 2017-03-01T17:09:25Z raynold: ahh it's a wonderful day 2017-03-01T17:09:27Z scymtym: note that single-use local functions may be inlined without explicit request 2017-03-01T17:09:43Z jasom: obviously this isn't being inlined since I see it in the profiling data 2017-03-01T17:09:44Z phoe_: jasom: holy fuck, you're right 2017-03-01T17:09:50Z phoe_: I didn't realize it until now 2017-03-01T17:10:04Z phoe_: I've never used it until now 2017-03-01T17:10:10Z phoe_: my mind is blown again 2017-03-01T17:10:27Z scymtym: sorry, i was just giving general advice without reading the whole discussion 2017-03-01T17:11:46Z jasom: The tooling is what keeps me coming back to lisp; I do really like macros, and editing s-expressions is much easier than less regular syntax. The condition system is pretty neat too. However the tooling is unrivaled compared to any language implementations that compile to tight machine code, and it's among the best even for highly dynamic interpreted languages. 2017-03-01T17:13:00Z mazoe: jasom: Same here 2017-03-01T17:13:10Z mazoe: and more specifically, the interactive nature of development 2017-03-01T17:13:11Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-01T17:13:46Z jasom: mazoe: right, I can change a single function, recompile and get instruction level profiling faster than a single c++ incremental build 2017-03-01T17:15:10Z jasom: The other day I modified some performance critical code and it got 30% slower; in under 5 minutes I was able to determine it's because changing the code around an IF made a conditional move become a tst/jne and branch prediction is a thing. 2017-03-01T17:15:36Z phoe_ quit (Quit: Page closed) 2017-03-01T17:15:39Z jasom: s/tst/cmp (wrong architecture) 2017-03-01T17:16:15Z mazoe: jasom: nice, yep, and fix it without any restart/rebuild cycle 2017-03-01T17:17:55Z monadicDuck quit (Ping timeout: 246 seconds) 2017-03-01T17:18:41Z Petit_Dejeuner: jasom: I assume SmallTalk is too in-its-own-world for you and Erlang is too functional? 2017-03-01T17:19:41Z jasom: I've never used Erlang; does it have good tooling? 2017-03-01T17:21:41Z jasom: And yes, SmallTalk has great tooling; historically there's lots of cross-pollination between ST and Lisp. 2017-03-01T17:22:57Z jasom: Oh, I should also say that there are some commercial tools that have good tooling, but the price means that they are unlikely to be used for hobby projects. 2017-03-01T17:24:29Z jasom: I'm not poor, but I'm also not going to drop $5k on development tools for software I'm giving away for free. 2017-03-01T17:25:01Z nowhereman joined #lisp 2017-03-01T17:26:44Z Petit_Dejeuner: jasom: iirc, erlang has a similar image system to Common Lisp or SmallTalk 2017-03-01T17:26:47Z aeth: $5k is more than most reasonable development hardware expenses for one individual these days. Iirc, it's also more than setting up an LLC, trademarking something, etc. So even if you *were* selling it, $5k could be your highest expense. 2017-03-01T17:28:14Z Bike joined #lisp 2017-03-01T17:32:26Z logicmoo joined #lisp 2017-03-01T17:33:16Z the-blackbeard quit (Quit: Leaving) 2017-03-01T17:34:34Z dmiles quit (Ping timeout: 264 seconds) 2017-03-01T17:37:42Z chronull` joined #lisp 2017-03-01T17:40:37Z chronull- quit (Ping timeout: 240 seconds) 2017-03-01T17:41:16Z hhdave quit (Ping timeout: 260 seconds) 2017-03-01T17:41:46Z wtetzner quit (Remote host closed the connection) 2017-03-01T17:42:44Z pjb joined #lisp 2017-03-01T17:45:47Z Lord_of_Life quit (Excess Flood) 2017-03-01T17:47:20Z shifty quit (Ping timeout: 260 seconds) 2017-03-01T17:47:58Z Lord_of_Life joined #lisp 2017-03-01T17:49:19Z m00natic quit (Remote host closed the connection) 2017-03-01T17:50:52Z akkad quit (Excess Flood) 2017-03-01T17:51:56Z schaueho joined #lisp 2017-03-01T17:58:48Z phoe: erlang is crazy about it "let it fail" strategy. crazy in a good way. 2017-03-01T17:59:29Z akkad joined #lisp 2017-03-01T17:59:29Z akkad quit (Excess Flood) 2017-03-01T17:59:31Z phoe: and it has LFE. 2017-03-01T17:59:47Z akkad joined #lisp 2017-03-01T17:59:48Z Petit_Dejeuner: I've heard ericson nodes have some kind of 99.9999999% up time. 2017-03-01T17:59:55Z phoe: ^ 2017-03-01T18:00:30Z failproofshark flashes his 9 9s gold chain 2017-03-01T18:00:41Z fiddlerwoaroof joined #lisp 2017-03-01T18:08:00Z varjag joined #lisp 2017-03-01T18:09:29Z BusFactor1 quit (Read error: Connection reset by peer) 2017-03-01T18:13:08Z TruePika should really reorganize all his code at some point 2017-03-01T18:13:36Z TruePika: Both on my VM and on my server, I have directories such as "Perl"/"C++"/"C"/"common-lisp" 2017-03-01T18:13:44Z TruePika: (and I think also just "lisp" somewhere) 2017-03-01T18:13:54Z TruePika: but I also have stuff like "Projects" and "git" 2017-03-01T18:14:42Z TruePika: ASDF having setup times proportional to directory file counts doesn't help a lot 2017-03-01T18:15:28Z TruePika: (with restructuring; one of my projects has a subdir with over 50k images in it, and if ASDF looks in there, stuff slows down a _lot_) 2017-03-01T18:15:48Z edgar-rft joined #lisp 2017-03-01T18:16:33Z szmer joined #lisp 2017-03-01T18:16:41Z TruePika: My laptop is only slightly better, since almost all my devving is in VM; all I have is "Github" (in ~/Documents) and "common-lisp" (in ~) 2017-03-01T18:17:03Z TruePika: (where ~ is C:\Users\Chris) 2017-03-01T18:17:26Z aeth: I just put everything under "~/git". I used to also have an "~/svn" and a "~/hg" a long time ago. (The svn one was first... unless I started with cvs, I don't remember.) 2017-03-01T18:17:43Z aeth: I'm not sure if it's better to have everything, regardless of language or context under ~/git 2017-03-01T18:18:12Z aeth: There's probably no way to win with organization 2017-03-01T18:18:42Z aeth: (It's not *all* flat under ~/git, I also have ~/git/other for when I have no commit access to that repository) 2017-03-01T18:18:58Z TruePika: maybe that filesystem idea MS had ages ago, but which would certainly not work with CL's pathnames 2017-03-01T18:20:17Z TruePika has...either one or two more big things to write before he has a sufficient interface to atc(6) 2017-03-01T18:20:49Z TruePika: I don't know if airplane position prediction should be part of the interface or the AI 2017-03-01T18:20:55Z TruePika: probably AI 2017-03-01T18:21:45Z TruePika: but I want to be able to test the prediction in runtime against update packets (to validate that the expected next state matches what actually happens), which would mean it needs to be part of the interface 2017-03-01T18:22:39Z pjb: To answer this question, you have to answer the question of what AI is… 2017-03-01T18:22:40Z TruePika: (I'm not very concerned about execution speed at this point, since I can hack out the semi-realtime nature of the game for development purposes, if I need to) 2017-03-01T18:23:13Z TruePika: well, not AI like my ELAINN project, but the bot that plays the game 2017-03-01T18:23:24Z wildlander joined #lisp 2017-03-01T18:23:25Z wildlander quit (Max SendQ exceeded) 2017-03-01T18:23:46Z dlowe: AI used to be what we can't make a computer do yet. Now it's what we can make a computer do but we have no clue exactly how it does it. 2017-03-01T18:24:32Z wildlander joined #lisp 2017-03-01T18:24:33Z wildlander quit (Max SendQ exceeded) 2017-03-01T18:24:45Z TruePika: meh, I'll have it be part of the bot code, and the assertions will be in the bot code as well 2017-03-01T18:25:01Z edgar-rft: airplane position prediction is easy, but it's more difficult to convince the pilot to fly to that point 2017-03-01T18:25:19Z TruePika: edgar-rft: this is atc(6) where everything but RNG is deterministic 2017-03-01T18:25:36Z TruePika: and RNG only controls what aircraft arrive 2017-03-01T18:25:59Z TruePika: (and the RNG is technically deterministic, but not from the perspective of game inputs) 2017-03-01T18:26:11Z wildlander joined #lisp 2017-03-01T18:26:12Z wildlander quit (Max SendQ exceeded) 2017-03-01T18:27:06Z TruePika: coincidentially, the _other_ thing is a "command" class, which is used to issue commands to pilots (and send the keystrokes) 2017-03-01T18:27:36Z edgar-rft: what is atc(6) ? 2017-03-01T18:27:57Z wildlander joined #lisp 2017-03-01T18:28:06Z TruePika: $ man 6 atc # If you have bsdgames installed 2017-03-01T18:28:24Z TruePika: http://manpages.ubuntu.com/manpages/zesty/man6/atc.6.html 2017-03-01T18:28:46Z pjb: Well we're more of the kind to do: M-x man RET atc(6) RET 2017-03-01T18:29:42Z edgar-rft: TruePica, pjb: both versions only tell me that there is no such manual, but thanks for the link! 2017-03-01T18:30:03Z TruePika: well you don't have bsdgames then 2017-03-01T18:30:37Z TruePika sometimes hates his KB 2017-03-01T18:31:08Z grublet joined #lisp 2017-03-01T18:31:11Z TruePika: WASD don't always work 2017-03-01T18:31:54Z sjl joined #lisp 2017-03-01T18:31:59Z TruePika: and I use split windows in Vim a lot, so a lot of ^W is needed 2017-03-01T18:32:23Z edgar-rft: TruePika: maybe it helps when you feed your keyboard with bradcrumbs? :-) 2017-03-01T18:33:45Z reepca quit (Ping timeout: 240 seconds) 2017-03-01T18:33:58Z TruePika wishes Vim had the ability to load man pages 2017-03-01T18:34:10Z TruePika: it might, but I haven't found it 2017-03-01T18:34:35Z TruePika: yup, there's a way to do it 2017-03-01T18:38:05Z vlatkoB_ joined #lisp 2017-03-01T18:38:38Z sirkmatija_ joined #lisp 2017-03-01T18:41:26Z shka_ joined #lisp 2017-03-01T18:42:05Z vlatkoB quit (Ping timeout: 268 seconds) 2017-03-01T18:43:13Z pnorton joined #lisp 2017-03-01T18:44:40Z fourier joined #lisp 2017-03-01T18:47:35Z BitPuffin|osx quit (Ping timeout: 260 seconds) 2017-03-01T18:56:52Z smokeink quit (Ping timeout: 260 seconds) 2017-03-01T18:59:54Z ksierka joined #lisp 2017-03-01T19:01:10Z lambda-smith quit (Ping timeout: 246 seconds) 2017-03-01T19:01:43Z pnorton quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2017-03-01T19:02:20Z wheelsucker joined #lisp 2017-03-01T19:04:57Z Petit_Dejeuner: TruePika: :! man foo 2017-03-01T19:05:02Z Vivek joined #lisp 2017-03-01T19:05:04Z pebblexe: I installed clozure and now I am getting this error trying to quickload a project: You need ASDF >= 3.1 to load this system correctly. 2017-03-01T19:05:14Z pebblexe: I moved the binary and image to my usr/bin folder 2017-03-01T19:05:45Z pebblexe: the docs say version 1.11 is bundled with asdf 3.1.5 2017-03-01T19:05:53Z TDT quit (Quit: TDT) 2017-03-01T19:06:53Z TruePika: Petit_Dejeuner: I was rather referring to loading the page in a buffer 2017-03-01T19:06:58Z Petit_Dejeuner: ah 2017-03-01T19:07:13Z TruePika: ofc you can cheat and use the shell command 2017-03-01T19:09:33Z ksierka quit (Remote host closed the connection) 2017-03-01T19:10:52Z TruePika tests the COMMAND class by writing code which commands everyone to go to 5,000 feet - I expect _something_ to crash 2017-03-01T19:11:28Z TruePika: ah, method combination issues 2017-03-01T19:12:19Z TruePika: ...? 2017-03-01T19:12:36Z TruePika: The method # on # has no qualifiers. 2017-03-01T19:13:07Z TruePika: Source code line: (defmethod command-check and ((command altitude-command)) 2017-03-01T19:16:26Z skeuomorf quit (Ping timeout: 256 seconds) 2017-03-01T19:16:42Z pebblexe: I figured it out, I'm an idiot 2017-03-01T19:16:44Z TruePika: yeah, I have no idea what the problem could be 2017-03-01T19:18:15Z nirved quit (Quit: Leaving) 2017-03-01T19:19:04Z TruePika: my code looks pretty much like what's in Practical Common Lisp, but using AND instead of + 2017-03-01T19:21:17Z TruePika throws together a pastebin with relevant code 2017-03-01T19:22:15Z ChrisOei joined #lisp 2017-03-01T19:22:31Z knicklux quit (Ping timeout: 246 seconds) 2017-03-01T19:24:09Z sirkmatija_ quit (Quit: sirkmatija_) 2017-03-01T19:24:25Z knicklux joined #lisp 2017-03-01T19:24:42Z ChrisOei quit (Client Quit) 2017-03-01T19:25:32Z pebblexe quit (Quit: Page closed) 2017-03-01T19:26:07Z TruePika: http://pastebin.ca/3774521 2017-03-01T19:28:49Z Guest70562 quit (Quit: WeeChat 1.7) 2017-03-01T19:29:28Z eazar001 joined #lisp 2017-03-01T19:29:37Z parjanya joined #lisp 2017-03-01T19:30:10Z chu joined #lisp 2017-03-01T19:34:25Z eudoxia quit (Read error: Connection reset by peer) 2017-03-01T19:36:52Z Guest19319 joined #lisp 2017-03-01T19:38:30Z Ven joined #lisp 2017-03-01T19:42:22Z drewc: TruePika: Is that starting from a from lisp, or a new package, or a new generic function with the old symbol unintern'd first? I am not familiar with the AND method combination, but the code you pasted should work, and works in my *slime-scratch* buffer with a quick test. 2017-03-01T19:42:34Z drewc: from a new lisp* 2017-03-01T19:43:20Z drewc: i.e > (command-check (make-instance 'altitude-command :altitude 4)) => T 2017-03-01T19:47:11Z jibanes quit (Ping timeout: 252 seconds) 2017-03-01T19:48:46Z jibanes joined #lisp 2017-03-01T19:49:51Z RedEight joined #lisp 2017-03-01T19:50:40Z the-blackbeard joined #lisp 2017-03-01T19:52:30Z TruePika restarts the instance 2017-03-01T19:52:56Z TruePika: yeah, it "works" now 2017-03-01T19:55:17Z TruePika: now I'm just having difficulty converting a vector to an array 2017-03-01T19:55:27Z Younder: As in I grook it or by some magic it gives the right results right now? 2017-03-01T19:55:47Z TruePika: The method combination works now 2017-03-01T19:56:07Z TruePika: the issue now is that I'm passing the wrong type to sb-bsd-sockets:socket-send 2017-03-01T19:57:05Z TruePika tries passing strings instead of byte vectors 2017-03-01T19:58:33Z TruePika: welp, I'm not sending everything somehow 2017-03-01T19:59:10Z Guest19319 quit (Ping timeout: 268 seconds) 2017-03-01T19:59:10Z TruePika: I tried to issue an altitude change for plane A to 5,000; all that happened was reception of the first "A" (plane ID), then a bell 2017-03-01T20:00:03Z jumpinja3kflash is now known as dtornabene 2017-03-01T20:00:04Z schaueho quit (Ping timeout: 256 seconds) 2017-03-01T20:01:05Z TruePika gets logging ready 2017-03-01T20:03:44Z TruePika: ...shouldn't have been an issue, Lisp side is not in error from what I can tell 2017-03-01T20:03:56Z okflo quit (Remote host closed the connection) 2017-03-01T20:04:05Z TMA quit (Ping timeout: 240 seconds) 2017-03-01T20:04:22Z TruePika: ...except commands are case-sensitive <_< 2017-03-01T20:08:37Z vlatkoB_ quit (Remote host closed the connection) 2017-03-01T20:09:43Z lmj joined #lisp 2017-03-01T20:12:21Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-01T20:15:40Z knicklux quit (Ping timeout: 260 seconds) 2017-03-01T20:18:35Z LiamH quit (Ping timeout: 260 seconds) 2017-03-01T20:18:37Z TMA joined #lisp 2017-03-01T20:19:50Z ebrasca joined #lisp 2017-03-01T20:19:59Z Jesin quit (Quit: Leaving) 2017-03-01T20:21:48Z SAL9000 quit (Ping timeout: 260 seconds) 2017-03-01T20:21:52Z dtornabene quit (Quit: Leaving) 2017-03-01T20:23:26Z xrash joined #lisp 2017-03-01T20:25:07Z Jesin joined #lisp 2017-03-01T20:26:22Z sellout- quit (Quit: Leaving.) 2017-03-01T20:26:31Z sellout- joined #lisp 2017-03-01T20:28:57Z LiamH joined #lisp 2017-03-01T20:30:33Z knicklux joined #lisp 2017-03-01T20:30:58Z sellout- quit (Ping timeout: 264 seconds) 2017-03-01T20:34:25Z decuser joined #lisp 2017-03-01T20:35:02Z lmj quit (Quit: Lost terminal) 2017-03-01T20:36:02Z decuser: I would like to check a list to see if all of its members are integers. I wrote this code - (map 'list #'integerp '(1 2 A)) and it correctly returns (T T NIL). How can I get it reduced to just NIL? 2017-03-01T20:36:59Z decuser: I tried reduce using #'and, but it complained that AND wasn't a function. I'm using sbcl 1.3.14 2017-03-01T20:39:27Z dlowe: decuser: use EVERY 2017-03-01T20:40:05Z fourier quit (Ping timeout: 240 seconds) 2017-03-01T20:40:34Z jasom: someone (beach perhaps) was working on a representation for lisp source code that preserves more than READ. My searching for it is failing; anyone know what I'm talking about? 2017-03-01T20:41:37Z decuser: dlowe: thanks! that worked swell. 2017-03-01T20:41:43Z drmeister: Does ASDF build systems using multiple threads? 2017-03-01T20:42:35Z drmeister: jasom: I know about the thing that beach is working on to represent source locations and objects. 2017-03-01T20:48:27Z Xach_ joined #lisp 2017-03-01T20:51:53Z kjak_____ joined #lisp 2017-03-01T20:52:24Z decuser quit 2017-03-01T20:53:05Z kini quit (*.net *.split) 2017-03-01T20:53:05Z Xach quit (*.net *.split) 2017-03-01T20:53:06Z xantoz quit (*.net *.split) 2017-03-01T20:53:06Z kjak_ quit (*.net *.split) 2017-03-01T20:53:06Z joast quit (*.net *.split) 2017-03-01T20:54:00Z fnord_ is now known as CrazEd 2017-03-01T20:54:23Z SAL9000 joined #lisp 2017-03-01T20:54:30Z CrazEd is now known as Guest37011 2017-03-01T20:56:04Z attila_lendvai joined #lisp 2017-03-01T20:58:05Z sjl quit (Ping timeout: 240 seconds) 2017-03-01T21:00:07Z xantoz joined #lisp 2017-03-01T21:00:38Z malice joined #lisp 2017-03-01T21:00:51Z malice: Hi, how can I declare that the variable declared in the loop is of type integer? 2017-03-01T21:00:51Z malice: 2017-03-01T21:01:04Z malice: fixnum* 2017-03-01T21:01:17Z malice: (loop for i from 0 ...) <- i is fixnum 2017-03-01T21:01:24Z Bike: loop for i fixnum 2017-03-01T21:01:53Z BitPuffin|osx joined #lisp 2017-03-01T21:01:54Z phoe: ha, I read about that one back in spec chapter Iteration 2017-03-01T21:02:02Z phoe giggles 2017-03-01T21:02:23Z malice: Will try that. In the meantime, another question: 2017-03-01T21:02:46Z malice: How can I make quickload print out the compilation errors/warnings, e.g. when compiler cannot optimize something? 2017-03-01T21:03:01Z malice: I have (declaim (optimize ...)) in my code, and I must do C-c C-k because quickloading won't do 2017-03-01T21:03:21Z Bike: :verbose t, maybe? 2017-03-01T21:03:24Z phoe: clhs *compile-verbose* 2017-03-01T21:03:24Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/v_cmp_pr.htm 2017-03-01T21:03:32Z Bike: it might be asdf suppressing that, i'm not sure 2017-03-01T21:03:38Z phoe: try this - unless quicklisp or asdf rebind this. 2017-03-01T21:06:15Z malice: verbose works, thanks! 2017-03-01T21:06:43Z papachan quit (Quit: Leaving) 2017-03-01T21:06:43Z varjagg joined #lisp 2017-03-01T21:08:28Z varjag quit (Ping timeout: 260 seconds) 2017-03-01T21:09:22Z shka_ quit (Ping timeout: 264 seconds) 2017-03-01T21:09:34Z angavrilov quit (Remote host closed the connection) 2017-03-01T21:14:08Z shka_ joined #lisp 2017-03-01T21:15:12Z sellout- joined #lisp 2017-03-01T21:16:56Z joast joined #lisp 2017-03-01T21:18:43Z sdsadsdas quit (Remote host closed the connection) 2017-03-01T21:20:02Z shka_ quit (Read error: Connection reset by peer) 2017-03-01T21:20:10Z sdsadsdas joined #lisp 2017-03-01T21:20:51Z sdsadsdas quit (Remote host closed the connection) 2017-03-01T21:21:17Z jcs__ joined #lisp 2017-03-01T21:22:22Z jcs__ left #lisp 2017-03-01T21:23:18Z jasom: drmeister: do you have a name or a link to it? 2017-03-01T21:25:25Z drmeister: The only think I know that exists is page 61 of this: http://metamodular.com/cleavir.pdf 2017-03-01T21:26:27Z mishoo quit (Ping timeout: 240 seconds) 2017-03-01T21:29:07Z Bike: https://github.com/robert-strandh/Second-Climacs/tree/master/Papers/Incremental-parsing something like this, i think 2017-03-01T21:29:31Z Bike: and there's a tracking reader in sicl, but i don't know how well it works 2017-03-01T21:29:58Z alexherbo2 joined #lisp 2017-03-01T21:30:40Z fiddlerwoaroof: Is there a type that means "valid array index"? 2017-03-01T21:30:55Z fiddlerwoaroof: (integer 0 #.array-dimension-limit) is, I think, correct 2017-03-01T21:31:07Z fiddlerwoaroof: But is there a defined name for this? 2017-03-01T21:31:30Z Bike: not standard 2017-03-01T21:32:07Z Bike: alexandria has it as array-index, which is... (integer 0 (#.(1- array-dimension-limit))) 2017-03-01T21:32:30Z fiddlerwoaroof: :) glad I asked 2017-03-01T21:38:44Z phoe: What is the short and idiomatic way of turning 0 into "0"? 2017-03-01T21:39:03Z phoe: clhs princ-to-string 2017-03-01T21:39:03Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_wr_to_.htm 2017-03-01T21:39:05Z phoe: thanks 2017-03-01T21:39:22Z Bike: no problem 2017-03-01T21:39:43Z wtetzner joined #lisp 2017-03-01T21:41:09Z phoe: I know I can always count on you, Bike 2017-03-01T21:50:27Z salv0 quit (Remote host closed the connection) 2017-03-01T21:50:41Z gingerale quit (Remote host closed the connection) 2017-03-01T21:52:55Z Guest37011 is now known as CrazEd 2017-03-01T21:53:24Z CrazEd is now known as Guest92036 2017-03-01T21:56:37Z jasom: I'm seeing a lot of poorly optimized lambdas when they close over a value that will be constant for the entire life of the lambda; is there a declaration I can use to hint this to the compiler? 2017-03-01T21:57:04Z jasom: I see a *huge* speedup by chainging it from e.g. (lambda () bar) to (compile nil `(lambda () ,bar)) 2017-03-01T21:57:25Z TDT joined #lisp 2017-03-01T21:57:33Z jasom: but the latter is ugly for many reasons 2017-03-01T21:59:33Z phoe: Drakma question: how can I force HTTP-REQUEST to print the request to *standard-output* instead of sending it to the host? 2017-03-01T21:59:44Z phoe: I want it to create a HTTP request but without sending it. 2017-03-01T21:59:46Z Bike: not sure i understand, but maybe declare the function dynamic-extent? 2017-03-01T22:00:25Z jasom: Bike: no, the lambda does not have dynamic extent; it's just closing over values that are constant. 2017-03-01T22:01:16Z phoe: jasom: I don't know 2017-03-01T22:01:17Z Bike: what kind of optimization is occuring, then 2017-03-01T22:01:30Z phoe: does the compiler pick it up if you define BAR as constant? 2017-03-01T22:01:42Z Bike: presumably it's not global, or globally onstant 2017-03-01T22:02:20Z phoe: so, huh, I guess you need to wrap it in a macro. 2017-03-01T22:02:22Z Bike: i mean, if you have (lambda () bar), it looks it up in a closure cell, if you do the compile it will be in a load time value cell thing 2017-03-01T22:02:32Z phoe: (clambda () bar) of sorts. 2017-03-01T22:02:54Z phoe: where C in clambda can stand both for Compiled and Constant. 2017-03-01T22:02:56Z phoe: so it's convenient~. 2017-03-01T22:02:59Z dim: phoe: embed a dummy tcp server that does the output? (mmm) 2017-03-01T22:03:05Z phoe: but I doubt this answer is satisfying. 2017-03-01T22:03:07Z phoe: dim: d'oh 2017-03-01T22:03:17Z phoe: I consider this to be a workaround, not an answer. 2017-03-01T22:03:26Z phoe: besides, I have cookies that won't work with the dummy server. 2017-03-01T22:03:26Z dim: you're being generous 2017-03-01T22:03:35Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-01T22:03:43Z dim: not I would have qualified that even as a workaround 2017-03-01T22:03:45Z dim: anyway 2017-03-01T22:04:07Z dim: s/not/not sure/ 2017-03-01T22:04:14Z aeth: (declaim (inline constant-lambda-factory)) (defun constant-lambda-factory (x) (compile nil `(lambda () ,x))) 2017-03-01T22:04:26Z Bike: the point here is to avoid a runtime compile 2017-03-01T22:04:37Z Bike: because that's a stupid thing to have 2017-03-01T22:04:51Z Bike: and i'm sure jasom knows how to write a macro 2017-03-01T22:05:03Z DGASAU quit (Read error: Connection reset by peer) 2017-03-01T22:05:09Z phoe: I don't think there's a compiler optimization for that though. 2017-03-01T22:05:15Z dim: phoe: is (setf drakma:*header-stream* *standard-output*) enough? 2017-03-01T22:05:41Z DGASAU joined #lisp 2017-03-01T22:05:52Z Bike: i'm not sure what optimization jasom is expecting to occur, but they said it does improve performance, so there must be something 2017-03-01T22:05:56Z aeth: I wonder what would happen if you did (constantly bar)? 2017-03-01T22:06:10Z aeth: And then funcalled that constantly instead of using bar directly... 2017-03-01T22:06:17Z Bike: constantly is likely defined in the obvious way, making it equivalent to (lambda (&rest ignore) bar) 2017-03-01T22:06:33Z phoe: dim: ooh. thank you! 2017-03-01T22:07:03Z szmer quit (Quit: WeeChat 1.6) 2017-03-01T22:07:16Z Bike: i think doing that still sends the actual request 2017-03-01T22:07:32Z Bike: which maybe is okay, i dunno 2017-03-01T22:09:41Z TDT quit (Quit: TDT) 2017-03-01T22:10:32Z fourier joined #lisp 2017-03-01T22:10:41Z phoe: Bike: it does send it 2017-03-01T22:10:53Z phoe: but I can see the HTTP requests themselves, which is good enough for me. 2017-03-01T22:11:25Z jasom: Here's something closer to the real code (defun member-factory (bar) (lambda (x) (position x bar)) (member-factory "1") will generate fairly crummy code. 2017-03-01T22:11:45Z jasom: much worse than (lambda (x) (position "1") bar)) 2017-03-01T22:11:45Z alexherbo2 quit (Ping timeout: 268 seconds) 2017-03-01T22:12:49Z aeth: Bike: yes, but it's a constant lambda 2017-03-01T22:13:20Z aeth: jasom: using -factory in my function name was a joke, in case it was unclear 2017-03-01T22:19:29Z Bike: oh. right, i see. 2017-03-01T22:20:28Z Bike: in that case the compiler is optimizing the position call to be something like (cond ((eql x #\1) 0)), i guess 2017-03-01T22:20:33Z kelsar777 joined #lisp 2017-03-01T22:20:35Z aeth: (defun member-factory (bar) (let ((foo (constantly bar))) (lambda (x) (position x (funcall foo))))) (let ((foo (member-factory "1"))) (time (funcall foo #\1))) ; no observable improvement over the naive way, slower than (compile nil `(lambda (x) (position x ,bar))) 2017-03-01T22:20:37Z Bike: which it's not going to be able to do even if it knows the value of bar doesn't change, no? 2017-03-01T22:20:55Z Bike: without knowing the actual value, i mean 2017-03-01T22:21:33Z jasom: Right 2017-03-01T22:21:47Z jasom: It's not possible to do without generating a new function for each call to lambda 2017-03-01T22:22:19Z Bike: yeah. so rather than a declaration you want a (limited) runtime compile, really. i've wanted that myself, but it's not in the language 2017-03-01T22:23:07Z Bike: get those futamura projections all up in this 2017-03-01T22:24:22Z jasom: well the compiler is permitted to generate a new function for each call to lambda; it's just typically inefficient to do so. 2017-03-01T22:25:04Z Bike: sure. i don't know of any implementation doing that 2017-03-01T22:25:22Z pillton: You would need to generate type specific member-functions. 2017-03-01T22:25:31Z pillton: bah..member factories. 2017-03-01T22:25:57Z kelsar777 left #lisp 2017-03-01T22:26:24Z pve quit (Ping timeout: 260 seconds) 2017-03-01T22:27:01Z Bike: and rather than a declaration it would be more suited as syntax. (clambda (bar) (x) (position x bar)) or something clever like that 2017-03-01T22:27:30Z pillton: But bar can be any sequence. 2017-03-01T22:27:44Z Bike: what does it matter 2017-03-01T22:28:04Z pillton: Because I'm guessing jasom wants the closure returned to be specialized to the type of sequence. 2017-03-01T22:28:28Z Bike: more like compiled specifically. if bar is constant the compiler can do a lot better than calling position-vector or whatever 2017-03-01T22:28:51Z attila_lendvai joined #lisp 2017-03-01T22:28:58Z Bike: i guess the other thing is that orienting the compiler to be able to look at the lambda and see what it can compile ahead of time and what it should delay to later is, well, complicated 2017-03-01T22:29:15Z Bike: interesting problem, of course, but pretty high effort, especially when you can indeed just call compile 2017-03-01T22:29:33Z pillton: I wonder what CMUCL can do in that case. 2017-03-01T22:30:00Z Bike: this would also probably be really good for ppcre 2017-03-01T22:30:07Z Bike: i doubt cmucl does anything, really 2017-03-01T22:30:23Z Bike: unless you have some reason to believe they took this on...? 2017-03-01T22:30:42Z pillton: Well it has an interpreter and a compiler. 2017-03-01T22:30:53Z Bike: don't we all 2017-03-01T22:31:09Z Bike: this is halfway, a partial compiler. 2017-03-01T22:31:39Z jasom: Bike: I'm looking at esrap, so parsing in general gets a lot of this 2017-03-01T22:31:46Z Bike: makes sense 2017-03-01T22:32:40Z jasom: (or "a" "b" "c" "d") gets compiled by esrap down to (position x "abcd"), except the "abcd" is a closed-over variable 2017-03-01T22:33:13Z jasom: that one change improved my benchmarks by about 20% 2017-03-01T22:33:16Z Bike: my sense is that you should just call compile. i don't know how much time you'd even save by limiting it, really, and you'd still have to allocate a code object and all that jazz... 2017-03-01T22:33:23Z jasom: Yup, I just cal lcompile 2017-03-01T22:33:43Z jasom: only downside is a loss of lexical macros. 2017-03-01T22:33:44Z pillton: You could also dispatch according to bar. 2017-03-01T22:34:18Z Bike: hm, why did i think compile took an environment argument 2017-03-01T22:34:48Z jasom: Bike: I bet sbcl has a version that does 2017-03-01T22:34:55Z Bike: well yeah 2017-03-01T22:34:58Z Bike: it also has sb-cltl2:enclose 2017-03-01T22:35:27Z Bike: let's see what that calls 2017-03-01T22:35:40Z Bike: compile-in-lexenv, yep. there you go, exported interface 2017-03-01T22:39:28Z fourier quit (Ping timeout: 240 seconds) 2017-03-01T22:39:55Z JuanDaugherty joined #lisp 2017-03-01T22:40:13Z Bike: of course environments aren't supposed to exist at runtime, but oh well 2017-03-01T22:40:40Z pillton: It would be good if they did. 2017-03-01T22:40:50Z pillton: ...for some optimization settings. 2017-03-01T22:41:23Z jasom: IIRC cleavir has runtime environments specifically for that reason 2017-03-01T22:41:35Z Bike: well 2017-03-01T22:41:40Z phoe: I want to run a process (as if by UIOP/OS:RUN-PROGRAM) and *not* wait for it to return. How do I do that? 2017-03-01T22:41:42Z pillton: Yeah I remember talking to beach about it. 2017-03-01T22:41:45Z Bike: it has /global/ environments to make bootstrap sort of stuff easier 2017-03-01T22:42:03Z Bike: lexical not so much 2017-03-01T22:42:16Z jasom: phoe: A lot of work was done in the past few months on that, so first make sure you have an up-to-date asdf 2017-03-01T22:42:19Z pillton: Oh right. I remember discussing it. 2017-03-01T22:43:09Z phoe: jasom: how do I check ASDF version? 2017-03-01T22:43:22Z pillton: (asdf:asdf-version) 2017-03-01T22:43:37Z phoe: 3.1.5 2017-03-01T22:43:46Z Bike: actually i guess i could add cltl2 to cleavir with not much trouble, but it's kind of a janky interface anyway 2017-03-01T22:44:09Z pillton: janky? 2017-03-01T22:44:15Z Bike: cltl2, i mean 2017-03-01T22:44:47Z Bike: cleavir's version is nicer and uses CLOS and suchlike 2017-03-01T22:44:56Z pillton: I have never heard of the word. Why is it inferior quality? 2017-03-01T22:45:01Z jasom: phoe: pretty sure 3.2 is needed for elias pipping's improvements 2017-03-01T22:45:11Z Bike: janky... where did i pick that up 2017-03-01T22:45:26Z Bike: google's example is software being janky, good 2017-03-01T22:45:34Z pillton: It isn't in the dictionary. I had to look it up in urban dictionary. 2017-03-01T22:45:52Z Bike: get down with my peeps 2017-03-01T22:46:07Z jasom: https://en.oxforddictionaries.com/definition/janky 2017-03-01T22:46:13Z phoe: jasom: I bet that ASDF isn't updatable just by quickloading it 2017-03-01T22:46:29Z jasom: phoe: it is updatable by asdf loading it 2017-03-01T22:46:30Z Bike: anyway, cltl2 isn't like, really bad, it's just kind of old, has complex argument formats, stuff 2017-03-01T22:46:42Z jasom: phoe: if you put a new version of asdf somewhere reachable, you can just load it 2017-03-01T22:46:48Z phoe: jasom: oh 2017-03-01T22:47:03Z jasom: I think about 20% of the sloc in asdf are for making that work right ;-) 2017-03-01T22:47:34Z pillton: jasom: Can you specify the stream element type for pipes yet? 2017-03-01T22:47:52Z jasom: pillton: I do not know off the top of my head 2017-03-01T22:48:02Z pillton: Try the middle of your head. :) 2017-03-01T22:48:20Z phoe: Do I just git clone https://github.com/fare/asdf into ~/quicklisp/local-projects? 2017-03-01T22:50:34Z attila_lendvai quit (Quit: Leaving.) 2017-03-01T22:50:36Z phoe: I'll try the README way first. 2017-03-01T22:50:40Z attila_lendvai joined #lisp 2017-03-01T22:50:40Z attila_lendvai quit (Changing host) 2017-03-01T22:50:40Z attila_lendvai joined #lisp 2017-03-01T22:51:49Z Bike: middle of your head would be what, like the pons? you wanna go more for the top but a little bit underneath 2017-03-01T22:52:15Z jasom: pillton: in any event, here's what you want:https://gitlab.common-lisp.net/asdf/asdf/blob/master/uiop/launch-program.lisp#L422 2017-03-01T22:52:55Z phoe: okay, I downloaded it and a new SBCL instance picked it up. 2017-03-01T22:53:05Z phoe: how do I make an already running SBCL image register the new ASDF? 2017-03-01T22:53:25Z jasom: phoe: asdf:load-system 2017-03-01T22:53:56Z jasom: (asdf:load-system "asdf") 2017-03-01T22:53:58Z Guest92036 is now known as CrazEd 2017-03-01T22:54:09Z phoe: jasom: nope, still on 3.1.5. 2017-03-01T22:54:26Z phoe: even with :force t. 2017-03-01T22:54:27Z CrazEd is now known as Guest59885 2017-03-01T22:54:34Z jasom: weird 2017-03-01T22:54:40Z pillton: jasom: Dam. Look at all the restrictions on the streams. Someone should write a CDR. 2017-03-01T22:54:55Z phoe: well - I know the path. 2017-03-01T22:55:06Z phoe: if I can force ASDF to load the system from the specified path, it should work. 2017-03-01T22:55:39Z jasom: phoe: oh, you need to get asdf to rescan your configuration 2017-03-01T22:55:50Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-01T22:56:37Z jasom: phoe: or you can just run "make" and then load the resulting asdf.lisp 2017-03-01T22:56:53Z phoe: rescan - what's the command fot it? 2017-03-01T22:57:19Z jasom: phoe: I honestly don't recall; clear-configuration might work 2017-03-01T22:57:54Z phoe: jasom: clear-configuration worked 2017-03-01T22:58:01Z phoe: I'm on asdf 3.2.0.1 now. 2017-03-01T22:58:08Z phoe unwinds the stack 2017-03-01T22:58:18Z phoe: so - I want to run a program without waiting for it to return. 2017-03-01T22:58:35Z jasom: phoe: uiop:launch-program 2017-03-01T22:58:39Z jasom: phoe: see the docstring 2017-03-01T22:59:14Z jasom: (documentation 'uiop:launch-program 'function) 2017-03-01T22:59:40Z phoe: ooh, yes. 2017-03-01T22:59:42Z phoe: I can see it now. 2017-03-01T22:59:49Z phoe: thanks! 2017-03-01T23:01:10Z jasom: pillton: is basic-binary-ipc abandoned, or would you be interested in ipv6 patches? 2017-03-01T23:02:25Z pillton: jasom: It isn't abandoned. I haven't head time to work on it with specialization-store and the other stuff I haven't released yet. 2017-03-01T23:02:36Z pillton: Bah.. I haven't had.. 2017-03-01T23:03:05Z pillton: I do want to clean up the interface so it doesn't cons so much. 2017-03-01T23:07:32Z pillton: The interface also needs to be changed in order to handle the way Windows "posts" IO events. It only emits the signal once. 2017-03-01T23:09:05Z knicklux quit (Remote host closed the connection) 2017-03-01T23:09:13Z TDT joined #lisp 2017-03-01T23:09:59Z quazimodo joined #lisp 2017-03-01T23:10:42Z wtetzner quit (Remote host closed the connection) 2017-03-01T23:12:33Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-01T23:16:48Z jiacobucci quit (Ping timeout: 260 seconds) 2017-03-01T23:19:46Z jiacobucci joined #lisp 2017-03-01T23:21:01Z prole left #lisp 2017-03-01T23:21:48Z sdsadsdas joined #lisp 2017-03-01T23:23:32Z jiacobucci quit (Remote host closed the connection) 2017-03-01T23:24:33Z xrash quit (Read error: Connection reset by peer) 2017-03-01T23:25:08Z fourier joined #lisp 2017-03-01T23:25:52Z wildlander quit (Quit: Saliendo) 2017-03-01T23:26:15Z sdsadsdas quit (Ping timeout: 258 seconds) 2017-03-01T23:28:27Z cibs quit (Ping timeout: 240 seconds) 2017-03-01T23:29:24Z BlueRavenGT quit (Ping timeout: 260 seconds) 2017-03-01T23:30:17Z cibs joined #lisp 2017-03-01T23:33:08Z fourier quit (Ping timeout: 256 seconds) 2017-03-01T23:34:48Z varjagg quit (Ping timeout: 240 seconds) 2017-03-01T23:38:26Z hhdave joined #lisp 2017-03-01T23:39:08Z ebrasca quit (Ping timeout: 240 seconds) 2017-03-01T23:44:36Z reepca joined #lisp 2017-03-01T23:44:59Z shifty joined #lisp 2017-03-01T23:45:39Z hhdave quit (Ping timeout: 260 seconds) 2017-03-01T23:47:51Z cromachina joined #lisp 2017-03-01T23:48:14Z pjb quit (Quit: Be seeing you in the Village!) 2017-03-01T23:51:55Z jamtho joined #lisp 2017-03-01T23:55:09Z Guest59885 is now known as CrazEd 2017-03-01T23:55:57Z CrazEd is now known as Guest39556 2017-03-02T00:03:24Z jamtho_ joined #lisp 2017-03-02T00:03:34Z jamtho quit (Read error: Connection reset by peer) 2017-03-02T00:05:46Z an_ joined #lisp 2017-03-02T00:08:07Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T00:08:59Z an__ joined #lisp 2017-03-02T00:11:54Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T00:12:27Z an_ joined #lisp 2017-03-02T00:14:49Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T00:15:42Z LiamH quit (Quit: Leaving.) 2017-03-02T00:15:54Z an__ joined #lisp 2017-03-02T00:17:57Z trocado joined #lisp 2017-03-02T00:18:07Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T00:19:23Z an_ joined #lisp 2017-03-02T00:20:01Z dpg joined #lisp 2017-03-02T00:21:37Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T00:22:49Z an__ joined #lisp 2017-03-02T00:24:58Z akkad: jesus guy 2017-03-02T00:25:34Z an_ quit (Ping timeout: 264 seconds) 2017-03-02T00:27:17Z phoe: Can anyone on ECL check whether DRAKMA is quickloadable for them? 2017-03-02T00:29:02Z lambda-smith joined #lisp 2017-03-02T00:30:17Z an_ joined #lisp 2017-03-02T00:30:44Z akkad: yes. 2017-03-02T00:30:52Z akkad: works fine here. 2017-03-02T00:31:28Z phoe: akkad: what's your ECL version? 2017-03-02T00:31:35Z phoe: and drakma version? 2017-03-02T00:32:15Z akkad: "2.0.2" 2017-03-02T00:32:15Z akkad: 2017-03-02T00:32:30Z akkad: 16.1.3 2017-03-02T00:32:52Z himmAllRight joined #lisp 2017-03-02T00:32:54Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T00:33:09Z phoe: thanks, I've updated to 16.1.3 as well and it seems to load... for now. 2017-03-02T00:33:14Z phoe waits 2017-03-02T00:33:45Z an__ joined #lisp 2017-03-02T00:36:22Z phoe: ouch. 2017-03-02T00:36:22Z an_ quit (Ping timeout: 264 seconds) 2017-03-02T00:36:34Z phoe: In the debugger, how do I print the stack trace in ECL? 2017-03-02T00:37:13Z an_ joined #lisp 2017-03-02T00:39:37Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T00:40:27Z lambda-smith quit (Quit: Konversation terminated!) 2017-03-02T00:40:43Z an__ joined #lisp 2017-03-02T00:40:45Z phoe: In other words: if anyone has ECL and Wine installed on a Linux box, could you try running the following: 2017-03-02T00:40:48Z phoe: (with-output-to-string (*standard-output*) (uiop:run-program (list "winepath" "C:\\some\\path") :output t)) 2017-03-02T00:41:08Z phoe: It enters the debugger with a segfault. 2017-03-02T00:42:43Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-02T00:43:24Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T00:44:08Z an_ joined #lisp 2017-03-02T00:46:54Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T00:47:36Z akkad: gdb? 2017-03-02T00:47:41Z an__ joined #lisp 2017-03-02T00:50:10Z an_ quit (Ping timeout: 264 seconds) 2017-03-02T00:51:03Z an_ joined #lisp 2017-03-02T00:53:46Z an__ quit (Ping timeout: 264 seconds) 2017-03-02T00:54:25Z sellout- quit (Quit: Leaving.) 2017-03-02T00:54:29Z salva quit (Ping timeout: 260 seconds) 2017-03-02T00:54:35Z an__ joined #lisp 2017-03-02T00:56:10Z Guest39556 is now known as CrazEd 2017-03-02T00:56:37Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T00:56:40Z CrazEd is now known as Guest26257 2017-03-02T00:57:28Z Karl_Dscc quit (Remote host closed the connection) 2017-03-02T00:58:17Z an_ joined #lisp 2017-03-02T00:58:18Z phoe: akkad: no, I'm not in gdb. 2017-03-02T00:58:21Z phoe: I'm in ECL's debugger. 2017-03-02T00:58:27Z cibs quit (Ping timeout: 240 seconds) 2017-03-02T00:58:29Z phoe: but nevermind - I'll build 16.1.3 instead of git master. 2017-03-02T00:58:30Z jiacobucci joined #lisp 2017-03-02T00:58:35Z akkad: :P 2017-03-02T00:58:50Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-02T01:00:07Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T01:00:13Z atheris joined #lisp 2017-03-02T01:00:14Z atheris quit (Max SendQ exceeded) 2017-03-02T01:00:24Z cibs joined #lisp 2017-03-02T01:00:37Z salva joined #lisp 2017-03-02T01:00:39Z atheris_ joined #lisp 2017-03-02T01:00:41Z akkad quit (Excess Flood) 2017-03-02T01:01:20Z MrWoohoo quit (Ping timeout: 260 seconds) 2017-03-02T01:01:29Z an__ joined #lisp 2017-03-02T01:01:48Z akkad joined #lisp 2017-03-02T01:03:58Z phoe: akkad: it's a regression in ecl. 2017-03-02T01:03:58Z an_ quit (Ping timeout: 264 seconds) 2017-03-02T01:04:33Z sellout- joined #lisp 2017-03-02T01:04:57Z an_ joined #lisp 2017-03-02T01:07:19Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T01:08:25Z an__ joined #lisp 2017-03-02T01:09:42Z akkad: oh? 2017-03-02T01:10:01Z akkad remembers references to moving run-program 2017-03-02T01:10:03Z shdeng joined #lisp 2017-03-02T01:11:10Z an_ quit (Ping timeout: 264 seconds) 2017-03-02T01:11:28Z akkad quit (Excess Flood) 2017-03-02T01:11:55Z an_ joined #lisp 2017-03-02T01:12:48Z akkad joined #lisp 2017-03-02T01:14:19Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T01:14:38Z AntiSpamMeta quit (Read error: Connection reset by peer) 2017-03-02T01:15:25Z an__ joined #lisp 2017-03-02T01:15:37Z malice quit (Ping timeout: 240 seconds) 2017-03-02T01:15:48Z lieven quit (Ping timeout: 260 seconds) 2017-03-02T01:17:29Z AntiSpamMeta joined #lisp 2017-03-02T01:17:38Z lieven joined #lisp 2017-03-02T01:17:49Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T01:18:49Z an_ joined #lisp 2017-03-02T01:20:53Z FreeBirdLjj joined #lisp 2017-03-02T01:21:19Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T01:21:52Z an_ quit (Remote host closed the connection) 2017-03-02T01:22:17Z an_ joined #lisp 2017-03-02T01:22:33Z sdsadsdas joined #lisp 2017-03-02T01:25:02Z BusFactor1 joined #lisp 2017-03-02T01:25:18Z myrkraverk: Ooops, some mac ransomware dude made a booboo: In other words, paying the ransom will not unlock the files. 2017-03-02T01:25:28Z myrkraverk: http://www.ehackingnews.com/2017/02/new-mac-ransomware-distributed-via.html 2017-03-02T01:25:43Z myrkraverk: Sorry, wrong channel 2017-03-02T01:25:46Z an__ joined #lisp 2017-03-02T01:26:00Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2017-03-02T01:26:23Z RedEight quit (Quit: leaving) 2017-03-02T01:27:09Z sdsadsdas quit (Ping timeout: 260 seconds) 2017-03-02T01:28:19Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T01:29:12Z an_ joined #lisp 2017-03-02T01:31:49Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T01:32:24Z trocado quit (Ping timeout: 260 seconds) 2017-03-02T01:32:43Z an__ joined #lisp 2017-03-02T01:35:07Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T01:36:06Z an_ joined #lisp 2017-03-02T01:38:07Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T01:38:08Z jamtho_ quit (Ping timeout: 240 seconds) 2017-03-02T01:39:38Z an__ joined #lisp 2017-03-02T01:39:48Z phoe: ack, looks like a simple mistake 2017-03-02T01:39:51Z neoncontrails quit (Remote host closed the connection) 2017-03-02T01:40:02Z phoe: what a good time to live in, where you download updates for your ransomware 2017-03-02T01:41:37Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T01:43:05Z an_ joined #lisp 2017-03-02T01:43:42Z FreeBirdLjj joined #lisp 2017-03-02T01:45:49Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T01:46:36Z an__ joined #lisp 2017-03-02T01:48:58Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-03-02T01:49:08Z xristos quit (Quit: ZNC - http://znc.in) 2017-03-02T01:49:19Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T01:49:59Z an_ joined #lisp 2017-03-02T01:50:42Z edgar-rft quit (Quit: edgar-rft) 2017-03-02T01:51:58Z dpg quit (Ping timeout: 264 seconds) 2017-03-02T01:52:07Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T01:53:28Z an__ joined #lisp 2017-03-02T01:53:48Z akkad: is there a way to execute the format during the actual web request? also how do you convert the output from a funmction to a sequence? https://gist.github.com/3caed4edea5c6ae1aef86b83f6013c8f 2017-03-02T01:54:57Z Bike: `(200 (:content-type "text/plan") ,(format nil "hi")) i would guess 2017-03-02T01:55:03Z Bike: do not know what you mean by the second thing 2017-03-02T01:55:37Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T01:56:45Z akkad: yes. 2017-03-02T01:56:56Z an_ joined #lisp 2017-03-02T01:56:59Z akkad: have not used those in a while. thanks 2017-03-02T01:57:13Z Guest26257 is now known as CrazEd 2017-03-02T01:57:43Z CrazEd is now known as Guest90708 2017-03-02T01:59:14Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T02:00:26Z an__ joined #lisp 2017-03-02T02:02:37Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T02:03:26Z an__ quit (Remote host closed the connection) 2017-03-02T02:03:54Z an__ joined #lisp 2017-03-02T02:03:58Z TDT quit (Quit: TDT) 2017-03-02T02:04:32Z xristos joined #lisp 2017-03-02T02:08:01Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-02T02:08:51Z an_ joined #lisp 2017-03-02T02:11:07Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T02:12:34Z an__ joined #lisp 2017-03-02T02:12:52Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-02T02:13:31Z lnostdal quit (Read error: Connection reset by peer) 2017-03-02T02:13:51Z lnostdal joined #lisp 2017-03-02T02:14:01Z manualcrank joined #lisp 2017-03-02T02:14:12Z TruePika: welp, this will be fun 2017-03-02T02:14:52Z vlnx quit (Read error: Connection reset by peer) 2017-03-02T02:14:54Z TruePika: pathfinder which takes time into account 2017-03-02T02:14:59Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T02:15:37Z TruePika: (e.g. I can only be at this node between my 5th and 8th steps) 2017-03-02T02:15:47Z an_ joined #lisp 2017-03-02T02:18:29Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T02:19:16Z an__ joined #lisp 2017-03-02T02:20:01Z vlnx joined #lisp 2017-03-02T02:20:26Z krwq joined #lisp 2017-03-02T02:21:37Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T02:22:01Z jameser joined #lisp 2017-03-02T02:22:16Z an__ quit (Remote host closed the connection) 2017-03-02T02:22:44Z an__ joined #lisp 2017-03-02T02:24:58Z neoncontrails joined #lisp 2017-03-02T02:25:58Z FreeBirdLjj joined #lisp 2017-03-02T02:26:11Z an_ joined #lisp 2017-03-02T02:28:37Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T02:29:54Z an__ joined #lisp 2017-03-02T02:30:15Z tristero quit (Ping timeout: 258 seconds) 2017-03-02T02:31:37Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T02:32:20Z vicfred joined #lisp 2017-03-02T02:33:04Z an_ joined #lisp 2017-03-02T02:33:39Z wtetzner joined #lisp 2017-03-02T02:34:41Z TDT joined #lisp 2017-03-02T02:35:07Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T02:36:02Z AntiSpamMeta quit (Read error: Connection reset by peer) 2017-03-02T02:36:36Z an__ joined #lisp 2017-03-02T02:37:38Z AntiSpamMeta joined #lisp 2017-03-02T02:38:54Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T02:39:23Z TruePika: well, my current plan for the bot involves running up to 27 pathfinding operations per game tick 2017-03-02T02:39:31Z an__ quit (Remote host closed the connection) 2017-03-02T02:39:51Z an__ joined #lisp 2017-03-02T02:40:06Z TruePika: which feels a bit excessive, but that is the worst case scenario 2017-03-02T02:40:30Z TruePika: (if 25 planes are in the air, and the 26th enters and can't find a path) 2017-03-02T02:41:41Z TruePika: probably going to use a slightly modified A* for it 2017-03-02T02:42:24Z TruePika goes to check ql 2017-03-02T02:43:14Z TruePika: meh, I don't see anything to do with pathfinding 2017-03-02T02:43:31Z an_ joined #lisp 2017-03-02T02:44:39Z TruePika: shouldn't be too hard to implement, methinks 2017-03-02T02:45:06Z sellout- quit (Quit: Leaving.) 2017-03-02T02:45:37Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T02:45:56Z TruePika wonders about compact 3D bit arrays 2017-03-02T02:46:47Z TruePika: might have to emulate them with bit vectors 2017-03-02T02:46:55Z an__ joined #lisp 2017-03-02T02:47:18Z TruePika: unless they're already present in SBCL 2017-03-02T02:48:53Z TDT quit (Quit: TDT) 2017-03-02T02:50:16Z TruePika: nope, going to have to emulate with bit vectors if I want any sort of memory efficiency 2017-03-02T02:50:16Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T02:50:23Z an_ joined #lisp 2017-03-02T02:50:32Z xristos quit (Quit: ZNC - http://znc.in) 2017-03-02T02:51:00Z specbot quit (Write error: Broken pipe) 2017-03-02T02:51:00Z minion quit (Write error: Broken pipe) 2017-03-02T02:51:26Z TruePika: nooo! 2017-03-02T02:51:27Z TruePika: not minion! 2017-03-02T02:51:31Z minion joined #lisp 2017-03-02T02:51:31Z specbot joined #lisp 2017-03-02T02:51:34Z TruePika: \o/ 2017-03-02T02:51:43Z sellout- joined #lisp 2017-03-02T02:51:54Z White_Flame: do you have to complete the pathfinds per tick? There are ways to perform partial pathfinding, spreading the load out over multiple ticks, and still being able to move stuff on partial information 2017-03-02T02:52:21Z TruePika: White_Flame: actually, my plan is to run a pathfind every time a plane enters the "arena" 2017-03-02T02:52:48Z White_Flame envisions mathematical planes somehow traveling through a space without intersecting 2017-03-02T02:52:49Z TruePika: but if it can't find a path (which should be rare), everyone's paths get recomputed 2017-03-02T02:52:53Z TruePika: lol 2017-03-02T02:52:54Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T02:53:10Z TruePika: for a bit of context, bot for playing atc(6) 2017-03-02T02:53:29Z White_Flame: that's approximately zero context for me, but okay :) 2017-03-02T02:53:52Z an__ joined #lisp 2017-03-02T02:55:18Z TruePika: the difficulty is that each airplane has a limited amount of fuel, so if there doesn't exist a path that can be executed, someone (who might have more fuel to waste) will have to get out of the way 2017-03-02T02:55:33Z defaultxr joined #lisp 2017-03-02T02:55:45Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-02T02:56:25Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T02:56:35Z TruePika: I believe the absolute minimum amount of time a tick can be is one second, but if the pathfinder is too slow, those 27 operations can take too long and cause the game state to advance before the bot can decide on what to do 2017-03-02T02:56:49Z an__ quit (Remote host closed the connection) 2017-03-02T02:56:54Z White_Flame: btw, isn't this more #lispgames than #lisp? 2017-03-02T02:57:18Z an__ joined #lisp 2017-03-02T02:57:44Z FreeBirdLjj joined #lisp 2017-03-02T02:58:11Z TruePika: only with the full context 2017-03-02T02:58:28Z Guest90708 is now known as CrazEd 2017-03-02T02:58:54Z TruePika: the basic problem is a fast pathfinder 2017-03-02T02:58:57Z CrazEd is now known as Guest14192 2017-03-02T03:00:34Z modula joined #lisp 2017-03-02T03:00:50Z TruePika: ...what? 2017-03-02T03:00:59Z an_ joined #lisp 2017-03-02T03:01:08Z TruePika: SBCL's man page: Multidimensional arrays are inefficient, especially multidimensional arrays of floating point numbers. 2017-03-02T03:01:12Z rumbler31 joined #lisp 2017-03-02T03:01:42Z al-damiri joined #lisp 2017-03-02T03:01:43Z TruePika: how can they be less efficient than vectors? 2017-03-02T03:01:48Z krwq: TruePika: that sounds like you should invest time on fixing that problem instead of investing in working it around 2017-03-02T03:02:08Z Bike: multidimensional array access is obviously more complicated 2017-03-02T03:02:38Z TruePika: wouldn't it just be an additional add and multiply per dimension? 2017-03-02T03:02:38Z krwq: Bike: why is that? because we need to add and multiply few numbers? 2017-03-02T03:02:49Z defaultxr quit (Ping timeout: 260 seconds) 2017-03-02T03:02:49Z modula is now known as defaultxr 2017-03-02T03:02:57Z jack_rabbit joined #lisp 2017-03-02T03:03:01Z Bike: yeah, so it has to look up the dimensions from the array, etc 2017-03-02T03:03:10Z TruePika: also why would floating point numbers make any difference? 2017-03-02T03:03:21Z Bike: that i don't know 2017-03-02T03:03:24Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T03:03:25Z TruePika: compared to usual, I mean 2017-03-02T03:03:34Z Bike: the man page is probably not the best source for this, i don't think it's updated much 2017-03-02T03:03:47Z TruePika looks at the footer 2017-03-02T03:04:02Z TruePika: 7th Edition $Date$ SBCL(1) 2017-03-02T03:04:11Z TruePika: yes, it literally says $Date$ 2017-03-02T03:04:18Z an__ joined #lisp 2017-03-02T03:04:26Z TruePika: so yeah, no idea how old it is 2017-03-02T03:05:16Z krwq: lmao 2017-03-02T03:05:24Z Bike: right, so the way sbcl does arrays is that one dimensional simple arrays are just themselves, but anything else is a complex header with an underlying one of those as its "storage vector". so access is less direct, for a start 2017-03-02T03:05:48Z TruePika: it will always be less direct 2017-03-02T03:06:21Z White_Flame: it could be that full-width floating point numbers are usually boxed 2017-03-02T03:06:21Z krwq: ok but you can technically detect how that array is used and create a better code from that 2017-03-02T03:06:54Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T03:07:44Z an_ joined #lisp 2017-03-02T03:07:50Z krwq: let's just create macro: with-optimized-array-1 which detects if you created n-dim-array and corrects the code. if you used that in a subcall then it won't optimize it 2017-03-02T03:07:57Z TruePika wonders how inefficient multidimensional arrays of bits would be... 2017-03-02T03:08:24Z krwq: version with suffix -1 shouldn't be too hard to write i think 2017-03-02T03:08:44Z TruePika: Would it theoretically use a bit vector at the base, or a simple array of one-bit values (each taking the word size)? 2017-03-02T03:08:58Z Bike: on sbcl, i believe it would use a bit vector. 2017-03-02T03:09:03Z krwq: the generic version would be tougher i guess but that's why i have started learning lisp so that language is not getting into my way 2017-03-02T03:09:11Z TruePika: well that's a relief, at least 2017-03-02T03:09:21Z TruePika: I'd be able to use existing functions for access 2017-03-02T03:09:32Z TruePika: (versus reinventing the wheel) 2017-03-02T03:09:42Z Bike: i said "one dimensional simple array" because "simple vector" means something else, for sorta dumb reasons 2017-03-02T03:10:04Z rumbler31 quit (Remote host closed the connection) 2017-03-02T03:10:07Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T03:11:15Z an__ joined #lisp 2017-03-02T03:13:54Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T03:14:38Z an_ joined #lisp 2017-03-02T03:17:24Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T03:18:08Z neoncontrails quit (Remote host closed the connection) 2017-03-02T03:18:08Z MrWoohoo joined #lisp 2017-03-02T03:18:09Z an__ joined #lisp 2017-03-02T03:19:44Z neoncontrails joined #lisp 2017-03-02T03:20:54Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T03:21:24Z an_ joined #lisp 2017-03-02T03:22:21Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-02T03:23:28Z sdsadsdas joined #lisp 2017-03-02T03:23:36Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T03:25:04Z an__ joined #lisp 2017-03-02T03:27:54Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T03:27:58Z sdsadsdas quit (Ping timeout: 246 seconds) 2017-03-02T03:29:30Z an_ joined #lisp 2017-03-02T03:31:37Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T03:32:58Z an__ joined #lisp 2017-03-02T03:35:07Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T03:36:25Z an_ joined #lisp 2017-03-02T03:38:36Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T03:38:46Z ffilozov joined #lisp 2017-03-02T03:40:08Z an__ joined #lisp 2017-03-02T03:42:29Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T03:43:20Z the-blackbeard quit (Quit: Leaving) 2017-03-02T03:43:22Z an_ joined #lisp 2017-03-02T03:45:36Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T03:46:52Z an__ joined #lisp 2017-03-02T03:49:29Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T03:50:00Z FreeBirdLjj joined #lisp 2017-03-02T03:50:18Z an_ joined #lisp 2017-03-02T03:52:59Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T03:53:12Z an_ quit (Remote host closed the connection) 2017-03-02T03:53:37Z drmeister: So I'm going through the clasp code and moving things that need to be thread local into a thread-local memory block. 2017-03-02T03:53:43Z an_ joined #lisp 2017-03-02T03:53:56Z drmeister: It's pretty much anything that two threads could write to at the same time - correct? 2017-03-02T03:54:07Z drmeister: Sorry - that was jumbled 2017-03-02T03:54:36Z drmeister: Anything that two threads could write to at the same time needs to be wrapped in a mutex or use atomic operations to update it. 2017-03-02T03:55:42Z aeth quit (Quit: Reconnecting) 2017-03-02T03:57:14Z an__ joined #lisp 2017-03-02T03:57:15Z drmeister: That's pretty much it right? 2017-03-02T03:57:36Z drmeister: There aren't a lot of guides to writing languages that are thread safe. 2017-03-02T03:58:31Z yrk quit (Read error: Connection reset by peer) 2017-03-02T03:59:34Z Guest14192 is now known as CrazEd 2017-03-02T03:59:59Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T04:00:03Z CrazEd is now known as Guest19798 2017-03-02T04:00:37Z an_ joined #lisp 2017-03-02T04:03:29Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T04:04:08Z an__ joined #lisp 2017-03-02T04:06:06Z aeth joined #lisp 2017-03-02T04:06:59Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T04:07:35Z an_ joined #lisp 2017-03-02T04:09:54Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T04:10:19Z nowhereman quit (Read error: Connection reset by peer) 2017-03-02T04:10:22Z nowhere_man joined #lisp 2017-03-02T04:11:02Z an__ joined #lisp 2017-03-02T04:11:18Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-02T04:12:47Z manuel_ quit (Quit: manuel_) 2017-03-02T04:13:07Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T04:14:29Z an_ joined #lisp 2017-03-02T04:16:36Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T04:17:30Z PinealGlandOptic joined #lisp 2017-03-02T04:17:58Z an__ joined #lisp 2017-03-02T04:20:24Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T04:21:27Z an_ joined #lisp 2017-03-02T04:23:35Z chronull` quit (Quit: chronull`) 2017-03-02T04:23:36Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T04:24:50Z fjl__ quit (Ping timeout: 268 seconds) 2017-03-02T04:24:54Z an__ joined #lisp 2017-03-02T04:26:16Z fjl__ joined #lisp 2017-03-02T04:27:06Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T04:27:07Z wtetzner quit (Remote host closed the connection) 2017-03-02T04:28:23Z an_ joined #lisp 2017-03-02T04:30:36Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T04:32:04Z an__ joined #lisp 2017-03-02T04:34:24Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T04:34:49Z an__ quit (Remote host closed the connection) 2017-03-02T04:35:10Z an__ joined #lisp 2017-03-02T04:38:47Z an_ joined #lisp 2017-03-02T04:38:48Z malm quit (Ping timeout: 260 seconds) 2017-03-02T04:39:37Z fiddlerwoaroof: Is there some trick to getting ccl's string performance closer to sbcl's? 2017-03-02T04:40:56Z malm joined #lisp 2017-03-02T04:41:24Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T04:41:44Z an_ quit (Remote host closed the connection) 2017-03-02T04:42:07Z an_ joined #lisp 2017-03-02T04:42:43Z fiddlerwoaroof: I have a test case that takes about twice as long on ccl as sbcl 2017-03-02T04:43:19Z fiddlerwoaroof: http://paste.lisp.org/+7AL1 2017-03-02T04:45:19Z malm quit (Ping timeout: 246 seconds) 2017-03-02T04:45:29Z malm joined #lisp 2017-03-02T04:45:43Z an__ joined #lisp 2017-03-02T04:46:16Z monadicDuck joined #lisp 2017-03-02T04:48:07Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T04:49:10Z an_ joined #lisp 2017-03-02T04:51:36Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T04:52:41Z an__ joined #lisp 2017-03-02T04:55:06Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T04:56:05Z an_ joined #lisp 2017-03-02T04:57:27Z malm quit (Ping timeout: 240 seconds) 2017-03-02T04:57:37Z malm joined #lisp 2017-03-02T04:58:54Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T04:59:37Z an__ joined #lisp 2017-03-02T05:00:32Z Guest19798 is now known as CrazEd 2017-03-02T05:00:35Z BitPuffin|osx quit (Ping timeout: 240 seconds) 2017-03-02T05:01:01Z CrazEd is now known as Guest83605 2017-03-02T05:01:27Z switchy quit (Ping timeout: 240 seconds) 2017-03-02T05:01:36Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T05:03:04Z an_ joined #lisp 2017-03-02T05:04:18Z monadicDuck quit (Ping timeout: 268 seconds) 2017-03-02T05:04:30Z jamtho_ joined #lisp 2017-03-02T05:05:06Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T05:06:09Z switchy joined #lisp 2017-03-02T05:06:29Z an__ joined #lisp 2017-03-02T05:08:37Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T05:09:36Z jamtho_ quit (Ping timeout: 260 seconds) 2017-03-02T05:10:00Z an_ joined #lisp 2017-03-02T05:12:06Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T05:12:53Z logicmoo is now known as dmiles 2017-03-02T05:13:24Z an__ joined #lisp 2017-03-02T05:15:35Z beach: Good morning everyone! 2017-03-02T05:15:49Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T05:17:16Z fiddlerwoaroof: morning beach 2017-03-02T05:17:53Z an__ quit (Remote host closed the connection) 2017-03-02T05:18:13Z an__ joined #lisp 2017-03-02T05:21:43Z FreeBirdLjj joined #lisp 2017-03-02T05:22:05Z an_ joined #lisp 2017-03-02T05:24:06Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T05:24:23Z sdsadsdas joined #lisp 2017-03-02T05:24:24Z FreeBird_ joined #lisp 2017-03-02T05:25:20Z an__ joined #lisp 2017-03-02T05:26:57Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-02T05:27:36Z jack_rabbit: o/ 2017-03-02T05:27:36Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T05:27:57Z beach: Hello jack_rabbit. 2017-03-02T05:28:36Z sdsadsdas quit (Ping timeout: 240 seconds) 2017-03-02T05:28:59Z an_ joined #lisp 2017-03-02T05:29:30Z oleo quit (Quit: Leaving) 2017-03-02T05:31:07Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T05:32:23Z an__ joined #lisp 2017-03-02T05:34:36Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T05:35:13Z an__ quit (Remote host closed the connection) 2017-03-02T05:35:35Z an__ joined #lisp 2017-03-02T05:36:45Z akkad quit (Excess Flood) 2017-03-02T05:37:35Z jack_rabbit: How do I specify the type of a symbol defined with defvar? 2017-03-02T05:38:12Z Bike: declaim type 2017-03-02T05:38:21Z akkad joined #lisp 2017-03-02T05:38:22Z loke: jack_rabbit: You can DECLAIM it, I guess. 2017-03-02T05:38:25Z beach: clhs declaim 2017-03-02T05:38:25Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_declai.htm 2017-03-02T05:38:46Z jack_rabbit: thanks. 2017-03-02T05:38:59Z beach: jack_rabbit: For what purpose do you want to do that? 2017-03-02T05:39:08Z an_ joined #lisp 2017-03-02T05:39:10Z jack_rabbit: Just experimenting. 2017-03-02T05:40:06Z jack_rabbit: Compiler's complaining about "unable to optimize due to type uncertainty." I know this is normal, but I thought I'd play around with it. 2017-03-02T05:40:26Z loke: jack_rabbit: An alternative is to use THE at the callsite. 2017-03-02T05:40:27Z beach: jack_rabbit: So the purpose is performance? 2017-03-02T05:40:34Z loke: It all dpends on what you need to do. 2017-03-02T05:40:38Z jack_rabbit: beach, ostensibly. 2017-03-02T05:41:17Z jack_rabbit: I don't have any *real* need for performance. I'm just going to compare the experimental results. 2017-03-02T05:41:29Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T05:42:40Z an__ joined #lisp 2017-03-02T05:43:20Z beach: My guess would be that declaring the type of a special variable won't do much good. Or if it does, then your code is unsafe. 2017-03-02T05:44:06Z vlatkoB joined #lisp 2017-03-02T05:44:16Z loke: beach: _any_ declaration is a promise to the compiler that the types will comply with your declaration. As long as you live up to the promise, the code will not be unsafe. 2017-03-02T05:44:39Z loke: What unsafeness were you referring to? 2017-03-02T05:44:59Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T05:45:39Z beach: With that definition of safe, then you are right. I have a somewhat stricter definition. 2017-03-02T05:45:57Z sirkmatija_ joined #lisp 2017-03-02T05:46:04Z an_ joined #lisp 2017-03-02T05:48:00Z Einwq joined #lisp 2017-03-02T05:48:06Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T05:48:13Z loke: beach: Nothing wrong with having a strict definition, but I fail to see how _any_ use of declarations could be safe with such a strict definition. 2017-03-02T05:48:43Z beach: The system could ignore them unless it can prove that it is always possible to respect them. 2017-03-02T05:48:50Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-02T05:48:54Z loke: beach: Right. 2017-03-02T05:48:57Z vicfred quit (Ping timeout: 240 seconds) 2017-03-02T05:49:26Z loke: beach: But how is a declamation on a defvar any different from any other declarations in that respect? 2017-03-02T05:49:35Z an__ joined #lisp 2017-03-02T05:50:00Z loke: Or are you saying that declamations can never be mathematically proven always true, as opposed to local declarations, which can? 2017-03-02T05:50:07Z beach: For lexical variables, the compiler can determine precise control and data flow. 2017-03-02T05:50:48Z beach: Special variables can be affected by code that was compiled before the proclamation. 2017-03-02T05:51:12Z beach: Yes, pretty much what you said. 2017-03-02T05:51:36Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T05:53:01Z an_ joined #lisp 2017-03-02T05:54:02Z FreeBird_ quit (Remote host closed the connection) 2017-03-02T05:54:06Z kelsar777 joined #lisp 2017-03-02T05:54:08Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-02T05:55:29Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T05:56:31Z an__ joined #lisp 2017-03-02T05:58:36Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T05:59:34Z neoncontrails quit (Remote host closed the connection) 2017-03-02T05:59:57Z an_ joined #lisp 2017-03-02T06:01:03Z beach: I should invent a different term, maybe "stability". Something like this: A system is STABLE if an only if, as a result of any manipulation by the programmer, it can not crash, and it can not produce a result that is different from what is described by the computation of the code being executed. Here, "any manipulation" includes actions that the Common Lisp HyperSpec describes as "undefined" or "unpredictable". 2017-03-02T06:01:20Z sdsadsdas joined #lisp 2017-03-02T06:01:36Z beach: I am not entirely satisfied by that definition yet, but you get the spirit. 2017-03-02T06:01:43Z Guest83605 is now known as CrazEd 2017-03-02T06:02:06Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T06:02:13Z CrazEd is now known as Guest59264 2017-03-02T06:02:35Z White_Flame: does that mean out-of-memory conditions must be resumable? 2017-03-02T06:03:27Z beach: Maybe. Like I said, it is not a very precise definition (yet). 2017-03-02T06:03:28Z an__ joined #lisp 2017-03-02T06:03:32Z dec0n joined #lisp 2017-03-02T06:04:34Z Bike: so, relatedly, i'm not quite sure what to do with type declarations and checking them. if you use type information in calls, which is pretty obvious to do, than naively converting all declarations into assertions means you'll check all arguments to a function, and then the function will presumably check them again 2017-03-02T06:05:36Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T06:05:55Z vicfred joined #lisp 2017-03-02T06:06:57Z dmiles quit (Read error: Connection reset by peer) 2017-03-02T06:07:02Z an_ joined #lisp 2017-03-02T06:07:14Z beach: There would be no great point in checking the types of arguments before calling a function, at least not if that function may change later on. With standard functions, there may be some intermediate solution where the type checking in the function is inlined, so that it can be eliminated if already checked. 2017-03-02T06:07:40Z pillton: Doesn't SBCL have an entry point which skips type checking? 2017-03-02T06:07:41Z beach: Also, within a compilation unit, there might be other opportunities. 2017-03-02T06:08:03Z Bike: pillton: that would be a good thing for later, yeah 2017-03-02T06:08:12Z FreeBirdLjj joined #lisp 2017-03-02T06:08:35Z jack_rabbit: From what I read (which I may have misunderstood) SBCL will check types on function entry if certain optimize declaims are made. 2017-03-02T06:08:39Z dmiles joined #lisp 2017-03-02T06:08:40Z beach: I know that most Common Lisp programmers imagine a Unix-type scenario, where each application executes in a separate process, and code is inherently unstable anyway. But I am always thinking in terms of a Lisp operating system that must be stable. 2017-03-02T06:08:41Z logicmoo joined #lisp 2017-03-02T06:09:06Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T06:10:23Z an__ joined #lisp 2017-03-02T06:12:13Z White_Flame: a lisp OS must have some form of separation, though. For one, it would be handy to give applications individual memory limits to prevent runaway, and if some application configures or extends "global" behavior for its own use, it should be contained locally 2017-03-02T06:12:36Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T06:12:58Z beach: For SICL, I am thinking like this: The default first-class global environment gives a stable environment. It includes not giving the programmer access to the compiler code and such. If the programmer needs to do something that the system can not prove to be safe, then the programmer must switch to a "superuser" first-class global environment. 2017-03-02T06:13:20Z an__ quit (Remote host closed the connection) 2017-03-02T06:13:21Z pillton: beach: You could also have immutable first class global environments too. 2017-03-02T06:13:25Z beach: White_Flame: I agree, yes. 2017-03-02T06:13:39Z an__ joined #lisp 2017-03-02T06:14:06Z beach: pillton: That would be an option, yes. At least partially immutable so that the system itself is protected. 2017-03-02T06:14:43Z pillton: You could even couple it with a non destructive generic function implementation. 2017-03-02T06:15:02Z White_Flame: I'm thinkin even things like (defmethod print-object...) is sometimes local to an application, and sometims you want it as a global change 2017-03-02T06:15:19Z beach: pillton: What is meant by "non destructive" here? 2017-03-02T06:15:30Z pillton: You can't add or remove methods at run time. 2017-03-02T06:15:42Z beach: pillton: Yes, I see. 2017-03-02T06:17:17Z an_ joined #lisp 2017-03-02T06:17:23Z beach: White_Flame: In a Lisp operating system, it would be a global change only if done by the "system administrator". This is why first-class global environments should be organized in (at least two) layers, so that the global layer is read-only and system wide. 2017-03-02T06:17:46Z jack_rabbit: You could just add a level to the namespace hierarchy, no? So each "application" gets its own set of namespaces? 2017-03-02T06:18:14Z jack_rabbit: And some "super-user" could modify the truly global namespace all the applications inherit from? 2017-03-02T06:18:34Z beach: jack_rabbit: If by "namespace" you mean packages, then that would have a bad impact on communication between applications. 2017-03-02T06:19:20Z beach: jack_rabbit: That is why I invented first-class global environments. 2017-03-02T06:19:31Z jack_rabbit: beach, hmm, yeah. You could keep immutable parts from the actual global namespace that would allow "applications" to communicate. 2017-03-02T06:19:36Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T06:19:43Z beach: jack_rabbit: http://metamodular.com/environments.pdf 2017-03-02T06:19:48Z jack_rabbit: Some immutable, global IPC package. 2017-03-02T06:19:51Z shka_ joined #lisp 2017-03-02T06:20:14Z jack_rabbit: beach, oh, nice. 2017-03-02T06:20:46Z an__ joined #lisp 2017-03-02T06:21:34Z beach: jack_rabbit: If you want to know more about my ideas, here is more reading: http://metamodular.com/lispos.pdf 2017-03-02T06:21:44Z bocaneri joined #lisp 2017-03-02T06:21:45Z bocaneri quit (Max SendQ exceeded) 2017-03-02T06:21:51Z jack_rabbit: I'll add those to my reading list. 2017-03-02T06:22:06Z beach: Great! 2017-03-02T06:23:29Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T06:24:14Z bocaneri joined #lisp 2017-03-02T06:24:15Z bocaneri quit (Max SendQ exceeded) 2017-03-02T06:24:15Z an_ joined #lisp 2017-03-02T06:26:35Z fluxit quit (Ping timeout: 240 seconds) 2017-03-02T06:26:36Z an__ quit (Ping timeout: 240 seconds) 2017-03-02T06:27:41Z an__ joined #lisp 2017-03-02T06:29:19Z ffilozov quit (Remote host closed the connection) 2017-03-02T06:29:53Z bocaneri joined #lisp 2017-03-02T06:30:06Z an_ quit (Ping timeout: 240 seconds) 2017-03-02T06:31:09Z an_ joined #lisp 2017-03-02T06:31:48Z shka_ quit (Ping timeout: 240 seconds) 2017-03-02T06:33:59Z an__ quit (Ping timeout: 260 seconds) 2017-03-02T06:34:36Z an__ joined #lisp 2017-03-02T06:35:37Z mishoo joined #lisp 2017-03-02T06:37:29Z an_ quit (Ping timeout: 260 seconds) 2017-03-02T06:42:09Z neoncontrails joined #lisp 2017-03-02T06:43:15Z quazimodo joined #lisp 2017-03-02T06:48:50Z reinuseslisp joined #lisp 2017-03-02T06:53:11Z logicmoo quit 2017-03-02T06:57:21Z Petit_Dejeuner: Anyone here written a disassembler in lisp using a macro to describe instructions? 2017-03-02T06:57:31Z schaueho joined #lisp 2017-03-02T06:57:31Z Petit_Dejeuner: I'm kind of curious how it went. 2017-03-02T06:58:37Z reinuseslisp: Do you mean an >assembler< written in lisp? 2017-03-02T06:59:12Z sdsadsdas quit (Remote host closed the connection) 2017-03-02T06:59:40Z Petit_Dejeuner: No, I mean a program that takes object code and converts it to assembly. 2017-03-02T06:59:58Z Bike: what do macros have to do with anything 2017-03-02T07:00:38Z Petit_Dejeuner: Most assembly instructions have a similar format and the code required to decode them can get repetitive. 2017-03-02T07:01:09Z Petit_Dejeuner: I thought it might be easier to make a define-instruction macro. 2017-03-02T07:01:12Z lerax joined #lisp 2017-03-02T07:02:15Z reinuseslisp: Do you mean "28 47 4e" as input to get "sub %al,0x4e(%rdi)"? 2017-03-02T07:02:30Z reinuseslisp: (from objdump -D /usr/bin/gcc) 2017-03-02T07:02:46Z reinuseslisp: for example 2017-03-02T07:02:46Z Guest59264 is now known as CrazEd 2017-03-02T07:02:49Z Petit_Dejeuner: Yes. 2017-03-02T07:03:15Z CrazEd is now known as Guest58889 2017-03-02T07:04:58Z lerax: Hey guys, someone can recommend a good binding of SDL2 for Common Lisp working fine with SBCL? 2017-03-02T07:05:17Z Petit_Dejeuner: lerax: cl-sdl2 isn't working? 2017-03-02T07:05:38Z reinuseslisp: it works perfectly for me 2017-03-02T07:06:07Z angavrilov joined #lisp 2017-03-02T07:06:14Z lerax: great, thanks. 2017-03-02T07:06:22Z lerax quit (Quit: Leaving) 2017-03-02T07:06:27Z reinuseslisp: it's kind of a ugly it's... 2017-03-02T07:06:27Z nrp3c quit (Ping timeout: 240 seconds) 2017-03-02T07:06:31Z reinuseslisp: oh 2017-03-02T07:06:45Z reinuseslisp: well, good luck with its events 2017-03-02T07:06:46Z beach: Petit_Dejeuner: Like this: https://github.com/robert-strandh/Cluster/blob/master/x86-instruction-database/add.lisp 2017-03-02T07:07:04Z beach: Petit_Dejeuner: I imagine using the same database for the assembler and the disassembler. 2017-03-02T07:07:15Z Petit_Dejeuner: beach: Yeah, that's what I meant, thanks. 2017-03-02T07:11:02Z Petit_Dejeuner: also, good morning 2017-03-02T07:11:14Z vicfred quit (Quit: Leaving) 2017-03-02T07:11:36Z nrp3c joined #lisp 2017-03-02T07:11:58Z beach: Petit_Dejeuner: That project is not finished in that many more instructions need to be encoded, but what is in there works. 2017-03-02T07:14:01Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-02T07:21:22Z gingerale joined #lisp 2017-03-02T07:23:34Z wheelsucker quit (Ping timeout: 260 seconds) 2017-03-02T07:28:26Z reinuseslisp quit (Quit: Leaving) 2017-03-02T07:28:49Z saturniid quit (Ping timeout: 260 seconds) 2017-03-02T07:29:32Z flamebeard joined #lisp 2017-03-02T07:30:16Z saturniid joined #lisp 2017-03-02T07:41:08Z gingerale quit (Remote host closed the connection) 2017-03-02T07:42:35Z lnostdal quit (Read error: Connection reset by peer) 2017-03-02T07:42:53Z lnostdal joined #lisp 2017-03-02T07:48:44Z gen93 quit (Ping timeout: 260 seconds) 2017-03-02T07:50:23Z gen93 joined #lisp 2017-03-02T07:52:08Z Karl_Dscc joined #lisp 2017-03-02T07:53:32Z beach: Petit_Dejeuner: Oh, and notice that a general disassembler can not be written. It is undecidable whether a particular address is the beginning of an instruction. 2017-03-02T07:58:06Z Petit_Dejeuner: Fortunately my instructions are all 32 bits wide. 2017-03-02T07:58:41Z beach: Still, you don't know whether some bytes following a jump represent an instruction or data. 2017-03-02T08:02:01Z kelsar777 left #lisp 2017-03-02T08:02:29Z Petit_Dejeuner: You mean like if I was using a jump that saved the location of the next instruction in order to get a pointer to a value that appears after the jump instruction? 2017-03-02T08:03:10Z beach: Yes, something like that. 2017-03-02T08:03:52Z Guest58889 is now known as CrazEd 2017-03-02T08:04:22Z CrazEd is now known as Guest69954 2017-03-02T08:04:25Z beach: If you are interested in that kind of stuff, I recommend you read the excellent work by the people at Digital Equipment for translating VAX code to Alpha code. 2017-03-02T08:06:58Z anaumov quit (Ping timeout: 264 seconds) 2017-03-02T08:07:09Z beach: VAX code was particularly interesting because a lot of it was written manually (in assembler) and the programmer often re-used instructions or register-save masks as data in order to save space. 2017-03-02T08:11:01Z Karl_Dscc quit (Remote host closed the connection) 2017-03-02T08:12:26Z beach: The problem of translating code to a different architecture is, of course, way harder, because no mistakes can be tolerated. The output of a disassembler, on the other hand, is typically meant to be read by humans, so some mistakes are tolerable. 2017-03-02T08:17:54Z varjag joined #lisp 2017-03-02T08:19:05Z Beetny joined #lisp 2017-03-02T08:21:58Z quazimodo quit (Ping timeout: 264 seconds) 2017-03-02T08:24:08Z schaueho quit (Ping timeout: 240 seconds) 2017-03-02T08:25:39Z o1e9 joined #lisp 2017-03-02T08:31:06Z edgar-rft joined #lisp 2017-03-02T08:33:43Z d4ryus2 quit (Quit: WeeChat 1.7) 2017-03-02T08:33:56Z an__ quit (Quit: Leaving) 2017-03-02T08:34:27Z yeticry_ joined #lisp 2017-03-02T08:37:40Z yeticry quit (Ping timeout: 268 seconds) 2017-03-02T08:41:04Z alexherbo2 joined #lisp 2017-03-02T08:41:30Z krwq quit (Remote host closed the connection) 2017-03-02T08:41:59Z pve joined #lisp 2017-03-02T08:49:25Z prole joined #lisp 2017-03-02T08:49:56Z nirved joined #lisp 2017-03-02T08:50:45Z Amplituhedron joined #lisp 2017-03-02T09:04:45Z Bike quit (Quit: leaving) 2017-03-02T09:04:54Z Guest69954 is now known as CrazEd 2017-03-02T09:05:23Z CrazEd is now known as Guest54796 2017-03-02T09:11:59Z PinealGlandOptic quit (Ping timeout: 258 seconds) 2017-03-02T09:12:29Z beach: Is there an implementation-independent way of obtaining all the entries in a particular directory? 2017-03-02T09:12:55Z beach: Maybe (directory (make-pathname :directory :name :wild :type :wild))? 2017-03-02T09:18:58Z Josh_2 joined #lisp 2017-03-02T09:20:25Z Karl_Dscc joined #lisp 2017-03-02T09:21:06Z beach: Nope, that's not it. 2017-03-02T09:21:27Z beach: It gives different answers in SBCL and ECL. :( 2017-03-02T09:21:49Z splittist: beach: what about using what's in uiop? 2017-03-02T09:21:59Z beach: Ah, good point! 2017-03-02T09:22:12Z beach: Thanks! 2017-03-02T09:25:49Z Josh_2 quit (Remote host closed the connection) 2017-03-02T09:28:24Z quazimodo joined #lisp 2017-03-02T09:31:36Z beach: *sigh* 2017-03-02T09:31:44Z ogamita: beach: this is hopeless: clall -r '(length (reduce (function union) (list (directory "*") (directory "*.*") (directory "*.*.*") (directory "*/") (directory "*.*/") (directory "*.*.*/"))))' Clozure Common Lisp --> 113; CLISP --> 60; ECL --> 56; SBCL --> 2017-03-02T09:31:50Z ogamita: 95 2017-03-02T09:31:59Z beach: Yeah. 2017-03-02T09:32:42Z beach: I had not planned to read and understand the source code of UIOP in order to solve this single problem. 2017-03-02T09:32:52Z White_Flame: Petit_Dejeuner: I write reverse engineering tools; but I'd think that using a macro across (ff ff ff ff) style tokens wouldn't be the right solution, as the opcode isn't necessarily contained in just the first 8 bits 2017-03-02T09:35:33Z ogamita: (uiop/filesystem:directory-files #P"/tmp/") gives 7 in ccl and clisp, 8 in ecl and 9 in sbcl… 2017-03-02T09:35:51Z White_Flame: creating a little bit-level matching DSL to dispatch on would probably be my favored organizational method there 2017-03-02T09:36:25Z phoe_ joined #lisp 2017-03-02T09:36:29Z beach: ogamita: Thanks. I understand that I can stop reading the UIOP code now. 2017-03-02T09:37:23Z ogamita: Sorry, my test was bad (tmp is modified by clall) I get the same result in all those implementations with uiop:directory-files. 2017-03-02T09:37:28Z phoe_: Hello everyone 2017-03-02T09:37:48Z ogamita: beach: so apparently uiop:directory-files gives a conforming result. 2017-03-02T09:38:34Z beach: I'll use that. Thanks! 2017-03-02T09:39:19Z phoe_: Once I finish with the CL specification, I *need* to start working on other pieces of documentation. 2017-03-02T09:40:06Z phoe_: For CLIM and MOP, it'll be roughly the same, but for libraries it'll be a different kind of work, because I'll need to update them for new versions of libraries. 2017-03-02T09:40:49Z phoe_: Is the list of a package's exported symbols a good determinant of how exhaustive a piece of documentation is? 2017-03-02T09:41:04Z phoe_: Like, ASDF documentation is missing UIOP:LAUNCH-PROGRAM now. 2017-03-02T09:43:27Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-02T09:46:35Z attila_lendvai joined #lisp 2017-03-02T09:46:35Z attila_lendvai quit (Changing host) 2017-03-02T09:46:35Z attila_lendvai joined #lisp 2017-03-02T09:47:29Z beach: Do you mean that if all the exported symbols are also in the documentation, then it is probably complete, or nearly so? 2017-03-02T09:48:34Z beach: That might be true for libraries with a single package definition. Otherwise, there might be internal protocols that are not meant for general consumption. 2017-03-02T09:53:11Z phoe_: Well, I meant, for single-package libraries, yes. 2017-03-02T09:53:26Z ogamita: not documented; exported symbols documented; all symbols documented. 2017-03-02T09:53:50Z phoe_: ogamita: it's silly to document al symbols 2017-03-02T09:53:53Z phoe_: all 2017-03-02T09:54:02Z phoe_: especially when you're going (loop for i ...) 2017-03-02T09:54:12Z ogamita: Well, all functions, etc. 2017-03-02T09:54:18Z phoe_: your-package::i doesn't need it. 2017-03-02T09:54:35Z phoe_: All functions, variables, macros etc. is much more sane. 2017-03-02T09:54:37Z ogamita: But sometimes you also want to document unbound symbols when they're meaningful. 2017-03-02T09:55:18Z phoe_: Oh yes, when they're used as data. 2017-03-02T09:56:09Z beach: And there can be a distinction between the documentation of a protocol meant for client code and the "internals" documentation, explaining how it was accomplished. 2017-03-02T09:56:26Z beach: I guess the first time is the most interesting for you at this point. 2017-03-02T09:56:29Z phoe_: Ayup. I'm most interested in the documentation for the external protocol. 2017-03-02T09:56:33Z phoe_: Yes, exactly. 2017-03-02T09:56:42Z phoe_: Internals aren't of that much interest to me. 2017-03-02T09:56:48Z beach: s/the first time/the first one/ 2017-03-02T09:56:56Z beach: I understand. 2017-03-02T09:57:10Z Guest82 joined #lisp 2017-03-02T09:57:19Z White_Flame exports tons of gensyms just to confuse phoe_ 2017-03-02T09:57:21Z phoe_: I want to integrate public API into CLUS, first and foremost 2017-03-02T09:57:27Z phoe_: White_Flame: oarsdlkhsdoahuid 2017-03-02T09:57:46Z Guest82 quit (Client Quit) 2017-03-02T09:58:59Z flip214: White_Flame: which package would you export gensyms from? 2017-03-02T09:59:38Z White_Flame somehow exports gensyms just to confuse flip214 2017-03-02T09:59:49Z White_Flame: :) 2017-03-02T09:59:59Z phoe_: White_Flame: I think you mean gentemp 2017-03-02T10:00:04Z phoe_: clhs gentemp 2017-03-02T10:00:04Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_gentem.htm 2017-03-02T10:00:07Z phoe_: these are more exportable 2017-03-02T10:00:28Z White_Flame: I think jokes don't survive reality very well 2017-03-02T10:00:43Z phoe_: they survive 2017-03-02T10:00:51Z phoe_: I'm just prolonging their survival time, look 2017-03-02T10:00:53Z White_Flame: s/jokes/absurdities/ 2017-03-02T10:00:53Z phoe_: gentemp 2017-03-02T10:02:49Z ogamita: (let ((p (make-package (gensym) :use '()))) (let ((s (gensym))) (import s p) (export s p) (list (symbol-package s) (find-symbol (symbol-name s) p)))) #| --> (# g6883:g6884) |# 2017-03-02T10:03:29Z manuel_ joined #lisp 2017-03-02T10:03:33Z phoe_: ogamita: oh god 2017-03-02T10:04:04Z flip214: ogamita: thanks for sharing ;P 2017-03-02T10:04:04Z jameser quit (Ping timeout: 260 seconds) 2017-03-02T10:05:11Z flip214: how are packages referenced? via string? then a package based on a GENSYM might conflict with some other package... 2017-03-02T10:05:23Z phoe_: clhs package name designator 2017-03-02T10:05:25Z anaumov joined #lisp 2017-03-02T10:05:38Z ogamita: flip214: package names are strings, but in general package functions take string designators to reference the package. 2017-03-02T10:05:43Z flip214: if they're referenced via a symbol, then the (gensym) package couldn't be found later on 2017-03-02T10:05:54Z phoe_: oh 2017-03-02T10:05:55Z phoe_: http://clhs.lisp.se/Body/26_glo_p.htm 2017-03-02T10:05:56Z flip214: oh yes, it could, when iterating across all symbols or all packages? 2017-03-02T10:05:56Z ogamita: Definitely, there could exist already a package with the same name. 2017-03-02T10:06:00Z phoe_: See package designator. 2017-03-02T10:06:07Z ogamita: Normally you need a loop to find a unique package name. 2017-03-02T10:06:08Z Guest54796 is now known as CrazEd 2017-03-02T10:06:09Z phoe_: flip214: ^ 2017-03-02T10:06:24Z flip214: phoe_: yeah, just read that. 2017-03-02T10:06:29Z skeuomorf joined #lisp 2017-03-02T10:06:38Z CrazEd is now known as Guest96534 2017-03-02T10:07:03Z flip214: sounds a bit awkward to me, TBH... perhaps there should be a CDR to make the package designator a symbol instead? 2017-03-02T10:07:35Z flip214: ogamita: that wouldn't be atomically possible, ie. not race-free, right? 2017-03-02T10:07:46Z flip214: clhs make-package 2017-03-02T10:07:46Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_mk_pkg.htm 2017-03-02T10:08:05Z ogamita: cf. the loop to find a temp package name in com.informatimago.common-lisp.cesarum.package:add-nickname 2017-03-02T10:08:39Z ogamita: flip214: indeed if you have threads, you'd need to have a mutex or use some thread-unique stem. 2017-03-02T10:08:40Z White_Flame: symbols are already package designators 2017-03-02T10:09:20Z flip214: White_Flame: yeah, but they get coerced to strings, which is prone to conflicts. 2017-03-02T10:09:22Z White_Flame: also, I would hope that make-package is threadsafe 2017-03-02T10:09:27Z ogamita: (bt:make-thread 'thread-fun :name (symbol-name (gensym))) ;-) 2017-03-02T10:09:33Z lambda-smith joined #lisp 2017-03-02T10:10:09Z mazoe: heh 2017-03-02T10:10:18Z ogamita: White_Flame: indeed, then considering this, we could instead implement the loop with a handler-case, rather that prealable find-package. 2017-03-02T10:10:27Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-02T10:12:01Z sjl joined #lisp 2017-03-02T10:12:20Z flip214: White_Flame: doesn't seem to be, in SBCL. 2017-03-02T10:12:31Z anaumov quit (Changing host) 2017-03-02T10:12:31Z anaumov joined #lisp 2017-03-02T10:12:34Z White_Flame: wow, that's fragile 2017-03-02T10:12:35Z flip214: there are (FIND-PACKAGE) calls, and much later on a (return (setf (gethash name *package-names*) package)))) 2017-03-02T10:13:00Z White_Flame: but if there's still a big compiler lock, then that probably subsumes most instances of package creation 2017-03-02T10:13:13Z flip214: and no lock around that 2017-03-02T10:13:26Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-02T10:13:34Z flip214: I looked at (defun make-package), shouldn't be anything around that 2017-03-02T10:25:22Z eschulte quit (Ping timeout: 256 seconds) 2017-03-02T10:26:46Z mnoonan quit (Ping timeout: 264 seconds) 2017-03-02T10:29:08Z okflo joined #lisp 2017-03-02T10:32:00Z Karl_Dscc quit (Remote host closed the connection) 2017-03-02T10:35:06Z vibs29 quit (Ping timeout: 240 seconds) 2017-03-02T10:35:31Z ogamita: flip214: perhaps it's implemented carefully to be lock-free? What would happen if two threads trieds to create a package with the same name? 2017-03-02T10:39:45Z flip214: ogamita: http://paste.lisp.org/display/340340 2017-03-02T10:39:58Z vibs29 joined #lisp 2017-03-02T10:44:31Z monadicDuck joined #lisp 2017-03-02T10:45:11Z ogamita: A funny way to test it, but indeed. 2017-03-02T10:45:51Z shdeng quit (Quit: Leaving) 2017-03-02T10:46:59Z White_Flame: I have no idea what's going on in this movie, but we certainly don't make them like this anymore: https://www.youtube.com/watch?v=q0Y3A-zib-Q 2017-03-02T10:49:57Z flip214: ogamita: well, multiple threads racing... what would you have done differently? 2017-03-02T10:50:36Z White_Flame: (oops, wrong channel) 2017-03-02T10:51:33Z flip214: ah, I wanted to do an atomic-incf. 2017-03-02T10:51:46Z splittist: White_Flame: I thought it was a comment on racing threads 2017-03-02T10:52:02Z reepca quit (Remote host closed the connection) 2017-03-02T10:52:51Z phoe_ chews on the spec glossary 2017-03-02T10:53:55Z hhdave joined #lisp 2017-03-02T10:54:48Z ogamita` joined #lisp 2017-03-02T10:55:03Z ogamita quit (Read error: Connection reset by peer) 2017-03-02T10:56:16Z flip214: phoe_: going to spit it out again? 2017-03-02T10:56:27Z flip214: just want to know so that I can hide in time. 2017-03-02T10:57:54Z Einwq quit (Quit: Leaving) 2017-03-02T10:58:31Z phoe_: haha 2017-03-02T10:58:52Z phoe_: "is an error" in the spec doesn't mean signaling an error, it means that the consequences are undefined 2017-03-02T10:59:19Z flip214: "is an error" vs. "throws an error" or so, I guess 2017-03-02T10:59:41Z phoe_: flip214: the Lisp terminology is signaling, not throwing 2017-03-02T10:59:42Z phoe_: clhs throw 2017-03-02T10:59:43Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/s_throw.htm 2017-03-02T10:59:48Z phoe_: in order to avoid confusion with this. 2017-03-02T11:00:25Z flip214: oh, sorry. 2017-03-02T11:00:29Z flip214: clhs signal 2017-03-02T11:00:29Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_signal.htm 2017-03-02T11:01:36Z phoe_: I mean, technically you can (catch (progn (defvar *error*) (setf *error* (make-instance 'error))) (throw *error* 'not-an-error-actually)) 2017-03-02T11:01:50Z phoe_: but this is the most silly way of "throwing" errors I can think of 2017-03-02T11:02:10Z monadicDuck quit (Ping timeout: 264 seconds) 2017-03-02T11:03:07Z phoe_: and I bet that abusing the condition system like that can send a Lisper into the depths of hell 2017-03-02T11:03:10Z flip214: uh, I believe you can do better still ;) 2017-03-02T11:03:13Z phoe_: er, s/send/throw/ 2017-03-02T11:03:18Z monadicDuck joined #lisp 2017-03-02T11:03:33Z flip214: s/send/signal/ ;P 2017-03-02T11:03:49Z phoe_: ...signal a Lisper into the depths of hell? 2017-03-02T11:04:04Z phoe_: well, then hell would have a choice - it could decline to handle the lisper 2017-03-02T11:04:21Z phoe_: but then again, Lisper would need to be a condition class 2017-03-02T11:04:32Z phoe_: throw/catch does not have that limitation 2017-03-02T11:06:48Z ogamita` is now known as ogamita 2017-03-02T11:07:14Z Guest96534 is now known as CrazEd 2017-03-02T11:07:28Z monadicDuck quit (Ping timeout: 240 seconds) 2017-03-02T11:07:43Z CrazEd is now known as Guest58877 2017-03-02T11:08:18Z deank joined #lisp 2017-03-02T11:12:14Z okflo_ joined #lisp 2017-03-02T11:12:48Z iago quit (Quit: Leaving) 2017-03-02T11:15:22Z neoncontrails quit (Remote host closed the connection) 2017-03-02T11:15:55Z neoncontrails joined #lisp 2017-03-02T11:19:04Z okflo_ quit (Quit: ZNC 1.6.1+deb1 - http://znc.in) 2017-03-02T11:19:51Z alexherbo2 quit (Ping timeout: 268 seconds) 2017-03-02T11:21:58Z okflo_ joined #lisp 2017-03-02T11:24:21Z okflo_ left #lisp 2017-03-02T11:25:44Z sjl quit (Read error: Connection reset by peer) 2017-03-02T11:29:32Z alexherbo2 joined #lisp 2017-03-02T11:32:22Z neoncontrails quit 2017-03-02T11:33:15Z libreman quit (Quit: WeeChat 1.6) 2017-03-02T11:33:31Z libre-man joined #lisp 2017-03-02T11:34:24Z raynold quit (Quit: Connection closed for inactivity) 2017-03-02T11:41:19Z antoszka: is there a library (preferably in quicklisp) that will scan the headers of an RFC2822 message and parse out all the recipients? 2017-03-02T11:41:50Z m00natic joined #lisp 2017-03-02T11:41:54Z watersoul quit (Remote host closed the connection) 2017-03-02T11:42:15Z flip214: antoszka: you could use "formail" as an external process... 2017-03-02T11:42:46Z antoszka: flip214: Hm, yeah, that's an idea, let' see. 2017-03-02T11:42:59Z flip214: are recipients "To:", and/or "CC:", and/or "X-Envelope-To:" and/or "Bcc:" and/or "Reply-To:" etc. 2017-03-02T11:43:07Z flip214: badly specified, I'm afraid ;) 2017-03-02T11:43:56Z antoszka: In my case parsing To: and/or CC: will be sufficient. 2017-03-02T11:44:38Z antoszka: the -c option should clean up the multiline headers, then I could easily parse using regexes 2017-03-02T11:44:45Z neoncontrails joined #lisp 2017-03-02T11:45:29Z flip214: antoszka: just "-x To: -x CC:", then it's just reading two lines or so. 2017-03-02T11:46:10Z antoszka: aha 2017-03-02T11:46:12Z antoszka: thx 2017-03-02T11:46:24Z flip214: still, you'll have all the fun of separating multiple email addresses... 2017-03-02T11:46:53Z phoe_: flip214: comma 2017-03-02T11:46:55Z flip214: "my name, is, foo." , "hoorayme!" 2017-03-02T11:47:05Z flip214: phoe_: sorry, no dice. 2017-03-02T11:47:28Z phoe_: flip214: comma not between quotation marks. 2017-03-02T11:47:48Z flip214: you sure about that? 2017-03-02T11:47:56Z watersoul joined #lisp 2017-03-02T11:48:04Z phoe_: unless "my name" is" is valid. 2017-03-02T11:48:09Z phoe_: with the middle " not being escaped. 2017-03-02T11:48:30Z phoe_: but I cannot imagine it not being escaped. 2017-03-02T11:48:57Z mhd quit (Ping timeout: 184 seconds) 2017-03-02T11:49:26Z flip214: "very.(),:;<>[]\".VERY.\"very@\\ \"very\".unusual"@strange.example.com 2017-03-02T11:49:33Z flip214: https://en.wikipedia.org/wiki/Email_address#Syntax 2017-03-02T11:49:52Z flip214: and that's only the spec.... real-world will be interfering, too 2017-03-02T11:50:02Z flip214: in a previous job we parsed email headers for support reasons 2017-03-02T11:50:20Z flip214: and got quite a few with a "Message-Id:" header AND a "MESSAGE-ID:" header 2017-03-02T11:50:30Z flip214: sendmail printed the first one, postfix the other one in the log ;/ 2017-03-02T11:50:33Z flip214: and so on 2017-03-02T11:50:41Z flip214: lots of fun in there 2017-03-02T11:50:44Z mhd quit (Ping timeout: 260 seconds) 2017-03-02T11:50:56Z deank quit (Ping timeout: 256 seconds) 2017-03-02T11:51:18Z skeuomorf quit (Ping timeout: 268 seconds) 2017-03-02T11:51:48Z phoe_: flip214: my example holds 2017-03-02T11:52:01Z phoe_: comma that is not between unescaped quotation marks 2017-03-02T11:52:10Z flip214: ah, okay. 2017-03-02T11:52:21Z phoe_: and the addresses are separated. 2017-03-02T11:52:33Z flip214: still, it's not _that_ easy with a regex.... taking care about quote, escaped quote, etc. 2017-03-02T11:52:41Z phoe_: haha, yes 2017-03-02T11:52:51Z antoszka: I can just get all matches between <> pairs. 2017-03-02T11:52:55Z antoszka: Ignoring the commas. 2017-03-02T11:53:21Z phoe_: antoszka: "" 2017-03-02T11:53:27Z antoszka: huh, yeah 2017-03-02T11:53:47Z phoe_: the strings can be arbitrary. 2017-03-02T11:53:48Z flip214: perhaps the easiest way forward would be to use the lisp reader... 2017-03-02T11:53:54Z phoe_: haha 2017-03-02T11:53:55Z flip214: " and \" handled already 2017-03-02T11:54:13Z flip214: just make < start a list, > end a list, and you're 90% there 2017-03-02T11:54:16Z antoszka: so, no library for that? :) 2017-03-02T11:54:26Z phoe_: antoszka: it's so trivial there is no library for that 2017-03-02T11:54:32Z antoszka: phoe_: it's not 2017-03-02T11:54:38Z flip214: antoszka: make one ;) 2017-03-02T11:54:43Z antoszka: I might. 2017-03-02T11:54:50Z phoe_: antoszka: humor doesn't convery well through IRC 2017-03-02T11:55:19Z phoe_: it would probably take a month+ of work to implement a parser for the full RFC that nobody actually implements 2017-03-02T11:55:57Z antoszka: yep 2017-03-02T11:56:33Z EvW joined #lisp 2017-03-02T11:56:47Z flip214: right 2017-03-02T11:56:49Z lambda-smith quit (Ping timeout: 258 seconds) 2017-03-02T12:01:06Z alexherbo2 quit (Ping timeout: 240 seconds) 2017-03-02T12:05:49Z jameser joined #lisp 2017-03-02T12:06:06Z quazimodo quit (Ping timeout: 268 seconds) 2017-03-02T12:08:14Z Guest58877 is now known as CrazEd 2017-03-02T12:08:29Z quazimodo joined #lisp 2017-03-02T12:08:36Z jameser quit (Client Quit) 2017-03-02T12:08:43Z CrazEd is now known as Guest67802 2017-03-02T12:10:13Z Ven joined #lisp 2017-03-02T12:11:32Z milanj joined #lisp 2017-03-02T12:13:35Z Beetny quit (Ping timeout: 240 seconds) 2017-03-02T12:14:13Z fedomedobedogedo joined #lisp 2017-03-02T12:14:21Z fedomedobedogedo quit (Remote host closed the connection) 2017-03-02T12:14:23Z d4ryus1 joined #lisp 2017-03-02T12:26:11Z Karl_Dscc joined #lisp 2017-03-02T12:32:56Z defaultxr quit (Ping timeout: 260 seconds) 2017-03-02T12:34:08Z xristos joined #lisp 2017-03-02T12:34:45Z jameser joined #lisp 2017-03-02T12:35:59Z jameser quit (Client Quit) 2017-03-02T12:37:50Z Ven quit (Ping timeout: 258 seconds) 2017-03-02T12:38:55Z deank joined #lisp 2017-03-02T12:40:09Z Ven joined #lisp 2017-03-02T12:40:56Z BitPuffin|osx joined #lisp 2017-03-02T12:46:17Z sjl joined #lisp 2017-03-02T12:48:26Z loke___ joined #lisp 2017-03-02T12:48:46Z deank is now known as marvin2 2017-03-02T12:52:42Z jameser joined #lisp 2017-03-02T12:53:46Z marvin2 quit (Ping timeout: 264 seconds) 2017-03-02T12:56:55Z jameser quit (Client Quit) 2017-03-02T13:00:44Z MrWoohoo quit (Ping timeout: 260 seconds) 2017-03-02T13:03:13Z jamtho joined #lisp 2017-03-02T13:03:39Z Karl_Dscc quit (Remote host closed the connection) 2017-03-02T13:04:04Z sirkmatija_ quit (Ping timeout: 268 seconds) 2017-03-02T13:05:03Z atheris_ quit (Ping timeout: 258 seconds) 2017-03-02T13:05:09Z jameser joined #lisp 2017-03-02T13:05:22Z phoe_: I'd like to make an announcement: http://phoe.tymoon.eu/clus/doku.php?id=cl:glossary is parsed and uploaded. 2017-03-02T13:05:29Z phoe_: Now I will be linking it up. 2017-03-02T13:05:31Z marcoecc quit (Remote host closed the connection) 2017-03-02T13:06:25Z jameser quit (Client Quit) 2017-03-02T13:06:27Z Karl_Dscc joined #lisp 2017-03-02T13:07:13Z jameser joined #lisp 2017-03-02T13:09:12Z flip214: phoe_: the links in the other pages are still like http://phoe.tymoon.eu/clus/doku.php?id=cl:glossary:designator instead of http://phoe.tymoon.eu/clus/doku.php?id=cl:glossarydesignator 2017-03-02T13:09:16Z flip214: phoe_: the links in the other pages are still like http://phoe.tymoon.eu/clus/doku.php?id=cl:glossary:designator instead of http://phoe.tymoon.eu/clus/doku.php?id=cl:glossary#designator 2017-03-02T13:09:20Z flip214: sorry 2017-03-02T13:09:24Z Guest67802 is now known as CrazEd 2017-03-02T13:09:34Z flip214: but perhaps that's what you meant about "linking it up" 2017-03-02T13:09:53Z CrazEd is now known as Guest50472 2017-03-02T13:12:09Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-02T13:12:11Z phoe_: flip214: I know. Yes, that's what I still need to fix. 2017-03-02T13:13:20Z phoe_: I want to do it the other way. 2017-03-02T13:13:51Z phoe_: Only within the glossary, I will use the glossary#anchor notation. 2017-03-02T13:14:00Z phoe_: Outside, I will use cl:glossary:anchor notation. 2017-03-02T13:14:31Z phoe_: Because this way, I will be forced to create files for each glossary entry - and when I do this, the appropriate links in the wiki will become blue. 2017-03-02T13:14:58Z phoe_: so I can easily spot links that are broken and need fixing and which would otherwise point at non-existing anchors. 2017-03-02T13:15:47Z flip214: oh, okay. 2017-03-02T13:15:52Z phoe_: I won't do this in the glossary because it will be silly to move between cl:glossary -> cl:glossary:foo -> cl:glossary#foo - because that's two different pages. 2017-03-02T13:15:52Z flip214: sounds good as well! 2017-03-02T13:16:24Z phoe_: but basically, once I have this, all the pages should start being more blue than red. 2017-03-02T13:16:50Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-02T13:22:29Z funnel quit (Quit: leaving) 2017-03-02T13:22:39Z Sullivan joined #lisp 2017-03-02T13:22:46Z phoe_: but generally, how does http://phoe.tymoon.eu/clus/doku.php?id=cl:glossary look? 2017-03-02T13:22:52Z raydeejay: red → communism → evil 2017-03-02T13:22:55Z Sullivan quit (Client Quit) 2017-03-02T13:23:04Z phoe_: raydeejay: ... 2017-03-02T13:24:20Z funnel joined #lisp 2017-03-02T13:28:07Z seg quit (Ping timeout: 268 seconds) 2017-03-02T13:30:13Z seg joined #lisp 2017-03-02T13:30:23Z flip214: phoe_: http://phoe.tymoon.eu/clus/doku.php?id=cl:glossary 2017-03-02T13:30:38Z flip214: Subscript notation, as in "somethingn" and the "n" is subscript? 2017-03-02T13:30:53Z flip214: but it's not a link 2017-03-02T13:30:57Z flip214: that looks a bit strange 2017-03-02T13:31:14Z TDT joined #lisp 2017-03-02T13:31:22Z flip214: and perhaps "something" shouldn't be a glossary link anyway ;) 2017-03-02T13:32:03Z flip214: another small thing... how do people feel about «"float."» vs. «"float".»? 2017-03-02T13:32:25Z phoe_: flip214: yes, subscript 2017-03-02T13:32:28Z flip214: I know that period-inside-quotes is the English default, but the programmer inside me croaks every time I see that mismatched quote ;) 2017-03-02T13:33:03Z phoe_: I might actually want to make this subscript a part of every link 2017-03-02T13:33:26Z phoe_: flip214: added to the todo, thanks 2017-03-02T13:33:47Z flip214: thank _you_! 2017-03-02T13:33:56Z funnel quit (Remote host closed the connection) 2017-03-02T13:34:17Z flip214: but what about period-inside-quotes? 2017-03-02T13:34:18Z funnel joined #lisp 2017-03-02T13:35:03Z phoe_: flip214: no problem 2017-03-02T13:35:58Z flip214: "no problem" getting the period outside, or "no problem" for you having them inside? 2017-03-02T13:36:17Z ogamita: In ASCII, you type: He said: "No problem.". 2017-03-02T13:37:28Z jamtho quit (Ping timeout: 256 seconds) 2017-03-02T13:38:24Z cromachina quit (Read error: Connection reset by peer) 2017-03-02T13:40:15Z Karl_Dscc quit (Remote host closed the connection) 2017-03-02T13:40:25Z arduo joined #lisp 2017-03-02T13:41:12Z Karl_Dscc joined #lisp 2017-03-02T13:44:37Z beach: flip214: I have the same problem you do with the English convention. 2017-03-02T13:45:36Z flip214: beach: thank you. but will that be enough to get the CLUS text "balanced"? 2017-03-02T13:47:03Z hvxgr joined #lisp 2017-03-02T13:47:21Z sirkmatija_ joined #lisp 2017-03-02T13:52:23Z splittist: beach: when you say "English" I think you mean "American English". 2017-03-02T13:56:00Z beach: splittist: That might be so. What is the convention among UK typesetters? 2017-03-02T13:56:23Z ogamita: Leave it to the render engine! 2017-03-02T13:56:48Z phoe_: flip214: no problem in response to the "thank you" 2017-03-02T13:57:02Z splittist: If the full stop or comma is part of the quote, then inside. If it isn't, outside. (See my comment above (: ) 2017-03-02T13:57:06Z phoe_: but, uh, I'll keep the period inside 2017-03-02T13:57:44Z beach: splittist: Great! Thanks! 2017-03-02T13:57:45Z dlowe: I feel that period-inside-quotes is for "speech" and "scare quotes" not "literal text" 2017-03-02T13:57:56Z dpg joined #lisp 2017-03-02T13:58:00Z jameser joined #lisp 2017-03-02T13:58:04Z TMA: well, the period placement is semantically significant. (except that the ". is coalesced into ." due to aesthetic/typographic reasons) 2017-03-02T13:58:52Z lieven: heh a possible extension. Add more cases to the "~@P" format control 2017-03-02T13:58:55Z kelsar777 joined #lisp 2017-03-02T13:59:02Z splittist: So English English uses the same rules for #\, and @\. as it, and American English, does for #\? and #\! - part of the quote if part of the quote, not if not. 2017-03-02T13:59:05Z lieven: then you can really start arguing about UK vs US English 2017-03-02T13:59:14Z jameser quit (Read error: Connection reset by peer) 2017-03-02T14:02:35Z _death: (with-english just use '(thank you)) 2017-03-02T14:02:53Z phoe_: Random trivia: the CL spec glossary has 692 entries. 2017-03-02T14:03:54Z phoe_: flip214: argh! 2017-03-02T14:03:59Z splittist: Contract automation systems tend to have 'optional periods' (they're usually American) to handle the difference between inserting "Foo Bar LLC" and "Bar Quux Inc." at the end of a sentence. 2017-03-02T14:04:04Z phoe_: DokuWiki does not allow subscripts inside its links. 2017-03-02T14:04:12Z phoe_: I might need to resort to Unicode. 2017-03-02T14:10:34Z Guest50472 is now known as CrazEd 2017-03-02T14:10:39Z LiamH joined #lisp 2017-03-02T14:11:00Z CrazEd is now known as Guest31866 2017-03-02T14:17:29Z hvxgr quit (Quit: leaving) 2017-03-02T14:17:44Z hvxgr joined #lisp 2017-03-02T14:24:29Z funnel quit (Quit: leaving) 2017-03-02T14:25:05Z sjl: what's an idiomatic way to check if every member of a list is equal according to a given predicate? 2017-03-02T14:25:15Z sjl: for numbers I can use (apply #'= things) 2017-03-02T14:25:28Z sjl: but that doesn't work for eql/equal/etc because they're only 2ary 2017-03-02T14:25:48Z sjl: (reduce #'equal ...) doesn't work because equal returns t or nil, not the actual objects 2017-03-02T14:26:16Z sjl: (= 1 (length (remove-duplicates things :test #'equal))) will do what I want but seems wasteful 2017-03-02T14:26:18Z funnel joined #lisp 2017-03-02T14:26:58Z _death: if nonempty, something like (every (lambda (x) (equal-predicate x (first list))) (rest list)) 2017-03-02T14:27:22Z sjl: hm, yeah 2017-03-02T14:27:23Z neoncontrails quit (Remote host closed the connection) 2017-03-02T14:28:00Z neoncontrails joined #lisp 2017-03-02T14:28:23Z neoncontrails quit (Remote host closed the connection) 2017-03-02T14:28:40Z neoncontrails joined #lisp 2017-03-02T14:28:46Z Karl_Dscc quit (Remote host closed the connection) 2017-03-02T14:29:22Z sjl: or (not (find (first seq) seq :start 1 :test-not pred)) 2017-03-02T14:29:25Z sjl: but that's ugly too 2017-03-02T14:30:11Z _death: (all-equal :test ) isn't ugly 2017-03-02T14:30:31Z sjl: yeah I guess I'll just wrap it up 2017-03-02T14:30:32Z mnoonan joined #lisp 2017-03-02T14:31:02Z ogamita: sjl: (every predicate list) 2017-03-02T14:31:27Z ogamita: clhs predicate 2017-03-02T14:31:27Z specbot: Couldn't find anything for predicate. 2017-03-02T14:31:36Z jerme joined #lisp 2017-03-02T14:32:15Z sjl: ogamita: every just calls the predicate on each element individually, which isn't going to do what I want unless I use a lambda to pull out the first element myself like _death suggested 2017-03-02T14:32:52Z ogamita: sjl: despite the definition of predicate in CLHS glossary, it is understood that a predicate takes only one argument. 2017-03-02T14:32:53Z beach: (null (cdr (remove-duplicates list :key #'predicate))) 2017-03-02T14:33:09Z beach: Not serious. Just for kicks. 2017-03-02T14:33:12Z ogamita: sjl: you want to use what is called a test function through clhs. 2017-03-02T14:33:44Z sjl: ogamita: predicate n. a function that returns a generalized boolean as its first value. 2017-03-02T14:33:44Z phoe_: sjl: #'every 2017-03-02T14:33:52Z ogamita: Yes. 2017-03-02T14:34:03Z beach: Right. Not predicate. 2017-03-02T14:34:32Z sjl: phoe_: how will every help here? 2017-03-02T14:34:34Z phoe_: I'd go (every (lambda (x) (equal x (first list))) list) 2017-03-02T14:34:42Z phoe_: if every element of the list is equal to the first one 2017-03-02T14:34:43Z sjl: yeah, that's what _death suggested above 2017-03-02T14:34:45Z phoe_: then all are equal. 2017-03-02T14:34:49Z phoe_: oh - I didn't read 2017-03-02T14:34:50Z ogamita: (every (lambda (x) (equal (first list) x)) list) 2017-03-02T14:35:13Z sjl joins the party 2017-03-02T14:35:13Z dlowe: (let ((first (first list))) (every (lambda (x) (equal first x)) (rest list)) 2017-03-02T14:35:15Z sjl: (every (lambda (x) (equal x (first list))) list) 2017-03-02T14:35:27Z ogamita: There's a serious lack of reading currently. 2017-03-02T14:35:27Z dlowe: I know we're supposed to not care about performance and all, but... 2017-03-02T14:35:46Z dlowe: pf. IRC isn't for reading. 2017-03-02T14:35:58Z ogamita: :-) 2017-03-02T14:36:18Z ogamita: (= 1 (set-cardinal list)) 2017-03-02T14:38:41Z strelox joined #lisp 2017-03-02T14:39:13Z dec0n quit (Quit: Leaving) 2017-03-02T14:39:32Z _death: http://paste.lisp.org/display/340359 (all list equal (first list)) 2017-03-02T14:39:33Z dec0n joined #lisp 2017-03-02T14:41:16Z parjanya quit (Ping timeout: 260 seconds) 2017-03-02T14:45:02Z funnel quit (Remote host closed the connection) 2017-03-02T14:46:18Z funnel joined #lisp 2017-03-02T14:50:08Z dpg quit (Ping timeout: 240 seconds) 2017-03-02T14:50:28Z flamebeard quit (Ping timeout: 246 seconds) 2017-03-02T14:50:53Z flamebeard joined #lisp 2017-03-02T14:51:00Z mickey joined #lisp 2017-03-02T14:51:37Z flamebeard_ joined #lisp 2017-03-02T14:55:05Z flamebeard quit (Ping timeout: 240 seconds) 2017-03-02T14:55:15Z flamebeard_ is now known as flamebeard 2017-03-02T14:55:19Z sellout- quit (Quit: Leaving.) 2017-03-02T14:55:40Z rippa joined #lisp 2017-03-02T14:55:44Z gingerale joined #lisp 2017-03-02T14:58:25Z monadicDuck joined #lisp 2017-03-02T14:59:07Z lambda-smith joined #lisp 2017-03-02T15:03:28Z phoe_: HAHA! 2017-03-02T15:03:39Z phoe_: http://phoe.tymoon.eu/clus/doku.php?id=CL:Glossary is mostly linked now. 2017-03-02T15:04:10Z phoe_: I need to fix DokuWiki up because the anchors are fscked up, but most of the links themselves are working on whole CLUS. 2017-03-02T15:04:36Z sjl quit (Ping timeout: 260 seconds) 2017-03-02T15:09:27Z flip214: cool 2017-03-02T15:11:05Z mickey is now known as `0x00 2017-03-02T15:11:35Z `0x00 is now known as false 2017-03-02T15:11:40Z Guest31866 is now known as CrazEd 2017-03-02T15:12:10Z CrazEd is now known as Guest68648 2017-03-02T15:12:39Z false is now known as `0x00` 2017-03-02T15:12:41Z dec0n quit (Read error: Connection reset by peer) 2017-03-02T15:13:24Z macdavid313 joined #lisp 2017-03-02T15:20:30Z seg_ joined #lisp 2017-03-02T15:21:35Z jiacobucci quit (Ping timeout: 268 seconds) 2017-03-02T15:23:04Z seg quit (Ping timeout: 260 seconds) 2017-03-02T15:26:44Z phoe_: _death: http://paste.lisp.org/display/340359 2017-03-02T15:26:47Z phoe_: why not functions here? 2017-03-02T15:27:40Z _death: so that it'll be similar to the perl 6 construct 2017-03-02T15:31:51Z phoe_: got it. 2017-03-02T15:32:19Z _death: all(@things) eq 'foo' => (all things equal "foo") 2017-03-02T15:33:25Z phoe_: got it 2017-03-02T15:34:22Z phoe_: Lisp would do it as (all #'equal "foo" things) 2017-03-02T15:34:29Z phoe_: I mean, uh 2017-03-02T15:34:33Z phoe_: more Lisplike style 2017-03-02T15:34:52Z dlowe: (every (plambda (equal :1 "foo")) things) 2017-03-02T15:34:59Z sdsadsdas joined #lisp 2017-03-02T15:37:33Z Xach_: (all (=equal "foo") things) 2017-03-02T15:37:39Z _death: phoe: when defining a syntactic abstraction sometimes you want to deemphasize certain aspects, even at the cost of generality.. for example you don't (loop for x in list #'max x) 2017-03-02T15:37:43Z EvW quit (Ping timeout: 246 seconds) 2017-03-02T15:38:14Z Xach_ does stuff like (=or (=equal "jan") (=equal "dean")) sometimes 2017-03-02T15:38:38Z Xach_: (=and (=not (=equal "brian"))) 2017-03-02T15:38:39Z dlowe: Xach_: is that from smug? 2017-03-02T15:38:51Z dlowe: or just your own personal stash 2017-03-02T15:38:54Z Xach_: dlowe: no. just something I scratch together every time. 2017-03-02T15:38:58Z _death: sometimes you can expose it in a different way.. like (iter (for x in list) (reducing x by #'max)) 2017-03-02T15:38:59Z dlowe nods. 2017-03-02T15:39:01Z dlowe: XachLisp 2017-03-02T15:39:02Z Xach_: along with callfun 2017-03-02T15:39:47Z Amplituhedron quit (Quit: Konversation terminated!) 2017-03-02T15:39:55Z sdsadsdas quit (Ping timeout: 258 seconds) 2017-03-02T15:40:04Z o1e9 quit (Quit: Ex-Chat) 2017-03-02T15:40:55Z rumbler31 joined #lisp 2017-03-02T15:41:40Z Xach_: with (defun callfun (object) (lambda (fun) (funcall fun object))) you can then do (defun =and (&rest funs) (lambda (object) (every (callfun object) funs))))) etc 2017-03-02T15:42:07Z krasnal joined #lisp 2017-03-02T15:42:08Z Xach_: =or is some, =not is easy, and there you go. 2017-03-02T15:42:33Z dlowe nods. 2017-03-02T15:42:34Z dlowe: Nice. 2017-03-02T15:42:39Z lnostdal quit (Read error: Connection reset by peer) 2017-03-02T15:42:59Z lnostdal joined #lisp 2017-03-02T15:43:02Z Xach_: It's so short, I usually scratch it up and throw in some extra stuff suitable for whatever I'm working on. 2017-03-02T15:43:10Z dlowe: LispTips! 2017-03-02T15:43:21Z Xach_: (=matches "foo$") or (=lessthan 42) or whatever. all pretty trivial. 2017-03-02T15:44:06Z Xach_: I don't want someone who knows languages that work this way by default to make fun of me :~( 2017-03-02T15:45:20Z sdsadsdas joined #lisp 2017-03-02T15:46:47Z _death: you mean (callfun 'xach) ? 2017-03-02T15:47:14Z nirved: phoe_: glossary is messed up from "internal time unit" to "singleton" 2017-03-02T15:47:15Z Xach_: http://lispblog.xach.com/post/147048601608/querying-plists is a more static approach to the idea 2017-03-02T15:47:33Z phoe_: nirved: ! 2017-03-02T15:47:37Z phoe_: thanks, I'll look at it 2017-03-02T15:47:38Z Xach_: _death: (makefun 'xach) 2017-03-02T15:48:04Z EvW joined #lisp 2017-03-02T15:48:24Z _death: well, callfun makes a fun that calls a fun :) 2017-03-02T15:49:18Z phoe_: nirved: thanks, will fix 2017-03-02T15:49:27Z phoe_: ...actually, fixed, it will update in 13 minutes 2017-03-02T15:55:23Z pebblexe joined #lisp 2017-03-02T15:56:31Z pebblexe: how do I read a file line by line without causing ram to be consumed? when I read a file and simply update a counter all of the lines seem to stay in memory. I am using ccl 1.11. 2017-03-02T15:57:07Z ogamita: pebblexe: don't keep references to the old lines. Eventually they will be garbage-collected. 2017-03-02T15:57:30Z ogamita: pebblexe: if you care about locality, then you will have to use read-sequence, and search for the end-of-line yourself. 2017-03-02T15:57:51Z _death: you can have a buffer which may grow to a certain limit if necessary 2017-03-02T15:58:37Z csaurus joined #lisp 2017-03-02T15:58:52Z ogamita: pebblexe: notice that use that buffer will prevent you to perform I/O at the same time you're processing the buffer, so you will 1- not use the very expensive RAM you've paid, and 2- slow down the processing. 2017-03-02T15:59:44Z pebblexe: this is my code though: https://gist.github.com/pebblexe/e61f629b179d6a4110269f5af0be99f9 2017-03-02T16:00:12Z pebblexe: I am purposefully creating it in the let statement and doing nothing with it 2017-03-02T16:00:18Z pebblexe: and it still consumes a ton of memory 2017-03-02T16:01:21Z ogamita: The question is how csv-split works? 2017-03-02T16:01:38Z ogamita: again, memory is there to be used! 2017-03-02T16:01:52Z ogamita: If memory is not used at 100% then you're losing money. 2017-03-02T16:02:10Z pebblexe: I updated the gist with the csv-split method I found on github 2017-03-02T16:02:15Z pebblexe: I mean stack overflow 2017-03-02T16:02:48Z pebblexe: ogamita: I know memory is meant to be used, but the issue is that sometimes big csvs take all my ram and it takes forever to kill the slime instance 2017-03-02T16:03:23Z _death: so you can save a lot of money by doing (loop for x = '() then (cons '$ x)) 2017-03-02T16:03:29Z ogamita: pebblexe: ok, so we see that cvs-split makes copies substrings of the line. Then the line is not used anymore. So it will be garbage collected. 2017-03-02T16:03:41Z hvxgr quit (Quit: leaving) 2017-03-02T16:03:48Z pebblexe: but it isn't gc'd 2017-03-02T16:03:56Z hvxgr joined #lisp 2017-03-02T16:04:04Z ogamita: There's a call to btc-fast, but you show us fast. What does btc-fast do? 2017-03-02T16:04:29Z flamebeard_ joined #lisp 2017-03-02T16:04:49Z pebblexe: sorry I updated it again 2017-03-02T16:06:23Z ogamita: Then the substrings are read from, which will usually allocate new lisp objects (strings, numbers, etc), and they're not used after that, so they'll be garbage collected. The the lisp objects are put in a list that is not used, so it'll be garbage collected. 2017-03-02T16:06:49Z sdsadsdas quit (Remote host closed the connection) 2017-03-02T16:06:55Z sellout- joined #lisp 2017-03-02T16:07:20Z pebblexe: ogamita: both sbcl and ccl do not garbage collect this when done processing 2017-03-02T16:07:32Z ogamita: You could directly read the cvs as lisp objects using the right readtable… 2017-03-02T16:07:36Z flamebeard quit (Ping timeout: 240 seconds) 2017-03-02T16:07:46Z flamebeard_ is now known as flamebeard 2017-03-02T16:08:42Z sdsadsdas joined #lisp 2017-03-02T16:09:02Z pebblexe: ogamita: I was initially creating objects, but I thought that was preventing the gc so I made it simpler 2017-03-02T16:09:47Z monadicDuck quit (Quit: Lost terminal) 2017-03-02T16:09:53Z oleo joined #lisp 2017-03-02T16:11:40Z sdsadsdas quit (Read error: No route to host) 2017-03-02T16:11:58Z sdsadsdas joined #lisp 2017-03-02T16:12:32Z phoe_ quit (Quit: Page closed) 2017-03-02T16:12:38Z Guest68648 is now known as CrazEd 2017-03-02T16:13:07Z CrazEd is now known as Guest93539 2017-03-02T16:14:01Z ogamita: pebblexe: the thing is that you're allocating a lot of intermediary memory. For example, for a cvs line such as "Foo Bar","Quux","75001 Paris" you will make 3 copies! 2017-03-02T16:14:32Z beach: And each character might very well take 4 bytes. 2017-03-02T16:15:12Z pebblexe: ok, so I should focus on finding a better csv-split method 2017-03-02T16:15:18Z ogamita: One for the line (additionnal copies are made in the kernel and lisp system we won't count them), one to split the substrings ("\"Foo Bar\"" "\"Quux\"" "\"75001 Paris\"") and one more with read-from-string -> ("Foo Bar" "Quux" "75001 Paris"), plus the cons cells to hold the intermediary lists. 2017-03-02T16:15:25Z parjanya joined #lisp 2017-03-02T16:15:32Z beach: pebblexe: Why don't you just increase the heap size? 2017-03-02T16:15:53Z pebblexe: beach: I'm not running into an issue with the heap size, I am running into an issue of running out of memory 2017-03-02T16:16:04Z ogamita: And indeed, if your file is very big, take care of using base-char (or if your implementation as 32-bit base-char, use octets! (read the file in binary)). 2017-03-02T16:16:23Z pebblexe: I would have had to modify sbcl's heap size, and I thought I'd try out ccl instead and I was pleasantly surprised at it's ability to handle large files 2017-03-02T16:16:40Z beach: pebblexe: How does running out of memory manifest itself? 2017-03-02T16:16:48Z ogamita: pebblexe: sometimes it's also possible to NOT copy the file inside the memory. Read it to build an index, and when you need the data, go back reading the file. 2017-03-02T16:16:57Z beach: pebblexe: Maybe you could increase your "swap" space? 2017-03-02T16:17:09Z pebblexe: beach: the system monitor would show I ran out of ram 2017-03-02T16:17:17Z beach: pebblexe: Maybe you could increase your "swap" space? 2017-03-02T16:17:26Z pebblexe: beach: yeah I thought it would use my swap space but it never hit it 2017-03-02T16:17:44Z beach: Your operating system must be defective. 2017-03-02T16:17:46Z pebblexe: beach: weird 2017-03-02T16:17:55Z pebblexe: beach: ubuntu 16.8 2017-03-02T16:18:04Z ogamita: Well, if you start hitting the swap, it'll be very slow (combined with garbage collection). Better avoid it. 2017-03-02T16:18:19Z ogamita: pebblexe: you could perhaps split the file in two and process each part separately? 2017-03-02T16:18:52Z pebblexe: the worst part is that I really want to try haskell because of it's ability to handle large files easily 2017-03-02T16:19:08Z `0x00` quit (Ping timeout: 240 seconds) 2017-03-02T16:19:59Z beach: pebblexe: Does your input have any non-ASCII characters? 2017-03-02T16:20:11Z pebblexe: beach: nope 2017-03-02T16:20:27Z beach: You might be allocating 4 bytes per character. 2017-03-02T16:21:22Z beach: If you are using STRINGs, then that is very likely the case. 2017-03-02T16:21:33Z beach: You might need to use BASE-STRINGs instead. 2017-03-02T16:21:34Z pebblexe: beach: what should I use instead? 2017-03-02T16:21:39Z pebblexe: ok 2017-03-02T16:22:00Z pebblexe: I found this to be really helpful when considering types: http://sellout.github.io/2012/03/03/common-lisp-type-hierarchy/ 2017-03-02T16:23:06Z pebblexe: beach: how would I read it in as a base-string? 2017-03-02T16:23:21Z beach: I don't know. How are you reading things now? 2017-03-02T16:23:35Z pebblexe: ugh: I mean I am converting it to a number immediately, so I don't know if optimizing the initial read matters 2017-03-02T16:23:55Z pebblexe: beach: I'm not sure, I think I just have to read more stuff about cl 2017-03-02T16:25:16Z beach: Yes, I think you are right. You shouldn't be accumulating garbage here. 2017-03-02T16:25:35Z nowhere_man joined #lisp 2017-03-02T16:26:10Z beach: What does list1 do? 2017-03-02T16:26:37Z beach: pebblexe: Wow, your code needs to be formatted properly. It is impossible to read like that. 2017-03-02T16:27:11Z beach: pebblexe: Please use the Common Lisp indentation mode of your editor. 2017-03-02T16:27:19Z pebblexe: beach: nothing, I wanted to prove to myself that if I never use it it's still not garbage collector 2017-03-02T16:27:44Z pebblexe: beach: that is how emacs autoformats it 2017-03-02T16:27:54Z beach: It is not. 2017-03-02T16:28:05Z sirkmatija_ quit (Quit: sirkmatija_) 2017-03-02T16:28:10Z beach: (list1 should then be aligned under (splitted. 2017-03-02T16:28:12Z ogamita: pebblexe: cf. https://github.com/AccelerationNet/cl-csv 2017-03-02T16:28:21Z pebblexe: I just ran c-x h m-w \ 2017-03-02T16:28:43Z beach: pebblexe: And for LOOP clauses, you need to use the SLIME contribution named slime-indentation. 2017-03-02T16:28:51Z pebblexe: ogamita: thanks! 2017-03-02T16:29:21Z pebblexe: beach: is it just (require 'slime-indentation)? 2017-03-02T16:29:48Z beach: No, hold on... 2017-03-02T16:30:04Z ogamita: pebblexe: see also: https://groups.google.com/forum/#!topic/comp.lang.lisp/8nzWKfdSySM 2017-03-02T16:30:14Z beach: pebblexe: In your .emacs: (slime-setup '(slime-fancy slime-tramp slime-asdf slime-indentation)) 2017-03-02T16:30:29Z pebblexe: (setq slime-contribs '(slime-fancy slime-indentation)) 2017-03-02T16:30:33Z pebblexe: is that it? 2017-03-02T16:30:41Z pebblexe: beach: ah ok 2017-03-02T16:30:41Z beach: I guess so. 2017-03-02T16:30:55Z raynold joined #lisp 2017-03-02T16:31:12Z sjl joined #lisp 2017-03-02T16:32:43Z hvxgr quit (Quit: leaving) 2017-03-02T16:32:51Z hvxgr joined #lisp 2017-03-02T16:33:31Z apertus joined #lisp 2017-03-02T16:35:24Z EvW quit (Ping timeout: 256 seconds) 2017-03-02T16:40:44Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-02T16:42:09Z dpg joined #lisp 2017-03-02T16:42:27Z strelox quit (Ping timeout: 240 seconds) 2017-03-02T16:49:05Z shifty quit (Ping timeout: 240 seconds) 2017-03-02T16:49:36Z loke___ quit (Ping timeout: 260 seconds) 2017-03-02T16:50:49Z varjag quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2017-03-02T16:52:47Z neuronsong joined #lisp 2017-03-02T16:53:00Z wheelsucker joined #lisp 2017-03-02T16:53:32Z Karl_Dscc joined #lisp 2017-03-02T16:54:16Z quazimodo quit (Ping timeout: 260 seconds) 2017-03-02T16:54:30Z pebblexe: okay, I got it working with cl-csv and this is the simple function I am using: https://gist.github.com/pebblexe/d9c001a119e794221001aad3c066d24c 2017-03-02T16:54:47Z pebblexe: It still takes up a lot of ram, and it doesn't get cleared even if I run (gc) 2017-03-02T16:55:40Z tristero joined #lisp 2017-03-02T16:55:48Z tristero quit (Changing host) 2017-03-02T16:55:48Z tristero joined #lisp 2017-03-02T16:56:14Z beach: That's really strange. 2017-03-02T16:56:23Z beach: Sounds like defect. 2017-03-02T16:58:32Z sirkmatija_ joined #lisp 2017-03-02T17:01:36Z jiacobucci joined #lisp 2017-03-02T17:01:47Z pebblexe: beach: yeah, ccl has a defect. sbcl can handle it fine though. 2017-03-02T17:01:51Z pebblexe: cool I get to go back to sbcl 2017-03-02T17:12:27Z al-damiri joined #lisp 2017-03-02T17:12:41Z bpanthi joined #lisp 2017-03-02T17:13:26Z bgg_ joined #lisp 2017-03-02T17:13:40Z bgg_ quit (Remote host closed the connection) 2017-03-02T17:13:43Z Guest93539 is now known as CrazEd 2017-03-02T17:14:13Z CrazEd is now known as Guest98519 2017-03-02T17:16:26Z drmeister: To support Bordeaux threads, ECL provides mp:process, mp:lock and mp:condition-variable. 2017-03-02T17:16:34Z drmeister: What's a 'condition-variable'? 2017-03-02T17:18:21Z mcrist joined #lisp 2017-03-02T17:19:39Z Bike joined #lisp 2017-03-02T17:20:21Z ogamita: It's a synchronization mechanism provided by pthreads. 2017-03-02T17:21:33Z ogamita: threads can wait (blocked) on a condition represented by a condition variable. Then another thread may signal the condition, which will unblock one of the waiting threads. There's also a broadcast operation to unblock them all. 2017-03-02T17:21:53Z ogamita: They're used in combination with locks to manage mutual exclusion access. 2017-03-02T17:22:22Z drmeister: Thank you. 2017-03-02T17:22:55Z ogamita: man pthread # for more info 2017-03-02T17:24:19Z wildlander joined #lisp 2017-03-02T17:24:40Z Lord_of_Life quit (Excess Flood) 2017-03-02T17:26:53Z manualcrank joined #lisp 2017-03-02T17:29:28Z Lord_of_Life joined #lisp 2017-03-02T17:34:37Z flamebeard quit (Quit: Leaving) 2017-03-02T17:39:44Z axion quit (Quit: WeeChat 1.7) 2017-03-02T17:43:01Z axion joined #lisp 2017-03-02T17:46:48Z hhdave quit (Ping timeout: 258 seconds) 2017-03-02T17:48:44Z RedEight joined #lisp 2017-03-02T17:49:44Z drmeister: Why would it be valuable to store the initial special variable bindings for a thread? Rather than just setting them in the function that the thread starts up. 2017-03-02T17:50:01Z drmeister: ogamita: There is a c++11 std::condition_variable - I'll expose that. 2017-03-02T17:53:13Z m00natic quit (Remote host closed the connection) 2017-03-02T17:54:16Z Bike: what is the difference between storing and setting there? 2017-03-02T17:59:16Z nowhere_man quit (Ping timeout: 256 seconds) 2017-03-02T17:59:47Z mepian joined #lisp 2017-03-02T18:00:34Z bpanthi quit (Quit: bpanthi) 2017-03-02T18:06:20Z shrdlu68 joined #lisp 2017-03-02T18:06:51Z shrdlu68: Good evening Lispers! 2017-03-02T18:10:35Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-02T18:11:00Z varjag joined #lisp 2017-03-02T18:13:21Z parjanya quit (Remote host closed the connection) 2017-03-02T18:15:27Z froggey quit (Ping timeout: 240 seconds) 2017-03-02T18:17:12Z froggey joined #lisp 2017-03-02T18:19:46Z mwsb joined #lisp 2017-03-02T18:21:04Z chu quit (Ping timeout: 260 seconds) 2017-03-02T18:21:51Z papachan joined #lisp 2017-03-02T18:25:04Z akkad: so in format when doing a list, can you repeat the same element more than once? 2017-03-02T18:26:01Z rlatimore joined #lisp 2017-03-02T18:26:54Z shrdlu68: akkad: Yep. 2017-03-02T18:27:05Z chu joined #lisp 2017-03-02T18:27:53Z akkad: ~:* is my recollection. just not sure 2017-03-02T18:28:49Z shrdlu68: ~:* backs up in the list of arguments so that the argument last processed will be processed again. ~n:* backs up n arguments. 2017-03-02T18:28:56Z dpg quit (Remote host closed the connection) 2017-03-02T18:29:08Z mwsb quit (Ping timeout: 260 seconds) 2017-03-02T18:29:11Z shrdlu68: clhs 22.3.7.1 2017-03-02T18:29:11Z specbot: Tilde Asterisk: Go-To: http://www.lispworks.com/reference/HyperSpec/Body/22_cga.htm 2017-03-02T18:29:21Z ogamita: drmeister: sounds reasonable to provide the API layer provided by the language. I assume there are the equivalent for locks, mutexes and threads? 2017-03-02T18:29:29Z akkad: vs (format nil "~{
  • ~A
  • ~}" users uers) 2017-03-02T18:29:29Z akkad: 2017-03-02T18:29:31Z ogamita quit (Quit: Good night) 2017-03-02T18:32:07Z shrdlu68: akkad: I've used them both. 2017-03-02T18:32:24Z _death: is when a Lisper tries to HTML 2017-03-02T18:32:43Z shrdlu68: Hehe. 2017-03-02T18:33:32Z pebblexe: is there a fast way to shift elements in a vector? 2017-03-02T18:33:41Z shrdlu68: ~{
  • ~A
  • ~}" users) 2017-03-02T18:39:56Z shrdlu68: ^that works 2017-03-02T18:40:58Z Ven joined #lisp 2017-03-02T18:41:34Z shka_ joined #lisp 2017-03-02T18:42:04Z vlatkoB quit (Ping timeout: 260 seconds) 2017-03-02T18:42:29Z shrdlu68: pebblexe: Do you mean shifting indexes? 2017-03-02T18:44:37Z pebblexe: I mean I wish that there was a command to shift all of the items down 2017-03-02T18:44:38Z shrdlu68: I'm not sure there can be a faster way to shift elements around a vector. 2017-03-02T18:45:02Z pebblexe: basically I am going to need to quickly add items to the front and remove from the back 2017-03-02T18:45:41Z lnostdal quit (Read error: Connection reset by peer) 2017-03-02T18:45:57Z lnostdal joined #lisp 2017-03-02T18:46:25Z beach: pebblexe: You might want to look into the Flexichain library. 2017-03-02T18:46:34Z beach: pebblexe: It is optimized for that kind of stuff. 2017-03-02T18:48:32Z vlatkoB_ quit (Remote host closed the connection) 2017-03-02T18:49:11Z pebblexe: beach: thanks! 2017-03-02T18:49:36Z wheelsucker quit (Ping timeout: 240 seconds) 2017-03-02T18:49:59Z neoncontrails quit (Remote host closed the connection) 2017-03-02T18:50:11Z shrdlu68: It's surpsrising that push and pop are not built-in for vectors. 2017-03-02T18:50:24Z nirved quit (Quit: Leaving) 2017-03-02T18:50:29Z Xach_: shrdlu68: extra surprising, since it is. 2017-03-02T18:50:51Z Xach_: shrdlu68: see vector-push, vector-pop, and vector-push-extend 2017-03-02T18:51:06Z shrdlu68: pebblexe: ^ 2017-03-02T18:51:40Z Xach_: I have not been paying attention, so I don't know if it is suitable. 2017-03-02T18:51:43Z Xach_: But that is a thing that exists. 2017-03-02T18:53:17Z akkad: wow woo doesnt scale beyond one cpu.. 2017-03-02T18:53:23Z pebblexe: Xach_: I don't think vector-push-extend is what I am looking for... I really need a circular buffer 2017-03-02T18:53:43Z defaultxr joined #lisp 2017-03-02T18:55:08Z arduo quit (Ping timeout: 260 seconds) 2017-03-02T18:55:13Z mepian quit (Quit: Leaving) 2017-03-02T18:58:18Z varjag: ring buffers.. it's that time of the year 2017-03-02T18:59:23Z MrBusiness joined #lisp 2017-03-02T19:06:12Z pjb joined #lisp 2017-03-02T19:08:21Z apertus quit (Remote host closed the connection) 2017-03-02T19:14:43Z beach: pebblexe: Which is why I suggested something that is optimized for that kind of access. 2017-03-02T19:15:44Z trocado joined #lisp 2017-03-02T19:15:46Z BlueRavenGT joined #lisp 2017-03-02T19:19:09Z beach: shrdlu68: Or did you have some other push/pop operations in mind? 2017-03-02T19:23:57Z Ven quit (Ping timeout: 240 seconds) 2017-03-02T19:26:18Z Cymew quit (Ping timeout: 260 seconds) 2017-03-02T19:26:38Z arduo joined #lisp 2017-03-02T19:27:11Z Ven joined #lisp 2017-03-02T19:31:19Z shrdlu68: Nope. 2017-03-02T19:31:42Z JuanDaugherty joined #lisp 2017-03-02T19:32:05Z BitPuffin|osx quit (Ping timeout: 240 seconds) 2017-03-02T19:32:10Z BlueRavenGT quit (Ping timeout: 264 seconds) 2017-03-02T19:39:42Z hhdave joined #lisp 2017-03-02T19:41:22Z stepnem joined #lisp 2017-03-02T19:41:47Z hhdave_ joined #lisp 2017-03-02T19:42:27Z cibs quit (Ping timeout: 240 seconds) 2017-03-02T19:43:14Z devon joined #lisp 2017-03-02T19:44:07Z hhdave quit (Ping timeout: 246 seconds) 2017-03-02T19:44:07Z hhdave_ is now known as hhdave 2017-03-02T19:44:28Z cibs joined #lisp 2017-03-02T19:48:12Z Cymew joined #lisp 2017-03-02T19:58:00Z kelsar777 quit (Quit: Leaving) 2017-03-02T20:04:41Z BitPuffin|osx joined #lisp 2017-03-02T20:07:52Z jiacobucci quit (Remote host closed the connection) 2017-03-02T20:08:20Z EvW joined #lisp 2017-03-02T20:12:40Z nowhere_man joined #lisp 2017-03-02T20:14:14Z mejja joined #lisp 2017-03-02T20:14:55Z hhdave quit (Quit: hhdave) 2017-03-02T20:21:13Z sdsadsdas quit (Remote host closed the connection) 2017-03-02T20:22:06Z macdavid313_ joined #lisp 2017-03-02T20:22:31Z nowhere_man quit (Ping timeout: 268 seconds) 2017-03-02T20:23:35Z travv0 joined #lisp 2017-03-02T20:23:57Z Ven quit (Ping timeout: 240 seconds) 2017-03-02T20:24:18Z nowhere_man joined #lisp 2017-03-02T20:24:58Z macdavid313 quit (Ping timeout: 264 seconds) 2017-03-02T20:27:31Z Ven joined #lisp 2017-03-02T20:27:52Z sdsadsdas joined #lisp 2017-03-02T20:27:58Z sdsadsdas quit (Remote host closed the connection) 2017-03-02T20:30:05Z angavrilov quit (Remote host closed the connection) 2017-03-02T20:32:50Z EvW quit (Ping timeout: 256 seconds) 2017-03-02T20:33:03Z sbodin joined #lisp 2017-03-02T20:36:52Z mcrist left #lisp 2017-03-02T20:36:58Z BitPuffin|osx quit (Ping timeout: 264 seconds) 2017-03-02T20:37:50Z devon quit (Ping timeout: 260 seconds) 2017-03-02T20:38:32Z macdavid313_ quit (Ping timeout: 258 seconds) 2017-03-02T20:39:19Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-02T20:42:16Z drmeister: beach: Are you still up? 2017-03-02T20:42:56Z drmeister: Parallelizing cleavir - did you say that once the AST's are generated that they can be compiled in parallel? 2017-03-02T20:43:30Z drmeister: Because Clasp is multiprocessing. 2017-03-02T20:43:30Z hhdave joined #lisp 2017-03-02T20:45:17Z hhdave_ joined #lisp 2017-03-02T20:47:15Z Karl_Dscc quit (Remote host closed the connection) 2017-03-02T20:48:22Z hhdave quit (Ping timeout: 264 seconds) 2017-03-02T20:48:22Z hhdave_ is now known as hhdave 2017-03-02T20:48:36Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-02T20:49:40Z sellout- quit (Read error: Connection reset by peer) 2017-03-02T20:50:00Z sellout- joined #lisp 2017-03-02T20:52:24Z Bike: once all the ASTs are produced the compile time stuff like eval-when is taken care of 2017-03-02T20:57:06Z EvW1 joined #lisp 2017-03-02T20:59:25Z fiddlerwoaroof: akkad: that's news to me :) I've managed to fully use a dual 12-core system with woo 2017-03-02T21:00:13Z fiddlerwoaroof: Read the docs: https://github.com/fukamachi/woo#cluster 2017-03-02T21:00:55Z Bike: which is to say, there's no required ordering any more 2017-03-02T21:01:16Z Bike: it could be nice to have some kind of order for things like inferred function types, but well, there aren't any at the moment 2017-03-02T21:01:20Z prole quit (Remote host closed the connection) 2017-03-02T21:01:47Z drmeister: Will I make life difficult for inferred function types in the future? 2017-03-02T21:01:58Z drmeister: If I parallelize building? 2017-03-02T21:02:15Z drmeister: You know what - this is just for cleavir for now. 2017-03-02T21:02:40Z Bike: it might be more difficult, but parallelized compilation sounds appealing enough that that i'd go for it 2017-03-02T21:03:53Z travv0 quit (Remote host closed the connection) 2017-03-02T21:04:34Z BitPuffin|osx joined #lisp 2017-03-02T21:05:02Z TruePika: ...what 2017-03-02T21:05:37Z TruePika: right now it looks like SBCL _might_ be deleting an "unneeded" local function which is actually needed 2017-03-02T21:05:37Z Bike: um, hi? 2017-03-02T21:05:41Z Bike: oh. 2017-03-02T21:05:47Z TruePika goes over his code to make sure 2017-03-02T21:06:07Z Bike: usually when that sort of thing happens to me i made a typo somewhere. 2017-03-02T21:06:18Z TruePika: hm, the function doesn't appear to be used 2017-03-02T21:06:34Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-02T21:06:35Z TruePika: or wait 2017-03-02T21:06:39Z TruePika: I see the issue 2017-03-02T21:07:04Z TruePika: style-warning about an undefined function F-SCORE 2017-03-02T21:07:17Z TruePika: the function that was unused was F-SCORE (the one that's undefined) 2017-03-02T21:07:31Z TruePika: the function which _is_ used is (SETF F-SCORE) 2017-03-02T21:07:38Z whomasect joined #lisp 2017-03-02T21:07:44Z TruePika: style warning is because there's a (SETF FOO) without (FOO) 2017-03-02T21:08:04Z travv0 joined #lisp 2017-03-02T21:08:29Z Xach_: Hmm, is there a way to expand "~/" in SBCL without using truename? 2017-03-02T21:08:40Z TruePika: (user-home-directory) IIRC 2017-03-02T21:09:20Z TruePika: (user-homedir-pathname) is the actual answer 2017-03-02T21:10:13Z TruePika: and if you need a specific path relative to ~, just make a small change to a common idiom 2017-03-02T21:10:17Z Xach_: TruePika: the actual answer to what? 2017-03-02T21:10:32Z Xach_: TruePika: my question is, given a pathname #p"~/", is there a way to expand it without using truename. 2017-03-02T21:10:37Z TruePika: (load (merge-pathnames "quicklisp/setup.lisp" (user-homedir-pathname))) 2017-03-02T21:11:00Z Xach_: This is a sbcl-specific question. I will try #sbcl next. 2017-03-02T21:11:00Z TruePika: you wouldn't _have_ a pathname #P"~/", I'm pretty sure 2017-03-02T21:11:17Z Xach_: TruePika: Your confidence is inspiring, but misplaced. I do have a pathname like that. 2017-03-02T21:11:19Z TruePika wonders what that gets interpreted as... 2017-03-02T21:11:20Z fiddlerwoaroof: TruePika: I do all the time :) 2017-03-02T21:11:34Z fiddlerwoaroof: Sbcl, at least, knows about ~ in pathname 2017-03-02T21:11:49Z Xach_: Most do. 2017-03-02T21:12:33Z TruePika: are you wanting to translate that #P"~/" to e.g. "/home/Xach_/" ? 2017-03-02T21:12:41Z TruePika: (trying to understand problem 2017-03-02T21:12:55Z Xach_: TruePika: yes. 2017-03-02T21:13:21Z TruePika could have sworn TRUENAME had a sister function... 2017-03-02T21:13:24Z Xach_: I also want to avoid resolving symlinks. 2017-03-02T21:13:32Z Xach_ quit (Changing host) 2017-03-02T21:13:32Z Xach_ joined #lisp 2017-03-02T21:13:40Z pjb: (truename #P"~/") #| --> #P"/Users/pjb/" |# 2017-03-02T21:14:04Z TruePika: PROBE-FILE, that's what I was thinking of 2017-03-02T21:14:22Z TruePika: I'm not sure there's a way to resolve ~ without resolving symlinks 2017-03-02T21:14:37Z fiddlerwoaroof: I suspect you'd want to do this, because you don't want to check if the corresponding file exists 2017-03-02T21:14:41Z phoe_ joined #lisp 2017-03-02T21:14:43Z pjb: TruePika: read /etc/passwd, parse it, and substitute ~ 2017-03-02T21:14:49Z fiddlerwoaroof: which rules out both truename and probe-file 2017-03-02T21:14:49Z Xach_: probe-file uses truenames. 2017-03-02T21:15:16Z TruePika: pjb: I'm meaning without going through the trouble of either that or checking $HOME 2017-03-02T21:15:16Z Xach_: Well, I think I may be out of luck for my purposes. Thanks for discussing. 2017-03-02T21:15:29Z travv0: Does quicklisp cache local projects somewhere? It's loading an older version of a project on my machine and I can't figure out why. 2017-03-02T21:15:45Z TruePika: travv0: ~/.cache/common-lisp/* ? 2017-03-02T21:15:59Z TruePika: (that would be ASDF's fault, in any case) 2017-03-02T21:17:46Z edgar-rft quit (Quit: edgar-rft) 2017-03-02T21:18:13Z travv0: Found it, thanks 2017-03-02T21:18:59Z okflo quit (Remote host closed the connection) 2017-03-02T21:19:14Z TruePika might be able to use F-SCORE to reduce execution time, and get rid of that message 2017-03-02T21:20:41Z fiddlerwoaroof: Xach: (merge-pathname "~") 2017-03-02T21:20:53Z fiddlerwoaroof: Xach: (merge-pathnames "~"), that is 2017-03-02T21:20:55Z TruePika: fiddlerwoaroof: lol, does that actually work? 2017-03-02T21:20:57Z akkad: is there a way to deliver a lisp image like a shared library that can be linked to from C? 2017-03-02T21:21:00Z fiddlerwoaroof: Yep 2017-03-02T21:21:16Z TruePika: ECL 2017-03-02T21:21:30Z pjb: Perhaps you want to set explicitely *default-pathname-defaults* to /something/? 2017-03-02T21:21:46Z fiddlerwoaroof: pjb: probably, this is just a proof of concept :) 2017-03-02T21:22:17Z pjb: Merging "~" you get either: #P"/Users/pjb/" or: #P"/Users/pjb/works/patchwork/src/~" 2017-03-02T21:22:40Z pjb: abcl, ccl, clisp give the former, ecl, sbcl the later. 2017-03-02T21:23:20Z fiddlerwoaroof: Hmm, I misread the output 2017-03-02T21:23:56Z pjb: and (let ((*default-pathname-defaults* #P"/tmp/foo.bar")) (merge-pathnames "~")) gives #P"/Users/pjb/foo.bar" in the first group, and #P"/tmp/~.bar" in the second. 2017-03-02T21:24:36Z pjb: I use #P"~/" for consistent results… "~/" is subject to more interpretation. 2017-03-02T21:24:38Z TruePika: ...okay, what? 2017-03-02T21:24:54Z TruePika: now I have the function used...and still getting style-warning 2017-03-02T21:25:17Z TruePika: oh, I see 2017-03-02T21:25:24Z TruePika: Bike: you were right, typo <_< 2017-03-02T21:25:35Z pjb: Then the only difference is that sbcl prints the short form #P"~/", but otherwise it still means the same as the other implementations. 2017-03-02T21:28:29Z phoe_ drops to sleep after the day 2017-03-02T21:29:36Z travv0` joined #lisp 2017-03-02T21:30:18Z fiddlerwoaroof: Xach_: this actually works (on sbcl) (native-namestring #p"~/") 2017-03-02T21:30:47Z TruePika: wut 2017-03-02T21:30:58Z fiddlerwoaroof: on CCL (namestring #p"~/") works 2017-03-02T21:31:05Z TruePika: I just got a memory fault 2017-03-02T21:31:53Z TruePika: ...I can't be sure what the issue is 2017-03-02T21:32:06Z travv0 quit (Ping timeout: 240 seconds) 2017-03-02T21:32:23Z fiddlerwoaroof: It's usually because you allocated too much memory in the wrong place 2017-03-02T21:32:28Z TruePika proclaims speed 0, debug+safety 3 2017-03-02T21:32:39Z fiddlerwoaroof: One of the joys of using sbcl for memory-intensive things 2017-03-02T21:32:55Z TruePika: this isn't even memory-intensive...yet 2017-03-02T21:33:08Z fiddlerwoaroof: Maybe runaway recursion or the like/ 2017-03-02T21:33:10Z TruePika: looks like there might have been an unsafe optimization 2017-03-02T21:33:18Z TruePika: I'm getting a type error now 2017-03-02T21:33:33Z fiddlerwoaroof: That's possible too, (safety 0) is usually a bad idea, and sometimes it's even slower. 2017-03-02T21:33:52Z Bike: is there, like, a reason for the play by play of debugging 2017-03-02T21:33:59Z TruePika: It would have had to be some sort of implicit (safety 0) 2017-03-02T21:34:10Z TruePika: since I know I didn't set it myself 2017-03-02T21:34:50Z pjb: Some libraries modify the optimization level. Kill them. (or patch them). 2017-03-02T21:36:31Z Riviera joined #lisp 2017-03-02T21:36:47Z TruePika: I _might_ have just gotten the pathfinder working now 2017-03-02T21:37:01Z TruePika verifies path by hand 2017-03-02T21:37:11Z phoe_: TruePika: are you on SBCL? 2017-03-02T21:37:18Z TruePika: phoe_: yeah 2017-03-02T21:37:20Z phoe_: you can restrict the compiler policy with it 2017-03-02T21:37:36Z phoe_: and set safety to 1+ 2017-03-02T21:37:38Z TruePika: I've studied the compiler policy section of the manual 2017-03-02T21:37:58Z phoe_: if you make sure to remove all FASLs, then SBCL will compile with safety 1+. 2017-03-02T21:38:00Z TruePika: I generally keep safety at 3 or the default 2017-03-02T21:38:23Z TruePika: and I'm (load)ing the WIP code so I have source locations 2017-03-02T21:38:56Z fiddlerwoaroof: Don't (load) 2017-03-02T21:38:59Z phoe_ drops asleep 2017-03-02T21:39:04Z phoe_ quit (Quit: leaving) 2017-03-02T21:39:16Z fiddlerwoaroof: (progn (compile-file "foo.lisp") (load "foo.fasl")) is usually a better idea 2017-03-02T21:39:33Z fiddlerwoaroof: For one thing, it'll help you keep track of missing dependencies better 2017-03-02T21:39:38Z hhdave quit (Quit: hhdave) 2017-03-02T21:40:16Z csaurus quit (Ping timeout: 256 seconds) 2017-03-02T21:40:29Z TruePika: I'm okay with just (load)ing after initializing with an ASDF system load 2017-03-02T21:40:43Z fiddlerwoaroof: That's not what I mean 2017-03-02T21:40:57Z fiddlerwoaroof: I've run into trouble in this sort of situation when rearranging my packages and stuff 2017-03-02T21:41:15Z TruePika: if the ASDF build doesn't work and I need more detail, I proclaim debug 3 and (load) the file when I modify it (for source location printing) 2017-03-02T21:41:19Z fiddlerwoaroof: (load) will see the old definitions and not notice that the function you want is now in a new package. Compile-file has to verify that 2017-03-02T21:41:53Z TruePika: the package doesn't change, though 2017-03-02T21:42:37Z TruePika: I keep (in-package) lines in my code, so (load) loads to the correct package 2017-03-02T21:42:40Z fiddlerwoaroof: Another problem has to do with macros: if a macro depends on a function in the same file, (load) can, I think, trick you into thinking your code works :) 2017-03-02T21:43:08Z TruePika: I do know to recompile via ASDF if I need to modify something like that 2017-03-02T21:43:45Z TruePika: when I (load), I'm either reloading the file with source locations and no modifications, or modifying a file which isn't depended on by anything 2017-03-02T21:44:14Z fiddlerwoaroof: In emacs, all you have to do is C-c C-k to recompile the current file and load 2017-03-02T21:44:30Z TruePika: yeah, and Limp is \cl 2017-03-02T21:44:45Z TruePika: (while load is \lf) 2017-03-02T21:45:06Z fiddlerwoaroof: I know from experience that skipping the compile-file step can be painful a couple weeks later when your computer unexpectedly reboots 2017-03-02T21:45:47Z TruePika: I don't want to clean up FASL, and if there's a serious fault, I'll have a core dump unless it transcends the VM 2017-03-02T21:46:59Z TruePika notices that the pathfinder had a plane just do a hard 90 turn on landing... 2017-03-02T21:48:13Z TruePika: that feels all of: unrealistic, something that could happen by accident IRL, and something fun to try in a simulator 2017-03-02T21:49:18Z TruePika: hm, but looking at atc(6) code, it is indeed permitted by the game 2017-03-02T21:49:34Z Bike: sounds like an extremely exciting crosswind landing 2017-03-02T21:49:51Z vtomole joined #lisp 2017-03-02T21:49:54Z TruePika: yeah 2017-03-02T21:50:14Z TruePika: or the aeronautical equivilant to sliding into a parking spot 2017-03-02T21:50:49Z TruePika: (fun fact: there's at least one runway in the world that's wide enough to land a light plane on it perpendicular to the centerline) 2017-03-02T21:52:16Z fiddlerwoaroof: TruePika: compare loading this into a fresh sbcl session vs. compile-file http://paste.lisp.org/+7AN6 2017-03-02T21:52:40Z fiddlerwoaroof: If you load it, foo is defined at macroexpansion time, and main works 2017-03-02T21:52:52Z fiddlerwoaroof: If you compile-file it, foo is undefined at macroexpansion time and main errors 2017-03-02T21:52:57Z TruePika: or wait, nope, I misinterpreted the path generated 2017-03-02T21:53:04Z fiddlerwoaroof: (starting from a new session each time) 2017-03-02T21:53:07Z trn quit (Quit: quit) 2017-03-02T21:53:14Z TruePika: no, it's a hard 90 degree turn just before the touchdown zone 2017-03-02T21:54:40Z |3b| quit (Read error: Connection reset by peer) 2017-03-02T21:55:35Z zymurgy quit (Ping timeout: 258 seconds) 2017-03-02T21:59:45Z |3b| joined #lisp 2017-03-02T22:00:58Z prxq joined #lisp 2017-03-02T22:02:29Z shka_ quit (Ping timeout: 258 seconds) 2017-03-02T22:03:26Z Lord_Nightmare quit (Ping timeout: 240 seconds) 2017-03-02T22:04:46Z wsenn joined #lisp 2017-03-02T22:05:40Z wsenn quit (Client Quit) 2017-03-02T22:07:36Z sbodin quit (Ping timeout: 240 seconds) 2017-03-02T22:07:41Z Xach_: travv0`: (ql:where-is-system "foo") has really helped me find problems in the past 2017-03-02T22:08:53Z Lord_Nightmare joined #lisp 2017-03-02T22:09:44Z hhdave joined #lisp 2017-03-02T22:10:04Z zymurgy joined #lisp 2017-03-02T22:12:19Z hhdave_ joined #lisp 2017-03-02T22:13:16Z trn joined #lisp 2017-03-02T22:14:47Z hhdave quit (Ping timeout: 269 seconds) 2017-03-02T22:14:47Z hhdave_ is now known as hhdave 2017-03-02T22:16:16Z mishoo quit (Ping timeout: 260 seconds) 2017-03-02T22:17:03Z the-blackbeard joined #lisp 2017-03-02T22:18:06Z zymurgy quit (Ping timeout: 240 seconds) 2017-03-02T22:19:22Z hhdave quit (Ping timeout: 256 seconds) 2017-03-02T22:26:04Z hhdave joined #lisp 2017-03-02T22:27:05Z lambda-smith quit (Ping timeout: 268 seconds) 2017-03-02T22:27:57Z troydm quit (Ping timeout: 240 seconds) 2017-03-02T22:28:02Z BlueRavenGT joined #lisp 2017-03-02T22:28:55Z sdsadsdas joined #lisp 2017-03-02T22:30:26Z zymurgy joined #lisp 2017-03-02T22:33:04Z hhdave quit (Read error: Connection reset by peer) 2017-03-02T22:33:10Z sdsadsdas quit (Ping timeout: 246 seconds) 2017-03-02T22:33:26Z kjak___ quit (Quit: leaving) 2017-03-02T22:33:35Z hhdave joined #lisp 2017-03-02T22:36:14Z kjak_ joined #lisp 2017-03-02T22:36:56Z BlueRavenGT quit (Ping timeout: 256 seconds) 2017-03-02T22:37:21Z hhdave quit (Client Quit) 2017-03-02T22:38:32Z John[Lisbeth] joined #lisp 2017-03-02T22:38:37Z John[Lisbeth]: are parentheses s-expressions? 2017-03-02T22:39:10Z nowhere_man joined #lisp 2017-03-02T22:39:59Z troydm joined #lisp 2017-03-02T22:40:37Z sirkmatija_ quit (Quit: sirkmatija_) 2017-03-02T22:42:10Z prxq: John[Lisbeth]: consider "((((" 2017-03-02T22:42:54Z rumbler3_ joined #lisp 2017-03-02T22:43:29Z papachan quit (Quit: Saliendo) 2017-03-02T22:43:32Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-02T22:43:48Z TDT_ joined #lisp 2017-03-02T22:43:55Z rumbler3_ quit (Remote host closed the connection) 2017-03-02T22:44:26Z John[Lisbeth]: parens 2017-03-02T22:45:03Z `0x00` joined #lisp 2017-03-02T22:45:12Z TDT quit (Ping timeout: 260 seconds) 2017-03-02T22:45:12Z TDT_ is now known as TDT 2017-03-02T22:47:13Z BlueRavenGT joined #lisp 2017-03-02T22:48:48Z Sigyn quit (Ping timeout: 1200 seconds) 2017-03-02T22:51:06Z EvW1 quit (Ping timeout: 256 seconds) 2017-03-02T22:54:49Z pjb: John[Lisbeth]: there is no parenthesis in lisp. 2017-03-02T22:55:23Z pjb: John[Lisbeth]: (car '(a b c)) #| --> a |# (cdr (last '(a b c))) #| --> nil |# See? 2017-03-02T22:56:52Z pve quit (Ping timeout: 260 seconds) 2017-03-02T22:57:52Z chu quit (Quit: WeeChat 1.7) 2017-03-02T22:59:56Z yrk joined #lisp 2017-03-02T23:00:30Z chu joined #lisp 2017-03-02T23:00:35Z yrk quit (Changing host) 2017-03-02T23:00:35Z yrk joined #lisp 2017-03-02T23:00:57Z BlueRavenGT quit (Read error: Connection reset by peer) 2017-03-02T23:01:10Z BlueRavenGT joined #lisp 2017-03-02T23:02:21Z John[Lisbeth]: nope 2017-03-02T23:04:49Z milanj quit (Quit: Leaving) 2017-03-02T23:05:11Z shrdlu68 left #lisp 2017-03-02T23:11:27Z attila_lendvai joined #lisp 2017-03-02T23:12:05Z _death: indeed, I see no parentheses here: http://gigamonkeys.com/book/figures/list-1-2-3.png 2017-03-02T23:12:40Z decuser joined #lisp 2017-03-02T23:13:51Z John[Lisbeth]: parentheses are cons cells 2017-03-02T23:14:06Z EvW joined #lisp 2017-03-02T23:15:38Z prxq: John[Lisbeth]: no 2017-03-02T23:15:50Z _death: so are you asking "are cons cells s-expressions?" 2017-03-02T23:16:08Z John[Lisbeth]: no 2017-03-02T23:17:53Z varjag quit (Ping timeout: 260 seconds) 2017-03-02T23:20:51Z decuser quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2017-03-02T23:21:19Z pjb quit (Remote host closed the connection) 2017-03-02T23:23:36Z pjb joined #lisp 2017-03-02T23:23:39Z decuser joined #lisp 2017-03-02T23:25:07Z dpg joined #lisp 2017-03-02T23:32:01Z decuser: \q 2017-03-02T23:33:25Z vtomole quit (Ping timeout: 260 seconds) 2017-03-02T23:34:20Z pjb quit (Remote host closed the connection) 2017-03-02T23:34:44Z atheris_ joined #lisp 2017-03-02T23:36:00Z decuser left #lisp 2017-03-02T23:36:52Z fouric: building on what John[Lisbeth] said earlier, what precisely *are* the differences between forms, s-expressions, and text with parentheses? 2017-03-02T23:37:56Z LiamH quit (Quit: Leaving.) 2017-03-02T23:37:58Z pillton: clhs 3.1.2 2017-03-02T23:37:58Z specbot: The Evaluation Model: http://www.lispworks.com/reference/HyperSpec/Body/03_ab.htm 2017-03-02T23:38:17Z Bike: in the glossary a form is "any object meant to be evaluated" or "a symbol, compound form, or self-evaluating object" which is almost everything 2017-03-02T23:39:29Z Kaisyu joined #lisp 2017-03-02T23:39:44Z vtomole joined #lisp 2017-03-02T23:42:04Z TDT quit (Quit: TDT) 2017-03-02T23:42:08Z decuser joined #lisp 2017-03-02T23:42:26Z decuser: /part-all 2017-03-02T23:42:33Z decuser left #lisp 2017-03-02T23:49:23Z stepnem quit (Ping timeout: 260 seconds) 2017-03-02T23:49:53Z wsenn joined #lisp 2017-03-02T23:50:28Z wsenn left #lisp 2017-03-02T23:52:31Z prole joined #lisp 2017-03-03T00:02:27Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-03T00:03:37Z gingerale quit (Read error: Connection reset by peer) 2017-03-03T00:05:36Z Sigyn joined #lisp 2017-03-03T00:06:26Z cromachina joined #lisp 2017-03-03T00:15:29Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-03T00:18:22Z rlatimore quit (Ping timeout: 256 seconds) 2017-03-03T00:20:10Z prxq quit (Remote host closed the connection) 2017-03-03T00:21:03Z fluxit joined #lisp 2017-03-03T00:24:33Z sellout- quit (Quit: Leaving.) 2017-03-03T00:27:54Z kini joined #lisp 2017-03-03T00:29:16Z BlueRavenGT quit (Ping timeout: 260 seconds) 2017-03-03T00:29:24Z travv0`: Xach_: Thanks, I'm sure that'll come in handy in the future. 2017-03-03T00:29:57Z sdsadsdas joined #lisp 2017-03-03T00:30:24Z prole quit (Remote host closed the connection) 2017-03-03T00:34:24Z sdsadsdas quit (Ping timeout: 260 seconds) 2017-03-03T00:36:34Z smokeink joined #lisp 2017-03-03T00:36:53Z wildlander quit (Quit: Saliendo) 2017-03-03T00:37:36Z RedEight quit (Quit: leaving) 2017-03-03T00:38:51Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-03T00:41:58Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-03T00:43:06Z EvW quit (Ping timeout: 258 seconds) 2017-03-03T00:43:18Z jamtho joined #lisp 2017-03-03T00:44:26Z rumbler31 joined #lisp 2017-03-03T00:48:32Z reinuseslisp joined #lisp 2017-03-03T00:48:58Z rumbler31 quit (Ping timeout: 256 seconds) 2017-03-03T01:01:04Z jiacobucci joined #lisp 2017-03-03T01:01:15Z fiddlerwoaroof: Does sly have any advantages over slime? 2017-03-03T01:02:47Z harlequin78[m] quit (Ping timeout: 252 seconds) 2017-03-03T01:03:06Z RichardPaulBck[m quit (Ping timeout: 240 seconds) 2017-03-03T01:03:08Z thorondor[m] quit (Ping timeout: 240 seconds) 2017-03-03T01:03:08Z M-Illandan quit (Ping timeout: 240 seconds) 2017-03-03T01:03:20Z M-herah quit (Ping timeout: 245 seconds) 2017-03-03T01:07:11Z harlequin78[m] joined #lisp 2017-03-03T01:07:46Z jiacobucci quit (Remote host closed the connection) 2017-03-03T01:07:51Z M-herah joined #lisp 2017-03-03T01:09:12Z shifty joined #lisp 2017-03-03T01:10:39Z thorondor[m] joined #lisp 2017-03-03T01:11:42Z FreeBirdLjj joined #lisp 2017-03-03T01:15:55Z RichardPaulBck[m joined #lisp 2017-03-03T01:15:57Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-03T01:16:54Z M-Illandan joined #lisp 2017-03-03T01:21:04Z cibs quit (Ping timeout: 260 seconds) 2017-03-03T01:22:34Z cibs joined #lisp 2017-03-03T01:24:33Z PuercoPop: fiddlerwoaroof: sly-stickers 2017-03-03T01:25:17Z PuercoPop: it doesn't have presentations thought, but it has a #v notation to refer to values returned in the repl 2017-03-03T01:25:35Z reinuseslisp quit (Ping timeout: 240 seconds) 2017-03-03T01:27:10Z decuser joined #lisp 2017-03-03T01:28:29Z eschatologist quit (Quit: ZNC 1.6.3+deb2 - http://znc.in) 2017-03-03T01:28:53Z decuser: I am using sbcl 1.3.14. how can I tell if (load "file") loads a fasl or a lisp? 2017-03-03T01:30:09Z eschatologist joined #lisp 2017-03-03T01:33:19Z `0x00` quit (Ping timeout: 268 seconds) 2017-03-03T01:34:20Z arescorpio joined #lisp 2017-03-03T01:34:27Z rumbler31 joined #lisp 2017-03-03T01:34:53Z Bike: i think it will load a fasl preferentially. 2017-03-03T01:36:13Z decuser: bike: ok. I see that if I make an edit to a file, it will prompt which to load the compiled or the script. I'm wondering if there is a way to ask sbcl if a function is loaded from a compiled file or a script (maybe it doesn't matter?) 2017-03-03T01:36:52Z Bike: sbcl compiles almost everything, usually. you can use compiled-function-p to see if a function is compiled or interpreted. 2017-03-03T01:37:22Z decuser: ah, that'll work. 2017-03-03T01:37:29Z Bike: but compiled and interpreted functions should be mostly identical, in any implementation. the differences are pretty subtle, other than efficiency. 2017-03-03T01:38:33Z decuser: i'm working through shapiro's book and it asks a lot of implementation specific questions (good thing, but challenging for a lisp newbie like me). 2017-03-03T01:38:40Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-03T01:38:44Z jamtho quit (Quit: Leaving) 2017-03-03T01:39:31Z Bike: you were asked to figure out whether a function has been compiled? 2017-03-03T01:40:00Z `0x00` joined #lisp 2017-03-03T01:41:09Z decuser: yup :). It's a really, really good book for me. But, it asks questions like - how does your implementation let you display lambda arguments in the debugger and suchlike. Most of them are answerable, but some are pretty challenging. 2017-03-03T01:41:47Z decuser: in the process of figuring them out though, you learn a lot about your environment and lisp! 2017-03-03T01:42:05Z Bike: as it happens compiled-function-p is standard, not sbcl specific 2017-03-03T01:44:12Z drmeister: Wouldn't find-class and (setf (find-class ...) ...) need to be protected by a lock? I don't see anything in the ECL code to suggest that it is. 2017-03-03T01:44:40Z drmeister is disturbed by the lack of locks 2017-03-03T01:45:07Z Bike: how are class names associated with classes? hash table? maybe hash table accesses are pseudoatomic 2017-03-03T01:46:03Z manuel_ quit (Quit: manuel_) 2017-03-03T01:46:53Z wheelsucker joined #lisp 2017-03-03T01:48:40Z hvxgr quit (Quit: leaving) 2017-03-03T01:48:52Z hvxgr joined #lisp 2017-03-03T01:49:04Z drmeister: Yes, it's a hash table 2017-03-03T01:49:30Z Bike: several implementations have intrinsic locks for hash table accesses 2017-03-03T01:50:43Z decuser: well, that's interesting. compiled-function-p returns T whether I load a compiled file or a lisp file. This begs the question, is there a difference between having a match.fasl or a match.lisp file on hand at least as far as load is concerned, or does it compile the functions found therein regardless? 2017-03-03T01:51:05Z Bike: like i said, sbcl compiles basically everything. other implementations don't 2017-03-03T01:51:43Z Bike: load has ssomewhat different semantics for source and compiled files, but it is, again, subtle. your book might have some stuff on the messiness of eval-when 2017-03-03T01:51:59Z decuser: ok, that makes sense and explains why the author would think it's interesting enough to write a quiestion about it. 2017-03-03T01:52:39Z Bike: the semantics of common lisp are designed to minimize semantic differences between interpreted and compiled functions. because if they were different it would be pretty confusing for no reason 2017-03-03T01:53:22Z drmeister: Sheesh - all day I'm lamenting the lack of documentation for using the Boehm GC with threads and just now I realized that there is an application that uses Boehm and threads that I am intimately familiar with: ECL 2017-03-03T01:54:07Z decuser: right. I get it now. Minor point, but it was bugging me and I thought I'd ask. I'll save up the nuances for down the road! 2017-03-03T01:54:37Z FreeBirdLjj joined #lisp 2017-03-03T01:55:08Z Bike: compilation semantics will be important for you later, likely 2017-03-03T01:58:47Z drmeister: decuser: In clasp (a new CL implementation), LOAD behaves differently depending at what stage of bootstrapping you use it. 2017-03-03T01:59:21Z drmeister: In the early stage it loads the source code as S-expressions and creates functions that are interpreted by walking the s-exps. 2017-03-03T01:59:36Z decuser quit (Quit: rcirc on GNU Emacs 25.1.1) 2017-03-03T01:59:36Z drmeister: Later it compiles every top-level form as they are loaded. 2017-03-03T02:03:34Z trocado quit (Remote host closed the connection) 2017-03-03T02:06:37Z jameser joined #lisp 2017-03-03T02:09:05Z travv0` quit (Ping timeout: 268 seconds) 2017-03-03T02:09:47Z `0x00` quit (Read error: Connection reset by peer) 2017-03-03T02:10:39Z drmeister: I seem to be blowing the stack in a C++ std::thread when I try to do something fancy like COMPILE-FILE in a thread. 2017-03-03T02:11:13Z drmeister: Also, I don't see any locks in ECL hash-tables - I must be missing something 2017-03-03T02:12:32Z drmeister: ::notify jackdaniel Does ECL protect the si::*class-name-hash-table* hash table somehow in multi-threaded operation? What prevents multiple threads from creating classes and trampling this data structure? 2017-03-03T02:12:32Z Colleen: drmeister: Got it. I'll let jackdaniel know as soon as possible. 2017-03-03T02:13:37Z fiddlerwoaroof: I wonder how *evaluator-mode* and (load) interact in sbcl 2017-03-03T02:13:59Z fiddlerwoaroof: I'd sort of assume that (load) with *evaluator-mode* set to :interpret would generated non-compiled functions 2017-03-03T02:14:42Z fiddlerwoaroof: Yes, it does 2017-03-03T02:16:29Z rumbler31 joined #lisp 2017-03-03T02:16:33Z drmeister: What do non-compiled functions in sbcl look like? 2017-03-03T02:16:41Z mejja quit (Quit: \ No newline at end of file) 2017-03-03T02:16:47Z fiddlerwoaroof: Not exactly sure 2017-03-03T02:17:28Z fiddlerwoaroof: they're representation is # 2017-03-03T02:17:37Z fiddlerwoaroof: s/y'/i/ 2017-03-03T02:18:35Z drmeister: Argh - std::thread's only have 512K stacks. 2017-03-03T02:18:58Z drmeister: There go my dreams of parallel Clasp builds. 2017-03-03T02:19:25Z `0x00` joined #lisp 2017-03-03T02:20:41Z hvxgr quit (Quit: leaving) 2017-03-03T02:20:42Z linoge joined #lisp 2017-03-03T02:20:57Z hvxgr joined #lisp 2017-03-03T02:21:37Z cromachina: do you -have- to use std::thread? 2017-03-03T02:22:55Z Bike: fiddlerwoaroof: i think load on a source file pretty much just calls eval repeatedly 2017-03-03T02:25:19Z decuser joined #lisp 2017-03-03T02:25:39Z decuser quit (Client Quit) 2017-03-03T02:25:39Z fiddlerwoaroof: Yeah, that was my intuition 2017-03-03T02:26:01Z decuser joined #lisp 2017-03-03T02:28:28Z drmeister: std::thread is convenient and from what I read it works well with the other C++ threading classes. 2017-03-03T02:29:21Z drmeister: I started implementing threads yesterday and thought - oh C++11 has all sorts of convenient thread and related classes - I'll use those. 2017-03-03T02:29:25Z jack_rabbit joined #lisp 2017-03-03T02:29:39Z drmeister: Then I start using them and only then do the shortcomings become apparent,. 2017-03-03T02:30:32Z sdsadsdas joined #lisp 2017-03-03T02:31:32Z BitPuffin|osx quit (Ping timeout: 260 seconds) 2017-03-03T02:32:28Z cibs quit (Ping timeout: 260 seconds) 2017-03-03T02:34:22Z cibs joined #lisp 2017-03-03T02:34:25Z drmeister: Anyway, I didn't add threads to speed up building - I added them for Hunchentoot - 2017-03-03T02:34:33Z drmeister: gotta get back on the path. 2017-03-03T02:35:36Z sdsadsdas quit (Ping timeout: 268 seconds) 2017-03-03T02:36:20Z Jesin quit (Quit: Leaving) 2017-03-03T02:37:03Z hvxgr quit (Quit: leaving) 2017-03-03T02:37:20Z hvxgr joined #lisp 2017-03-03T02:39:32Z Jesin joined #lisp 2017-03-03T02:41:54Z sellout- joined #lisp 2017-03-03T02:42:06Z decuser left #lisp 2017-03-03T02:42:48Z nicdev` is now known as nicdev 2017-03-03T02:44:30Z MrWoohoo joined #lisp 2017-03-03T02:44:47Z nowhere_man joined #lisp 2017-03-03T02:46:07Z the-blackbeard quit (Quit: Leaving) 2017-03-03T02:49:01Z hvxgr quit (Quit: leaving) 2017-03-03T02:50:22Z atheris_ quit (Ping timeout: 258 seconds) 2017-03-03T02:50:30Z hvxgr joined #lisp 2017-03-03T02:57:37Z safe joined #lisp 2017-03-03T02:58:26Z quazimodo joined #lisp 2017-03-03T02:58:49Z wheelsucker quit (Ping timeout: 246 seconds) 2017-03-03T02:59:13Z ebrasca joined #lisp 2017-03-03T02:59:40Z ebrasca is now known as ebrasca-afk 2017-03-03T03:13:35Z cibs quit (Ping timeout: 240 seconds) 2017-03-03T03:15:45Z cibs joined #lisp 2017-03-03T03:15:59Z jealousmonk joined #lisp 2017-03-03T03:21:14Z linoge quit (Ping timeout: 268 seconds) 2017-03-03T03:27:22Z FreeBird_ joined #lisp 2017-03-03T03:28:00Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2017-03-03T03:30:47Z smokeink quit (Quit: Lost terminal) 2017-03-03T03:31:13Z smokeink joined #lisp 2017-03-03T03:32:22Z jiacobucci joined #lisp 2017-03-03T03:32:46Z shdeng joined #lisp 2017-03-03T03:32:46Z arescorpio quit (Ping timeout: 246 seconds) 2017-03-03T03:40:06Z tmtwd joined #lisp 2017-03-03T03:40:08Z dpg quit (Remote host closed the connection) 2017-03-03T03:48:22Z oleo quit (Read error: Connection reset by peer) 2017-03-03T03:58:15Z neuronsong joined #lisp 2017-03-03T03:58:17Z neuronsong quit (Client Quit) 2017-03-03T04:00:48Z vtomole_ joined #lisp 2017-03-03T04:09:37Z lambda-smith joined #lisp 2017-03-03T04:11:41Z `0x00` quit (Quit: leaving) 2017-03-03T04:12:34Z u0_a61 joined #lisp 2017-03-03T04:12:41Z u0_a61 is now known as `0x00` 2017-03-03T04:13:04Z FreeBird_ quit (Remote host closed the connection) 2017-03-03T04:14:02Z `0x00` quit (Client Quit) 2017-03-03T04:16:21Z `0x00` joined #lisp 2017-03-03T04:17:09Z safe quit (Read error: Connection reset by peer) 2017-03-03T04:17:20Z `0x00` quit (Client Quit) 2017-03-03T04:19:49Z `0x00` joined #lisp 2017-03-03T04:21:36Z rumbler31 quit (Remote host closed the connection) 2017-03-03T04:21:41Z lambda-smith quit (Quit: Konversation terminated!) 2017-03-03T04:22:48Z `0x00` quit (Client Quit) 2017-03-03T04:23:50Z `0x00` joined #lisp 2017-03-03T04:24:07Z `0x00` quit (Client Quit) 2017-03-03T04:25:49Z `0x00` joined #lisp 2017-03-03T04:28:37Z JuanDaugherty joined #lisp 2017-03-03T04:31:37Z sdsadsdas joined #lisp 2017-03-03T04:35:04Z eazar001 quit (Quit: WeeChat 1.7) 2017-03-03T04:36:05Z sdsadsdas quit (Ping timeout: 240 seconds) 2017-03-03T04:37:40Z akkad quit (Excess Flood) 2017-03-03T04:39:37Z vtomole__ joined #lisp 2017-03-03T04:40:49Z vtomole_ quit (Ping timeout: 260 seconds) 2017-03-03T04:45:32Z akkad joined #lisp 2017-03-03T04:51:20Z vtomole__ quit (Ping timeout: 260 seconds) 2017-03-03T04:54:53Z FreeBirdLjj joined #lisp 2017-03-03T04:55:42Z jealousmonk quit (Quit: Leaving) 2017-03-03T04:56:21Z wtetzner joined #lisp 2017-03-03T04:56:29Z atheris_ joined #lisp 2017-03-03T04:56:33Z sdsadsdas joined #lisp 2017-03-03T04:59:28Z oleo joined #lisp 2017-03-03T05:04:07Z mwsb joined #lisp 2017-03-03T05:05:12Z travv0` joined #lisp 2017-03-03T05:05:46Z chu quit (Ping timeout: 264 seconds) 2017-03-03T05:09:05Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-03T05:09:35Z travv0` quit (Ping timeout: 240 seconds) 2017-03-03T05:12:50Z beach: Good morning everyone! 2017-03-03T05:13:06Z pillton: G'day beach. 2017-03-03T05:16:25Z malice` quit (Ping timeout: 260 seconds) 2017-03-03T05:16:44Z drewc quit (Ping timeout: 260 seconds) 2017-03-03T05:16:57Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-03T05:22:24Z vtomole_ joined #lisp 2017-03-03T05:22:40Z qwerty joined #lisp 2017-03-03T05:23:03Z qwerty is now known as Guest20090 2017-03-03T05:25:10Z Guest20090 left #lisp 2017-03-03T05:26:34Z FreeBirdLjj joined #lisp 2017-03-03T05:27:29Z vtomole_ quit (Ping timeout: 260 seconds) 2017-03-03T05:28:02Z rjid joined #lisp 2017-03-03T05:30:52Z mwsb is now known as chuuu 2017-03-03T05:30:55Z chuuu is now known as chu 2017-03-03T05:32:10Z sirkmatija_ joined #lisp 2017-03-03T05:32:35Z wtetzner quit (Remote host closed the connection) 2017-03-03T05:33:47Z wtetzner joined #lisp 2017-03-03T05:35:12Z apertus joined #lisp 2017-03-03T05:35:53Z drewc joined #lisp 2017-03-03T05:42:47Z wtetzner quit (Remote host closed the connection) 2017-03-03T05:44:08Z quazimodo joined #lisp 2017-03-03T05:44:24Z reinuseslisp joined #lisp 2017-03-03T05:46:04Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-03T05:47:07Z sdsadsdas quit (Remote host closed the connection) 2017-03-03T05:50:00Z shka_ joined #lisp 2017-03-03T05:51:33Z pjb joined #lisp 2017-03-03T05:54:22Z akkad quit (Excess Flood) 2017-03-03T05:54:54Z apertus left #lisp 2017-03-03T05:55:12Z eazar001 joined #lisp 2017-03-03T05:57:22Z defaultxr quit (Ping timeout: 264 seconds) 2017-03-03T05:58:11Z sdsadsdas joined #lisp 2017-03-03T06:00:03Z akkad joined #lisp 2017-03-03T06:04:51Z sdsadsdas quit (Remote host closed the connection) 2017-03-03T06:05:14Z dec0n joined #lisp 2017-03-03T06:12:44Z krwq joined #lisp 2017-03-03T06:14:21Z krwq: hello, do you know any libraries which can create symbolic link to a directory? i have tried osicat but it shows me error when i try to use it on a directory 2017-03-03T06:19:36Z reinuseslisp: temporarily you can use asdf:run-shell-command 2017-03-03T06:20:14Z TDT joined #lisp 2017-03-03T06:21:47Z wheelsucker joined #lisp 2017-03-03T06:24:55Z GGMethos quit (Quit: WeeChat 1.4) 2017-03-03T06:32:06Z krwq: reinuseslisp: sounds good for now i guess - thanks! 2017-03-03T06:32:59Z GGMethos joined #lisp 2017-03-03T06:33:30Z krwq: btw - does using optima for making lisp file modifications make sense? 2017-03-03T06:34:52Z beach: What is "optima"? 2017-03-03T06:35:21Z krwq: pattern matching library 2017-03-03T06:35:58Z wheelsucker quit (Ping timeout: 260 seconds) 2017-03-03T06:36:01Z beach: How and why would you use a pattern-matching library to modify Lisp files? 2017-03-03T06:36:20Z mishoo joined #lisp 2017-03-03T06:37:22Z krwq: basically for each sexp in a file you do pattern matching to find something and replace that with something else 2017-03-03T06:37:30Z krwq: and then you save file 2017-03-03T06:38:36Z beach: krwq: You would have to take other things into account such as packages, the roles of symbols (global functions, local functions, special variables, lexical variables), indentation, spacing, etc. 2017-03-03T06:39:33Z krwq: beach: indentation - i do not care - id rather have a file always reformatted on each change and never have any custom settings - rather general rules 2017-03-03T06:40:18Z krwq: beach: packages i'd rather use macro instead of refactoring code like that 2017-03-03T06:41:08Z krwq: beach: i was thinking about i.e. your asd file, if you create a model around that then you could modify it with stuff like (package-add-file ...) which would modify your asd file 2017-03-03T06:41:39Z krwq: it could find a right file on disk and change the file 2017-03-03T06:41:46Z krwq: i dont ever have to touch that file again 2017-03-03T06:42:52Z flip214: krwq: I guess it would be easier to use the lisp reader directly. 2017-03-03T06:42:57Z krwq: i already have parts of that - i.e. like creating project and adding files for simple cases (doesnt work with modules yet) and will also open files in emacs if connected with swank 2017-03-03T06:43:12Z krwq: flip214: expand idea 2017-03-03T06:43:19Z flip214: you'd only need to define ";" and "#" to keep data instead of processing it 2017-03-03T06:43:32Z flip214: and there are a few other examples for that already 2017-03-03T06:44:06Z beach: krwq: I am notorious for having a hard time understanding what people try to say here on IRC, so I am not following you. What do you mean by "refactoring code like that", and how would the use of a macro fix the package problem? 2017-03-03T06:44:34Z krwq: beach: you don't fix a package, you create an alternative way to define it 2017-03-03T06:45:08Z flip214: ie. use lisp's (READ) to get the AST, and to keep comments and reader conditionals etc. you'll need to modify the readtable a bit 2017-03-03T06:45:34Z beach: krwq: What I meant by "taking packages into account" is that in a file, the role of a symbol depends on which package it is in. Unless your pattern-matching library knows what package a symbol is in, it won't be able to determine whether some expression matches or not. 2017-03-03T06:45:36Z flip214: TBH, I believe that you're trying to create a meta-lisp-language, which isn't that interesting, because lisp is already as meta as possible ;) 2017-03-03T06:45:58Z karswell quit (Ping timeout: 246 seconds) 2017-03-03T06:47:01Z krwq: flip214: is there some way to manage lisp projects there already? 2017-03-03T06:47:18Z krwq: flip214: something which integrates with emacs? 2017-03-03T06:49:01Z krwq: i wish emacs was simply saving what functions were called when creating macros and not keys pressed 2017-03-03T06:55:16Z schaueho joined #lisp 2017-03-03T07:00:50Z vtomole quit (Ping timeout: 260 seconds) 2017-03-03T07:07:02Z pjb: krwq: you can just edit emacs lisp commands, in files named .el 2017-03-03T07:07:50Z krwq: pjb: i know but it is annoying to write code when it could possibly generated from keystrokes 2017-03-03T07:08:10Z pjb: krwq: (defun my-emacs-macro () (interactive) "<-- important" (beginning-of-line) (insert "(") (end-of-line) (insert ")")) 2017-03-03T07:08:16Z pjb: krwq: M-x my-emacs-macro RET 2017-03-03T07:08:33Z pjb: krwq: I find it much easier. 2017-03-03T07:09:06Z krwq: pjb: if you remember all the functions names then yes - i got pretty bad memory and takes me a while to figure out how to function is called 2017-03-03T07:09:38Z TDT quit (Quit: TDT) 2017-03-03T07:09:46Z krwq: pjb: i mean it's vs C-h k i guess lol 2017-03-03T07:10:23Z krwq: but you gotta do it for each command separately and then copy from the new window etc 2017-03-03T07:11:32Z shka_ quit (Ping timeout: 260 seconds) 2017-03-03T07:12:34Z pjb: krwq: there's something that could help, I have a echo-key feature that displays all the keychods you type in a side window, along withe corresponding command. 2017-03-03T07:13:08Z pjb: You could have a look to learn how you could write a command to transform what you type into a function calling the commands direclty. 2017-03-03T07:13:12Z pjb: pjb-echo-key.el 2017-03-03T07:13:29Z pjb: https://github.com/informatimago/emacs/blob/master/pjb-echo-keys.el 2017-03-03T07:14:03Z krwq: pjb: i know you probably got good intentions but i kinda started thinking about what i was doing 10 years ago: "hey i got this piece of code for you to run - just type this and you are good" (keylogger installed) 2017-03-03T07:14:28Z pjb: This is SOURCE code! 2017-03-03T07:15:05Z pjb: Otherwise, I wonder what you're doing on irc, or connected to the internet in general. 2017-03-03T07:15:17Z krwq: pjb: i know but if you don't read the source code then there literally can be anything 2017-03-03T07:15:27Z pjb: You should remove all your peripherals, even microphones can be used to feed your computer malware. 2017-03-03T07:15:38Z loke: krwq: Right, but if that's the case, how could you run _anything_? 2017-03-03T07:15:43Z pjb: I didn't even told you to use it, but to study it! 2017-03-03T07:16:05Z loke says that, even as someone who is inherently paranoid and uses Qubes OS as my go-to- operating system. 2017-03-03T07:17:53Z krwq: loke: who could technically put something like: (start-program "rm -rf ~/") somewhere - pjb - i know you didn't but just thinking about how many .el files i have right now which i havent read 2017-03-03T07:18:05Z krwq: s/who/you 2017-03-03T07:20:25Z krwq: pjb: it's not on melpa by any chance? (that usually makes it twice safer in my head) 2017-03-03T07:21:15Z krwq: sorry got security paranoia now 2017-03-03T07:21:33Z krwq: pjb: thanks for the sample 2017-03-03T07:21:36Z stepnem joined #lisp 2017-03-03T07:24:59Z loke: krwq: Of course. 2017-03-03T07:25:19Z loke: krwq: I deal with that by running my Emacs development in a separate Qube. 2017-03-03T07:26:08Z krwq: loke: does it have separate file system? 2017-03-03T07:26:29Z beach: krwq: So here is an example of the problem I am talking about. But I am sure that you will tell me that this case doesn't apply to you, but anyway: Suppose you want to change all the calls to the function named view in the package P so that has an additional argument, say NIL as the first argument to make things simple. Now suppose you see the code (let ((bla (view x)) (view x) ...) ...). Do you change that to (let ((bla (view nil 2017-03-03T07:26:29Z beach: x)) (view nil x) ...) ...)? 2017-03-03T07:27:01Z loke: krwq: separate from what? 2017-03-03T07:27:35Z krwq: loke: from your main one - does your emacs not have access to your file system? 2017-03-03T07:27:59Z beach: krwq: Or do you just change it to (let ((bla (view nil x)) (view x) ...) ...) because you know that the second occurrence VIEW is a binding and not a call? But wait, what if the let was wrapped like this: (flet ((view (x))) (let ((bla (view...? 2017-03-03T07:28:01Z loke: krwq: What do you mean by "my filesystem 2017-03-03T07:28:03Z loke: " 2017-03-03T07:28:04Z loke: ? 2017-03-03T07:28:13Z beach: krwq: Then you shouldn't change it. 2017-03-03T07:28:59Z beach: krwq: Or suppose the package of your file shadows the symbol VIEW. Do you detect that with pattern matching? 2017-03-03T07:29:02Z loke: krwq: In Qubes OS, each qube has its own filesystem hierarchy, and copying between them requires explicit confirmation from the user. 2017-03-03T07:29:16Z krwq: loke: i do not know qube 2017-03-03T07:29:25Z loke: krwq: You should. It's awesome. 2017-03-03T07:29:37Z krwq: loke: looking into it right now 2017-03-03T07:30:16Z krwq: beach: most of the files start with (in-package so it is easy to infer the package 2017-03-03T07:30:24Z flamebeard joined #lisp 2017-03-03T07:31:39Z krwq: dang i was gonna start working on a project today but went around 3-4 levels down with annoying issues 2017-03-03T07:31:43Z beach: krwq: As I said, you probably have an argument for each of my problems, so I am sure that pattern matching will work just fine for you. 2017-03-03T07:32:42Z rjid: a programming language is not like a text corpus 2017-03-03T07:32:49Z beach: krwq: I am sure you will never use the name of an imported symbol in a LET binding or as the name of a function bound in FLET. 2017-03-03T07:33:55Z beach: krwq: I was pointing out these problems just in case you consider your idea of pattern matching generally applicable, as opposed to just your use case. 2017-03-03T07:34:20Z beach: ... and for the purpose of other #lisp participants who might want to have this information. 2017-03-03T07:34:24Z krwq: beach: i'd rather have heuristic based algorithm working 95% of the cases than doing everything by hand 2017-03-03T07:35:45Z krwq: with hands i can usually get not more than 80% accuracy 2017-03-03T07:36:08Z Karl_Dscc joined #lisp 2017-03-03T07:36:39Z rjid: to which algorithm are you referring? 2017-03-03T07:37:27Z krwq: rjid: refactoring code 2017-03-03T07:37:41Z krwq: with pattern matching 2017-03-03T07:37:46Z krwq: from optima i.e 2017-03-03T07:38:13Z reinuseslisp quit (Quit: Leaving) 2017-03-03T07:39:58Z cibs quit (Ping timeout: 264 seconds) 2017-03-03T07:41:50Z cibs joined #lisp 2017-03-03T07:48:21Z megalography joined #lisp 2017-03-03T07:48:31Z angavrilov joined #lisp 2017-03-03T07:50:03Z schaueho quit (Ping timeout: 260 seconds) 2017-03-03T08:00:52Z nowhere_man quit (Ping timeout: 258 seconds) 2017-03-03T08:03:58Z sdsadsdas joined #lisp 2017-03-03T08:05:28Z fewspider joined #lisp 2017-03-03T08:05:58Z nirved joined #lisp 2017-03-03T08:06:06Z FreeBird_ joined #lisp 2017-03-03T08:06:49Z manuel_ joined #lisp 2017-03-03T08:09:22Z FreeBirdLjj quit (Ping timeout: 264 seconds) 2017-03-03T08:10:02Z fewspider quit 2017-03-03T08:10:20Z sdsadsdas quit (Remote host closed the connection) 2017-03-03T08:10:58Z FreeBird_ quit (Ping timeout: 256 seconds) 2017-03-03T08:13:52Z o1e9 joined #lisp 2017-03-03T08:14:25Z thorondor[m] quit (Remote host closed the connection) 2017-03-03T08:14:26Z M-Illandan quit (Remote host closed the connection) 2017-03-03T08:14:27Z harlequin78[m] quit (Read error: Connection reset by peer) 2017-03-03T08:14:27Z M-herah quit (Read error: Connection reset by peer) 2017-03-03T08:14:27Z RichardPaulBck[m quit (Read error: Connection reset by peer) 2017-03-03T08:15:46Z FreeBirdLjj joined #lisp 2017-03-03T08:18:54Z sdsadsdas joined #lisp 2017-03-03T08:25:39Z Karl_Dscc quit (Remote host closed the connection) 2017-03-03T08:26:51Z arduo quit (Remote host closed the connection) 2017-03-03T08:27:10Z rjid quit (Ping timeout: 260 seconds) 2017-03-03T08:30:18Z thorondor[m] joined #lisp 2017-03-03T08:37:28Z Sigyn quit (Quit: Can we drop the ‘artificial intelligence’? It’s a bit like me calling you a meat-based processing system.) 2017-03-03T08:38:07Z Sigyn joined #lisp 2017-03-03T08:40:12Z jealousmonk joined #lisp 2017-03-03T08:41:56Z akkad quit (Excess Flood) 2017-03-03T08:42:26Z test1600 joined #lisp 2017-03-03T08:45:28Z fiddlerwoaroof: krwq: in my experience, writing code to do refactoring is generally a waste of time, compared to using paredit and keyboard macros 2017-03-03T08:46:19Z fiddlerwoaroof: I can generally work out a complex transformation much more quickly by recording one sample as a keyboard macro and then repeating it on the relevant lines. 2017-03-03T08:46:41Z fiddlerwoaroof: Anyways, I'm off to sleep, have funne 2017-03-03T08:47:12Z fiddlerwoaroof: s/ne$// 2017-03-03T08:47:17Z krwq: fiddlerwoaroof: actually that's a good idea - how do you switch between files to do everything in example in the whole directory? 2017-03-03T08:48:08Z akkad joined #lisp 2017-03-03T08:48:13Z fiddlerwoaroof: It depends on how sophisticated you want your setup to be. I generally just use helm's fuzzy finder to find the next file to work on 2017-03-03T08:48:28Z krwq: helm fuzzy finder? 2017-03-03T08:48:33Z krwq: never heard of 2017-03-03T08:48:39Z krwq: i use ido 2017-03-03T08:49:00Z fiddlerwoaroof: it's helm's file finder 2017-03-03T08:49:18Z fiddlerwoaroof: it integrates with projectile and has some fuzzy search capabilities that make life easy 2017-03-03T08:49:26Z fiddlerwoaroof: ido can probably do everything just as well. 2017-03-03T08:50:02Z krwq: projectile? 2017-03-03T08:50:11Z krwq: gotta learn 2017-03-03T08:50:13Z krwq: both 2017-03-03T08:50:29Z fiddlerwoaroof: It's a project management extension, I don't know if it's the best out there, but it works for me 2017-03-03T08:51:04Z ryanbw still uses iswitchb-buffer for buffer switching, for some reason 2017-03-03T08:51:37Z fiddlerwoaroof: I use evil-mode, so I have " f" open a file finder and " b" open a buffer list (in the emulated vim normal mode) and then I have a bunch of similar keys for juggling parentheses 2017-03-03T08:53:57Z akkad quit (Excess Flood) 2017-03-03T08:54:02Z quazimodo quit (Ping timeout: 256 seconds) 2017-03-03T08:54:25Z harlequin78[m] joined #lisp 2017-03-03T08:54:25Z M-Illandan joined #lisp 2017-03-03T08:54:25Z RichardPaulBck[m joined #lisp 2017-03-03T08:54:25Z M-herah joined #lisp 2017-03-03T08:55:34Z fiddlerwoaroof: Here's my .emacs if you want to see all the gory details, I find the paredit keybindings particularly comfortable: http://paste.lisp.org/+7AOB 2017-03-03T08:55:45Z fiddlerwoaroof: But, I'm a recent convert from vim 2017-03-03T08:58:08Z akkad joined #lisp 2017-03-03T09:01:03Z antoszka: fiddlerwoaroof: Try spacemacs for best of both :) 2017-03-03T09:01:17Z bharat joined #lisp 2017-03-03T09:02:14Z phoe_ joined #lisp 2017-03-03T09:02:21Z fiddlerwoaroof: Spacemacs just feels wrong 2017-03-03T09:03:08Z fiddlerwoaroof: I tried it a bit and decided that just a thin set of configurations on top of evil-mode, paredit and a couple other plugins was all I needed 2017-03-03T09:03:25Z hhdave joined #lisp 2017-03-03T09:13:57Z schjetne quit (Ping timeout: 240 seconds) 2017-03-03T09:18:44Z [X-Scale] joined #lisp 2017-03-03T09:20:48Z X-Scale quit (Ping timeout: 260 seconds) 2017-03-03T09:20:49Z [X-Scale] is now known as X-Scale 2017-03-03T09:23:09Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-03T09:23:38Z FreeBirdLjj joined #lisp 2017-03-03T09:25:37Z bharat quit (Quit: Page closed) 2017-03-03T09:26:58Z Karl_Dscc joined #lisp 2017-03-03T09:27:07Z manuel__ joined #lisp 2017-03-03T09:30:05Z manuel_ quit (Ping timeout: 240 seconds) 2017-03-03T09:30:06Z manuel__ is now known as manuel_ 2017-03-03T09:30:38Z FreeBird_ joined #lisp 2017-03-03T09:32:49Z krwq: fiddlerwoaroof: that's your whole emacs? 2017-03-03T09:34:20Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2017-03-03T09:34:40Z cibs quit (Ping timeout: 246 seconds) 2017-03-03T09:35:02Z pve joined #lisp 2017-03-03T09:36:34Z cibs joined #lisp 2017-03-03T09:36:34Z gingerale joined #lisp 2017-03-03T09:37:15Z ryanbw: krwq: Right? Mine is ~730 lines and I don't even think I have that many customizations. 2017-03-03T09:38:32Z krwq: i feel like i got way more than 3k not including stuff im building from sources and my communication between common lisp and emacs 2017-03-03T09:38:39Z hjudt: how can i decode a base64 string into a utf-8 string? if i use cl-base64:base64-string-to-string, the decoded value is not utf-8. 2017-03-03T09:39:21Z hjudt: i've found babel, but don't know how to use that. next, there is flexi-streams? 2017-03-03T09:39:28Z jdz: hjudt: you first decode to bytes, and then convert bytes to string. 2017-03-03T09:39:47Z jdz: hjudt: you might only need trivial-utf8. 2017-03-03T09:40:44Z hjudt: jdz: thanks, i'll look at that again. so i need to decode to bytes first. 2017-03-03T09:41:57Z jdz: hjudt: yes, there's base64-string-to-usb8-array. 2017-03-03T09:42:51Z krwq quit (Remote host closed the connection) 2017-03-03T09:49:14Z beach: hjudt: If it is UTF-8, then it is not a string in Common Lisp. 2017-03-03T09:49:29Z beach: hjudt: It may be a vector of bytes. 2017-03-03T09:55:31Z hjudt: ok. first, trivial-utf-8 has helped me with converting, thanks for that. but i might have some other problem with my sbcl/slime config. i have written a decode-line function which does the conversion for me (split comma-separated values into base64 strings, decode these into usb8-array, then decode utf-8-bytes-to-string. calling the statements manually from the repl gives me the proper results, but calling 2017-03-03T09:55:37Z hjudt: the function returns strings that are not utf-8-bytes-to-string decoded. is this just a display problem? 2017-03-03T09:57:30Z prole joined #lisp 2017-03-03T09:57:33Z hjudt: i guess i will need to write the results to a file to find out... 2017-03-03T10:04:30Z attila_lendvai joined #lisp 2017-03-03T10:04:30Z attila_lendvai quit (Changing host) 2017-03-03T10:04:30Z attila_lendvai joined #lisp 2017-03-03T10:08:45Z phoe_: hjudt: sounds like some issue with default external format 2017-03-03T10:12:53Z sdsadsdas quit (Remote host closed the connection) 2017-03-03T10:14:46Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-03T10:20:02Z Bike quit (Quit: leaving) 2017-03-03T10:27:13Z schjetne joined #lisp 2017-03-03T10:27:28Z sdsadsdas joined #lisp 2017-03-03T10:28:01Z manuel_ quit (Quit: manuel_) 2017-03-03T10:28:35Z FreeBird_ quit (Ping timeout: 240 seconds) 2017-03-03T10:28:37Z okflo joined #lisp 2017-03-03T10:30:28Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-03T10:34:39Z Mon_Ouie joined #lisp 2017-03-03T10:37:42Z shdeng quit (Quit: Leaving) 2017-03-03T10:40:00Z phoe_: http://clhs.lisp.se/Body/26_glo_c.htm 2017-03-03T10:40:10Z phoe_: circular adj. 1. (of a list) a circular list. 2. (of an arbitrary object) having a component, element, constituent[2], or subexpression (as appropriate to the context) that is the object itself. 2017-03-03T10:40:22Z phoe_: "component" is a glossary link here, but there is no glossary entry for "component". 2017-03-03T10:40:37Z phoe_: How should this be resolved? 2017-03-03T10:44:24Z raynold quit (Quit: Connection closed for inactivity) 2017-03-03T10:47:14Z Mon_Ouie quit (Ping timeout: 258 seconds) 2017-03-03T10:47:22Z phoe_: What is a "component"? 2017-03-03T10:47:42Z phoe_: All I can see are pathname components for pathnames and component streams for broadcast streams. 2017-03-03T10:50:09Z phoe_: I am thinking of either removing the glossary link or adding a glossary entry - but the second requires me to specify what a component is, and the specification helps me not in this case. 2017-03-03T10:51:30Z quazimodo joined #lisp 2017-03-03T10:54:16Z beach: It sounds like it is similar to "slot", except that "slot" might be reserved for standard objects. 2017-03-03T10:57:00Z mathrick quit (Quit: Leaving) 2017-03-03T10:57:30Z mathrick joined #lisp 2017-03-03T10:57:44Z phoe_: Sure, "slot" makes sense in this context. 2017-03-03T10:59:42Z xhe joined #lisp 2017-03-03T11:01:51Z phoe_: But then again - what should we do with the glossary entry? 2017-03-03T11:02:37Z hvxgr quit (Quit: leaving) 2017-03-03T11:02:48Z hvxgr joined #lisp 2017-03-03T11:03:14Z Mon_Ouie joined #lisp 2017-03-03T11:03:31Z beach: Create one for "component" 2017-03-03T11:04:09Z beach: You can write that it was not in the original specification and that you added it based on context. 2017-03-03T11:04:12Z hvxgr quit (Client Quit) 2017-03-03T11:05:44Z phoe_: Hm - good idea. 2017-03-03T11:07:52Z phoe_: component, n. - 1. Idiom. a constituent part of an *object* 2. a *slot*. 2017-03-03T11:07:54Z phoe_: What do you think? 2017-03-03T11:08:15Z beach: Sounds good to me. 2017-03-03T11:09:47Z hvxgr joined #lisp 2017-03-03T11:11:09Z phoe_: Haha, I really am creating an edition of the standard. 2017-03-03T11:11:15Z phoe_: Whoop, sorry - specification. 2017-03-03T11:11:24Z sirkmatija_ quit (Quit: sirkmatija_) 2017-03-03T11:15:29Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-03T11:23:19Z rumbler31 joined #lisp 2017-03-03T11:23:28Z splittist: complex numbers have components; see 12.6 2017-03-03T11:25:58Z phoe_: clhs 12.6 2017-03-03T11:25:58Z specbot: Couldn't find anything for 12.6. 2017-03-03T11:26:28Z phoe_: splittist: nope 2017-03-03T11:27:06Z atheris_ quit (Ping timeout: 258 seconds) 2017-03-03T11:27:22Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-03T11:27:44Z phoe_: The whole 12.1.5 does not contain the substring "compo". 2017-03-03T11:29:17Z pjb: clus 12.1.5 2017-03-03T11:29:22Z pjb: clus 12.1.5 grep compo 2017-03-03T11:29:33Z pjb: phoe_: I wouldn't affirm that so strongly… 2017-03-03T11:30:04Z phoe_: clhs 12.1.5 2017-03-03T11:30:04Z specbot: Complex Computations: http://www.lispworks.com/reference/HyperSpec/Body/12_ae.htm 2017-03-03T11:32:52Z splittist: Sorry, I was accidentally looking at 12.6 CLtL2 2017-03-03T11:33:36Z splittist: Defstructs have components (: 2017-03-03T11:34:22Z pjb: That was a hint that clus is missing an irc bot, now that it's complete. 2017-03-03T11:34:39Z sdsadsdas quit (Remote host closed the connection) 2017-03-03T11:34:48Z splittist: clhs defstruct 2017-03-03T11:34:48Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_defstr.htm 2017-03-03T11:39:48Z EvW1 joined #lisp 2017-03-03T11:40:38Z hvxgr quit (Ping timeout: 256 seconds) 2017-03-03T11:42:18Z Karl_Dscc quit (Remote host closed the connection) 2017-03-03T11:42:27Z hvxgr joined #lisp 2017-03-03T11:42:27Z grublet quit (Ping timeout: 240 seconds) 2017-03-03T11:43:29Z EvW1 quit (Client Quit) 2017-03-03T11:43:36Z smokeink quit (Ping timeout: 260 seconds) 2017-03-03T11:43:45Z EvW joined #lisp 2017-03-03T11:45:04Z smokeink joined #lisp 2017-03-03T11:45:49Z flip214: pjb: the "grep" idea is nice ... > clus 12.1.5 | egrep '(some|regular)(expression,?) anyone \??' 2017-03-03T11:45:55Z DGASAU quit (Read error: Connection reset by peer) 2017-03-03T11:46:38Z DGASAU joined #lisp 2017-03-03T11:47:10Z sdsadsdas joined #lisp 2017-03-03T11:49:55Z phoe_: splittist: thanks! 2017-03-03T11:49:59Z phoe_: Added it. 2017-03-03T11:50:15Z phoe_: flip214: pjb: not just for clus, but for clhs as well. 2017-03-03T11:53:04Z Sigyn quit (Quit: Can we drop the ‘artificial intelligence’? It’s a bit like me calling you a meat-based processing system.) 2017-03-03T11:53:15Z flip214: phoe_: yeah, of course the bot would do that for every data point asked. 2017-03-03T11:53:35Z Sigyn joined #lisp 2017-03-03T11:53:49Z phoe_: flip214: yesssss. 2017-03-03T11:53:58Z sellout- quit (Ping timeout: 246 seconds) 2017-03-03T11:54:19Z quazimodo quit (Ping timeout: 246 seconds) 2017-03-03T11:54:25Z flip214: that's a mobile phone provider (prepaid) in Austria. 2017-03-03T11:54:33Z phoe_: ...:P 2017-03-03T11:54:38Z flip214: or are you looking for your preciousssssss? 2017-03-03T12:01:39Z manuel_ joined #lisp 2017-03-03T12:07:09Z Karl_Dscc joined #lisp 2017-03-03T12:07:59Z sellout- joined #lisp 2017-03-03T12:09:16Z sjl: is there a version of let that will bind in the function namespace? 2017-03-03T12:11:21Z d4ryus2 joined #lisp 2017-03-03T12:11:39Z phoe_: sjl: flet 2017-03-03T12:11:42Z phoe_: labels 2017-03-03T12:11:52Z sjl: those take a lambda list and a body 2017-03-03T12:12:04Z sjl: I want something that will just take a function 2017-03-03T12:12:20Z sjl: like an actual function object that may have come from who knows where 2017-03-03T12:12:28Z phoe_: oh, I see 2017-03-03T12:12:38Z papachan joined #lisp 2017-03-03T12:12:39Z phoe_: the standard doesn't have such a construct AFAIK. 2017-03-03T12:12:49Z sjl: yeah I'm not finding anything in the docs :\ 2017-03-03T12:13:13Z phoe_: the silliest thing that comes to me is (flet ((foo (&rest args) (apply #'some-function args))) ...) 2017-03-03T12:13:52Z beach: phoe_: You beat me to it. 2017-03-03T12:14:24Z d4ryus1 quit (Ping timeout: 260 seconds) 2017-03-03T12:15:55Z phoe_ highfives beach 2017-03-03T12:16:11Z quazimodo joined #lisp 2017-03-03T12:16:19Z phoe_: and I think you can actually write it a simple macro of sorts 2017-03-03T12:16:59Z phoe_: ...I'd actually go for a CDR in this case, because (flet ((foo #'some-function)) makes perfect sense to me) 2017-03-03T12:18:00Z flip214: phoe_: just put it in CLUS, then we can get the vendors to implement it easily ;) 2017-03-03T12:18:54Z _death: note that this is equivalent to (flet ((foo (function some-function))) ...) 2017-03-03T12:21:02Z al-damiri joined #lisp 2017-03-03T12:21:54Z phoe_: _death: damn it, right. 2017-03-03T12:22:05Z phoe_: function and some-function are perfectly fine variable names. 2017-03-03T12:22:13Z the-blackbeard joined #lisp 2017-03-03T12:22:15Z phoe_: flip214: haha, I wish 2017-03-03T12:23:05Z phoe_: but then this means that we cannot use #' notation. 2017-03-03T12:23:32Z krasnal quit (Remote host closed the connection) 2017-03-03T12:23:49Z phoe_: we'd need to do (let ((foo #'some-function)) (flet ((bar foo)) ...)) 2017-03-03T12:23:52Z phoe_: which defeats the point 2017-03-03T12:24:34Z phoe_: haha, fsck. this is non-trivial. 2017-03-03T12:25:23Z phoe_: this is similar to (let (#'2) function) 2017-03-03T12:25:38Z phoe_: which despite its weirdness is valid CL. 2017-03-03T12:26:00Z _death: it's only weird if you're not used to expanding #' in your mind :) 2017-03-03T12:26:10Z phoe_: yes, I'm not used to it. 2017-03-03T12:26:12Z phoe_: same with quote. 2017-03-03T12:26:53Z phoe_: and we cannot restrict people from using the variable name FUNCTION because then we're taking a step towards Lisp-1 which sucks 2017-03-03T12:27:08Z phoe_: ...and it would also invalidate a lot of conforming CL 2017-03-03T12:28:35Z _death: it's also easy to imagine such code in macroexpansions 2017-03-03T12:28:41Z phoe_ nods 2017-03-03T12:28:45Z sjl just wants a (let-in-function-namespace ((foo ...)) ...) 2017-03-03T12:29:02Z phoe_: sjl: make a macro that expands to (flet ((foo (&rest args) (apply #'some-function args))) ...) 2017-03-03T12:29:10Z _death: sjl: I remember a Naggum post with a with-functions macro 2017-03-03T12:29:31Z sjl: hmm 2017-03-03T12:32:26Z phoe_: I could write one if I weren't busy at work 2017-03-03T12:34:29Z _death: his macro can easily be extended in a way similar to with-slots/with-accessors, so that it can have distinct name and function-generating form 2017-03-03T12:35:04Z sjl: http://www.xach.com/naggum/articles/3225069211869395@naggum.net.html 2017-03-03T12:35:24Z cibs quit (Ping timeout: 260 seconds) 2017-03-03T12:37:09Z cibs joined #lisp 2017-03-03T12:38:09Z phoe_: > I have such pity on you poor Scheme victims 2017-03-03T12:38:19Z phoe_: ah, all the naggumisms 2017-03-03T12:41:50Z EvW quit (Ping timeout: 256 seconds) 2017-03-03T12:48:49Z jiacobucci quit (Read error: Connection reset by peer) 2017-03-03T12:53:56Z ripleon_ joined #lisp 2017-03-03T12:54:03Z skeuomorf joined #lisp 2017-03-03T12:56:45Z nowhere_man joined #lisp 2017-03-03T12:57:11Z jealousmonk quit (Ping timeout: 258 seconds) 2017-03-03T13:00:42Z jiacobucci joined #lisp 2017-03-03T13:04:28Z jameser joined #lisp 2017-03-03T13:13:51Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-03T13:15:04Z quazimodo quit (Ping timeout: 260 seconds) 2017-03-03T13:16:55Z jameser joined #lisp 2017-03-03T13:17:20Z jameser quit (Client Quit) 2017-03-03T13:22:25Z rippa joined #lisp 2017-03-03T13:23:27Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-03T13:32:35Z papachan quit (Ping timeout: 240 seconds) 2017-03-03T13:33:25Z test1600 quit (Quit: Leaving) 2017-03-03T13:35:17Z nowhere_man joined #lisp 2017-03-03T13:36:43Z lambda-smith joined #lisp 2017-03-03T13:44:40Z jameser joined #lisp 2017-03-03T13:47:09Z jameser quit (Client Quit) 2017-03-03T13:47:12Z jmd joined #lisp 2017-03-03T13:49:58Z cromachina quit (Read error: Connection reset by peer) 2017-03-03T13:57:20Z EvW1 joined #lisp 2017-03-03T14:00:57Z smokeink quit (Ping timeout: 240 seconds) 2017-03-03T14:02:09Z loke___ joined #lisp 2017-03-03T14:02:56Z smokeink joined #lisp 2017-03-03T14:05:58Z random-nick joined #lisp 2017-03-03T14:10:02Z BitPuffin|osx joined #lisp 2017-03-03T14:10:28Z skeuomorf quit (Ping timeout: 240 seconds) 2017-03-03T14:14:46Z schjetne quit (Ping timeout: 264 seconds) 2017-03-03T14:16:00Z edgar-rft joined #lisp 2017-03-03T14:16:32Z vibs29 quit (Ping timeout: 258 seconds) 2017-03-03T14:21:38Z vibs29 joined #lisp 2017-03-03T14:32:47Z DGASAU quit (Read error: Connection reset by peer) 2017-03-03T14:34:09Z DGASAU joined #lisp 2017-03-03T14:35:35Z sjl quit (Ping timeout: 240 seconds) 2017-03-03T14:36:24Z phoe_: Specification question: 2017-03-03T14:36:25Z phoe_: http://clhs.lisp.se/Issues/iss094_w.htm 2017-03-03T14:37:15Z phoe_: Glossary: "declaration identifier n. one of the symbols declaration, dynamic-extent, ftype, function, ignore, inline, notinline, optimize, special, or type; (...)" 2017-03-03T14:37:39Z phoe_: According to the issue, FUNCTION is not supposed to be there. Am I correct? 2017-03-03T14:37:46Z phoe_: Because I need to correct the glossary if this is the case. 2017-03-03T14:38:28Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-03T14:38:43Z pjb: it's a type. 2017-03-03T14:39:05Z phoe_: Sure - but it's not a declaration specifier. 2017-03-03T14:39:15Z phoe_: You don't list all the types alongside FUNCTION. 2017-03-03T14:40:24Z pjb: Well as they say in the issue, there would be an ambiguity if CL:NIL could be fbound, but since it can't there's none. 2017-03-03T14:40:50Z pjb: As a short hand, it has to be a declaration specifier. 2017-03-03T14:41:39Z pjb: Otherwise it would only be a type, and (declare (function f (vector integer) t)) wouldn't work. 2017-03-03T14:42:45Z nowhere_man joined #lisp 2017-03-03T14:43:35Z pjb: What's really strange is that CL allows there some kind of ambiguity that must be resolved by parsing, and even by testing the semantic property of cl:nil. This IMO would be a much stronger argument to implement this issue proposal. 2017-03-03T14:44:04Z pjb: On the other hand, since this parsing occurs in the processing of the declaration, it's a little like the parsing required in LOOP, and it is acceptable. 2017-03-03T14:44:06Z phoe_: pjb: this issue was passed. 2017-03-03T14:44:20Z phoe_: So it was implemented. 2017-03-03T14:44:34Z phoe_: The glossary is the *only* place in the specification where FUNCTION is mentioned as a declaration identifier. 2017-03-03T14:44:44Z phoe_: And I have a gut feeling that it's a leftover from cleanup after passing this issue. 2017-03-03T14:45:04Z phoe_: s/was passed/passed/ 2017-03-03T14:45:11Z pjb: Oh, then indeed in the glossary the function as declaration identifier should be removed. 2017-03-03T14:45:55Z pjb: But ccl accepts both usages. 2017-03-03T14:46:26Z phoe_: What do you mean, both usages? 2017-03-03T14:46:32Z phoe_: Do you have a test case? 2017-03-03T14:46:50Z pjb: all implementations but sbcl accept them. 2017-03-03T14:46:56Z pjb: clall -r '(defun f () ())' '(defun g () ())' '(defun h () ())' '(declaim (function f g h))' '(declaim (function f () null))' 2017-03-03T14:47:05Z pjb: sbcl says: Lock on package COMMON-LISP violated when globally declaring the TYPE of NIL while in package COM.INFORMATIMAGO.CLALL. See also: The SBCL Manual, Node "Package Locks" The ANSI Standard, Section 11.1.2.1.2 2017-03-03T14:47:13Z _death: declaration names are also open-ended (declare (declaration my-declaration)) 2017-03-03T14:47:32Z phoe_: What _death said, an implementation is free to have its own declarations. 2017-03-03T14:47:36Z pjb: _death: but you cannot use CL names for your declarations. 2017-03-03T14:47:42Z phoe_: And SBCL just treats () as a symbol. 2017-03-03T14:47:46Z nowhere_man quit (Ping timeout: 264 seconds) 2017-03-03T14:47:52Z phoe_: pjb: I'm curious 2017-03-03T14:47:58Z phoe_: (defun f (x) ()) 2017-03-03T14:48:06Z phoe_: (declaim (function f (t) null)) 2017-03-03T14:48:31Z phoe_: huh 2017-03-03T14:48:37Z phoe_: SBCL chokes on this 2017-03-03T14:48:45Z pjb: sbcl: Cannot proclaim TYPE of a non-symbol: (T) ; ccl: Invalid declaration specifier (FUNCTION 4862633 . 15393189423048) 2017-03-03T14:48:52Z phoe_: weird 2017-03-03T14:48:54Z pjb: perhaps ccl interpreted wrongly the previous case. 2017-03-03T14:48:56Z phoe_: oh well - I'll just remove this from the glossary and move on 2017-03-03T14:49:03Z phoe_: types work in mysterious ways 2017-03-03T14:49:04Z pjb: Well clearly this is not confomring, so indeed remove it. 2017-03-03T14:49:27Z phoe_: Removed 2017-03-03T14:49:36Z phoe_ proceeds with cleaning the reds from the glossary 2017-03-03T14:50:03Z pjb: What about predicate? Do we have in CL any predicate taking multiple arguments? 2017-03-03T14:50:26Z pjb: The current definition makes all the functions predicates! 2017-03-03T14:50:34Z _death: sure.. digit-char-p for example 2017-03-03T14:51:53Z pjb: Well, this is a function named -p but is it a predicate? 2017-03-03T14:51:56Z _death: in logic a predicate also doesn't have to be unary.. unary ones may be called properties 2017-03-03T14:52:19Z pjb: It's often used for the exact value of its result. Then it's not used as a predicate. 2017-03-03T14:52:26Z pjb: _death: ok. 2017-03-03T14:52:47Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-03T14:52:51Z pjb: Then I wonder if the definition is needed, since all functions match the definition. 2017-03-03T14:52:51Z sellout- quit (Quit: Leaving.) 2017-03-03T14:53:09Z eschulte joined #lisp 2017-03-03T14:53:11Z _death: what about intent? 2017-03-03T14:53:22Z _death: also, you don't expect a predicate to have side effects 2017-03-03T14:53:29Z pjb: It doesnt' even say that it has to be a total function hence the problem with evenp with satisfying. 2017-03-03T14:53:51Z eschulte left #lisp 2017-03-03T14:54:05Z pjb: functions without side effects? It's still a little weak a definition... 2017-03-03T14:54:43Z flamebeard quit (Quit: Leaving) 2017-03-03T14:54:48Z nowhere_man joined #lisp 2017-03-03T14:54:52Z _death: an operator that returns a generalized boolean.. now, a generalized boolean may be anything, but the intent is clear 2017-03-03T14:55:46Z pjb: Not operator, function. 2017-03-03T14:55:48Z pjb: predicate n. a function that returns a generalized boolean as its first value. 2017-03-03T14:56:16Z _death: right 2017-03-03T14:58:24Z _death: there's also semipredicate, like MEMBER, (and "semipredicate problem").. which is not in the glossary 2017-03-03T14:59:52Z _death: indeed, cltl2 has a whole chapter on predicates: https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node69.html#SECTION001000000000000000000 2017-03-03T15:00:04Z phoe_: pjb: haha 2017-03-03T15:00:15Z phoe_: the only functions that don't match this are ones that return (values) 2017-03-03T15:02:46Z pjb: Formaly, but (eq 'nil (values)) #| --> t |# 2017-03-03T15:03:14Z phoe_: pjb: yes, but that's because missing values are coerced to NIL. 2017-03-03T15:03:28Z pjb: (lambda (x) (throw 'foo)) is also a predicate: it never returns, but when it returns it returns a generalized boolean. 2017-03-03T15:03:36Z _death: heh, just noticed CL used to have a COMMONP function 2017-03-03T15:03:47Z pjb: What was it? 2017-03-03T15:04:00Z _death: "commonp is true if its argument is any standard Common Lisp data type, and otherwise is false." 2017-03-03T15:04:27Z tmtwd quit (Ping timeout: 258 seconds) 2017-03-03T15:05:43Z phoe_: I wonder if I should add an editor note on "predicate". 2017-03-03T15:05:55Z phoe_: Can CLtL2 be quoted? What license is it under? 2017-03-03T15:06:02Z _death: typep, subtypep, equality predicates.. all take more than one argument 2017-03-03T15:07:00Z _death: phoe: https://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html 2017-03-03T15:08:21Z phoe_: I can't see it there, _death. 2017-03-03T15:09:40Z `0x00` quit (Quit: leaving) 2017-03-03T15:10:00Z _death: may want to contact digital press, if it still exists.. 2017-03-03T15:10:11Z `0x00` joined #lisp 2017-03-03T15:10:42Z phoe_: Looks like it's dead. 2017-03-03T15:11:14Z _death: could also try mailing GLS 2017-03-03T15:12:10Z xhe quit (Quit: leaving) 2017-03-03T15:12:25Z phoe_: I need an expansion for "GLS". 2017-03-03T15:13:23Z jmd quit (Remote host closed the connection) 2017-03-03T15:13:43Z _death: look up entry "QUUX" @ http://www.dourish.com/goodies/jargon.html 2017-03-03T15:14:06Z _death: it's the one qualified as GREAT 2017-03-03T15:14:14Z phoe_: oooh 2017-03-03T15:14:15Z phoe_: GLS 2017-03-03T15:14:15Z phoe_: got it 2017-03-03T15:15:06Z beach: phoe_: You can legally quote anything, as long as you give credit. 2017-03-03T15:15:11Z u0_a61 joined #lisp 2017-03-03T15:15:58Z beach: phoe_: It has to be a small passage compared to the entire work. So you can't say CLtL2 says: "". 2017-03-03T15:16:12Z phoe_: beach: I see. 2017-03-03T15:16:27Z phoe_: So a quote involving "A predicate is a function that tests for some condition involving its arguments and returns nil if the condition is false, or some non-nil value if the condition is true." is fine. 2017-03-03T15:16:55Z beach: As long as you give credit to the source, yes. 2017-03-03T15:17:06Z phoe_: "To quote Common Lisp the Language 2: ..." 2017-03-03T15:17:14Z beach: Yes, that's fine. 2017-03-03T15:17:17Z phoe_: Good. 2017-03-03T15:17:25Z EvW1 quit (Remote host closed the connection) 2017-03-03T15:17:33Z phoe_ continues work 2017-03-03T15:20:46Z nowhere_man quit (Ping timeout: 264 seconds) 2017-03-03T15:20:48Z _death: recommend reading that jargon file.. especially fun for lisperati 2017-03-03T15:20:52Z schjetne joined #lisp 2017-03-03T15:23:54Z rumbler31 joined #lisp 2017-03-03T15:24:29Z phoe_: I am 2017-03-03T15:24:30Z phoe_: :D 2017-03-03T15:25:36Z TDT joined #lisp 2017-03-03T15:25:37Z random-nick quit (Read error: Connection reset by peer) 2017-03-03T15:25:52Z rlatimore joined #lisp 2017-03-03T15:26:40Z phoe_ cackles at CHINE NUAL 2017-03-03T15:28:10Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-03T15:28:19Z rumbler31 joined #lisp 2017-03-03T15:28:30Z phoe_: dammit 2017-03-03T15:28:52Z phoe_: I'm supposed to polish the glossary and not read the jargon file 2017-03-03T15:29:21Z Xach_: the real jargon file 2017-03-03T15:29:28Z _death: yes.. chinual and moonual... 2017-03-03T15:29:52Z _death: (and pitmanual) 2017-03-03T15:31:03Z dec0n quit (Read error: Connection reset by peer) 2017-03-03T15:32:04Z ryanbw quit (Quit: WeeChat 1.7) 2017-03-03T15:32:08Z _death: phoe: https://www.flickr.com/photos/leighklotz/16139124963 2017-03-03T15:33:47Z phoe_: haha, yes 2017-03-03T15:34:00Z phoe_: also, http://clhs.lisp.se/Body/26_glo_i.htm mentions a variable named *error-io* 2017-03-03T15:34:10Z phoe_: I bet that it should refer to *error-output* instead 2017-03-03T15:34:45Z smokeink quit (Remote host closed the connection) 2017-03-03T15:35:26Z _death: also missing *terminal-io* 2017-03-03T15:36:06Z random-nick joined #lisp 2017-03-03T15:36:17Z u0_a61 quit (Quit: leaving) 2017-03-03T15:36:42Z _death: well, maybe shouldn't be there.. need to first understand the consequences with each use 2017-03-03T15:38:58Z _death: the rest of the variables are grouped together into one entry.. *terminal-io* has its own 2017-03-03T15:39:51Z schjetne quit (Read error: Connection reset by peer) 2017-03-03T15:42:32Z manualcrank joined #lisp 2017-03-03T15:42:32Z Khisanth quit (Ping timeout: 260 seconds) 2017-03-03T15:45:32Z _death: seems like it's mostly mentioned in the context of DRIBBLE, although there's an interesting set of functions suggested by Pitman for help with textual interfaces 2017-03-03T15:46:12Z nowhere_man joined #lisp 2017-03-03T15:47:50Z shka quit (Quit: Konversation terminated!) 2017-03-03T15:48:16Z Xach_: combine terminal and error output into *terror-output* 2017-03-03T15:49:05Z phoe_: oh god this pun is so bad 2017-03-03T15:49:29Z phoe_: anyway: http://clhs.lisp.se/Body/26_glo_r.htm <- I have a question about "readably" 2017-03-03T15:50:03Z phoe_: readably adv. (of a manner of printing an object O1) in such a way as to permit the Lisp Reader to later parse the printed output into an object O2 that is similar to O1. 2017-03-03T15:50:14Z phoe_: "parse" is a glossary link, but no such entry exists. 2017-03-03T15:50:18Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-03T15:50:47Z phoe_: perhaps "...to later *read* the printed output...? 2017-03-03T15:55:55Z Khisanth joined #lisp 2017-03-03T15:56:25Z sellout- joined #lisp 2017-03-03T15:56:46Z TDT quit (Quit: TDT) 2017-03-03T15:58:14Z o1e9 quit (Quit: Ex-Chat) 2017-03-03T15:59:13Z phoe_: because if we wanted to use the lispy vocabulary, then the Lisp reader does not parse, it reads 2017-03-03T16:02:02Z beach: The problem is that "read" is too general. 2017-03-03T16:02:38Z beach: Consider what READ-CHAR and READ-LINE do. They "read" stuff. 2017-03-03T16:02:55Z phoe_: Okay, read₂. 2017-03-03T16:03:16Z phoe_: read v.t. (...) 2. (an object from a stream) to parse an object from its representation on the stream. 2017-03-03T16:03:30Z beach: That works. 2017-03-03T16:03:53Z phoe_: Here we have "parse" again, but this time it's not marked as a glossary reference. 2017-03-03T16:04:38Z nowhere_man quit (Ping timeout: 258 seconds) 2017-03-03T16:04:43Z beach: Does it mean the same thing? 2017-03-03T16:07:49Z phoe_: I think so, yes. 2017-03-03T16:09:00Z phoe_: Haha! 2017-03-03T16:09:03Z phoe_: "Not all vectors that are simple are simple vectors" 2017-03-03T16:09:10Z beach: Maybe it would be better to introduce a term "parse" and have one of the meanings be "to use the Common Lisp function READ to process the contents of a stream" or something like that. 2017-03-03T16:09:10Z phoe_: ~ CL specification, Glossary entry for "simple vector" 2017-03-03T16:09:21Z phoe_: beach: hm. 2017-03-03T16:09:26Z phoe_: Sounds good, again. 2017-03-03T16:11:22Z _death: that's make for a circular definition 2017-03-03T16:12:02Z beach: Life is full of circular definitions. Hell, Lisp is famous for being described by a bunch of mutually circular definitions. 2017-03-03T16:12:21Z phoe_: _death: I don't think so, I'd add a section reference for 2017-03-03T16:12:22Z phoe_: clhs 2.2 2017-03-03T16:12:22Z specbot: Reader Algorithm: http://www.lispworks.com/reference/HyperSpec/Body/02_b.htm 2017-03-03T16:12:23Z _death: and why not read-from-string or read-preserving-whitespace.. better to keep "parse" undefined and leave it to the reader chapter to explain 2017-03-03T16:13:19Z phoe_: _death: what do you think about the following: to make a circular entry for "parse" and place a 2.2 section reference there 2017-03-03T16:13:34Z beach: I think we should let phoe_ decide since he is willing to do the work. 2017-03-03T16:13:47Z _death: beach: yes, but here we're talking about a glossary for humans.. which read it in a context of everyday language use so no need for excessive circularity to avoid undefined terms 2017-03-03T16:13:48Z phoe_: beach: my decision is to discuss it here. 2017-03-03T16:13:57Z drewc quit (Ping timeout: 240 seconds) 2017-03-03T16:14:16Z ryanbw joined #lisp 2017-03-03T16:14:40Z beach: Fine, I'll be quiet. I'm too tired for this kind of debate anyway, given a long day (and week) of maintenance work. 2017-03-03T16:15:01Z phoe_: beach: no no, don't be quiet! that sort of defeats my point of wanting a discussion. 2017-03-03T16:15:19Z beach: My decision is to be quiet. 2017-03-03T16:15:35Z phoe_: ...that was a good one. 2017-03-03T16:15:42Z _death: phoe: personally I prefer to use the them "read" when it comes to the reader, and not promote "parse", so I would leave it out of the glossary 2017-03-03T16:16:00Z _death: phoe: the reader does more than parsing 2017-03-03T16:17:29Z nowhere_man joined #lisp 2017-03-03T16:18:42Z BitPuffin|osx quit (Ping timeout: 260 seconds) 2017-03-03T16:19:31Z krasnal joined #lisp 2017-03-03T16:19:48Z phoe_: the "promoting 'parse'" argument is actually the one I'd consider the strongest here. parsing and reading aren't synonyms when it comes to the Lisp reader and to Lisp in general. 2017-03-03T16:20:05Z `0x00` quit (Ping timeout: 268 seconds) 2017-03-03T16:22:53Z _death: so much for discussing the agrippan trilemma :D 2017-03-03T16:23:15Z BlueRavenGT joined #lisp 2017-03-03T16:23:28Z phoe_: To glossary entry for "read₂", I'll add "See section 2.2 Reader Algorithm" at the end. 2017-03-03T16:23:52Z phoe_: In glossary entry for "readably", I'll substitute the "parse" link for "read₂". 2017-03-03T16:24:35Z phoe_: And this is still open for discussion, but, well, as _death mentioned this Wikipedia page, I bet there are more fruitful discussions out there. 2017-03-03T16:26:49Z drewc joined #lisp 2017-03-03T16:26:54Z phoe_: http://www.lispworks.com/documentation/lw51/CLHS/Body/26_glo_s.htm 2017-03-03T16:27:02Z phoe_: for "spreadable argument list designator" 2017-03-03T16:27:11Z phoe_: I bet that "non-null" means "non-nil" in this case. 2017-03-03T16:27:52Z phoe_: _death: and about circularities 2017-03-03T16:27:54Z phoe_: see "stack-allocated" 2017-03-03T16:28:38Z phoe_: oh wait, no 2017-03-03T16:28:46Z phoe_: it's a reference to "stack allocate" above 2017-03-03T16:29:57Z dcluna quit (Ping timeout: 268 seconds) 2017-03-03T16:30:24Z dcluna joined #lisp 2017-03-03T16:32:57Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-03T16:34:15Z random-nick quit (Remote host closed the connection) 2017-03-03T16:36:40Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-03T16:37:09Z phoe_: http://www.lispworks.com/documentation/lw51/CLHS/Body/26_glo_v.htm 2017-03-03T16:37:18Z phoe_: valid pathname directory n. a string, a list of strings, nil, :wild, :unspecific, or some other object defined by the implementation to be a valid directory component. 2017-03-03T16:37:18Z _death: interesting that the conditions proposal was called ZLOS-CONDITIONS.. only thing I can think of with Z is Zmacs (and Zmail) which came from ZWEI 2017-03-03T16:37:25Z phoe_: What is a "valid directory component"? 2017-03-03T16:38:28Z schjetne joined #lisp 2017-03-03T16:38:30Z _death: phoe: something you can have in a list passed to :directory of make-pathname? 2017-03-03T16:38:48Z phoe_: _death: yes, I see. 2017-03-03T16:39:29Z phoe_: clhs 19.2.1.3 2017-03-03T16:39:29Z specbot: The Pathname Directory Component: http://www.lispworks.com/reference/HyperSpec/Body/19_bac.htm 2017-03-03T16:39:31Z phoe_: found it! 2017-03-03T16:40:36Z phoe_: I'll add a reference to this section to this entry. 2017-03-03T16:46:10Z TDT joined #lisp 2017-03-03T16:46:38Z mazoe quit (Remote host closed the connection) 2017-03-03T16:47:53Z TDT quit (Client Quit) 2017-03-03T16:48:42Z ebrasca-afk is now known as ebrasca 2017-03-03T16:50:39Z ebrasca: phoe_: Hi 2017-03-03T16:51:22Z phoe_: ebrasca: Hey 2017-03-03T16:52:30Z ebrasca: phoe_: My project is stuck. 2017-03-03T16:52:40Z phoe_: ebrasca: What's with it? 2017-03-03T16:54:21Z nowhere_man joined #lisp 2017-03-03T16:54:34Z loke___ quit (Ping timeout: 256 seconds) 2017-03-03T16:55:48Z ebrasca: phoe_: I don't know my boundaries of my project. 2017-03-03T16:56:29Z phoe_: ebrasca: Sounds like you need to make them. 2017-03-03T16:56:56Z phoe_: Set a goal, chop it into small pieces that you can work on at once, then do these things piece by piece. 2017-03-03T16:59:24Z Bike joined #lisp 2017-03-03T16:59:27Z phoe_: On an unrelated note - the CLUS Glossary is fully linked. 2017-03-03T16:59:33Z phoe_ achievement unlocked 2017-03-03T16:59:42Z bpanthi joined #lisp 2017-03-03T17:05:44Z erethon quit (Ping timeout: 276 seconds) 2017-03-03T17:10:42Z erethon joined #lisp 2017-03-03T17:14:18Z fortitude joined #lisp 2017-03-03T17:18:08Z BitPuffin|osx joined #lisp 2017-03-03T17:20:28Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-03T17:21:49Z icerove joined #lisp 2017-03-03T17:23:59Z icerove: I saw in a swank src it builds a list using `(,@() :output t :input t ,@(func)), why it use a ,@() as beginning of list? 2017-03-03T17:25:47Z Lord_of_Life quit (Excess Flood) 2017-03-03T17:25:58Z Lord_of_Life joined #lisp 2017-03-03T17:26:50Z phoe_: icerove: where exactly in swank source? 2017-03-03T17:27:40Z bpanthi quit (Quit: bpanthi) 2017-03-03T17:27:50Z icerove: phoe_: in /slime-v2.18/swank/sbcl.lisp line 319 2017-03-03T17:28:39Z phoe_: found it, https://github.com/slime/slime/blob/master/swank/sbcl.lisp#L333 2017-03-03T17:28:51Z Bike: probably edited from something else. 2017-03-03T17:29:10Z phoe_: and I have completely no idea, this can be removed. 2017-03-03T17:30:13Z phoe_: there, https://github.com/slime/slime/pull/370 2017-03-03T17:30:44Z wildlander joined #lisp 2017-03-03T17:30:57Z icerove: I guess maybe it used to create a new list, avoid using shared structure with existing list? But I haven't heard of this trick before 2017-03-03T17:31:02Z varjag joined #lisp 2017-03-03T17:31:18Z Bike: that's probably overthinking, especially given that there's another ,@ already 2017-03-03T17:32:04Z Bike: if that was the case it would be much clearer to just call list* or append or whatever 2017-03-03T17:32:47Z vtomole joined #lisp 2017-03-03T17:32:51Z icerove: yes 2017-03-03T17:34:13Z icerove: phoe_, Bike: thanks 2017-03-03T17:34:50Z phoe_: icerove: share structure? 2017-03-03T17:34:56Z phoe_: backtick always creates new lists anyway 2017-03-03T17:35:00Z Bike: no it doesn't 2017-03-03T17:35:04Z nowhere_man joined #lisp 2017-03-03T17:35:08Z phoe_: no it doesn't? 2017-03-03T17:35:18Z Bike: of course it doesn't, it's quoted data 2017-03-03T17:35:35Z phoe_: `(foo bar baz) is freshly consed 2017-03-03T17:35:40Z phoe_: '(foo bar baz) might not be 2017-03-03T17:35:43Z Bike: nope 2017-03-03T17:35:47Z Bike: "The constructed copy of the template might or might not share list structure with the template itself." 2017-03-03T17:36:03Z phoe_: ... 2017-03-03T17:36:16Z phoe_: so `(foo bar baz) is not safe to mutate? 2017-03-03T17:36:24Z Bike: it is not safe to mutate 2017-03-03T17:36:38Z phoe_: I remember people talking multiple times about not using 2017-03-03T17:36:45Z phoe_: ' but ` for creating lists 2017-03-03T17:36:51Z Bike: which are then not mutated 2017-03-03T17:36:53Z phoe_: that will later be mutated. 2017-03-03T17:37:07Z phoe_: jackdaniel: you were one of them IIRC 2017-03-03T17:37:10Z rpav: i thought ` could be the same as ' if there were no , 2017-03-03T17:37:16Z Bike: it can be yeah 2017-03-03T17:37:37Z mbrock_ joined #lisp 2017-03-03T17:37:43Z rann_ joined #lisp 2017-03-03T17:37:45Z paroneay` joined #lisp 2017-03-03T17:37:51Z sebboh``` joined #lisp 2017-03-03T17:38:04Z nicdev` joined #lisp 2017-03-03T17:38:05Z sdsadsdas quit (Remote host closed the connection) 2017-03-03T17:38:15Z icerove: if there is "," the ` always create new list? or it may share part of structure? 2017-03-03T17:38:20Z phoe_: (macroexpand-1 '`(foo bar baz)) ;=> '(FOO BAR BAZ) 2017-03-03T17:38:26Z phoe_: ... 2017-03-03T17:38:38Z Bike: that's implementation-dependent of course, but yep there you go 2017-03-03T17:38:42Z Bike: icerove: it can share as much as it can 2017-03-03T17:38:47Z phoe_: this crashes a piece of Lisp knowledge that I had 2017-03-03T17:38:54Z sdsadsdas joined #lisp 2017-03-03T17:38:59Z Bike: icerove: so for example `(foo ,bar baz bak) might be (list* 'foo bar '(baz bak)) 2017-03-03T17:39:40Z Bike: or it could be (list 'foo bar 'baz 'bak), or it could append 2017-03-03T17:39:58Z Marsjan joined #lisp 2017-03-03T17:40:17Z icerove: Bike: Oh, may be that's why put the ,@() at the beginning, if not do so, the part before the first "," will be shared? 2017-03-03T17:40:32Z eagleflo_ joined #lisp 2017-03-03T17:40:33Z kjak____ joined #lisp 2017-03-03T17:40:34Z Bike: that's relying way too much on internals 2017-03-03T17:40:34Z phoe_: it doesn't matter here 2017-03-03T17:40:42Z phoe_: and is definitely non-conforming. 2017-03-03T17:40:45Z phoe_: if this list is later mutate. 2017-03-03T17:40:47Z Wojciech_K joined #lisp 2017-03-03T17:40:47Z phoe_: d. 2017-03-03T17:40:50Z liead joined #lisp 2017-03-03T17:41:01Z cods_ joined #lisp 2017-03-03T17:41:01Z pent_ joined #lisp 2017-03-03T17:41:23Z Bike: that backquote form could likely be (append nil '(:output t ...) (cond ...) (:serve-events ...)) 2017-03-03T17:41:27Z phoe_: but on the other hand, hey, this file is named sbcl.lisp 2017-03-03T17:41:27Z Bike: er, quote on the last one 2017-03-03T17:41:29Z |3b|: it just passes it to APPLY anyway, and called function shouldn't mutate it if it gets it anyway 2017-03-03T17:41:53Z felideon_ joined #lisp 2017-03-03T17:42:26Z paroneay` is now known as paroneayea` 2017-03-03T17:42:30Z groovy3shoes joined #lisp 2017-03-03T17:42:30Z benkard joined #lisp 2017-03-03T17:42:36Z tokenrov1 joined #lisp 2017-03-03T17:42:43Z neoncontrails joined #lisp 2017-03-03T17:42:44Z foom2 joined #lisp 2017-03-03T17:42:53Z gabiruh_ joined #lisp 2017-03-03T17:43:08Z phoe_: so, summing up: if I want a mutable list, I need to explicitly call copy-list/copy-tree on it? 2017-03-03T17:43:08Z jasom_ joined #lisp 2017-03-03T17:43:11Z marsjaninzmarsa quit (*.net *.split) 2017-03-03T17:43:11Z tokenrove quit (*.net *.split) 2017-03-03T17:43:11Z mulk quit (*.net *.split) 2017-03-03T17:43:11Z foom quit (*.net *.split) 2017-03-03T17:43:11Z felideon quit (*.net *.split) 2017-03-03T17:43:11Z nicdev quit (*.net *.split) 2017-03-03T17:43:12Z les` quit (*.net *.split) 2017-03-03T17:43:12Z itruslove quit (*.net *.split) 2017-03-03T17:43:12Z groovy2shoes quit (*.net *.split) 2017-03-03T17:43:12Z ikopico quit (*.net *.split) 2017-03-03T17:43:12Z rann quit (*.net *.split) 2017-03-03T17:43:12Z tkd quit (*.net *.split) 2017-03-03T17:43:12Z gabiruh quit (*.net *.split) 2017-03-03T17:43:12Z WojciechK quit (*.net *.split) 2017-03-03T17:43:13Z adlai quit (*.net *.split) 2017-03-03T17:43:13Z kjeldahl quit (*.net *.split) 2017-03-03T17:43:13Z cpt_nemo quit (*.net *.split) 2017-03-03T17:43:13Z mbrock quit (*.net *.split) 2017-03-03T17:43:13Z gko quit (*.net *.split) 2017-03-03T17:43:13Z paroneayea quit (*.net *.split) 2017-03-03T17:43:13Z antoszka quit (*.net *.split) 2017-03-03T17:43:13Z cods quit (*.net *.split) 2017-03-03T17:43:13Z jasom quit (*.net *.split) 2017-03-03T17:43:14Z sebboh`` quit (*.net *.split) 2017-03-03T17:43:14Z eagleflo quit (*.net *.split) 2017-03-03T17:43:14Z gabot quit (*.net *.split) 2017-03-03T17:43:14Z dlowe quit (*.net *.split) 2017-03-03T17:43:14Z kjak quit (*.net *.split) 2017-03-03T17:43:14Z pent quit (*.net *.split) 2017-03-03T17:43:14Z DrCode quit (*.net *.split) 2017-03-03T17:43:14Z felideon_ is now known as felideon 2017-03-03T17:43:14Z Marsjan is now known as marsjaninzmarsa 2017-03-03T17:43:18Z benkard is now known as mulk 2017-03-03T17:43:18Z Bike: hehhhh, the git book has a little section on how you shouldn't worry about sha1 collisions 2017-03-03T17:43:22Z dlowe_ joined #lisp 2017-03-03T17:43:22Z Bike: phoe_: yup 2017-03-03T17:43:30Z gabot joined #lisp 2017-03-03T17:43:31Z tkd joined #lisp 2017-03-03T17:43:32Z phoe_: Bike: well. 2017-03-03T17:43:34Z dlowe_ is now known as dlowe 2017-03-03T17:43:35Z antoszka_ joined #lisp 2017-03-03T17:43:39Z phoe_: looks like I'll need to look for backquote usages in my code 2017-03-03T17:43:40Z les joined #lisp 2017-03-03T17:43:42Z gko joined #lisp 2017-03-03T17:43:48Z ikopico joined #lisp 2017-03-03T17:43:49Z |3b|: Bike: well, unless you are checking in colliding files for testing you probably shouldn't :p 2017-03-03T17:44:09Z |3b|: (if that is a serious threat for you, you probably have much bigger problems) 2017-03-03T17:44:27Z Bike: new i shouldn't have committed all those zip files 2017-03-03T17:44:47Z travv0` joined #lisp 2017-03-03T17:44:57Z SolairePhantom joined #lisp 2017-03-03T17:44:59Z phoe_: haha: DWIM, 2. n. The INTERLISP function that attempts to accomplish this feat by correcting many of the more common errors. See HAIRY. 2017-03-03T17:45:09Z phoe_: now I'm sure I know where #'RPLACA came from 2017-03-03T17:45:55Z rann_ is now known as rann 2017-03-03T17:46:21Z itruslove joined #lisp 2017-03-03T17:47:32Z mbrock_ is now known as mbrock 2017-03-03T17:47:46Z hhdave quit (Ping timeout: 264 seconds) 2017-03-03T17:48:28Z icerove quit (Ping timeout: 240 seconds) 2017-03-03T17:49:18Z paroneayea` is now known as paroneayea 2017-03-03T17:49:30Z paroneayea quit (Changing host) 2017-03-03T17:49:30Z paroneayea joined #lisp 2017-03-03T17:49:35Z DrCode joined #lisp 2017-03-03T17:54:05Z shifty quit (Ping timeout: 240 seconds) 2017-03-03T17:56:32Z sword quit (Read error: No route to host) 2017-03-03T18:02:55Z vtomole quit (Ping timeout: 260 seconds) 2017-03-03T18:03:50Z rippa joined #lisp 2017-03-03T18:06:40Z fortitude quit (Quit: Leaving) 2017-03-03T18:19:22Z srcerer joined #lisp 2017-03-03T18:26:49Z sjl joined #lisp 2017-03-03T18:30:57Z LiamH joined #lisp 2017-03-03T18:34:38Z fourier joined #lisp 2017-03-03T18:34:49Z cpt_nemo joined #lisp 2017-03-03T18:34:49Z kjeldahl joined #lisp 2017-03-03T18:35:26Z kjeldahl is now known as Guest51168 2017-03-03T18:39:58Z nowhere_man quit (Ping timeout: 256 seconds) 2017-03-03T18:49:07Z attila_lendvai joined #lisp 2017-03-03T18:49:07Z attila_lendvai quit (Changing host) 2017-03-03T18:49:07Z attila_lendvai joined #lisp 2017-03-03T18:51:00Z cibs quit (Ping timeout: 258 seconds) 2017-03-03T18:52:54Z cibs joined #lisp 2017-03-03T18:55:11Z zellerin joined #lisp 2017-03-03T18:57:27Z pjb: phoe_: RPLACA is in LISP 1.5. 2017-03-03T18:57:28Z pjb: RPLACA SXA REPL,4 2017-03-03T18:57:28Z pjb: PDX 0,4 2017-03-03T18:57:28Z pjb: LGL 18 2017-03-03T18:57:31Z pjb: STA 0,4 2017-03-03T18:57:35Z pjb: RPLEX PXD 0,4 ARG1 TO AC AS ANSWER 2017-03-03T18:57:38Z pjb: REPL AXT **,4 RESTORE LINK IR 2017-03-03T18:57:41Z pjb: TRA 1,4 2017-03-03T18:57:44Z pjb: 2017-03-03T18:57:54Z phoe_: pjb: woah. 2017-03-03T18:58:05Z phoe_: Were symbol names really this expensive back then? 2017-03-03T18:58:16Z pjb: 36-bit machine, 6-bit characters. 2017-03-03T18:59:43Z pjb: Now, this is assembler, so it was probably written in assembler, and used no more than one word for identifier. In LISP itself, symbol names could be longer, but were represented using lists of words. so RPLACA was stored as ("RPLACA") using one cons cell one word. 2017-03-03T18:59:57Z phoe_: I see. 2017-03-03T19:00:15Z pjb: REPL was stored as ("REPL") 2017-03-03T19:00:28Z pjb: (I use DEL to represent #o77) 2017-03-03T19:00:47Z _death: LAMBDA works better than FUNCTION 2017-03-03T19:00:54Z pjb: Definitely. 2017-03-03T19:01:15Z pjb: FUNCTION would be stored as ("FUNCTI" "ON") 2017-03-03T19:01:16Z _death: we'd be stuck with FNCTON 2017-03-03T19:07:05Z ebrasca: is there some optimization build on top of math axioms? ( https://en.wikipedia.org/wiki/Natural_number#Algebraic_properties_satisfied_by_the_natural_numbers ) 2017-03-03T19:10:08Z dra joined #lisp 2017-03-03T19:11:42Z pjb: ebrasca: theorically, but in practice, compilers have to work with different sets and different properties than usual arithmetic and algebra. Namely, processors implement arithmetic in ℤ/2^w, not ℤ. 2017-03-03T19:12:26Z pjb: ebrasca: one example would be the pre-computing of 1/d when d is a literal so that x/d can be compiled to x*(1/d). 2017-03-03T19:12:48Z sirkmatija_ joined #lisp 2017-03-03T19:14:07Z pjb: ebrasca: also, all the theory of real numbers is useless, since we don't have them. On the other hand, ISTM (but I may be wrong) that there are much less theorems developed around ℚ (a superset of floating-points) than ℝ. 2017-03-03T19:16:23Z wsenn joined #lisp 2017-03-03T19:17:09Z wsenn: hi - does anyone have any suggestions for building sbcl from source? I tried --fancy on mint 18.1 and it failed the concurrency tests. 2017-03-03T19:17:31Z ebrasca: pjb: (+ (* a b) (* a c)) and (* a (+ b c)) are equal but second is better in performance . 2017-03-03T19:17:47Z wsenn: should I not use make.sh --fancy? 2017-03-03T19:17:50Z Bike: are you sure those are equal for floats 2017-03-03T19:17:54Z pjb: And the second is wrong, if you're working with floats. 2017-03-03T19:18:29Z pjb: (or the first, depends on what you want to compute). 2017-03-03T19:18:39Z Bike: funsafe math optimizations are not very fun safe at all 2017-03-03T19:18:49Z wsenn: (sbcl 1.3.15 linux mint 18.1 serena) 2017-03-03T19:19:20Z pjb: ebrasca: And even with integers, the first may be faster, if b and c are fixnums and (+ b c) is greater than most-positive-fixnum (or smaller than most-negative-fixnum). 2017-03-03T19:20:13Z drmeister: Is it important to provide a list of initial bindings for a thread? ECL does this. Why not just set them in the process function? 2017-03-03T19:20:26Z pjb: ebrasca: the point here is that all the axioms and theorems you have learned in maths are about ℕ, ℤ, ℝ and ℂ, and are totally useless to optimize computer programs, because we don't work with those sets and those theories, but with other. 2017-03-03T19:20:31Z phoe_: wsenn: #sbcl might provide you with more input 2017-03-03T19:20:32Z drmeister: https://common-lisp.net/project/ecl/static/manual/re76.html 2017-03-03T19:20:50Z wsenn: phoe: oops, thx 2017-03-03T19:20:52Z Bike: drmeister: which "them" are you referring to 2017-03-03T19:21:03Z drmeister: Initial bindings 2017-03-03T19:21:15Z Bike: how would you know what the initial bindings are if they're not provided 2017-03-03T19:21:21Z pjb: ebrasca: some mathematicians at the university level and in some corporation research centers have studied those other sets, and any compiler programmer is doing it with his guts, without the theory. 2017-03-03T19:21:41Z Bike: you could just copy all dynamic variables, but maybe the programmers wants some of them to be global between threads 2017-03-03T19:22:00Z drmeister: `(mp:make-process 'foo (lambda () (let ,initial-bindings (fn)))) 2017-03-03T19:22:22Z foom2 is now known as foom 2017-03-03T19:23:27Z drmeister: Ah what the heck - I'll just copy. Monkey see, monkey do. 2017-03-03T19:23:33Z drmeister oh oh eek eek 2017-03-03T19:23:37Z ebrasca: pjb: "Lisp was originally created as a practical mathematical notation for computer programs" 2017-03-03T19:23:50Z pjb: ebrasca: furthermore, given quantic mechanics, we have strong hints that the universe is discrete. Therefore ℝ (and ℂ=ℝxℝ) doesn't exist. It's just a convenient simplification matching some kind of "asymptotic" behavior of the universe. 2017-03-03T19:23:51Z ebrasca: pjb: link https://en.wikipedia.org/wiki/List_of_educational_programming_languages#Lisp-based 2017-03-03T19:23:55Z drmeister fights the impulse to fling poo 2017-03-03T19:24:30Z Bike: i don't think the original lisps were very numerical. 2017-03-03T19:24:44Z Bike: i mean, discrete math, sure 2017-03-03T19:24:57Z Bike: it's not like actual math involves a lot of explicit numbers anyway 2017-03-03T19:25:25Z Devon joined #lisp 2017-03-03T19:26:40Z pjb: Lisp could have very well been without numbers. The original paper only talks of symbol (they seem to have included numbers in the term symbol, at least conceptually, not the SYMBOLS themselves). The point being that you can reconstitute numbers with lambda calculus (too bad JMC didn't take a week-end to learn more about lambda calculus, he would have avoided the famous funarg bug). 2017-03-03T19:27:21Z ebrasca: pjb: I don't trust quantic mechanics. 2017-03-03T19:27:22Z defaultxr joined #lisp 2017-03-03T19:27:32Z Bike: too bad? 2017-03-03T19:27:47Z Bike: drmeister: bordeaux seems to do the function thing anyway, at least by default 2017-03-03T19:28:20Z Bike: could just be convenience, since it's easier to specify a list of bindings than write the bindings into the source 2017-03-03T19:28:23Z wsenn left #lisp 2017-03-03T19:28:29Z bocaneri quit (Read error: Connection reset by peer) 2017-03-03T19:30:30Z pjb: ebrasca: about mathematics vs. computer programs, have a look at http://paste.lisp.org/display/139933 2017-03-03T19:30:32Z drmeister: You are reminding me to keep looking at the Bordeaux threads impl-ecl.lisp code rather than the ECL code. I don't want to reproduce ECL so much as I want to provide functionality for BT 2017-03-03T19:34:06Z TDT joined #lisp 2017-03-03T19:36:17Z jasom_ is now known as jasom 2017-03-03T19:38:10Z aeth: Taking a different, no-number, approach... Afaik, this is mathematics, the substitution model: https://mitpress.mit.edu/sicp/full-text/book/book-Z-H-10.html#%_sec_1.1.5 2017-03-03T19:38:31Z neoncontrails quit (Remote host closed the connection) 2017-03-03T19:38:44Z fourier quit (Read error: No route to host) 2017-03-03T19:39:05Z fourier joined #lisp 2017-03-03T19:39:31Z Bike: well yeah, basic lambda calculus. 2017-03-03T19:40:47Z aeth: Right, but imo you leave it fairly soon in programming and cross into other non-mathy things. Although you can then cross back into math when you work with floating point approximations because you can do numerical analysis. https://en.wikipedia.org/wiki/Numerical_analysis 2017-03-03T19:41:05Z aeth: I guess the distinction between symbolic math and numerical approximations. 2017-03-03T19:41:55Z oleo quit (Quit: Leaving) 2017-03-03T19:42:10Z Bike: you leave lambda calculus pretty fast because there's only so much to do with it "practically". stuff like confluence is interesting mathematically but you need way more "non-math" theory to use it in programming 2017-03-03T19:43:00Z aeth: I thought that the main issue (that makes it "impractical") is performance 2017-03-03T19:44:29Z Bike: it also fucking sucks to write in 2017-03-03T19:45:03Z aeth: oh, good. then there's a market for it. 2017-03-03T19:45:08Z aeth: (see: programming games) 2017-03-03T19:45:13Z aeth: afaik there's no lambda calculus one on Steam yet 2017-03-03T19:45:35Z Bike: http://akivaleffert.com/beta-reduction-hero/ ey, this still works 2017-03-03T19:45:47Z dra quit (Ping timeout: 260 seconds) 2017-03-03T19:46:21Z sukaeto: a while back, I tried looking into what would be required to teach a theory of comp course using LC instead of a simple register machine 2017-03-03T19:46:43Z Bike: you learned theory of computation with a register machine? 2017-03-03T19:46:44Z sukaeto: I concluded that, while a neat idea, it's more trouble than it's worth 2017-03-03T19:47:35Z lambda-smith quit (Ping timeout: 240 seconds) 2017-03-03T19:47:59Z pjb: sukaeto: yes, it's harder, but it makes the link between axiomatic mathematics and computing, without any mutation. 2017-03-03T19:48:00Z sukaeto: Bike: yeah, I'm pretty sure it's a pretty common model. A simple machine with arbitrarily many input and local registers, an output register 2017-03-03T19:48:19Z pjb: sukaeto: the advantage here of register machines is that they include mutation like apparently the universe. 2017-03-03T19:48:23Z Bike: i'm pretty sure i had ski calculus 2017-03-03T19:48:27Z Bike: huh. 2017-03-03T19:48:39Z sukaeto: and a very simple instruction set. Something like an increment operator, a "jump to label" operator 2017-03-03T19:48:45Z sukaeto: and a few others, I don't remember 2017-03-03T19:48:51Z sukaeto: I'll have to see if I can find an example 2017-03-03T19:48:56Z angavrilov quit (Remote host closed the connection) 2017-03-03T19:49:23Z sukaeto: pjb: also that you don't have to teach Church encoding of data as one of the first few lessons 2017-03-03T19:49:26Z pjb: with lambda calculus, you can prove properties of programs easily with equations, while register machines require Hoare logic, which is in practice so hard that it is never used. 2017-03-03T19:49:32Z sukaeto: pjb: nor the Y Combinator 2017-03-03T19:50:03Z pjb: lambda calculus should be taught in math, and register machines in CS :-) 2017-03-03T19:51:43Z sukaeto: OK, the language has Increment, decrement, NOP and jump 2017-03-03T19:51:53Z sukaeto: I'm pretty sure you can get away without decrement, though 2017-03-03T19:52:04Z sukaeto: https://www.youtube.com/watch?v=O7B21cqbyGU 2017-03-03T19:52:09Z Bike: no branch? 2017-03-03T19:52:21Z sukaeto: well, the jump is a branch 2017-03-03T19:52:29Z Bike: is it jump on zero? 2017-03-03T19:52:33Z sukaeto: yeah 2017-03-03T19:52:40Z Bike: yeah ok. 2017-03-03T19:52:59Z Bike: you need decrement then, unless the arithmetic is modular i guess, and then i'm not sure 2017-03-03T19:55:32Z sukaeto: er, yeah, that might be right 2017-03-03T19:56:15Z sukaeto: you can define a program that counts up two registers, one being one greater than the other. And when the greater one equals your input value, you set the output register to the value of the lesser one 2017-03-03T19:56:32Z sukaeto: but you have to be able to do that comparison 2017-03-03T19:57:01Z pjb: sukaeto: keep decrement, increment is not needed. 2017-03-03T19:57:40Z sukaeto: hmm, yeah 2017-03-03T19:57:43Z sukaeto: pjb is right 2017-03-03T19:58:26Z dra_ joined #lisp 2017-03-03T19:58:44Z fourier quit (Ping timeout: 260 seconds) 2017-03-03T19:58:45Z pjb: You need a single instruction: CMOVE conditional move. With a few constants stored in RAM, and an addressable ALU. 2017-03-03T19:59:14Z ebrasca: pjb: Math is absolute truth. ( All my math teacher say it. ) 2017-03-03T19:59:23Z pjb: Indeed. 2017-03-03T19:59:24Z sukaeto: I've always kinda considered the CMOVE machine to be cheating :-) 2017-03-03T19:59:26Z aeth: And the first thing you do with such a machine is write a simple Lisp or Forth to make it usable. 2017-03-03T19:59:38Z pjb: sukaeto: lambda calculus doesn't have an ALU. 2017-03-03T20:00:15Z rlatimore quit (Quit: WeeChat 1.7) 2017-03-03T20:00:21Z _death: .>+.[>>+<<+]>>. 2017-03-03T20:00:48Z sukaeto: pjb: sure 2017-03-03T20:03:09Z oleo joined #lisp 2017-03-03T20:03:33Z ebrasca: pjb: Thanks for you lecture. But still i don't understand why maths don't apply to computers. 2017-03-03T20:05:36Z pjb: ebrasca: I don't say it doesn't apply. I say that maths is a real object, and what computers are and do, is not, and cannot be maths. Only you as a computer user may establish a link between the physical processes realized by the computer (the observed "mutation" of the quantic probability wave perceived around the "computer"), and the mathematical objects you're considering. 2017-03-03T20:06:09Z defaultxr quit (Quit: brb) 2017-03-03T20:07:16Z aeth: pjb: Except a lot of useful reals (e.g. multiples of pi) can't be expressed in a finite decimal format, so if you compute a number that's identical to the actual number up to a certain decimal expansion, there's no *practical* difference imo. 2017-03-03T20:07:56Z pjb: ebrasca: furthermore, more concretely, the usual maths only modelize mathematical "computers" such as turing machines and lambda calculus, but cannot be used to modelize actual computer. For actual computer, when you want to resolve real problems such as optimizing programs, you need a mathematical theory that is not taught before university in general. 2017-03-03T20:07:57Z Bike: in math you'd be more concerned with reals being complete and such thing 2017-03-03T20:08:01Z Bike: you don't need to write out numbers 2017-03-03T20:08:10Z Bike: that's the machine's job, baby 2017-03-03T20:08:12Z aeth: If you only need the first 6 decimal places, pi *is* 3.14159265 and if you need more, you can calculate an arbitrary length with the right program 2017-03-03T20:08:56Z aeth: The math is afaik making sure that the desired precision is there. 2017-03-03T20:09:03Z fourier joined #lisp 2017-03-03T20:09:11Z pjb: aeth: this is useless, because the properties of up-to-a-certain-decimal-expansion have nothing in common with the properties of π. 2017-03-03T20:10:17Z pjb: the decimal representation we compute for real numbers are far from the nature of those numbers (who are classes of equivalences of limits of infinite series of some kind). 2017-03-03T20:10:17Z dra_ quit (Ping timeout: 260 seconds) 2017-03-03T20:10:51Z ebrasca: I like to merge programing with math. 2017-03-03T20:10:56Z Bike: well it's a cauchy sequence to it, but yeah 2017-03-03T20:11:05Z sukaeto: to be fair, you can totally model real computers mathematically 2017-03-03T20:11:16Z sukaeto: they're just finite state machines with a really big number of states 2017-03-03T20:11:30Z sukaeto: well, for a given definition of "really big number" 2017-03-03T20:12:08Z pjb: ebrasca: you can do it if you stay with lambda calculus, turing machines and things like that. There are a few other such theorical computing systems. Perhaps you could design a "practical" mathematical programming system? We'd be able to write (and prove) perfect mathematical programs in this mathematical language. 2017-03-03T20:12:31Z Bike: fairly common research area... 2017-03-03T20:12:38Z pjb: I'm not sure it would be possible to write a compiler to translate from this mathematical language to an actual computer programming language. 2017-03-03T20:12:44Z aeth: pjb: Imo programming concerns itself with "good-enough?", which is probably why SICP actually uses that as a procedure name in its first chapter. 2017-03-03T20:12:57Z sukaeto: also, IMO, thinking about computers in terms of theoretical machines like LC is useful 2017-03-03T20:13:03Z sukaeto: I mean, this is #lisp after all :-) 2017-03-03T20:13:03Z aeth: And generally the decimal intuition works except for edge cases like 0.999... = 1 not being intuitive 2017-03-03T20:13:35Z pjb: Indeed, we don't have Turing Machines, but 640 MB (or 24 GB) are enough for anybody. :-) 2017-03-03T20:13:36Z sukaeto: Lisp is a great machine to program, I think we can all agree 2017-03-03T20:14:03Z Bike: if by "decimal intuition" you mean taking the limit of successive rationals nines are fine 2017-03-03T20:14:04Z sukaeto: the various x86 machines, not so much (at least to me) 2017-03-03T20:14:19Z defaultxr joined #lisp 2017-03-03T20:14:43Z sukaeto: pjb: yeah, we've got enough memory that we can just pretend it's infinite and usually get away with it :-) 2017-03-03T20:15:20Z aeth: sukaeto: in *most* cases 2017-03-03T20:15:35Z decuser joined #lisp 2017-03-03T20:15:39Z aeth: There are plenty of ways to run out of RAM still because exponentials. 2017-03-03T20:15:44Z Bike: i think we all know that 2017-03-03T20:15:50Z Bike: as evidenced by "usually" 2017-03-03T20:17:46Z ebrasca: 2^100 * 2^100 = 2^101 2017-03-03T20:18:03Z ebrasca: math notation can help 2017-03-03T20:18:14Z Bike: i uh, think you should reconsider that 2017-03-03T20:18:41Z ebrasca: why? It work for humans. 2017-03-03T20:18:41Z varjag: heh 2017-03-03T20:18:49Z Bike: because your equality is false 2017-03-03T20:18:56Z aeth: Although, really, imo we don't have enough memory, and memory should be non-volatile. Ideally, there'd be no distinction between SSD/HDD/tape/etc. and RAM. There would just be fast, non-volatile memory for everything. When this happens, that's probably going to be a really big change. 2017-03-03T20:19:10Z Bike: "when", huh 2017-03-03T20:19:19Z aeth: well e.g. https://en.wikipedia.org/wiki/3D_XPoint 2017-03-03T20:19:31Z ebrasca: I mean + 2017-03-03T20:19:47Z varjag: i quite like the state of art we have now 2017-03-03T20:20:05Z varjag: we still solve 1970s problems but with so much more firepower that it's actually bearable 2017-03-03T20:21:15Z aeth: Almost. 2017-03-03T20:21:43Z aeth: A lot of things that people have been wanting for a long time like VR and very high resolution screens are *almost* there. 2017-03-03T20:21:56Z jasom: aeth: the % of cost for ram on systems seems to be going down, which tells me that consumers aren't demanding more ram... 2017-03-03T20:22:00Z Bike: this says it writes four times as fast as flash, which would make it 2500 times as slow as DRAM 2017-03-03T20:22:16Z Bike: which is sort of odd since i can easily find a nature article saying PCM should be much faster 2017-03-03T20:22:28Z TMA: aeth: that's what HP/HPE "The Machine" promises with it's memristor based memory 2017-03-03T20:22:30Z varjag: aeth: these are not hard or unsolved problems 2017-03-03T20:22:30Z pjb: aeth: you have that in EROS. But its author later dropped this features for coyotos. 2017-03-03T20:22:38Z varjag: the limiting factor there is lack of demand 2017-03-03T20:22:51Z aeth: Bike: I guess as the hype died down and it got closer to release the tech I linked to got slower :p 2017-03-03T20:23:00Z Bike: "weird" 2017-03-03T20:23:06Z jasom: Bike: there are several RRAM based systems with high write speeds, but intel's solution appears to be the first to be made in large volumes at high densities 2017-03-03T20:23:09Z aeth: Bike: I could've sworn it was implied to be about 10x to 100x faster at one point 2017-03-03T20:23:18Z aeth: Bike: (faster than what you said, still slower than RAM) 2017-03-03T20:23:38Z pjb: I find it one of the best features actually. Now since applications don't do any I/O of any kind, the kernel can perform them and provide a persistent memory more more efficiently than unix systems+applications. 2017-03-03T20:24:01Z jasom: aeth: it's possible that flash write speeds have gotten faster since then; this was always the curse of new technology to replace DRAM; by the time it was out of the lab, DRAM had gotten faster and cheaper so it was no longer competitive. 2017-03-03T20:24:11Z ryanbw quit (Quit: WeeChat 1.7) 2017-03-03T20:24:18Z pjb: http://wiki.c2.com/?ErosOs eros-os.org seems to be dead. 2017-03-03T20:24:41Z aeth: varjag: Afaik wearable VR that doen't make people ill *is* a hard problem. 2017-03-03T20:26:02Z varjag: aeth: isn't that a physiological problem more than anything computational 2017-03-03T20:26:12Z antoszka_ is now known as antoszka 2017-03-03T20:26:18Z dra_ joined #lisp 2017-03-03T20:26:22Z aeth: pjb: probably just too ahead of its time 2017-03-03T20:26:34Z paroneayea: pjb: http://erights.org/ has a lot of the info 2017-03-03T20:27:43Z aeth: varjag: They seem to be making decent progress with today's headsets... doing exactly what you said, throwing more firepower at it. Not quite enough yet, though. 2017-03-03T20:28:57Z travv0` quit (Ping timeout: 260 seconds) 2017-03-03T20:29:30Z varjag: aeth: maybe we really need those cranal interfaces a la neuromancer after all 2017-03-03T20:29:39Z varjag: cranial even 2017-03-03T20:29:40Z aeth: Sorry if I was unclear. By "almost", I was giving examples for things that don't quite have enough power yet. 2017-03-03T20:29:56Z aeth: varjag: VR is obviously a temporary tech between now and direct brain interface 2017-03-03T20:30:31Z aeth: The latter is probably decades away at best, centuries at worst, if not impossible for some reason. 2017-03-03T20:30:44Z paroneayea: wow, capabilities and brain interfaces 2017-03-03T20:30:48Z kslt1 joined #lisp 2017-03-03T20:30:50Z paroneayea: we've stumbled straight into Rainbow's End 2017-03-03T20:30:55Z dra_ is now known as dra 2017-03-03T20:31:25Z paroneayea: granted I think their interfaces were just a couple of steps below *total* brain interface 2017-03-03T20:31:30Z ebrasca: Where I can find log of this chat? 2017-03-03T20:31:33Z paroneayea: but they did use security capabilities 2017-03-03T20:31:37Z Bike: ebrasca: check topic 2017-03-03T20:32:26Z ebrasca: Bike: Thank you. 2017-03-03T20:32:41Z aeth: uh oh... that means the stupid things I say here are forever preserved 2017-03-03T20:32:53Z ebrasca: aeth: yes 2017-03-03T20:33:44Z fourier quit (Ping timeout: 260 seconds) 2017-03-03T20:39:59Z decuser left #lisp 2017-03-03T20:41:59Z skeuomorf joined #lisp 2017-03-03T20:42:31Z fiddlerwoaroof: aeth: I think you want an IBM iSeries machine 2017-03-03T20:42:49Z fiddlerwoaroof: Already has a single-level store (i.e. one namespace for all attached story) 2017-03-03T20:43:22Z fiddlerwoaroof: And, supposedly, it even knows to cache frequently use objects in ram and move rarely used items to slower storages. 2017-03-03T20:44:27Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-03T20:44:43Z dra quit (Quit: Leaving) 2017-03-03T20:45:14Z fiddlerwoaroof: Sometimes, when I read about IBM's systems, I get really annoyed about how they've seemed to have completely mismanaged them by (a) not bothering to make a nice UI and (b) targeting them mainly at "enterprise" applications, with a ridiculously high entry-level price 2017-03-03T20:45:55Z pjb: aeth: on three different logs! Redundancy, there's no chance for it to be every lost! 2017-03-03T20:46:38Z pjb: I've seen an AS400 system on sales on ebay at an accessible price two weeks ago… 2017-03-03T20:47:44Z varjag: fiddlerwoaroof: they have a lineage of legacy going back to early 1950s 2017-03-03T20:48:12Z varjag: and for some of the tech to 1920s 2017-03-03T20:48:20Z fiddlerwoaroof: Yeah, I know 2017-03-03T20:49:18Z fiddlerwoaroof: pjb, aeth: not to mention all the logs stored by everyone's irc clients and bouncers 2017-03-03T20:50:07Z aeth: fiddlerwoaroof: maybe we can crowdfund a #lisp mainframe that we can all have ssh rights to. 2017-03-03T20:50:15Z aeth: time sharing! 2017-03-03T20:50:31Z pjb: A multics system with MACLISP and GosEMACS? 2017-03-03T20:50:48Z pjb: (we could run even a "modern" GNU emacs on it). 2017-03-03T20:51:02Z aeth: fiddlerwoaroof: private logs have pretty much always existed on IRC. But 10-20 years ago the stupid things said were kept on those logs, which were often lost due to improper backups if any backups. 2017-03-03T20:51:15Z aeth: So these days even private logs are backed up well, sometimes even in the cloud. 2017-03-03T20:51:20Z varjag: does babel support EBCDIC yet 2017-03-03T20:51:31Z aeth: fiddlerwoaroof: e.g. I lost all my IRC logs before January 2006 iirc. 2017-03-03T20:51:54Z fiddlerwoaroof: aeth: my point was more that ancient protocols generally emphasized reliability over privacy 2017-03-03T20:52:09Z fiddlerwoaroof: So, everything gets logged everywhere for things like email, nntp and irc 2017-03-03T20:52:19Z pjb: :ebcdic is not a valid encoding designator ; not yet. 2017-03-03T20:52:49Z aeth: pjb: maybe IBM can give #lisp a free mainframe so we do all the hard porting work for them? 2017-03-03T20:53:26Z fiddlerwoaroof: AS/400 IBMi can even fit on a normal server rack 2017-03-03T20:53:27Z aeth: fiddlerwoaroof: Yeah, nowadays. Although I do connect to Freenode over SSL and you should too. 2017-03-03T20:53:42Z fiddlerwoaroof: Yeah, but that only protects the first hop 2017-03-03T20:54:02Z aeth: Freenode doesn't encrypt the connection between its servers? 2017-03-03T20:54:05Z fiddlerwoaroof: And it doesn't provide privacy, really, just integrity 2017-03-03T20:54:16Z varjag: i'm beginning to restore a pdp-11 clone 2017-03-03T20:54:22Z fiddlerwoaroof: You can't count on it, although they probably do 2017-03-03T20:54:25Z varjag: sadly that arch wasn't a popular lisp target 2017-03-03T20:54:39Z aeth: The real issue afaik is that on IRC networks where SSL isn't mandatory (I used to go to one where it was) will probably have at least one "leak" somewhere, especially in large channels. 2017-03-03T20:54:41Z fiddlerwoaroof: But, since it's an open network, anyone can connect and log anything 2017-03-03T20:55:00Z fiddlerwoaroof: the NSA wouldn't even need a wiretap, just an ircbot 2017-03-03T20:55:07Z fiddlerwoaroof: minion: I've figured you out :) 2017-03-03T20:55:10Z minion: well, i don't think i ve figured you out though 2017-03-03T20:55:23Z varjag: haha 2017-03-03T20:56:31Z aeth: fiddlerwoaroof: a password-protected or invite-only (etc.) channel on an SSL-mandatory network is afaik secure, except if the network itself is compromised, or if the IRC logs leak, or if you can't really trust someone in there, etc. 2017-03-03T20:57:05Z aeth: fiddlerwoaroof: and afaik as long as Freenode has a secure link between its servers, a channel where you could only connect if you are connected to Freenode via SSL would be similar. (Does Freenode have a channel flag for that? Could it add that?) 2017-03-03T20:57:27Z aeth: fiddlerwoaroof: but then Freenode hosts its public web IRC on Cloudfront and all that security is thrown away. :-p 2017-03-03T20:58:05Z varjag: some channels ban the web client 2017-03-03T20:58:20Z hhdave joined #lisp 2017-03-03T20:58:25Z phoe: #lisp ain't one of them. 2017-03-03T20:58:33Z aeth: But I think the real solution for chat would be to write an encrypted, UTF-8 replacement to IRC based on similar decentralized principles (rather than centralized, for-profit principles like all IRC competitors) 2017-03-03T20:59:00Z aeth: And I think CL is definitely capable enough for that. 2017-03-03T20:59:01Z phoe: aeth: and have it die because it won't really rival the immortal IRC. 2017-03-03T20:59:03Z Lord_of_Life quit (Excess Flood) 2017-03-03T20:59:07Z Bike: you don't have utf 8? 2017-03-03T20:59:16Z phoe: I have utf8. 2017-03-03T20:59:24Z sellout- quit (Read error: Connection reset by peer) 2017-03-03T20:59:39Z aeth: Bike: channels and nicks can't be utf-8, and text itself is afaik messy 2017-03-03T20:59:44Z sellout- joined #lisp 2017-03-03T20:59:58Z Lord_of_Life joined #lisp 2017-03-03T20:59:58Z varjag: i don't want nicks in the characters i can't type 2017-03-03T21:00:09Z Bike: i thought irc was just specified in terms of octets, is all 2017-03-03T21:00:14Z ryanbw joined #lisp 2017-03-03T21:00:16Z aeth: varjag: some people can type é 2017-03-03T21:00:37Z varjag: but can they type ў? 2017-03-03T21:00:42Z aeth: Two question marks? 2017-03-03T21:00:48Z phoe: aeth: I don't want people using all the unicode variation of the "a" character in their nicks 2017-03-03T21:00:53Z nirved quit (Quit: Leaving) 2017-03-03T21:02:01Z aeth: phoe: it would be hard to do properly, but you could do it properly, where e.g. if you register "aeth" you also get all the subtle varations that are visually identical, maybe even including Æth 2017-03-03T21:02:11Z aeth: which doesn't show up for me on this client 2017-03-03T21:02:47Z varjag: it does for me 2017-03-03T21:02:56Z varjag: and i think it's unrealistic 2017-03-03T21:03:27Z jurov: all irc clients ended up first trying to decode utf-8 and if that fails then legacy, usually latin1 2017-03-03T21:03:29Z varjag: the variations depend on the rendering, too 2017-03-03T21:03:54Z aeth: Either tmux ate it or my IRC client ate it, it shows up in a tail of the log 2017-03-03T21:04:32Z fiddlerwoaroof: Yeah, you'd have to do unicode normalization like in domain names, which would be sort of horrible 2017-03-03T21:04:36Z fourier joined #lisp 2017-03-03T21:04:43Z okflo quit (Remote host closed the connection) 2017-03-03T21:05:29Z fiddlerwoaroof: I see all the unicode using erc, in tmux, in roxterm 2017-03-03T21:05:40Z fiddlerwoaroof: And Adobe Source Code Pro for the font 2017-03-03T21:05:42Z mishoo quit (Ping timeout: 260 seconds) 2017-03-03T21:06:38Z jurov: imo utf normalization is lost cause by now, for example what about normalizing emoji? 2017-03-03T21:06:51Z phoe: I can normalize emoji 2017-03-03T21:06:54Z jurov: with skin colour mixins? 2017-03-03T21:06:59Z phoe: uh 2017-03-03T21:07:02Z phoe: not that 2017-03-03T21:07:05Z jurov: r4c1st!!!! 2017-03-03T21:07:08Z ebrasca: I like unicode. 2017-03-03T21:07:48Z ryanbw quit (Ping timeout: 260 seconds) 2017-03-03T21:08:15Z aeth: Unicode is a lot of work, but imo it's worth it. 2017-03-03T21:08:32Z ebrasca: I like λ. 2017-03-03T21:08:35Z aeth: But also imo use trivial-unicode-normalization instead of writing it yourself. 2017-03-03T21:09:47Z ryanbw joined #lisp 2017-03-03T21:11:56Z jurov: aeth: where that lives? my quicklisp says system not found 2017-03-03T21:12:07Z aeth: oh sorry, it was a joke because it's not trivial 2017-03-03T21:12:18Z jurov: lol got me! 2017-03-03T21:12:22Z aeth: someone should still use that name, though, if they write it 2017-03-03T21:12:25Z Bike: could be a wrapper over the implemtnation though. 2017-03-03T21:12:26Z hhdave_ joined #lisp 2017-03-03T21:12:56Z hhdave quit (Ping timeout: 260 seconds) 2017-03-03T21:12:56Z hhdave_ is now known as hhdave 2017-03-03T21:14:05Z zellerin quit (Ping timeout: 240 seconds) 2017-03-03T21:14:56Z fiddlerwoaroof: Is there a way to prevent the debugger from printing huge strings? 2017-03-03T21:15:48Z pjb: Not conformingly. 2017-03-03T21:15:52Z Bike: set *print-length*? 2017-03-03T21:15:58Z Bike: i don't know if that works for strings, actually 2017-03-03T21:16:00Z pjb: applies only on non-string vectors. 2017-03-03T21:16:03Z Bike: oh dag 2017-03-03T21:16:15Z pjb: like *print-array*. 2017-03-03T21:16:41Z pjb: But some implementations have different sets of such variables, in particular for the debugger. 2017-03-03T21:16:53Z Bike: i did not even know print-array existed, that's kind of helpful 2017-03-03T21:17:01Z fiddlerwoaroof: It's really fun when your implementation wants to print a 9G string to emacs 2017-03-03T21:17:22Z aeth: I would actually love if SLIME had some way to prevent that. 2017-03-03T21:17:36Z pjb: But not usual CL implementations. 2017-03-03T21:17:37Z jurov: Pity #'format and co. can't be patched... or someone knows a way? 2017-03-03T21:17:51Z aeth: Emacs doesn't love having a huge *slime-repl foo* buffer 2017-03-03T21:17:54Z aeth: It slows it down 2017-03-03T21:18:01Z pjb: allegro CL has such different sets. 2017-03-03T21:18:05Z pjb: emacs lisp has eval-expression-print-length and print-length. 2017-03-03T21:18:13Z Bike: jurov: patched how 2017-03-03T21:19:36Z jurov: Bike: like adding a method specialized on slime-output-stream that caps string length 2017-03-03T21:23:00Z SCHAAP137 quit (Read error: Connection reset by peer) 2017-03-03T21:23:08Z jurov: clhs PPRINT-DISPATCH 2017-03-03T21:23:08Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_ppr_di.htm 2017-03-03T21:23:12Z jurov: ^maybe? 2017-03-03T21:27:41Z shifty joined #lisp 2017-03-03T21:27:53Z szmer joined #lisp 2017-03-03T21:29:02Z BitPuffin|osx quit (Ping timeout: 260 seconds) 2017-03-03T21:31:04Z SCHAAP137 joined #lisp 2017-03-03T21:31:17Z TDT quit (Read error: Connection reset by peer) 2017-03-03T21:32:22Z mishoo joined #lisp 2017-03-03T21:33:33Z TDT joined #lisp 2017-03-03T21:34:56Z phoe is now known as phof 2017-03-03T21:35:30Z phof is now known as phoe 2017-03-03T21:40:00Z fourier quit (Ping timeout: 260 seconds) 2017-03-03T21:41:57Z holycow joined #lisp 2017-03-03T21:42:09Z holycow: hello 2017-03-03T21:42:32Z ebrasca: holycow: hello 2017-03-03T21:44:58Z phoe: hey holycow 2017-03-03T21:49:01Z fourier joined #lisp 2017-03-03T21:57:30Z ebrasca: pjb: Can I apply ( http://paste.lisp.org/display/139933 ) to human brain? 2017-03-03T21:58:11Z ebrasca need better output in english. 2017-03-03T21:58:58Z Bike: brains do not operate like computers do. 2017-03-03T21:59:24Z Bike: i mean, there's no "code", so there goes the entire premise of that immediately 2017-03-03T22:00:10Z ebrasca: Bike: Whe need to find how to do code for brains. 2017-03-03T22:00:31Z Bike: there is none. there is no compilation or translation process, because there's no reason for there to be one. 2017-03-03T22:01:22Z nowhere_man joined #lisp 2017-03-03T22:01:30Z SolairePhantom quit (Quit: Leaving) 2017-03-03T22:01:35Z rumbler3_ joined #lisp 2017-03-03T22:01:54Z pjb: ebrasca: the question is still open. 2017-03-03T22:02:11Z ebrasca: conscious compile to Subconscious 2017-03-03T22:02:14Z ebrasca: mind 2017-03-03T22:02:28Z pjb: ebrasca: there are strong hints that brains are just physical computers, but there are also rumors that it is only a periferal device to some out-of-this universe "soul". 2017-03-03T22:02:38Z rumbler3_ quit (Remote host closed the connection) 2017-03-03T22:03:15Z varjag: ebrasca: what do you mean by 'compile' there 2017-03-03T22:03:24Z ebrasca: pjb: periferal can be ugraded. 2017-03-03T22:03:35Z stepnem quit (Ping timeout: 240 seconds) 2017-03-03T22:03:57Z pjb: brains contain their own compilers: just repeat something often enough, and the brain process is compiled to some lower level. 2017-03-03T22:04:06Z White_Flame: ebrasca: sure, that's claimed to happen when the body dies and the soul does something else 2017-03-03T22:04:18Z josemanuel joined #lisp 2017-03-03T22:04:45Z ebrasca: varjag: I understand conscious mind learn something. 2017-03-03T22:04:48Z pjb: ebrasca: arguably it has occured several times already, across the various homonidae. 2017-03-03T22:04:48Z White_Flame: but still, the brain seems to be a reactionary device to massively parallel inputs and feedback states. There's no individualizing the effect of training into "code" 2017-03-03T22:05:05Z varjag: ebrasca: that's not what compilation means 2017-03-03T22:05:06Z ebrasca: varjag: with time it become Subconscious mind job. 2017-03-03T22:05:30Z varjag: something something vague something 2017-03-03T22:05:31Z josemanuel quit (Remote host closed the connection) 2017-03-03T22:05:45Z Bike: that's how this conversation goes, varjag. 2017-03-03T22:06:05Z josemanuel joined #lisp 2017-03-03T22:06:07Z skeuomorf quit (Ping timeout: 258 seconds) 2017-03-03T22:09:22Z TDT quit (Quit: TDT) 2017-03-03T22:11:13Z ebrasca: conscious functions are slow , subconscious work much faster 2017-03-03T22:11:43Z varjag: at equivalent task? 2017-03-03T22:12:05Z ebrasca: varjag: yes 2017-03-03T22:12:18Z varjag: so let's say i want to learn linear algebra 2017-03-03T22:12:26Z varjag: should i defer that to my subconscious? 2017-03-03T22:12:33Z phoe throws parens at the brainpeople 2017-03-03T22:12:56Z pjb: varjag: no, you have to go thru the conscious and repeatedly, so that it gets compiled into the subconscious. 2017-03-03T22:13:20Z varjag: how does that get compiled? 2017-03-03T22:13:25Z varjag: what does that even mean here 2017-03-03T22:13:36Z varjag: does cow compile grass into manure? 2017-03-03T22:13:41Z pjb: automatically, it's like JITC, but with an optimization based on usage. 2017-03-03T22:13:57Z Bike: you know how you sometimes meet someone who thinks their browser is yahoo and that they get internet through the power company 2017-03-03T22:14:00Z Bike: cos that's what this is 2017-03-03T22:15:13Z varjag: right 2017-03-03T22:15:21Z varjag tosses dragon book onto pjb 2017-03-03T22:15:29Z jurov: compilation = neural connections 2017-03-03T22:15:41Z varjag: no, neural connections are neural connections 2017-03-03T22:15:48Z varjag: why misuse a totally fine word 2017-03-03T22:16:23Z jurov: why not. say every synapse is represented by a cons cell 2017-03-03T22:16:27Z ebrasca: It sound like "boltages are only boltages 2017-03-03T22:16:32Z Bike: please, just accept that you don't know what you're talking about, and resolve to either learn or stop this 2017-03-03T22:16:34Z jurov: heluva s-expression 2017-03-03T22:18:21Z p9fn joined #lisp 2017-03-03T22:18:41Z ebrasca: Bike: I need to learn better "How to write englis". 2017-03-03T22:18:56Z Bike: well, you can do that too while you're at it, if you like 2017-03-03T22:19:17Z josemanuel quit (Quit: Leaving) 2017-03-03T22:19:34Z jiacobucci quit (Ping timeout: 264 seconds) 2017-03-03T22:21:27Z kslt1 quit (Ping timeout: 258 seconds) 2017-03-03T22:24:35Z fourier quit (Ping timeout: 240 seconds) 2017-03-03T22:25:16Z ebrasca: Bike: Are you mean I can do it now and here? 2017-03-03T22:25:37Z Bike: i don't understand 2017-03-03T22:27:07Z ebrasca: Bike: Can I practice my english here? 2017-03-03T22:27:52Z holycow: varjag: "should i defer that to my subconscious?" <-- i read that the military developed a training technique for their linguists. instead of learning new languages in a classroom, they learn it in a sensory deprivation tank. they have cut down training times from 6 months to 2 months. so, you might actually be on to something. 2017-03-03T22:28:30Z varjag: do you think a sensory deprivation tank would work for calculus class? 2017-03-03T22:28:57Z holycow: i don't think i have the money to test it out, i thought about it for math my self as well. 2017-03-03T22:29:35Z varjag: there is a reason we have consciousness, wouldn't you think 2017-03-03T22:29:35Z holycow: some reports of using some type of magnetic field stimulation on certain parts of the brain are supposed to have similar results for memory retention 2017-03-03T22:29:55Z holycow: and apparatently they have been doing that since the 80's, though it all seems anecdotal to me 2017-03-03T22:30:03Z varjag: i really really doubt that 2017-03-03T22:30:06Z varjag: sounds voodoo 2017-03-03T22:30:14Z ebrasca: holycow: Where I can buy it? 2017-03-03T22:30:17Z holycow: yup that is my feeling as well 2017-03-03T22:30:37Z varjag: but see, there is a market 2017-03-03T22:30:56Z holycow: there is always a market for suckers. i'm pretty sure i'm one. 2017-03-03T22:31:36Z varjag: i should write a timecube-style treatise on computer science when i retire 2017-03-03T22:31:51Z varjag: total bs with enough nuggets of solid facts 2017-03-03T22:32:00Z varjag: it will be popular 2017-03-03T22:32:13Z BitPuffin|osx joined #lisp 2017-03-03T22:32:29Z gingerale quit (Remote host closed the connection) 2017-03-03T22:33:04Z holycow: thanks for the link to that terrific post. that is great. 2017-03-03T22:36:25Z holycow: perfect --> Code doesn't get translated to voltage, it is already voltage (or 2017-03-03T22:36:26Z holycow: other electrical circuit configurations) in the hardware computer. 2017-03-03T22:36:34Z fourier joined #lisp 2017-03-03T22:37:14Z wtetzner joined #lisp 2017-03-03T22:38:42Z decuser joined #lisp 2017-03-03T22:43:09Z ebrasca: where I can find documentation for low level programing in common lisp? 2017-03-03T22:43:13Z pve quit (Ping timeout: 246 seconds) 2017-03-03T22:43:21Z decuser quit (Remote host closed the connection) 2017-03-03T22:43:45Z pjb: ebrasca: not much documentation. 2017-03-03T22:44:00Z decuser joined #lisp 2017-03-03T22:44:06Z aeth: Just try to port general concepts over to CL 2017-03-03T22:44:07Z White_Flame: ebrasca: that will be either inside the compilers of individual CL implementations, or in old docs for lisp machines 2017-03-03T22:44:09Z pjb: ebrasca: notice that in CL, all the CL macros can be special operators (and all CL special operators can be actually macros). 2017-03-03T22:44:13Z varjag: typically it's implementation-speecific 2017-03-03T22:44:29Z fiddlerwoaroof: holycow: I actually think that that's not really correct "The map is not the territory" 2017-03-03T22:44:32Z pjb: ebrasca: also in CL, all the functions can be "open-coded", which is a kind of inlining, but with taints of special-operator'ness. 2017-03-03T22:44:47Z pjb: ebrasca: this means that you can consider all of the CL package as the low level stuff! 2017-03-03T22:45:07Z White_Flame: holycow: a recipe doesn't exist just because you have a kitchen 2017-03-03T22:45:28Z pjb: ebrasca: now of course, some features are "simplier" or more directly implementable than others on Intel processors. Eg. one can consider that RPLACA is lower level than DEFINE-CONDITIOn. 2017-03-03T22:45:40Z White_Flame: holycow: and that's exactly what software is, just a list of instructions 2017-03-03T22:45:58Z Cymew quit (Ping timeout: 264 seconds) 2017-03-03T22:46:03Z fiddlerwoaroof: White_Flame: in an imperative language, at least 2017-03-03T22:46:12Z pjb: ebrasca: so you could gather such a set of "low level" functions, and the pre-defined special operators, and consider programming only using them. 2017-03-03T22:46:16Z White_Flame: fiddlerwoaroof: I'd agree with that 2017-03-03T22:46:17Z varjag: ebrasca: from a bit different perspective, what low-level feature you are trying to achieve 2017-03-03T22:46:25Z fiddlerwoaroof: In prolog and the like, the computer comes up with the instructions to do what you say 2017-03-03T22:46:33Z White_Flame: prolog is NOT declarative :-P 2017-03-03T22:46:44Z BitPuffin|osx quit (Ping timeout: 260 seconds) 2017-03-03T22:46:46Z aeth: White_Flame: Software as used on a computer is anything that *can become* a list of instructions. 2017-03-03T22:46:49Z ebrasca: pjb: I like help debeloping mezzano OS , but I don't know where to start, 2017-03-03T22:46:52Z White_Flame: you program it in-order to control the search, manually launch & manage threads, etc 2017-03-03T22:46:52Z fiddlerwoaroof: It's not imperative either, really 2017-03-03T22:46:55Z varjag: White_Flame: but it thinks it is :p 2017-03-03T22:47:00Z pjb: ebrasca: there's also another concept, which is not standardized, which is assembly language, accessible from LISP forms. Commonly called LAP (Lisp Assembler Programming). 2017-03-03T22:47:17Z pjb: ebrasca: it's basically an assembler written as sexp, that you can insert inline lisp functions. 2017-03-03T22:47:18Z White_Flame: and last I looked, you even have to manually configure indexing in prolog 2017-03-03T22:47:24Z pjb: ebrasca: in the case of SBCL it's called VOP. 2017-03-03T22:47:37Z Bike: for mezzano you would want to check mezzano-specific documentation and ask froggey when they're around 2017-03-03T22:47:47Z pjb: ebrasca: git clone the sources, read the sources, edit the sources, compile, run, test, repeat. 2017-03-03T22:47:55Z Bike: and that 2017-03-03T22:48:33Z ebrasca: pjb: I have done spanish keymap layout. 2017-03-03T22:49:49Z dmiles: just as person ends up writing macros in lisp so they can become more and more declaritive (virtually enjoys the creation of a new language), it is very rare anontother language has that feature 2017-03-03T22:51:04Z holycow: White_Flame: hmm, yeah you are right. it is store away and dynamically loaded, so right. *nod* 2017-03-03T22:51:45Z White_Flame: or as was said in a different format, you can't reverse engineer Windows by analyzing a motherboard 2017-03-03T22:51:54Z holycow: also, upvoats for mezzano 2017-03-03T22:51:56Z varjag: ebrasca: start hacking at the application side of it, see how the system calls you use are implemented 2017-03-03T22:52:19Z varjag: understand the runtime 2017-03-03T22:52:26Z holycow: froggey worked on that for bunch of time on his own and just dropped it on us. just awesome. 2017-03-03T22:52:56Z varjag: i don't think anyone except froggey has a clear picture of its compiler implemenation 2017-03-03T22:53:10Z dmiles: so far *i've* only experienced two other languages with that feature of enjoyment of the creation of a new language: 1) C (just due to macros) we can trick our brains into some of that comfort 2) Prolog which unlike C you write the language now between you AST and the impl staying in macros 2017-03-03T22:54:48Z cibs quit (Ping timeout: 258 seconds) 2017-03-03T22:55:16Z White_Flame: I've never felt like C macros were creating a new language 2017-03-03T22:55:25Z varjag: ditto 2017-03-03T22:55:26Z White_Flame: at least with Prolog you can pass around unevaluated constructs, to my recollection 2017-03-03T22:55:27Z `0x00` joined #lisp 2017-03-03T22:55:32Z varjag: c macros kinda stick out 2017-03-03T22:56:15Z dmiles: the reason i get that feel is like when you emit Lisp to C (in the forms of C-Macros) it is almost reasable 2017-03-03T22:56:27Z cibs joined #lisp 2017-03-03T22:56:37Z White_Flame: I think Forth is the top of the non-Lisp pile in terms of actually creating new languages 2017-03-03T22:56:38Z Bike: really? ECL intermediate looks pretty weird to me 2017-03-03T22:56:57Z varjag: ah c as a target 2017-03-03T22:57:29Z dmiles: CDO_LIST("MyLoopVar",EVAL(sym("Whatnot"),dyn("MyLoopVar")). 2017-03-03T22:57:56Z skeuomorf joined #lisp 2017-03-03T22:58:05Z drewc quit (Ping timeout: 240 seconds) 2017-03-03T22:58:14Z dmiles: (that as an example when it doesnt feel like C) 2017-03-03T22:58:18Z fiddlerwoaroof: Forth is more a mindset than a language 2017-03-03T22:58:26Z fdavid joined #lisp 2017-03-03T22:58:28Z fdavid: hi 2017-03-03T22:58:44Z varjag: hello 2017-03-03T22:58:49Z White_Flame: Forth allows you to run Forth during compilation to generate or transform code 2017-03-03T22:59:09Z fiddlerwoaroof: Like forth people generally write new forths by accident 2017-03-03T22:59:13Z White_Flame: (at least with ANSI style expectations of implementations) 2017-03-03T22:59:35Z fdavid: (loop for i from 0 to 5 collect i) gives me (0 1 2 3 4 5). how do I get (0 1 2 3 4)? there was a keyword instead of `to' for it IIRC 2017-03-03T22:59:36Z fiddlerwoaroof: Even non-forth users write forths by accident 2017-03-03T22:59:55Z fiddlerwoaroof: fdavid: below instead of to 2017-03-03T22:59:56Z Bike: fdavid: below 2017-03-03T22:59:57Z varjag: fdavid: below 2017-03-03T23:00:00Z dmiles: oh true i can see that about FORTH now 2017-03-03T23:00:08Z fdavid: thanks! 2017-03-03T23:00:10Z Bike: jinx 2017-03-03T23:00:22Z mishoo quit (Ping timeout: 246 seconds) 2017-03-03T23:00:22Z White_Flame bellows "below" 2017-03-03T23:00:24Z dmiles: partualyl because ones mind has to construct at least on higher level of what they are doing 2017-03-03T23:01:08Z White_Flame: oh, and that forth compilation is at "runtime" as well, so it's the closest metaprogramming model to Lisp I've seen outside of sexpr languages 2017-03-03T23:01:17Z dmiles: partualyl because ones mind while writing forth construcst at least one higher level of what they are doing dirrectly .. yet they retain the orignal consitancy 2017-03-03T23:01:48Z fiddlerwoaroof: I find when using forth like languages (Postscript, most recently), you basically can only modify them by evaluating the code in your head. 2017-03-03T23:02:06Z fiddlerwoaroof: If you don't do that, it looks like jibberish 2017-03-03T23:02:06Z White_Flame: right, those are forth-like languages, not Forth 2017-03-03T23:02:21Z White_Flame: meaning you don't really have metaprogramming available 2017-03-03T23:02:23Z fiddlerwoaroof: I had the same experience when I was working through forth 2017-03-03T23:02:32Z fiddlerwoaroof: starting forth, that is 2017-03-03T23:04:29Z sirkmatija_ quit (Quit: sirkmatija_) 2017-03-03T23:07:13Z dmiles: at my HS in 1984 they where introducing computers and they couldnt figure out what curriculum to sacrifice to put computers in, they couldnt use sciences becasue those already had graduation requirements they can scrw with. 2017-03-03T23:07:25Z dmiles: Physical Ed is what most students wanted computers to replace 2017-03-03T23:08:07Z aeth: ime, physical activity is mostly what computers have replaced in my life 2017-03-03T23:08:40Z varjag: carrying computers around in 1984 could count as physical ed tbh 2017-03-03T23:08:44Z dmiles: Finally they settled on replacing Foriegn language requirements. Howver to make district happy we were forced to read our BASIC programs outload instead of French 2017-03-03T23:09:13Z varjag: hah 2017-03-03T23:09:39Z dmiles: So they had to be understandable to same parts of the brain 2017-03-03T23:10:14Z holycow: heh 2017-03-03T23:11:25Z fdavid: in clojure is let the same as let* in elisp or cl 2017-03-03T23:11:53Z decuser quit (Quit: rcirc on GNU Emacs 25.1.1) 2017-03-03T23:12:13Z aeth: That makes no sense. You use let* when you want to rely on side-effects and clojure is more functional, isn't it? 2017-03-03T23:12:18Z dmiles: by the 5th (12 total in HS) semester we finaish Pascal and were writting 6502.. didnt work out as well (outloud) but we still expected it to be an audiotry pocess 2017-03-03T23:12:32Z fdavid: aeth no. let* has nothing to do with sideeffects 2017-03-03T23:12:36Z Bike: aeth: let still guarantees left to right evaluation 2017-03-03T23:12:49Z otwieracz: aeth: it's just let in let in let... 2017-03-03T23:12:51Z holycow: dmiles: that is pretty amazing 2017-03-03T23:12:58Z holycow: your school was way ahead of its time 2017-03-03T23:13:02Z dmiles: audiotry pocess/semi-auditory 2017-03-03T23:13:15Z aeth: which is really setf'ing in a new scope 2017-03-03T23:13:20Z aeth: although I guess I'm thinking too low level 2017-03-03T23:13:20Z Petit_Dejeuner: Does anyone know a lisp where (34) is equivalent to just 34? Or more generally, does anyone know a lisp where a form with a single operator that's a literal is equivalent to just the operator? 2017-03-03T23:13:37Z dmiles: (the best part is it was started by one of the teachers as a prank ) 2017-03-03T23:13:37Z Bike: no. why are you asking? 2017-03-03T23:13:41Z drewc joined #lisp 2017-03-03T23:13:54Z holycow: dmiles: wow. 2017-03-03T23:13:56Z fdavid: aeth it just lets you refer to previousuly defined variables.. nothing non-functional about it really. (let* ((x 1) (y (+ x 1)) 2017-03-03T23:14:38Z pjb: Petit_Dejeuner: no such lisp, but you can easily write a reader macro for #\( that would do such a thing. 2017-03-03T23:14:47Z aeth: fdavid: hmm, true 2017-03-03T23:15:07Z Petit_Dejeuner: pjb: Oh no, I don't want a lisp like that. 2017-03-03T23:15:15Z Petit_Dejeuner: I had to write an interpretter for it already. 2017-03-03T23:15:15Z ebrasca: dmiles: Mind like pranks. :) 2017-03-03T23:15:16Z aeth: I guess it just happens that I tend to use let* in really messy procedural code that I wouldn't describe as functional 2017-03-03T23:15:23Z pjb: Petit_Dejeuner: well, and for #\' and #\` if you want to interpret correctly '((34) (33)) vs (+ (34) (33)). 2017-03-03T23:15:28Z fdavid: ,(let ((x 1) (y (+ x 1))) (list x y)) 2017-03-03T23:15:46Z fdavid: messed something up :P 2017-03-03T23:15:52Z pjb: Petit_Dejeuner: my point is that you didn't have to write a whole lisp for it, just 3 reader macros. 2017-03-03T23:16:02Z aeth: Petit_Dejeuner: how would you distinguish between (foo) where foo is 32 and (foo) where foo is a function call with no arguments? 2017-03-03T23:16:08Z fdavid: oh, i am in #lisp. hehe 2017-03-03T23:16:18Z Petit_Dejeuner: aeth: Make all functions special forms and provide no way to define new functions. 2017-03-03T23:16:34Z aeth: Petit_Dejeuner: Or you can just make funcall a special form and require funcall 2017-03-03T23:16:46Z aeth: (funcall foo) vs (foo) and now it's unambiguous 2017-03-03T23:17:47Z aeth: although I guess if it's an interpreter you don't need it to be unambiguous there 2017-03-03T23:17:52Z nowhere_man quit (Ping timeout: 246 seconds) 2017-03-03T23:18:29Z sdsadsdas quit (Remote host closed the connection) 2017-03-03T23:19:09Z fdavid: (let in clojure is like let* in CL if anyone cares) 2017-03-03T23:19:20Z dmiles: (at least for 2-3 years the distract and state ( of Oregon ) believed it met Dept of Edu graduation requirments for foriegn language .. we only need 2 trimesters .. so we didnt have to pretend past the 2nd) 2017-03-03T23:20:55Z quazimodo joined #lisp 2017-03-03T23:23:13Z aeth: if that loophole doesn't work anymore, just start programming in Lojban 2017-03-03T23:25:14Z fourier: anyone tried LW's Android version? 2017-03-03T23:25:55Z dmiles: hehe 2017-03-03T23:26:19Z andrei_chiffa_ joined #lisp 2017-03-03T23:26:49Z Petit_Dejeuner: dmiles: They should have made you guys learn Linotte. 2017-03-03T23:27:38Z dmiles: Ah! "Linotte is an interpreted 4th generation programming language. Linotte's syntax is in French." 2017-03-03T23:27:50Z Devon quit (Ping timeout: 260 seconds) 2017-03-03T23:28:00Z Petit_Dejeuner: Enjoy getting your keyboard set up for it. 2017-03-03T23:28:17Z nowhere_man joined #lisp 2017-03-03T23:29:45Z akkad quit (Excess Flood) 2017-03-03T23:30:13Z holycow: dmiles: i've heard of the programming language instead of foreign language thing mentioned a number of times. although programming isn't right for everyone, it sure was a great thing for them to make that a possible option for a few students. we had about 3 computers in the whole school for 700 kids back then. apple II if i remember correctly. 2017-03-03T23:32:44Z akkad joined #lisp 2017-03-03T23:34:24Z dmiles: yeah these were apple IIe(s) at that time.. we probably had 13 .. they Had "Logo", Appleworks, Oregon Trail, Apple Pascal, ASM, and Basic 2017-03-03T23:34:40Z fourier quit (Ping timeout: 258 seconds) 2017-03-03T23:35:12Z dmiles: heh i guess so.. http://www.nbcnews.com/feature/college-game-plan/should-computer-coding-be-considered-foreign-language-school-some-say-n543656 2017-03-03T23:38:41Z BitPuffin|osx joined #lisp 2017-03-03T23:39:05Z BitPuffin|osx quit (Remote host closed the connection) 2017-03-03T23:39:51Z BitPuffin|osx joined #lisp 2017-03-03T23:41:08Z dmiles: https://github.com/TeamSPoon/pfc/blob/master/prolog/pfc2.0/mpred_loader.pl#L404-L413 <- this is the result 2017-03-03T23:42:06Z the-blackbeard quit (Quit: Leaving) 2017-03-03T23:46:02Z fdavid: any reason why one would prefer flet over let and lambda? 2017-03-03T23:48:24Z varjag: you would want to call without funcall? 2017-03-03T23:48:44Z fdavid: ah right 2017-03-03T23:49:11Z wtetzner quit (Remote host closed the connection) 2017-03-03T23:49:44Z skeuomorf quit (Ping timeout: 260 seconds) 2017-03-03T23:52:08Z dmiles: not to go on and on... but since i hate commenting code (in english) i made a code to english module which documets for me : must_compile_special_clause ==> " Must Be Successfull Compile Special Clause." show_interesting_cl= "Show Interesting Clause." is_compiling = "If Is A Compiling." 2017-03-03T23:52:43Z kslt1 joined #lisp 2017-03-03T23:53:06Z dmiles: my belief is if the computer can say what i am doing in english is a usefull way.. then it would be hard for others to read it 2017-03-03T23:53:16Z dmiles: is a/in a 2017-03-03T23:53:29Z dmiles: can/cant 2017-03-03T23:55:48Z nowhere_man quit (Ping timeout: 260 seconds) 2017-03-03T23:56:52Z rumbler31 quit (Remote host closed the connection) 2017-03-03T23:57:31Z szmer quit (Quit: WeeChat 1.6) 2017-03-03T23:59:06Z fdavid: does format have something like printf's *? to supply number in the argument list 2017-03-04T00:03:09Z rumbler31 joined #lisp 2017-03-04T00:03:12Z Bike: yeah, you can use v 2017-03-04T00:03:44Z Bike: e.g. (format nil "~v,'0d" 3 8) => 008 2017-03-04T00:03:54Z Bike: i didn't know printf could do that, actually 2017-03-04T00:04:17Z LiamH quit (Quit: Leaving.) 2017-03-04T00:06:19Z nelder quit (Quit: Leaving) 2017-03-04T00:06:27Z andrei_chiffa__ joined #lisp 2017-03-04T00:07:13Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-04T00:07:34Z andrei_chiffa_ quit (Ping timeout: 240 seconds) 2017-03-04T00:08:14Z fdavid: Bike thanks 2017-03-04T00:11:09Z fdavid: yeah printf has some unexpected tricks up its sleeve.. it can also (i forgot the syntax though) write to a variable, to get how many characters were written up to that point. a feature that was frequently used for exploits 2017-03-04T00:12:01Z xhe joined #lisp 2017-03-04T00:13:47Z Bike: %x, i think? but yeah i know that one for that reason 2017-03-04T00:14:01Z fdavid: i think that just prints hex 2017-03-04T00:14:15Z Bike: right. it's n 2017-03-04T00:14:31Z fdavid: oh yeah, n 2017-03-04T00:14:43Z attila_lendvai quit (Read error: No route to host) 2017-03-04T00:14:47Z attila_lendvai1 joined #lisp 2017-03-04T00:14:47Z attila_lendvai1 is now known as attila_lendvai 2017-03-04T00:14:47Z attila_lendvai quit (Changing host) 2017-03-04T00:14:47Z attila_lendvai joined #lisp 2017-03-04T00:15:17Z papachan joined #lisp 2017-03-04T00:16:07Z u0_a61 joined #lisp 2017-03-04T00:18:07Z u0_a61 quit (Client Quit) 2017-03-04T00:19:42Z `0x00`_ joined #lisp 2017-03-04T00:20:10Z varjag quit (Ping timeout: 246 seconds) 2017-03-04T00:20:26Z `0x00`_ quit (Client Quit) 2017-03-04T00:20:29Z sellout- quit (Quit: Leaving.) 2017-03-04T00:20:31Z akkad quit (Excess Flood) 2017-03-04T00:21:19Z `0x00`_ joined #lisp 2017-03-04T00:23:44Z akkad joined #lisp 2017-03-04T00:26:56Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-04T00:27:12Z `0x00`_ quit (Quit: leaving) 2017-03-04T00:29:27Z `0x00`_ joined #lisp 2017-03-04T00:31:19Z fourier joined #lisp 2017-03-04T00:31:21Z `0x00`_ is now known as |0x00| 2017-03-04T00:32:09Z manuel_ quit (Quit: manuel_) 2017-03-04T00:34:27Z kslt1 quit (Ping timeout: 240 seconds) 2017-03-04T00:35:28Z fourier quit (Ping timeout: 240 seconds) 2017-03-04T00:35:45Z |0x00| quit (Quit: leaving) 2017-03-04T00:36:35Z `0x00`_ joined #lisp 2017-03-04T00:37:53Z `0x00`_ is now known as ^0x00 2017-03-04T00:37:58Z smokeink joined #lisp 2017-03-04T00:38:06Z BusFactor1 quit (Ping timeout: 256 seconds) 2017-03-04T00:39:00Z nowhere_man joined #lisp 2017-03-04T00:39:14Z ebrasca is now known as ebrasca-afk 2017-03-04T00:46:20Z Karl_Dscc quit (Remote host closed the connection) 2017-03-04T00:48:18Z fdavid quit (Quit: CGI:IRC) 2017-03-04T00:48:57Z fdavid joined #lisp 2017-03-04T00:50:28Z kelsar777 joined #lisp 2017-03-04T00:58:50Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-04T00:59:37Z smokeink quit (Ping timeout: 260 seconds) 2017-03-04T01:00:35Z kelsar777 quit (Remote host closed the connection) 2017-03-04T01:00:59Z smokeink joined #lisp 2017-03-04T01:02:39Z sellout- joined #lisp 2017-03-04T01:04:16Z nowhere_man quit (Ping timeout: 246 seconds) 2017-03-04T01:04:44Z quazimodo quit (Ping timeout: 256 seconds) 2017-03-04T01:06:26Z smokeink quit (Ping timeout: 256 seconds) 2017-03-04T01:07:55Z jameser joined #lisp 2017-03-04T01:08:13Z smokeink joined #lisp 2017-03-04T01:14:07Z FreeBirdLjj joined #lisp 2017-03-04T01:15:01Z eudoxia joined #lisp 2017-03-04T01:15:13Z eudoxia quit (Client Quit) 2017-03-04T01:18:05Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-04T01:19:24Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-04T01:22:48Z hhdave quit (Quit: hhdave) 2017-03-04T01:27:08Z cromachina joined #lisp 2017-03-04T01:34:41Z jameser joined #lisp 2017-03-04T01:37:19Z ezgoat joined #lisp 2017-03-04T01:38:52Z andrei_chiffa_ joined #lisp 2017-03-04T01:39:49Z wildlander quit (Quit: Saliendo) 2017-03-04T01:40:34Z andrei_chiffa__ quit (Ping timeout: 240 seconds) 2017-03-04T01:46:11Z xhe quit (Ping timeout: 268 seconds) 2017-03-04T01:49:59Z jameser quit (Read error: Connection reset by peer) 2017-03-04T01:50:17Z jameser_ joined #lisp 2017-03-04T01:51:20Z prole quit (Remote host closed the connection) 2017-03-04T01:57:49Z xhe joined #lisp 2017-03-04T01:58:34Z jameser_ quit (Ping timeout: 264 seconds) 2017-03-04T02:05:20Z jameser joined #lisp 2017-03-04T02:10:10Z FreeBirdLjj joined #lisp 2017-03-04T02:10:41Z quazimodo joined #lisp 2017-03-04T02:22:57Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-04T02:23:29Z atheris_ joined #lisp 2017-03-04T02:24:20Z nowhere_man joined #lisp 2017-03-04T02:27:28Z drewc quit (Ping timeout: 260 seconds) 2017-03-04T02:33:36Z adolf_stalin joined #lisp 2017-03-04T02:34:08Z papachan quit (Ping timeout: 240 seconds) 2017-03-04T02:40:33Z drewc joined #lisp 2017-03-04T02:43:43Z hongzhen joined #lisp 2017-03-04T02:53:04Z bgg_ joined #lisp 2017-03-04T02:54:31Z drewc quit (Ping timeout: 246 seconds) 2017-03-04T02:56:06Z bgg_ quit (Client Quit) 2017-03-04T03:06:30Z rumbler31 joined #lisp 2017-03-04T03:06:53Z ryanwatkins joined #lisp 2017-03-04T03:06:56Z phax joined #lisp 2017-03-04T03:07:23Z drewc joined #lisp 2017-03-04T03:08:10Z ^0x00 quit (Quit: leaving) 2017-03-04T03:08:19Z wooden_ quit (Ping timeout: 255 seconds) 2017-03-04T03:10:19Z `0x00` quit (Remote host closed the connection) 2017-03-04T03:13:58Z wooden_ joined #lisp 2017-03-04T03:15:38Z drewc quit (Ping timeout: 256 seconds) 2017-03-04T03:21:22Z sdsadsdas joined #lisp 2017-03-04T03:23:13Z sjl quit (Ping timeout: 246 seconds) 2017-03-04T03:24:52Z BlueRavenGT quit (Ping timeout: 260 seconds) 2017-03-04T03:25:40Z sdsadsdas quit (Ping timeout: 246 seconds) 2017-03-04T03:28:05Z drewc joined #lisp 2017-03-04T03:39:47Z rumbler31 quit (Remote host closed the connection) 2017-03-04T03:40:09Z wheelsucker joined #lisp 2017-03-04T03:41:12Z whomasect quit (Ping timeout: 260 seconds) 2017-03-04T04:07:57Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-04T04:10:29Z drewc quit (Ping timeout: 268 seconds) 2017-03-04T04:17:44Z rb1949 joined #lisp 2017-03-04T04:18:21Z rb1949 quit (Remote host closed the connection) 2017-03-04T04:19:26Z rb1949 joined #lisp 2017-03-04T04:20:53Z rb1949 quit (Remote host closed the connection) 2017-03-04T04:21:19Z rb1949 joined #lisp 2017-03-04T04:23:15Z drewc joined #lisp 2017-03-04T04:25:27Z rb1949 quit (Remote host closed the connection) 2017-03-04T04:26:15Z rb1949 joined #lisp 2017-03-04T04:29:58Z yrdz quit (Read error: Connection reset by peer) 2017-03-04T04:30:15Z safe joined #lisp 2017-03-04T04:30:30Z yrdz joined #lisp 2017-03-04T04:33:42Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-04T04:35:42Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-04T04:41:52Z akkad quit (Excess Flood) 2017-03-04T04:44:13Z holycow quit (Remote host closed the connection) 2017-03-04T04:47:58Z bigos joined #lisp 2017-03-04T04:50:44Z akkad joined #lisp 2017-03-04T05:03:20Z nowhere_man joined #lisp 2017-03-04T05:09:24Z BitPuffin|osx quit (Ping timeout: 260 seconds) 2017-03-04T05:14:23Z akkad quit (Excess Flood) 2017-03-04T05:16:35Z safe quit (Read error: Connection reset by peer) 2017-03-04T05:18:55Z moei quit (Quit: Leaving...) 2017-03-04T05:22:02Z sdsadsdas joined #lisp 2017-03-04T05:23:14Z akkad joined #lisp 2017-03-04T05:25:43Z rb1949 quit (Remote host closed the connection) 2017-03-04T05:26:08Z sdsadsdas quit (Ping timeout: 240 seconds) 2017-03-04T05:26:16Z hongzhen quit (Quit: leaving) 2017-03-04T05:26:39Z xhe quit (Quit: leaving) 2017-03-04T05:27:01Z xhe joined #lisp 2017-03-04T05:30:46Z FreeBirdLjj joined #lisp 2017-03-04T05:39:08Z wtetzner joined #lisp 2017-03-04T05:40:19Z rumbler31 joined #lisp 2017-03-04T05:46:34Z rumbler31 quit (Ping timeout: 264 seconds) 2017-03-04T05:48:32Z mwsb joined #lisp 2017-03-04T05:49:57Z chu quit (Ping timeout: 240 seconds) 2017-03-04T05:50:08Z sirkmatija_ joined #lisp 2017-03-04T05:53:17Z sword joined #lisp 2017-03-04T05:54:34Z ripleon_ quit (Ping timeout: 240 seconds) 2017-03-04T05:55:26Z wheelsucker quit (Ping timeout: 256 seconds) 2017-03-04T05:59:04Z mwsb is now known as chu 2017-03-04T05:59:05Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-04T06:01:28Z phax quit (Quit: Leaving) 2017-03-04T06:03:05Z akkad quit (Excess Flood) 2017-03-04T06:04:26Z mwsb joined #lisp 2017-03-04T06:04:27Z chu quit (Ping timeout: 240 seconds) 2017-03-04T06:07:44Z akkad joined #lisp 2017-03-04T06:12:36Z X-Scale quit (Quit: HydraIRC -> http://www.hydrairc.com <- Would you like to know more?) 2017-03-04T06:12:59Z moei joined #lisp 2017-03-04T06:20:25Z bigos quit (Quit: Leaving) 2017-03-04T06:23:03Z decuser joined #lisp 2017-03-04T06:23:08Z bocaneri joined #lisp 2017-03-04T06:23:49Z vtomole joined #lisp 2017-03-04T06:24:07Z wtetzner quit (Remote host closed the connection) 2017-03-04T06:25:02Z bigos joined #lisp 2017-03-04T06:28:02Z rippa joined #lisp 2017-03-04T06:29:13Z beach: Good morning everyone! 2017-03-04T06:29:17Z sirkmatija_: good morning 2017-03-04T06:30:00Z bocaneri quit (Max SendQ exceeded) 2017-03-04T06:30:18Z sirkmatija_: So, I have some code that uses clisp nonstandard features, namely ext:run-shell-command. Is there any alternative that will work in more compilers? 2017-03-04T06:30:51Z bocaneri joined #lisp 2017-03-04T06:30:54Z beach: I think UIOP has some of that stuff. 2017-03-04T06:31:46Z sirkmatija_: thanks 2017-03-04T06:32:40Z beach: There is a function RUN-PROGRAM: https://common-lisp.net/project/asdf/asdf.html#Miscellaneous-Functions 2017-03-04T06:33:35Z beach: ... and UIOP comes with ASDF, so you typically always have it. 2017-03-04T06:34:09Z jack_rabbit joined #lisp 2017-03-04T06:37:28Z vtomole: I didn't know you work weekends beach 2017-03-04T06:37:41Z beach: I always work. 2017-03-04T06:39:01Z smokeink quit (Ping timeout: 258 seconds) 2017-03-04T06:40:48Z smokeink joined #lisp 2017-03-04T06:42:24Z rumbler31 joined #lisp 2017-03-04T06:43:04Z vtomole: beach: I'm still reading "lisp in small pieces" to prepare myself for SICL development, what are you planning on compiling SICL to? x86_64? 2017-03-04T06:43:08Z sirkmatija_: I found it, thanks again 2017-03-04T06:43:48Z beach: vtomole: Initially, yes. 2017-03-04T06:44:25Z beach: sirkmatija_: Anytime! 2017-03-04T06:45:18Z beach: vtomole: I extracted the assembler to a separate repository: https://github.com/robert-strandh/Cluster 2017-03-04T06:45:26Z vtomole: beach: I'm in the "compile to C part of the book". Man this stuff is more interesting than i expected. I know you already wrote an assembler, but how is the code generation part of the project going? 2017-03-04T06:46:41Z beach: I am currently not working on that aspect. Bike is doing some work on the optimization stuff, like escape analysis, type inference, etc. 2017-03-04T06:47:37Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-04T06:48:28Z beach: Unfortunately, there are many things that need to be done, and not enough time, and not enough manpower. 2017-03-04T06:50:48Z sirkmatija_: wtf was this guy doing: USE-PACKAGE # causes name-conflicts in # between the following symbols: LISPC::SETF, COMMON-LISP:SETF 2017-03-04T06:50:50Z vtomole: I know, that's why i want to help. Unfortunately, i don't have enough knowledge to contribute, yet. 2017-03-04T06:51:21Z beach: vtomole: You will, don't worry. 2017-03-04T06:51:46Z beach: sirkmatija_: You need to paste your code. 2017-03-04T06:52:24Z sirkmatija_: It's just an error message, I am trying to get lispc to work on my machine 2017-03-04T06:52:44Z beach: What is "lispc"? 2017-03-04T06:52:46Z sirkmatija_: i didn't even find yet the localiton of error 2017-03-04T06:53:17Z vtomole: beach: Any "beginner" SICL assignments you can give me? 2017-03-04T06:53:30Z sirkmatija_: something like cl-html just for c, you know, not exactly compiler, but close 2017-03-04T06:54:01Z beach: vtomole: I haven't thought about it. Give me some time and I will think of something. 2017-03-04T06:56:56Z beach: vtomole: How about this (small thing, I know): I believe someone added some code that uses DO, DOTIMES, or DOLIST. I much prefer LOOP. If you want to, you could replace the existing iteration construct with LOOP. 2017-03-04T06:59:14Z vtomole: What directory/directories is this code in? 2017-03-04T06:59:48Z beach: vtomole: start by doing `git grep "(do"' in the top directory. 2017-03-04T07:00:22Z jack_rip_vim joined #lisp 2017-03-04T07:00:38Z decuser quit (Quit: rcirc on GNU Emacs 25.1.1) 2017-03-04T07:00:47Z jack_rip_vim left #lisp 2017-03-04T07:00:57Z vtomole: *unrelated* why do you prefer LOOP? 2017-03-04T07:01:29Z beach: I find it much easier to read and understand. 2017-03-04T07:05:37Z quazimodo quit (Ping timeout: 268 seconds) 2017-03-04T07:05:42Z stepnem joined #lisp 2017-03-04T07:05:49Z beach: vtomole: Oh, here is some more stuff if you are interested: I have a goal to use specific subclasses of ERROR rather than SIMPLE-ERROR, but sometimes I am lazy and I just temporarily put (ERROR "bla bla") in the code. You could work on finding such occurrences and create specific condition types for those. I have a rule that I put conditions in a separate file (typically conditions.lisp) and they use ACCLIMATION:CONDITION as a 2017-03-04T07:05:49Z beach: superclass. 2017-03-04T07:06:28Z beach: vtomole: I also typically create a file named condition-reporters-english.lisp that has English-language condition reporters in it. 2017-03-04T07:09:52Z gingerale joined #lisp 2017-03-04T07:12:30Z beach: When people use simple errors, the messages tend to be skimpy, because long error messages ruin the code layout. By putting the condition reporters in a separate file, and by using the FORMAT directive ~@, the messages can be much more complete. 2017-03-04T07:13:25Z vtomole: Ok i'll look into it 2017-03-04T07:13:35Z Petit_Dejeuner: If you define your own errors, you can add other useful information irrc. 2017-03-04T07:13:52Z Petit_Dejeuner: It beats parsing the error message. 2017-03-04T07:14:07Z beach: vtomole: Just a suggestion. If that stuff doesn't interest you, don't feel you have to do it. 2017-03-04T07:14:34Z beach: Petit_Dejeuner: And it is easier for client code to handle the errors. 2017-03-04T07:14:54Z Petit_Dejeuner: exactly 2017-03-04T07:15:06Z Petit_Dejeuner is tired of getting ValueError exceptions in his Python code. 2017-03-04T07:15:23Z Petit_Dejeuner: beach: Was this the VAX Alpha stuff you were talking about the other day? http://h41379.www4.hpe.com/openvms/products/omsva/omsva_012_release_notes.html 2017-03-04T07:16:43Z beach: Petit_Dejeuner: Looks like it, yes. 2017-03-04T07:17:28Z beach: I haven't seen that particular document, though. I only remember conference papers and such. But it was some time ago, so I don't remember anything specific. 2017-03-04T07:17:29Z Petit_Dejeuner: Did you have anything in mind when you mentioned that? The only thing I've found besides that is some old magazine article on the switch to Alpha. 2017-03-04T07:17:38Z Petit_Dejeuner: Ah, oh well. 2017-03-04T07:17:59Z beach: I just remember that the stuff was totally brilliant. 2017-03-04T07:20:13Z beach: Each executable had to have a complete VAX emulator and a complete copy of the original VAX code. 2017-03-04T07:20:20Z vtomole quit (Ping timeout: 260 seconds) 2017-03-04T07:20:58Z beach: ... because some VAX code would create code on the stack at runtime and then execute it. 2017-03-04T07:21:09Z Petit_Dejeuner: Oh dear. 2017-03-04T07:21:56Z beach: And some VAX code would use an instruction as data, if it so happened that the instruction opcode was the right one for the datum in question. 2017-03-04T07:22:14Z beach: Clearly, the Alpha translation would not have the same value. 2017-03-04T07:22:51Z sdsadsdas joined #lisp 2017-03-04T07:23:03Z beach: So the translated code would alternate between executing native Alpha code and emulated VAX code. 2017-03-04T07:25:02Z beach: So the "totally brilliant" part was the fact that they could handle all possible VAX code, no matter how badly written it was, while still getting decent performance out of it by attempting to execute it as native Alpha code as much as possible. 2017-03-04T07:27:32Z cibs quit (Ping timeout: 260 seconds) 2017-03-04T07:27:49Z sdsadsdas quit (Ping timeout: 268 seconds) 2017-03-04T07:29:28Z cibs joined #lisp 2017-03-04T07:34:11Z sirkmatija_ quit (Quit: sirkmatija_) 2017-03-04T07:35:54Z hongzhen joined #lisp 2017-03-04T07:37:52Z adolf_stalin quit (Remote host closed the connection) 2017-03-04T07:40:42Z fdavid quit (Quit: CGI:IRC (Session timeout)) 2017-03-04T07:45:19Z bigos quit (Quit: Leaving) 2017-03-04T07:50:17Z DGASAU quit (Read error: Connection reset by peer) 2017-03-04T07:51:50Z DGASAU joined #lisp 2017-03-04T07:52:58Z megalography quit (Quit: Leaving.) 2017-03-04T07:53:04Z sword quit (Remote host closed the connection) 2017-03-04T07:59:26Z angavrilov joined #lisp 2017-03-04T08:02:28Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-04T08:04:35Z mishoo joined #lisp 2017-03-04T08:05:12Z nulquen joined #lisp 2017-03-04T08:05:30Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-04T08:13:20Z fourier joined #lisp 2017-03-04T08:20:18Z FreeBirdLjj joined #lisp 2017-03-04T08:24:34Z yeticry joined #lisp 2017-03-04T08:24:40Z pegu quit (Remote host closed the connection) 2017-03-04T08:24:47Z Karl_Dscc joined #lisp 2017-03-04T08:27:08Z yeticry_ quit (Ping timeout: 240 seconds) 2017-03-04T08:36:31Z DGASAU quit (Read error: Connection reset by peer) 2017-03-04T08:40:56Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-04T08:41:06Z lambda-smith joined #lisp 2017-03-04T08:42:36Z fourier quit (Remote host closed the connection) 2017-03-04T08:44:09Z haom joined #lisp 2017-03-04T08:44:27Z haom: jaaj 2017-03-04T08:44:41Z haom: (mistyped) 2017-03-04T08:45:31Z cibs quit (Ping timeout: 268 seconds) 2017-03-04T08:47:22Z cibs joined #lisp 2017-03-04T08:50:00Z pve joined #lisp 2017-03-04T08:56:28Z xhe quit (Quit: leaving) 2017-03-04T08:56:51Z xhe joined #lisp 2017-03-04T08:56:51Z nirved joined #lisp 2017-03-04T08:57:22Z sbodin joined #lisp 2017-03-04T08:59:32Z xhe quit (Client Quit) 2017-03-04T08:59:51Z xhe joined #lisp 2017-03-04T09:00:10Z smokeink quit (Ping timeout: 256 seconds) 2017-03-04T09:02:39Z smokeink joined #lisp 2017-03-04T09:04:36Z xhe quit (Ping timeout: 260 seconds) 2017-03-04T09:05:18Z FreeBirdLjj joined #lisp 2017-03-04T09:05:31Z xhe joined #lisp 2017-03-04T09:06:55Z okflo joined #lisp 2017-03-04T09:08:34Z Cymew joined #lisp 2017-03-04T09:10:18Z haom left #lisp 2017-03-04T09:23:59Z sdsadsdas joined #lisp 2017-03-04T09:28:24Z sdsadsdas quit (Ping timeout: 260 seconds) 2017-03-04T09:30:09Z whomasect joined #lisp 2017-03-04T09:35:31Z attila_lendvai joined #lisp 2017-03-04T09:35:31Z attila_lendvai quit (Changing host) 2017-03-04T09:35:31Z attila_lendvai joined #lisp 2017-03-04T09:44:55Z Bike quit (Quit: leaving) 2017-03-04T09:48:29Z schpprke quit (Ping timeout: 252 seconds) 2017-03-04T09:52:42Z hongzhen quit (Quit: leaving) 2017-03-04T09:54:57Z loke` joined #lisp 2017-03-04T10:02:05Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-04T10:02:42Z FreeBirdLjj joined #lisp 2017-03-04T10:05:23Z haom joined #lisp 2017-03-04T10:05:27Z haom: hello 2017-03-04T10:05:41Z jack_rabbit: o/ 2017-03-04T10:06:07Z haom: is there a setting to stop output functions like prin1 from adding newlines on long outputs? 2017-03-04T10:07:02Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2017-03-04T10:07:40Z jack_rabbit: Not AFAIK. 2017-03-04T10:08:42Z hongzhen joined #lisp 2017-03-04T10:12:41Z kushal quit (Ping timeout: 255 seconds) 2017-03-04T10:14:44Z kushal joined #lisp 2017-03-04T10:15:08Z kushal is now known as Guest97839 2017-03-04T10:19:05Z varjag joined #lisp 2017-03-04T10:22:47Z haom: the problem is, newlines are automatically added even in format, when the ~A format directive is used. 2017-03-04T10:25:50Z haom: aww, yeah, i see, automatic newlines are a consequence of *print-pretty* being set to t. 2017-03-04T10:26:11Z haom: once pretty printing is disabled, no nonsensical newlines are added. 2017-03-04T10:30:50Z hongzhen quit (Quit: leaving) 2017-03-04T10:40:44Z arbv quit (Quit: ZNC - http://znc.in) 2017-03-04T10:41:41Z arbv joined #lisp 2017-03-04T10:45:53Z rumbler31 joined #lisp 2017-03-04T10:49:08Z okflo quit (Remote host closed the connection) 2017-03-04T10:50:10Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-04T10:50:30Z FreeBirdLjj joined #lisp 2017-03-04T10:51:09Z haom left #lisp 2017-03-04T10:54:32Z ryanwatk` joined #lisp 2017-03-04T10:55:46Z ryanwatkins quit (Ping timeout: 256 seconds) 2017-03-04T11:00:52Z liead is now known as adlai 2017-03-04T11:01:45Z pegu joined #lisp 2017-03-04T11:02:44Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-04T11:03:00Z szmer joined #lisp 2017-03-04T11:03:33Z okflo joined #lisp 2017-03-04T11:03:57Z mwsb is now known as chu 2017-03-04T11:04:43Z attila_lendvai joined #lisp 2017-03-04T11:05:01Z hhdave joined #lisp 2017-03-04T11:09:08Z prole joined #lisp 2017-03-04T11:09:47Z nulquen quit (Ping timeout: 260 seconds) 2017-03-04T11:18:41Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-04T11:19:21Z jack_rabbit: Rekindling my love of lisp. 2017-03-04T11:20:35Z jack_rabbit: Created a library that loads a CSV with a few functions to select on the data like a proper database. 2017-03-04T11:22:23Z varjag: cool 2017-03-04T11:22:34Z varjag: there were some csv libraries for cl i think 2017-03-04T11:23:35Z papachan joined #lisp 2017-03-04T11:23:45Z raynold joined #lisp 2017-03-04T11:23:49Z axion quit (Quit: WeeChat 1.7) 2017-03-04T11:24:37Z sdsadsdas joined #lisp 2017-03-04T11:25:41Z axion joined #lisp 2017-03-04T11:26:12Z axion quit (Client Quit) 2017-03-04T11:26:36Z axion joined #lisp 2017-03-04T11:29:16Z sdsadsdas quit (Ping timeout: 260 seconds) 2017-03-04T11:36:12Z sjl joined #lisp 2017-03-04T11:42:01Z axion quit (Quit: WeeChat 1.7) 2017-03-04T11:48:22Z papachan quit (Ping timeout: 264 seconds) 2017-03-04T11:57:57Z skeuomorf joined #lisp 2017-03-04T12:01:28Z kelsar777 joined #lisp 2017-03-04T12:01:51Z kelsar777 quit (Client Quit) 2017-03-04T12:03:47Z papachan joined #lisp 2017-03-04T12:05:21Z hhdave quit (Quit: hhdave) 2017-03-04T12:09:52Z scymtym quit (Remote host closed the connection) 2017-03-04T12:12:03Z d4ryus3 joined #lisp 2017-03-04T12:13:08Z sbodin quit (Ping timeout: 260 seconds) 2017-03-04T12:15:06Z d4ryus2 quit (Ping timeout: 260 seconds) 2017-03-04T12:22:56Z trocado joined #lisp 2017-03-04T12:31:47Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-04T12:31:50Z papachan quit (Ping timeout: 268 seconds) 2017-03-04T12:46:01Z the-blackbeard joined #lisp 2017-03-04T12:46:45Z rumbler31 joined #lisp 2017-03-04T12:47:36Z attila_lendvai joined #lisp 2017-03-04T12:48:07Z Trystam joined #lisp 2017-03-04T12:48:07Z Trystam quit (Changing host) 2017-03-04T12:48:07Z Trystam joined #lisp 2017-03-04T12:49:42Z scymtym joined #lisp 2017-03-04T12:49:57Z Tristam quit (Ping timeout: 240 seconds) 2017-03-04T12:50:02Z Trystam is now known as Tristam 2017-03-04T12:50:55Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-04T13:00:38Z rogersm joined #lisp 2017-03-04T13:01:49Z trocado quit (Remote host closed the connection) 2017-03-04T13:02:45Z quazimodo joined #lisp 2017-03-04T13:04:54Z sirkmatija_ joined #lisp 2017-03-04T13:12:04Z hvxgr quit (Quit: leaving) 2017-03-04T13:12:24Z hvxgr joined #lisp 2017-03-04T13:25:12Z LiamH joined #lisp 2017-03-04T13:25:38Z sdsadsdas joined #lisp 2017-03-04T13:25:46Z rippa joined #lisp 2017-03-04T13:26:19Z BitPuffin|osx joined #lisp 2017-03-04T13:28:46Z smokeink quit (Quit: leaving) 2017-03-04T13:30:01Z rogersm quit (Quit: rogersm) 2017-03-04T13:30:22Z sdsadsdas quit (Ping timeout: 264 seconds) 2017-03-04T13:39:51Z sirkmatija_ quit (Quit: sirkmatija_) 2017-03-04T13:40:36Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-04T13:41:18Z sbodin joined #lisp 2017-03-04T13:43:18Z andrei_chiffa__ joined #lisp 2017-03-04T13:43:27Z shifty quit (Ping timeout: 240 seconds) 2017-03-04T13:44:04Z andrei_chiffa_ quit (Ping timeout: 240 seconds) 2017-03-04T13:48:26Z BusFactor1 joined #lisp 2017-03-04T13:52:12Z mr_robot joined #lisp 2017-03-04T13:54:35Z fourier joined #lisp 2017-03-04T13:55:47Z himmAllRight quit (Remote host closed the connection) 2017-03-04T13:56:34Z himmAllRight joined #lisp 2017-03-04T13:59:44Z andrei_chiffa_ joined #lisp 2017-03-04T14:00:04Z andrei_chiffa__ quit (Ping timeout: 240 seconds) 2017-03-04T14:08:32Z fdavid joined #lisp 2017-03-04T14:09:49Z fdavid: is there any practical difference between (setf x 10) and (setq x 10)? 2017-03-04T14:10:28Z beach: fdavid: No, the former macroexpands to the latter. 2017-03-04T14:10:37Z fdavid: also (set 'x 10) 2017-03-04T14:10:49Z beach: fdavid: Current thinking is to use SETF always. 2017-03-04T14:11:05Z beach: fdavid: SET won't work on lexical variables. 2017-03-04T14:11:12Z fdavid: ah 2017-03-04T14:11:19Z beach: There is no reason to use SET anymore. 2017-03-04T14:13:17Z fdavid: at the same time is there a reason NOT to use it? 2017-03-04T14:13:31Z cibs quit (Ping timeout: 260 seconds) 2017-03-04T14:13:58Z pjb: fdavid: there are two cases: either x is a symbol macro or not. 2017-03-04T14:14:24Z pjb: fdavid: if x is a symbol macro, then setq will expand to (setf x 10), otherwise it will change the binding itself. 2017-03-04T14:14:35Z beach: fdavid: The best reason I can think of is that nobody else is using it, so you would baffle people reading your code. 2017-03-04T14:14:50Z pjb: fdavid: if x is not a symbol macro, then setf will expand to (setq x 10), otherwise it will expand the symbol macro and setf the expansion. 2017-03-04T14:14:51Z fdavid: pjb what is a symbol macro? 2017-03-04T14:14:59Z pjb: clhs define-symbol-macro 2017-03-04T14:15:01Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_defi_1.htm 2017-03-04T14:15:20Z fdavid: setf sometimes expands to setq and setq sometimes expands to setf? 2017-03-04T14:15:23Z pjb: a symbol macro is an expression that is substituted in place of x when has to be evaluated. 2017-03-04T14:15:27Z cibs joined #lisp 2017-03-04T14:15:35Z pjb: fdavid: exactly! They're mutually recursive :-0 2017-03-04T14:16:26Z pjb: fdavid: in practice, since there is no sensible impact on compilation time, we always just use setf nowadays. 2017-03-04T14:16:36Z loke` quit (Remote host closed the connection) 2017-03-04T14:17:42Z _death: well, setq is a special operator, so saying it expands to setf is a bit misleading 2017-03-04T14:18:10Z wildlander joined #lisp 2017-03-04T14:18:11Z pjb: The exact wording is: "If any var refers to a binding made by symbol-macrolet, then that var is treated as if setf (not setq) had been used". 2017-03-04T14:18:24Z pjb: But I fail to see any difference. 2017-03-04T14:18:46Z pjb: _death: also, the fact that it's noted as special operator doesn't prevent the implementation to define a macro for it. 2017-03-04T14:19:11Z pjb: It would be simple to have such a macro to process the case of the symbol-macros. 2017-03-04T14:19:29Z fdavid: I guess I am used to using setq all the time in emacs lisp so I brought that habit into CL 2017-03-04T14:19:46Z pjb: fdavid: I'm used to use setf, so I brought that habit into emacs lisp :-) 2017-03-04T14:19:47Z beach: fdavid: I suggest you change your habit. 2017-03-04T14:19:55Z fdavid: pjb :) 2017-03-04T14:20:04Z beach: fdavid: You will need SETF for other things. 2017-03-04T14:20:24Z fdavid: i realize that, I am just talking about setting plain symbols 2017-03-04T14:20:25Z beach: fdavid: For example (SETF (AREF A I) ...). 2017-03-04T14:20:44Z beach: fdavid: The current thinking is not to use SETQ. 2017-03-04T14:21:27Z brandonz quit (Ping timeout: 240 seconds) 2017-03-04T14:21:47Z pjb: also those forms can perform multiple bindings, so setf will work better: (setf x 1 (car l) x (aref a x) l) 2017-03-04T14:21:58Z koisoke quit (Ping timeout: 255 seconds) 2017-03-04T14:22:27Z pjb: If you use (setq x 1), then you cannot add new bindings with places in it, you have to change the setq into a setf. 2017-03-04T14:22:31Z brandonz joined #lisp 2017-03-04T14:22:46Z koisoke joined #lisp 2017-03-04T14:24:49Z phoe: wait, setq does not expand into anything 2017-03-04T14:25:08Z phoe: if anything, setf *may* expand into setq 2017-03-04T14:25:09Z beach: phoe: Correct, but it is treated like SETF in some cases. 2017-03-04T14:25:20Z phoe: yes, in some cases - they're specified in the standard. 2017-03-04T14:25:39Z beach: But you are right, "expand" is not the right term. 2017-03-04T14:28:21Z phoe: If anything expands, then it's macros. 2017-03-04T14:29:17Z phoe: (Gosh, I'm scaring myself with how much I soaked up the standard and its mannerisms.) 2017-03-04T14:29:44Z beach: Interestingly, there doesn't seem to be a glossary entry for "expand". 2017-03-04T14:29:54Z fdavid: getting back into CL so I am refamiliarizing myself with it. what about equality, IIRC I used equal most of the time, except when comparing references, when I used eq 2017-03-04T14:30:33Z beach: fdavid: You should use EQL for things like numbers and characters. 2017-03-04T14:30:57Z fdavid: beach why? 2017-03-04T14:31:00Z _death: beach: but there is one for "macro expansion" 2017-03-04T14:31:35Z beach: fdavid: Because EQUAL is potentially more expensive, and EQ is not the correct one. 2017-03-04T14:31:38Z phoe: fdavid: depends on what you mean by "equal". 2017-03-04T14:32:04Z beach: fdavid: Right, what phoe says. Sometimes you might want to use = for numbers. 2017-03-04T14:32:05Z phoe: object identity? object value? "equality" of object constituents? 2017-03-04T14:32:09Z fdavid: equal - value equality, which is what i want 99% of the time. and eq for reference equality 2017-03-04T14:32:18Z fdavid: oh yeah there's = too.. 2017-03-04T14:32:18Z phoe: fdavid: what are the types of objects that you want to compare? 2017-03-04T14:32:23Z fdavid: too many equality functions :P 2017-03-04T14:32:28Z phoe: fdavid: no, not too many 2017-03-04T14:32:36Z phoe: "equal" is an imprecise term. it may mean multiple things. 2017-03-04T14:32:42Z phoe: so we have multiple "equality" predicates. 2017-03-04T14:32:44Z beach: fdavid: You would be sending the wrong message if were to use EQUAL for things like characters. 2017-03-04T14:32:56Z beach: if YOU were to use 2017-03-04T14:32:57Z pjb: (list (equalp 1.0 1) (equal 1.0 1) (eql 1.0 1)) #| --> (t nil nil) |# 2017-03-04T14:33:06Z phoe: Anyway: 2017-03-04T14:33:07Z fdavid: phoe so you really think we need eq, eql, equal, equalp, =, and "we hope you can guess which one does what for particular type"? 2017-03-04T14:33:20Z phoe: fdavid: yes. 2017-03-04T14:33:30Z _death: why guess? the semantics are clear 2017-03-04T14:33:31Z beach: fdavid: They send different messages. 2017-03-04T14:33:33Z phoe: or else we land in the land of implicit convertions, like == in Javascript. 2017-03-04T14:33:42Z phoe: and we go to hell because of this. 2017-03-04T14:33:47Z phoe: like Javascript. 2017-03-04T14:33:52Z fdavid: phoe what does implicit conversions have anything to do with it 2017-03-04T14:34:18Z fdavid: I need value equality 99% of the time, and reference equality 1% of the time. I don't see why I need separate equality for numbers or characters 2017-03-04T14:34:21Z phoe: fdavid: I don't imagine not having implicit convertions if you have only one equality operator. 2017-03-04T14:34:41Z fdavid: phoe why not? 2017-03-04T14:35:06Z phoe: fdavid: because one equality operator cannot convey the multitude of meanings behind "equal". 2017-03-04T14:35:07Z fdavid: (and I am talking two, not one. though there are languages with a single quality operator and no implicit conversions) 2017-03-04T14:35:21Z beach: fdavid: If you use EQUAL, the person reading your code will not guess that you might be comparing characters. 2017-03-04T14:36:16Z phoe: but hell, we're starting a minor discussion here. I'd rather answer your question first and then indulge in disputes. 2017-03-04T14:36:21Z phoe: fdavid: what are the types of objects that you want to compare? 2017-03-04T14:36:42Z beach: fdavid: There is no such thing as "value equality". Each equality predicate has different semantics, for example on numbers, strings, arrays, etc. 2017-03-04T14:36:55Z fdavid: I want to compare any object by value. will equal always do that? and I want to compare by reference, which is what eq does 2017-03-04T14:37:36Z fdavid: beach value equality = same value, possibly different references referring to that value 2017-03-04T14:37:40Z beach: fdavid: What do you mean by comparing two vectors by value? 2017-03-04T14:37:41Z phoe: fdavid: I need more data - define "value" of object. 2017-03-04T14:37:52Z phoe: And define "object", since that's very imprecise as well. 2017-03-04T14:38:10Z _death: fdavid: you may be interested in http://www.nhplace.com/kent/PS/EQUAL.html 2017-03-04T14:38:43Z fdavid: beach same elements, same number of elements (which is really implied by the former) 2017-03-04T14:38:56Z beach: fdavid: Then EQUAL won't do. 2017-03-04T14:39:05Z fdavid: wonderful 2017-03-04T14:39:10Z beach: clhs equal 2017-03-04T14:39:10Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_equal.htm 2017-03-04T14:39:18Z fdavid: what does equal do? also compare reserved memory? 2017-03-04T14:39:31Z beach: See the Common Lisp HyperSpec page. 2017-03-04T14:39:41Z beach: It says precisely what it does. 2017-03-04T14:40:06Z fdavid: beach and that is exactly what is my issue, I have to keep checking docs for every type, and each of the half a dozen equality functions and operators 2017-03-04T14:40:07Z makkron_ joined #lisp 2017-03-04T14:40:23Z beach: fdavid: Maybe Common Lisp is not for you then. 2017-03-04T14:41:00Z phoe: fdavid: 2017-03-04T14:41:03Z phoe: clhs equalp 2017-03-04T14:41:03Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_equalp.htm 2017-03-04T14:41:10Z phoe: this checks arrays for contents. 2017-03-04T14:42:07Z fdavid: ok. so how does this make any sense? equal compares if two strings have same elements. it does not compare if two vectors have same elements. equalp compares if two vectors have same elements, but it does NOT compare if two strings have same elements 2017-03-04T14:42:23Z fdavid: it is like they threw a dice when deciding what each function does for each type 2017-03-04T14:42:50Z beach: fdavid: I think you know that this description is inaccurate. 2017-03-04T14:43:07Z fdavid: point inaccuracy 2017-03-04T14:44:22Z beach: phoe: I think fdavid knows that. His point is that he doesn't want Common Lisp to be like that. There is not much we can do to fix that for him. 2017-03-04T14:44:47Z phoe: ha 2017-03-04T14:44:50Z phoe: beach: I disagree 2017-03-04T14:45:01Z phoe: from what I've seen, us lispers are used to modifying the language to suit our needs. 2017-03-04T14:45:28Z Xach_: especially new lispers, who have many feelings that must be accomodated before proceeding. 2017-03-04T14:46:57Z phoe: (defun vector= (v1 v2) (unless (/= (length v1) (length v2)) (loop for x below (length v1) unless (eql (aref v1 x) (aref v2 x)) do (return nil)) t)) 2017-03-04T14:47:11Z phoe: where you can substitute the inner eql for any other required predicate. 2017-03-04T14:47:24Z phoe: this is a quick sketch, I don't know if it works 2017-03-04T14:47:29Z phoe: but should convey the general idea. 2017-03-04T14:48:06Z nowhere_man joined #lisp 2017-03-04T14:49:34Z phoe: fdavid: ^ 2017-03-04T14:50:53Z fdavid: phoe I don't understand your point. didn't you just reimplement equalp for vectors? 2017-03-04T14:51:02Z phoe: no, of course not 2017-03-04T14:51:10Z phoe: I'm not using equalp to compare inner elements, I'm using eql 2017-03-04T14:51:35Z fdavid: so it doesn't work if you have vector of strings? 2017-03-04T14:52:04Z phoe: can work, just substitute eql for equal 2017-03-04T14:52:22Z phoe: again - depends on what you want to compare 2017-03-04T14:53:01Z phoe: Common Lisp is statically typed despite the common gossip, it just checks types at runtime. 2017-03-04T14:53:19Z beach: fdavid: If you read the page that _death suggested, you will understand that there is no such thing as "work". It all depends on what it is that you want to do. 2017-03-04T14:53:40Z beach: ... which is what phoe is saying as well. 2017-03-04T14:53:48Z fdavid: I want to compare elements by value. equalp will not compare vectors of strings by value. and equal will not compare vectors of strings by value 2017-03-04T14:54:04Z beach: fdavid: There is no such thing as "compare by value". 2017-03-04T14:54:15Z beach: fdavid: It depends on the types of those values. 2017-03-04T14:54:16Z phoe: fdavid: no, you want to compare values by value. 2017-03-04T14:54:21Z fdavid: so we have half a dozen (maybe dozen if counting things like string=) equality functions and operators, but not a single one that will comapre vector of strings by v alue :P 2017-03-04T14:54:27Z fdavid: beach there certainly is 2017-03-04T14:54:51Z fdavid: it is quite obvious what comparing strings and vectors by value means. you are just being difficult 2017-03-04T14:55:05Z beach: fdavid: You may have your personal definition, but there is no such definition in Common Lisp. 2017-03-04T14:55:15Z phoe: fdavid: you're free to define such a thing 2017-03-04T14:55:25Z phoe: (defun string-vector-equal (v1 v2) (unless (/= (length v1) (length v2)) (loop for x below (length v1) unless (eql (aref v1 x) (aref v2 x)) do (return nil)) t)) 2017-03-04T14:55:30Z phoe: uh wait 2017-03-04T14:55:41Z phoe: (defun string-vector-equal (v1 v2) (unless (/= (length v1) (length v2)) (loop for x below (length v1) unless (string= (aref v1 x) (aref v2 x)) do (return nil)) t)) 2017-03-04T14:55:54Z phoe: there, a function that compares vector of strings by value 2017-03-04T14:56:18Z fdavid: phoe the point of having generic "compare by value" and "compare by reference" operators would be to not have to redefine such things for different types 2017-03-04T14:56:43Z phoe: fdavid: CL doesn't have generic equality operators. 2017-03-04T14:57:04Z fdavid: and type-specific things, like "comparing strings and ignoring case" have zero no place in generic equality operators 2017-03-04T14:57:18Z phoe: ha, but they're pretty useful in Common Lisp 2017-03-04T14:57:33Z phoe: where you often mix manipulating strings and symbols. 2017-03-04T14:57:38Z fdavid: who said they aren't useful? 2017-03-04T14:58:05Z phoe: fdavid: you might actually have a point. 2017-03-04T14:58:49Z phoe: but then again: _death linked up a very good article about equality. 2017-03-04T14:58:59Z phoe: and the trouble that comes with word "equality". 2017-03-04T14:59:36Z phoe: fdavid: I suggest we both read this thing and then perhaps start thinking on implementing this generic equality predicate. 2017-03-04T15:00:05Z phoe: Because it sounds fun. 2017-03-04T15:00:11Z beach: A generic equality operator could work, if it took a third argument. A kind of "context" that could be specialized upon. 2017-03-04T15:01:05Z fdavid: I don't see a need for a third argument 2017-03-04T15:01:15Z beach: For example, if I write an information system, I might want to consider two people equal if they have the same social-security number, or two cars to be equal if they have the same registration number. 2017-03-04T15:01:39Z beach: No built-in predicate can guess my intentions. 2017-03-04T15:02:06Z beach: But I think Kent Pitman's article discusses that. 2017-03-04T15:02:26Z beach re-reads it. 2017-03-04T15:02:27Z fdavid: so why do you need a third argument? just make the user define eqval method 2017-03-04T15:03:04Z phoe: fdavid: the "equal method" is simple. beach probably means something which is a bit more complicated. 2017-03-04T15:03:33Z phoe: Such as, well, different kinds of "equality", "equivalence", "sameness", possibly on different levels of nestedness. 2017-03-04T15:03:48Z phoe: Sounds pretty crazy, but all the possible definitions of equality are just as crazy. 2017-03-04T15:03:56Z fdavid: make defaults for built-in types, and make explicit definition mandatory for user defined types 2017-03-04T15:04:03Z beach: Ah, yes, he calls it INTENTIONAL-TYPE. 2017-03-04T15:04:07Z phoe: Sounds good. 2017-03-04T15:04:40Z phoe: CLOS might help with that - the programmer might just want to define a method on some GENERIC-EQUAL generic function. 2017-03-04T15:05:23Z vap1 quit (Remote host closed the connection) 2017-03-04T15:05:41Z phoe: But then again - equality might mean different things in different contexts. People can be measured and therefore equal by height, by weight, by IQ or by marathon running speed. 2017-03-04T15:05:44Z beach: The INTENTIONAL-TYPE if I want to compare two cars by registration number, or by color, for instance. 2017-03-04T15:05:59Z phoe: Ha, I think we just said the same thing. 2017-03-04T15:06:02Z beach: Yes. 2017-03-04T15:06:15Z beach: Except my phrase was ungrammatical. 2017-03-04T15:06:32Z beach: The INTENTIONAL-TYPE would be different if I want to compare two cars by registration number, or by color, for instance. 2017-03-04T15:06:35Z beach: There. 2017-03-04T15:06:44Z phoe: I understood what you meant. 2017-03-04T15:06:53Z phoe: fdavid: do you have time today? 2017-03-04T15:07:01Z beach: phoe: You are not the one I am trying to educate. 2017-03-04T15:07:05Z phoe: beach: got it. 2017-03-04T15:07:11Z fdavid: beach so just make compare-car-colors and compare-car-registration methods. stuffing specific equality comparisons like that in a generic equality method leads to mess like we have now 2017-03-04T15:07:55Z dim: sometimes the attitude of free software users is beyond me 2017-03-04T15:08:13Z phoe: fdavid: but it leads us back to the point where we started off. generic equality by value catches fire whenever there are multiple kinds of equality or possible equalities by multiple values. 2017-03-04T15:09:44Z phoe: fdavid: also, (every #'string= vector-1 vector-2) 2017-03-04T15:09:55Z vap1 joined #lisp 2017-03-04T15:10:15Z vaporatorius joined #lisp 2017-03-04T15:10:15Z dim: (the users in question are on github, btw, not here) 2017-03-04T15:10:47Z vaporatorius quit (Client Quit) 2017-03-04T15:10:48Z phoe: dim: what do you mean? the ToS thing? 2017-03-04T15:10:57Z phoe: dim: maybe we can talk about this on #lispcafe 2017-03-04T15:11:21Z fdavid: phoe the best solution would be generic equality for built in types, and forcing the user to define equality method for his own types, otherwise equality operator doesn't work 2017-03-04T15:11:31Z axion joined #lisp 2017-03-04T15:11:52Z phoe: fdavid: sounds sane. We already know all the built-in types. 2017-03-04T15:12:29Z phoe: So we can figure out the scope of such a function 2017-03-04T15:13:35Z phoe: so on the Lisp "equality scale", I think we'll want something that goes between #'EQUAL and #'EQUALP 2017-03-04T15:13:45Z fdavid: it would force the user to think about equality, instead of just piggybacking on equality until figuring out that it does the wrong thing 2017-03-04T15:13:57Z fdavid: on equal* 2017-03-04T15:13:59Z phoe: That is able to traverse the structure of compared objects, but doesn't do type conversions. 2017-03-04T15:14:08Z phoe: Something like that? 2017-03-04T15:14:19Z fdavid: yes 2017-03-04T15:14:23Z phoe: And case conversion for characters. 2017-03-04T15:14:58Z phoe: fdavid: are you able to write test cases for it? 2017-03-04T15:16:08Z phoe: Like, a series of forms like (assert (equiv (vector 1 2 3) (vector 1 2 3))) or (assert (not (equiv (vector "foo" "bar") (vector "foo "BAR"))))? 2017-03-04T15:16:51Z phoe: Once we have that, we can start implementing a function that passes these and expanding the existing tests for more types and the edge cases. 2017-03-04T15:17:15Z phoe: Or you can create a git project somewhere that will house our work. 2017-03-04T15:17:40Z phoe: I can't assist you today because of real life stuff, but I should be able to help you either this late evening or tomorrow. 2017-03-04T15:18:14Z _death: http://www.pipeline.com/~hbaker1/ObjectIdentity.html may be of interest, but it seems you didn't internalize KMP's arguments yet.. so may be too early 2017-03-04T15:18:24Z [0x8b30cc] joined #lisp 2017-03-04T15:18:32Z whomasect quit (Read error: Connection reset by peer) 2017-03-04T15:18:58Z whomasect joined #lisp 2017-03-04T15:19:48Z phoe: _death: from what I understand, we don't want to question identity of the tested objects, but their "values". 2017-03-04T15:20:04Z phoe: So, more or less, equivalence. 2017-03-04T15:20:39Z dim: phoe: https://github.com/dimitri/pgloader/issues/524 2017-03-04T15:22:06Z phoe: dim: this guy is silly 2017-03-04T15:22:36Z dim: thanks, always good to have confirmation ;-) 2017-03-04T15:22:57Z _death: phoe: it talks about immutable objects, where identity is determined by value 2017-03-04T15:23:06Z z3r0_ joined #lisp 2017-03-04T15:24:37Z phoe: _death: oh right, I didn't catch it yet. doing other things in meantime. 2017-03-04T15:25:44Z terpri quit (Ping timeout: 268 seconds) 2017-03-04T15:26:30Z sdsadsdas joined #lisp 2017-03-04T15:27:39Z _death: phoe: it also gives a definition for mutable objects which may satisfy "equivalence" 2017-03-04T15:28:26Z phoe: _death: yes, I can see it 2017-03-04T15:28:54Z terpri joined #lisp 2017-03-04T15:31:10Z sdsadsdas quit (Ping timeout: 256 seconds) 2017-03-04T15:36:23Z phoe: fdavid: ping 2017-03-04T15:40:26Z dilated_dinosaur quit (Ping timeout: 260 seconds) 2017-03-04T15:41:03Z FreeBirdLjj joined #lisp 2017-03-04T15:45:54Z z3r0_ quit (Quit: Leaving) 2017-03-04T15:46:16Z lnostdal quit (Ping timeout: 260 seconds) 2017-03-04T15:47:20Z trocado joined #lisp 2017-03-04T15:49:11Z [0x8b30cc] quit (Quit: Leaving) 2017-03-04T15:52:56Z BusFactor1 quit (Ping timeout: 258 seconds) 2017-03-04T15:55:04Z wheelsucker joined #lisp 2017-03-04T15:57:26Z dilated_dinosaur joined #lisp 2017-03-04T15:58:04Z fdavid: phoe: pong :) 2017-03-04T15:58:37Z phoe: fdavid: I've sent you a few messages above 2017-03-04T15:58:40Z phoe: could you answer them? 2017-03-04T15:58:46Z fdavid: phoe: I haven't used CL in years so this is not something I can slap in half an hour 2017-03-04T15:59:33Z fdavid: but it would be a useful project for familiarizing myself with CL again 2017-03-04T16:01:05Z phoe: fdavid: could you begin with the test cases? 2017-03-04T16:01:19Z phoe: once you have these, we'll have something that we can implement against 2017-03-04T16:02:08Z _death: an equality operator that doesn't work for something is pretty silly 2017-03-04T16:02:20Z _death: (where by "doesn't work" I think it is meant that an error is signaled) 2017-03-04T16:02:37Z fdavid: _death what is silly is having to guess how it works, or assuming it works the way it should (until you find out it doesn't) 2017-03-04T16:02:43Z _death: assuming it is meant to be a general equality operator of course 2017-03-04T16:02:45Z fdavid: it is much better to have it not work than work incorrectly 2017-03-04T16:03:16Z _death: fdavid: I already said that you don't need to guess anything for the operators provided by CL 2017-03-04T16:03:34Z Tex_Nick joined #lisp 2017-03-04T16:03:42Z fdavid: phoe this is not something I can slap in 30 minutes either. but I will consider making a github project, and ifI do I'll PM you about it 2017-03-04T16:05:56Z phoe: fdavid: either on irc or phoe@openmailbox.org 2017-03-04T16:06:32Z phoe: _death: char= doesn't work for numbers but I don't consider it silly 2017-03-04T16:06:45Z _death: phoe: [18:02] <_death> assuming it is meant to be a general equality operator of course 2017-03-04T16:07:04Z phoe: from what I see so far, it doesn't look like it's meant to be a general equality operator. 2017-03-04T16:07:24Z fourier quit (Ping timeout: 260 seconds) 2017-03-04T16:07:33Z phoe: from what I understand, it's defined for built-in types and defaults to erroring for undefined types. 2017-03-04T16:07:42Z _death: that (my-generic-equal ) can signal an error is not particularly sane 2017-03-04T16:07:49Z phoe: the second part is weird, I admit. 2017-03-04T16:07:57Z fdavid: _death if you define "general equality operator" as "it should work for everything, using weird, arbitrary defaults of CL general equality operators" 2017-03-04T16:08:04Z phoe: but either that, or it needs to return false 2017-03-04T16:08:12Z phoe: which is weird again, because: 2017-03-04T16:08:13Z fdavid: then this would not be a general equality operator 2017-03-04T16:08:18Z phoe: (my-eq a b) ;=> NIL 2017-03-04T16:08:26Z phoe: (define-equality (a b) ...) 2017-03-04T16:08:31Z phoe: (my-eq a b) ;=> T 2017-03-04T16:08:45Z phoe: this is going to be confusing 2017-03-04T16:08:58Z manualcrank joined #lisp 2017-03-04T16:09:24Z phoe: returning NIL is not unlike a silent failure in this case - and from what I see, we'd like it fail on type checking. 2017-03-04T16:09:40Z phoe: s/like it/like it to/ 2017-03-04T16:09:48Z gen93 quit (Ping timeout: 240 seconds) 2017-03-04T16:10:10Z gen93 joined #lisp 2017-03-04T16:10:34Z _death: fdavid: I define "general equality operator" as an equality operator that can take any Lisp object.. you seem to keep it open-ended ("extensible") which is pretty silly to begin with, because you can't tell its semantics unless you know about all the extensions 2017-03-04T16:10:39Z ebrasca-afk is now known as ebrasca 2017-03-04T16:11:53Z fdavid: _death, so do you find all defmethods equally silly? 2017-03-04T16:12:17Z fdavid: _death semantics are defined for CL objects. for user-defined objects they are whatever default equality user defines as appropriate. 2017-03-04T16:12:53Z _death: fdavid: not all, just some.. for example if there'd be a generic function for equality that takes two arguments, yes.. I'd find that silly.. 2017-03-04T16:14:05Z fdavid: _death I find it very amusing that you are simultaneously arguing that 1) equality is not simple 2) we should still force it on any object and make defaults that may or may not make sense, without consulting the user who created that object 2017-03-04T16:14:23Z _death: with equality you don't want to dispatch based on the representational type of the objects, but on the kind of comparison that you want to do 2017-03-04T16:14:50Z _death: I don't think you've read KMP's article 2017-03-04T16:14:55Z fdavid: the comparison we are doing is "value equality", as defined by the user who created the object 2017-03-04T16:15:13Z fdavid: do you have any opinions of your own or will you just cite other people's opinions 2017-03-04T16:15:42Z _death: fdavid: what I'm saying is that equality is ambiguous, and if you want a well defined equality operator you either specify an existing one that fits or make your own 2017-03-04T16:16:03Z BlueRavenGT joined #lisp 2017-03-04T16:16:05Z fdavid: _death, take your car example. you want to compare cares by registration plate. so why do you want CL forcing a default equality that doesn't make sense for your object? 2017-03-04T16:16:21Z fdavid: instead of defining equality that you find makes more sense for the object you created? 2017-03-04T16:16:25Z phoe: from what I understand, we're making a well-defined equality operator here 2017-03-04T16:16:40Z phoe: that fires errors whenever it doesn't know what to do. 2017-03-04T16:16:47Z _death: fdavid: I can see that you want to draw this into personal attacks.. so I'll just ignore you 2017-03-04T16:16:50Z fdavid: phoe, exactly 2017-03-04T16:16:59Z phoe: and build from here. 2017-03-04T16:17:03Z xhe quit (Quit: leaving) 2017-03-04T16:18:21Z fdavid: very few languages get equality right. and "we have default equality for all objects, and we hope you can guess what it means" is the main culprit 2017-03-04T16:18:37Z phoe: fdavid: I don't think there's a "right" way in equality 2017-03-04T16:18:55Z fdavid: there's certainly a "wrong" way to do it :P 2017-03-04T16:19:16Z phoe: and I seriously think that "17:15 < fdavid> do you have any opinions of your own or will you just cite other people's opinions" *was* a punch below the waist 2017-03-04T16:19:41Z phoe: but hell, I can see a point in your words, and I think it would be fun and worthwhile to implement such a thing. 2017-03-04T16:19:56Z fdavid: phoe it was a response to condescending "I don't think you've read KMP's article" 2017-03-04T16:20:19Z clynbech joined #lisp 2017-03-04T16:20:45Z phoe: 1) it was a punch below the waist nonetheless, 2) _death might have an opinion of his own that is congruent with the one stated in the article. 2017-03-04T16:20:52Z phoe: that's how I see it. 2017-03-04T16:21:31Z fdavid: so he could have just made that point, instead of implying that my stance is somehow uninformed until I read the article of his choice 2017-03-04T16:24:40Z clynbech quit (Client Quit) 2017-03-04T16:26:12Z deank joined #lisp 2017-03-04T16:27:44Z ebrasca quit (Remote host closed the connection) 2017-03-04T16:28:11Z varjag: kmp was on the standard committee and the article relates to your topic 2017-03-04T16:28:17Z varjag: so it wasn't unreasonable 2017-03-04T16:31:55Z TDT joined #lisp 2017-03-04T16:32:52Z deank: Hello. Trying to pick a pattern matching library, and there are many to chose from. http://www.cliki.net/pattern%20matching any suggestions? 2017-03-04T16:33:25Z phoe: deank: optima 2017-03-04T16:33:42Z phoe: "We recommend optima or trivia for pattern matching" 2017-03-04T16:35:53Z safe joined #lisp 2017-03-04T16:41:15Z axion quit (Quit: WeeChat 1.7) 2017-03-04T16:42:22Z axion joined #lisp 2017-03-04T16:48:09Z rumbler31 joined #lisp 2017-03-04T16:51:51Z jason_m: is there a way to determine if a character is a whitespace character as understood by (peek-char t stream)? I'm guessing by looking the char up in the current readtable? I'm stuck in a look in the spec, but not seeing how to do that. 2017-03-04T16:52:25Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-04T16:54:04Z phoe: jason_m: I don't think there's a standard predicate. 2017-03-04T16:54:21Z phoe: But you can check if the character is a member of '(#\Space #\Newline #\Backspace #\Tab #\Linefeed #\Page #\Return #\Rubout) 2017-03-04T16:54:48Z phoe: so basically (defun whitespacep (char) (member char '(#\Space #\Newline #\Backspace #\Tab #\Linefeed #\Page #\Return #\Rubout))) 2017-03-04T16:55:10Z jason_m: thanks phoe, i might just do that. was curious if there was a way to get the character's syntax type from the readtable 2017-03-04T16:55:44Z jason_m: nothing jumped out from the results of (apropos "syntax") 2017-03-04T16:56:27Z adolf_stalin joined #lisp 2017-03-04T16:56:55Z jason_m: if i could do that, then i wouldn't have to remember or look up the list of ws characters. but its easy enough to write that list out once and move on. 2017-03-04T16:58:21Z phoe: I don't think there's a portable way of finding out what characters are whitespace in a given implementation. 2017-03-04T16:59:05Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-04T16:59:38Z phoe: actually, hm. 2017-03-04T17:00:29Z phoe: http://www.lispworks.com/documentation/lw445/LWRM/html/lwref-345.htm haha, this is non-portable and in LispWorks only. 2017-03-04T17:01:21Z beach: It is time for a trivial-readtable library. 2017-03-04T17:01:47Z phoe: beach: trivial-readtable? 2017-03-04T17:02:09Z phoe: What other uses would it serve and why would it be tied to readtables? 2017-03-04T17:02:16Z beach: Yes, a compatibility library with its own protocol that could query the readtable of the implementation. 2017-03-04T17:03:21Z fourier joined #lisp 2017-03-04T17:03:42Z bpanthi joined #lisp 2017-03-04T17:03:43Z beach: I seem to remember that there are several other aspects of readtables that are not standardized. 2017-03-04T17:03:53Z beach: Maybe I am misremembering. 2017-03-04T17:04:29Z axion quit (Quit: WeeChat 1.7) 2017-03-04T17:04:52Z axion joined #lisp 2017-03-04T17:05:12Z phoe nods 2017-03-04T17:06:45Z jason_m: it sounds useful to me. i'm not sure what all the use cases would be, but i'm working on a simple (?) lexer/parser and figure my lisp already has a sensible list of ws characters and it would be nice to just use existing functionality, like (peek-char t stream) skipping over ws. 2017-03-04T17:07:06Z phoe: Haha, I will have the pleasure of working which Lisp implementations on which operating systems will work on UltraSPARC. 2017-03-04T17:07:11Z phoe: jason_m: it is useful. 2017-03-04T17:07:27Z fourier quit (Ping timeout: 240 seconds) 2017-03-04T17:07:27Z phoe: For example, the Lisp reader uses some internal predicate to tell whether a char is whitespace. 2017-03-04T17:08:09Z |3b|: sbcl claims linux and solaris support on ultrasparc 2017-03-04T17:08:19Z jason_m: phoe: i imagine the reader queries the syntax type from the readtable? file:///home/jason/quicklisp/dists/quicklisp/software/clhs-0.6.3/HyperSpec-7-0/HyperSpec/Body/02_ad.htm#possiblesyntaxtypes 2017-03-04T17:08:21Z _death: sbcl has whitespace[1]p and whitespace[2]p :) 2017-03-04T17:08:35Z jason_m: oops 2017-03-04T17:08:37Z phoe: jason_m: don't give me file:/// links 2017-03-04T17:08:41Z jason_m: that's not the online spec :) 2017-03-04T17:08:52Z phoe: jason_m: which chapter is it? 2017-03-04T17:09:02Z jason_m: 2.1.4 2017-03-04T17:09:05Z phoe: clhs 2.1.4 2017-03-04T17:09:05Z specbot: Character Syntax Types: http://www.lispworks.com/reference/HyperSpec/Body/02_ad.htm 2017-03-04T17:09:23Z phoe: jason_m: yes, by means similar to what _death said 2017-03-04T17:09:43Z phoe: |3b|: yes, I'll be happy to try compiling the newest version on ultrasparc 2017-03-04T17:10:25Z phoe: once I have a lisp to bootstrap it from. 2017-03-04T17:10:35Z phoe: I guess clisp will come in handy as always. 2017-03-04T17:11:32Z sdsadsdas joined #lisp 2017-03-04T17:11:48Z loke```: phoe: Or ABCL. 2017-03-04T17:11:53Z phoe: loke```: ! 2017-03-04T17:11:59Z phoe: this sounds actually pretty sane 2017-03-04T17:12:09Z loke``` have bootstrapped SBCL using ABCL. 2017-03-04T17:12:21Z phoe: on sparc? 2017-03-04T17:12:42Z phoe: hum, I guess it doesn't matter 2017-03-04T17:12:42Z loke```: Well, I tried to. But it was some time ago, when SPARC SBCL didn't work very well. 2017-03-04T17:13:00Z phoe: since the Lisp part isn't really that architecture-dependent 2017-03-04T17:13:01Z loke```: I have bootstrapped abd64 ABCL using ABCL successfully though. 2017-03-04T17:13:04Z loke```: abcl 2017-03-04T17:13:08Z loke```: On Freebsd 2017-03-04T17:13:12Z phoe: I see 2017-03-04T17:13:39Z loke```: I meant to say "amd64 SBCL boostrapped using ABCL" 2017-03-04T17:14:07Z phoe: got it 2017-03-04T17:15:12Z decuser joined #lisp 2017-03-04T17:17:53Z phoe: because I also thought 2017-03-04T17:18:17Z loke```: THINKING?! We don't do that here. 2017-03-04T17:18:19Z phoe: if anything, I could run Solaris as my OS with Java on top 2017-03-04T17:18:28Z phoe: and run ABCL as the Lisp implementation of my choice. 2017-03-04T17:18:44Z loke```: phoe: That would work. ABCL is slower than SBCL though. 2017-03-04T17:19:00Z loke```: BUt perfectly acceptable in terms of speed for all things I do :-) 2017-03-04T17:20:41Z phoe: loke```: I want something that will work on this server because I'm getting it very cheaply. 2017-03-04T17:20:49Z phoe: Performance is secondary to working at all. 2017-03-04T17:21:12Z loke```: ABCL is the absolute easiest way to get a fully functional complete CL environment in that case. 2017-03-04T17:21:40Z phoe: Yes - I will want to experiment with different OSes here. 2017-03-04T17:21:49Z phoe: being FreeBSD, Linux and Solaris. 2017-03-04T17:22:00Z phoe: And Oracle Java is only available for Solaris. 2017-03-04T17:23:08Z zellerin joined #lisp 2017-03-04T17:23:49Z DGASAU joined #lisp 2017-03-04T17:24:17Z decuser quit (Quit: Mutter: www.mutterirc.com) 2017-03-04T17:24:32Z decuser joined #lisp 2017-03-04T17:25:31Z loke```: phoe: OpenJDK is the same thing, really. At least when it comes to ABCL 2017-03-04T17:25:41Z phoe: loke```: good to know 2017-03-04T17:25:43Z loke```: I run ABCL on FreeBSD without any issues. 2017-03-04T17:25:52Z phoe: very good to know. 2017-03-04T17:26:09Z loke```: And if you really want Oracle Java it's also available on Linux. 2017-03-04T17:26:25Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-04T17:26:44Z loke```: Anyway, I'll be heading to sleep now. 2017-03-04T17:26:51Z Lord_of_Life quit (Excess Flood) 2017-03-04T17:27:01Z FreeBirdLjj joined #lisp 2017-03-04T17:27:44Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-04T17:27:56Z phoe: loke```: not for SPARC. 2017-03-04T17:28:01Z phoe: Thanks! 2017-03-04T17:28:07Z loke```: Ah, I see. 2017-03-04T17:28:14Z loke```: But yes, you can build OpenJDK yourself. 2017-03-04T17:28:18Z phoe: This is very good. 2017-03-04T17:30:58Z Lord_of_Life joined #lisp 2017-03-04T17:31:27Z FreeBirdLjj quit (Ping timeout: 258 seconds) 2017-03-04T17:35:54Z decuser quit (Quit: Mutter: www.mutterirc.com) 2017-03-04T17:39:02Z decuser joined #lisp 2017-03-04T17:39:19Z pyx joined #lisp 2017-03-04T17:39:37Z pyx quit (Client Quit) 2017-03-04T17:40:07Z decuser quit (Client Quit) 2017-03-04T17:40:56Z fourier joined #lisp 2017-03-04T17:42:37Z andrei_chiffa__ joined #lisp 2017-03-04T17:44:04Z andrei_chiffa_ quit (Ping timeout: 240 seconds) 2017-03-04T17:44:28Z wheelsucker quit (Ping timeout: 260 seconds) 2017-03-04T17:49:10Z Bike joined #lisp 2017-03-04T17:49:51Z scymtym quit (Ping timeout: 258 seconds) 2017-03-04T17:55:08Z ayush joined #lisp 2017-03-04T17:55:25Z ayush quit (Client Quit) 2017-03-04T17:56:06Z nullniverse joined #lisp 2017-03-04T17:56:26Z pappu joined #lisp 2017-03-04T17:56:36Z pappu quit (Client Quit) 2017-03-04T17:57:04Z zellerin quit (Ping timeout: 260 seconds) 2017-03-04T17:57:36Z pappu joined #lisp 2017-03-04T17:58:40Z whomasect quit (Ping timeout: 268 seconds) 2017-03-04T17:59:08Z nullniverse quit (Client Quit) 2017-03-04T17:59:49Z nullniverse joined #lisp 2017-03-04T18:01:57Z nullniverse quit (Remote host closed the connection) 2017-03-04T18:03:28Z scymtym joined #lisp 2017-03-04T18:04:08Z szmer quit (Ping timeout: 240 seconds) 2017-03-04T18:05:27Z fourier quit (Ping timeout: 268 seconds) 2017-03-04T18:06:50Z szmer joined #lisp 2017-03-04T18:07:03Z TDT quit (Quit: TDT) 2017-03-04T18:08:22Z szmer quit (Read error: Connection reset by peer) 2017-03-04T18:20:11Z zellerin joined #lisp 2017-03-04T18:20:36Z pappu left #lisp 2017-03-04T18:23:49Z fourier joined #lisp 2017-03-04T18:24:44Z szmer joined #lisp 2017-03-04T18:26:07Z rippa joined #lisp 2017-03-04T18:32:14Z hhdave joined #lisp 2017-03-04T18:32:15Z szmer quit (Read error: Connection reset by peer) 2017-03-04T18:34:28Z nirved quit (Quit: Leaving) 2017-03-04T18:42:20Z skeuomorf quit (Ping timeout: 260 seconds) 2017-03-04T18:43:27Z mishoo quit (Ping timeout: 240 seconds) 2017-03-04T18:44:28Z eazar001 quit (Quit: WeeChat 1.7) 2017-03-04T18:48:55Z rumbler31 joined #lisp 2017-03-04T18:51:40Z Whitesquall joined #lisp 2017-03-04T18:52:22Z szmer joined #lisp 2017-03-04T18:53:10Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-04T18:54:24Z raynold quit (Quit: Connection closed for inactivity) 2017-03-04T18:57:51Z decuser joined #lisp 2017-03-04T19:02:10Z zellerin quit (Ping timeout: 264 seconds) 2017-03-04T19:04:33Z rme joined #lisp 2017-03-04T19:04:34Z szmer quit (Read error: Connection reset by peer) 2017-03-04T19:09:51Z vtomole joined #lisp 2017-03-04T19:18:16Z oleksiyp joined #lisp 2017-03-04T19:20:32Z shrdlu68 joined #lisp 2017-03-04T19:21:05Z shrdlu68: I wish fast-io had #'fast-peek-byte 2017-03-04T19:21:32Z shrdlu68: rpav: ^ 2017-03-04T19:24:19Z szmer joined #lisp 2017-03-04T19:25:00Z szmer quit (Read error: Connection reset by peer) 2017-03-04T19:25:31Z raynold joined #lisp 2017-03-04T19:29:05Z fourier quit (Ping timeout: 240 seconds) 2017-03-04T19:30:58Z kelsar777 joined #lisp 2017-03-04T19:37:44Z bpanthi quit (Quit: bpanthi) 2017-03-04T19:38:36Z eazar001 joined #lisp 2017-03-04T19:40:48Z wildlander quit (Quit: Saliendo) 2017-03-04T19:41:35Z wildlander joined #lisp 2017-03-04T19:42:33Z atheris_ quit (Ping timeout: 258 seconds) 2017-03-04T19:45:59Z zellerin joined #lisp 2017-03-04T19:49:39Z rumbler31 joined #lisp 2017-03-04T19:51:52Z troydm quit (Ping timeout: 260 seconds) 2017-03-04T19:52:33Z troydm joined #lisp 2017-03-04T19:52:45Z the-blackbeard quit (Quit: Leaving) 2017-03-04T19:54:04Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-04T19:55:49Z ryanwatk` quit (Ping timeout: 246 seconds) 2017-03-04T20:04:54Z decuser quit (Remote host closed the connection) 2017-03-04T20:06:57Z sbodin quit (Ping timeout: 240 seconds) 2017-03-04T20:07:34Z dilated_dinosaur quit (Ping timeout: 264 seconds) 2017-03-04T20:07:48Z sz0 joined #lisp 2017-03-04T20:08:18Z BitPuffin|osx quit (Remote host closed the connection) 2017-03-04T20:14:57Z defaultxr quit (Quit: brb) 2017-03-04T20:14:59Z vtomole quit (Ping timeout: 260 seconds) 2017-03-04T20:17:13Z defaultxr joined #lisp 2017-03-04T20:20:31Z oleksiyp quit (Remote host closed the connection) 2017-03-04T20:23:03Z BitPuffin|osx joined #lisp 2017-03-04T20:23:38Z myrkraverk quit (Remote host closed the connection) 2017-03-04T20:28:04Z dilated_dinosaur joined #lisp 2017-03-04T20:39:56Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-04T20:41:57Z BitPuffin|osx quit (Ping timeout: 240 seconds) 2017-03-04T20:45:32Z zellerin quit (Ping timeout: 260 seconds) 2017-03-04T20:50:25Z rumbler31 joined #lisp 2017-03-04T20:52:18Z hydan joined #lisp 2017-03-04T20:53:12Z okflo quit (Read error: Connection reset by peer) 2017-03-04T20:54:32Z hydan: What is the proper way to ship swank inside a binary? I am 2017-03-04T20:54:32Z hydan: compiling it with contribs as far as I understand, and the 2017-03-04T20:54:32Z hydan: server starts, but when I try to connect I get stuff like 2017-03-04T20:54:33Z hydan: "Can't locate module: SWANK-IO-PACKAGE::SWANK-SPROF" all the 2017-03-04T20:54:33Z hydan: time. 2017-03-04T20:54:37Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-04T20:54:41Z hydan: sorry for multiline 2017-03-04T20:55:32Z hydan: emacs yanked this all wrong.. 2017-03-04T20:59:01Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-04T21:00:52Z jealousmonk joined #lisp 2017-03-04T21:02:35Z myrkraverk joined #lisp 2017-03-04T21:04:50Z cpape` joined #lisp 2017-03-04T21:05:31Z hhdave_ joined #lisp 2017-03-04T21:05:52Z rumbler31 joined #lisp 2017-03-04T21:06:04Z sgript- joined #lisp 2017-03-04T21:06:10Z add^__ joined #lisp 2017-03-04T21:06:39Z sirkmatija_ joined #lisp 2017-03-04T21:06:50Z getha joined #lisp 2017-03-04T21:07:29Z emma__ joined #lisp 2017-03-04T21:08:35Z Vivek___ joined #lisp 2017-03-04T21:08:45Z koisoke_ joined #lisp 2017-03-04T21:08:51Z BusFactor1 joined #lisp 2017-03-04T21:09:10Z dim: M-q runs the command fill-paragraph ; before posting 2017-03-04T21:11:19Z decuser joined #lisp 2017-03-04T21:12:04Z BitPuffin|osx joined #lisp 2017-03-04T21:12:18Z sdsadsdas quit (Remote host closed the connection) 2017-03-04T21:13:19Z hydan quit (*.net *.split) 2017-03-04T21:13:19Z koisoke quit (*.net *.split) 2017-03-04T21:13:19Z Karl_Dscc quit (*.net *.split) 2017-03-04T21:13:20Z p9fn quit (*.net *.split) 2017-03-04T21:13:20Z gabot quit (*.net *.split) 2017-03-04T21:13:20Z TMA quit (*.net *.split) 2017-03-04T21:13:20Z Vivek quit (*.net *.split) 2017-03-04T21:13:20Z freehck quit (*.net *.split) 2017-03-04T21:13:20Z heurist quit (*.net *.split) 2017-03-04T21:13:20Z cpape quit (*.net *.split) 2017-03-04T21:13:20Z snits` quit (*.net *.split) 2017-03-04T21:13:20Z emma quit (*.net *.split) 2017-03-04T21:13:20Z biocage quit (*.net *.split) 2017-03-04T21:13:20Z killmaster quit (*.net *.split) 2017-03-04T21:13:20Z micro_ quit (*.net *.split) 2017-03-04T21:13:21Z sgript quit (*.net *.split) 2017-03-04T21:13:21Z kini quit (*.net *.split) 2017-03-04T21:14:07Z DrCode_ joined #lisp 2017-03-04T21:14:22Z shrdlu68 quit (*.net *.split) 2017-03-04T21:14:23Z hhdave quit (*.net *.split) 2017-03-04T21:14:23Z andrei_chiffa__ quit (*.net *.split) 2017-03-04T21:14:23Z cibs quit (*.net *.split) 2017-03-04T21:14:23Z varjag quit (*.net *.split) 2017-03-04T21:14:23Z angavrilov quit (*.net *.split) 2017-03-04T21:14:23Z SCHAAP137 quit (*.net *.split) 2017-03-04T21:14:23Z DrCode quit (*.net *.split) 2017-03-04T21:14:23Z kjak_ quit (*.net *.split) 2017-03-04T21:14:23Z xantoz quit (*.net *.split) 2017-03-04T21:14:23Z Xach_ quit (*.net *.split) 2017-03-04T21:14:23Z Younder quit (*.net *.split) 2017-03-04T21:14:23Z add^_ quit (*.net *.split) 2017-03-04T21:14:24Z thijso quit (*.net *.split) 2017-03-04T21:14:24Z TruePika quit (*.net *.split) 2017-03-04T21:14:24Z __main__ quit (*.net *.split) 2017-03-04T21:14:24Z payphone quit (*.net *.split) 2017-03-04T21:14:24Z eMBee quit (*.net *.split) 2017-03-04T21:14:24Z holly quit (*.net *.split) 2017-03-04T21:14:24Z hhdave_ is now known as hhdave 2017-03-04T21:14:25Z DrCode_ is now known as DrCode 2017-03-04T21:16:00Z holly joined #lisp 2017-03-04T21:17:08Z Quaker joined #lisp 2017-03-04T21:17:13Z Younder joined #lisp 2017-03-04T21:18:40Z mishoo joined #lisp 2017-03-04T21:18:40Z andrei_chiffa_ joined #lisp 2017-03-04T21:18:40Z shrdlu68 joined #lisp 2017-03-04T21:18:40Z cibs joined #lisp 2017-03-04T21:18:40Z varjag joined #lisp 2017-03-04T21:18:40Z angavrilov joined #lisp 2017-03-04T21:18:40Z kjak_ joined #lisp 2017-03-04T21:18:40Z Xach_ joined #lisp 2017-03-04T21:18:40Z TruePika joined #lisp 2017-03-04T21:18:40Z __main__ joined #lisp 2017-03-04T21:18:40Z payphone joined #lisp 2017-03-04T21:19:32Z xantoz joined #lisp 2017-03-04T21:21:22Z angavrilov quit (Remote host closed the connection) 2017-03-04T21:21:25Z SCHAAP137 joined #lisp 2017-03-04T21:23:36Z k-stz joined #lisp 2017-03-04T21:24:08Z X-Scale joined #lisp 2017-03-04T21:24:38Z decuser quit (Quit: Mutter: www.mutterirc.com) 2017-03-04T21:25:56Z antonv joined #lisp 2017-03-04T21:25:58Z antonv: hi 2017-03-04T21:26:20Z akkad: BusFactor1: this wave synth stuff in cl. how does it access audio? is there some external lib it uses? 2017-03-04T21:28:39Z varjag: it's lw-specific 2017-03-04T21:28:45Z antonv: who can help me to understand, why does (ql-http:http-fetch "http://google.com" "/home/anton/quicklisp/tmp/asdf-3.2.0.lisp") fetches the content, but when I do the same for "https://common-lisp.net/project/asdf/archives/asdf-3.2.0.lisp" I get "Too many redirects (10)" 2017-03-04T21:28:45Z antonv: 2017-03-04T21:29:13Z antonv: In browser the asdf URL opens OK, with status 200 without any redirects 2017-03-04T21:31:15Z Xach_: antonv: ql-http does not support https. 2017-03-04T21:31:32Z Xach_: antonv: it is a bug that the error is not clearer on that topic. 2017-03-04T21:31:47Z varjag: akkad: but if you want a degree of portability, try cl-portaudio 2017-03-04T21:33:25Z Xach_: antonv: I wouldn't recommend ql-http as a general client, but for http only, it is pretty small and works ok. 2017-03-04T21:33:28Z antonv: Xach_: removing S doesn't change 2017-03-04T21:33:34Z antonv: anythig 2017-03-04T21:33:41Z Xach_: antonv: that's because there is a redirect in place from http to https on common-lisp.net. 2017-03-04T21:33:45Z antonv: probably these are real redirects 2017-03-04T21:33:49Z antonv: ah 2017-03-04T21:34:58Z lambda-smith quit (Ping timeout: 256 seconds) 2017-03-04T21:34:58Z heurist joined #lisp 2017-03-04T21:35:19Z antonv: I decied to try creating an quicklisp-asdf-helper, which will allow to use arbitrary asdf 2017-03-04T21:35:43Z Xach_: that sounds interesting, but please do not call it that. 2017-03-04T21:35:50Z Xach_: i am sorry that i called my thing quicklisp-slime-helper. 2017-03-04T21:35:51Z antonv: why? 2017-03-04T21:36:06Z Xach_: It is not part of quicklisp, and I would prefer that things that are not part of quicklisp not have a "quicklisp-" prefix. 2017-03-04T21:36:30Z antonv: quicklisp-slime-helper is clear in what it means 2017-03-04T21:36:49Z Xach_: I did not properly learn from the "asdf-install" debacle 2017-03-04T21:36:57Z phoe: oughtta be called slime-helper from what I see 2017-03-04T21:37:06Z Xach_: well, I don't think that is great either. 2017-03-04T21:37:11Z Xach_: it is also not part of slime. 2017-03-04T21:37:16Z phoe: slime-installer? 2017-03-04T21:37:18Z antonv: just helper? 2017-03-04T21:37:27Z phoe: (ql:quickload :helper) 2017-03-04T21:37:28Z Xach_: I don't rightly know. 2017-03-04T21:37:36Z phoe: (helper:help '(i got homework to do)) 2017-03-04T21:37:37Z rme: xach-slime-configurator 2017-03-04T21:37:55Z phoe: slime-setup 2017-03-04T21:38:02Z antonv: the thing I want to create will reconfigure quicklisp after installing 2017-03-04T21:38:08Z antonv: to use new asdf 2017-03-04T21:38:11Z zygentoma joined #lisp 2017-03-04T21:38:17Z Xach_: Thank you for the suggestions, but I am not going to change the name now. I am thinking more of future projects. 2017-03-04T21:38:50Z phoe: Xach_: no problem. 2017-03-04T21:38:50Z manuel_ joined #lisp 2017-03-04T21:38:54Z antonv: by push (qmerge "quicklisp/") asdf:*central-registry*) 2017-03-04T21:39:03Z antonv: (push (qmerge "quicklisp/") asdf:*central-registry*) 2017-03-04T21:39:42Z antonv: so it will expect quicklisp to be present 2017-03-04T21:40:13Z fourier joined #lisp 2017-03-04T21:40:21Z eMBee joined #lisp 2017-03-04T21:42:06Z fdavid quit (Quit: CGI:IRC (Session timeout)) 2017-03-04T21:44:04Z Whitesquall quit (Ping timeout: 258 seconds) 2017-03-04T21:44:15Z hydan joined #lisp 2017-03-04T21:45:10Z wildlander quit (Ping timeout: 256 seconds) 2017-03-04T21:46:34Z hydan: re my question, resolved it by SWANK-REQUIREing 'missing' stuff during compilation. 2017-03-04T21:47:04Z hydan: I thought it was enough to pass :load-contribs t to the loader 2017-03-04T21:49:49Z wildlander joined #lisp 2017-03-04T22:02:41Z Karl_Dscc joined #lisp 2017-03-04T22:02:41Z p9fn joined #lisp 2017-03-04T22:02:41Z gabot joined #lisp 2017-03-04T22:02:41Z micro_ joined #lisp 2017-03-04T22:02:41Z killmaster joined #lisp 2017-03-04T22:02:41Z biocage joined #lisp 2017-03-04T22:02:41Z snits` joined #lisp 2017-03-04T22:02:41Z TMA joined #lisp 2017-03-04T22:03:28Z Cymew quit (Ping timeout: 260 seconds) 2017-03-04T22:03:38Z kelsar777 quit (Quit: Leaving) 2017-03-04T22:03:48Z ineiros quit (Ping timeout: 240 seconds) 2017-03-04T22:03:55Z sirkmatija_ quit (Ping timeout: 246 seconds) 2017-03-04T22:06:48Z ineiros joined #lisp 2017-03-04T22:11:12Z wooden_ quit (Read error: No route to host) 2017-03-04T22:12:58Z ineiros quit (Ping timeout: 264 seconds) 2017-03-04T22:18:13Z decuser joined #lisp 2017-03-04T22:19:18Z ineiros joined #lisp 2017-03-04T22:20:06Z Jesin quit (Quit: Leaving) 2017-03-04T22:24:19Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-04T22:25:52Z ineiros quit (Ping timeout: 260 seconds) 2017-03-04T22:30:18Z ineiros joined #lisp 2017-03-04T22:30:22Z stepnem quit (Ping timeout: 264 seconds) 2017-03-04T22:33:46Z Jesin joined #lisp 2017-03-04T22:35:05Z ineiros quit (Ping timeout: 240 seconds) 2017-03-04T22:36:18Z makkron_ quit (Remote host closed the connection) 2017-03-04T22:40:26Z ineiros joined #lisp 2017-03-04T22:46:33Z ineiros quit (Ping timeout: 240 seconds) 2017-03-04T22:50:08Z fourier quit (Ping timeout: 260 seconds) 2017-03-04T22:50:27Z ineiros joined #lisp 2017-03-04T22:52:06Z TDT joined #lisp 2017-03-04T22:56:48Z ineiros quit (Ping timeout: 240 seconds) 2017-03-04T22:57:05Z zygentoma quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-03-04T22:59:27Z scottj quit (Quit: leaving) 2017-03-04T23:00:07Z ineiros joined #lisp 2017-03-04T23:05:17Z gingerale quit (Read error: Connection reset by peer) 2017-03-04T23:06:12Z ineiros quit (Ping timeout: 256 seconds) 2017-03-04T23:09:41Z TDT quit (Quit: TDT) 2017-03-04T23:10:10Z ineiros joined #lisp 2017-03-04T23:16:22Z ineiros quit (Ping timeout: 246 seconds) 2017-03-04T23:19:16Z ineiros joined #lisp 2017-03-04T23:25:34Z ineiros quit (Ping timeout: 264 seconds) 2017-03-04T23:26:25Z neoncontrails joined #lisp 2017-03-04T23:27:25Z ineiros joined #lisp 2017-03-04T23:30:51Z dilated_dinosaur quit (Quit: Leaving) 2017-03-04T23:35:33Z mishoo quit (Ping timeout: 240 seconds) 2017-03-04T23:36:14Z rk[ghost] quit (Ping timeout: 252 seconds) 2017-03-04T23:37:00Z fourier joined #lisp 2017-03-04T23:37:45Z rk[ghost] joined #lisp 2017-03-04T23:44:56Z shrdlu68 left #lisp 2017-03-04T23:45:12Z pve quit (Ping timeout: 260 seconds) 2017-03-04T23:54:04Z fourier quit (Ping timeout: 260 seconds) 2017-03-05T00:00:47Z wtetzner joined #lisp 2017-03-05T00:01:23Z scottj joined #lisp 2017-03-05T00:04:22Z wtetzner quit (Remote host closed the connection) 2017-03-05T00:09:03Z varjag quit (Ping timeout: 240 seconds) 2017-03-05T00:35:56Z aje quit (Ping timeout: 276 seconds) 2017-03-05T00:38:47Z ezgoat quit (Quit: leaving) 2017-03-05T00:39:57Z prole quit (Remote host closed the connection) 2017-03-05T00:40:16Z TDT joined #lisp 2017-03-05T00:44:15Z sellout- quit (Quit: Leaving.) 2017-03-05T00:49:08Z Quaker_ joined #lisp 2017-03-05T00:50:36Z quazimodo joined #lisp 2017-03-05T00:52:17Z Quaker quit (Ping timeout: 258 seconds) 2017-03-05T00:54:44Z drmeister: I'm implementing threads in Clasp: If I return a list of processes, I don't want to return THE list of processes - do I? I want to return a copy of the list - correct? 2017-03-05T00:56:36Z Oddity quit (Ping timeout: 260 seconds) 2017-03-05T00:59:33Z TDT quit (Quit: TDT) 2017-03-05T01:02:59Z Oddity joined #lisp 2017-03-05T01:02:59Z Oddity quit (Changing host) 2017-03-05T01:02:59Z Oddity joined #lisp 2017-03-05T01:03:22Z tictac joined #lisp 2017-03-05T01:03:31Z pjb: drmeister: yes, it would be more prudent. 2017-03-05T01:04:52Z tictac: pjb: wesh 2017-03-05T01:05:28Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-05T01:09:53Z andrei_chiffa__ joined #lisp 2017-03-05T01:11:33Z andrei_chiffa_ quit (Ping timeout: 240 seconds) 2017-03-05T01:16:51Z logrus joined #lisp 2017-03-05T01:21:09Z holycow joined #lisp 2017-03-05T01:22:03Z trocado quit (Ping timeout: 268 seconds) 2017-03-05T01:23:00Z shifty joined #lisp 2017-03-05T01:24:43Z hhdave quit (Quit: hhdave) 2017-03-05T01:24:49Z manuel_ quit (Quit: manuel_) 2017-03-05T01:25:35Z hydan quit (Ping timeout: 240 seconds) 2017-03-05T01:29:12Z slyrus joined #lisp 2017-03-05T01:29:25Z learning joined #lisp 2017-03-05T01:30:45Z learning: Is there a difference between #'(lambda (x) 0) and (lambda (x) 0) ? tested it in a simple let expression and there doesnt seem to be a dif 2017-03-05T01:31:01Z slyrus: dlowe: around? 2017-03-05T01:31:50Z Bike: learning: latter macroexpands into the former 2017-03-05T01:32:36Z Xach_: learning: there is at least one specific place where it makes a difference. at the beginning of a form is one. 2017-03-05T01:32:37Z learning: so second is shorthand then, and I can feel free to exclude the #' so long as i understand its there anyway right 2017-03-05T01:32:57Z Xach_: that is, ((lambda (x) (+ x 42)) 1) => 43 2017-03-05T01:32:59Z learning: ah thats what i was worried about 2017-03-05T01:33:12Z Xach_: I believe there is another example in condition handling, let me check... 2017-03-05T01:35:04Z Xach_: Ah yes, I think it is the :report option to define-condition. 2017-03-05T01:36:00Z gigetoo quit (Quit: leaving) 2017-03-05T01:36:26Z Xach_: shout out to Xof for making me aware of that some years ago 2017-03-05T01:36:45Z learning: that's cool. i didn't know if you put a lambda at the beginning of a form it will act as a function call. 2017-03-05T01:36:45Z gigetoo joined #lisp 2017-03-05T01:37:02Z Xach_: learning: it's a special evaluator rule. 2017-03-05T01:37:52Z learning: do you know where in the docs id find info about that 2017-03-05T01:38:15Z Xach_: learning: about the evaluation of forms? 2017-03-05T01:38:21Z learning: im on the lambda page right now 2017-03-05T01:38:35Z learning: oh ok i can find that 2017-03-05T01:38:45Z Xach_: http://l1sp.org/cl/3.1.2.1.2 2017-03-05T01:39:09Z Xach_: that is what covers ((lambda (...) ...) ...) 2017-03-05T01:39:27Z stardiviner joined #lisp 2017-03-05T01:39:29Z Ven joined #lisp 2017-03-05T01:40:06Z learning: that's cool 2017-03-05T01:40:12Z learning: i wish they would give more examples 2017-03-05T01:40:46Z learning: i wouldnt have understood that page without your example 2017-03-05T01:41:19Z Xach_: There are some examples, but it leans much more to reference than to tutorial 2017-03-05T01:42:33Z sjl quit (Read error: Connection reset by peer) 2017-03-05T01:43:27Z tictac: learning: which references are you using for learning lisp ? 2017-03-05T01:44:25Z antonv quit (Ping timeout: 246 seconds) 2017-03-05T01:45:55Z learning: my lisp goal right now is to read through every single page of the hyperspec and try to understand it the best i can. so far ive gone through 49 pages. currently doing *debugger-hook* 2017-03-05T01:46:25Z jamtho joined #lisp 2017-03-05T01:46:30Z learning: when i realized it was less than 1100 pages i realized it was a pretty feasible goal 2017-03-05T01:47:28Z BlueRavenGT quit (Ping timeout: 260 seconds) 2017-03-05T01:47:31Z jamtho_ joined #lisp 2017-03-05T01:49:06Z jamtho__ joined #lisp 2017-03-05T01:49:20Z Xach_: learning: Is that how you are starting to learn? 2017-03-05T01:49:24Z tictac: learning: well "learning-the-hardway" then 2017-03-05T01:49:27Z Xach_: learning: If so, I don't think it's a very good approach. 2017-03-05T01:49:49Z learning: i started learning lisp in december of 2015 2017-03-05T01:49:54Z learning: just playing around 2017-03-05T01:50:06Z Xach_: learning: It is good to read the spec, but it will be much slower than combining it or preceding it with a tutorial introduction that gets you to a point of getting working stuff, even if you don't understand how it all works. 2017-03-05T01:50:48Z jamtho quit (Ping timeout: 240 seconds) 2017-03-05T01:50:52Z jason_m: there is something about error handling that i am not understanding. in general, hunchentoot will catch errors, log them, and keep on running. however, i have some errors that my application raises, for example, when the user enters bad input. those errors land me in the debugger - why the difference? 2017-03-05T01:51:41Z jason_m: i raise the error with (error 'my-condition-type :data foo) 2017-03-05T01:51:52Z Xach_: jason_m: is it a subclass of error? 2017-03-05T01:51:55Z learning: so my reasoning is this: I'm sick of being terrible at programming. Books and tutorials clearly dont work for me. And I think the problem is I'm trying to learn the language and learn how to use it at the same time. So i'm hoping by learning the language first, when I look at tutorials and books I will actually know what's going on and be able to pay attention more to how the tools are being used rather than how they work. 2017-03-05T01:51:57Z Bike: did you set anything up to catch and log errors? 2017-03-05T01:52:08Z jamtho_ quit (Ping timeout: 240 seconds) 2017-03-05T01:52:24Z Xach_: learning: I suppose that is worth a shot, but it does not seem like a good approach for everyone to try. 2017-03-05T01:52:34Z learning: been programming as a hobbyist for 8+ years 2017-03-05T01:52:38Z learning: ye we'll see 2017-03-05T01:53:02Z jason_m: Xach_: Ah - it is not, let my try that... what i had was (define-condition my-condition-type () ...) 2017-03-05T01:53:16Z Xach_: jason_m: i suspect the hunchentoot handler is for errors. 2017-03-05T01:54:22Z Xach_: learning: practical common lisp is a very good tutorial introduction. so is paradigms of ai programming. 2017-03-05T01:54:32Z learning: thats where i started 2017-03-05T01:54:39Z jason_m: Xach_: yes that does the trick - thanks 2017-03-05T01:56:19Z Xach_: no problem, glad it helped 2017-03-05T01:56:39Z xhe joined #lisp 2017-03-05T01:56:51Z tictac: learning: common lisp a gentle introduction to symbolic program is good book for beginner 2017-03-05T01:59:10Z jamtho__ quit (Ping timeout: 264 seconds) 2017-03-05T02:01:31Z sellout- joined #lisp 2017-03-05T02:04:14Z learning: thank you for the suggestion 2017-03-05T02:06:44Z Corey_2275 joined #lisp 2017-03-05T02:08:14Z Corey_2275: I'm creating a series of CLOS objects, ever expanding, and wondered what the best, most lispy way to organize them is. Should I store them in a list of hashtable? 2017-03-05T02:08:59Z scottj left #lisp 2017-03-05T02:09:15Z Xach_: Corey_2275: it depends on how you want to look at them later. if you want to look at them one at a time, in sequence, a list is fine. a list is also fine if there are not a whole lot of them. a table is good if you want to look at them based on some key criteria. 2017-03-05T02:09:32Z Xach_: Corey_2275: a vector is good if that key is an integer from 0 to the number of things you have. 2017-03-05T02:10:26Z Corey_2275: Hi Zach, each of the objects has an index from zero so that sounds like it 2017-03-05T02:11:06Z Xach_: Corey_2275: an adjustable vector and vector-push-extend could help in that case. 2017-03-05T02:11:37Z Corey_2275: Brilliant, thanks for your help 2017-03-05T02:13:12Z drewc quit (Ping timeout: 256 seconds) 2017-03-05T02:14:05Z Ven quit (Ping timeout: 240 seconds) 2017-03-05T02:16:04Z Ven joined #lisp 2017-03-05T02:16:15Z jack_rabbit joined #lisp 2017-03-05T02:17:03Z cibs quit (Ping timeout: 240 seconds) 2017-03-05T02:17:54Z Karl_Dscc quit (Remote host closed the connection) 2017-03-05T02:19:03Z cibs joined #lisp 2017-03-05T02:19:16Z JohnnyDown joined #lisp 2017-03-05T02:19:33Z ezgoat joined #lisp 2017-03-05T02:23:51Z snits` quit (Ping timeout: 260 seconds) 2017-03-05T02:24:55Z drewc joined #lisp 2017-03-05T02:25:03Z akkad quit (Excess Flood) 2017-03-05T02:25:03Z snits` joined #lisp 2017-03-05T02:27:57Z Ven quit (Ping timeout: 240 seconds) 2017-03-05T02:30:26Z AntiSpamMeta quit (Remote host closed the connection) 2017-03-05T02:30:57Z AntiSpamMeta joined #lisp 2017-03-05T02:31:24Z Ven joined #lisp 2017-03-05T02:33:44Z akkad joined #lisp 2017-03-05T02:34:55Z Corey_2275 left #lisp 2017-03-05T02:51:43Z Tex_Nick quit (Quit: In Linux, We Trust) 2017-03-05T02:56:15Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-05T03:01:16Z jealousmonk: what should I do to stop a infinite loop in slime + sbcl? Interrupt Command C-c C-c almost never work for me, specially when the problematic function prints things 2017-03-05T03:04:23Z Xach_: jealousmonk: Hmm, works for me, though sometimes it takes a while. 2017-03-05T03:04:44Z Xach_: jealousmonk: are you using windows? or going through ssh connection? that's when i have the most trouble. 2017-03-05T03:06:28Z jealousmonk: Xach_: I'm on Debian, not through ssh... 2017-03-05T03:08:44Z defaultxr quit (Ping timeout: 256 seconds) 2017-03-05T03:09:08Z lemoinem quit (Ping timeout: 260 seconds) 2017-03-05T03:11:02Z lemoinem joined #lisp 2017-03-05T03:11:22Z jason_m: jealousmonk: Could something be catching your C-c? from the repl, does M-x slime-interrupt work any better? 2017-03-05T03:12:06Z Xach_: jealousmonk: if you just have a simple (loop) form, which is infinite, does C-c C-c work every time to interrupt it? 2017-03-05T03:13:11Z jealousmonk: with a simples (loop) C-c C-c works immediately 2017-03-05T03:13:34Z tokenrov1 is now known as tokenrove 2017-03-05T03:14:54Z slyrus quit (Ping timeout: 268 seconds) 2017-03-05T03:15:32Z JohnnyDown quit (Quit: μόνον εἰδέναι τὸν σοφὸν τίνων χρὴ ἐρᾶν.) 2017-03-05T03:18:07Z slyrus joined #lisp 2017-03-05T03:22:38Z jealousmonk: hmm, after restarting emacs C-c C-c is working fine with the original form who froze it 2017-03-05T03:22:41Z White_Flame: the biggest thing is emacs having buffered up all that stuff to print 2017-03-05T03:22:50Z White_Flame: especially when it's one massively wrapped line 2017-03-05T03:23:08Z White_Flame: that takes forever to get through before the C-c C-c gets processed out of the queue, or until the result of that gets printed 2017-03-05T03:24:41Z decuser quit (Quit: rcirc on GNU Emacs 25.1.1) 2017-03-05T03:24:47Z White_Flame: remember that the connection between emacs and the lisp is a socket, so it can't interrupt & jump ahead of what's already been written to and buffered in the socket itself 2017-03-05T03:40:08Z lep joined #lisp 2017-03-05T03:40:44Z lep: hello. i am supposed to write a program that assigns variables that can be used with eval after the function is finished 2017-03-05T03:41:19Z lep: but this confuses me because i thought variables could only be declared and used within the scope of the let statement 2017-03-05T03:41:58Z Bike: that's true of lexical variables, but special variables can have values globally. 2017-03-05T03:42:03Z lep: so how do i assign 'a to some value, such that i can say >EVAL('a) after the function is finished and get that value 2017-03-05T03:42:14Z lep: oh the *hat* ones? 2017-03-05T03:42:24Z Bike: yes 2017-03-05T03:42:58Z CEnnis91 quit (Quit: Connection closed for inactivity) 2017-03-05T03:44:23Z TDT joined #lisp 2017-03-05T03:50:13Z nowhereman joined #lisp 2017-03-05T03:50:46Z nowhere_man quit (Ping timeout: 264 seconds) 2017-03-05T03:51:16Z Vivek___ is now known as Vivek 2017-03-05T03:51:29Z Vivek quit (Changing host) 2017-03-05T03:51:29Z Vivek joined #lisp 2017-03-05T03:54:37Z andrei_chiffa_ joined #lisp 2017-03-05T03:54:48Z aje joined #lisp 2017-03-05T03:56:33Z andrei_chiffa__ quit (Ping timeout: 240 seconds) 2017-03-05T03:59:20Z nowhereman quit (Remote host closed the connection) 2017-03-05T03:59:57Z sellout- quit (Quit: Leaving.) 2017-03-05T04:00:43Z nowhereman joined #lisp 2017-03-05T04:00:58Z slyrus quit (Ping timeout: 264 seconds) 2017-03-05T04:06:52Z LiamH quit (Ping timeout: 246 seconds) 2017-03-05T04:07:29Z decuser joined #lisp 2017-03-05T04:09:35Z beach: Good morning everyone! 2017-03-05T04:09:47Z holycow: mornin 2017-03-05T04:10:14Z andrei_chiffa__ joined #lisp 2017-03-05T04:10:33Z Fare joined #lisp 2017-03-05T04:10:43Z TDT quit (Quit: TDT) 2017-03-05T04:10:55Z nelder joined #lisp 2017-03-05T04:11:03Z andrei_chiffa_ quit (Ping timeout: 240 seconds) 2017-03-05T04:12:17Z aje_ joined #lisp 2017-03-05T04:14:49Z drmeister: The ECL CLOS code uses si::*class-name-hash-table* to associate class names with class objects. It doesn't appear to be thread safe. I'm going to replace references to *class-name-hash-table* with calls to find-class and setf-find-class and protect the class-name/class table with a shared-mutex to make it thread safe. 2017-03-05T04:14:52Z dymatic joined #lisp 2017-03-05T04:14:58Z drmeister: Does anyone see any problems with that? 2017-03-05T04:15:20Z aje quit (Ping timeout: 268 seconds) 2017-03-05T04:17:52Z sellout- joined #lisp 2017-03-05T04:21:11Z loke___ joined #lisp 2017-03-05T04:22:50Z decuser quit (Quit: rcirc on GNU Emacs 25.1.1) 2017-03-05T04:24:16Z FreeBirdLjj joined #lisp 2017-03-05T04:26:03Z drewc quit (Ping timeout: 240 seconds) 2017-03-05T04:28:33Z dymatic: I'm kinda sad there's not a good CLR lisp yet. 2017-03-05T04:28:56Z lep: (defvar var val) -- i am in a situation where i have to defvar with variable arguments instead of literals 2017-03-05T04:29:04Z lep: im getting a giant error, is this possible 2017-03-05T04:29:11Z lep: to do? 2017-03-05T04:29:32Z beach: lep: What do you mean by "variable arguments"? 2017-03-05T04:30:07Z lep: beach: i encounter a name first and then later i encounter a value, at which point i declare the global variable with said name and value 2017-03-05T04:30:15Z lep: so the name must be stored for a while 2017-03-05T04:30:30Z Bike: why do teachers assign this nonsense 2017-03-05T04:30:39Z lep: my teacher is an idiot 2017-03-05T04:31:05Z Bike: you can proclaim the variable special and then assign it with setf symbol-value 2017-03-05T04:31:09Z Bike: clhs proclaim 2017-03-05T04:31:11Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_procla.htm 2017-03-05T04:31:26Z Bike: well, or just do the symbol-value part i guess 2017-03-05T04:35:10Z nowhereman quit (Read error: Connection reset by peer) 2017-03-05T04:35:24Z k-stz quit (Remote host closed the connection) 2017-03-05T04:35:26Z nowhereman joined #lisp 2017-03-05T04:36:31Z beach: lep: Why do you HAVE TO use defvar? 2017-03-05T04:36:52Z beach: lep: If you have that kind of situation, you might as well use a hash table to associate symbols with values. 2017-03-05T04:37:10Z lep: thank you beach 2017-03-05T04:37:15Z lep: but i have it working now 2017-03-05T04:39:05Z drewc joined #lisp 2017-03-05T04:40:14Z Bike: is there a zerop for bit vectors? 2017-03-05T04:40:42Z beach: Not that I recall. 2017-03-05T04:40:47Z Bike: doing (every #'zerop ...) seems like it would not be as good as bit-ior and such. 2017-03-05T04:40:52Z Bike: i guess i could just use integers 2017-03-05T04:43:19Z beach: Maybe so, yes. 2017-03-05T04:45:09Z Fare: beach, hi! 2017-03-05T04:45:19Z beach: Hello Fare. 2017-03-05T04:48:17Z Fare tries to fix poiu for the upcoming asdf 3.3 2017-03-05T04:48:56Z Fare: but 3.2.1 has been waiting for review + testing for ~ 2 months. 2017-03-05T04:49:23Z beach: I thought you gave ASDF to someone else, no? 2017-03-05T04:49:42Z beach: Or maybe poiu is not part of ASDF? 2017-03-05T04:52:13Z learning quit (Remote host closed the connection) 2017-03-05T04:52:23Z kini joined #lisp 2017-03-05T04:53:14Z Fare: beach: I officially gave asdf to rpgoldman, but never actually stopped being its main developer :-( 2017-03-05T04:54:16Z Fare: and no one ever stepped forward for POIU, which is not part of ASDF itself, but an add-on. Still an add-on that is deeply related to ASDF, and requires co-development when there is a major refactoring in ASDF 2017-03-05T04:54:49Z Fare: since ASDF 3.3 includes major refactoring, POIU needs to be fixed (and fixing it also always helps find bugs and limitations in ASDF) 2017-03-05T04:55:01Z beach: I see. What does POIU do? 2017-03-05T04:55:10Z Fare: it parallelizes the build 2017-03-05T04:55:32Z nowhereman quit (Ping timeout: 260 seconds) 2017-03-05T04:56:51Z student_of_lisp joined #lisp 2017-03-05T05:03:08Z aeth: Bike: (every #'zerop ...) seems to be quite efficient against bit vectors in SBCL, at least in my REPL tests 2017-03-05T05:04:28Z sword joined #lisp 2017-03-05T05:04:29Z yrdz quit (Remote host closed the connection) 2017-03-05T05:04:46Z yrdz joined #lisp 2017-03-05T05:05:20Z beach: Bike: Or, you can build an all-zero bit vector and use EQUAL to compare. 2017-03-05T05:05:42Z aeth: (let ((foo (make-array 18000 :element-type 'bit :initial-element 0))) (trivial-benchmark:with-timing (10000) (every #'zerop foo))) ; 0.000127 average 2017-03-05T05:05:43Z beach: Bike: Assuming your bit vectors have constant length during the execution of your algorithm. 2017-03-05T05:06:42Z Bike: as it happens, i'm using a compiler that's pretty dumb 2017-03-05T05:06:50Z Bike: i'm also thinking about this without testing speeds though, so no big 2017-03-05T05:10:20Z nowhereman joined #lisp 2017-03-05T05:15:13Z beach: Bike: I did this: (defvar *zero* (make-array 100000000 :element-type 'bit :initial-element 0)) and this: (defvar *x* (make-array 100000000 :element-type 'bit :initial-element 0)) 2017-03-05T05:15:44Z beach: Then I did this (time (every #'zerop *x*)) which took 0.9 seconds. 2017-03-05T05:16:01Z beach: And this (time (equal *x* *zero*)) which took 0.002 seconds. 2017-03-05T05:16:53Z sirkmatija_ joined #lisp 2017-03-05T05:17:10Z Bike: huh, that's quite a difference 2017-03-05T05:17:15Z Bike: i guess the every isn't inlined 2017-03-05T05:17:45Z beach: That's probably true. 2017-03-05T05:19:08Z nowhereman quit (Ping timeout: 240 seconds) 2017-03-05T05:19:30Z aje joined #lisp 2017-03-05T05:20:16Z dymatic: can the compiler even inline at run-time? That's pretty cool if so 2017-03-05T05:20:46Z aje_ quit (Ping timeout: 264 seconds) 2017-03-05T05:23:56Z Bike: well, some implementations just compile almost everything at the repl anyway 2017-03-05T05:25:07Z beach: dymatic: I don't think any implementation is attempting that. One would have to be very careful not to violate the semantics described in the Common Lisp HyperSpec. 2017-03-05T05:31:18Z jealousmonk quit (Quit: Leaving) 2017-03-05T05:31:34Z dezren39 joined #lisp 2017-03-05T05:36:40Z nowhereman joined #lisp 2017-03-05T05:38:35Z BitPuffin|osx quit (Ping timeout: 268 seconds) 2017-03-05T05:39:23Z wildlander quit (Quit: Saliendo) 2017-03-05T05:46:58Z student_of_lisp quit 2017-03-05T05:49:58Z Whitesquall joined #lisp 2017-03-05T05:56:24Z logrus quit (Quit: Leaving) 2017-03-05T05:57:36Z nowhereman quit (Ping timeout: 260 seconds) 2017-03-05T05:57:45Z aeth: I get similar times in SBCL, but I get a significant speedup with (time (foo *x*)) where foo is (defun foo (x) (declare ((simple-bit-vector 100000000) x)) (every #'zerop x)) 2017-03-05T05:58:27Z aeth: Basically no gain with optimizations declared, though. 2017-03-05T05:59:05Z dymatic: Betting if you compiled both and ran them, they'd be about the same in sbcl 2017-03-05T05:59:10Z aeth: The function is about 1/4 to 1/3 the speed of just doing it directly... but it's still 100x slower than #'equal 2017-03-05T05:59:52Z dymatic: Seems like something that would be optimized when it's not interpretting. Or should be anyway 2017-03-05T06:00:08Z nowhereman joined #lisp 2017-03-05T06:01:37Z aeth: In SBCL, a declared-typed function is about 20% faster for #'equal as opposed to 70% faster for the #'every 2017-03-05T06:01:55Z aeth: Although it might be because it's comparing to *zero* 2017-03-05T06:03:23Z aeth: hmm, nope, it's actually slightly slower if I do (equal x #.(make-array 100000000 :element-type 'bit :initial-element 0)) 2017-03-05T06:03:43Z learning joined #lisp 2017-03-05T06:03:46Z aeth: (warning: do not disassemble a function containing that, you'll be flooded with 0s) 2017-03-05T06:07:36Z rippa joined #lisp 2017-03-05T06:13:32Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-05T06:20:25Z reinuseslisp joined #lisp 2017-03-05T06:23:12Z vtomole joined #lisp 2017-03-05T06:23:37Z lambda-smith joined #lisp 2017-03-05T06:25:26Z aeth: (I have seen that before, though, where compiling with enough information gets rid of the distinction in SBCL. This just isn't one of thoses cases. beach wins, if you have the RAM for it.) 2017-03-05T06:25:44Z beach: dymatic: I see you know about compiling Common Lisp. Do you have any plans to use your knowledge to improve some implementation? 2017-03-05T06:26:29Z Bike: sbcl isn't sure if (and function sequence) is empty, weird 2017-03-05T06:26:46Z quazimodo joined #lisp 2017-03-05T06:27:24Z dymatic: beach, actually yeah lol. Not that it'll be a huge performance increase for my dialect 2017-03-05T06:28:45Z Bike: maybe you could have a funcallable instance that's also an extended sequence 2017-03-05T06:29:21Z beach: Bike: That sounds strange. 2017-03-05T06:30:12Z vtomole: Do any of you work on sbcl? 2017-03-05T06:30:33Z aeth: There's an #sbcl 2017-03-05T06:30:47Z aeth: Developers are active there 2017-03-05T06:30:59Z aeth: Most if not all of them are probably also here, though. 2017-03-05T06:33:43Z dymatic: Bike, I'm doing a small Lisp that compiles to MSIL, I actually don't know how that kind of environment would handle extended sequences 2017-03-05T06:33:45Z Beetny joined #lisp 2017-03-05T06:34:37Z dymatic: Certain things work really well for common lisp that make the JVM / CLR / Managed-environment-x go "Oh, dude..." 2017-03-05T06:34:42Z nowhereman quit (Ping timeout: 268 seconds) 2017-03-05T06:34:53Z dymatic: As the Clojure devs found out over and over lol 2017-03-05T06:35:01Z beach: dymatic: The Common Lisp HyperSpec allows for implementation-specific extensions of the SEQUENCE concept. Implementations such as SBCL have a protocol for such extensions. 2017-03-05T06:36:37Z vtomole: I haven't looked at clojure (i should do it soon) what do you guys think about it? 2017-03-05T06:37:21Z beach: vtomole: I am afraid that subject is off-topic here. 2017-03-05T06:37:52Z vtomole: Where can we discuss it? 2017-03-05T06:37:54Z dymatic: But... Clojure's a lisp? 2017-03-05T06:38:32Z beach: dymatic: 1. There is no widely agreed-upon definition of "Lisp". 2. This channel is dedicated to Common Lisp, which is well defined. 2017-03-05T06:38:42Z beach: vtomole: I hear there is a ##lisp channel. 2017-03-05T06:38:56Z beach: vtomole: You might try #lispcafe as well. 2017-03-05T06:39:24Z dymatic: Oh, I always forget the ## vs # distinction on freenode. 2017-03-05T06:39:45Z vtomole: join #lispcafe 2017-03-05T06:39:48Z vtomole: sorry 2017-03-05T06:39:59Z dymatic: It's interesting because Clojure is far closer to common lisp than scheme but it's definitely way different as well. 2017-03-05T06:40:18Z beach: dymatic: Scheme is also off-topic here. 2017-03-05T06:40:27Z vtomole: Sounds like arc, but arc is dead. 2017-03-05T06:40:36Z aeth: I'd say Scheme is closer to Common Lisp than Clojure 2017-03-05T06:40:43Z aeth: but that's off topic 2017-03-05T06:41:08Z aeth: there's a fairly short list of diffs between Scheme and Common Lisp, and most other newer Lisps (as opposed to legacy lisps like elisp that Common Lisp is compatible with) are way out there. 2017-03-05T06:41:35Z aeth: s/compatible/partially backwards compatible/ 2017-03-05T06:42:38Z vtomole: I do have to learn clojure sooner or later cause that's where the lisp jobs seem to be.... 2017-03-05T06:43:44Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-05T06:43:46Z kjak_ quit (Quit: leaving) 2017-03-05T06:44:21Z FreeBirdLjj joined #lisp 2017-03-05T06:46:08Z beach: vtomole: There are a lot of jobs for developers where they wouldn't mind your using Common Lisp, because they just have no clue about software development. The important thing is not to tell them that you are using "Lisp", because those ignorant people have often heard that it is interpreted (so slow) has only two data types, is no longer used, etc. 2017-03-05T06:46:57Z dymatic: Good point. It's easier to ask forgiveness than permission. 2017-03-05T06:47:13Z dymatic: If you can use lisp for task automation, or testing, or something, then bam. Using Lisp at work, at any job. 2017-03-05T06:48:28Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-05T06:48:36Z beach: vtomole: It is easy to make the mistake to think that the software industry is highly sophisticated, uses the latest techniques, has brilliant management, etc. None of that is typically true. 2017-03-05T06:49:38Z beach: vtomole: Most managers of software projects have no training in software. Most developers have only an undergraduate degree and have not had any continuing education after that, so they have only rudimentary knowledge about software in the first place. 2017-03-05T06:50:04Z nowhereman joined #lisp 2017-03-05T06:50:21Z vtomole: It does always seem like there is a new hot java-script framework every 2 years that doesn't push the boundaries of programming language design whatsoever. 2017-03-05T06:51:30Z tictac: often startups dont care about the technology you use 2017-03-05T06:51:53Z White_Flame: ~100% of "tech" startups are not about tech 2017-03-05T06:52:12Z dymatic: The buzzwordier the better though 2017-03-05T06:52:12Z White_Flame: they're about some dumb service they wish to convince people is wanted 2017-03-05T06:52:13Z beach: I can see how that happens. If you know only one or two languages (none of them even close to the flexibility of Common Lisp), and your experience working with them is disappointing, then anything new might seem like a temptation to jump on the bandwagon, hoping things will be better then. 2017-03-05T06:52:19Z dymatic: That said, React+Redux is pretty revolutionary. 2017-03-05T06:52:46Z tictac: indeed, lisp is good for fast prototyping apprently so if you can ship the prototype in list they will be happy 2017-03-05T06:52:53Z tictac: lisp* 2017-03-05T06:53:12Z vtomole: I've thought about starting a startup cause i couldn't find any lisp jobs in my area.. but that seems doing too much to solve that problem in my opinion. 2017-03-05T06:53:38Z beach: vtomole: You could consult with jackdaniel about doing that. 2017-03-05T06:53:41Z tictac: well if you have the idea, and proficient in lisp this is the way to go 2017-03-05T06:53:55Z White_Flame: you'd be hard pressed to convince VCs that it's worth the hassle to limit yourself to hiring lispers 2017-03-05T06:54:19Z White_Flame: even if you already have the tech built, there's always questions of maintenance and ongoing support 2017-03-05T06:55:00Z tictac: y combinator love functional language and lisp apprently :) 2017-03-05T06:55:10Z White_Flame: much of silicon valley is fixated on getting cheap teenagers in an apartment for a few months to bang together off-the-shelf stuff into a branded product 2017-03-05T06:56:11Z beach: tictac: Very interesting. Why would they love functional languages, and then Lisp as the ONLY language that is not in that category. 2017-03-05T06:56:17Z aeth: White_Flame: well, yeah, tech startups aren't about tech anymore... they used to be, then they were about "social" so the tech was secondary to network effects, and now they're about "Uber for X" so the tech isn't important at all. 2017-03-05T06:56:30Z tictac: beach: lol because the creator of y combinator is paul graham 2017-03-05T06:56:35Z neoncontrails quit (Remote host closed the connection) 2017-03-05T06:56:41Z beach: tictac: Ah, I see. 2017-03-05T06:56:45Z tictac: he raped the business with his lisp secret weapon when he started business 2017-03-05T06:57:06Z aeth: tictac: and then he chose to make a lot of money doing YC instead of developing his Lisp further. 2017-03-05T06:57:13Z neoncontrails joined #lisp 2017-03-05T06:57:20Z aeth: Although I guess I can't really blame someone for choosing the option that makes more money 2017-03-05T06:57:30Z adolf_stalin quit (Remote host closed the connection) 2017-03-05T06:57:33Z tictac: well it is not only about money 2017-03-05T06:57:43Z tictac: he helped people to build things too 2017-03-05T06:58:03Z stardiviner quit (Ping timeout: 240 seconds) 2017-03-05T06:58:05Z tictac: and y combinator is kind of elite startup builder so well.. i dont know :) 2017-03-05T06:58:13Z kjak_ joined #lisp 2017-03-05T06:58:30Z slyrus joined #lisp 2017-03-05T06:59:14Z tictac: but well apprently the strategy behind lisp is you can build fast thing quickly, so you have an advantage against the others 2017-03-05T06:59:33Z vtomole: beach: Does jackdaniel have his own startup? 2017-03-05T06:59:46Z tictac: it was the advantage, in the past, no sure it is true now 2017-03-05T07:00:15Z FreeBirdLjj joined #lisp 2017-03-05T07:00:16Z aeth: tictac: Python's better at that. It's a slower language to program in, and a much slower language to run, and it's weaker in features... but it has a library for literally everything. 2017-03-05T07:00:22Z tictac: python and javascript are good for prototyping and builind fast thing, and apprently python have the advantage of a huge library 2017-03-05T07:00:24Z aeth: tictac: Although my knowledge is years out of date, maybe that is node.js now. 2017-03-05T07:00:35Z Fare quit (Ping timeout: 240 seconds) 2017-03-05T07:00:43Z aeth: heh, we said the same thing at the same time. 2017-03-05T07:00:45Z tictac: aeth: indeed 2017-03-05T07:00:57Z dymatic: Yeah, npm has surpassed python quite a bit Python still has stuff like numpy over npm though 2017-03-05T07:01:06Z aeth: npm has weaker libraries, though. 2017-03-05T07:01:08Z vtomole: I guess that's why norvig bailed on lisp and moved to python. I think that's sad. 2017-03-05T07:01:12Z tictac: but npm is pretty toxic 2017-03-05T07:01:33Z tictac: i mean this is a huge ocean full of shark 2017-03-05T07:01:35Z neoncontrails quit (Ping timeout: 240 seconds) 2017-03-05T07:01:39Z aeth: Really, the best approach is to have one person curate the packages for a language. It probably doesn't scale, though. 2017-03-05T07:01:52Z aeth: I wonder if Xach_ has any secret scaling QL plans. 2017-03-05T07:02:22Z tictac: but python is pretty boring :( 2017-03-05T07:02:31Z tictac: there is really one way to do everything 2017-03-05T07:02:44Z aeth: And not only that, you can't just then go ahead and write define-foos for everything 2017-03-05T07:04:24Z tictac: well i coded a bit in a c c++ python and javascript and now i am learning lisp 2017-03-05T07:04:28Z tictac: this is really thrilling 2017-03-05T07:04:37Z vtomole: Norvig jumped on the python wagon so fast too, I don't know his reasoning except that it had the lisp-like rapid prototyping. paul graham also used to be huge advocate. 2017-03-05T07:04:52Z tictac: well i am not sure 2017-03-05T07:04:59Z tictac: but he is at google now 2017-03-05T07:05:02Z reinuseslisp: Python does not allow high abstractions, so at some point it becomes slow 2017-03-05T07:05:11Z vtomole: Ahh you have to like python there lol 2017-03-05T07:05:19Z tictac: i think python is the main scripting langauge at google 2017-03-05T07:06:32Z tictac: reinuseslisp: python is a sure bet today for sure 2017-03-05T07:06:35Z dezren39 quit (Ping timeout: 240 seconds) 2017-03-05T07:06:39Z tictac: it is not really hard to learn 2017-03-05T07:06:57Z tictac: i stoped at 2.7, i heard 3.0 was a mess but should be ok now 2017-03-05T07:07:10Z rippa: python has an advantage over javascript in not being a piece of shit 2017-03-05T07:07:17Z tictac: lol 2017-03-05T07:07:21Z JuanDaugherty joined #lisp 2017-03-05T07:07:24Z tictac: rippa: javascript is pretty good now 2017-03-05T07:07:28Z aeth: only Lisp can do something like this easily: https://gitlab.com/zombie-raptor/zombie-raptor/blob/a7cad3d81a02cfd42d0e3c64437262104ece0435/data/shader.lisp#L156-226 2017-03-05T07:07:31Z aeth: or this: https://gitlab.com/zombie-raptor/zombie-raptor/blob/a7cad3d81a02cfd42d0e3c64437262104ece0435/core/controls.lisp#L115-177 2017-03-05T07:07:35Z reinuseslisp: what's good about lisp is it does not require an scripting language like C does, you can (load) code at runtime 2017-03-05T07:07:49Z rippa: tictac: if you only write new stuff and don't have do maintain any of the old 2017-03-05T07:07:57Z tictac: rippa: omg true 2017-03-05T07:08:50Z tictac: well i am probably crazy but i am tryong to switch all my knowledge and habbits to lisp 2017-03-05T07:09:03Z tictac: and i did a LOOOT of python mostly all my dev career 2017-03-05T07:09:31Z aeth: With Lisp, I can define arbitrary things that do arbitrary things as define-foo macros, and hide everything that's actually going on at a lower level. 2017-03-05T07:09:49Z dezren39 joined #lisp 2017-03-05T07:09:59Z aeth: (You can do this in quite a few languages, just not as easily as defmacro) 2017-03-05T07:10:05Z TeMPOraL quit (Ping timeout: 240 seconds) 2017-03-05T07:10:21Z tictac: aeth: indeed, love this defmacro 2017-03-05T07:10:33Z tictac: template are a big mess in c++ 2017-03-05T07:10:34Z reinuseslisp: aeth: first link is awsome, but second is kind of dumb defining 6 times the same code 2017-03-05T07:10:54Z beatdown joined #lisp 2017-03-05T07:10:55Z tictac: black magic, 90% of C++ dev dont use it i am sure 2017-03-05T07:10:58Z aeth: reinuseslisp: each one represents a different key press 2017-03-05T07:10:59Z dymatic: aeth, you'd like Rust by chance 2017-03-05T07:11:14Z reinuseslisp: tictac: c++'s templates kill compile-time performance 2017-03-05T07:11:15Z aeth: reinuseslisp: I'm *really* not sure if I should abstract it further because it's already using a macro on a macro 2017-03-05T07:11:28Z dymatic: Rust has macros that aren't quite as good as Lisps, but they're type-safe and still very dang extensible 2017-03-05T07:12:04Z reinuseslisp: aeth: you can use something like this: (defmacro ,(symb use-entity- number) ...) 2017-03-05T07:12:21Z aeth: I probably will, eventually. 2017-03-05T07:13:04Z okflo joined #lisp 2017-03-05T07:13:21Z tictac: i never tried it yes, but we can do self modifying program in lisp right ? 2017-03-05T07:13:38Z tictac: yet* 2017-03-05T07:13:54Z dymatic: Absolutely can! 2017-03-05T07:13:57Z tictac: self mofifying at runetime i mean 2017-03-05T07:14:05Z aeth: Careful. The more things you do ahead of time, the faster things generally go. 2017-03-05T07:14:11Z tictac: as far as i know the only language i could do it is in assembly 2017-03-05T07:14:35Z tictac: cause you can read yoru proper code as data and write on it (with proper persmission ofc) 2017-03-05T07:14:36Z White_Flame: you can easily change the source code of functions or lambda and compile new replacement versions 2017-03-05T07:14:40Z dymatic: Yeah, also self modifying only parts of the program at runtime, rather than having to reload the entire thing 2017-03-05T07:15:08Z tictac: definitvely thrilling 2017-03-05T07:15:24Z okflo: selfmodifying code: have a look at befunge ;) 2017-03-05T07:15:28Z White_Flame: it's not asm-style selfmod, where you directly overwrite inline instructions or parameters of running code 2017-03-05T07:16:20Z White_Flame: (although with undefined behavior you coudl try to do things like mutate literals, but that's certainly not recommended) 2017-03-05T07:17:25Z tictac: indeed 2017-03-05T07:17:38Z tictac: okflo: that looks weird 2017-03-05T07:18:49Z beach: vtomole: Yes, jackdaniel has his own company, doing Common Lisp. 2017-03-05T07:19:45Z White_Flame: VC-funded "startup", or his actual own company? 2017-03-05T07:20:17Z tictac: well, tell me if i am wrong, but we talked about the python huge library, the most interessting libraries are binding from C code (sdl, gui etc) 2017-03-05T07:20:28Z tictac: but in lisp we can easly use C libraried with ffi right ? 2017-03-05T07:20:38Z White_Flame: yeah, a lot in quicklisp does exactly that, too 2017-03-05T07:21:21Z tictac: ok so no problem :) 2017-03-05T07:21:28Z frug72 quit (Ping timeout: 256 seconds) 2017-03-05T07:21:36Z aeth: cl-sdl2 and cl-opengl are frequently paired, and there's an IRC community called #lispgames that mostly uses that pair 2017-03-05T07:21:55Z vtomole: beach: I'll definitely have a chat with him, thanks for letting me know. 2017-03-05T07:22:20Z beach: vtomole: Sure. 2017-03-05T07:22:25Z aeth: cl-sdl2 and cl-opengl are probably two of the most popular libraries on Lisp IRC, probably because everyone likes seeing visual results 2017-03-05T07:22:32Z reinuseslisp: sdl2-image too 2017-03-05T07:24:23Z beach: reinuseslisp: You have a very interesting point (that I have also pointed out in the past) about Common Lisp not needing a separate scripting language. I am baffled when I see how people choose (typically) C++ "because we need all the performance we can get", and then they completely ruin it by including a scripting language that is very slot. 2017-03-05T07:24:42Z aeth: There's a mini-Renaissance of GPU-accelerated Lisp applications. Here are three decently mature ones: https://github.com/vydd/sketch https://github.com/cbaggers/cepl https://github.com/BradWBeer/clinch 2017-03-05T07:24:50Z aeth: s/ones/framework things/ 2017-03-05T07:25:19Z tictac: thx for the links 2017-03-05T07:25:28Z White_Flame: beach: that, and ending up adding reference counting to everything because their program's too large to manage it manually 2017-03-05T07:25:37Z beach: Yes, that too. 2017-03-05T07:25:42Z reinuseslisp: beach: yes, i think just like you. You don't even need file formats. In a game engine (for example) you can just write the code (a DSL) that builds a map 2017-03-05T07:26:05Z aeth: (one describes itself as a framework, another as a graphics engine, and another as a library... but afaik they fill similar roles) 2017-03-05T07:26:06Z reinuseslisp: and not brain-dead bytecode interpreters 2017-03-05T07:26:10Z White_Flame: building a map visually is often much easier than describing a map textually 2017-03-05T07:26:47Z frug72 joined #lisp 2017-03-05T07:27:15Z aeth: almost always 2017-03-05T07:27:17Z reinuseslisp: White_Flame: you can edit it's code visually at runtime 2017-03-05T07:27:33Z aeth: I'm trying to describe 3D level designs through Lisp code... still trying to find a proper representation... might never find one. 2017-03-05T07:27:34Z reinuseslisp: its* 2017-03-05T07:27:50Z White_Flame: code is a textual representation of the map (in ~100% of cases), not a visual representation of a map 2017-03-05T07:27:54Z aeth: (Meanwhile, I wrote most of that partial GLSL transpiler in one sitting.) 2017-03-05T07:28:25Z reinuseslisp: aeth: is it an event-based world? 2017-03-05T07:29:19Z aeth: I don't have events at the moment. Or collisions. 2017-03-05T07:29:51Z reinuseslisp: you should check https://en.wikipedia.org/wiki/Naughty_Dog 2017-03-05T07:30:24Z reinuseslisp: there was an example of code somewhere, I'm trying to find it 2017-03-05T07:33:53Z Bike: before i start reviewing linear algebra again, does anyone know a good way to get repeated bit sequences? like, (foo #b10 1) = #b10, (foo #b10 2) = #b1010, etc 2017-03-05T07:33:59Z aeth: One of the main reasons I chose Lisp, though is so it can all be done in one language. Common Lisp is *almost* capable enough for this. 2017-03-05T07:36:20Z vtomole quit (Ping timeout: 260 seconds) 2017-03-05T07:36:20Z White_Flame: Bike: integer-length would give you the number of bits, so that would be pretty easy to loop with 2017-03-05T07:36:29Z reinuseslisp quit (Quit: Leaving) 2017-03-05T07:36:54Z White_Flame: (incf num-bits-to-shift (integer-length number-to-replicate)) 2017-03-05T07:37:02Z aeth: oops, I had a half written answer for bit *arrays* 2017-03-05T07:37:11Z Bike: i'm hoping for something basically arithmetical 2017-03-05T07:37:59Z Bike: if the argument is #b1 it obviously reduces to (1- (ash #b1 n)), eg 2017-03-05T07:38:30Z White_Flame: well, the only thing I could think of there would be multiplying #b1001001001 by a 3 bit number to repeat it 4 times, but you still need to generate that number 2017-03-05T07:39:11Z White_Flame: and that still reduces to shifting & integer-length 2017-03-05T07:41:34Z Bike: i think... i will do it a different way anyway, math is too annoying 2017-03-05T07:43:40Z beach: What are you working on, Bike? 2017-03-05T07:44:08Z Bike: type lattice 2017-03-05T07:44:35Z beach: Great! 2017-03-05T07:45:20Z Bike: i figured a way to do it that just uses subtypep, though there has to be an earlier cleaning step that does implementation dependent things 2017-03-05T07:46:23Z beach: Sounds interesting. 2017-03-05T07:47:48Z lep quit (Quit: Page closed) 2017-03-05T07:48:02Z Bike: i don't really get why baker has 'representatives', but the basic idea of projecting into a bunch of 'domains' and using bitvectors seems solid 2017-03-05T07:48:58Z beach: I think I understood why at the time I read the paper. 2017-03-05T07:52:25Z cibs quit (Ping timeout: 258 seconds) 2017-03-05T07:54:10Z cibs joined #lisp 2017-03-05T07:57:03Z holycow quit (Quit: Lost terminal) 2017-03-05T07:59:54Z jameser joined #lisp 2017-03-05T08:00:56Z mishoo joined #lisp 2017-03-05T08:03:37Z jameser quit (Client Quit) 2017-03-05T08:04:02Z Cymew joined #lisp 2017-03-05T08:04:34Z slyrus quit (Ping timeout: 264 seconds) 2017-03-05T08:08:21Z neoncontrails joined #lisp 2017-03-05T08:14:05Z jameser joined #lisp 2017-03-05T08:16:40Z Cymew quit (Ping timeout: 260 seconds) 2017-03-05T08:18:31Z loke___ quit (Ping timeout: 260 seconds) 2017-03-05T08:19:14Z Corey_3523 joined #lisp 2017-03-05T08:19:57Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-05T08:28:23Z beach: Bike: I think I see what you are up to. 2017-03-05T08:28:42Z beach is reading the SUBTYPEP paper. 2017-03-05T08:30:25Z sirkmatija_ quit (Ping timeout: 246 seconds) 2017-03-05T08:31:32Z gk_1wm_su joined #lisp 2017-03-05T08:33:28Z gk_1wm_su quit (K-Lined) 2017-03-05T08:35:30Z Corey_3523 quit (Remote host closed the connection) 2017-03-05T08:35:30Z oleksiyp joined #lisp 2017-03-05T08:42:50Z oleksiyp quit (Remote host closed the connection) 2017-03-05T08:44:56Z dezren39 quit (Ping timeout: 258 seconds) 2017-03-05T08:46:13Z Petit_Dejeuner: Is there any library for easily digging through html? 2017-03-05T08:46:36Z Petit_Dejeuner: I can turn it into a sexp with a number of libraries, but if I want to quickly find an element with a certain class or id, is there a better way? 2017-03-05T08:49:00Z angavrilov joined #lisp 2017-03-05T08:49:58Z okflo: Petit_Dejeuner: perhaps plump/clss https://github.com/Shinmera/CLSS 2017-03-05T08:50:15Z White_Flame: Petit_Dejeuner: jquery ;) 2017-03-05T08:50:54Z aeth: lquery 2017-03-05T08:51:33Z okflo: https://shinmera.github.io/lquery/ (uses plump and clss) 2017-03-05T08:51:50Z aeth: of course it's real 2017-03-05T08:53:21Z aeth: Another name that's always knocked off in every language is "junit". Quicklisp has cl-junit, clunit, lisp-unit, *and* lisp-unit2 2017-03-05T08:55:54Z nirved joined #lisp 2017-03-05T08:56:34Z sirkmatija_ joined #lisp 2017-03-05T09:04:55Z learning quit (Remote host closed the connection) 2017-03-05T09:05:21Z Bike: beach: since the lattice structure can be fixed ahead of time there doesn't need to be registering or anything 2017-03-05T09:07:14Z beach: I don't understand what that means, probably because I don't have Baker's paper fresh in mind. 2017-03-05T09:07:42Z beach: But I'll keep what you said in mind while re-reading the paper. 2017-03-05T09:08:17Z beach: By "ahead of time", how far in advance do you mean? Before the type inference is executed? 2017-03-05T09:08:43Z Bike: right now, essentially 2017-03-05T09:09:25Z beach: Can you explain that? 2017-03-05T09:10:47Z beach: Is it because you can fix ahead of time the kind of types you will be interested in for the type inference? 2017-03-05T09:10:52Z Bike: baker uses bit vectors, but the length of the vector has to change since the types being checked could be novel (like a new integer range). but for the type inference we can say we only care about certain types, like fixnum and bignum 2017-03-05T09:10:56Z Bike: yes 2017-03-05T09:11:00Z beach: Got it. 2017-03-05T09:11:34Z Bike: it varies by implementation, though, so it's not as fast as it possibly could be, but it shouldn't be a big dea 2017-03-05T09:11:37Z Bike: l 2017-03-05T09:11:51Z beach: I like the idea. 2017-03-05T09:13:23Z jameser joined #lisp 2017-03-05T09:13:30Z Bike: having a function with like thirty subtypep calls is a little unfortunate, though. i'll probably add a cache 2017-03-05T09:14:36Z beach: Yeah, SUBTYPEP is not necessarily fast. 2017-03-05T09:17:19Z Bike: the way it'll work is that before type inference, a limited lattice type is computed from a CL specifier for each THE and TYPEQ (actually two for a TYPEQ, one for each branch). then during type inference it'll just be a bunch of bitwise operations. 2017-03-05T09:18:29Z neoncont_ joined #lisp 2017-03-05T09:18:43Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-05T09:19:46Z Beetny quit (Ping timeout: 246 seconds) 2017-03-05T09:23:53Z beach: Nice! 2017-03-05T09:26:40Z cibs quit (Ping timeout: 260 seconds) 2017-03-05T09:28:19Z cibs joined #lisp 2017-03-05T09:30:41Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-05T09:33:04Z nowhereman quit (Ping timeout: 246 seconds) 2017-03-05T09:36:54Z Petit_Dejeuner: Thanks guys. Lquery worked great. I just got 180 points in a CTF with it. 2017-03-05T09:39:36Z Bike quit (Quit: leaving) 2017-03-05T09:41:37Z fourier joined #lisp 2017-03-05T09:42:07Z nowhereman joined #lisp 2017-03-05T09:43:30Z pve joined #lisp 2017-03-05T09:44:27Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-05T09:46:02Z gk_1wm_su joined #lisp 2017-03-05T09:48:04Z gk_1wm_su quit (K-Lined) 2017-03-05T09:58:26Z safe quit (Read error: Connection reset by peer) 2017-03-05T10:00:22Z shka_ joined #lisp 2017-03-05T10:12:06Z akkad quit (Excess Flood) 2017-03-05T10:12:54Z Ven joined #lisp 2017-03-05T10:13:05Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-05T10:15:07Z Maurice_TCF joined #lisp 2017-03-05T10:16:46Z akkad joined #lisp 2017-03-05T10:20:09Z Maurice_TCF quit (Quit: Leaving) 2017-03-05T10:20:18Z Maurice_TCF joined #lisp 2017-03-05T10:21:22Z Maurice_TCF left #lisp 2017-03-05T10:21:38Z Maurice_TCF joined #lisp 2017-03-05T10:22:14Z Maurice_TCF quit (Client Quit) 2017-03-05T10:22:25Z Maurice_TCF joined #lisp 2017-03-05T10:22:56Z gingerale joined #lisp 2017-03-05T10:24:08Z sjl joined #lisp 2017-03-05T10:24:45Z Maurice_TCF quit (Client Quit) 2017-03-05T10:25:37Z Mon_Ouie quit (Quit: WeeChat 1.7) 2017-03-05T10:28:45Z manuel_ joined #lisp 2017-03-05T10:29:27Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-05T10:37:03Z mishoo quit (Quit: (save-lisp-and-die)) 2017-03-05T10:37:07Z manuel_ quit (Quit: manuel_) 2017-03-05T10:37:21Z mishoo joined #lisp 2017-03-05T10:40:11Z oleo quit (Quit: Leaving) 2017-03-05T10:44:39Z FreeBirdLjj joined #lisp 2017-03-05T10:49:27Z computer joined #lisp 2017-03-05T10:50:39Z varjag joined #lisp 2017-03-05T10:56:53Z computer quit (Quit: Leaving) 2017-03-05T10:57:03Z adolf_stalin joined #lisp 2017-03-05T11:01:37Z adolf_stalin quit (Ping timeout: 246 seconds) 2017-03-05T11:04:12Z krasnal quit (Ping timeout: 260 seconds) 2017-03-05T11:07:05Z neoncont_ quit (Remote host closed the connection) 2017-03-05T11:09:38Z quazimodo joined #lisp 2017-03-05T11:15:12Z Ven joined #lisp 2017-03-05T11:15:48Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-05T11:17:09Z abel-abel joined #lisp 2017-03-05T11:18:30Z krasnal joined #lisp 2017-03-05T11:19:08Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-05T11:23:34Z sjl quit (Read error: Connection reset by peer) 2017-03-05T11:30:44Z abel-abel quit (Read error: Connection reset by peer) 2017-03-05T11:32:56Z jameser joined #lisp 2017-03-05T11:34:25Z raynold quit (Quit: Connection closed for inactivity) 2017-03-05T11:35:02Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-05T11:36:39Z jameser quit (Client Quit) 2017-03-05T11:38:11Z szmer joined #lisp 2017-03-05T11:40:55Z mishoo quit (Quit: (save-lisp-and-die)) 2017-03-05T11:41:44Z mishoo joined #lisp 2017-03-05T11:43:00Z abel-abel joined #lisp 2017-03-05T11:47:37Z jameser joined #lisp 2017-03-05T11:52:13Z jameser quit (Client Quit) 2017-03-05T11:52:38Z FreeBirdLjj joined #lisp 2017-03-05T12:06:34Z sjl joined #lisp 2017-03-05T12:11:36Z d4ryus4 joined #lisp 2017-03-05T12:14:37Z d4ryus3 quit (Ping timeout: 258 seconds) 2017-03-05T12:17:56Z chouchou joined #lisp 2017-03-05T12:18:08Z chouchou: hi 2017-03-05T12:18:13Z adolf_stalin joined #lisp 2017-03-05T12:18:56Z the-blackbeard joined #lisp 2017-03-05T12:19:48Z chouchou: i m trying to build some web application, as i m learning lisp, what web framework would you suggest for a high traffic based application which would handle surge of requests? i m also planning messaging capability, such as websockets, or sip tools 2017-03-05T12:22:49Z adolf_stalin quit (Ping timeout: 246 seconds) 2017-03-05T12:23:07Z sirkmatija_ quit (Ping timeout: 268 seconds) 2017-03-05T12:24:24Z pjb: chouchou: such a technical web question would better be asked in #lispweb. I would use hunchentoot, but I have no idea if it would fulfill your exact needs. 2017-03-05T12:26:16Z Karl_Dscc joined #lisp 2017-03-05T12:32:02Z phoe: chouchou: hunchentoot + hunchensocket + some kind of ningle or caveman2. 2017-03-05T12:32:11Z phoe: but again, #lispweb has better competences than me. 2017-03-05T12:33:25Z megalography joined #lisp 2017-03-05T12:34:30Z loke___ joined #lisp 2017-03-05T12:47:25Z the-blackbeard quit (Ping timeout: 260 seconds) 2017-03-05T12:51:48Z Xach_: I used hunchentoot and nginx and it worked pretty well. 2017-03-05T12:52:05Z terpri quit (Read error: Connection reset by peer) 2017-03-05T12:52:35Z terpri joined #lisp 2017-03-05T12:53:28Z sbodin joined #lisp 2017-03-05T12:56:28Z deank quit (Ping timeout: 240 seconds) 2017-03-05T12:59:53Z chouchou: what of clack and caveman? 2017-03-05T13:00:45Z Xach_: When I was starting they did not exist, so I made what I needed from what hunchentoot provides. 2017-03-05T13:02:39Z chouchou: ok 2017-03-05T13:08:15Z the-blackbeard joined #lisp 2017-03-05T13:17:26Z oleo joined #lisp 2017-03-05T13:17:27Z oleo quit (Changing host) 2017-03-05T13:17:27Z oleo joined #lisp 2017-03-05T13:17:30Z BitPuffin|osx joined #lisp 2017-03-05T13:19:00Z adolf_stalin joined #lisp 2017-03-05T13:21:27Z ttt72 joined #lisp 2017-03-05T13:21:50Z Jesin quit (Ping timeout: 260 seconds) 2017-03-05T13:23:22Z adolf_stalin quit (Ping timeout: 246 seconds) 2017-03-05T13:32:03Z fourier quit (Ping timeout: 240 seconds) 2017-03-05T13:34:36Z ttt72 quit (Quit: ttt72) 2017-03-05T13:34:51Z sjl quit (Read error: Connection reset by peer) 2017-03-05T13:35:01Z ttt72 joined #lisp 2017-03-05T13:37:02Z ttt72 quit (Client Quit) 2017-03-05T13:37:28Z ttt72 joined #lisp 2017-03-05T13:38:27Z dilated_dinosaur joined #lisp 2017-03-05T13:40:09Z Ven joined #lisp 2017-03-05T13:41:57Z kelsar777 joined #lisp 2017-03-05T13:46:11Z xhe_ joined #lisp 2017-03-05T13:46:48Z xhe quit (Ping timeout: 240 seconds) 2017-03-05T13:47:52Z xhe_ is now known as xhe 2017-03-05T13:50:46Z the-blackbeard quit (Quit: Leaving) 2017-03-05T13:51:06Z the-blackbeard joined #lisp 2017-03-05T13:53:16Z neoncontrails joined #lisp 2017-03-05T13:58:01Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-05T13:58:27Z ttt72 quit (Quit: ttt72) 2017-03-05T13:58:54Z ttt72 joined #lisp 2017-03-05T13:59:17Z xhe quit (Quit: leaving) 2017-03-05T14:01:34Z Ven quit (Ping timeout: 264 seconds) 2017-03-05T14:03:45Z Jesin joined #lisp 2017-03-05T14:05:08Z ttt72 quit (Quit: ttt72) 2017-03-05T14:05:34Z ttt72 joined #lisp 2017-03-05T14:06:39Z Ven joined #lisp 2017-03-05T14:07:39Z sjl joined #lisp 2017-03-05T14:08:21Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-05T14:18:43Z ttt72 quit (Quit: ttt72) 2017-03-05T14:19:09Z ttt72 joined #lisp 2017-03-05T14:19:19Z chouchou: anyone familiar with lambdanative? 2017-03-05T14:20:43Z phoe: #scheme might be 2017-03-05T14:22:03Z chouchou: ok, 2017-03-05T14:22:13Z chouchou: is there an equivalent in CL? 2017-03-05T14:22:14Z dddddd_ joined #lisp 2017-03-05T14:23:07Z zygentoma joined #lisp 2017-03-05T14:26:23Z phoe: I don't think there is. 2017-03-05T14:29:32Z LiamH joined #lisp 2017-03-05T14:31:16Z chouchou: ok 2017-03-05T14:32:13Z ttt72 quit (Quit: ttt72) 2017-03-05T14:32:38Z kelsar777 quit (Remote host closed the connection) 2017-03-05T14:32:41Z ttt72 joined #lisp 2017-03-05T14:36:09Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-05T14:38:36Z Fare joined #lisp 2017-03-05T14:39:19Z Fare: hi again 2017-03-05T14:39:36Z ttt72 quit (Quit: ttt72) 2017-03-05T14:41:01Z oleo quit (Quit: Verlassend) 2017-03-05T14:41:28Z shka_: i always find this development time graph hilarious 2017-03-05T14:41:29Z attila_lendvai joined #lisp 2017-03-05T14:43:53Z Fare: shka: which in particular? 2017-03-05T14:44:13Z shka_: http://www.lambdanative.org/images/graph.jpg 2017-03-05T14:44:17Z shka_: this one 2017-03-05T14:44:21Z Fare tries to port poiu to asdf3.3, but it's a much bigger job than foreseen. 2017-03-05T14:46:27Z chouchou: shka_: have you tried developping with it ? 2017-03-05T14:46:30Z Fare: things that were previously in plan are now split between plan and session. 2017-03-05T14:46:38Z Fare: chouchou: with scheme? 2017-03-05T14:46:42Z shka_: no, i don't use scheme actually 2017-03-05T14:46:51Z chouchou: no lambdanative 2017-03-05T14:47:12Z chouchou: i need to develop mobile apps when i come accross it, but the documentation seems to be limited 2017-03-05T14:48:13Z shka_: as for mobile CL, there mocl but it is rather expensive 2017-03-05T14:50:30Z shka_: in theory, ECL could be used same way as lambdanative but i don't know how much work it would require 2017-03-05T14:54:08Z shka_: perhaps EQL5 would be best bet regarding cross platform applications 2017-03-05T14:54:18Z FreeBirdLjj joined #lisp 2017-03-05T14:54:25Z shka_: i don't think it supports mobile right now 2017-03-05T14:54:54Z shka_: but it could 2017-03-05T14:55:27Z Fare: mocl doesn't seem as advanced as lambdanative 2017-03-05T14:55:32Z Fare: or scheme spheres 2017-03-05T14:55:51Z shka_: well, i guess so 2017-03-05T14:56:06Z shka_: but that's what we have right now 2017-03-05T14:57:16Z Fare: what's your goal? 2017-03-05T14:57:35Z shka_: do you refer to me? 2017-03-05T14:57:36Z Fare: ccl, racket, also work on android. Maybe SBCL. 2017-03-05T14:57:53Z Fare: for iOS, the offering is much more restricted. 2017-03-05T14:58:56Z fourier joined #lisp 2017-03-05T15:02:47Z EvW joined #lisp 2017-03-05T15:06:20Z Fare: I realize that when refactoring, I understand the old data types, the new data types, but not the precise path for the code, and let the (static or dynamic) type errors guide my changes. 2017-03-05T15:08:08Z kelsar777 joined #lisp 2017-03-05T15:08:40Z wildlander joined #lisp 2017-03-05T15:09:01Z Karl_Dscc quit (Remote host closed the connection) 2017-03-05T15:13:01Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-05T15:16:18Z TDT joined #lisp 2017-03-05T15:18:52Z nowhereman quit (Ping timeout: 268 seconds) 2017-03-05T15:19:04Z nowhereman joined #lisp 2017-03-05T15:19:20Z chouchou: so no lips derivative propery interface with the NDK or JNI as well as IOS SDK? 2017-03-05T15:26:05Z fourier quit (Ping timeout: 240 seconds) 2017-03-05T15:28:27Z FreeBirdLjj joined #lisp 2017-03-05T15:29:59Z phoe: wait wait 2017-03-05T15:30:04Z phoe: Lisp has CFFI if you mean this 2017-03-05T15:32:28Z chouchou: CFFi, isn't that python? 2017-03-05T15:34:24Z phoe: no, it's C Foreign Function Interface 2017-03-05T15:34:32Z phoe: allows Lisp to interface with C 2017-03-05T15:34:47Z phoe: Python has it under the same name, from what I see 2017-03-05T15:35:46Z varjag: FFI in general 2017-03-05T15:36:06Z varjag: there's a jvm based lisp whose ffi is naturally to java 2017-03-05T15:36:21Z chouchou: means you have to be familiar with C and java internals 2017-03-05T15:36:37Z MoALTz quit (Quit: Leaving) 2017-03-05T15:37:13Z varjag: you have to be familiar with api or calling conventions 2017-03-05T15:37:17Z varjag: but not the internals 2017-03-05T15:39:02Z chouchou: ok 2017-03-05T15:43:55Z slyrus joined #lisp 2017-03-05T15:47:44Z jealousmonk joined #lisp 2017-03-05T15:51:28Z BitPuffin|osx quit (Ping timeout: 256 seconds) 2017-03-05T15:54:40Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-05T15:55:29Z BitPuffin|osx joined #lisp 2017-03-05T15:59:49Z sjl quit (Ping timeout: 246 seconds) 2017-03-05T16:00:04Z nowhereman quit (Ping timeout: 260 seconds) 2017-03-05T16:07:51Z FreeBirdLjj joined #lisp 2017-03-05T16:12:31Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2017-03-05T16:17:54Z tharugrim joined #lisp 2017-03-05T16:18:12Z andrei_chiffa_ joined #lisp 2017-03-05T16:20:33Z andrei_chiffa__ quit (Ping timeout: 240 seconds) 2017-03-05T16:23:28Z lambda-smith quit (Ping timeout: 240 seconds) 2017-03-05T16:24:21Z andrei_chiffa__ joined #lisp 2017-03-05T16:24:25Z BitPuffin|osx quit (Ping timeout: 260 seconds) 2017-03-05T16:25:02Z andrei_chiffa_ quit (Ping timeout: 240 seconds) 2017-03-05T16:25:20Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-05T16:25:24Z BitPuffin|osx joined #lisp 2017-03-05T16:25:42Z kelsar777 quit (Remote host closed the connection) 2017-03-05T16:32:16Z EvW quit (Ping timeout: 256 seconds) 2017-03-05T16:41:25Z andrei_chiffa_ joined #lisp 2017-03-05T16:43:32Z andrei_chiffa__ quit (Ping timeout: 240 seconds) 2017-03-05T16:44:10Z kolko joined #lisp 2017-03-05T16:50:21Z TeMPOraL joined #lisp 2017-03-05T16:51:22Z manualcrank joined #lisp 2017-03-05T16:51:32Z BitPuffin|osx quit (Ping timeout: 256 seconds) 2017-03-05T16:53:08Z slyrus quit (Ping timeout: 240 seconds) 2017-03-05T17:00:35Z learning joined #lisp 2017-03-05T17:00:56Z araujo quit (Quit: Leaving) 2017-03-05T17:03:22Z BitPuffin|osx joined #lisp 2017-03-05T17:05:48Z arbv quit (Ping timeout: 240 seconds) 2017-03-05T17:05:50Z oleo joined #lisp 2017-03-05T17:06:03Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-05T17:07:30Z arbv joined #lisp 2017-03-05T17:10:03Z nirved quit (Quit: Leaving) 2017-03-05T17:10:10Z fourier joined #lisp 2017-03-05T17:15:25Z Fare: My own ASDF modifications from 3-5 months ago, made at the limit of my abilities, are out of my cache, making it hard to adapt POIU to them. 2017-03-05T17:15:44Z Fare: I know that won't get me much sympathy — a trap I put myself into. 2017-03-05T17:17:39Z Bike joined #lisp 2017-03-05T17:21:37Z pjb: Fare: climb the abstraction layer to make it simplier? 2017-03-05T17:23:55Z g-k--1-w-m--s-u- joined #lisp 2017-03-05T17:25:01Z g-k--1-w-m--s-u- quit (K-Lined) 2017-03-05T17:26:10Z Blukunfando joined #lisp 2017-03-05T17:28:45Z josh5tone quit (Read error: Connection reset by peer) 2017-03-05T17:29:34Z trakka joined #lisp 2017-03-05T17:30:24Z lambda-smith joined #lisp 2017-03-05T17:31:26Z trakka: i have to define functions and variables before i use them, but not symbols. That kinda sucks when I make typos. 2017-03-05T17:31:37Z trakka: why was this choice made? 2017-03-05T17:31:57Z loke___ quit (Ping timeout: 240 seconds) 2017-03-05T17:32:04Z trakka: sounds like a potential for nasty bugs 2017-03-05T17:34:56Z Bike: how do you define a symbol? 2017-03-05T17:35:14Z Bike: do you mean that you want to have to list all names you use in a file beforehand? 2017-03-05T17:35:35Z trakka: yup 2017-03-05T17:36:23Z trakka: (enum sun moon earth) or whatever, and only then would 'sun succeed 2017-03-05T17:37:08Z Quaker_ quit (Ping timeout: 260 seconds) 2017-03-05T17:37:24Z Bike: symbols also include internal lexical variable names, etc. 2017-03-05T17:38:31Z trakka: what's an internal lexical variable name? 2017-03-05T17:39:07Z trakka: i'm talking about symbols i'm using in programs using the 'symbol syntax 2017-03-05T17:40:08Z josh5tone joined #lisp 2017-03-05T17:40:22Z Bike: (let ((x 9)) (+ x 3)) <-- x is a variable. and named by a symbol, of course. 2017-03-05T17:40:39Z trakka: yes, not talking about that 2017-03-05T17:40:50Z Bike: yes you are. those are also symbols. 2017-03-05T17:40:58Z trakka: yet, i am not 2017-03-05T17:41:28Z trakka: i'm talking about a language, which doesn't exists, where 't cannot be used unless defined 2017-03-05T17:41:40Z trakka: or 'mysym 2017-03-05T17:41:40Z Bike: in a program with macros, symbols like that will be dealt with programmatically the same way as one you quote. 2017-03-05T17:41:54Z Bike: well, if you're that worried about it, you can put in explicit checks. 2017-03-05T17:42:04Z Bike: like (check-type argument (member sun moon earth)) 2017-03-05T17:42:22Z Bike: and then if argument is eerth instead you'll get a nice error. 2017-03-05T17:42:23Z trakka: exactly why i would like the compiler to encorce 2017-03-05T17:42:28Z trakka: enforce it* 2017-03-05T17:42:31Z trakka: why do it manually 2017-03-05T17:42:37Z Bike: the compiler can't know that you want something like that unless you say so. 2017-03-05T17:42:48Z trakka: sure it can if the language is like that 2017-03-05T17:42:53Z Bike: plenty of programs deal with arbitrary sets of symbols. 2017-03-05T17:43:04Z trakka: if it sees 'sun it would have to be defined with (enum sun) or whatever 2017-03-05T17:43:28Z trakka: Bike: it could still be arbitrary, but it would have to be defined first 2017-03-05T17:43:32Z trakka: to avoid typos and nasty bugs 2017-03-05T17:43:42Z Bike: no, i mean a set that isn't defined in the program. 2017-03-05T17:43:57Z trakka: allows the use of undefined symbols is like non-strict perl where a variable pops into existence if you mistype it 2017-03-05T17:43:58Z Fare: pjb: easier said than done. 2017-03-05T17:44:00Z trakka: horrible 2017-03-05T17:44:07Z Bike: as a basic example, you might have a binding construct like let. you don't want to fix the set of allowed variables beforehand. 2017-03-05T17:44:18Z trakka: huh 2017-03-05T17:44:22Z Bike: allowed variable names, that is. 2017-03-05T17:44:32Z Fare: pjb: but yes, trying to make less leaky abstractions so I can safely climb the abstraction ladder. 2017-03-05T17:44:32Z trakka: in this language, variables != symbols 2017-03-05T17:44:47Z Bike: how do you operate on lisp expressions, then? 2017-03-05T17:44:53Z Fare: Actually, maintaining POIU has been a major source of simplification for the abstractions of ASDF. 2017-03-05T17:45:01Z Bike: because that's why symbols exist in the first place. 2017-03-05T17:45:47Z trakka: Bike: you're unable to thing outside the lisp box, alas 2017-03-05T17:45:53Z trakka: tokens can be different than symbols 2017-03-05T17:45:58Z Bike: while i'm in #lisp, this is correct. 2017-03-05T17:46:03Z trakka: right 2017-03-05T17:46:04Z trakka: too bad 2017-03-05T17:46:06Z trakka quit (Quit: leaving) 2017-03-05T17:46:17Z Bike: this should also be a subtle hint that you're off-topic. 2017-03-05T17:46:24Z edgar-rft: bye trakka :-) 2017-03-05T17:46:29Z beach: People are weird. 2017-03-05T17:46:35Z Bike: oh they left. 2017-03-05T17:48:41Z pjb: Bike: (defpackage "FOO" (:use "CL") (:intern "X" "Y" "BAR" "RES") (:export "BAR")) (in-package "FOO") (defun bar (x y) (let ((res (+ x y))) (if (= x y) res (- res)))) 2017-03-05T17:48:59Z pjb: Bike: you can declare (intern) all your symbols in the defpackage form. 2017-03-05T17:50:21Z Bike: ok let's just unpack this a little bit 2017-03-05T17:51:14Z Bike: the person who was concerned with this already left. i already know how defpackage and interning works, mainly. your code is invalid, and even if it wasn't, it wouldn't actually do anything with the initially stated concern because if you wrote 'rez' or something that would just be interned by the reader. 2017-03-05T17:52:05Z pjb: Bike: check your fonts. 2017-03-05T17:52:38Z pjb: Of course it's not limiting, but at least you can declare them before using them. 2017-03-05T17:52:48Z pjb: If that's what you want, as the OP seemed to be wanting. 2017-03-05T17:53:00Z Bike: they wanted it to be limiting! obviously! 2017-03-05T17:53:39Z pjb: Now, we just need to add a reader macro. 2017-03-05T17:54:00Z EvW joined #lisp 2017-03-05T18:01:18Z learning quit (Remote host closed the connection) 2017-03-05T18:13:04Z cibs quit (Ping timeout: 260 seconds) 2017-03-05T18:13:52Z kelsar777 joined #lisp 2017-03-05T18:14:37Z cibs joined #lisp 2017-03-05T18:32:32Z shrdlu68 joined #lisp 2017-03-05T18:32:34Z pebblexe: okay I can do (cons "asdf" "foo") in my repl, but if I do it in my code I get 'The value "foo" is not of type LIST.' 2017-03-05T18:32:43Z cromachina: i think trakka wanted static type checking 2017-03-05T18:32:51Z cromachina: @Bike 2017-03-05T18:33:48Z cromachina: which he could have had, but was impatient.. RIP 2017-03-05T18:33:55Z nowhereman joined #lisp 2017-03-05T18:34:43Z shrdlu68: Is there a way to query the element type of a stream once you open a file? 2017-03-05T18:34:58Z Xach_: shrdlu68: stream-element-type is one option 2017-03-05T18:35:01Z add^__ is now known as add^_ 2017-03-05T18:35:52Z pebblexe: also is it possible for lisp to preserve the lowercase/uppercase of a string if I'm turning it into json? 2017-03-05T18:36:07Z Fare: pebblexe, that's what SLIME is for 2017-03-05T18:36:19Z Fare: pebblexe, everything is possible 2017-03-05T18:36:37Z pebblexe: Fare: what about my cons issue? how do I solve that? 2017-03-05T18:36:38Z shrdlu68: Xach_: Can I rely on #'open to select an appropriate element-type? 2017-03-05T18:37:21Z kjak_: And I think trakka was asking the same thing on #scheme yesterday using the nick lipvnip. He wasn't satisfied there either. 2017-03-05T18:37:27Z szmer quit (Ping timeout: 240 seconds) 2017-03-05T18:37:50Z kjak_: (I'm a long-time lurker, first-time poster) 2017-03-05T18:38:06Z shrdlu68: Xach_: Context: I need to differentiate between "binary" files-certificates and private/public keys, and base64-encoded "PEM" files. One way would be to have the user specify which is which, but if it can be done automatically I'd prefer that. 2017-03-05T18:38:41Z Xach_: shrdlu68: no, open will not do that. 2017-03-05T18:38:44Z dilated_dinosaur quit (Ping timeout: 260 seconds) 2017-03-05T18:39:02Z Xach_: shrdlu68: if it were me, i would probably go with binary and do some analysis and possibly reopen. 2017-03-05T18:39:11Z Fare: shrdlu68, there's no DWIM in CL. But some implementations have bivalent streams. Not portable though. 2017-03-05T18:39:18Z pebblexe: okay I can do (cons "asdf" "foo") in my repl, but if I do it in my code to compile I get 'The value "foo" is not of type LIST.' 2017-03-05T18:39:24Z cromachina: pebblexe, can you paste your code here? http://paste.lisp.org/new 2017-03-05T18:40:09Z Cymew joined #lisp 2017-03-05T18:40:48Z Fare: DWIM would be a great feature in a persistent world without side-effects. 2017-03-05T18:41:10Z Fare: pebblexe, what do you mean "in my code". Use a paste bot to show your code. 2017-03-05T18:42:10Z pebblexe: http://paste.lisp.org/display/340648 2017-03-05T18:42:27Z Quaker_ joined #lisp 2017-03-05T18:42:34Z emaczen joined #lisp 2017-03-05T18:42:45Z cromachina: pebblexe, you are making ain improper list 2017-03-05T18:42:56Z emaczen: subseq is slow right? 2017-03-05T18:43:09Z Fare: pebblexe, your cons works, it's your concatenate that doesn't 2017-03-05T18:43:12Z Xach_: emaczen: no. 2017-03-05T18:43:15Z cromachina: instead, (headers (list "api-key" "foo")) 2017-03-05T18:43:24Z Xach_: emaczen: but it depends what you want to compare it to. 2017-03-05T18:43:25Z pebblexe: Fare: ah ok 2017-03-05T18:45:12Z emaczen: I'm calling subseq in a loop with a string of length 3000000 (the subseq slowly decreases the size of the string) and it is taking forever to finish... Any suggestions on how to speed this up? 2017-03-05T18:46:16Z Fare: emaczen: don't use an O(n^2) algorithm 2017-03-05T18:46:27Z terpri quit (Ping timeout: 240 seconds) 2017-03-05T18:46:32Z Trenif joined #lisp 2017-03-05T18:46:33Z Fare: emaczen: what's the final goal? 2017-03-05T18:46:33Z Einwq joined #lisp 2017-03-05T18:46:53Z Fare: or use displaced arrays 2017-03-05T18:47:09Z emaczen: Fare: I'm just using built-in sequence functions to tokenize a string 2017-03-05T18:47:21Z Fare: does not compute 2017-03-05T18:47:31Z _death: many functions operating on sequences can take start/end arguments 2017-03-05T18:47:48Z Fare: and/or will work on displaced strings 2017-03-05T18:48:06Z Einwq quit (Read error: Connection reset by peer) 2017-03-05T18:48:10Z Fare: shortening a giant string char by char is suicide. 2017-03-05T18:49:28Z ezgoat quit (Quit: Lost terminal) 2017-03-05T18:49:54Z terpri joined #lisp 2017-03-05T18:50:31Z szmer joined #lisp 2017-03-05T18:50:58Z emaczen: i g2g but i'll be back in a little bit 2017-03-05T18:53:27Z szmer quit (Read error: Connection reset by peer) 2017-03-05T18:58:23Z varjag: Xach_: i get some weird artifacts when playing skippy-decoded gifs 2017-03-05T18:58:24Z learning joined #lisp 2017-03-05T18:58:29Z varjag: maybe i'm missing something 2017-03-05T18:58:49Z varjag: do i just blit the image sequence entries with specified nw pos and size? 2017-03-05T18:58:56Z varjag: at the specified delay 2017-03-05T19:02:17Z shrdlu68: Okay, I could read the file as an octet vector, then try to use #'babel:octets-to-string. If it signals an error then it's not a text file. 2017-03-05T19:02:31Z sjl joined #lisp 2017-03-05T19:02:41Z shrdlu68: But would this be reliable? 2017-03-05T19:03:36Z shrdlu68: I could also open the file with :element-type 'character and attempt to read while watching for conditions. 2017-03-05T19:06:02Z nowhereman quit (Ping timeout: 240 seconds) 2017-03-05T19:06:19Z shrdlu68: But the conditions seem to be implementation-specific, like SB-INT:STREAM-DECODING-ERROR 2017-03-05T19:07:27Z _death: you could work exclusively with octets, incl. decoding base64 2017-03-05T19:12:54Z szmer joined #lisp 2017-03-05T19:13:57Z shrdlu68: Problem is, PEM-encoded files also contain non-base64 data. 2017-03-05T19:14:52Z _death: are you referring to the PEM header/footer? 2017-03-05T19:15:36Z shrdlu68: Yes, and also other stuff that MAY be in the file, according to RFC7468 2017-03-05T19:16:41Z szmer quit (Read error: Connection reset by peer) 2017-03-05T19:16:45Z _death: if you find it difficult I suppose you could convert to a string once you recognize the header 2017-03-05T19:18:07Z shrdlu68: One thing I'm not sure-can PEM-encoded files use any text encoding or are they restricted to ASCII? 2017-03-05T19:19:56Z _death: surely the RFC has something to say about that 2017-03-05T19:29:02Z shifty quit (Ping timeout: 240 seconds) 2017-03-05T19:35:45Z abel-abel quit (Remote host closed the connection) 2017-03-05T19:36:02Z Ven joined #lisp 2017-03-05T19:37:33Z szmer joined #lisp 2017-03-05T19:38:48Z szmer quit (Read error: Connection reset by peer) 2017-03-05T19:46:51Z adolf_stalin joined #lisp 2017-03-05T19:53:43Z abel-abel joined #lisp 2017-03-05T19:54:05Z Whitesquall quit (Ping timeout: 240 seconds) 2017-03-05T19:54:48Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-05T19:55:51Z phoe: Who should I bother for an account at gitlab.common-lisp.net? Nobody responds to the mail I've sent. 2017-03-05T19:57:24Z holly is now known as Guest27116 2017-03-05T19:57:24Z Guest27116 quit (Killed (sinisalo.freenode.net (Nickname regained by services))) 2017-03-05T19:57:41Z szmer joined #lisp 2017-03-05T19:57:50Z Guest27116 joined #lisp 2017-03-05T19:58:47Z szmer quit (Read error: Connection reset by peer) 2017-03-05T19:59:25Z dilated_dinosaur joined #lisp 2017-03-05T19:59:33Z mishoo_ joined #lisp 2017-03-05T19:59:34Z raynold joined #lisp 2017-03-05T19:59:57Z gigetoo quit (Ping timeout: 240 seconds) 2017-03-05T20:00:13Z Fare: phoe: admin@common-lisp.net ? 2017-03-05T20:00:40Z abel-abel: What does this site be used? 2017-03-05T20:01:02Z mishoo quit (Ping timeout: 240 seconds) 2017-03-05T20:02:55Z attila_lendvai: I think the mailing system is down on clnet, or at least it has been a couple of weeks ago 2017-03-05T20:03:59Z abel-abel: oh, Is it a mail list? 2017-03-05T20:08:54Z phoe: Fare: yes, I've sent a mail there. 2017-03-05T20:09:56Z learning quit (Remote host closed the connection) 2017-03-05T20:10:44Z kelsar777 quit (Quit: Leaving) 2017-03-05T20:12:01Z bgg_ joined #lisp 2017-03-05T20:12:19Z bgg_ quit (Remote host closed the connection) 2017-03-05T20:12:32Z Quaker_ quit (Ping timeout: 260 seconds) 2017-03-05T20:17:12Z gigetoo joined #lisp 2017-03-05T20:27:52Z Xach_: varjag: there's also disposal to consider 2017-03-05T20:28:36Z Xach_: varjag: I don't know if that is used much but it must be considered 2017-03-05T20:28:38Z Quaker_ joined #lisp 2017-03-05T20:28:40Z varjag: Xach_: noticed that, but it's NONE on all images i tried 2017-03-05T20:28:52Z varjag: i must be screwing something up in conversion 2017-03-05T20:29:09Z Xach_: varjag: i wouldn't count out skippy bugs, i'm happy to look at anything weird 2017-03-05T20:29:27Z nowhereman joined #lisp 2017-03-05T20:30:07Z varjag: Xach_: cool, i'll investigate a bit more at my end first 2017-03-05T20:30:23Z varjag: Xach_: i opened an issue with skippy reader fail though 2017-03-05T20:30:24Z varjag: on github 2017-03-05T20:30:27Z Xach_: i did see that, thanks 2017-03-05T20:30:58Z okflo quit (Remote host closed the connection) 2017-03-05T20:33:42Z learning joined #lisp 2017-03-05T20:35:10Z abel-abel quit (Ping timeout: 264 seconds) 2017-03-05T20:36:56Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-05T20:37:00Z Guest46138 joined #lisp 2017-03-05T20:39:00Z andrei_chiffa__ joined #lisp 2017-03-05T20:40:32Z andrei_chiffa_ quit (Ping timeout: 240 seconds) 2017-03-05T20:48:55Z nowhereman quit (Ping timeout: 246 seconds) 2017-03-05T20:49:09Z sjl quit (Read error: Connection reset by peer) 2017-03-05T20:57:12Z rumbler31 quit (Remote host closed the connection) 2017-03-05T20:57:37Z rumbler31 joined #lisp 2017-03-05T20:59:51Z rumbler31 quit (Client Quit) 2017-03-05T21:04:35Z learning quit (Remote host closed the connection) 2017-03-05T21:04:48Z varjag: Xach_: think i handle transparency index wrong 2017-03-05T21:04:55Z varjag: or rather don't handle it 2017-03-05T21:05:37Z varjag: the idea is you just don't copy over the transparent pixels, right 2017-03-05T21:05:49Z varjag: there's no blending or anything? 2017-03-05T21:06:07Z axion: Xach_: Can you explain why quicklisp-bootstrap is outdated? 2017-03-05T21:06:22Z mishoo_ quit (Ping timeout: 264 seconds) 2017-03-05T21:10:01Z angavrilov quit (Remote host closed the connection) 2017-03-05T21:10:07Z varjag: ok it *was* transparency 2017-03-05T21:11:09Z varjag enjoys nyan cat gif 2017-03-05T21:12:00Z learning joined #lisp 2017-03-05T21:12:29Z learning quit (Remote host closed the connection) 2017-03-05T21:14:28Z EvW quit (Ping timeout: 256 seconds) 2017-03-05T21:20:08Z prole joined #lisp 2017-03-05T21:23:32Z cibs quit (Ping timeout: 256 seconds) 2017-03-05T21:25:26Z cibs joined #lisp 2017-03-05T21:26:54Z varjag pushes gif-enabled cl-video 2017-03-05T21:28:28Z gigetoo quit (Ping timeout: 246 seconds) 2017-03-05T21:28:55Z sellout- quit (Ping timeout: 258 seconds) 2017-03-05T21:30:04Z Quaker_ is now known as whomasect 2017-03-05T21:30:29Z phoe: varjag: <3 2017-03-05T21:30:41Z phoe: glad to hear you progressing on this 2017-03-05T21:31:09Z gigetoo joined #lisp 2017-03-05T21:40:00Z varjag: phoe: :) 2017-03-05T21:40:19Z phoe takes a break from CLUS to record a lisp video 2017-03-05T21:42:14Z unbalancedparen quit (Ping timeout: 256 seconds) 2017-03-05T21:43:48Z sellout- joined #lisp 2017-03-05T21:44:02Z fourier quit (Ping timeout: 240 seconds) 2017-03-05T21:46:52Z aeth: Is there a way to produce `(foo ,bar) via a macro? `(,foo ,bar) is easy, it's just ``(,,foo ,,bar) 2017-03-05T21:48:28Z Bike: usually i try to write it out with normal list construction 2017-03-05T21:48:45Z Bike: so `(foo ,bar) is (list 'foo bar), which you can obviously have a macro expand to, or whatever you meant 2017-03-05T21:58:55Z cromachina: anything you want to be data.. quote it! '`(foo ,bar) 2017-03-05T21:59:19Z phoe: aeth: why do you want to produce unexpanded backquote notation? 2017-03-05T21:59:34Z phoe: all the times I attempted to do such, I ended up noticing that I was wrong about wanting to produce it 2017-03-05T22:02:17Z quazimodo joined #lisp 2017-03-05T22:05:19Z aeth: phoe: I am trying to create an type specifier with a size... unfortuantely, I don't think that this approach will work anyway because of the irregular syntax. e.g. (deftype foo () `(simple-bit-vector ,size)) vs (deftype bar () `(simple-array fixnum (,size))) 2017-03-05T22:06:11Z EvW joined #lisp 2017-03-05T22:06:32Z Bike: ? those are both fine. 2017-03-05T22:06:43Z Bike: i mean, assuming size is bound somewhere. 2017-03-05T22:06:49Z Bike: you can do (simple-array bit (,size)) obviously. 2017-03-05T22:06:55Z aeth: Bike: no, I am trying to create *that* result deftype in a macro 2017-03-05T22:07:39Z aeth: I think it's easier if I just pass in the full array, though, and get the size from that. 2017-03-05T22:07:41Z Bike: (let ((et 'fixnum) (size 17)) `(deftype foo () `(simple-array ,',et ,,size))) or something 2017-03-05T22:09:45Z aeth: Is there a difference between (simple-bit-vector 42) and (simple-array bit (42))? 2017-03-05T22:09:50Z Bike: no. 2017-03-05T22:09:55Z aeth: okay, then your method works 2017-03-05T22:09:59Z aeth: I think 2017-03-05T22:10:20Z Bike: sbcl has (sb!xc:deftype simple-bit-vector (&optional size) `(simple-array bit (,size))) for example 2017-03-05T22:10:35Z Bike: oh, and it says as much in the clhs, good 2017-03-05T22:13:04Z shrdlu68 left #lisp 2017-03-05T22:17:28Z reinuseslisp joined #lisp 2017-03-05T22:17:37Z aeth: Bike: I'm trying your `(deftype foo () `(simple-array ,',type (,,size))) and I'm getting `(simple-array ,'bit (,size)) in the deftype macroexpand-1 instead of `(simple-array bit (42)) 2017-03-05T22:18:03Z Bike: yes, but it shouldn't matter? 2017-03-05T22:18:26Z Xach_: axion: i'll look at it 2017-03-05T22:18:28Z Ven quit (Ping timeout: 240 seconds) 2017-03-05T22:18:37Z Bike: well, having size still be around is wrong 2017-03-05T22:18:50Z aeth: right 2017-03-05T22:18:54Z reinuseslisp: aeth: I think ,'bit is expanded to bit 2017-03-05T22:19:04Z reinuseslisp: just that macroexpand-1 does not show it 2017-03-05T22:19:21Z Bike: from the form i had before i get (deftype foo () `(simple-array ,'fixnum (,17))) 2017-03-05T22:19:22Z aeth: it's strange, though, I could've sworn earlier ,, was working 2017-03-05T22:19:43Z Ven joined #lisp 2017-03-05T22:19:57Z aeth: doh 2017-03-05T22:20:03Z aeth: I renamed it 2017-03-05T22:20:11Z aeth: and so it was calling the old version 2017-03-05T22:20:45Z Xach_: axion: what indicates to you that it is out of date? 2017-03-05T22:22:53Z axion: Xach_: compiler warnings and diff is different than the file provided on the homepage 2017-03-05T22:23:07Z Xach_: axion: can you be more specific? 2017-03-05T22:23:22Z axion: i am referring to the git repository last updated 11 months ago, compared to the file on beta.quicklisp.org 2017-03-05T22:23:42Z axion: the checksums are diferent, and the git repo shows a bunch of compiler warnings 2017-03-05T22:23:51Z Xach_: axion: yes...what indicates to you that the file on beta.quicklisp.org is newer than the one in git? 2017-03-05T22:23:58Z Xach_: axion: I believe it is the opposite. 2017-03-05T22:24:26Z axion: THat could be the case :) 2017-03-05T22:24:48Z Xach_: Ok. I think that is the case. And I have fixes to be merged into git very soon. 2017-03-05T22:25:13Z hhdave joined #lisp 2017-03-05T22:25:41Z axion: Ok, great 2017-03-05T22:26:03Z axion: I am using the repo as a submodule and noticed those warnings, then saw how long ago it was updated and just assumed it was older 2017-03-05T22:26:24Z wildlander quit (Quit: Saliendo) 2017-03-05T22:31:08Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-05T22:33:27Z pve quit (Ping timeout: 240 seconds) 2017-03-05T22:33:32Z Ven quit (Ping timeout: 240 seconds) 2017-03-05T22:34:08Z Xach_: phew 2017-03-05T22:37:09Z shka_ quit (Ping timeout: 258 seconds) 2017-03-05T22:39:24Z Ven joined #lisp 2017-03-05T22:39:52Z aeth: Bike: Thanks, now I have this: https://gitlab.com/zombie-raptor/zombie-raptor/blob/8594647ee1430306f41b739c6c0802e8e315244d/core/input.lisp#L38-78 2017-03-05T22:40:07Z aeth: And it appears to be much more readable than the old version, which made arrays and types separately 2017-03-05T22:41:08Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-05T22:46:08Z aeth: (Actually, maybe I should switch from make-sequence to make-array so I can also use :initial-contents) 2017-03-05T22:50:32Z gingerale quit (Remote host closed the connection) 2017-03-05T22:56:13Z abbe: hi, is there a better way to do (or a built-in function for): "(cdr (assoc key alist))" , since it seems like one of the most commonly encountered code patterns 2017-03-05T22:56:51Z phoe: abbe: alexandria has these defined. 2017-03-05T22:57:07Z abbe: these ? 2017-03-05T22:58:31Z phoe: assoc-value and rassoc-value 2017-03-05T22:58:37Z phoe: they're undocumented, but exist and work. 2017-03-05T22:58:55Z phoe: assoc-value is (compose #'cdr #'assoc) and rassoc-value is (compose #'car #'rassoc). 2017-03-05T22:59:13Z abbe: oh! okay 2017-03-05T22:59:29Z phoe: gah, we need to work on getting alexandria manual up to date. 2017-03-05T22:59:42Z phoe: that's phase 5 of CLUS. 2017-03-05T23:00:04Z abbe: yes, that works, returns VALUES, cool. thank you! 2017-03-05T23:01:02Z neoncontrails joined #lisp 2017-03-05T23:04:14Z Blukunfando quit (Read error: Connection reset by peer) 2017-03-05T23:06:31Z phoe: aaah 2017-03-05T23:06:35Z phoe sips tea 2017-03-05T23:07:22Z aeth: phoe: you should try to get http://l1sp.org/html/ and http://lispdoc.com/ (and the other, similar sites) to add CLUS 2017-03-05T23:07:56Z phoe: aeth: I will, once it's complete. 2017-03-05T23:08:04Z phoe: I mean - once the CL part is complete. 2017-03-05T23:08:54Z aeth: "TODO: EVERYTING" isn't accurate anymore, is it? 2017-03-05T23:09:04Z phoe: aeth: haha 2017-03-05T23:09:05Z phoe: yes 2017-03-05T23:09:10Z phoe: but I'm too lazy to fix it today. 2017-03-05T23:09:14Z phoe: tomorrow. 2017-03-05T23:09:28Z aeth: "TODO: Fix the todo" 2017-03-05T23:10:54Z aeth: phoe: It looks like you just have increasingly large padding instead of a max width in CLUS. That doesn't look like it would scale up to very large resolutions. 2017-03-05T23:11:54Z aeth: oh there is a max width it's just too wide imo 2017-03-05T23:15:12Z phoe: aeth: whatever the codowik DokuWiki template does. 2017-03-05T23:15:18Z phoe: I'm not a frontend guy. 2017-03-05T23:15:37Z aeth: It... uses something fancy. I can't really inspect it well 2017-03-05T23:15:49Z phoe: Yes, yes. 2017-03-05T23:15:58Z phoe: It's not the best thing, but it works. 2017-03-05T23:16:19Z phoe: It seems like I'm getting someone who will be able to convert CLUS source code into sexpressions though. 2017-03-05T23:16:37Z phoe: So we'll be able to use a more Lispy solution for generating XHTML out of CLUS source. 2017-03-05T23:16:40Z aeth: Imo, the text should be about 2/3 the width at 1080p than it is now to be readable 2017-03-05T23:17:36Z aeth: when the side bar is hidden, it's *perfect* at a 50/50 screen split, actually, at least imo. 2017-03-05T23:17:47Z zygentoma quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-03-05T23:18:14Z phoe: aeth: again, I'm not a frontend guy. I'll care about it more when I finish parsing the sources. 2017-03-05T23:18:26Z phoe: But - you can open an issue on github/phoe/clus-data for that, sure thing. 2017-03-05T23:18:26Z sukaeto: chouchou: I've had reasonably good luck with clack/caveman + fastcgi + nginx 2017-03-05T23:18:53Z sukaeto: chouchou: that being said, this is for an internal tool that doesn't get a ton of traffic, so I can't vouch for how it deals with heavy load 2017-03-05T23:19:09Z chouchou: sukaeto: ok 2017-03-05T23:19:21Z chouchou: i chanced upon woo 2017-03-05T23:19:26Z chouchou: but lacks of documentation 2017-03-05T23:20:17Z learning joined #lisp 2017-03-05T23:20:46Z Trenif quit (Ping timeout: 264 seconds) 2017-03-05T23:21:37Z prole quit (Remote host closed the connection) 2017-03-05T23:23:30Z chouchou: sukaeto: if i can get something similar to woo, it will be nice 2017-03-05T23:26:34Z hhdave quit (Quit: hhdave) 2017-03-05T23:26:36Z pjb: chouchou: write the documentation! 2017-03-05T23:27:04Z chouchou: pjb: :) that's if i understand the internals 2017-03-05T23:27:24Z sukaeto: chouchou: there are things like weblocks that are continuation based, but I don't know have any experience with them 2017-03-05T23:27:28Z sukaeto: someone else here might 2017-03-05T23:27:55Z sukaeto: re: documentation - yeah, Eitaro's documentation tends to be pretty Spartan 2017-03-05T23:28:08Z sukaeto: it's usually a crash course in how to use the library, and for anything else you've got to read the code 2017-03-05T23:28:22Z sukaeto: fortunately, his code is pretty easy to delve in to (at least I think it is) 2017-03-05T23:38:03Z quazimodo joined #lisp 2017-03-05T23:40:39Z reinuseslisp quit (Quit: Leaving) 2017-03-05T23:57:08Z pjb quit (Quit: Good night!) 2017-03-05T23:59:24Z learning quit (Remote host closed the connection) 2017-03-06T00:05:24Z varjag quit (Ping timeout: 260 seconds) 2017-03-06T00:17:33Z neoncontrails quit (Remote host closed the connection) 2017-03-06T00:20:50Z learning joined #lisp 2017-03-06T00:21:02Z aeth: Is it a bad idea to use #.(symbol-name '#:foo-bar-baz) instead of "FOO-BAR-BAZ" when the code's about symbols rather than strings? 2017-03-06T00:21:24Z Fare: Yikes. It started with my wanting to use poiu/fork in my stumpwm config, then realizing that I hadn't ported poiu to the latest asdf (branch) yet, then yak shaving into refactoring asdf innards some more and fixing poiu 2017-03-06T00:22:15Z Fare: aeth: if you really insist on working on mlisp 2017-03-06T00:29:33Z aeth: mlisp? 2017-03-06T00:31:31Z marusich joined #lisp 2017-03-06T00:33:34Z emaczen: Until a string is empty, I keep taking a subsequence of it from the beginning to some other index. Right now, my implementation just uses setf and subseq -- how can I speed this up by using mutable operations on arrays? 2017-03-06T00:33:44Z phoe: mutable operations? 2017-03-06T00:33:48Z phoe: why not displaced arrays? 2017-03-06T00:34:02Z emaczen: I'm just not really familiar with arrays in CL and am looking for some guidance. 2017-03-06T00:34:22Z wtetzner joined #lisp 2017-03-06T00:35:02Z phoe: emaczen: I bet that you want displaced arrays. 2017-03-06T00:35:36Z EvW quit (Ping timeout: 258 seconds) 2017-03-06T00:38:24Z learning quit 2017-03-06T00:40:48Z andrei_chiffa_ joined #lisp 2017-03-06T00:41:00Z neoncontrails joined #lisp 2017-03-06T00:42:40Z pillton: Or.. change your function to accept a start index. 2017-03-06T00:43:02Z andrei_chiffa__ quit (Ping timeout: 240 seconds) 2017-03-06T00:43:08Z sbodin quit (Ping timeout: 240 seconds) 2017-03-06T00:43:40Z emaczen: phoe: should this be a lot faser? 2017-03-06T00:43:42Z emaczen: faster* 2017-03-06T00:43:47Z phoe: emaczen: yes. 2017-03-06T00:43:59Z phoe: a displaced array is basically an array that doesn't have a storage of its own. 2017-03-06T00:44:25Z pillton: You can't destructively change the displaced-array-index though. 2017-03-06T00:44:53Z phoe: hm. 2017-03-06T00:47:50Z neoncontrails quit (Remote host closed the connection) 2017-03-06T00:48:23Z segmond joined #lisp 2017-03-06T00:49:39Z phoe: I wonder how fast and consy would it be to just create displaced arrays over and over. 2017-03-06T00:50:04Z phoe: At least it's not O(n^2) since these displaced arrays should be constant in size and pretty small cons-wise. 2017-03-06T00:50:27Z Bike: depends on how displaced arrays are represented. they might be a general array structure. 2017-03-06T00:50:41Z phoe: That's why I wonder. 2017-03-06T00:51:10Z |3b|: clhs adjust-array 2017-03-06T00:51:10Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_adjust.htm 2017-03-06T00:52:19Z emaczen: can strings be displaced arrays in type? 2017-03-06T00:52:26Z decuser joined #lisp 2017-03-06T00:52:27Z |3b|: adjust-array might be able to change what a displaced arrays sees in place 2017-03-06T00:52:30Z Bike: displaced arrays can be strings yeah. 2017-03-06T00:52:36Z phoe: hey, a string is just a vector which is an array. 2017-03-06T00:52:38Z |3b|: displaced arrays tend to be slow though 2017-03-06T00:52:51Z drewc quit (Ping timeout: 258 seconds) 2017-03-06T00:53:00Z emaczen: Maybe I should make a paste of what I am trying to do then -- I need some speed here 2017-03-06T00:53:19Z phoe: yes, will be good 2017-03-06T00:53:20Z |3b|: (since they can be displaced to other displaced arrays, and stuff in the middle of the chain can be passed to adjust-array it has to use a fairly general code path) 2017-03-06T00:53:23Z phoe: maybe with some sample data 2017-03-06T00:53:47Z |3b|: offsets are the usual way to get fast subsequences 2017-03-06T00:54:17Z |3b|: many CL functions accept :START and :END for that 2017-03-06T00:59:48Z emaczen: http://paste.lisp.org/+7AV8 2017-03-06T01:01:29Z decuser quit (Quit: Mutter: www.mutterirc.com) 2017-03-06T01:04:17Z dpg joined #lisp 2017-03-06T01:06:20Z shdeng joined #lisp 2017-03-06T01:06:24Z drewc joined #lisp 2017-03-06T01:06:35Z emaczen: Did my paste work? 2017-03-06T01:06:43Z Xach_: emaczen: yes. 2017-03-06T01:13:20Z Fare quit (Ping timeout: 268 seconds) 2017-03-06T01:14:04Z emaczen: any suggestions? 2017-03-06T01:15:16Z Bike: if you're tokenizing i think you should actually take subseqs like you're doing. displaced arrays would keep the original whole string around 2017-03-06T01:15:46Z emaczen: Bike: What can I do to speed it up? 2017-03-06T01:15:48Z Bike: well, but you could track an offset for the part to graba token from, though. 2017-03-06T01:15:51Z Xach_: emaczen: I don't have anything, sorry. It's kind of like looking through a long pipe at one bit of a factory and trying to make suggestions. 2017-03-06T01:16:43Z Fare joined #lisp 2017-03-06T01:17:38Z smokeink joined #lisp 2017-03-06T01:17:38Z Xach_: Is that a dummy function? Not something from "real" code? 2017-03-06T01:18:07Z Xach_: Or to side-effect the parser? 2017-03-06T01:18:16Z marusich quit (Quit: Leaving) 2017-03-06T01:18:26Z Bike: what makes you say that? 2017-03-06T01:18:59Z Xach_: it seems like lang:tokens doesn't really do anything except return the last token. 2017-03-06T01:19:22Z Xach_: but the token function pushes tokens to a slot in the parser. 2017-03-06T01:21:12Z Xach_: emaczen: I don't really think I can help, but I am curious what is done with the bits of the string afterwards, what kind of process or pipeline or whatever they participate in. 2017-03-06T01:21:15Z emaczen quit (Remote host closed the connection) 2017-03-06T01:22:17Z emaczen joined #lisp 2017-03-06T01:23:27Z drewc quit (Ping timeout: 240 seconds) 2017-03-06T01:25:24Z edgar-rft quit (Quit: edgar-rft) 2017-03-06T01:25:58Z emaczen: Xach: Is what a dummy function? 2017-03-06T01:26:14Z emaczen: sorry, my computer was just freezing. 2017-03-06T01:26:39Z Xach_: emaczen: lang:tokens. 2017-03-06T01:27:35Z emaczen: I think it has some after functions, so yes 2017-03-06T01:27:36Z decuser joined #lisp 2017-03-06T01:29:05Z Xach_: emaczen: is it too slow? 2017-03-06T01:29:41Z |3b|: one minor optimization would be to write subseq with built-in trim instead of making an extra copy when it needs to trim 2017-03-06T01:29:54Z |3b|: *write a wrapper for subseq 2017-03-06T01:30:00Z decuser quit (Client Quit) 2017-03-06T01:30:38Z the-blackbeard quit (Quit: Leaving) 2017-03-06T01:31:11Z smokeink quit (Ping timeout: 258 seconds) 2017-03-06T01:32:23Z slyrus joined #lisp 2017-03-06T01:32:47Z smokeink joined #lisp 2017-03-06T01:35:52Z drewc joined #lisp 2017-03-06T01:37:48Z emaczen quit (Ping timeout: 240 seconds) 2017-03-06T01:39:06Z neoncontrails joined #lisp 2017-03-06T01:43:29Z rumbler31 joined #lisp 2017-03-06T01:44:32Z dpg quit (Ping timeout: 240 seconds) 2017-03-06T01:45:54Z dpg joined #lisp 2017-03-06T01:47:48Z FreeBirdLjj joined #lisp 2017-03-06T01:50:50Z andrei_chiffa__ joined #lisp 2017-03-06T01:51:20Z drewc quit (Ping timeout: 260 seconds) 2017-03-06T01:52:32Z andrei_chiffa_ quit (Ping timeout: 240 seconds) 2017-03-06T02:04:01Z drewc joined #lisp 2017-03-06T02:12:35Z drewc quit (Ping timeout: 240 seconds) 2017-03-06T02:14:51Z nowhereman joined #lisp 2017-03-06T02:17:55Z jameser joined #lisp 2017-03-06T02:24:39Z drewc joined #lisp 2017-03-06T02:31:42Z andrei_chiffa_ joined #lisp 2017-03-06T02:32:02Z andrei_chiffa__ quit (Ping timeout: 240 seconds) 2017-03-06T02:34:44Z nowhereman quit (Ping timeout: 260 seconds) 2017-03-06T02:36:20Z mathrick quit (Remote host closed the connection) 2017-03-06T02:37:26Z nicdev` is now known as nicdev 2017-03-06T02:40:46Z mathrick joined #lisp 2017-03-06T02:45:08Z test1600 joined #lisp 2017-03-06T02:46:34Z cibs quit (Ping timeout: 264 seconds) 2017-03-06T02:48:20Z cibs joined #lisp 2017-03-06T02:48:55Z drewc quit (Ping timeout: 268 seconds) 2017-03-06T02:50:31Z shifty joined #lisp 2017-03-06T02:50:31Z BusFactor1 quit (Read error: Connection reset by peer) 2017-03-06T02:54:58Z slyrus quit (Ping timeout: 264 seconds) 2017-03-06T03:00:17Z dddddd_ quit (Quit: Hasta otra..) 2017-03-06T03:01:23Z drewc joined #lisp 2017-03-06T03:03:08Z Karl_Dscc joined #lisp 2017-03-06T03:08:33Z drewc quit (Ping timeout: 258 seconds) 2017-03-06T03:16:54Z dpg quit (Remote host closed the connection) 2017-03-06T03:19:32Z aje quit (Ping timeout: 260 seconds) 2017-03-06T03:22:02Z Guest97839 is now known as kushal 2017-03-06T03:22:10Z kushal quit (Changing host) 2017-03-06T03:22:10Z kushal joined #lisp 2017-03-06T03:22:25Z drewc joined #lisp 2017-03-06T03:24:28Z wtetzner quit (Remote host closed the connection) 2017-03-06T03:24:37Z aje joined #lisp 2017-03-06T03:29:05Z aje quit (Ping timeout: 240 seconds) 2017-03-06T03:34:23Z Karl_Dscc quit (Remote host closed the connection) 2017-03-06T03:40:22Z rumbler31 quit (Remote host closed the connection) 2017-03-06T03:42:34Z defaultxr joined #lisp 2017-03-06T03:46:11Z numbers092024 joined #lisp 2017-03-06T03:46:30Z bungoman joined #lisp 2017-03-06T03:55:34Z LiamH quit (Ping timeout: 246 seconds) 2017-03-06T03:56:22Z LiamH joined #lisp 2017-03-06T04:02:56Z aje joined #lisp 2017-03-06T04:03:34Z test1600 quit (Quit: Leaving) 2017-03-06T04:03:56Z emaczen joined #lisp 2017-03-06T04:15:57Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-06T04:17:25Z wtetzner joined #lisp 2017-03-06T04:20:25Z decuser joined #lisp 2017-03-06T04:21:01Z decuser quit (Remote host closed the connection) 2017-03-06T04:21:26Z Harag joined #lisp 2017-03-06T04:35:58Z wtetzner quit (Remote host closed the connection) 2017-03-06T04:36:22Z BitPuffin|osx quit (Ping timeout: 264 seconds) 2017-03-06T04:40:16Z emaczen quit (Remote host closed the connection) 2017-03-06T04:40:35Z emaczen joined #lisp 2017-03-06T04:40:55Z rumbler31 joined #lisp 2017-03-06T04:45:37Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-06T04:54:38Z TDT quit (Quit: TDT) 2017-03-06T04:56:13Z shka_ joined #lisp 2017-03-06T04:58:20Z Oladon1 joined #lisp 2017-03-06T04:59:01Z sbodin joined #lisp 2017-03-06T05:00:23Z Oladon quit (Ping timeout: 255 seconds) 2017-03-06T05:01:03Z vtomole joined #lisp 2017-03-06T05:03:34Z neoncontrails quit (Remote host closed the connection) 2017-03-06T05:04:04Z LiamH quit (Quit: Leaving.) 2017-03-06T05:04:41Z FreeBirdLjj joined #lisp 2017-03-06T05:04:52Z numbers092024 quit (Ping timeout: 246 seconds) 2017-03-06T05:05:09Z beach: Good morning everyone! 2017-03-06T05:05:35Z vtomole: Morning! 2017-03-06T05:06:11Z axion quit (Quit: WeeChat 1.7) 2017-03-06T05:06:28Z axion joined #lisp 2017-03-06T05:07:42Z loke: Hello beach! 2017-03-06T05:08:00Z loke knows it's time for lunch when Beach shows up :-) 2017-03-06T05:11:06Z phoe: Morning. 2017-03-06T05:12:20Z loke: Hello phoe 2017-03-06T05:13:50Z sbodin quit (Ping timeout: 260 seconds) 2017-03-06T05:24:54Z lambda-smith quit (Quit: Konversation terminated!) 2017-03-06T05:29:29Z aeth: Where is it lunch time? 2017-03-06T05:30:24Z aeth: Hmm... It looks like it's around noon in most of southeast Asia.... 2017-03-06T05:35:15Z vtomole quit (Ping timeout: 260 seconds) 2017-03-06T05:35:51Z gacepa joined #lisp 2017-03-06T05:36:06Z Bike: imo krasnoyarsk. 2017-03-06T05:37:38Z beach: Colleen: do weather Krasnoyarsk. 2017-03-06T05:37:38Z Colleen: Unknown command. Possible matches: 8, roll, deny, say, login, time, help, notify, logout, have a, 2017-03-06T05:37:47Z beach: Aww. 2017-03-06T05:38:53Z neoncontrails joined #lisp 2017-03-06T05:39:32Z Bike: well, it looks like it's the size of mongolia, so the weather probably varies a little bit 2017-03-06T05:40:29Z beach: No, it's a town: https://www.timeanddate.com/weather/russia/krasnoyarsk 2017-03-06T05:41:01Z Bike: the capitol of the... krai... whatever they're called 2017-03-06T05:41:22Z beach: loke: should move there so that he could cool off a bit. 2017-03-06T05:41:53Z Fare keeps discovering asdf 2017-03-06T05:43:19Z Fare: I never suspected such depth into that simple piece of software 2017-03-06T05:45:28Z Fare: Just when I believe I understand it, there's a new layer of complexity in getting it right. 2017-03-06T05:47:08Z vtomole joined #lisp 2017-03-06T05:47:48Z chouchou_ joined #lisp 2017-03-06T05:47:53Z pillton: Which part? 2017-03-06T05:48:05Z shka_ quit (Ping timeout: 240 seconds) 2017-03-06T05:48:16Z aeth: I almost mentioned that part of Russia, but I figured (almost) no one lives there. https://www.timeanddate.com/time/map/ 2017-03-06T05:48:31Z aeth: basically, the yellow part in Asia is in lunch time 2017-03-06T05:48:52Z aeth: possibly also the green area with a late lunch or the orange area with an early lunch 2017-03-06T05:48:58Z aeth: UTC+7 2017-03-06T05:49:05Z chouchou quit (Ping timeout: 240 seconds) 2017-03-06T05:51:18Z adolf_stalin quit (Remote host closed the connection) 2017-03-06T05:53:09Z aeth: The land is probably very cheap in Krasnoyarsk. We should buy land there and make it the world capital of Lisp. 2017-03-06T05:54:57Z cibs quit (Ping timeout: 240 seconds) 2017-03-06T05:56:06Z Fare: pillton, in asdf3.3, I added proper phase separation and it was a long long process to get there. Now I'm having poiu work with it, and I need to tinker the asdf internals some more to make that possible. 2017-03-06T05:56:28Z Fare: pillton: I've reached the point where poiu detects a circular dependency between uiop and asdf/defsystem. 2017-03-06T05:56:31Z slyrus joined #lisp 2017-03-06T05:57:04Z cibs joined #lisp 2017-03-06T06:02:10Z defaultxr quit (Ping timeout: 264 seconds) 2017-03-06T06:02:38Z safe joined #lisp 2017-03-06T06:03:25Z pillton: Does phase separation mean that compilation is done in a separate process? 2017-03-06T06:03:46Z Fare: and to make it work I'll have to cheat somehow, or do some major refactoring or improvement. 2017-03-06T06:04:07Z Fare: not a separate process, but a separate phase nevertheless 2017-03-06T06:04:32Z Fare: so that if e.g. your .asd file depends on cffi, cffi must be loaded in a preceding phase, and the dependency will be tracked 2017-03-06T06:04:46Z pillton: Oh right. 2017-03-06T06:05:02Z pillton: So it detects the eval-when use case? 2017-03-06T06:05:44Z Fare: No exactly. In asdf3.3, loading a .asd file is itself an action recorded by asdf. 2017-03-06T06:06:00Z Fare: that action can depend on other actions, and be depended on by other actions. 2017-03-06T06:06:14Z pillton: Ah ok. 2017-03-06T06:06:30Z Fare: e.g. about any action on a system depends on loading the system definition. 2017-03-06T06:06:46Z Fare: which itself depends on loading the dependencies of the defsystem forms. 2017-03-06T06:07:06Z Fare: as specified by :defsystem-depends-on clauses 2017-03-06T06:07:14Z Fare: or explicit (load-system ...) statements. 2017-03-06T06:08:17Z Fare: because a .asd file contains arbitrary code, and ASDF has file granularity rather than statement granularity, all definitions in a .asd file must be in the same phase. 2017-03-06T06:08:30Z Fare: and .asd files must be strictly separated by phase. 2017-03-06T06:08:39Z dec0n joined #lisp 2017-03-06T06:09:19Z Fare: now, asdf.asd and poiu.asd currently subtly violate this, because asdf is magically loaded at the beginning of every build, to ensure it won't be catastrophically loaded in the middle 2017-03-06T06:10:54Z Fare: so doing anything to any system depends on asdf -- including doing anything to poiu 2017-03-06T06:11:31Z Fare: however, asdf depends on defining poiu, because it transcludes asdf in asdf.lisp 2017-03-06T06:11:49Z Fare: there are many potential solutions, but some are cheats, others are a LOT of work. 2017-03-06T06:11:52Z mishoo joined #lisp 2017-03-06T06:12:23Z pillton: Does this problem pop up outside of bootstrapping ASDF? 2017-03-06T06:12:57Z Fare: pillton: not really, so I may introduce a cheat. 2017-03-06T06:12:58Z akkad quit (Excess Flood) 2017-03-06T06:13:20Z Fare: or rather, phasing issues did happen in iolib, but were fixed there 2017-03-06T06:13:48Z pillton: Right. 2017-03-06T06:14:07Z pillton: Thanks for looking in to the issue. 2017-03-06T06:14:16Z slyrus quit (Ping timeout: 268 seconds) 2017-03-06T06:15:19Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-06T06:16:03Z akkad joined #lisp 2017-03-06T06:19:26Z Fare: I'm introducing a cheat in asdf.asd, to use read-file-form to import a form from uiop.asd 2017-03-06T06:20:14Z Fare: and until I tried poiu and its stricter circularity detection, I hadn't found the issue with asdf3.3 2017-03-06T06:21:54Z okflo joined #lisp 2017-03-06T06:22:54Z schjetne quit (Ping timeout: 268 seconds) 2017-03-06T06:32:10Z whiteline quit (Ping timeout: 264 seconds) 2017-03-06T06:32:45Z FreeBirdLjj joined #lisp 2017-03-06T06:38:05Z sbodin joined #lisp 2017-03-06T06:38:49Z vtomole quit (Ping timeout: 260 seconds) 2017-03-06T06:43:08Z sbodin quit (Ping timeout: 240 seconds) 2017-03-06T06:55:08Z Blukunfando joined #lisp 2017-03-06T07:07:53Z safe quit (Read error: Connection reset by peer) 2017-03-06T07:08:18Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-06T07:14:39Z pve joined #lisp 2017-03-06T07:14:44Z shka joined #lisp 2017-03-06T07:17:41Z whiteline joined #lisp 2017-03-06T07:18:32Z mwsb joined #lisp 2017-03-06T07:19:05Z chu quit (Ping timeout: 240 seconds) 2017-03-06T07:19:46Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-06T07:20:20Z Khisanth quit (Ping timeout: 260 seconds) 2017-03-06T07:20:32Z FreeBirdLjj joined #lisp 2017-03-06T07:24:33Z mwsb is now known as chu 2017-03-06T07:26:44Z flamebeard joined #lisp 2017-03-06T07:33:24Z Khisanth joined #lisp 2017-03-06T07:39:57Z gacepa quit (Quit: Connection closed for inactivity) 2017-03-06T07:44:35Z Fare: oh. new bug: runtime-inferred dependencies in .asd files seem to be declared into the wrong plan when using poiu. 2017-03-06T07:51:50Z quazimodo quit (Ping timeout: 258 seconds) 2017-03-06T07:52:19Z neoncontrails quit (Ping timeout: 268 seconds) 2017-03-06T07:53:38Z neoncontrails joined #lisp 2017-03-06T08:02:26Z varjag joined #lisp 2017-03-06T08:04:44Z malice` joined #lisp 2017-03-06T08:06:07Z cods_ is now known as cods 2017-03-06T08:06:09Z yrk quit (Read error: Connection reset by peer) 2017-03-06T08:06:19Z cods quit (Changing host) 2017-03-06T08:06:19Z cods joined #lisp 2017-03-06T08:07:55Z loke: What is poiu? 2017-03-06T08:08:10Z loke: Is it related to fdsa? 2017-03-06T08:08:11Z loke: :-) 2017-03-06T08:08:19Z phoe_: minion: tell loke about poiu 2017-03-06T08:08:37Z minion: poiu: I can't be expected to work when CLiki doesn't respond to me, can I? 2017-03-06T08:08:41Z phoe_: agh, minion is being incompetent; anyway, http://www.cliki.net/poiu 2017-03-06T08:13:24Z ryanwatkins joined #lisp 2017-03-06T08:14:38Z Beetny joined #lisp 2017-03-06T08:14:42Z yeticry_ joined #lisp 2017-03-06T08:16:09Z krwq joined #lisp 2017-03-06T08:17:36Z yeticry quit (Ping timeout: 268 seconds) 2017-03-06T08:19:49Z smokeink quit (Ping timeout: 258 seconds) 2017-03-06T08:26:46Z emaczen quit (Ping timeout: 264 seconds) 2017-03-06T08:27:12Z smokeink joined #lisp 2017-03-06T08:27:24Z schjetne joined #lisp 2017-03-06T08:27:32Z getha quit (Ping timeout: 260 seconds) 2017-03-06T08:28:17Z thijso joined #lisp 2017-03-06T08:28:34Z o232k quit (Ping timeout: 264 seconds) 2017-03-06T08:28:39Z ttt72 joined #lisp 2017-03-06T08:29:02Z loke can't wait to play wioth 1qaz 2017-03-06T08:29:05Z loke: with 2017-03-06T08:32:44Z ttt72 quit (Client Quit) 2017-03-06T08:33:10Z ttt72 joined #lisp 2017-03-06T08:36:27Z phoe_: well 2017-03-06T08:36:44Z phoe_: working with sections of the specification is so much different 2017-03-06T08:37:01Z ttt72 quit (Client Quit) 2017-03-06T08:37:26Z ttt72 joined #lisp 2017-03-06T08:42:26Z cibs quit (Ping timeout: 258 seconds) 2017-03-06T08:42:32Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-06T08:44:23Z cibs joined #lisp 2017-03-06T08:45:31Z Amplituhedron joined #lisp 2017-03-06T08:45:34Z FreeBirdLjj joined #lisp 2017-03-06T08:46:16Z neoncontrails quit (Remote host closed the connection) 2017-03-06T08:48:24Z phoe_: this is a question. 2017-03-06T08:48:37Z phoe_: do I want to preserve its form of a specification, or do I want to make it as readable as possible? 2017-03-06T08:49:01Z beach: I think making it readable is a different document. 2017-03-06T08:49:24Z phoe_: This is a non-trivial question. 2017-03-06T08:49:44Z beach: I call such a document a "reference" and not a "specification". 2017-03-06T08:49:47Z loke: phoe_: what are you referring to? 2017-03-06T08:50:13Z beach: ... and such a document would contain much more material that exists for pedagogical reasons. 2017-03-06T08:51:16Z beach: In fact, the specification is not primarily meant for users, but for implementers. 2017-03-06T08:51:34Z neoncontrails joined #lisp 2017-03-06T08:53:13Z beach: Having said that, I think that it would be totally fantastic to have a Common Lisp language reference. In fact I started such a document some time ago. 2017-03-06T08:56:12Z loke: beach: wbat about CLUS? 2017-03-06T08:56:28Z loke: Isn't that intended to be exactly that? 2017-03-06T08:56:34Z chouchou_ quit (Ping timeout: 256 seconds) 2017-03-06T08:57:12Z beach: That's basically what phoe_ is asking. 2017-03-06T08:58:01Z beach: But what he has done so far is not it. It is still a specification. The `S' in CLUS means `Spec'. 2017-03-06T08:58:49Z hhdave joined #lisp 2017-03-06T09:00:21Z phoe_: beach: I actually think of extending the CLUS with material that is not the specification, but is based on the specification and is more of a language reference. 2017-03-06T09:00:40Z phoe_: And as long as I strictly mark each such page, I consider myself free to do so. 2017-03-06T09:00:46Z beach: A Common Lisp reference would not at all be organized like the specification. It would not use the same order to present the material. 2017-03-06T09:01:31Z beach: phoe_: Well, you asked for our opinion, and you got mine. Now you can do what you want of course. It's your project. 2017-03-06T09:02:36Z phoe_ nodnod. 2017-03-06T09:02:48Z ttt72 quit (Ping timeout: 256 seconds) 2017-03-06T09:02:54Z beach: Clearly, there is a lot of overlap possible between a specification and a reference. And when it is organized as a bunch of web pages, individual pages can naturally be shared. 2017-03-06T09:04:22Z angavrilov joined #lisp 2017-03-06T09:05:04Z phoe_: Two areas that I *want* to work on like that are FORMAT and LOOP. 2017-03-06T09:05:55Z malice`: Yeah, CLHS has poor explanation of these 2017-03-06T09:05:59Z zzkt[m] joined #lisp 2017-03-06T09:06:29Z malice`: Sometimes I find myself figuring out how to use something in CL by reading the corresponding grammar... ugh 2017-03-06T09:06:58Z phoe_: For FORMAT, there already is a separate page for each directive. 2017-03-06T09:07:07Z phoe_: These are good, but I want to improve these with more examples. 2017-03-06T09:07:33Z eschatologist quit (Ping timeout: 268 seconds) 2017-03-06T09:07:45Z phoe_: And for LOOP, I actually wonder if making a separate page for each single keyword is a good idea. Such a page would explain the keyword's purpose and specify all contexts in which it may be used. 2017-03-06T09:08:06Z phoe_: And it would allow for much easier linking. Such as: 2017-03-06T09:08:06Z phoe_: clus loop upto 2017-03-06T09:08:08Z malice`: I don't think so. 2017-03-06T09:08:36Z malice`: I mean, as a user, I would prefer to see sections about doing things more than about keywords. 2017-03-06T09:08:42Z malice`: like "LOOP - hash-table iteration" 2017-03-06T09:08:55Z malice`: instead of "LOOP - being the hash-keys" 2017-03-06T09:08:59Z malice`: or something like that 2017-03-06T09:09:35Z malice`: Sometimes keywords would be better, of course, but most of the time I guess that's what I would be after 2017-03-06T09:10:23Z hhdave_ joined #lisp 2017-03-06T09:10:28Z hhdave quit (Ping timeout: 260 seconds) 2017-03-06T09:10:28Z hhdave_ is now known as hhdave 2017-03-06T09:10:57Z beach: Today is when we are supposed to know about our ELS submissions! 2017-03-06T09:11:34Z schjetne quit (Ping timeout: 258 seconds) 2017-03-06T09:11:36Z nirved joined #lisp 2017-03-06T09:11:46Z ryanwatkins quit (Remote host closed the connection) 2017-03-06T09:11:56Z phoe_: malice`: there already exist pages like these 2017-03-06T09:11:58Z phoe_: clhs 6.1.2.1.6 2017-03-06T09:11:58Z specbot: The for-as-hash subclause: http://www.lispworks.com/reference/HyperSpec/Body/06_abaf.htm 2017-03-06T09:12:11Z phoe_: this is about hash-table iteration, there you go 2017-03-06T09:12:22Z phoe_: these already exist and should only be expanded with examples. 2017-03-06T09:13:08Z Bike quit (Quit: leaving) 2017-03-06T09:17:21Z phoe_: beach: yes, I can't wait. 2017-03-06T09:23:18Z krwq quit (Remote host closed the connection) 2017-03-06T09:24:19Z malice`: phoe_: Is this name what you would come up with when trying to deal with hash-tables in CL loop? 2017-03-06T09:24:40Z malice`: Because I wouldn't. 2017-03-06T09:24:56Z cibs quit (Ping timeout: 260 seconds) 2017-03-06T09:26:40Z cibs joined #lisp 2017-03-06T09:27:14Z phoe_: malice`: from a specification point of view, this name is quite sane. 2017-03-06T09:27:26Z phoe_: From a usability point of view, this name sucks. 2017-03-06T09:27:34Z malice`: But I don't care about specification. I'm a user 2017-03-06T09:27:35Z o232k joined #lisp 2017-03-06T09:27:40Z phoe_: Yes, exactly. 2017-03-06T09:27:45Z malice`: This name resulted in me not finding the page 2017-03-06T09:27:50Z phoe_: I need to think on how this can be achieved. 2017-03-06T09:28:07Z malice`: Plus, the page still does not have any examples 2017-03-06T09:28:15Z malice`: Yeah, that would be great :0 2017-03-06T09:28:18Z malice`: :) * 2017-03-06T09:29:26Z dec0n quit (Read error: Connection reset by peer) 2017-03-06T09:30:06Z eschatologist joined #lisp 2017-03-06T09:30:54Z dec0n joined #lisp 2017-03-06T09:34:01Z Trenif joined #lisp 2017-03-06T09:37:26Z phoe_: That's where the part beach called "reference" comes in. 2017-03-06T09:37:41Z phoe_: I want to have such in CLUS. 2017-03-06T09:38:12Z phoe_: As long as I mark "this page is not a part of the formal specification, it was derived from it to provide a summarized/examplified reference", I'm free to add material to CLUS. 2017-03-06T09:38:23Z Fare quit (Ping timeout: 268 seconds) 2017-03-06T09:38:44Z phoe_: And hell, FORMAT and LOOP deserve better explanation. 2017-03-06T09:39:09Z malice`: Why can't you have (a) two versions of each thing, one being the "reference" and other being the "spec", or (b) make it a spec, but with foldable reference paragraph(s) or (c) being (b) but the other way? 2017-03-06T09:41:59Z phoe_: a) sounds fun. It's my original idea. 2017-03-06T09:42:11Z phoe_: And I'd rather not have foldable parts. 2017-03-06T09:42:26Z phoe_: I'd like to keep the spec and the non-spec separate for clarity. 2017-03-06T09:43:25Z phoe_: I'll happily add a "LOOP reference" to the See Also part of LOOP dictionary entry as well as the respective section. 2017-03-06T09:43:34Z phoe_: As long as the "LOOP reference" is marked as an add-on. 2017-03-06T09:50:27Z freehck joined #lisp 2017-03-06T09:54:57Z malice`: Well, you could have a spec, and after some parts have reference section(in different colour/style/div) so that you can read reference only if you want, but you have examples and human language nearby when you need it 2017-03-06T10:02:02Z mishoo quit (Ping timeout: 240 seconds) 2017-03-06T10:03:48Z ogamita joined #lisp 2017-03-06T10:04:12Z gingerale joined #lisp 2017-03-06T10:07:25Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-06T10:08:01Z FreeBirdLjj joined #lisp 2017-03-06T10:12:08Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-06T10:12:08Z attila_lendvai joined #lisp 2017-03-06T10:12:39Z the-blackbeard joined #lisp 2017-03-06T10:13:00Z Cymew quit (Ping timeout: 260 seconds) 2017-03-06T10:13:06Z schjetne joined #lisp 2017-03-06T10:18:38Z Cymew joined #lisp 2017-03-06T10:19:57Z schjetne quit (Remote host closed the connection) 2017-03-06T10:22:23Z emaczen joined #lisp 2017-03-06T10:26:12Z ryanwatkins joined #lisp 2017-03-06T10:26:22Z trocado joined #lisp 2017-03-06T10:28:20Z emaczen quit (Ping timeout: 268 seconds) 2017-03-06T10:29:25Z Karl_Dscc joined #lisp 2017-03-06T10:29:33Z Gk-1wm-su joined #lisp 2017-03-06T10:35:12Z Gk-1wm-su quit (K-Lined) 2017-03-06T10:42:09Z Karl_Dscc quit (Remote host closed the connection) 2017-03-06T10:42:23Z o1e9 joined #lisp 2017-03-06T10:44:16Z jameser quit (Ping timeout: 260 seconds) 2017-03-06T10:44:47Z mazoe joined #lisp 2017-03-06T10:46:44Z frodef joined #lisp 2017-03-06T10:49:56Z sjl joined #lisp 2017-03-06T10:52:40Z Trenif quit (Ping timeout: 260 seconds) 2017-03-06T10:58:34Z EvW1 joined #lisp 2017-03-06T11:03:42Z mishoo joined #lisp 2017-03-06T11:08:05Z m00natic joined #lisp 2017-03-06T11:09:55Z jameser joined #lisp 2017-03-06T11:11:18Z Trenif joined #lisp 2017-03-06T11:11:51Z Blukunfando quit (Read error: Connection reset by peer) 2017-03-06T11:22:03Z mishoo quit (Remote host closed the connection) 2017-03-06T11:22:22Z mishoo joined #lisp 2017-03-06T11:22:35Z shifty quit (Ping timeout: 240 seconds) 2017-03-06T11:27:05Z Trenif quit (Quit: Leaving) 2017-03-06T11:27:23Z Einwq joined #lisp 2017-03-06T11:30:28Z mishoo quit (Ping timeout: 240 seconds) 2017-03-06T11:31:16Z EvW1 quit (Ping timeout: 256 seconds) 2017-03-06T11:33:34Z DGASAU quit (Read error: Connection reset by peer) 2017-03-06T11:35:57Z DGASAU joined #lisp 2017-03-06T11:37:03Z gacepa joined #lisp 2017-03-06T11:39:06Z DGASAU quit (Read error: Connection reset by peer) 2017-03-06T11:40:29Z mishoo joined #lisp 2017-03-06T11:44:16Z DGASAU joined #lisp 2017-03-06T11:44:45Z Cymew quit (Quit: Konversation terminated!) 2017-03-06T11:47:33Z Karl_Dscc joined #lisp 2017-03-06T11:50:18Z milanj joined #lisp 2017-03-06T11:50:19Z shdeng quit (Quit: Leaving) 2017-03-06T11:51:04Z DGASAU quit (Read error: Connection reset by peer) 2017-03-06T11:51:10Z eli joined #lisp 2017-03-06T11:53:17Z DGASAU joined #lisp 2017-03-06T11:55:15Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-06T11:55:15Z ryanwatkins quit (Remote host closed the connection) 2017-03-06T11:55:35Z Xach_ preps for a client update 2017-03-06T11:58:39Z EvW joined #lisp 2017-03-06T12:06:19Z beach: I suppose we will get the referee reports at a few minutes before midnight, Hawaiian time. 2017-03-06T12:06:59Z beach: Oh, well. They had significantly more work to do this year compared to last. 2017-03-06T12:07:29Z splittist: beach: did they meet the deadline in the past? 2017-03-06T12:07:38Z jameser joined #lisp 2017-03-06T12:08:10Z beach: As I recall, yes. I might be misremembering. 2017-03-06T12:10:52Z phoe_: beach: so basically 20 hours from now. 2017-03-06T12:11:07Z beach: 22, but I am joking. 2017-03-06T12:11:13Z phoe_: :P 2017-03-06T12:11:38Z d4ryus joined #lisp 2017-03-06T12:13:31Z jameser quit (Max SendQ exceeded) 2017-03-06T12:14:19Z d4ryus4 quit (Ping timeout: 246 seconds) 2017-03-06T12:15:02Z jameser joined #lisp 2017-03-06T12:17:25Z ryanwatkins joined #lisp 2017-03-06T12:20:08Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-06T12:23:40Z okflo quit (Read error: Connection reset by peer) 2017-03-06T12:30:26Z Fare joined #lisp 2017-03-06T12:33:28Z sjl quit (Ping timeout: 260 seconds) 2017-03-06T12:35:38Z ogamita quit (Read error: Connection reset by peer) 2017-03-06T12:36:05Z BitPuffin|osx joined #lisp 2017-03-06T12:36:05Z chens joined #lisp 2017-03-06T12:36:51Z ogamita joined #lisp 2017-03-06T12:46:35Z mishoo quit (Ping timeout: 240 seconds) 2017-03-06T12:46:35Z Beetny quit (Ping timeout: 240 seconds) 2017-03-06T12:47:46Z EvW quit (Ping timeout: 258 seconds) 2017-03-06T12:51:15Z loke___ joined #lisp 2017-03-06T12:57:59Z rumbler31 joined #lisp 2017-03-06T12:58:25Z EvW1 joined #lisp 2017-03-06T12:59:28Z andrei_chiffa__ joined #lisp 2017-03-06T13:00:02Z chens left #lisp 2017-03-06T13:00:02Z andrei_chiffa_ quit (Ping timeout: 240 seconds) 2017-03-06T13:08:07Z sjl joined #lisp 2017-03-06T13:09:17Z jameser joined #lisp 2017-03-06T13:10:31Z DGASAU quit (Read error: Connection reset by peer) 2017-03-06T13:11:28Z Fare quit (Ping timeout: 240 seconds) 2017-03-06T13:11:38Z andrei_chiffa_ joined #lisp 2017-03-06T13:13:32Z andrei_chiffa__ quit (Ping timeout: 240 seconds) 2017-03-06T13:13:45Z sz0 joined #lisp 2017-03-06T13:15:43Z papachan joined #lisp 2017-03-06T13:17:40Z EvW1 quit (Ping timeout: 258 seconds) 2017-03-06T13:23:09Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-06T13:25:18Z dilated_dinosaur quit (Read error: Connection reset by peer) 2017-03-06T13:26:17Z stepnem joined #lisp 2017-03-06T13:26:20Z jameser joined #lisp 2017-03-06T13:27:21Z dunk left #lisp 2017-03-06T13:29:38Z phoe_: beach: gasp! 2017-03-06T13:29:44Z phoe_: I did not get the ELS confirmation yet. 2017-03-06T13:30:06Z phoe_: You might be right about Hawaiian time after all. 2017-03-06T13:31:05Z mazoe quit (Ping timeout: 240 seconds) 2017-03-06T13:31:43Z rumbler31 quit (Remote host closed the connection) 2017-03-06T13:33:20Z igajsin joined #lisp 2017-03-06T13:34:21Z lisper joined #lisp 2017-03-06T13:34:45Z malice` quit (Ping timeout: 260 seconds) 2017-03-06T13:37:16Z lisper: (let ((xx 'yay)) xx) vs. (setq xx 'xx) 2017-03-06T13:37:23Z lisper: scoping aside, is there a difference between the two? 2017-03-06T13:37:31Z lisper: just a symbol with a value, yes? 2017-03-06T13:38:08Z Xach_: lisper: no. 2017-03-06T13:38:14Z lisper: explain 2017-03-06T13:38:25Z lisper: no to which question? :) 2017-03-06T13:38:30Z beach: lisper: The second one is illegal unless you define the variable first. 2017-03-06T13:38:46Z lisper: huh? 2017-03-06T13:38:50Z lisper: works fine in clsp 2017-03-06T13:38:52Z lisper: clisp 2017-03-06T13:38:52Z beach: Or maybe "undefined behavior". 2017-03-06T13:38:58Z beach: lisper: Clisp is not the standard. 2017-03-06T13:39:13Z Xach_: lisper: LET establishes a binding. it might be lexical or dynamic. setq changes a binding. 2017-03-06T13:39:32Z lisper: so in clisp, they're both symbols with a value 2017-03-06T13:39:32Z Xach_: whether it modifies the symbol-value of a symbol depends on the nature of the binding it is changing. 2017-03-06T13:39:57Z gacepa quit (Quit: Connection closed for inactivity) 2017-03-06T13:41:02Z beach: lisper: You can't use a particular implementation to determine what the standard says, because there are many cases where the standard does not define the behavior, and it is up to each implementation to do what it wants. 2017-03-06T13:41:31Z Xach_: And in some cases the implementators feel they know better and do not do what the spec says. 2017-03-06T13:41:32Z lisper: beach: where did I talk about the standard? 2017-03-06T13:41:39Z ogamita: lisper: the problem is that with a bare setq, we don't know if the symbol is a special variable or a lexical one. (Depends on the implementation, it could even be something else). 2017-03-06T13:41:51Z Xach_: lisper: this channel is for common lisp, and any questions about behavior are guided by the standard. 2017-03-06T13:41:52Z MrBismuth joined #lisp 2017-03-06T13:42:01Z lisper: is there a clisp channel? 2017-03-06T13:42:05Z beach: lisper: Oh, if you just want to know what CLISP does, then that's a different question, but I assumed you were asking about the language. 2017-03-06T13:42:16Z lisper: i ask specifically about clisp 2017-03-06T13:42:23Z lisper: maybe wrong channel then 2017-03-06T13:42:27Z ogamita: lisper: there's a mailling list for clisp. 2017-03-06T13:42:31Z beach: That was not possible to tell from the initial question. 2017-03-06T13:42:36Z TDT joined #lisp 2017-03-06T13:42:44Z manuel_ joined #lisp 2017-03-06T13:42:45Z lisper: beach: fair enough, my bad 2017-03-06T13:43:02Z Xach_: there isn't a clisp channel. clisp is one of the least-active implementations at the moment. 2017-03-06T13:43:09Z lisper: alrighty 2017-03-06T13:43:11Z ogamita: lisper: http://www.clisp.org/impnotes/faq.html#faq-help 2017-03-06T13:43:17Z lisper: thanks 2017-03-06T13:43:39Z MrBusiness3 joined #lisp 2017-03-06T13:43:41Z lisper: Xach_: what's a standard compliant impl i can use on mac? 2017-03-06T13:43:57Z EvW joined #lisp 2017-03-06T13:44:09Z ogamita: ccl 2017-03-06T13:44:15Z ogamita: There's a #ccl too. 2017-03-06T13:44:24Z MrBusiness quit (Ping timeout: 260 seconds) 2017-03-06T13:44:32Z ogamita: http://ccl.clozure.com/ 2017-03-06T13:44:33Z Xach_: lisper: clozure cl and sbcl are both very good on mac. 2017-03-06T13:44:35Z lisper: and setq above in ccl is undefined? 2017-03-06T13:44:43Z ogamita: Yes. 2017-03-06T13:44:48Z lisper: alright 2017-03-06T13:44:52Z ogamita: It's the standard that makes it undefined. 2017-03-06T13:44:58Z Xach_: So are lispworks and allegro cl. 2017-03-06T13:45:13Z ogamita: In all implementation it will do something, but we don't know what, without reading the documentation of the implementation. 2017-03-06T13:45:42Z ogamita: But in #lisp we're lazy we only read clhs. 2017-03-06T13:46:16Z MrBismuth quit (Ping timeout: 260 seconds) 2017-03-06T13:46:19Z edgar-rft joined #lisp 2017-03-06T13:46:32Z lambda-smith joined #lisp 2017-03-06T13:48:36Z MrBusiness3 quit (Ping timeout: 260 seconds) 2017-03-06T13:49:11Z lisper: i hate these lisp repl's. sbcl is kinda enough to tell me that a is undefined in (setq a 'a), in a warning repeat three times with different wordings 2017-03-06T13:49:45Z MrBusiness3 joined #lisp 2017-03-06T13:53:04Z Xach_: SBCL is one of the most actively developed and widely used implementations. 2017-03-06T13:53:49Z lisper: cool 2017-03-06T13:54:00Z lisper: anyone use it production systems? 2017-03-06T13:54:25Z raynold quit (Quit: Connection closed for inactivity) 2017-03-06T13:54:40Z dlowe: We're using it for our airfare search engine 2017-03-06T13:54:55Z Xach_: lisper: yes 2017-03-06T13:55:37Z MrBusiness3 quit (Ping timeout: 258 seconds) 2017-03-06T13:55:44Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-06T13:57:33Z jameser joined #lisp 2017-03-06T13:58:37Z andrei_chiffa1 joined #lisp 2017-03-06T13:59:36Z Amplituhedron quit (Quit: Konversation terminated!) 2017-03-06T13:59:56Z jameser quit (Client Quit) 2017-03-06T14:02:48Z lisper: so, coming from a tradition language, lisp symbols are "interesting". It seems that symbols are both variables and their name? 2017-03-06T14:04:46Z phoe_: nope 2017-03-06T14:05:00Z Xach_: Symbols have a name. They are also used to represent Lisp programs. The semantics of Common Lisp are defined by the evaluation of patterns of symbols (and other things). 2017-03-06T14:05:13Z phoe_: symbols are objects. they're commonly used in Lisp because they have identity. 2017-03-06T14:05:24Z phoe_: a single package can only have one symbol of name "FOO". 2017-03-06T14:05:51Z Xach_: Unless context changes, symbols that look the same generally are the same. 2017-03-06T14:06:03Z Xach_: That is a pretty useful property when you want to refer to something named by a symbol. 2017-03-06T14:06:20Z lisper: so if i (defvar *test* 11), is test a symbol? 2017-03-06T14:06:43Z lisper: sorry *test* 2017-03-06T14:06:47Z lisper: is that a symbol? 2017-03-06T14:06:47Z Xach_: lisper: *test* is a symbol, yes. 2017-03-06T14:06:56Z lisper: and not a variable? 2017-03-06T14:06:59Z Xach_: and (symbol-value '*test*) => 11 2017-03-06T14:07:04Z Xach_: lisper: It is a special variable. 2017-03-06T14:07:30Z lisper: so a symbol can be a variable? 2017-03-06T14:07:37Z phoe_: mostly, yes. 2017-03-06T14:07:37Z lisper: with both a name and a value 2017-03-06T14:07:40Z phoe_: except, symbol is a type in Lisp, and variable is a concept. 2017-03-06T14:08:13Z lisper: defvar creates a symbol and set its value, yes? 2017-03-06T14:08:23Z lisper: and calls that thing a variable 2017-03-06T14:08:28Z Xach_: READ creates a symbol. 2017-03-06T14:08:28Z phoe_: nope, the symbol is created earlier, during read time. 2017-03-06T14:08:33Z phoe_: but everything else is more or less correct. 2017-03-06T14:08:48Z phoe_: DEFVAR first and foremost proclaims that symbol as a special variable. 2017-03-06T14:08:54Z lisper: as an application writer, read time doesn't matter 2017-03-06T14:08:55Z phoe_: and optionally sets its value. 2017-03-06T14:09:01Z Xach_: lisper: oh, it matters SO MUCH! 2017-03-06T14:09:08Z lisper: phoe_: what's special about it? 2017-03-06T14:09:15Z lisper: what's a non-special variable? 2017-03-06T14:09:17Z phoe_: it's a term, "special variable". 2017-03-06T14:09:25Z lisper: why special? 2017-03-06T14:09:29Z phoe_: a lexical variable, for example. 2017-03-06T14:09:40Z lisper: that's not special i guess 2017-03-06T14:09:49Z phoe_: (let ((x 5)) (+ x 10)) ;=> 15 2017-03-06T14:09:54Z lisper: yes 2017-03-06T14:10:29Z lisper: but why isn't defvar just said to be in the top-level scope? 2017-03-06T14:10:47Z nowhereman joined #lisp 2017-03-06T14:10:50Z nirved: a symbol can have a function and plist as well 2017-03-06T14:11:21Z lisper: ok. so symbol sounds like a sum type really. 2017-03-06T14:11:29Z lisper: a tagged union 2017-03-06T14:11:37Z lisper: with a name 2017-03-06T14:11:46Z Xach_: It will be easier if you do not try to think of Lisp things in terms of other things as you learn. 2017-03-06T14:11:50Z nirved: symbol can have both value and function 2017-03-06T14:12:04Z lisper: Xach_: i want to understand its true nature 2017-03-06T14:12:14Z lisper: nirved: yes, why it's a sum type 2017-03-06T14:13:00Z Xach_: lisper: have I got a book for you! 2017-03-06T14:13:28Z Xach_: lisper: Lisp in Small Pieces explains the details of implementing Lisp, including different approaches for evaluation (slow and easy to understand, fast but more complex) and compilation. 2017-03-06T14:15:36Z Petit_Dejeuner: Lisp in Small Pieces is pretty good. 2017-03-06T14:15:43Z CEnnis91 joined #lisp 2017-03-06T14:15:46Z Petit_Dejeuner needs to steal it back from the library again. 2017-03-06T14:16:26Z ogamita: lisper: you may consider symbols as a product type actually; you may imagine that CL provides something like: (defstruct symbol name value function plist package) ; but since you can use symbols to name other thing than just special variables and functions in your own programs, you can factor other terms in the product type! (Therefore it is rather useless to think about it in those typing terms). 2017-03-06T14:16:52Z ogamita: lisper: sum type = union ; product type = struct. 2017-03-06T14:16:58Z Xach_: It is not a basic or introductory book, but it is rewarding if you work at it. 2017-03-06T14:18:02Z lisper: ogamita: exactly 2017-03-06T14:18:20Z lisper: more like a union with a tag 2017-03-06T14:18:36Z lisper: i see some implementations suggest this is the real nature of a symbol 2017-03-06T14:20:03Z ogamita: more like a struct, since you have all the fields at once! 2017-03-06T14:20:26Z Xach_: But that implies that a "union" is a real thing, too. It's not - it's a concept from another programming language. 2017-03-06T14:20:40Z lisper: doesn't matter. it is what it is. 2017-03-06T14:20:54Z lisper: ogamita: are you saying a symbol can hold both a number and a function at the same time? 2017-03-06T14:21:16Z andrei_chiffa1 quit (Quit: andrei_chiffa1) 2017-03-06T14:21:42Z andrei_chiffa__ joined #lisp 2017-03-06T14:21:54Z andrei_chiffa_ quit (Remote host closed the connection) 2017-03-06T14:21:59Z dlowe: symbols name variables and functions. A variable can only have one value (which may be a function). 2017-03-06T14:22:13Z lisper: exacrlt 2017-03-06T14:22:29Z lisper: exactly* why it's a sum type in principle 2017-03-06T14:22:34Z lisper: (in my terms) 2017-03-06T14:22:38Z dlowe: sure, if you want to think of it that way 2017-03-06T14:22:43Z lisper: thanks! 2017-03-06T14:22:44Z prole joined #lisp 2017-03-06T14:22:55Z dlowe: I still think of values as being "pointers" even though it's not lisply correct 2017-03-06T14:23:18Z dlowe: or "sometimes pointers" 2017-03-06T14:23:29Z lieven: (let ((list 12)) (list list list)) 2017-03-06T14:23:48Z lieven: compare and contrast with scheme which would name the variable lst 2017-03-06T14:24:16Z lisper: i see no lst there 2017-03-06T14:24:49Z jameser joined #lisp 2017-03-06T14:24:49Z lieven: lisper: in scheme you would do (let ((lst 12)) (list lst lst)) 2017-03-06T14:25:09Z lisper: that evals to 12 12 12 right? 2017-03-06T14:25:17Z lisper: oh list lst lst 2017-03-06T14:25:20Z lisper: subtle naming there 2017-03-06T14:25:26Z lisper: a list of 12 12? 2017-03-06T14:25:50Z dlowe: I think we can answer this without confusing references to scheme 2017-03-06T14:26:17Z lieven: dlowe: replace with Lisp-1 versus Lisp-2 if you want 2017-03-06T14:26:45Z ogamita: lisper: (flet ((foo () 33)) (let ((foo 42)) (list foo (foo)))) #| --> (42 33) |# 2017-03-06T14:26:47Z lisper: that's function and symbols in same "namespace" or not? 2017-03-06T14:26:58Z lisper: lisp-1 vs 2 i mean 2017-03-06T14:27:56Z lisper: flet, defvar, let, labels, ... scheme seems so much cleaner 2017-03-06T14:28:06Z EvW quit (Remote host closed the connection) 2017-03-06T14:28:09Z dlowe: in some ways 2017-03-06T14:28:15Z lisper: i suppose there is a reason for this proliferation of defs 2017-03-06T14:28:25Z EvW joined #lisp 2017-03-06T14:29:04Z dlowe: well, for one, if you know that the first element of a form is a function, you can compile it down to much faster code. 2017-03-06T14:29:37Z lieven: and CL even misses the toplevel lexical variable 2017-03-06T14:29:51Z lisper: enough to matter for a lisp (which isn't a speed daemon anyway)? 2017-03-06T14:29:55Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-06T14:30:10Z Karl_Dscc quit (Remote host closed the connection) 2017-03-06T14:30:12Z Xach_: lisper: You seem to have many misconceptions about Lisp, and what is important in it. 2017-03-06T14:30:20Z lisper: how so? 2017-03-06T14:30:49Z Xach_: Lisp can be a speed demon. 2017-03-06T14:30:52Z lerax joined #lisp 2017-03-06T14:30:54Z cromachina quit (Read error: Connection reset by peer) 2017-03-06T14:31:04Z lisper: i'm new to lisp, the way i ask is how i learn 2017-03-06T14:31:21Z Xach_: Ok. I find it somewhat offputting to help someone by correcting misconceptions state as assertions. 2017-03-06T14:31:26Z Xach_: stated, rather. 2017-03-06T14:31:39Z lisper: too bad 2017-03-06T14:31:57Z Xach_ finds the desire to help has now completely evaporated. 2017-03-06T14:32:14Z lisper: you wasn't the helpful one anyway, so that'a ok 2017-03-06T14:32:22Z lerax: Here is a good start: http://www.gigamonkeys.com/book/ 2017-03-06T14:32:33Z lisper: lerax: thanks 2017-03-06T14:32:39Z jameser joined #lisp 2017-03-06T14:32:42Z ogamita: lieven: that said, you can implement toplevel lexical variables if they're not provided by the implementation (some have deflex or defglobal), in a conforming way using define-symbol-macro. 2017-03-06T14:32:58Z dlowe: rude. I'm out. 2017-03-06T14:32:59Z ogamita: lieven: but in any case, you should not use global variables anyways. 2017-03-06T14:33:02Z lisper: ogamita: would there be a need for defvar in that case? 2017-03-06T14:33:08Z cibs quit (Ping timeout: 240 seconds) 2017-03-06T14:33:28Z ogamita: lisper: yes, because defvar defines a special variable, for dynamic binding. It has its uses. 2017-03-06T14:33:52Z lisper: oh, so defvar's are dynamically scoped? 2017-03-06T14:33:56Z ogamita: Yes. 2017-03-06T14:33:59Z lisper: ah 2017-03-06T14:34:10Z Xach_: Ahh, lisper was here previously as "tiket" and was also very rude. 2017-03-06T14:34:17Z Xach_: I guess the ban was lifted at some point. 2017-03-06T14:34:35Z lisper: Xach_: no, i evaded it. Easy enough. Gonna do it again. 2017-03-06T14:34:40Z lisper: kthxbye 2017-03-06T14:34:49Z dlowe: to... ask questions about lisp rudely? 2017-03-06T14:34:50Z lisper: thanks for the help helpful ones 2017-03-06T14:34:53Z dlowe: that's a weird hobby. 2017-03-06T14:34:54Z lisper quit (Quit: leaving) 2017-03-06T14:35:14Z ChanServ has set mode +o Xach_ 2017-03-06T14:35:16Z Xach_ has set mode -b *!*sr@unaffiliated/lisper 2017-03-06T14:35:23Z cibs joined #lisp 2017-03-06T14:35:24Z Xach_ has set mode +b *!*@unaffiliated/lisper 2017-03-06T14:35:32Z Xach_ is now known as Xach 2017-03-06T14:35:41Z Xach has set mode -o Xach 2017-03-06T14:36:42Z flip214: well, he was on the right path... not being polite, but the right path at least. 2017-03-06T14:37:27Z d4ryus: hi, is there a way (library or something) to escape wildcards on filenames? 2017-03-06T14:37:31Z flip214 wonders whether, given a few years, she might end up as the same grumpy old lisper around here ;) 2017-03-06T14:37:34Z Xach: d4ryus: I don't think so 2017-03-06T14:38:05Z d4ryus: Xach: ok, could you point me to a list of wildcards? 2017-03-06T14:38:05Z drewc quit (Ping timeout: 268 seconds) 2017-03-06T14:38:09Z lieven: flip214: young whippersnappers these days! Even the young were better in my time :) 2017-03-06T14:38:12Z Xach: d4ryus: wildcards within filenames are up to each implementation - did you have a specific implementation or situation in mind? 2017-03-06T14:38:47Z ogamita: d4ryus: better just avoid strange characters. 2017-03-06T14:39:04Z Xach: flip214: I'm not so sure. I think things can be really rough if the mindset for new things is "What old thing that I already know is this like?" 2017-03-06T14:39:05Z d4ryus: Xach: at the moment iam using sbcl. Having a solution working on all implementations would be prefered. 2017-03-06T14:39:05Z ogamita: Use only [-A-Z0-9] in pathname components. 2017-03-06T14:39:18Z Xach: d4ryus: and what is the goal? how did this kind of need come up? 2017-03-06T14:40:22Z Xach: I can think of some situations, but I am curious about yours 2017-03-06T14:41:00Z d4ryus: Xach: iam building a program to transfer files (and folders). Iam using some pathname functions, which error on strange filenames. 2017-03-06T14:41:07Z strelox joined #lisp 2017-03-06T14:41:25Z flip214: Xach: but, to be honest, I think that learning-by-association is the easiest path forward. or didn't you type programs (games) into your home computer from a battered copy of a journal? 2017-03-06T14:41:25Z ogamita: Where do they come from? 2017-03-06T14:41:42Z flip214: of course, the more you know, the easier it is to _have_ something to associate to. 2017-03-06T14:41:44Z ogamita: d4ryus: if they come from CL:DIRECTORY, then they should work ok. 2017-03-06T14:41:45Z Xach: flip214: Yes. but I did not learn Lisp by thinking "what qbasic concept are symbols exactly like?" 2017-03-06T14:41:52Z flip214: but a beginner will have to start somewhere 2017-03-06T14:42:08Z Xach: "How does this relate to the concepts I know from C?" 2017-03-06T14:42:33Z ogamita: There are multiple paths. 2017-03-06T14:42:38Z Xach: d4ryus: ah. i think that may be a rocky road for portable behavior, but you can probably get sbcl working well 2017-03-06T14:42:48Z jerme joined #lisp 2017-03-06T14:42:56Z rumbler31 joined #lisp 2017-03-06T14:43:35Z gabiruh_ is now known as gabiruh 2017-03-06T14:43:38Z Xach: flip214: K&R's C book tries to get a jump-start by associating things with Pascal, which is now no longer all that helpful. 2017-03-06T14:43:49Z mishoo joined #lisp 2017-03-06T14:45:17Z Xach: d4ryus: sbcl supports ?, *, and [] in pathname components for wild matching 2017-03-06T14:45:20Z Xach: d4ryus: there may be more 2017-03-06T14:45:29Z sjl quit (Ping timeout: 260 seconds) 2017-03-06T14:47:03Z flip214: Xach: I always thought that coming from assembler is a good way to learn C ;) 2017-03-06T14:47:39Z d4ryus: Xach: ok, thx. I guess the best solution for me is to swap out the pathname functions which throw errors with my own. 2017-03-06T14:48:31Z d4ryus: just thought there might be some *dont-use-wildcards* which i could set to t and everything works :) 2017-03-06T14:49:22Z Xach: d4ryus: ah, that would be nice! but i don't think there is something like that. you could double-check the manual or the implementation. 2017-03-06T14:50:25Z drewc joined #lisp 2017-03-06T14:50:35Z trueneu joined #lisp 2017-03-06T14:53:08Z dec0n quit (Read error: Connection reset by peer) 2017-03-06T14:53:29Z Karl_Dscc joined #lisp 2017-03-06T14:53:36Z Xach: d4ryus: what kind of files signaled the error? 2017-03-06T14:54:00Z Xach: d4ryus: it has been my impression that on sbcl, any pathname you got back from DIRECTORY would be escaped for you, so you could use it for OPEN, etc. But I could be wrong. 2017-03-06T14:54:24Z d4ryus: Xach: files containing [], ok i will check that 2017-03-06T14:55:14Z joneshf-laptop joined #lisp 2017-03-06T14:56:12Z rippa joined #lisp 2017-03-06T14:57:46Z Xach: for me, (directory "/tmp/*.tx[tx]") => (#P"/private/tmp/foo\\[].txt" #P"/private/tmp/x.txt") 2017-03-06T14:57:49Z Xach: oops 2017-03-06T14:58:01Z Xach: also (directory "/tmp/*.txt") => (#P"/private/tmp/foo\\[].txt" #P"/private/tmp/x.txt") 2017-03-06T14:58:29Z d4ryus: Xach: oh yes, same here 2017-03-06T14:59:10Z d4ryus: Xach: perfekt, thx :) 2017-03-06T15:00:56Z rippa quit (Ping timeout: 256 seconds) 2017-03-06T15:01:31Z rippa joined #lisp 2017-03-06T15:01:48Z andrei_chiffa__ is now known as andrei_chiffa_ 2017-03-06T15:02:47Z LiamH joined #lisp 2017-03-06T15:03:20Z d4ryus: aww damn, only solves half of my problem, since when iam receiving files i call (ensure-directories-exist filename), which errors too when filename contains a wildcard. damn :D 2017-03-06T15:04:26Z andrei_chiffa_ is now known as andrei_chifa 2017-03-06T15:05:15Z Xach: d4ryus: maybe you could look at what internal function sbcl uses to add escapes! 2017-03-06T15:06:15Z Guest46138 is now known as atgreen 2017-03-06T15:06:22Z sellout- quit (Quit: Leaving.) 2017-03-06T15:06:24Z schjetne joined #lisp 2017-03-06T15:07:13Z Xach: d4ryus: looks like it's sb-impl::unparse-physical-piece. You wouldn't want to use it directly, but maybe you could take inspiration from it (and the currently canonical list of wildcard characters). 2017-03-06T15:07:44Z EvW quit (Ping timeout: 256 seconds) 2017-03-06T15:07:44Z trocado quit (Ping timeout: 256 seconds) 2017-03-06T15:07:49Z Fare joined #lisp 2017-03-06T15:10:28Z schjetne quit (Ping timeout: 240 seconds) 2017-03-06T15:12:35Z d4ryus: Xach: well that was quick, thanks once again 2017-03-06T15:12:37Z schjetne joined #lisp 2017-03-06T15:13:01Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-06T15:13:42Z Quaker_ joined #lisp 2017-03-06T15:15:48Z lerax quit (Quit: Leaving) 2017-03-06T15:16:40Z whomasect quit (Ping timeout: 246 seconds) 2017-03-06T15:17:01Z Xach: no problem 2017-03-06T15:21:12Z al-damiri joined #lisp 2017-03-06T15:21:41Z sjl joined #lisp 2017-03-06T15:22:35Z EvW joined #lisp 2017-03-06T15:22:51Z MrBusiness joined #lisp 2017-03-06T15:23:26Z andrei_chifa joined #lisp 2017-03-06T15:23:53Z yrk joined #lisp 2017-03-06T15:24:34Z yrk quit (Changing host) 2017-03-06T15:24:34Z yrk joined #lisp 2017-03-06T15:26:06Z papachan quit (Quit: Saliendo) 2017-03-06T15:26:28Z rme left #lisp 2017-03-06T15:32:41Z wheelsucker joined #lisp 2017-03-06T15:34:01Z loke___ quit (Ping timeout: 240 seconds) 2017-03-06T15:34:43Z wtetzner joined #lisp 2017-03-06T15:35:26Z drewc quit (Ping timeout: 268 seconds) 2017-03-06T15:36:59Z dilated_dinosaur joined #lisp 2017-03-06T15:37:17Z Xach: oof. #.(cerce "foo" '(vector base-char)) is making my eyes hurt :~( 2017-03-06T15:37:18Z zooey quit (Remote host closed the connection) 2017-03-06T15:37:44Z zooey joined #lisp 2017-03-06T15:37:50Z larme quit (Quit: WeeChat 1.6) 2017-03-06T15:37:52Z phoe_: Xach: wat 2017-03-06T15:38:05Z phoe_: isn't this equivalent to "foo"? 2017-03-06T15:38:09Z phoe_: (this is a naive question) 2017-03-06T15:38:14Z Xach: phoe_: it's readable 2017-03-06T15:38:35Z phoe_: what do you mean? 2017-03-06T15:38:47Z Xach: phoe_: when sbcl prints a (simple?) base-string, it prints in a way for it to be readable back as a base string 2017-03-06T15:38:55Z Xach: "normal" strings are readable with just "foo" 2017-03-06T15:38:55Z phoe_: oh 2017-03-06T15:38:56Z phoe_: oooh 2017-03-06T15:39:06Z phoe_: wait, so SBCL pops out things like these 2017-03-06T15:39:09Z Xach: sbcl used to signal an error that base-strings couldn't be printed readably 2017-03-06T15:39:15Z phoe_: when you bind *print-readably* 2017-03-06T15:39:16Z Xach: I am not 100% sure of the details. 2017-03-06T15:39:30Z Xach: phoe_: possibly. i think i am within with-standard-io-syntax. 2017-03-06T15:40:03Z larme joined #lisp 2017-03-06T15:41:08Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-06T15:42:02Z wtetzner quit (Ping timeout: 240 seconds) 2017-03-06T15:45:16Z bpanthi joined #lisp 2017-03-06T15:46:18Z larme quit (Quit: WeeChat 1.6) 2017-03-06T15:47:08Z larme joined #lisp 2017-03-06T15:47:31Z drewc joined #lisp 2017-03-06T15:48:18Z chens joined #lisp 2017-03-06T15:49:37Z sjl quit (Ping timeout: 268 seconds) 2017-03-06T15:50:22Z sjl joined #lisp 2017-03-06T15:51:18Z larme quit (Client Quit) 2017-03-06T15:51:26Z honeymead joined #lisp 2017-03-06T15:52:43Z strelox quit (Remote host closed the connection) 2017-03-06T15:53:22Z larme joined #lisp 2017-03-06T15:54:00Z honeymead left #lisp 2017-03-06T15:54:20Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-06T16:00:38Z beach: Hawaiian time is looking more and more likely. :( 2017-03-06T16:01:13Z phoe_: beach: :( 2017-03-06T16:01:35Z cibs quit (Ping timeout: 240 seconds) 2017-03-06T16:01:44Z phoe_: If it turns out to be true, you will be the one interrogated for why you knew it before everyone else. 2017-03-06T16:01:51Z phoe_: You know that, right? 2017-03-06T16:02:24Z beach: I have no additional information. I just know that it is how authors sometimes reason. If you are late submitting, you check what time it is in Hawaii. 2017-03-06T16:02:34Z chens quit (Ping timeout: 268 seconds) 2017-03-06T16:02:51Z phoe_ nods. 2017-03-06T16:03:28Z cibs joined #lisp 2017-03-06T16:06:07Z [0x8b30cc] joined #lisp 2017-03-06T16:06:07Z [0x8b30cc] quit (Changing host) 2017-03-06T16:06:07Z [0x8b30cc] joined #lisp 2017-03-06T16:06:35Z splittist: Perhaps the committee deemed 2017 to be a leap year, giving them a whole extra day. 2017-03-06T16:07:28Z beach: Smart! And it compounds with the Hawaiian timezone idea. 2017-03-06T16:07:41Z phoe_: splittist: isn't February over? 2017-03-06T16:07:59Z flip214: there's another February bound to come. 2017-03-06T16:09:02Z beach: phoe_: Sure, but that means that March 6 is tomorrow. 2017-03-06T16:09:08Z phoe_: Damn. 2017-03-06T16:10:55Z flip214: perhaps they arranged a special timezone with the timezone-data maintainer... one that is +168 or so? 2017-03-06T16:11:10Z phoe_: does local-time support it yet? 2017-03-06T16:11:36Z wtetzner joined #lisp 2017-03-06T16:11:53Z [0x8b30cc] quit (Quit: Leaving) 2017-03-06T16:11:59Z dlowe: on unixy machines, local-time supports whatever is installed in /etc/localtime 2017-03-06T16:12:27Z manualcrank joined #lisp 2017-03-06T16:19:12Z sellout- joined #lisp 2017-03-06T16:19:13Z chens joined #lisp 2017-03-06T16:19:57Z chens quit (Read error: Connection reset by peer) 2017-03-06T16:20:29Z chens joined #lisp 2017-03-06T16:21:03Z bpanthi quit (Quit: bpanthi) 2017-03-06T16:24:01Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-06T16:25:17Z flamebeard quit (Quit: Leaving) 2017-03-06T16:25:37Z schjetne quit (Ping timeout: 246 seconds) 2017-03-06T16:26:50Z zooey quit (Remote host closed the connection) 2017-03-06T16:27:02Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-06T16:27:21Z zooey joined #lisp 2017-03-06T16:27:23Z drewc: I live on a small island, and "Island Time" is a real thing! The position of the sun is simply a guideline, not a steadfast rule. 2017-03-06T16:30:13Z nkhl joined #lisp 2017-03-06T16:32:52Z sjl quit (Ping timeout: 260 seconds) 2017-03-06T16:36:39Z szmer joined #lisp 2017-03-06T16:37:18Z impaktor: LiamH: Hi! Are you here? 2017-03-06T16:37:47Z impaktor: I have a GSLL question, I've been stuck for some time... 2017-03-06T16:38:12Z andrei_chifa joined #lisp 2017-03-06T16:38:21Z impaktor: I've written a minimal (not)-working example: https://github.com/impaktor/gsll-fit/blob/master/leastsq.lisp 2017-03-06T16:39:02Z impaktor: Problem is: when fitting a function I don't quite understand what the second argument is to the function to be fitted is. (See line 20). 2017-03-06T16:39:27Z LiamH: impaktor: Did you look at the GSLL examples? 2017-03-06T16:39:31Z impaktor: Which has something to do with settingp 2017-03-06T16:40:02Z impaktor: LiamH: I did a grep in the directory to find some examples, but they're sadly unreadable to me. 2017-03-06T16:40:30Z LiamH: BTW you can get the functionality of your grid-to-list with grid:content. It's also setfable I believe. 2017-03-06T16:40:38Z impaktor: Many key-functions/macros? it uses are defined elsewhere, it seems, to to a noob like me, it's like Greek. 2017-03-06T16:41:10Z impaktor: LiamH: thanks, I'll look into it. I stole that snippet from the CL:ANA package. 2017-03-06T16:41:31Z nkhl quit (Quit: Leaving) 2017-03-06T16:41:36Z impaktor: I tried looking at his examples, but I'm just crap at reading very long intricate nested code. 2017-03-06T16:42:59Z impaktor: (So, that example I linked above, is my attempt to port the GSL C-example for fit to GSLL). If you have any tips, I'd appreciate it. 2017-03-06T16:43:13Z trueneu quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2017-03-06T16:43:31Z LiamH: Take a look at the GSLL examples, which are mostly ports of the C examples. 2017-03-06T16:43:38Z nkhl joined #lisp 2017-03-06T16:44:30Z nkhl quit (Remote host closed the connection) 2017-03-06T16:44:38Z EvW quit (Ping timeout: 256 seconds) 2017-03-06T16:44:45Z nkhl joined #lisp 2017-03-06T16:44:57Z edgar-rft quit (Quit: edgar-rft) 2017-03-06T16:46:22Z attila_lendvai joined #lisp 2017-03-06T16:46:22Z attila_lendvai quit (Changing host) 2017-03-06T16:46:22Z attila_lendvai joined #lisp 2017-03-06T16:46:34Z nkhl quit (Remote host closed the connection) 2017-03-06T16:46:49Z nkhl joined #lisp 2017-03-06T16:47:48Z impaktor: LiamH: The one I could find in my quicklisp install is incredibly difficult to read. 2017-03-06T16:48:15Z impaktor: I don't understand what these defmpar, defmfun, defmobject thingys are, and they're everywhere. 2017-03-06T16:49:13Z impaktor: I think my code is as close to 1:1 with the C-example found on GSL site, and they look nothing like the provided example code, in solve-minimize-fit/minimization-multi.lisp. 2017-03-06T16:49:43Z LiamH: There should be one for the least squares function. 2017-03-06T16:49:45Z impaktor: (Anyway, I was hoping to use this in an article I'm publishing, as a complement to the matlab and python code I'm providing.) 2017-03-06T16:50:21Z LiamH: Does the example code use defmpar, defmfun, defmobject? 2017-03-06T16:52:15Z LiamH: Those are as far as I remember exclusive to the implementation of GSLL functions, and are not needed for their use. 2017-03-06T16:53:10Z LiamH: The example code, which is usually at the bottom of each file, should be free of those macros. 2017-03-06T16:53:22Z impaktor: Perhaps I'm looking in the wrong place, but in solve-minimize-fit/ they have a lot of those functions, if these are the examples you're referring to? 2017-03-06T16:53:54Z LiamH: Look at the end of the files for examples. Though should be labeled as such. 2017-03-06T16:54:18Z LiamH: It's possible that for s-m-f, they are in a separate file, I don't remember. 2017-03-06T16:54:24Z nkhl quit (Ping timeout: 260 seconds) 2017-03-06T16:56:01Z o1e9 quit (Quit: Ex-Chat) 2017-03-06T16:56:58Z LiamH: https://gitlab.common-lisp.net/antik/gsll/blob/master/solve-minimize-fit/linear-least-squares.lisp#L320 2017-03-06T16:56:59Z impaktor: LiamH: also, I signed up to the mailing list a few weeks ago, but I haven't received any confirmation, not sure if that is as it should be or not. 2017-03-06T16:57:32Z LiamH: I saw something that implied c-l.net emails are broken, don't know anything else about it. 2017-03-06T16:59:01Z LiamH: From that line down to the end of the file are examples. There is no defmpar etc. in that section of code. 2017-03-06T16:59:01Z nowhereman quit (Ping timeout: 240 seconds) 2017-03-06T16:59:19Z impaktor: LiamH: yes, I'm looking at the code, but there are so much that I don't understand. exponent-fit-data-n, exponent-fit-data-sigma, make-exponent-fit-data, etc. I assume these are defined elsewhere. 2017-03-06T17:00:23Z BlueRavenGT joined #lisp 2017-03-06T17:03:31Z attila_lendvai: a couple of weeks ago mails bounced from admin@clnet, and other addresses, too 2017-03-06T17:05:31Z Guest98519 quit (Remote host closed the connection) 2017-03-06T17:07:36Z shifty joined #lisp 2017-03-06T17:07:42Z impaktor: I've been at that code since December, I think I'll throw in the towel on it. 2017-03-06T17:07:52Z wtetzner quit (Ping timeout: 260 seconds) 2017-03-06T17:08:56Z sjl joined #lisp 2017-03-06T17:09:29Z spanglesontoast joined #lisp 2017-03-06T17:09:33Z spanglesontoast left #lisp 2017-03-06T17:09:48Z Guest66078 joined #lisp 2017-03-06T17:15:59Z Fare quit (Ping timeout: 260 seconds) 2017-03-06T17:17:30Z jmasseo_ is now known as jmasseo 2017-03-06T17:18:47Z Bike joined #lisp 2017-03-06T17:19:25Z shka_ joined #lisp 2017-03-06T17:28:09Z phoe_ hands beach the ukulele 2017-03-06T17:28:22Z varjag quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2017-03-06T17:28:39Z Guest66078 is now known as CrazEd 2017-03-06T17:28:49Z Lord_of_Life quit (Excess Flood) 2017-03-06T17:29:08Z CrazEd is now known as Guest90411 2017-03-06T17:30:21Z schjetne joined #lisp 2017-03-06T17:31:55Z beach: phoe_: https://www.youtube.com/watch?v=sfmAeijj5cM 2017-03-06T17:31:58Z Lord_of_Life joined #lisp 2017-03-06T17:32:54Z phoe_ is not disappointed. 2017-03-06T17:33:02Z phoe_ needs to hand beach the ukulele much more often. 2017-03-06T17:33:54Z the-blackbeard quit (Quit: Leaving) 2017-03-06T17:34:32Z mishoo quit (Quit: (save-lisp-and-die)) 2017-03-06T17:34:56Z Ven quit (Ping timeout: 260 seconds) 2017-03-06T17:37:05Z mishoo joined #lisp 2017-03-06T17:37:23Z Ven joined #lisp 2017-03-06T17:38:31Z snowcrshd joined #lisp 2017-03-06T17:41:31Z hhdave quit (Ping timeout: 240 seconds) 2017-03-06T17:46:54Z vaporatorius__ joined #lisp 2017-03-06T17:46:54Z vap1 quit (Read error: Connection reset by peer) 2017-03-06T17:46:55Z vaporatorius joined #lisp 2017-03-06T17:47:04Z szmer quit (Ping timeout: 260 seconds) 2017-03-06T17:51:02Z d4ryus: Xach: iam converting my escapted pathnames (which are directories) back with (format nil "~{/~a~}/" (cdr (pathname-directory directory))), am I going to hell for this? 2017-03-06T17:52:04Z d4ryus: Xach: i mean, it 'works' (needs a \ version on windows tho), but it feels like a hack 2017-03-06T17:53:57Z phoe_: this sounds like a case for UIOP 2017-03-06T17:54:31Z m00natic quit (Remote host closed the connection) 2017-03-06T17:55:19Z d4ryus: phoe_: actually iam using uiop to determine if directory or files exist 2017-03-06T17:56:20Z phoe_: isn't it, like 2017-03-06T17:56:21Z d4ryus: phoe_: but it throws a error if my filenames contain wildcards (* ? [) 2017-03-06T17:56:30Z phoe_: I see. 2017-03-06T17:56:35Z phoe_: so TRUENAME will fail? 2017-03-06T17:56:36Z phoe_: clhs truename 2017-03-06T17:56:36Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_tn.htm 2017-03-06T17:56:57Z edgar-rft joined #lisp 2017-03-06T18:00:39Z _death: d4ryus: (mapcar (lambda (x) (list x (documentation x 'function))) (apropos-list "NATIVE" "UIOP")) 2017-03-06T18:01:47Z circ-user-j35rB joined #lisp 2017-03-06T18:06:33Z d4ryus: thanks, need to read that up :) 2017-03-06T18:07:13Z BitPuffin|osx quit (Remote host closed the connection) 2017-03-06T18:14:15Z d4ryus: _death: uiop:native-namestring is exactly what i need, thanks. The whole pathname thing in lisp is so confusing. I guess its pretty awesome once I fully understand it^^ 2017-03-06T18:17:45Z nowhereman joined #lisp 2017-03-06T18:18:27Z hhdave joined #lisp 2017-03-06T18:19:34Z phoe_: d4ryus: blessed be the UIOP which makes pathnames bearable for us mortals 2017-03-06T18:19:50Z d4ryus: phoe_: :DD 2017-03-06T18:27:07Z hhdave quit (Quit: hhdave) 2017-03-06T18:29:14Z Guest90411 is now known as CrazEd 2017-03-06T18:29:43Z CrazEd is now known as Guest79035 2017-03-06T18:29:47Z neoncontrails quit (Read error: Connection reset by peer) 2017-03-06T18:30:09Z BitPuffin|osx joined #lisp 2017-03-06T18:30:42Z neoncontrails joined #lisp 2017-03-06T18:31:44Z szmer joined #lisp 2017-03-06T18:32:29Z rumbler3_ joined #lisp 2017-03-06T18:35:35Z ogamita quit (Ping timeout: 240 seconds) 2017-03-06T18:36:33Z EvW joined #lisp 2017-03-06T18:37:00Z rumbler3_ quit (Ping timeout: 260 seconds) 2017-03-06T18:37:28Z Ven quit (Ping timeout: 240 seconds) 2017-03-06T18:38:43Z Ven joined #lisp 2017-03-06T18:40:16Z wildlander joined #lisp 2017-03-06T18:45:29Z mr_robot quit (Quit: mr_robot) 2017-03-06T18:45:59Z mr_robot joined #lisp 2017-03-06T18:46:48Z nowhereman quit (Ping timeout: 260 seconds) 2017-03-06T18:49:09Z raynold joined #lisp 2017-03-06T18:51:13Z Guest64317 joined #lisp 2017-03-06T18:51:29Z didi joined #lisp 2017-03-06T18:51:58Z Einwq quit (Ping timeout: 264 seconds) 2017-03-06T18:54:30Z TruePika: meh, the release of Breath of the Wild has impacted my productivity with auto-atc 2017-03-06T18:54:44Z TruePika: and tracking down why the pathfinder takes so long to run 2017-03-06T18:54:59Z didi: I am indexing 1 number by 2 other numbers using cons cells as keys in a hashtable. I feel this is somewhat wasteful. Does anyone have a better data structure for this? I can't use an array of 2 dimensions as one of the dimensions have arbitrarily negative numbers and an alist sounds worse than cons cells as keys in a hashtable. 2017-03-06T18:55:35Z TruePika: hash of hashes? or that might be more wasteful 2017-03-06T18:55:36Z phoe_: didi: how many values does yout hashtable have? 2017-03-06T18:55:53Z Younder quit (Remote host closed the connection) 2017-03-06T18:56:23Z TruePika: alist would be slower than hash table for sufficiently large numbers of elements, where "sufficiently large" depends on the implementation of hash tables 2017-03-06T18:56:24Z didi: phoe_: Hum. Not many. But the hashtable is short-lived and I am worried about wasting cycles. 2017-03-06T18:56:36Z circ-user-j35rB quit (Ping timeout: 260 seconds) 2017-03-06T18:56:37Z TruePika: didi: what order of magnitude? 2017-03-06T18:56:49Z TruePika: (log 2, perferrably) 2017-03-06T18:56:50Z didi: Hum. 400? 2017-03-06T18:56:59Z Guest64317 quit (Read error: Connection reset by peer) 2017-03-06T18:57:21Z phoe_: How large are the numbers you're indexing by? 2017-03-06T18:57:22Z didi: I mean, 400 elements. 2017-03-06T18:57:22Z TruePika: 9 bits 2017-03-06T18:57:35Z phoe_: Arbitrarily negative, what do you mean by that? 2017-03-06T18:57:51Z didi: 20x20 2017-03-06T18:57:55Z TruePika: most-negative-fixnum ? 2017-03-06T18:58:03Z phoe_: woah. 2017-03-06T18:58:07Z didi: phoe_: I mean, I can't normalize by a negative number. 2017-03-06T18:58:32Z Younder joined #lisp 2017-03-06T18:58:36Z didi: My issue is that I call this function a lot and it dominates my time. 2017-03-06T18:58:55Z phoe_: Hm. 2017-03-06T18:59:14Z TruePika: well, try a rewrite of the function with alists and see if it runs any faster 2017-03-06T18:59:18Z phoe_: I wonder if some sort of SXHASH on a combination of the two numbers will give you a good hashing value. 2017-03-06T18:59:24Z sjl quit (Ping timeout: 260 seconds) 2017-03-06T18:59:33Z didi: TruePika: Fair. 2017-03-06T18:59:55Z didi: phoe_: Hum. 2017-03-06T18:59:58Z TruePika: I mean, again, it depends on the implementation of hash tables, but it doesn't hurt to try 2017-03-06T19:00:12Z varjag joined #lisp 2017-03-06T19:00:52Z TruePika: it might also be possible, depending on context, to get rid of the lookup altogether by restructuring the algorithm 2017-03-06T19:00:55Z phoe_: if these are fixnums, then you can try doing some modulo multiplication or exponentiation, which will be relatively cheap, and use this value as the hash key. 2017-03-06T19:01:26Z TruePika: it might also be worth it to ask what implementation you're using 2017-03-06T19:01:33Z didi: SBCL 2017-03-06T19:01:37Z didi: phoe_: They are. 2017-03-06T19:02:42Z phoe_: didi: good. multiply/exponentiate one by the other modulo length of your fixnum and check if it compiles without any bignum arithmetic. once you have this, you have your key. 2017-03-06T19:03:02Z didi: Specifically, I am implementing an algorithm to compute the edit distance between two strings, but I am trying to do better than O(mn). I am only interested if the distance is greater than a constant. 2017-03-06T19:03:15Z didi: phoe_: Thank you. 2017-03-06T19:04:09Z phoe_: didi: ha, I failed an exam about this on my university. 2017-03-06T19:04:17Z didi: :-) 2017-03-06T19:04:24Z TruePika: welp, I just looked at AUTO-ATC.PATHFINDER:ESTABLISH-PATH 2017-03-06T19:04:25Z phoe_: so I finally had a reason to remember anything from it. 2017-03-06T19:04:31Z TruePika: (which isn't even the pathfinder) 2017-03-06T19:04:53Z TruePika: I think a lot of it can be reduced with macros 2017-03-06T19:05:00Z circ-user-j35rB joined #lisp 2017-03-06T19:05:15Z phoe_ quit (Quit: Page closed) 2017-03-06T19:05:26Z Bike: what kind of edit distance? 2017-03-06T19:05:42Z didi: Bike: Levenshtein. 2017-03-06T19:05:43Z mishoo quit (Ping timeout: 268 seconds) 2017-03-06T19:05:59Z didi: i.e. addition, subtraction and substitution. 2017-03-06T19:06:10Z Bike: if i'm reading wikipedia correctly, n² is the best you can do unless some theory thing happens 2017-03-06T19:07:02Z didi: Bike: You can do better. I am implementing an algorithm from the paper "Algorithms for Approximate String Matching*" 2017-03-06T19:07:11Z Bike: oh ok. 2017-03-06T19:07:29Z didi: O(t * min(m, n)), giving a limit `t'. 2017-03-06T19:08:05Z TruePika: methinks he should hack some trace code into his A* impl to try to track what order nodes are being checked in 2017-03-06T19:08:36Z TruePika: err s`^methinks`/me thinks` 2017-03-06T19:08:42Z didi: If you're interested, my program is currently https://paste.debian.net/hidden/fbbe6881 2017-03-06T19:08:59Z MrBusiness is now known as MrBusiness3 2017-03-06T19:09:34Z Bike: yes, this definitely reads like something translated from a paper 2017-03-06T19:09:43Z didi: Hehehe. I know, right? 2017-03-06T19:15:53Z didi: Hum. I might try using `flet' and inline the auxiliary functions. 2017-03-06T19:15:54Z Jesin quit (Quit: Leaving) 2017-03-06T19:16:26Z didi: Or even stop function calling them. 2017-03-06T19:16:44Z MrBusiness3 quit (Quit: https://www.youtube.com/watch?v=xIIqYqtR1lY -- Suicide is Painless - Johnny Mandel) 2017-03-06T19:17:34Z szmer quit (Read error: Connection reset by peer) 2017-03-06T19:19:03Z Jesin joined #lisp 2017-03-06T19:19:10Z Jonsky joined #lisp 2017-03-06T19:22:12Z RedEight joined #lisp 2017-03-06T19:22:27Z Fare joined #lisp 2017-03-06T19:23:07Z bocaneri quit (Read error: Connection reset by peer) 2017-03-06T19:29:52Z Guest79035 is now known as CrazEd 2017-03-06T19:30:06Z Fare quit (Ping timeout: 256 seconds) 2017-03-06T19:30:21Z CrazEd is now known as Guest12003 2017-03-06T19:30:37Z fourier joined #lisp 2017-03-06T19:34:08Z szmer joined #lisp 2017-03-06T19:41:28Z fubar1020 joined #lisp 2017-03-06T19:42:04Z mejja joined #lisp 2017-03-06T19:45:15Z DGASAU joined #lisp 2017-03-06T19:45:31Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-06T19:47:48Z TDT quit (Ping timeout: 240 seconds) 2017-03-06T19:48:23Z TruePika: meh, I need to tighten up the heuristic function somehow 2017-03-06T19:48:54Z RedEight quit (Quit: leaving) 2017-03-06T19:49:07Z RedEight joined #lisp 2017-03-06T19:50:05Z szmer quit (Ping timeout: 240 seconds) 2017-03-06T19:50:22Z TDT joined #lisp 2017-03-06T19:51:18Z mishoo joined #lisp 2017-03-06T19:53:54Z RedEight quit (Client Quit) 2017-03-06T19:54:18Z RedEight joined #lisp 2017-03-06T19:55:28Z Jonsky quit (Ping timeout: 240 seconds) 2017-03-06T19:56:44Z EvW quit (Ping timeout: 256 seconds) 2017-03-06T19:58:45Z TruePika: okay, now the pathfinder actually takes into account the cost of issuing a command 2017-03-06T19:58:57Z TruePika: and appears to be running quickly in testing 2017-03-06T19:59:05Z ovidnis joined #lisp 2017-03-06T19:59:23Z andrei_chifa joined #lisp 2017-03-06T20:01:28Z TruePika: nope, just tried integration test, it is still far too slow 2017-03-06T20:01:37Z the-blackbeard joined #lisp 2017-03-06T20:02:24Z szmer joined #lisp 2017-03-06T20:02:56Z figitaki joined #lisp 2017-03-06T20:04:14Z szmer quit (Read error: Connection reset by peer) 2017-03-06T20:05:01Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-06T20:05:48Z Ven quit (Ping timeout: 240 seconds) 2017-03-06T20:07:59Z figitaki quit (Quit: Page closed) 2017-03-06T20:08:27Z slyrus joined #lisp 2017-03-06T20:09:11Z Ven joined #lisp 2017-03-06T20:10:44Z mwsb joined #lisp 2017-03-06T20:10:56Z EvW1 joined #lisp 2017-03-06T20:11:34Z chu quit (Ping timeout: 260 seconds) 2017-03-06T20:12:12Z TruePika notes the pathfinder is still working on a single path 2017-03-06T20:18:44Z andrei_chifa joined #lisp 2017-03-06T20:21:23Z lambda-smith quit (Quit: Konversation terminated!) 2017-03-06T20:22:11Z TruePika: 26,950 nodes were checked to find the path 2017-03-06T20:22:24Z TruePika: that feels a _bit_ excessive 2017-03-06T20:23:29Z szmer joined #lisp 2017-03-06T20:24:02Z szmer quit (Read error: Connection reset by peer) 2017-03-06T20:26:27Z lambda-smith joined #lisp 2017-03-06T20:30:31Z Guest12003 is now known as CrazEd 2017-03-06T20:30:52Z atgreen quit (Ping timeout: 260 seconds) 2017-03-06T20:31:01Z CrazEd is now known as Guest16998 2017-03-06T20:33:29Z shka_: TruePika: what you are doing? 2017-03-06T20:33:37Z nirved quit (Quit: Leaving) 2017-03-06T20:34:42Z shka_: something metric space related? 2017-03-06T20:35:01Z shka_: i may have a hint on that 2017-03-06T20:35:15Z shka_: with semi-working code ;-) 2017-03-06T20:35:29Z TruePika: shka_: bot for playing atc(6), pathfinder is an A* implementation. Code works, but is far too slow 2017-03-06T20:35:43Z shka_: not sure what is atc(6) 2017-03-06T20:36:13Z TruePika: right now I'm tracing the nodes the pathfinder checked to see if I can remove a large chunk of them 2017-03-06T20:36:42Z shka_: how you want to remove those? 2017-03-06T20:37:00Z shka_: do you use some kind of metric space? 2017-03-06T20:37:01Z TruePika: perferrably by tightening the heuristic function 2017-03-06T20:37:14Z TruePika: atc(6) _uses_ a metric space 2017-03-06T20:37:20Z shka_: ok 2017-03-06T20:37:29Z shka_: i have no idea what it is :D 2017-03-06T20:38:00Z shka_: anyway 2017-03-06T20:38:30Z shka_: perhaps data structure for finding nearest node in metric space can help you? 2017-03-06T20:38:47Z TruePika: ._. 2017-03-06T20:39:02Z TruePika: that...doesn't help at all 2017-03-06T20:39:14Z shka_: oh, ok 2017-03-06T20:39:24Z shka_: well, sorry 2017-03-06T20:39:33Z shka_: i thought i may help 2017-03-06T20:40:55Z angavrilov quit (Remote host closed the connection) 2017-03-06T20:41:02Z TruePika: hm, it appears that queues' priority queue uses a FIFO 2017-03-06T20:41:25Z TruePika: which results in something somewhat breadth-first, versus depth-first 2017-03-06T20:41:49Z TruePika: not sure how much of an impact a depth-first search would have yet, though 2017-03-06T20:42:28Z shka_: soooo, anyway 2017-03-06T20:42:39Z shka_: what EXACTLY atc(6) is? 2017-03-06T20:43:05Z TruePika: http://manpages.ubuntu.com/manpages/zesty/man6/atc.6.html 2017-03-06T20:43:33Z Xach: shka_: a very old video gam 2017-03-06T20:44:10Z szmer joined #lisp 2017-03-06T20:44:24Z shka_: ok 2017-03-06T20:44:41Z shka_: what path you are looking for? 2017-03-06T20:44:47Z shka_: from a to b? 2017-03-06T20:44:57Z fourier quit (Ping timeout: 240 seconds) 2017-03-06T20:45:00Z shka_: or something more complicated? 2017-03-06T20:45:54Z Blukunfando joined #lisp 2017-03-06T20:45:54Z TruePika: from a to b, in 3D space, considering the paths the plane can actually take, and considering other planes' positions 2017-03-06T20:46:13Z TruePika: I have each node in A* consisting of a position, time, and direction 2017-03-06T20:46:18Z shka_: do you search from one direction or from both at the same time? 2017-03-06T20:46:50Z TruePika: from origin to destination, not that it matters much 2017-03-06T20:46:58Z shka_: right 2017-03-06T20:47:09Z igajsin quit (Remote host closed the connection) 2017-03-06T20:47:10Z TruePika: (the bottleneck will just be in a different condition if I reverse the path) 2017-03-06T20:47:18Z shka_: it sounds interesting 2017-03-06T20:48:00Z shka_: probably that's why real flight control is not yet automatic :D 2017-03-06T20:48:02Z szmer quit (Read error: Connection reset by peer) 2017-03-06T20:48:14Z TruePika: Right now, it probably works, if you're willing to wait for ten minutes IRL to compute a path for landing (and I implement hacks so the game doesn't advance while Lisp is calculating) 2017-03-06T20:48:34Z TruePika: it depends on what you mean by "not yet automatic" 2017-03-06T20:48:45Z mwsb is now known as chu 2017-03-06T20:49:11Z shka_: TruePika: by searching from a and b i meant: search from both a and b at the same time 2017-03-06T20:49:25Z shka_: it reduces effective sphere you need to check 2017-03-06T20:49:51Z TruePika: but I'd need to know the arrival time at B in order to calculate where other planes are going to be 2017-03-06T20:50:10Z shka_: argh, crap 2017-03-06T20:50:17Z snowcrshd quit (Remote host closed the connection) 2017-03-06T20:50:39Z shka_: ok, it is enough for me 2017-03-06T20:50:43Z shka_: good night all! 2017-03-06T20:53:08Z neoncontrails quit (Remote host closed the connection) 2017-03-06T20:55:10Z TruePika decides to rerun the pathfinder, this time exposing the state hash tables for processing 2017-03-06T20:55:44Z phoe: beach: I think we're going for Hawaiian time, yes. 2017-03-06T21:00:35Z hvxgr quit (Quit: leaving) 2017-03-06T21:00:47Z hvxgr joined #lisp 2017-03-06T21:05:51Z askjfbd joined #lisp 2017-03-06T21:07:34Z Ven quit (Ping timeout: 260 seconds) 2017-03-06T21:07:48Z hvxgr quit (Quit: leaving) 2017-03-06T21:07:57Z hvxgr joined #lisp 2017-03-06T21:11:01Z specbot quit (Remote host closed the connection) 2017-03-06T21:11:01Z minion quit (Remote host closed the connection) 2017-03-06T21:11:15Z easye quit (Read error: Connection reset by peer) 2017-03-06T21:11:25Z neuronsong joined #lisp 2017-03-06T21:11:54Z sbodin joined #lisp 2017-03-06T21:16:27Z circ-user-j35rB quit (Ping timeout: 258 seconds) 2017-03-06T21:17:02Z Ven joined #lisp 2017-03-06T21:17:31Z circ-user-j35rB joined #lisp 2017-03-06T21:19:21Z minion joined #lisp 2017-03-06T21:19:23Z specbot joined #lisp 2017-03-06T21:19:48Z szmer joined #lisp 2017-03-06T21:20:09Z mejja quit (Quit: \ No newline at end of file) 2017-03-06T21:20:48Z minion quit (Remote host closed the connection) 2017-03-06T21:20:49Z specbot quit (Remote host closed the connection) 2017-03-06T21:21:44Z Ven quit (Ping timeout: 260 seconds) 2017-03-06T21:22:09Z Einwq joined #lisp 2017-03-06T21:22:16Z specbot joined #lisp 2017-03-06T21:22:17Z minion joined #lisp 2017-03-06T21:25:33Z Ven joined #lisp 2017-03-06T21:27:50Z hhdave joined #lisp 2017-03-06T21:31:04Z wisebit joined #lisp 2017-03-06T21:31:39Z Guest16998 is now known as CrazEd 2017-03-06T21:32:09Z CrazEd is now known as Guest68406 2017-03-06T21:32:16Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-06T21:33:36Z MrBusiness joined #lisp 2017-03-06T21:35:05Z askjfbd quit (Quit: Leaving) 2017-03-06T21:35:53Z cpt_nemo quit (*.net *.split) 2017-03-06T21:35:53Z Guest51168 quit (*.net *.split) 2017-03-06T21:36:58Z sbodin quit (Ping timeout: 264 seconds) 2017-03-06T21:37:20Z neoncontrails joined #lisp 2017-03-06T21:37:46Z trocado joined #lisp 2017-03-06T21:40:16Z cpt_nemo joined #lisp 2017-03-06T21:40:51Z Guest51168 joined #lisp 2017-03-06T21:41:41Z Guest51168 quit (*.net *.split) 2017-03-06T21:41:43Z wtetzner joined #lisp 2017-03-06T21:44:03Z sjl joined #lisp 2017-03-06T21:47:01Z Guest51168 joined #lisp 2017-03-06T21:47:24Z shka_ quit (Ping timeout: 260 seconds) 2017-03-06T21:47:50Z wisebit quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2017-03-06T21:51:36Z Ven quit (Ping timeout: 260 seconds) 2017-03-06T21:51:46Z milanj quit (Quit: Leaving) 2017-03-06T21:53:52Z didi: I don't understand the order of the expressions in (loop until (zerop x) for x from -1 collect x) = > (-1 0). I expected it to error because `until (zerop x)' happens before `from x from -1', so `x' is undefined. 2017-03-06T21:55:06Z Bike: i think you're not allowed to have for after until. 2017-03-06T21:55:13Z Bike: your implementation reordered it. 2017-03-06T21:55:15Z Ven joined #lisp 2017-03-06T21:55:24Z didi: Bike: Interesting. 2017-03-06T21:55:44Z didi: Thank you. 2017-03-06T22:00:37Z varjag: oh 2017-03-06T22:00:52Z varjag: which implemenation was hat 2017-03-06T22:00:55Z varjag: +t 2017-03-06T22:02:26Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-06T22:04:30Z jurov: clhs 6.1.2.1 2017-03-06T22:04:30Z specbot: Iteration Control: http://www.lispworks.com/reference/HyperSpec/Body/06_aba.htm 2017-03-06T22:04:44Z jurov: "All variables are initialized in the loop prologue." 2017-03-06T22:05:37Z jurov: so it's by spec, not by reordering 2017-03-06T22:06:19Z varjag: i remember reordering the termination clause to the top and it worked in sbcl and ccl 2017-03-06T22:06:37Z varjag: which of course might really be the land of undefined behaviour 2017-03-06T22:06:55Z varjag: let's see.. 2017-03-06T22:07:53Z varjag: oh, "When iteration control clauses are used in a loop, the corresponding termination tests in the loop body are evaluated before any other loop body code is executed. " 2017-03-06T22:08:16Z varjag: that explains it, my FORs weren't terminating 2017-03-06T22:09:18Z varjag: still one tiny step away from a bug 2017-03-06T22:10:17Z varjag: s/terminating/iterating 2017-03-06T22:10:47Z mishoo quit (Remote host closed the connection) 2017-03-06T22:11:09Z circ-user-j35rB quit (Ping timeout: 260 seconds) 2017-03-06T22:13:08Z jurov: but then why (until zerop x) was evaluated after (collect 0)? 2017-03-06T22:14:39Z mishoo joined #lisp 2017-03-06T22:15:03Z varjag: macroexpand might help 2017-03-06T22:16:23Z edgar-rft: I think because UNTIL ususally means 1) initialize stuff 2) execute one loop-block of code 3) UNTIL some condition is met 2017-03-06T22:17:14Z varjag: on ccl, it starts with "(BLOCK NIL (LET ((X -1)) ..." 2017-03-06T22:17:22Z varjag: which pretty much explains it all 2017-03-06T22:18:17Z jurov: i just suspect here clhs contradicts itself, and macroexpansion won't help to resolve this 2017-03-06T22:18:37Z Guest51168 quit (Ping timeout: 240 seconds) 2017-03-06T22:18:37Z Guest51168 joined #lisp 2017-03-06T22:19:09Z varjag: i don't see a contradiction here 2017-03-06T22:19:25Z neoncontrails quit (Remote host closed the connection) 2017-03-06T22:19:30Z varjag: maybe i misunderstand 2017-03-06T22:19:31Z szmer quit (Read error: Connection reset by peer) 2017-03-06T22:19:45Z jurov: 6.1.1.6 says "termination tests are executed generally just before the execution of the loop body." 2017-03-06T22:19:54Z neoncontrails joined #lisp 2017-03-06T22:20:10Z vibs29 quit (Ping timeout: 264 seconds) 2017-03-06T22:20:17Z jurov: but last example in 6.1.4.3 imples until caliuse was executed after collect 5 2017-03-06T22:20:47Z jurov: damn kbd fix: last example in 6.1.4.3 implies until clause was executed after collect 5 2017-03-06T22:21:58Z zygentoma joined #lisp 2017-03-06T22:22:24Z jurov: "Note that WHILE occurs after the WHEN." 2017-03-06T22:23:28Z RedEight quit (Read error: Connection reset by peer) 2017-03-06T22:23:31Z edgar-rft: jurov: the examples in the Hyperspec were added by Kent Pitman, they are *not* part of the ANSI specification. In case of doubt the text in 6.1.1.6 matters, not the examples. 2017-03-06T22:24:01Z neoncontrails quit (Ping timeout: 240 seconds) 2017-03-06T22:24:09Z RedEight joined #lisp 2017-03-06T22:24:25Z jurov: OK. Is there any implementation that strictly follows 6.1.1.6, then? SBCL nor ECL does... 2017-03-06T22:25:10Z jurov: And I think if they changed that, it would cause big havoc. 2017-03-06T22:26:58Z vibs29 joined #lisp 2017-03-06T22:28:24Z RedEight quit (Read error: Connection reset by peer) 2017-03-06T22:28:46Z edgar-rft: jurov: There is a chapter in CLtL2 where David Moon (creator of the loop macro) explains how it is intended to work. Maybe more details can be found there. 2017-03-06T22:29:11Z RedEight joined #lisp 2017-03-06T22:30:01Z edgar-rft: CLtL2 link: 2017-03-06T22:31:08Z edgar-rft: err: the chapter is from Jon L White 2017-03-06T22:31:15Z jurov: edgar-rft: Thanks. That one does not say anything abou termination tests, tho. 2017-03-06T22:31:56Z jurov: About order of their execution, only "clauses are executed in the order in which they appear in the source". 2017-03-06T22:32:12Z Guest68406 is now known as CrazEd 2017-03-06T22:32:41Z CrazEd is now known as Guest81277 2017-03-06T22:33:06Z rumbler3_ joined #lisp 2017-03-06T22:33:56Z |3b|: clisp's LOOP is relatively strict 2017-03-06T22:35:38Z ovidnis quit (Remote host closed the connection) 2017-03-06T22:36:43Z |3b|: and (loop for x from -1 until (zerop x) collect x) -> (-1) on sbcl if that's what you meant by 'follow 6.1.1.6' 2017-03-06T22:37:03Z |3b|: and " perform termination tests, generally just before the execution of the loop body. 2017-03-06T22:37:08Z rumbler3_ quit (Ping timeout: 240 seconds) 2017-03-06T22:37:47Z |3b|: applies to " Iteration control clauses implicitly perform the following actions: ", not all termination tests 2017-03-06T22:37:57Z jurov: ahh that's iunteresting. in the loop until.. case it does include 0 2017-03-06T22:38:18Z |3b|: right, that's nonconforming code though, so you get odd behavior 2017-03-06T22:38:32Z hhdave quit (Quit: hhdave) 2017-03-06T22:39:31Z |3b|: possibly since it is mixed in with the iteration control it gets moved with any implicit tests they add 2017-03-06T22:39:51Z |3b|: clhs 6.1.2.1 2017-03-06T22:39:52Z specbot: Iteration Control: http://www.lispworks.com/reference/HyperSpec/Body/06_aba.htm 2017-03-06T22:40:36Z jurov: "The iteration control clauses for, as, and repeat must precede any other loop clauses, except initially, with, and named," I see. 2017-03-06T22:40:47Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-06T22:40:54Z |3b|: clhs loop 2017-03-06T22:40:55Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_loop.htm 2017-03-06T22:41:25Z |3b|: also explicit in the grammar for LOOP, [name-clause] {variable-clause}* {main-clause}* 2017-03-06T22:42:23Z |3b|: hmm, grammar doesn't match that quote from 6.1.2.1, since it says you can mix them with initially as far as i can tel 2017-03-06T22:42:56Z |3b|: mix finally i mean 2017-03-06T22:43:24Z rumbler31 quit (Ping timeout: 268 seconds) 2017-03-06T22:43:53Z prole quit (Remote host closed the connection) 2017-03-06T22:44:06Z jurov: I went to search for lisp lint, found only the Lisp Critic. 2017-03-06T22:44:13Z jurov: But (lisp-critic:critique (loop until (zerop x) for x from -1 collect x)) was silent. 2017-03-06T22:44:47Z edgar-rft: maybe it didn't dare to tell you :-) 2017-03-06T22:45:31Z |3b|: full LOOP parser is a relatively big project, probably lots of easier things to add first :) 2017-03-06T22:45:43Z |3b|: (though there are existing parsers that could be used) 2017-03-06T22:48:32Z jurov: I see. 2017-03-06T22:49:00Z mishoo quit (Ping timeout: 256 seconds) 2017-03-06T22:49:07Z prxq joined #lisp 2017-03-06T22:57:07Z trueneu joined #lisp 2017-03-06T22:58:04Z pve quit (Ping timeout: 256 seconds) 2017-03-06T23:00:21Z fiddlerwoaroof: I think while and until are defined to execute at the point where they are used and not "before the loop body" 2017-03-06T23:00:37Z fiddlerwoaroof: clhs 6.1.4: "The while construct allows iteration to continue until the supplied form evaluates to false. The supplied form is reevaluated at the location of the while clause" 2017-03-06T23:00:52Z |3b|: right, but they aren't allowed in certain places 2017-03-06T23:01:22Z |3b|: so behavior in those cases isn't specified 2017-03-06T23:01:32Z fiddlerwoaroof: Yeah, they're only allowed in the loop bod 2017-03-06T23:01:34Z fiddlerwoaroof: y 2017-03-06T23:02:41Z edgar-rft: loop allows to solve easy problems in various complicated ways 2017-03-06T23:02:59Z gingerale quit (Remote host closed the connection) 2017-03-06T23:03:31Z fiddlerwoaroof: are the the stepping clauses part of the loop body? 2017-03-06T23:03:47Z fiddlerwoaroof: I think they are: "The loop body contains those forms that are executed during iteration, including application-specific calculations, termination tests, and variable stepping" 2017-03-06T23:04:20Z fiddlerwoaroof: Which would mean, basically, that while and until just can't be before initially/with or after a finally clause 2017-03-06T23:05:36Z |3b|: 6.1.2.1 and the grammar are both explicit about them not being allowed before FOR 2017-03-06T23:05:50Z |3b|: (and similar) 2017-03-06T23:16:28Z slyrus quit (Ping timeout: 240 seconds) 2017-03-06T23:18:24Z varjag quit (Ping timeout: 260 seconds) 2017-03-06T23:22:11Z fourier joined #lisp 2017-03-06T23:27:42Z Fare joined #lisp 2017-03-06T23:30:03Z quazimodo joined #lisp 2017-03-06T23:30:54Z trueneu quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2017-03-06T23:32:46Z Guest81277 is now known as CrazEd 2017-03-06T23:33:16Z CrazEd is now known as Guest64882 2017-03-06T23:34:08Z didi miss an infinity value in lisp 2017-03-06T23:36:26Z Cthulhux: depending on your chosen implementation, you might have one. e.g. https://common-lisp.net/project/cmucl/downloads/doc/cmu-user-old/extensions.html#toc7 2017-03-06T23:36:57Z fourier quit (Ping timeout: 240 seconds) 2017-03-06T23:37:15Z didi: So I implemented the cantor pairing function--maps 2 natural numbers to another one--so I wouldn't waste cons cells and I could use an eql hash-table but it ended up performing worse. Oh well. 2017-03-06T23:37:24Z didi: Cthulhux: Interesting. Thank you. 2017-03-06T23:37:36Z Cthulhux: :-) np 2017-03-06T23:37:54Z NeverDie quit (Quit: http://radiux.io/) 2017-03-06T23:41:11Z Einwq quit (Quit: Leaving) 2017-03-06T23:41:40Z NeverDie joined #lisp 2017-03-06T23:42:58Z zygentoma quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-03-06T23:43:08Z Harag quit (Ping timeout: 260 seconds) 2017-03-06T23:46:08Z ebrasca joined #lisp 2017-03-06T23:49:28Z Fare quit (Ping timeout: 240 seconds) 2017-03-06T23:51:37Z Harag joined #lisp 2017-03-06T23:53:54Z sellout- quit (Quit: Leaving.) 2017-03-06T23:54:44Z stepnem quit (Ping timeout: 256 seconds) 2017-03-06T23:56:12Z Harag quit (Ping timeout: 260 seconds) 2017-03-06T23:57:50Z yrk quit (Read error: Connection reset by peer) 2017-03-07T00:00:03Z prxq quit (Remote host closed the connection) 2017-03-07T00:00:05Z sjl quit (Ping timeout: 240 seconds) 2017-03-07T00:03:00Z LiamH quit (Quit: Leaving.) 2017-03-07T00:10:30Z jleija joined #lisp 2017-03-07T00:11:31Z BlueRavenGT quit (Ping timeout: 240 seconds) 2017-03-07T00:19:11Z handlex joined #lisp 2017-03-07T00:19:17Z atheris joined #lisp 2017-03-07T00:22:55Z aeth: Is it portable to do this? (defmacro (foo (bar baz &key (quux 42))) ...) 2017-03-07T00:23:21Z aeth: A flat lambda list doesn't produce a macro that's as readable imo 2017-03-07T00:27:02Z aeth: It looks like it is, via this: http://www.lispworks.com/documentation/HyperSpec/Body/03_dda.htm 2017-03-07T00:27:33Z handlex quit (Quit: handlex) 2017-03-07T00:27:34Z aeth: The wording confuses me, though, and there are no code examples. 2017-03-07T00:28:31Z chens quit (Ping timeout: 240 seconds) 2017-03-07T00:29:19Z fiddlerwoaroof: ping 2017-03-07T00:29:30Z cromachina joined #lisp 2017-03-07T00:30:22Z aeth: pong 2017-03-07T00:31:14Z fiddlerwoaroof: Trying to convince emacs to give up some memory so I can get some of the 4GB it's claimed back 2017-03-07T00:31:23Z fiddlerwoaroof: And ended up with a buffer in a strange state. 2017-03-07T00:31:45Z neoncontrails joined #lisp 2017-03-07T00:32:13Z aeth: 4 GB? 2017-03-07T00:32:42Z fiddlerwoaroof: erc is using 22% of my 16G of RAM 2017-03-07T00:33:05Z fiddlerwoaroof: I've flushed all the output buffers, without much effect 2017-03-07T00:33:23Z Guest64882 is now known as CrazEd 2017-03-07T00:33:29Z aeth: emacs is usually around 100 MB for me (12.5x bloat since the "Eight Megabytes and Constantly Swapping" joke was invented). 2017-03-07T00:33:31Z fourier joined #lisp 2017-03-07T00:33:47Z aeth: I guess the issue with ERC is that your IRC buffers get large? 2017-03-07T00:33:50Z fiddlerwoaroof: That sounds about right for normal developing sessions 2017-03-07T00:33:52Z CrazEd is now known as Guest9651 2017-03-07T00:33:55Z JuanDaugherty joined #lisp 2017-03-07T00:34:02Z fiddlerwoaroof: Clearing the buffers didn't help much 2017-03-07T00:37:35Z didi quit (Ping timeout: 240 seconds) 2017-03-07T00:38:05Z fourier quit (Ping timeout: 240 seconds) 2017-03-07T00:38:51Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-07T00:40:22Z aeth: There are several IRC libraries in Quicklisp. Perhaps one has enough features? Iirc, I played around with an IRC bot a long time ago using cl-irc. You would just need a way to log lines and display/write lines. 2017-03-07T00:44:36Z EvW1 quit (Ping timeout: 256 seconds) 2017-03-07T00:45:56Z aeth: beach (?) wrote a buffer for Second-Climacs that might be usable for an IRC client. https://github.com/robert-strandh/Cluffer 2017-03-07T00:49:27Z aeth: 4 GB for an IRC client is *really* bad RAM usage. 2017-03-07T00:50:17Z fiddlerwoaroof: Yeah, there really has to be something wrong :) 2017-03-07T00:50:33Z aeth: For comparison, I'm using about 30 MB (out of 512) for my IRC client 2017-03-07T00:52:16Z [X-Scale] joined #lisp 2017-03-07T00:52:31Z wildlander quit (Quit: Saliendo) 2017-03-07T00:53:36Z X-Scale quit (Ping timeout: 260 seconds) 2017-03-07T00:53:37Z [X-Scale] is now known as X-Scale 2017-03-07T00:57:09Z wheelsucker quit (Read error: Connection reset by peer) 2017-03-07T00:57:17Z wheelsucker joined #lisp 2017-03-07T00:59:27Z jamtho joined #lisp 2017-03-07T01:05:59Z hvn0413 joined #lisp 2017-03-07T01:06:20Z shdeng joined #lisp 2017-03-07T01:06:36Z FreeBirdLjj joined #lisp 2017-03-07T01:06:47Z hvn0413 quit (Read error: Connection reset by peer) 2017-03-07T01:09:31Z hvn0413 joined #lisp 2017-03-07T01:12:16Z cibs quit (Ping timeout: 260 seconds) 2017-03-07T01:12:19Z nowhereman joined #lisp 2017-03-07T01:14:08Z cibs joined #lisp 2017-03-07T01:15:02Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-07T01:15:12Z hvn0413 is now known as hvn0413_ 2017-03-07T01:17:03Z hvn0413_ is now known as hvn0413 2017-03-07T01:19:48Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-07T01:20:18Z FreeBirdLjj joined #lisp 2017-03-07T01:20:26Z Karl_Dscc quit (Remote host closed the connection) 2017-03-07T01:21:49Z RedEight quit (Quit: leaving) 2017-03-07T01:22:19Z hvn0413 quit (Quit: Mutter: www.mutterirc.com) 2017-03-07T01:32:07Z hvn0413 joined #lisp 2017-03-07T01:33:03Z rumbler31 joined #lisp 2017-03-07T01:33:04Z hvn0413 quit (Client Quit) 2017-03-07T01:33:33Z hvn0413 joined #lisp 2017-03-07T01:34:04Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-07T01:34:06Z Guest9651 is now known as CrazEd 2017-03-07T01:34:27Z hvn0413 quit (Remote host closed the connection) 2017-03-07T01:34:35Z CrazEd is now known as Guest19207 2017-03-07T01:34:40Z neoncontrails joined #lisp 2017-03-07T01:37:39Z rumbler31 quit (Ping timeout: 260 seconds) 2017-03-07T01:40:35Z hvn0413 joined #lisp 2017-03-07T01:41:00Z jameser joined #lisp 2017-03-07T01:43:34Z nelder quit (Quit: Leaving) 2017-03-07T01:46:24Z jamtho quit (Ping timeout: 260 seconds) 2017-03-07T01:50:17Z daniel-s joined #lisp 2017-03-07T01:56:53Z test1600 joined #lisp 2017-03-07T02:01:53Z travv0 joined #lisp 2017-03-07T02:02:37Z neoncontrails quit (Remote host closed the connection) 2017-03-07T02:03:12Z neoncontrails joined #lisp 2017-03-07T02:03:35Z chens joined #lisp 2017-03-07T02:07:08Z the-blackbeard quit (Quit: Leaving) 2017-03-07T02:07:40Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-07T02:14:09Z dpg joined #lisp 2017-03-07T02:25:08Z rocx joined #lisp 2017-03-07T02:26:54Z jason_m quit (Quit: Leaving) 2017-03-07T02:27:46Z manuel_ quit (Quit: manuel_) 2017-03-07T02:33:14Z fourier joined #lisp 2017-03-07T02:35:41Z TDT quit (Quit: TDT) 2017-03-07T02:37:25Z fourier quit (Ping timeout: 246 seconds) 2017-03-07T02:40:05Z FreeBird_ joined #lisp 2017-03-07T02:40:26Z Guest19207 is now known as CrazEd 2017-03-07T02:40:56Z CrazEd is now known as Guest57336 2017-03-07T02:41:21Z wtetzner quit (Remote host closed the connection) 2017-03-07T02:43:38Z TDT joined #lisp 2017-03-07T02:44:05Z defaultxr joined #lisp 2017-03-07T02:44:08Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2017-03-07T02:46:10Z defaultxr quit (Client Quit) 2017-03-07T02:46:42Z wtetzner joined #lisp 2017-03-07T02:47:58Z defaultxr joined #lisp 2017-03-07T02:52:54Z atheris quit (Remote host closed the connection) 2017-03-07T02:53:35Z sellout- joined #lisp 2017-03-07T02:54:12Z wtetzner quit (Remote host closed the connection) 2017-03-07T02:55:13Z bigos joined #lisp 2017-03-07T02:58:07Z atheris joined #lisp 2017-03-07T02:59:21Z adolf_stalin joined #lisp 2017-03-07T03:01:00Z bigos quit (Ping timeout: 260 seconds) 2017-03-07T03:07:04Z Fare joined #lisp 2017-03-07T03:08:57Z jameser_ joined #lisp 2017-03-07T03:11:05Z dpg quit (Ping timeout: 240 seconds) 2017-03-07T03:12:11Z jameser quit (Ping timeout: 258 seconds) 2017-03-07T03:14:41Z nrp3c quit (Quit: WeeChat 1.5) 2017-03-07T03:15:40Z glamas joined #lisp 2017-03-07T03:21:26Z glamas quit (Quit: Mutter: www.mutterirc.com) 2017-03-07T03:29:06Z jameser_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-07T03:31:43Z jameser joined #lisp 2017-03-07T03:33:48Z atheris quit (Ping timeout: 240 seconds) 2017-03-07T03:35:52Z BitPuffin|osx quit (Ping timeout: 246 seconds) 2017-03-07T03:41:20Z Guest57336 is now known as CrazEd 2017-03-07T03:41:49Z CrazEd is now known as Guest70630 2017-03-07T03:50:08Z sbodin joined #lisp 2017-03-07T03:50:17Z Harag joined #lisp 2017-03-07T03:50:33Z jealousmonk: (defun first-plus-x (x &rest numbers) (+ x (first numbers))) 2017-03-07T03:50:35Z jealousmonk: How can i rewrite this function to avoid the style-warning [sbcl] "This is not a NUMBER: NIL" about (first numbers) 2017-03-07T03:51:37Z rocx: because you're checking in numbers when there's a possibility of there not being any. 2017-03-07T03:53:03Z pillton: I think that is a bug. 2017-03-07T03:53:16Z Bike: no, rocx is right 2017-03-07T03:53:21Z TDT quit (Quit: TDT) 2017-03-07T03:53:25Z Bike: if numbers is nil (first numbers) will be nil 2017-03-07T03:53:37Z pillton: How is it any different to (defun my-fun (x y) (+ x y))? 2017-03-07T03:53:54Z Bike: because (first-plus-x 4) is valid? 2017-03-07T03:53:58Z rocx: because when you use &rest, there's a possibility that there won't be anything there. 2017-03-07T03:54:29Z rocx: no wait crap that's &optional 2017-03-07T03:54:31Z pillton: It still gives the error. 2017-03-07T03:54:46Z Bike: what still gives what error 2017-03-07T03:54:50Z pillton: Sorry. It still gives the warning when you check that the argument is non null. 2017-03-07T03:54:50Z jealousmonk: (unless (null numbers) ... ) doesn't work 2017-03-07T03:54:58Z jealousmonk: yep 2017-03-07T03:55:09Z rocx: what's the point of using &rest if you're just going to (car) it? i'd just use two args instead of dealing with the &rest. 2017-03-07T03:55:28Z pillton: Lets resolve this issue first before getting on to that one. 2017-03-07T03:55:56Z jealousmonk: rocx: the function is just an example 2017-03-07T03:56:25Z Bike: it goes through something called sb-c::%rest-ref, which is apparently enough to throw off the inference 2017-03-07T03:56:28Z Bike: weird 2017-03-07T03:57:04Z pillton: Ok. I'll submit the report. 2017-03-07T03:57:33Z ryanwatk` joined #lisp 2017-03-07T03:57:46Z Bike: so if you do (defun first-plus-x (x &rest numbers) (if (null numbers) numbers (+ x (first numbers)))) you don't get a warning because numbers is no longer a &more 2017-03-07T03:58:29Z Bike: (print numbers) (unless (null numbers) ...) also does it 2017-03-07T03:58:30Z Bike: how dumb 2017-03-07T03:59:20Z ryanwatkins quit (Ping timeout: 258 seconds) 2017-03-07T04:08:06Z Fare: wow, looks like I fixed ASDF and POIU after all. 2017-03-07T04:08:27Z Fare: lots of small details to get right that I'd never have guessed at first. 2017-03-07T04:14:40Z Harag quit (Remote host closed the connection) 2017-03-07T04:17:03Z FreeBird_ quit (Remote host closed the connection) 2017-03-07T04:31:21Z travv0 quit (Remote host closed the connection) 2017-03-07T04:34:05Z fourier joined #lisp 2017-03-07T04:38:36Z fourier quit (Ping timeout: 268 seconds) 2017-03-07T04:42:28Z Guest70630 is now known as CrazEd 2017-03-07T04:42:57Z CrazEd is now known as Guest58575 2017-03-07T04:45:56Z jlarocco joined #lisp 2017-03-07T04:49:18Z ebrasca quit (Remote host closed the connection) 2017-03-07T04:51:31Z sbodin quit (Ping timeout: 240 seconds) 2017-03-07T04:58:28Z mrcom joined #lisp 2017-03-07T05:07:59Z trocado quit (Remote host closed the connection) 2017-03-07T05:08:30Z learning joined #lisp 2017-03-07T05:12:34Z shka_ joined #lisp 2017-03-07T05:15:33Z FreeBirdLjj joined #lisp 2017-03-07T05:16:15Z tictac quit (Ping timeout: 260 seconds) 2017-03-07T05:18:55Z lambda-smith quit (Quit: Konversation terminated!) 2017-03-07T05:23:01Z nowhereman quit (Ping timeout: 240 seconds) 2017-03-07T05:24:46Z pullphinger joined #lisp 2017-03-07T05:25:55Z jealousmonk quit (Quit: Leaving) 2017-03-07T05:35:38Z circ-user-j35rB joined #lisp 2017-03-07T05:39:08Z rocx quit (Ping timeout: 260 seconds) 2017-03-07T05:41:28Z bigos joined #lisp 2017-03-07T05:42:40Z cibs quit (Ping timeout: 256 seconds) 2017-03-07T05:43:00Z Guest58575 is now known as CrazEd 2017-03-07T05:43:30Z CrazEd is now known as Guest49110 2017-03-07T05:44:10Z cibs joined #lisp 2017-03-07T05:44:48Z smokeink quit (Ping timeout: 260 seconds) 2017-03-07T05:45:10Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-07T05:45:30Z smokeink joined #lisp 2017-03-07T05:47:35Z learning quit (Remote host closed the connection) 2017-03-07T05:51:05Z defaultxr quit (Ping timeout: 240 seconds) 2017-03-07T05:55:50Z slyrus joined #lisp 2017-03-07T05:57:35Z bigos quit (Ping timeout: 240 seconds) 2017-03-07T05:58:15Z jack_rabbit joined #lisp 2017-03-07T05:58:41Z nkhl joined #lisp 2017-03-07T06:04:11Z dec0n joined #lisp 2017-03-07T06:06:41Z beach: Good morning everyone! 2017-03-07T06:07:26Z Harag joined #lisp 2017-03-07T06:09:54Z nanomonkey joined #lisp 2017-03-07T06:10:29Z circ-user-j35rB quit (Ping timeout: 268 seconds) 2017-03-07T06:11:21Z FreeBirdLjj joined #lisp 2017-03-07T06:14:20Z phoe: beach: morning. 2017-03-07T06:15:28Z FreeBirdLjj quit (Ping timeout: 246 seconds) 2017-03-07T06:17:37Z FreeBirdLjj joined #lisp 2017-03-07T06:18:03Z learning joined #lisp 2017-03-07T06:18:46Z otwieracz: http://paste.lisp.org/display/340790 Guys, could you please take a look? I've got some problems with metaclass I do not really understand. 2017-03-07T06:19:11Z otwieracz: (and having very little MOP experience does not help at all) 2017-03-07T06:19:28Z learning quit (Read error: Connection reset by peer) 2017-03-07T06:19:37Z Bike: what's the #|| for 2017-03-07T06:19:56Z learning joined #lisp 2017-03-07T06:20:16Z nyingen quit (Ping timeout: 260 seconds) 2017-03-07T06:20:46Z loke quit (Remote host closed the connection) 2017-03-07T06:20:54Z otwieracz: That's good question - it came from original author. It's however seen like inactive feature, though. 2017-03-07T06:21:04Z Bike: i mean there's no matching end comment. 2017-03-07T06:21:04Z nyingen joined #lisp 2017-03-07T06:21:14Z otwieracz: It's not a comment. 2017-03-07T06:21:24Z Bike: yes it is? that's what #|| does 2017-03-07T06:21:35Z otwieracz: But it's #+|| 2017-03-07T06:21:41Z Bike: oh my mistake 2017-03-07T06:21:46Z Bike: anyway here's my guess: you have slot-definition-initfunction returning T, which is not a function 2017-03-07T06:21:51Z bocaneri joined #lisp 2017-03-07T06:21:51Z Bike: so something interprets it as a function name 2017-03-07T06:21:52Z bocaneri quit (Max SendQ exceeded) 2017-03-07T06:22:18Z Bike: maybe do (constantly (slot-definition-presented slot)) instead 2017-03-07T06:23:08Z otwieracz: yep 2017-03-07T06:23:10Z otwieracz: now it's working. 2017-03-07T06:23:21Z otwieracz: but! 2017-03-07T06:23:21Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-07T06:23:28Z otwieracz: Something is still *very* wrong. :) 2017-03-07T06:24:04Z otwieracz: And here probably my lack of understanding of this code is the real issue - and even original author „hacked” it to work in his case… 2017-03-07T06:24:48Z FreeBirdLjj joined #lisp 2017-03-07T06:25:05Z beach` joined #lisp 2017-03-07T06:25:25Z otwieracz: However – right now, however having `:INITFORM NIL`: http://paste.lisp.org/display/340790#2 2017-03-07T06:25:36Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-07T06:25:49Z Bike: yeah, because... well 2017-03-07T06:26:03Z otwieracz: So the real problem is that by some reason it's doing something completely different than intended. :) 2017-03-07T06:26:13Z Bike: the class uses api-whatever as the class of its slots 2017-03-07T06:26:14Z FreeBirdLjj joined #lisp 2017-03-07T06:26:26Z Bike: and api-whatever has an initfunction that just returns whatever's in the slot's PRESENTED slot 2017-03-07T06:26:33Z Bike: so the regular initform is ignored 2017-03-07T06:26:42Z Bike: no idea what you want it to do, but that's what it is currently doing 2017-03-07T06:26:52Z otwieracz: So this is completely not what I'm doing. 2017-03-07T06:26:59Z otwieracz: What I am willing to do* 2017-03-07T06:27:11Z Bike: yeah, it seems like a weird thing to want to do. 2017-03-07T06:27:19Z otwieracz: What was intended, was to add `:PRESENTED` keyword to the slot definition. 2017-03-07T06:27:40Z beach quit (Disconnected by services) 2017-03-07T06:27:45Z Bike: i... think you can just take out the initfunction method? 2017-03-07T06:27:45Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-07T06:27:47Z beach` is now known as beach 2017-03-07T06:28:03Z Bike: going off a book i read years ago and then never used much, to be honest 2017-03-07T06:28:32Z otwieracz: So later I can look at #'SLOT-DEFINITION-PRESENTED to decide about sending this slot to the UI or not. 2017-03-07T06:28:54Z FreeBirdLjj joined #lisp 2017-03-07T06:28:56Z otwieracz: But without SLOT-DEFINITION-INITFUNCTION it's working like a charm 2017-03-07T06:29:03Z Bike: yeah, if that's all i don't think you need to worry about the slot initfunction at all. was it in the code you were copying? 2017-03-07T06:29:23Z otwieracz: Yes. 2017-03-07T06:29:28Z Bike: odd 2017-03-07T06:29:31Z jleija quit (Quit: leaving) 2017-03-07T06:29:56Z otwieracz: mrSpec: ↑ odd, you hear? :) 2017-03-07T06:32:52Z FreeBird_ joined #lisp 2017-03-07T06:33:40Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2017-03-07T06:33:47Z FreeBird_ quit (Read error: Connection reset by peer) 2017-03-07T06:33:57Z slyrus quit (Ping timeout: 240 seconds) 2017-03-07T06:34:27Z FreeBirdLjj joined #lisp 2017-03-07T06:35:03Z FreeBird_ joined #lisp 2017-03-07T06:35:15Z mrSpec: It is my old code… and thats strange because it worked where I used it (or I thought so, sorry :) ) 2017-03-07T06:35:56Z mrSpec: also this is why copy paste is bad! 2017-03-07T06:35:59Z Kaisyu joined #lisp 2017-03-07T06:38:03Z FreeBird_ quit (Read error: Connection reset by peer) 2017-03-07T06:38:46Z FreeBirdLjj quit (Ping timeout: 264 seconds) 2017-03-07T06:38:52Z FreeBird_ joined #lisp 2017-03-07T06:39:05Z mishoo joined #lisp 2017-03-07T06:39:15Z otwieracz: No, no. 2017-03-07T06:39:20Z otwieracz: Copy paste solves old issues! 2017-03-07T06:39:52Z Colleen quit (Ping timeout: 260 seconds) 2017-03-07T06:43:42Z Guest49110 is now known as CrazEd 2017-03-07T06:44:11Z CrazEd is now known as Guest42535 2017-03-07T06:48:18Z daniel-s quit (Quit: Konversation terminated!) 2017-03-07T06:51:12Z bocaneri joined #lisp 2017-03-07T06:54:18Z FreeBird_ quit (Remote host closed the connection) 2017-03-07T06:56:09Z test1600 quit (Quit: Leaving) 2017-03-07T06:57:36Z shka_ quit (Ping timeout: 260 seconds) 2017-03-07T06:59:10Z wheelsucker quit (Ping timeout: 256 seconds) 2017-03-07T07:04:36Z nanomonkey left #lisp 2017-03-07T07:07:05Z hvn0413 quit (Quit: Connection closed for inactivity) 2017-03-07T07:12:46Z loke joined #lisp 2017-03-07T07:15:42Z chens quit (Read error: Connection reset by peer) 2017-03-07T07:16:12Z chens joined #lisp 2017-03-07T07:17:42Z Fare quit (Ping timeout: 268 seconds) 2017-03-07T07:20:53Z aeth: Is there any drawback to storing 'foo instead of #'foo in an array and then (funcall (symbol-function (aref foo i)) instead of (funcall (aref foo i))? 2017-03-07T07:21:13Z aeth: Because with the former I can recompile the function and immediately see the results, with the latter I can't do that. 2017-03-07T07:25:07Z Bike: the drawback is the extra symbol-function call (which you can leave implicit) 2017-03-07T07:25:10Z Bike: it's not a huge drawback. 2017-03-07T07:27:46Z learning quit (Remote host closed the connection) 2017-03-07T07:28:12Z aeth: This is for responses to key presses. On the one hand, it feels very wasteful even though it probably doesn't matter. On the other hand, if I (funcall (symbol-function ...)) I can update actions while the game is running just by recompiling the function. 2017-03-07T07:29:17Z aeth: Bike: By leave implicit do you mean that it's conforming to all CLs to just say (funcall ...) and it'll implicitly add symbol-function? 2017-03-07T07:29:23Z Bike: yes 2017-03-07T07:29:27Z hvn0413 joined #lisp 2017-03-07T07:29:28Z aeth: Or is it like #'(lambda ...) where it's just all modern lisps? 2017-03-07T07:29:28Z Bike: (funcall '+ 4 5) => 9 2017-03-07T07:29:40Z Bike: uh, what 2017-03-07T07:29:50Z learning joined #lisp 2017-03-07T07:29:51Z aeth: #'(lambda ...) is apparently required in some older CLs 2017-03-07T07:29:57Z Bike: not if they're CL 2017-03-07T07:30:13Z learning quit (Client Quit) 2017-03-07T07:30:16Z aeth: According to the former ITA now Google CL style guide, Genera can't handle (lambda ...) without the #' iirc 2017-03-07T07:30:19Z Bike: which defines lambda as a macro 2017-03-07T07:30:24Z Bike: genera isn't conforming then 2017-03-07T07:30:44Z aeth: https://google.github.io/styleguide/lispguide.xml?showone=__FUN_vs.__FUN#__FUN_vs.__FUN 2017-03-07T07:31:20Z Bike: yeesh 2017-03-07T07:31:25Z aeth: Interestingly, that also answers my question! 2017-03-07T07:31:57Z Bike: i mean, even if you care about genera, you could just (defmacro lambda ...) somewhere 2017-03-07T07:32:21Z Bike: but yes, you can see the mention of d ynamic linking 2017-03-07T07:32:29Z aeth: Personally, I don't care about Genera because I doubt it supports OpenGL 2017-03-07T07:32:51Z Bike: yeah, yeah i'd say that's unlikely 2017-03-07T07:33:03Z flamebeard joined #lisp 2017-03-07T07:33:03Z Bike: anyway. (funcall symbol ...) is defined by the standard 2017-03-07T07:33:36Z aeth: I suppose dynamic linking is exactly what I want for input action functions because otherwise I wouldn't even make them functions. 2017-03-07T07:34:58Z cibs quit (Ping timeout: 268 seconds) 2017-03-07T07:36:38Z cibs joined #lisp 2017-03-07T07:40:30Z aeth: Ugh 68 characters before magit complains about the commit title. I envy the expressiveness that Twitter gives. 2017-03-07T07:41:41Z aeth: My problem is fixed though, so thanks. And all I had to do is replace "#'" strings with "'" strings. No fancy hacks needed like in C++... 2017-03-07T07:42:57Z nkhl quit (Ping timeout: 240 seconds) 2017-03-07T07:43:06Z aeth: It'd be easier to just make CL faster than to try turn C++ into CL. So much effort wasted. 2017-03-07T07:43:12Z loke: aeth: You can disable that warning. 2017-03-07T07:43:33Z loke: aeth: It's only there because that's how many characters Github displays by default. 2017-03-07T07:43:55Z aeth: loke: at some point though, other git UIs start complaining, and I can't disable those (like e.g. Github even though this project is on Gitlab) 2017-03-07T07:44:23Z loke: aeth: I pay zero attention to that limit, since it's way too short, and I've never had any problems. 2017-03-07T07:44:49Z aeth: I keep rewriting it until it fits. I managed to fit the summary of this conversation into "Use symbols for input-actions so they can be updated when recompiled" 2017-03-07T07:45:01Z Guest42535 is now known as CrazEd 2017-03-07T07:45:13Z aeth: I suppose I left off *while the game is running* but that should be fairly obvious from context. 2017-03-07T07:45:30Z CrazEd is now known as Guest22310 2017-03-07T07:45:36Z loke has just moved from 2×1080p displays to 2×1440p. 2017-03-07T07:45:41Z loke: Quite a lot nicer. 2017-03-07T07:46:43Z aeth: For terminals and emacs, I use the smallest font that's legible at 1080p on a 23" screen. Upping the DPI should help me greatly because then it wouldn't rely on anti-aliasing (and e.g. bold things don't really bold at this size, they just change shades) 2017-03-07T07:46:53Z FreeBirdLjj joined #lisp 2017-03-07T07:47:08Z angavrilov joined #lisp 2017-03-07T07:47:42Z stepnem joined #lisp 2017-03-07T07:48:34Z aeth: What bothers me with higher resolutions though is (1) no one has a reasonable max width, if they have it at all, in websites so I usually have to browse at 1280 width (2/3 screen split at 1080p), (2) gaming on Linux doesn't really look like it's 1440p-ready yet, for various reasons. 2017-03-07T07:49:47Z gingerale joined #lisp 2017-03-07T07:50:49Z aeth: But even when everyone is at 8k, tools will assume 100 (if that) characters for source, 64-80 (if that) characters for comments/commits/etc., etc. :p 2017-03-07T07:51:38Z FreeBirdLjj quit (Ping timeout: 258 seconds) 2017-03-07T07:53:56Z quazimodo quit (Ping timeout: 258 seconds) 2017-03-07T07:55:09Z flamebeard_ joined #lisp 2017-03-07T07:55:16Z FreeBirdLjj joined #lisp 2017-03-07T07:55:36Z Bike: https://pbs.twimg.com/media/C5XbyqZVYAAIIFM.jpg 2017-03-07T07:56:51Z mwsb joined #lisp 2017-03-07T07:57:23Z stepnem quit (Ping timeout: 260 seconds) 2017-03-07T07:57:31Z flamebeard quit (Ping timeout: 240 seconds) 2017-03-07T07:57:46Z flamebeard_ is now known as flamebeard 2017-03-07T07:58:05Z easye joined #lisp 2017-03-07T07:58:34Z chu quit (Ping timeout: 264 seconds) 2017-03-07T07:59:13Z stepnem joined #lisp 2017-03-07T08:00:24Z loke: aeth: max width in websites? Usually it's reasonably good at about 1400 pixels wide 2017-03-07T08:00:44Z aeth: Hex? It's the 64-bit era. We should have moved on to base 64 a long time ago. 2017-03-07T08:00:48Z loke: So my brower windows are usually around that size. Only an insane person would maximise windows :-) 2017-03-07T08:00:53Z TeMPOraL quit (Ping timeout: 260 seconds) 2017-03-07T08:02:01Z loke: My Emacs window is 164 characters wide. Anything over 140 is good. 2017-03-07T08:02:29Z loke has two emacs windows side-by-side with that size, which leavs enough room for a terminal on the left as well. 2017-03-07T08:02:34Z aeth: loke: In stumpwm it's very easy to split 2/3 1/3 because it rebalances when closing a middle split, so 1/2 1/4 1/4 becomes 2/3 1/3 when you close the middle 1/4 2017-03-07T08:02:35Z TeMPOraL joined #lisp 2017-03-07T08:02:57Z aeth: Technically, it's 1278 width, I guess because of a two pixel border 2017-03-07T08:03:50Z aeth: The only disadvantage is YouTube... the browser needs to be widened a bit for YouTube to get a larger video in. Other than that, everything works fine at 1280 width afaik. 2017-03-07T08:05:05Z loke: My desktop: 2017-03-07T08:05:06Z loke: https://goo.gl/photos/3GwvXUtYwHZk6r3n7 2017-03-07T08:05:08Z aeth: I use 1280 width all because it's the easiest thing to do in the only popular CL window manager... 2017-03-07T08:05:29Z varjag joined #lisp 2017-03-07T08:05:29Z terpri quit (Quit: Leaving) 2017-03-07T08:06:21Z aeth: foo.png? hah, the name leaked when downloaded 2017-03-07T08:06:35Z loke: aeth: Yeah, not very secret :-) 2017-03-07T08:10:17Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-07T08:11:05Z shaftoe quit (Ping timeout: 276 seconds) 2017-03-07T08:11:24Z shaftoe joined #lisp 2017-03-07T08:18:09Z Amplituhedron joined #lisp 2017-03-07T08:19:15Z mishoo_ joined #lisp 2017-03-07T08:19:33Z trueneu joined #lisp 2017-03-07T08:19:34Z Oladon1 quit (Ping timeout: 264 seconds) 2017-03-07T08:20:40Z mishoo quit (Ping timeout: 260 seconds) 2017-03-07T08:21:49Z FreeBird_ joined #lisp 2017-03-07T08:22:58Z CEnnis91 quit (Quit: Connection closed for inactivity) 2017-03-07T08:23:59Z FreeBir__ joined #lisp 2017-03-07T08:24:37Z FreeBirdLjj quit (Ping timeout: 246 seconds) 2017-03-07T08:27:12Z FreeBird_ quit (Ping timeout: 260 seconds) 2017-03-07T08:27:52Z Oladon joined #lisp 2017-03-07T08:29:08Z Harag quit (Ping timeout: 240 seconds) 2017-03-07T08:32:22Z FreeBirdLjj joined #lisp 2017-03-07T08:32:57Z FreeBir__ quit (Ping timeout: 240 seconds) 2017-03-07T08:37:41Z nirved joined #lisp 2017-03-07T08:46:07Z Guest22310 is now known as CrazEd 2017-03-07T08:46:30Z DrCode quit (Ping timeout: 268 seconds) 2017-03-07T08:46:37Z CrazEd is now known as Guest25273 2017-03-07T08:47:31Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-07T08:48:54Z FreeBirdLjj joined #lisp 2017-03-07T08:49:37Z nkhl joined #lisp 2017-03-07T08:55:32Z Harag joined #lisp 2017-03-07T08:57:49Z mazoe joined #lisp 2017-03-07T08:58:41Z mazoe: g'day 2017-03-07T09:02:27Z Amplituhedron quit (Ping timeout: 240 seconds) 2017-03-07T09:03:29Z hhdave joined #lisp 2017-03-07T09:03:50Z nkhl quit (Ping timeout: 256 seconds) 2017-03-07T09:07:08Z yeticry_ quit (Quit: leaving) 2017-03-07T09:07:31Z yeticry joined #lisp 2017-03-07T09:07:48Z hhdave quit (Ping timeout: 240 seconds) 2017-03-07T09:10:08Z malice` joined #lisp 2017-03-07T09:10:55Z nkhl joined #lisp 2017-03-07T09:11:42Z nkhl quit (Remote host closed the connection) 2017-03-07T09:12:09Z nkhl joined #lisp 2017-03-07T09:14:36Z mazoe quit (Ping timeout: 256 seconds) 2017-03-07T09:16:31Z dim: hi! has anyone heard about CL bindings for the Datadog API? http://docs.datadoghq.com/libraries/ 2017-03-07T09:18:12Z hhdave joined #lisp 2017-03-07T09:23:20Z pve joined #lisp 2017-03-07T09:23:40Z theBlackDragon quit (Ping timeout: 260 seconds) 2017-03-07T09:24:18Z pullphinger quit (Ping timeout: 260 seconds) 2017-03-07T09:24:19Z Oladon1 joined #lisp 2017-03-07T09:24:57Z Oladon quit (Ping timeout: 240 seconds) 2017-03-07T09:24:57Z bocaneri quit (Ping timeout: 240 seconds) 2017-03-07T09:24:57Z nullman quit (Ping timeout: 240 seconds) 2017-03-07T09:25:57Z Bike quit (Quit: leaving) 2017-03-07T09:25:58Z DeadTrickster quit (Ping timeout: 268 seconds) 2017-03-07T09:26:47Z nullman joined #lisp 2017-03-07T09:29:08Z nkhl quit (Ping timeout: 240 seconds) 2017-03-07T09:31:43Z pullphinger joined #lisp 2017-03-07T09:36:02Z theBlackDragon joined #lisp 2017-03-07T09:37:05Z hvn0413 quit (Quit: Connection closed for inactivity) 2017-03-07T09:37:46Z bocaneri joined #lisp 2017-03-07T09:43:05Z manuel_ joined #lisp 2017-03-07T09:43:27Z Lord_Nightmare quit (Ping timeout: 240 seconds) 2017-03-07T09:45:26Z manuel__ joined #lisp 2017-03-07T09:45:56Z Lord_Nightmare joined #lisp 2017-03-07T09:47:13Z Guest25273 is now known as CrazEd 2017-03-07T09:47:42Z CrazEd is now known as Guest61493 2017-03-07T09:47:48Z manuel_ quit (Ping timeout: 240 seconds) 2017-03-07T09:47:48Z manuel__ is now known as manuel_ 2017-03-07T09:49:02Z DeadTrickster joined #lisp 2017-03-07T09:50:50Z Karl_Dscc joined #lisp 2017-03-07T09:54:00Z DeadTrickster quit (Ping timeout: 260 seconds) 2017-03-07T09:57:17Z beach: fe[nl]ix: You are on the program committee. Do you know anything about when we will hear about our submissions? 2017-03-07T09:58:07Z nkhl joined #lisp 2017-03-07T09:59:11Z nkhl quit (Read error: Connection reset by peer) 2017-03-07T10:03:48Z jameser quit (Ping timeout: 260 seconds) 2017-03-07T10:04:07Z jamtho joined #lisp 2017-03-07T10:07:01Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-07T10:07:17Z DeadTrickster joined #lisp 2017-03-07T10:12:40Z DeadTrickster quit (Ping timeout: 260 seconds) 2017-03-07T10:13:00Z cibs quit (Ping timeout: 240 seconds) 2017-03-07T10:14:50Z cibs joined #lisp 2017-03-07T10:15:23Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-07T10:17:30Z chens quit (Remote host closed the connection) 2017-03-07T10:22:33Z andrei_chifa joined #lisp 2017-03-07T10:23:03Z DeadTrickster joined #lisp 2017-03-07T10:32:30Z jamtho quit (Ping timeout: 240 seconds) 2017-03-07T10:32:43Z drmeister: In a multithreaded environment - what threads get SIGINT's? 2017-03-07T10:32:44Z DeadTrickster quit (Ping timeout: 260 seconds) 2017-03-07T10:32:48Z krasnal quit (Ping timeout: 256 seconds) 2017-03-07T10:32:52Z Karl_Dscc quit (Remote host closed the connection) 2017-03-07T10:33:21Z Colleen joined #lisp 2017-03-07T10:34:04Z flip214: drmeister: unspecified. perhaps all, perhaps only one. 2017-03-07T10:34:25Z flip214: you can try to block all signals everywhere, and have one thread use a signalfd 2017-03-07T10:34:59Z drmeister: Thank you. 2017-03-07T10:38:06Z DeadTrickster joined #lisp 2017-03-07T10:39:20Z jdz quit (Ping timeout: 252 seconds) 2017-03-07T10:39:44Z vibs29 quit (Ping timeout: 260 seconds) 2017-03-07T10:44:06Z jdz joined #lisp 2017-03-07T10:44:21Z sjl joined #lisp 2017-03-07T10:44:30Z vibs29 joined #lisp 2017-03-07T10:44:35Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-03-07T10:45:33Z mwsb is now known as chu 2017-03-07T10:46:20Z XachX: aeth: funcall of a symbol can be faster. 2017-03-07T10:47:46Z schjetne quit (Ping timeout: 264 seconds) 2017-03-07T10:47:49Z Guest61493 is now known as CrazEd 2017-03-07T10:48:18Z CrazEd is now known as Guest72660 2017-03-07T10:50:59Z mazoe joined #lisp 2017-03-07T10:51:00Z o1e9 joined #lisp 2017-03-07T10:52:04Z Harag quit (Ping timeout: 256 seconds) 2017-03-07T10:55:59Z jameser joined #lisp 2017-03-07T10:57:15Z Karl_Dscc joined #lisp 2017-03-07T10:58:08Z beach: XachX: Under what circumstances? 2017-03-07T10:59:35Z XachX: beach: Duane Rettig explained allegro's system and it was clever and fit their needs. 2017-03-07T10:59:46Z XachX: I will try to find it. Google groups makes it difficult. 2017-03-07T11:00:07Z beach: OK, thanks! 2017-03-07T11:01:05Z vibs29 quit (Ping timeout: 240 seconds) 2017-03-07T11:02:20Z krasnal joined #lisp 2017-03-07T11:06:00Z vibs29 joined #lisp 2017-03-07T11:06:48Z iago joined #lisp 2017-03-07T11:07:15Z hvn0413 joined #lisp 2017-03-07T11:10:35Z vibs29 quit (Ping timeout: 258 seconds) 2017-03-07T11:12:58Z mazoe quit (Ping timeout: 264 seconds) 2017-03-07T11:16:32Z vibs29 joined #lisp 2017-03-07T11:16:35Z malice`: I was thinking of implementing Trie in CL and using CL structs for this task, as they seem lower-level, and hence, faster than CLOS classes(also, I would think of using functions and not methods for the same reason - method lookup is slower). Am I right, or is this "urban legend"? 2017-03-07T11:16:45Z Harag joined #lisp 2017-03-07T11:16:49Z attila_lendvai joined #lisp 2017-03-07T11:16:49Z attila_lendvai quit (Changing host) 2017-03-07T11:16:49Z attila_lendvai joined #lisp 2017-03-07T11:17:12Z Xach: malice`: structs and defun are faster than classes and defmethod. 2017-03-07T11:17:26Z Xach: malice`: structs are more of a pain to work with in development. 2017-03-07T11:17:39Z malice`: Xach: why ? 2017-03-07T11:17:57Z Xach: malice`: the consequences of redefining a struct are undefined. 2017-03-07T11:18:12Z malice`: Just that? 2017-03-07T11:18:32Z Xach: malice`: That is a biggie. 2017-03-07T11:19:08Z malice`: Right. 2017-03-07T11:19:22Z Xach: I change my mind and learn new things a lot when working on stuff. 2017-03-07T11:19:44Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-07T11:19:45Z Xach: One approach I sometimes use is to start with CLOS and generic functions and convert to structs later if speed is an issue. 2017-03-07T11:19:45Z Younder: Cant you wrap it in a package,remove the contents of the package, then reload? 2017-03-07T11:19:54Z Xach: That conversion hasn't happened to me yet. 2017-03-07T11:20:27Z p_l: Younder: not if you have code that depends directly on defstruct-generated accessors, afaik 2017-03-07T11:20:44Z malice`: Xach: thanks for the insight 2017-03-07T11:20:49Z p_l: Younder: well, code that isn't GCed when you drop the package 2017-03-07T11:20:51Z malice`: I might do as you say and see if CLOS is fast enough 2017-03-07T11:21:17Z Harag quit (Ping timeout: 268 seconds) 2017-03-07T11:21:30Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-07T11:22:57Z Harag joined #lisp 2017-03-07T11:24:15Z iago quit (Quit: Leaving) 2017-03-07T11:26:38Z mxb: Hey all, so I'm trying to get back into lisp and having a small issue. I have a defun which accept :key arguments and what I wish to return is an a-list of the arguments. It's basically an a-list constructor defun. 2017-03-07T11:27:01Z Xach: mxb: ok! 2017-03-07T11:27:35Z mxb: e.g. mkfoo(:price 100) would return '((price . 100) (otherarg . nil)) 2017-03-07T11:27:51Z mxb: But I think I'm messing up the quoting 2017-03-07T11:28:35Z chip-357457 joined #lisp 2017-03-07T11:28:56Z Xach: mxb: how so? 2017-03-07T11:30:03Z mxb: Xach: Because I want the argument key to be the key in the a-list. 2017-03-07T11:30:30Z Xach: mxb: what does your function look like now? (paste.lisp.org is a good place to share) 2017-03-07T11:30:34Z Xach: beach: I have found it 2017-03-07T11:32:04Z mxb: Xach: http://paste.lisp.org/display/340809 2017-03-07T11:32:05Z Xach: beach: https://groups.google.com/forum/#!msg/comp.lang.lisp/MDFpIPOn2lQ/23_NQ20L8EIJ 2017-03-07T11:32:25Z mxb: Now I know that I'm quoting both lists to pairlis, so I expect that return value 2017-03-07T11:32:50Z mxb: But foo isn't a function, so I don't know how to do the second list. 2017-03-07T11:32:57Z Xach: mxb: if you want the value of the variable, you could use (list foo bar) instead of (quote foo bar) - which is what '(foo bar) means. 2017-03-07T11:33:06Z Xach: or rather (quote (foo bar)) 2017-03-07T11:33:10Z Harag quit (Quit: Harag) 2017-03-07T11:33:54Z Xach: beach: I think there is another article explaining on the topic, digging a bit. 2017-03-07T11:33:58Z chip-357457 quit (Ping timeout: 246 seconds) 2017-03-07T11:34:01Z mxb: Xach: Ahhhh, of course! I need a list of the arguments! My lisp is so rusty! Thans 2017-03-07T11:34:10Z Xach: mxb: no problem 2017-03-07T11:35:21Z Xach: mxb: sometimes I use this: (defun alistify (&rest args &key &allow-other-keys) (loop for (k v) on args by #'cddr collect (cons k v))) 2017-03-07T11:35:39Z Xach: (alistify :foo "bar") => ((:FOO . "bar")) 2017-03-07T11:35:47Z chip-357457 joined #lisp 2017-03-07T11:36:05Z Xach: the &key enforces key/value pairs. 2017-03-07T11:36:16Z andrei_chifa joined #lisp 2017-03-07T11:38:02Z Guest27116 quit (Quit: WeeChat 0.3.8) 2017-03-07T11:38:18Z mxb: Xach: nice, thanks 2017-03-07T11:39:57Z mishoo_ quit (Ping timeout: 240 seconds) 2017-03-07T11:40:12Z jameser joined #lisp 2017-03-07T11:42:52Z Xach considers making a Usenet Legend archive of duane rettig stuff 2017-03-07T11:43:15Z beach: Xach: Thanks. 2017-03-07T11:47:08Z m00natic joined #lisp 2017-03-07T11:47:50Z mishoo joined #lisp 2017-03-07T11:48:24Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-07T11:48:27Z Guest72660 is now known as CrazEd 2017-03-07T11:48:32Z shdeng quit (Quit: Leaving) 2017-03-07T11:48:56Z CrazEd is now known as Guest73010 2017-03-07T11:50:46Z beach: Xach: Yeah, that article doesn't explain why it would be slower to call the function object directly as opposed to going through the symbol. I can see how (fun ...) could be faster than (funcall #'fun ...) but not how (funcall 'fun ...) could be faster than (funcall #'fun ...). 2017-03-07T11:52:39Z jackdaniel: beach: I think that (funcall 'fun …) has to do lookup at the time of invocation what function is fbound to symbol, while (funcall #'fun …) – function may be resolved at the compilation time 2017-03-07T11:55:41Z chip-357457 quit (Read error: Connection reset by peer) 2017-03-07T11:56:27Z mishoo quit (Ping timeout: 240 seconds) 2017-03-07T11:57:02Z phoe: ^ 2017-03-07T11:57:40Z phoe: funcall 'fun is useful whenever you want/need to modify functions at runtime 2017-03-07T11:59:03Z beach: jackdaniel: Yes, but Xach said that sometimes (funcall 'fun ...) is faster than (funcall #'fun ...) which is what I am wondering about. 2017-03-07T12:00:26Z Xach: beach: I can't find the article I thought I saw. I think I was mistaken about it. 2017-03-07T12:00:38Z beach: Oh. :( 2017-03-07T12:00:41Z Xach: It may be that the article about funcalling IF was what I remembered. 2017-03-07T12:00:54Z schjetne joined #lisp 2017-03-07T12:00:54Z beach: OK. No problem. 2017-03-07T12:01:20Z jackdaniel: ah, I thought you had a doubt about the other way around 2017-03-07T12:01:23Z jackdaniel: misread apparently 2017-03-07T12:02:09Z phoe: Xach: funcalling if might be a bit faster if the implementation can support branch prediction in this case 2017-03-07T12:02:14Z malice`: mxb: hi 2017-03-07T12:02:19Z malice`: mxb: I've noticed your function 2017-03-07T12:02:25Z malice`: And also Xach's attempt 2017-03-07T12:02:27Z phoe: but this is a tricky optimization 2017-03-07T12:02:28Z mishoo joined #lisp 2017-03-07T12:02:30Z malice`: There is another clever way to do this 2017-03-07T12:02:34Z phoe: and somewhat rare as well 2017-03-07T12:02:44Z malice`: You simply use &rest and &key to help you, and you get one-liner: 2017-03-07T12:02:52Z beach: phoe: How does branch prediction make calling a function though a symbol faster than calling the function object directly? 2017-03-07T12:02:57Z malice`: (defun alistify (&rest args &key a b c) args) 2017-03-07T12:02:58Z malice`: voila! 2017-03-07T12:03:05Z malice`: Xach: ^ 2017-03-07T12:03:24Z malice`: mxb: If you like it and want to see how it works, check out http://www.gigamonkeys.com/book/functions.html 2017-03-07T12:03:25Z Xach: malice`: Very nice! But also very wrong. 2017-03-07T12:03:36Z malice`: Xach: Thanks! Why is it wrong? :) 2017-03-07T12:03:46Z Xach: malice`: try it and see the differences. 2017-03-07T12:03:59Z malice`: It doesn't return the list of list of arguments, is that it? 2017-03-07T12:04:02Z phoe: beach: (funcall (if ...)) 2017-03-07T12:04:15Z phoe: I did not say that funcall ' is faster than funcall #'. 2017-03-07T12:04:23Z phoe: Because I really doubt that ' is faster than #' in this case. 2017-03-07T12:04:27Z Xach: phoe: did you read the usenet article I mentioned? 2017-03-07T12:04:35Z Xach: phoe: it establishes the context of funcalling if... 2017-03-07T12:06:13Z mxb: malice`: yes, they return different things ((:A "foo" :B 'BLACK)) [Xach, mine] vs (:A "foo" :B BLACK) [yours] 2017-03-07T12:06:33Z Xach: no... 2017-03-07T12:06:37Z mxb: oops 2017-03-07T12:06:40Z mxb: I pasted the wrong one 2017-03-07T12:07:03Z mxb: ((A . "foo") (B . BLACK)) 2017-03-07T12:07:16Z Xach: that is an alist 2017-03-07T12:07:19Z malice`: Ah, that's what you're after. 2017-03-07T12:07:46Z malice`: Sorry, I've only noticed an example of one argument and assumed different goal. 2017-03-07T12:08:13Z malice`: Well, at least you know that this exist :) You can now use &rest and &key to get it too without any problem. 2017-03-07T12:08:20Z beach wonders why people argue with him and then state exactly what he himself stated in the beginning. 2017-03-07T12:08:37Z malice`: I believe that PG's On Lisp contained some function that would transform a list of elements into list of n-elements lists 2017-03-07T12:08:44Z malice`: so you could do that this way too 2017-03-07T12:08:56Z malice`: Anyway, sorry if I caused a small chaos 2017-03-07T12:09:47Z Xach: beach: attention to detail 2017-03-07T12:10:08Z beach: Xach: Yeah. This is IRC. 2017-03-07T12:10:42Z beach: malice`: The other problem is what happens when you call (fun :a "foo" :b "bar" :a "baz"). Then the answer will be different if you use the &rest parameter compared to if you use each keyword parameter. 2017-03-07T12:11:12Z hvxgr quit (Ping timeout: 260 seconds) 2017-03-07T12:11:20Z beach: ... even if you transform the &rest parameter to an alist. 2017-03-07T12:12:05Z d4ryus1 joined #lisp 2017-03-07T12:12:14Z beach: phoe: Nobody suggested (funcall (if ...) ...) 2017-03-07T12:12:53Z hvxgr joined #lisp 2017-03-07T12:15:13Z d4ryus quit (Ping timeout: 260 seconds) 2017-03-07T12:17:30Z malice`: beach: Ah, that's right. Thanks for the warning! 2017-03-07T12:17:35Z phoe: beach: oh. 2017-03-07T12:17:43Z phoe: Then I must have read wrong. 2017-03-07T12:21:27Z GK___1wm____SU joined #lisp 2017-03-07T12:23:22Z GK___1wm____SU quit (K-Lined) 2017-03-07T12:30:19Z prole joined #lisp 2017-03-07T12:33:42Z iago joined #lisp 2017-03-07T12:34:25Z raynold quit (Quit: Connection closed for inactivity) 2017-03-07T12:35:55Z snowcrshd joined #lisp 2017-03-07T12:37:57Z dpg joined #lisp 2017-03-07T12:44:16Z pullphinger quit 2017-03-07T12:46:29Z dtornabene joined #lisp 2017-03-07T12:49:04Z Guest73010 is now known as CrazEd 2017-03-07T12:49:33Z CrazEd is now known as Guest12315 2017-03-07T12:55:02Z mishoo quit (Ping timeout: 256 seconds) 2017-03-07T12:55:42Z yrk joined #lisp 2017-03-07T12:56:40Z yrk quit (Changing host) 2017-03-07T12:56:40Z yrk joined #lisp 2017-03-07T12:59:33Z dpg quit (Ping timeout: 260 seconds) 2017-03-07T13:06:30Z attila_lendvai quit (Quit: Leaving.) 2017-03-07T13:06:34Z attila_lendvai1 joined #lisp 2017-03-07T13:06:34Z attila_lendvai1 is now known as attila_lendvai 2017-03-07T13:06:34Z attila_lendvai quit (Changing host) 2017-03-07T13:06:34Z attila_lendvai joined #lisp 2017-03-07T13:09:56Z ffa joined #lisp 2017-03-07T13:09:57Z hydan joined #lisp 2017-03-07T13:13:20Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-07T13:14:54Z dmiles quit (Read error: Connection reset by peer) 2017-03-07T13:16:33Z dmiles joined #lisp 2017-03-07T13:16:42Z jameser joined #lisp 2017-03-07T13:17:04Z hvn0413 quit (Quit: Connection closed for inactivity) 2017-03-07T13:22:16Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-07T13:28:09Z Harag joined #lisp 2017-03-07T13:28:15Z jameser joined #lisp 2017-03-07T13:29:26Z phoe: Has anyone got any ELS notification mail? 2017-03-07T13:33:53Z lambda-smith joined #lisp 2017-03-07T13:39:20Z sjl: not me 2017-03-07T13:40:19Z zooey quit (Ping timeout: 240 seconds) 2017-03-07T13:42:03Z Fare joined #lisp 2017-03-07T13:42:10Z PuercoPop: 08:40 [06:35:10] Xach: Because I want the argument key to be the key in the a-list. 2017-03-07T13:42:24Z PuercoPop: sorry irc client error 2017-03-07T13:46:29Z zooey joined #lisp 2017-03-07T13:47:00Z nowhereman joined #lisp 2017-03-07T13:49:17Z Fare quit (Ping timeout: 258 seconds) 2017-03-07T13:49:36Z Guest12315 is now known as CrazEd 2017-03-07T13:50:05Z CrazEd is now known as Guest2813 2017-03-07T13:50:45Z rumbler31 joined #lisp 2017-03-07T13:51:28Z kolko quit (Ping timeout: 260 seconds) 2017-03-07T13:54:23Z dtornabene is now known as cognotronicist 2017-03-07T13:55:22Z ffa quit (Ping timeout: 246 seconds) 2017-03-07T13:56:40Z loke___ joined #lisp 2017-03-07T13:59:28Z jameser quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-07T14:03:07Z CEnnis91 joined #lisp 2017-03-07T14:04:24Z snowcrshd_ joined #lisp 2017-03-07T14:05:05Z snowcrshd quit (Ping timeout: 240 seconds) 2017-03-07T14:05:25Z jameser joined #lisp 2017-03-07T14:05:42Z kolko joined #lisp 2017-03-07T14:07:25Z ffa joined #lisp 2017-03-07T14:09:22Z sellout- quit (Quit: Leaving.) 2017-03-07T14:09:38Z BitPuffin|osx joined #lisp 2017-03-07T14:12:10Z LiamH joined #lisp 2017-03-07T14:12:45Z smokeink quit (Quit: Lost terminal) 2017-03-07T14:13:36Z smokeink joined #lisp 2017-03-07T14:17:39Z shifty quit (Ping timeout: 268 seconds) 2017-03-07T14:18:48Z cromachina quit (Read error: Connection reset by peer) 2017-03-07T14:19:10Z rippa joined #lisp 2017-03-07T14:19:34Z phoe: "Unfortunately one of the reviewers did not submit his reviews, and is not responding to our emails..." 2017-03-07T14:19:38Z phoe: ELS news. 2017-03-07T14:19:42Z phoe: flip214: jackdaniel: beach: 2017-03-07T14:19:44Z phoe: I' 2017-03-07T14:19:52Z sjl quit (Ping timeout: 246 seconds) 2017-03-07T14:19:56Z phoe: I'll keep you updated when I know something more. 2017-03-07T14:20:21Z beach: Oh. 2017-03-07T14:20:49Z beach: Did you get this by email? 2017-03-07T14:21:38Z sjl joined #lisp 2017-03-07T14:25:40Z the-blackbeard joined #lisp 2017-03-07T14:28:07Z TDT joined #lisp 2017-03-07T14:29:45Z strelox joined #lisp 2017-03-07T14:31:10Z phoe: Yes. 2017-03-07T14:31:17Z phoe: From the ELS programme chair. 2017-03-07T14:31:35Z beach: As an answer to one of yours, or spontaneously. 2017-03-07T14:31:36Z beach: ? 2017-03-07T14:32:40Z jerme joined #lisp 2017-03-07T14:34:48Z drewc quit (Ping timeout: 240 seconds) 2017-03-07T14:35:17Z rocx joined #lisp 2017-03-07T14:39:48Z phoe: Answer to mine. 2017-03-07T14:41:08Z bigos joined #lisp 2017-03-07T14:41:41Z splittist: ELS clearly needs one of those IsItHeldUpOrJustMe services/websites... 2017-03-07T14:42:20Z Karl_Dscc quit (Remote host closed the connection) 2017-03-07T14:42:53Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-07T14:44:13Z jameser joined #lisp 2017-03-07T14:48:03Z jameser quit (Client Quit) 2017-03-07T14:48:08Z drewc joined #lisp 2017-03-07T14:49:48Z chens joined #lisp 2017-03-07T14:50:14Z Guest2813 is now known as CrazEd 2017-03-07T14:50:43Z CrazEd is now known as Guest98309 2017-03-07T14:51:26Z Fare joined #lisp 2017-03-07T14:51:51Z mishoo joined #lisp 2017-03-07T14:53:32Z jealousmonk joined #lisp 2017-03-07T14:55:16Z eschatologist quit (Ping timeout: 268 seconds) 2017-03-07T14:55:26Z eschatologist joined #lisp 2017-03-07T14:58:14Z schpprke joined #lisp 2017-03-07T14:59:35Z kolko_ joined #lisp 2017-03-07T15:00:18Z kolko quit (Ping timeout: 260 seconds) 2017-03-07T15:01:10Z mr_robot quit (Quit: mr_robot) 2017-03-07T15:04:27Z mikaelj quit (Ping timeout: 240 seconds) 2017-03-07T15:04:44Z mikaelj joined #lisp 2017-03-07T15:04:58Z gigetoo quit (Ping timeout: 260 seconds) 2017-03-07T15:05:22Z bigos quit (Ping timeout: 256 seconds) 2017-03-07T15:05:57Z gigetoo joined #lisp 2017-03-07T15:13:27Z Einwq joined #lisp 2017-03-07T15:15:07Z ogamita joined #lisp 2017-03-07T15:17:40Z dec0n quit (Read error: Connection reset by peer) 2017-03-07T15:28:55Z al-damiri joined #lisp 2017-03-07T15:29:17Z wheelsucker joined #lisp 2017-03-07T15:29:45Z BlueRavenGT joined #lisp 2017-03-07T15:32:55Z fiddlerwoaroof: Xach: I remember seeing the article about funcalling the symbol being faster too 2017-03-07T15:32:58Z varjag quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2017-03-07T15:33:02Z fiddlerwoaroof: And not just a usenet post 2017-03-07T15:33:16Z XachX: fiddlerwoaroof: hmm 2017-03-07T15:33:37Z fiddlerwoaroof: But, my memory sometimes tricks me :) 2017-03-07T15:36:50Z chens` joined #lisp 2017-03-07T15:37:42Z chens` quit (Read error: Connection reset by peer) 2017-03-07T15:38:05Z loke___ quit (Ping timeout: 240 seconds) 2017-03-07T15:38:18Z chens` joined #lisp 2017-03-07T15:38:35Z yeticry quit (Ping timeout: 240 seconds) 2017-03-07T15:39:06Z splittist: The ILC'07 workshop? 2017-03-07T15:40:03Z yeticry joined #lisp 2017-03-07T15:40:38Z BitPuffin|osx quit (Remote host closed the connection) 2017-03-07T15:41:10Z chens quit (Ping timeout: 264 seconds) 2017-03-07T15:41:18Z GK___1wm____SU joined #lisp 2017-03-07T15:41:43Z BitPuffin|osx joined #lisp 2017-03-07T15:41:57Z drewc quit (Ping timeout: 240 seconds) 2017-03-07T15:43:58Z Xach: maybe 2017-03-07T15:46:24Z GK___1wm____SU quit (K-Lined) 2017-03-07T15:47:32Z bigos joined #lisp 2017-03-07T15:50:05Z loke___ joined #lisp 2017-03-07T15:51:23Z Karl_Dscc joined #lisp 2017-03-07T15:51:38Z mishoo quit (Ping timeout: 260 seconds) 2017-03-07T15:53:06Z kolko_ quit (Ping timeout: 258 seconds) 2017-03-07T15:54:23Z drewc joined #lisp 2017-03-07T15:55:01Z mishoo joined #lisp 2017-03-07T16:00:48Z schjetne quit (Ping timeout: 260 seconds) 2017-03-07T16:01:41Z kolko joined #lisp 2017-03-07T16:02:15Z Guest98309 is now known as CrazEd 2017-03-07T16:02:44Z CrazEd is now known as Guest47863 2017-03-07T16:03:54Z mazoe joined #lisp 2017-03-07T16:07:40Z drewc quit (Ping timeout: 258 seconds) 2017-03-07T16:08:02Z slyrus joined #lisp 2017-03-07T16:08:47Z lerax joined #lisp 2017-03-07T16:10:10Z malice` quit (Ping timeout: 260 seconds) 2017-03-07T16:12:27Z lerax quit (Client Quit) 2017-03-07T16:13:21Z circ-user-j35rB joined #lisp 2017-03-07T16:14:46Z mxb quit (Ping timeout: 264 seconds) 2017-03-07T16:18:28Z Fare quit (Ping timeout: 256 seconds) 2017-03-07T16:19:12Z GK___1wm____SU joined #lisp 2017-03-07T16:19:38Z GK___1wm____SU quit (K-Lined) 2017-03-07T16:20:58Z drewc joined #lisp 2017-03-07T16:22:00Z malice` joined #lisp 2017-03-07T16:23:40Z cibs quit (Ping timeout: 260 seconds) 2017-03-07T16:24:04Z malice`: I would like to define setf function that would behave differently on different types, e.g. (setf (key class1-instance) something) would work on instances of class1, and (setf (key class2-instance) somethingelse) would work on instances of class2 2017-03-07T16:24:31Z malice`: Is that possible, or do I have to pick different name for different class? 2017-03-07T16:24:46Z beach: Make it generic. 2017-03-07T16:24:50Z Fare joined #lisp 2017-03-07T16:25:31Z beach: Wait... 2017-03-07T16:25:35Z malice`: beach: I believe I don't understand 2017-03-07T16:25:35Z cibs joined #lisp 2017-03-07T16:25:44Z beach: Yes, maybe I am misunderstanding. 2017-03-07T16:26:01Z malice`: Sure, sorry for being unclear. What can I clarify? 2017-03-07T16:26:24Z beach: No, I think I am right. 2017-03-07T16:26:40Z beach: (defgeneric (setf key) (new-value instance)) 2017-03-07T16:26:44Z gargaml joined #lisp 2017-03-07T16:26:48Z schpprke quit (Remote host closed the connection) 2017-03-07T16:27:06Z beach: (defmethod (setf key) (new-value (instance class1-instance)) ...) 2017-03-07T16:27:19Z malice`: Nice, I thought that you can't do that with setf. 2017-03-07T16:27:23Z malice`: Thanks beach! 2017-03-07T16:27:27Z beach: Sure. 2017-03-07T16:27:56Z beach: It is not with SETF you can do it. It is that function names can be of the form (SETF NAME). 2017-03-07T16:29:11Z Xach: malice`: one easy thing is to do (defclass class2 () (... (key :writer (setf key) ...))) 2017-03-07T16:29:14Z Xach: same with class1 2017-03-07T16:29:17Z Xach: or :accessor key, etc. 2017-03-07T16:29:32Z malice`: That's nice to know, but not applicable to my case. 2017-03-07T16:29:36Z malice`: Thanks for the info! 2017-03-07T16:30:58Z Xach: What are you up to in this case? 2017-03-07T16:32:31Z trueneu quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2017-03-07T16:34:36Z malice`: Xach: I want to implement trie with setf function, so you could do e.g. (setf (key trie "word") something) 2017-03-07T16:35:00Z malice`: Xach: but that requires going through the tree and perhaps creating several nodes on the go 2017-03-07T16:35:02Z malice`: plus splitting the word 2017-03-07T16:35:35Z cibs quit (Ping timeout: 240 seconds) 2017-03-07T16:36:11Z GK___1wm____SU joined #lisp 2017-03-07T16:36:17Z rocx: is there a simpler way to deal with xml? everything feels like "here's a list of functions, kid. now beat it." 2017-03-07T16:36:29Z Xach: rocx: that has been my experience. 2017-03-07T16:36:51Z rocx: Xach: saw your lj about cxml but i never got much out of it so far. 2017-03-07T16:37:28Z cibs joined #lisp 2017-03-07T16:38:25Z Xach: Last time I checked, it was similar everywhere 2017-03-07T16:38:34Z Xach: that was a while ago. i have not encountered xml as much lately. 2017-03-07T16:38:43Z nowhereman quit (Ping timeout: 258 seconds) 2017-03-07T16:39:09Z rocx: guess i should take a hint and not really use xml for this. 2017-03-07T16:39:36Z Xach: ah 2017-03-07T16:39:57Z gargaml: Hi 2017-03-07T16:40:02Z rocx: reason being is that i have an html-ish post and i'd like to add a few other tags plus meta tags for metadata. 2017-03-07T16:40:07Z o1e9 quit (Quit: Ex-Chat) 2017-03-07T16:40:09Z beach: Hello gargaml. 2017-03-07T16:40:35Z gargaml: is there a shorter way to this (format nil (code-char 19)) ? 2017-03-07T16:40:56Z Xach: gargaml: (string (code-char 19)) is one way. 2017-03-07T16:41:19Z gargaml: much cleaner, thanks 2017-03-07T16:41:29Z dlowe: who sends that anymore 2017-03-07T16:41:32Z beach: gargaml: Also, you can't do what you suggested. 2017-03-07T16:41:41Z gargaml: why? 2017-03-07T16:41:54Z beach: You need a FORMAT control string. 2017-03-07T16:42:11Z snits` left #lisp 2017-03-07T16:43:03Z beach: For example (format nil "~a" (code-char 19)) 2017-03-07T16:43:06Z snits joined #lisp 2017-03-07T16:43:24Z drewc quit (Ping timeout: 256 seconds) 2017-03-07T16:44:17Z gargaml: beach: oh, I forgot to write it, thanks 2017-03-07T16:45:00Z bigos quit (Ping timeout: 240 seconds) 2017-03-07T16:46:16Z sellout- joined #lisp 2017-03-07T16:46:45Z GK___1wm____SU quit (Excess Flood) 2017-03-07T16:48:13Z wtetzner joined #lisp 2017-03-07T16:49:49Z Xach: there are many ways to make it longer 2017-03-07T16:50:18Z Xach: (map-into (make-string 1) 'code-char (list 19)) 2017-03-07T16:50:44Z loke___ quit (Ping timeout: 260 seconds) 2017-03-07T16:53:07Z gargaml: yes, by shorter I was thinking about a specific notation similar to \19 or something else 2017-03-07T16:53:11Z handlex joined #lisp 2017-03-07T16:53:22Z gargaml: but I guess I'll have to write my own macro if I want this 2017-03-07T16:54:52Z warweasle joined #lisp 2017-03-07T16:55:28Z drewc joined #lisp 2017-03-07T16:55:52Z lambda-smith quit (Ping timeout: 260 seconds) 2017-03-07T16:56:33Z rk[ghost]: what is the standard method for a lisp progrm to refer to command line parameters? 2017-03-07T16:56:35Z flip214: ain't there some ascii name that can be used, like #\Space or #\Newline` 2017-03-07T16:56:37Z flip214: ? 2017-03-07T16:56:57Z beach: rk[ghost]: There is no standard method. 2017-03-07T16:57:09Z rk[ghost]: hrmph. well, is there a method? :P 2017-03-07T16:57:28Z beach: rk[ghost]: It depends on the implementation. 2017-03-07T16:57:36Z beach: rk[ghost]: But ASDF might have something. 2017-03-07T16:57:49Z beach: Or UIOP or some other library shipped with ASDF. 2017-03-07T17:00:15Z beach: rk[ghost]: RUN-SHELL-COMMAND. 2017-03-07T17:00:26Z beach: Oh, obsolete. Sorry. 2017-03-07T17:00:29Z rk[ghost]: :P 2017-03-07T17:00:36Z beach: run-program 2017-03-07T17:00:52Z beach: No, sorry, you just wanted command-line parameters. 2017-03-07T17:00:52Z rk[ghost]: interesting, i had a program that used run-shell-command in the past. and tried it with CCL and it didn't seem to work 2017-03-07T17:01:04Z rk[ghost]: right, but thanks for reminding me about run-program :) 2017-03-07T17:01:09Z handlex quit (Quit: handlex) 2017-03-07T17:01:24Z rk[ghost]: right, i just want to create a program that i can pass arguments in to 2017-03-07T17:01:33Z rk[ghost]: essentially flags and such 2017-03-07T17:01:46Z beach: https://github.com/fare/command-line-arguments 2017-03-07T17:01:56Z Xach: rk[ghost]: there are perhaps 7 or 8 command-line processing libraries. quickdocs.org might help find them. 2017-03-07T17:02:09Z rk[ghost]: thanks to both of ye :D 2017-03-07T17:02:31Z beach: I guess it shows that I never run my Common Lisp programs from the Unix command line. 2017-03-07T17:02:51Z rk[ghost]: no? 2017-03-07T17:02:51Z Guest47863 is now known as CrazEd 2017-03-07T17:02:53Z rk[ghost]: ha. 2017-03-07T17:03:06Z Xach: I do, sometimes, but tend to keep the command-line very simple. 2017-03-07T17:03:13Z rk[ghost]: i run /all/ my programs from the unix cli 2017-03-07T17:03:20Z Xach: didier verna has a command-line processor that seems extremely ... ornate 2017-03-07T17:03:20Z CrazEd is now known as Guest75245 2017-03-07T17:03:31Z Xach: with ansi color coded help output and such 2017-03-07T17:03:55Z Xach: rk[ghost]: i more often load my program into lisp and call lisp functions to make it do stuff. but sometimes i do turn them into command-line programs. 2017-03-07T17:04:05Z malice`: rk[ghost]: you have command-linearguments or library mentioned here: https://common-lisp.net/project/ecl/posts/ECL-Quarterly-Volume-V.html#orgheadline24 2017-03-07T17:04:12Z Xach: Like when I want to use them with cron, or something. 2017-03-07T17:04:15Z malice`: (clon) 2017-03-07T17:04:17Z rk[ghost]: nice, i have done color output with a command line lisp program before:).. except i did it in hacky way with juust printing the colorcodes in the strings 2017-03-07T17:04:31Z malice`: or utilize Roswell 2017-03-07T17:04:48Z rk[ghost]: aye aye great:) 2017-03-07T17:05:12Z chens` quit (Ping timeout: 260 seconds) 2017-03-07T17:05:29Z GK___1wm____SU joined #lisp 2017-03-07T17:05:48Z rk[ghost]: the main thing i want to do currently, is i have been playing with hunchentoot, the webserver. i want to be able to call the program in daemon mode, where it just starts the net process. as currently the program is in programming mode, where i run it and it just loads to a prompt where nothing is yet running. 2017-03-07T17:06:28Z slyrus quit (Ping timeout: 246 seconds) 2017-03-07T17:06:37Z drewc quit (Ping timeout: 268 seconds) 2017-03-07T17:06:56Z Xach: rk[ghost]: i have been in that situation. i usually run things in screen. and when starting lisp, i have it load a short script that loads everything and starts the server. that way i can see and interact with the repl, or attach to it with slime, and everything is still running when I leave it. 2017-03-07T17:07:08Z Xach: I was able to set that up to run at boot time from /etc/rc.local and a custom screenrc file. 2017-03-07T17:07:29Z Xach: Running as a daemon is fine too, but it helps if you start swank or something so you can communicate with your program. 2017-03-07T17:08:25Z GK___1wm____SU quit (K-Lined) 2017-03-07T17:10:32Z dlowe: I was able to get sbcl running gracefully in systemd for my irc bot 2017-03-07T17:12:05Z trueneu joined #lisp 2017-03-07T17:12:12Z ogamita quit (Ping timeout: 260 seconds) 2017-03-07T17:13:01Z rk[ghost]: aye, well.. i would have had the daemon running in screen 2017-03-07T17:13:28Z rk[ghost]: but that is a wise idea, to just write a script that sends the proper keys to screen to call the boot-up server function.. 2017-03-07T17:13:28Z strelox quit (Ping timeout: 240 seconds) 2017-03-07T17:15:54Z manualcrank joined #lisp 2017-03-07T17:16:05Z rk[ghost]: i wrote a handy little wrapper around screen, i call it mysc. (short for MY SCreens); i have a config file, .my-screens which format is $screen-name $cmd-with-arguments\n; 2017-03-07T17:16:13Z cibs quit (Ping timeout: 260 seconds) 2017-03-07T17:16:16Z pebblexe: what is up with make-symbol and intern? For mixed/lowercase strings it spits out #:|asdf| but for uppercase it's #:ASDF 2017-03-07T17:16:30Z nowhereman joined #lisp 2017-03-07T17:16:47Z dlowe: pebblexe: symbols are actually case-sensitive 2017-03-07T17:16:58Z dlowe: pebblexe: it's just the reader that converts everything to uppercase by default 2017-03-07T17:17:00Z GK___1wm____SU joined #lisp 2017-03-07T17:17:06Z pebblexe: dlowe: huh didn't know that, thanks 2017-03-07T17:17:07Z rk[ghost]: then, there is a function called in mysc which searches for the $screen-name in screen's sockets. if it doesn't exist, it creates it and sends $cmd-with-arguments to the session; and it all cases it attaches; 2017-03-07T17:17:14Z dlowe: |asdf| is the notation for non-uppercase symbols 2017-03-07T17:17:24Z Xach: welllll. 2017-03-07T17:17:31Z Xach: rabbit hole of details involved 2017-03-07T17:17:42Z dlowe: good enough for now :p 2017-03-07T17:17:45Z cibs joined #lisp 2017-03-07T17:18:35Z trueneu quit (Ping timeout: 240 seconds) 2017-03-07T17:18:59Z drewc joined #lisp 2017-03-07T17:19:06Z sjl quit (Ping timeout: 256 seconds) 2017-03-07T17:23:47Z pebblexe: how do I turn a string into a quoted version of the symbol? such as "asdf" -> 'asdf? 2017-03-07T17:23:55Z RedEight joined #lisp 2017-03-07T17:24:10Z dlowe: 'asdf is turned to (QUOTE ASDF) by the reader 2017-03-07T17:24:26Z beach: clhs intern 2017-03-07T17:24:27Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_intern.htm 2017-03-07T17:25:25Z beach: pebblexe: (intern (string-upcase "asdf") :asdf) 2017-03-07T17:25:26Z dlowe: you can just (intern (string-uppercase "asdf")) 2017-03-07T17:25:29Z dlowe: er upcase 2017-03-07T17:25:30Z warweasle: pebblexe: (intern (string-upcase "hi")) 2017-03-07T17:25:40Z warweasle: beach: Damn. Beat me to it. 2017-03-07T17:25:49Z beach: Sorry! 2017-03-07T17:26:35Z warweasle: beach: Don't apogize for winning. 2017-03-07T17:26:51Z GK___1wm____SU quit (K-Lined) 2017-03-07T17:30:00Z oleksiyp joined #lisp 2017-03-07T17:30:07Z Xach uses find-symbol in many situations where he once might have used intern 2017-03-07T17:30:08Z schjetne joined #lisp 2017-03-07T17:30:12Z Lord_of_Life quit (Excess Flood) 2017-03-07T17:32:03Z GK___1wm____SU joined #lisp 2017-03-07T17:32:39Z GK___1wm____SU quit (K-Lined) 2017-03-07T17:33:28Z Lord_of_Life joined #lisp 2017-03-07T17:33:29Z Karl_Dscc quit (Remote host closed the connection) 2017-03-07T17:34:48Z flamebeard quit (Quit: Leaving) 2017-03-07T17:36:16Z pebblexe: what am I doing wrong here? 2017-03-07T17:36:17Z pebblexe: https://gist.github.com/pebblexe/fb742af19b1cba0376a583489965e9a1 2017-03-07T17:36:28Z didi joined #lisp 2017-03-07T17:36:48Z pebblexe: I am trying to programmatically assign values to a slot in an object because I have this huge json object I am trying to turn into a clos one easily 2017-03-07T17:37:13Z Blukunfando quit (Remote host closed the connection) 2017-03-07T17:37:24Z didi: What's the difference between (loop for x IN list) and (loop for x ON list)? The definition of both on CLTL2 seems identical. 2017-03-07T17:37:25Z malice`: This does not looks nicely... 2017-03-07T17:37:48Z beach: didi: ON gives you sublists. IN gives elements. 2017-03-07T17:38:01Z didi: beach: Ah, cool. Thank you. 2017-03-07T17:38:02Z smokeink quit (Remote host closed the connection) 2017-03-07T17:38:31Z beach: pebblexe: Does the slot really have a lower-case name? 2017-03-07T17:38:37Z pebblexe: yes it does 2017-03-07T17:38:43Z beach: pebblexe: How did you define that slot? 2017-03-07T17:39:09Z pebblexe: (root :type string :initarg :root :accessor root) 2017-03-07T17:39:22Z beach: pebblexe: The READer turns root into the symbol named ROOT. 2017-03-07T17:39:34Z malice`: pebblexe: firstly, use #'string= instead of equal 2017-03-07T17:39:44Z hhdave quit (Ping timeout: 260 seconds) 2017-03-07T17:40:02Z beach: pebblexe: That is why we told you STRING-UPCASE and not STRING-DOWNCASE. 2017-03-07T17:40:12Z malice`: And ^ is your problem 2017-03-07T17:40:29Z malice`: slot root is read as ROOT, but yours is |root| 2017-03-07T17:40:32Z beach: pebblexe: Three different people said the same thing. 2017-03-07T17:40:59Z pebblexe: ah okay 2017-03-07T17:41:33Z pebblexe: now I am getting: When attempting to set the slot's value to "test" (SETF of SLOT-VALUE), the slot ROOT is missing from the object 2017-03-07T17:41:56Z pebblexe: after switching the downcase to upcase 2017-03-07T17:42:14Z beach: pebblexe: That means that your instance is not one that was defined with that slot. 2017-03-07T17:42:27Z beach: pebblexe: Try (describe instance) 2017-03-07T17:42:39Z beach: pebblexe: Or use the context menu in SLIME to inspect it. 2017-03-07T17:43:29Z pebblexe: beach: from describe it looks like the slot in unbound and it exists 2017-03-07T17:43:39Z pebblexe: ROOT = # 2017-03-07T17:43:55Z beach: pebblexe: Then you probably have a package problem. 2017-03-07T17:44:02Z malice`: My favourite! 2017-03-07T17:44:20Z beach: pebblexe: That is, the slot is named ROOT but in a different package from the one you are in when you call INTERN. 2017-03-07T17:44:40Z beach: Er, the symbol ROOT naming the slot is in a different .... 2017-03-07T17:46:35Z nowhereman quit (Ping timeout: 240 seconds) 2017-03-07T17:47:17Z pebblexe: okay here is a better version: https://gist.github.com/pebblexe/da57cca00ac792a0002d0fb16ad6a4f2 2017-03-07T17:51:56Z Karl_Dscc joined #lisp 2017-03-07T17:52:35Z decuser joined #lisp 2017-03-07T17:53:03Z didi: I want to loop from INFERIOR to -X and _then_ from X to SUPERIOR. e.g. INFERIOR = -4, X = 2, SUPERIOR = 5: [-4, -3, -2, 2, 3, 4, 5]. Can I do it with only 1 LOOP? 2017-03-07T17:55:21Z malice`: didi: you can, but it wouldn't be readable, I believe 2017-03-07T17:55:25Z malice`: didi: why would you want to? 2017-03-07T17:55:39Z didi: malice`: Because reasons? 2017-03-07T17:57:01Z m00natic quit (Remote host closed the connection) 2017-03-07T17:58:43Z phoe: didi: hm. 2017-03-07T17:58:56Z phoe: LOOP does not have such a looping construct. 2017-03-07T17:59:20Z phoe: If your actions fit within a single LOOP DO block, then you might want to 2017-03-07T17:59:33Z didi: phoe: That's the reason. 2017-03-07T18:00:00Z phoe: (flet ((do-stuff ...)) (loop for x from inferior to -2 do ...) (loop for x from 2 to superior do ...)) 2017-03-07T18:00:03Z didi: I have a duplicated DO block because of 2 LOOPs. 2017-03-07T18:00:18Z phoe: didi: extract it to a function. 2017-03-07T18:00:18Z shka_ joined #lisp 2017-03-07T18:00:32Z didi: phoe: It is a single function call already. :-) 2017-03-07T18:00:36Z phoe: a duplicated LOOP "for x from y to z do (foo)" is readable. 2017-03-07T18:00:38Z phoe: didi: d'oh 2017-03-07T18:01:08Z circ-user-j35rB quit (Ping timeout: 258 seconds) 2017-03-07T18:02:25Z phoe: when you said block, I imagined a much less trivial thing 2017-03-07T18:02:44Z pjb joined #lisp 2017-03-07T18:03:07Z pebblexe: should I be using make-symbol instead of intern? I mean it's a bug either way 2017-03-07T18:03:18Z pebblexe: I mean it errors out either way 2017-03-07T18:03:31Z Guest75245 is now known as CrazEd 2017-03-07T18:04:00Z CrazEd is now known as Guest86305 2017-03-07T18:04:32Z decuser quit (Quit: Mutter: www.mutterirc.com) 2017-03-07T18:04:52Z didi: phoe: ;-) 2017-03-07T18:06:41Z malice` quit (Quit: Page closed) 2017-03-07T18:08:51Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-07T18:10:04Z TDT quit (Quit: TDT) 2017-03-07T18:11:03Z didi quit (Ping timeout: 260 seconds) 2017-03-07T18:11:08Z cibs quit (Ping timeout: 240 seconds) 2017-03-07T18:12:00Z circ-user-j35rB joined #lisp 2017-03-07T18:13:20Z cognotronicist quit (Quit: Leaving) 2017-03-07T18:13:20Z cibs joined #lisp 2017-03-07T18:16:51Z Bike joined #lisp 2017-03-07T18:17:20Z Karl_Dscc quit (Remote host closed the connection) 2017-03-07T18:18:08Z sjl joined #lisp 2017-03-07T18:19:45Z fiddlerwoaroof: Is there any way for bindings of a dynamic variable to be available at macroexpansion time, without using a library like macrodynamics? 2017-03-07T18:19:49Z jurov: pebblexe: you can experiment in REPL with setting the slot value various ways, that helps 2017-03-07T18:20:05Z jurov: but don't forget to set up the same package as the file has 2017-03-07T18:20:12Z pebblexe: jurov: good point, I guess I'll do that 2017-03-07T18:20:42Z Fare: fiddlerwoaroof, I use such bindings in asdf-finalizers 2017-03-07T18:20:52Z fiddlerwoaroof: I've often encountered situations where I want a macro to behave slightly differently depending on whether it's been nested with itself and, short of a code walker, I'm not sure how to do this. 2017-03-07T18:20:59Z fiddlerwoaroof: Fare: thanks, I'll look at that 2017-03-07T18:21:26Z Fare: though in this case, macrodynamics might be what you need 2017-03-07T18:23:28Z Harag quit (Ping timeout: 240 seconds) 2017-03-07T18:28:16Z attila_lendvai joined #lisp 2017-03-07T18:28:16Z attila_lendvai quit (Changing host) 2017-03-07T18:28:16Z attila_lendvai joined #lisp 2017-03-07T18:29:05Z oleksiyp quit (Ping timeout: 240 seconds) 2017-03-07T18:29:55Z Ven joined #lisp 2017-03-07T18:34:45Z zygentoma joined #lisp 2017-03-07T18:34:47Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-07T18:40:55Z TDT joined #lisp 2017-03-07T18:41:08Z Ven quit (Ping timeout: 240 seconds) 2017-03-07T18:43:39Z pebblexe: so in the repl it works fine... but it seems my code in my file isn't working properly. 2017-03-07T18:48:43Z pebblexe: hey why is it that if I have (setf test '("one" "two")) I can cdr it in my code and get "two" but in the repl I get ("two") 2017-03-07T18:49:10Z phoe: uh, what? 2017-03-07T18:49:21Z phoe: (cdr '("one" "two")) ;=> ("two") 2017-03-07T18:49:42Z phoe: because ("one" "two") === ("one" . ("two" . NIL)) 2017-03-07T18:49:46Z Ven joined #lisp 2017-03-07T18:49:52Z phoe: so the CDR is ("two" . NIL) which is ("two") 2017-03-07T18:50:18Z phoe: if you are getting "two" as a CDR, then it means that you have ("one" . "two") somewhere and not ("one" "two") 2017-03-07T18:50:21Z phoe: I say, check your data. 2017-03-07T18:51:50Z pebblexe: phoe: yup, I forgot about the . I'm an idiot 2017-03-07T18:52:34Z Ven quit (Read error: Connection reset by peer) 2017-03-07T18:55:57Z phoe: pebblexe: hah, everyone tends to be at some points in time 2017-03-07T18:57:18Z pebblexe: okay here is a better version of it: https://gist.github.com/pebblexe/573f5b8fb699c8361fb2de0976419b19 2017-03-07T18:59:10Z ryanwatk` quit (Remote host closed the connection) 2017-03-07T19:00:13Z phoe: > (let* ( (... 2017-03-07T19:00:18Z phoe: unnecessary space 2017-03-07T19:00:21Z phoe: but I'm being pedantic now 2017-03-07T19:00:49Z milanj joined #lisp 2017-03-07T19:00:58Z zygentoma quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-03-07T19:01:13Z phoe: one more thing, the last (if ...) is pretty clumsy in that space 2017-03-07T19:01:24Z whartung quit (Quit: whartung) 2017-03-07T19:01:44Z phoe: I'd extract it to a lexical variable inside that let* 2017-03-07T19:01:48Z phoe: like, a third one 2017-03-07T19:02:00Z phoe: some sort of slot-name variable or something 2017-03-07T19:02:14Z phoe: then it would be (setf (slot-value instance slot-name) data) 2017-03-07T19:02:25Z phoe: and the PROGN is unnecessary. 2017-03-07T19:02:49Z pebblexe: phoe: good point, I'll do that 2017-03-07T19:02:55Z phoe: LOOP FOR ITEM IN ITEMS DO is substitutable for DO (ITEM ITEMS) 2017-03-07T19:03:03Z phoe: but if you prefer LOOP, then disregard me. 2017-03-07T19:03:29Z phoe: sdkdjfhdf 2017-03-07T19:03:31Z phoe: DOLIST (ITEM ITEMS) 2017-03-07T19:04:21Z phoe: and going a level above, I wonder if passing a whole JSON (whatever that JSON is) to a function is a good idea 2017-03-07T19:04:21Z whartung joined #lisp 2017-03-07T19:04:41Z Guest86305 is now known as CrazEd 2017-03-07T19:04:50Z phoe: I'd rather have a lambda-list (INSTRUMENT-CREATE ITEMS) 2017-03-07T19:05:05Z phoe: and separate the ITEMS from the JSON at the point of calling INSTRUMENT-CREATE 2017-03-07T19:05:11Z CrazEd is now known as Guest19712 2017-03-07T19:05:27Z phoe: but again, this is just my idea and some general experience with reusability of pieces of code - your context might differ here. 2017-03-07T19:05:48Z phoe: my idea is - a function taking a JSON is, or at least sounds, much less general than a function taking a list of "items". 2017-03-07T19:06:14Z phoe: also, you can collapse your FORMAT calls. 2017-03-07T19:06:43Z awaken joined #lisp 2017-03-07T19:06:48Z Harag joined #lisp 2017-03-07T19:06:51Z phoe: remove the first FORMAT call and edit the second to (format t "~A~%symbol: ~A~%data: ~A~% item symbol-name data) 2017-03-07T19:06:55Z awaken: What is the best Lisp implementation? 2017-03-07T19:07:01Z awaken: Most active 2017-03-07T19:07:03Z awaken: One 2017-03-07T19:07:09Z phoe: awaken: best for what? 2017-03-07T19:07:12Z phoe: it's a tricky term, "best" 2017-03-07T19:07:16Z awaken: phoe, A 2017-03-07T19:07:17Z awaken: AI 2017-03-07T19:07:33Z jurov: awaken: Lisp machine from Symbolics :) 2017-03-07T19:07:34Z phoe: if you want something that's free and will work pretty well, I guess SBCL will work here 2017-03-07T19:07:45Z phoe: CCL is also good 2017-03-07T19:08:03Z awaken: What about clojure? 2017-03-07T19:08:10Z phoe: awaken: it's not Common Lisp. 2017-03-07T19:08:21Z phoe: they're two very different dialects of Lisp. 2017-03-07T19:08:25Z awaken: Oh I thought this channel is for lisp in general 2017-03-07T19:08:32Z phoe: awaken: ##lisp for that. 2017-03-07T19:08:34Z phoe: :) 2017-03-07T19:09:18Z akkad quit (Excess Flood) 2017-03-07T19:09:23Z phoe: pebblexe: sorry for randomly giving you a full code review on that function 2017-03-07T19:09:32Z phoe: this was, um, unexpected 2017-03-07T19:09:50Z awaken: phoe, why are you being so friendly? 2017-03-07T19:09:51Z phoe: as in I didn't expect me to go full Lisp purism mode on that code. 2017-03-07T19:09:55Z Ven joined #lisp 2017-03-07T19:09:58Z phoe: awaken: what do you mean, "so friendly"? 2017-03-07T19:10:05Z awaken: Yes 2017-03-07T19:10:10Z phoe: you're asking a question and I know how to answer - so I do 2017-03-07T19:10:10Z awaken: Very 2017-03-07T19:10:55Z phoe: dunno, a lot of people consider the Lisp community rather "snobby" and unfriendly - I like changing that stereotype with my own hands. 2017-03-07T19:11:33Z phoe: I can't do everything here, but if there's a question to be answered and I know how to help, then I'm trying. 2017-03-07T19:11:37Z awaken: phoe, why did you act so friendly with me and care about me and answer me quickly and help me? 2017-03-07T19:11:45Z phoe: awaken: because I wanted to 2017-03-07T19:12:48Z pebblexe: okay I think it's a really weird bug 2017-03-07T19:12:48Z pebblexe: https://gist.github.com/pebblexe/e33fddfff00b719c7a3ea6519b439720 2017-03-07T19:13:02Z pebblexe: I can run that fine in my repl, but it breaks as a file 2017-03-07T19:13:10Z awaken: phoe, then my gift to you is this, advise me anything and I will do my best to do it. 2017-03-07T19:13:19Z Bike: how does it "break" 2017-03-07T19:13:19Z Colleen: Bike: drmeister said 8 hours, 39 minutes, 8 seconds ago: You can scan it and email it to me 2017-03-07T19:13:25Z Bike: wh... oh, right 2017-03-07T19:13:28Z Harag quit (Ping timeout: 260 seconds) 2017-03-07T19:13:31Z sellout- quit (Ping timeout: 246 seconds) 2017-03-07T19:14:07Z phoe: awaken: I don't know what to advise you - I'm just a random lisper on a random IRC channel. if anything, have fun - and if you have any Common Lisp questions, bring them here, we'll try to answer. 2017-03-07T19:14:11Z Bike: well, (setf json ...) is probably wrong or at least bad style, you should use defvar or defparameter 2017-03-07T19:14:33Z Bike: maybe compile-file fails because it doesn't want to make a special variable for you 2017-03-07T19:14:55Z fiddlerwoaroof: setf on a name in cl: can be really annoying in older versions of sbcl. 2017-03-07T19:15:05Z Bike: irrelevant here 2017-03-07T19:15:16Z fiddlerwoaroof: Yeah 2017-03-07T19:15:19Z pebblexe: is it possible I found a compiler bug? 2017-03-07T19:15:27Z Bike: it's very unlikely 2017-03-07T19:15:33Z Bike: could you please explain the manner in which it "breaks" 2017-03-07T19:15:45Z phoe: yes, the error that's produced 2017-03-07T19:15:45Z pebblexe: I get When attempting to set the slot's value to WSTEST::XBT (SETF of SLOT-VALUE), the slot ROOTSYMBOL is missing from the object #. 2017-03-07T19:16:54Z Bike: cannot reproduce, works and prints stuff whether i load or compile-file, once i change setf into defvar 2017-03-07T19:17:06Z Bike: maybe you have an old definition somewhere, try restarting lisp first 2017-03-07T19:17:15Z akkad joined #lisp 2017-03-07T19:17:38Z phoe: pebblexe: I can see another issue, you declare slot value type as string but you set it to symbol 2017-03-07T19:18:05Z phoe: pebblexe: what's your implementation and version? 2017-03-07T19:18:15Z awaken left #lisp 2017-03-07T19:18:32Z oleksiyp joined #lisp 2017-03-07T19:18:40Z pebblexe: phoe: SBCL 1.3.3.debian 2017-03-07T19:18:58Z phoe: 1.3.3 ain't the recentmost, you could possibly update. 2017-03-07T19:19:08Z Bike: kind of doubt that's the issue though 2017-03-07T19:19:13Z phoe: yes, it's weird. 2017-03-07T19:19:52Z phoe: pebblexe: I cannot reproduce it either. 2017-03-07T19:19:59Z pebblexe: https://github.com/pebblexe/testslot 2017-03-07T19:20:03Z phoe: Copypasting your snippet into my SBCL just works. 2017-03-07T19:20:05Z pebblexe: that bugs out for me 2017-03-07T19:20:19Z pebblexe: yeah it works fine the repl, but not as a loaded program 2017-03-07T19:20:30Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-07T19:20:46Z slyrus joined #lisp 2017-03-07T19:20:58Z fiddlerwoaroof: How are you loading it? 2017-03-07T19:21:01Z sellout- joined #lisp 2017-03-07T19:21:19Z phoe: I just LOADed a file containing the code, no problem 2017-03-07T19:21:22Z fiddlerwoaroof: sbcl --load file.lisp or (load "file.lisp") 2017-03-07T19:21:29Z fiddlerwoaroof: Or something else? 2017-03-07T19:21:33Z pebblexe: yeah and ccl gives me: # has no slot named ROOTSYMBOL. 2017-03-07T19:21:49Z pebblexe: I use ql in slime, so (ql:quickload "testslot") 2017-03-07T19:21:56Z pebblexe: and then "(testslot:simple) 2017-03-07T19:21:57Z Bike: works on ccl too. let me clone the system then. 2017-03-07T19:21:59Z pebblexe: " 2017-03-07T19:22:21Z phoe: nope, quickloading works for me. 2017-03-07T19:22:40Z phoe: pebblexe: try fresh-cloning the project into your quicklisp/local-projects/ and loading that. 2017-03-07T19:22:49Z Bike: ah, i got it. 2017-03-07T19:22:50Z phoe: this smells of development environment issue. 2017-03-07T19:22:54Z phoe: Bike: ? 2017-03-07T19:23:00Z Bike: the no slot thing. 2017-03-07T19:23:39Z Bike: i think it's a package thing. 2017-03-07T19:23:50Z pebblexe: I get debugger invoked on a SIMPLE-ERROR in thread #: When attempting to set the slot's value to TESTSLOT::XBT (SETF of SLOT-VALUE), the slot ROOTSYMBOL is missing from the object #. 2017-03-07T19:23:59Z phoe: and I do not. 2017-03-07T19:24:10Z Bike: Yeah, ok, i get the problem. 2017-03-07T19:24:16Z pebblexe: when I run it from a fresh clone in local-projects 2017-03-07T19:24:42Z Bike: you have symbol-name bound to an intern call 2017-03-07T19:24:44Z mishoo quit (Ping timeout: 260 seconds) 2017-03-07T19:24:51Z phoe: Bike: and I don't get that problem, works for me. 2017-03-07T19:24:52Z Bike: but you leave the package implicit, so it'll just be whatever the current package is 2017-03-07T19:24:52Z phoe: Weirddd. 2017-03-07T19:24:59Z phoe: ooh. 2017-03-07T19:25:05Z Bike: so if you run it from cl-user it will intern in cl-user, and it goes pear shaped 2017-03-07T19:25:08Z Ven quit (Ping timeout: 240 seconds) 2017-03-07T19:25:32Z GK___1wm____SU joined #lisp 2017-03-07T19:25:35Z varjag joined #lisp 2017-03-07T19:25:41Z Bike: i don't know hwo you want to fix it, since as phoe mentioned you seem to have some confusion about strings and symbols 2017-03-07T19:26:22Z mishoo joined #lisp 2017-03-07T19:26:37Z pebblexe: I thought I could use intern/symbol to turn a string into a symbol 2017-03-07T19:26:43Z Bike: you can, but symbols have packages 2017-03-07T19:27:00Z Bike: what the error is saying is that there's no slot CL-USER::ROOTSYMBOL, because the slot is actually named TESTSLOT::ROOTSYMBOL 2017-03-07T19:27:33Z GK___1wm____SU quit (Excess Flood) 2017-03-07T19:28:06Z phoe: and my type error still stands, you're assigning symbols to a slot typed string, so you 2017-03-07T19:28:11Z phoe: 're invoking undefined behaviour. 2017-03-07T19:29:18Z bocaneri quit (Remote host closed the connection) 2017-03-07T19:29:22Z Bike: yeah, if you do (intern (string-upcase (car item)) (find-package "TESTSLOT")) and change the types to symbol it works. 2017-03-07T19:29:29Z Ven joined #lisp 2017-03-07T19:29:30Z pebblexe: so (symbol-name (intern (string-upcase (car item)))) is the culprit? 2017-03-07T19:29:47Z Bike: but it might not be what you want since the variable has symbols in it to begin with! 2017-03-07T19:30:07Z akkad quit (Excess Flood) 2017-03-07T19:30:18Z pebblexe: okay... I do not understand my problem 2017-03-07T19:30:35Z pebblexe: I have a string, I want to turn it into a symbol so I can bind the appropriate value to it's slot 2017-03-07T19:30:40Z Bike: ok so point one 2017-03-07T19:30:42Z Bike: you don't have a string 2017-03-07T19:31:04Z pebblexe: Bike: you're right! jeez 2017-03-07T19:31:14Z akkad joined #lisp 2017-03-07T19:31:39Z Bike: i don't mean to criticize or anything, just want to make sure we're on the same page 2017-03-07T19:32:08Z drewc quit (Ping timeout: 240 seconds) 2017-03-07T19:32:15Z pebblexe: Bike: yeah that's a good call 2017-03-07T19:33:12Z Bike: so, if you have a string that may name a slot name, what you'd actually want to do is something like (find-symbol (string-upcase string) (find-package "TESTSLOT")) 2017-03-07T19:33:27Z Bike: since i'm guessing you're getting the string from user input, and you don't want to intern everything you see 2017-03-07T19:33:54Z Bike: if that returns NIL the string doesn't name a slot so you should signal an error or whatever. if it gets a symbol, great, you can do slot-value and such 2017-03-07T19:34:45Z pebblexe: Bike: okay... I think I got it 2017-03-07T19:35:01Z andrei_chifa joined #lisp 2017-03-07T19:35:45Z Bike: and when you write strings in source, you do "foo" or something, just foo by itself is a symbol 2017-03-07T19:36:01Z Bike: string-upcase works on symbols too by implicitly taking the symbol-name, so you didn't notice 2017-03-07T19:38:37Z pebblexe: ah 2017-03-07T19:39:08Z Trystam joined #lisp 2017-03-07T19:40:09Z pebblexe: okay if I do: (symbol-name (car item)) I get The value "symbol" is not of type SYMBOL. even though format spits out that item is (symbol . XBTU14) 2017-03-07T19:40:27Z pebblexe: okay if I do: (symbol-name (car item)) I get 'The value "symbol" is not of type SYMBOL.' even though format spits out that item is '(symbol . XBTU14)' 2017-03-07T19:41:05Z Tristam quit (Ping timeout: 240 seconds) 2017-03-07T19:41:10Z Ven quit (Ping timeout: 264 seconds) 2017-03-07T19:41:10Z mishoo quit (Ping timeout: 246 seconds) 2017-03-07T19:41:21Z Xach: pebblexe: try formatting with ~S, not ~A. 2017-03-07T19:41:33Z Trystam is now known as Tristam 2017-03-07T19:41:40Z Xach: it is not a symbol, it is a string. 2017-03-07T19:44:00Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-07T19:45:21Z pebblexe: Xach: thanks 2017-03-07T19:45:37Z drewc joined #lisp 2017-03-07T19:48:42Z vibs29 quit (Ping timeout: 256 seconds) 2017-03-07T19:49:43Z Ven joined #lisp 2017-03-07T19:52:16Z drewc quit (Ping timeout: 260 seconds) 2017-03-07T19:55:02Z vibs29 joined #lisp 2017-03-07T19:55:22Z Ven quit (Ping timeout: 258 seconds) 2017-03-07T19:55:40Z frodef quit (Remote host closed the connection) 2017-03-07T19:58:43Z moei quit (Quit: Leaving...) 2017-03-07T19:58:55Z andrei_chifa joined #lisp 2017-03-07T19:59:24Z pebblexe: is 'listing' a keyword? 2017-03-07T20:02:59Z reinuseslisp joined #lisp 2017-03-07T20:03:55Z Denommus joined #lisp 2017-03-07T20:04:55Z drewc joined #lisp 2017-03-07T20:05:20Z Xach: pebblexe: keyword symbols are prefixed with a single : 2017-03-07T20:05:51Z Guest19712 is now known as CrazEd 2017-03-07T20:06:21Z CrazEd is now known as Guest185 2017-03-07T20:06:40Z d4ryus1: hi, i might have found a bug with file-length on sbcl. The returned length is a 32bit integer, which gives wrong file sizes on big files. I can reproduce the bug with http://paste.lisp.org/display/340839 . I just wanted to double check with you guys since iam new to lisp and maybe iam using/doing something wrong. (sbcl version is 1.3.12) 2017-03-07T20:06:46Z Denommus` joined #lisp 2017-03-07T20:08:00Z d4ryus1: The pasted snipped prints a size of 0* 2017-03-07T20:09:48Z Ven joined #lisp 2017-03-07T20:10:02Z phoe: d4ryus1: does #sbcl know? 2017-03-07T20:10:38Z d4ryus1: phoe: no, have not posted it there. does this seem strange to you too? 2017-03-07T20:11:10Z Denommus quit (Ping timeout: 264 seconds) 2017-03-07T20:11:13Z Xach: d4ryus1: it seems like fstat vs fstat64. 2017-03-07T20:11:17Z d4ryus1 is now known as d4ryus 2017-03-07T20:11:20Z jurov: d4ryus1: i can't reproduce, i get corret sizes (on 64bit gentoo, SBCL 1.3.12 ) 2017-03-07T20:11:22Z Denommus` is now known as Denommus 2017-03-07T20:12:11Z jurov: and protip: to quickly create huge files you can use dd seek=<> argument 2017-03-07T20:12:37Z d4ryus: jurov: ah, thanks :) 2017-03-07T20:12:44Z phoe: d4ryus: can't reproduce either 2017-03-07T20:12:58Z Bike: maybe darius is on a 32 bit machine. 2017-03-07T20:13:17Z phoe: debian 64 bit 2017-03-07T20:14:04Z d4ryus: not to my knowledge. uname -a prints x86_64 2017-03-07T20:14:48Z scymtym: d4ryus: is :LARGEFILE in *FEATURES*? 2017-03-07T20:14:56Z jurov: d4ryus: maybe your distribution miscompiled sbcl, you can try reporting it there 2017-03-07T20:14:58Z d4ryus: but even on a 32 bit machine, you can get files beyond 2^32 right? (iam totaly confused) 2017-03-07T20:15:27Z jurov: d4ryus: on 32bit one needs to compile with largefile support, as scymtym said 2017-03-07T20:16:17Z didi joined #lisp 2017-03-07T20:16:36Z didi: How do I use `return' after `finally'? (loop for x to 7 finally return x) errors. 2017-03-07T20:16:43Z Bike: (return x) 2017-03-07T20:16:44Z phoe: didi: finally (return x) 2017-03-07T20:16:57Z phoe: finally expects an implicit progn AFAIK 2017-03-07T20:17:05Z phoe: so finally (foo) (bar) (baz) (return x) 2017-03-07T20:17:09Z didi: But the documentation speaks about the symbol `return'. 2017-03-07T20:17:22Z phoe: didi: sure thing, but it's not in this context 2017-03-07T20:17:27Z didi: Hum. 2017-03-07T20:17:29Z phoe: loop if (foo) return x 2017-03-07T20:17:42Z reinuseslisp: loop is evil 2017-03-07T20:17:43Z Bike: finally is like a do clause, it wants lisp code. 2017-03-07T20:17:49Z didi: oic 2017-03-07T20:18:11Z d4ryus: http://paste.lisp.org/display/340840 thats what *features* returned. Iam on Archlinux, tried it on 2 more systems (all Archlinux, i guess same sbcl version) 2017-03-07T20:18:11Z phoe: Bike: except for details - DO is an implicit tagbody, LOOP FINALLY is an implicit progn AFAIK. 2017-03-07T20:18:39Z didi: CLTL2 has `finally return expr' as a LOOP clause. Is it wrong? 2017-03-07T20:18:40Z Bike: d4ryus: so it doesn't have largefile 2017-03-07T20:18:40Z phoe: d4ryus: if you pulled SBCL from Arch repos, then it looks like Arch miscompiled their SBCL 2017-03-07T20:18:58Z kelsar777 joined #lisp 2017-03-07T20:19:58Z d4ryus: ok, good. so i guess i compile sbcl myself, check if it works and if so report a bug on Arch? 2017-03-07T20:20:10Z didi: "The Common Lisp macro return (or the return loop construct) can be used after finally to return values from a loop." 2017-03-07T20:20:21Z Bike: i have arch sbcl lying around, i can just check for you 2017-03-07T20:20:25Z Bike: didi: cltl2 is old, after all 2017-03-07T20:20:32Z didi: Bike: oic 2017-03-07T20:20:52Z d4ryus: Bike: that would be great :) 2017-03-07T20:21:29Z reinuseslisp: d4ryus: your pastebin works on my computer 2017-03-07T20:21:36Z fiddlerwoaroof: Is there a way to get the latin character corresponding to a character like Å? 2017-03-07T20:21:40Z krasnal quit (Read error: Connection reset by peer) 2017-03-07T20:21:47Z fiddlerwoaroof: I.e., in this case, A without the circle 2017-03-07T20:21:48Z scymtym: https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/sbcl disables largefile 2017-03-07T20:22:00Z reinuseslisp: I'm on Arch but with a git-cloned sbcl 2017-03-07T20:22:03Z fiddlerwoaroof: (I'm probably completely messing up the terminology here) 2017-03-07T20:22:06Z Bike: there we go then 2017-03-07T20:22:09Z Bike: (why do they do that) 2017-03-07T20:22:30Z reinuseslisp: (equal (sbcl --version) "SBCL 1.3.14.263-fdc0f4e56") => t 2017-03-07T20:23:32Z scymtym: Bike: "fails to build on i686" https://git.archlinux.org/svntogit/packages.git/commit/trunk/PKGBUILD?h=packages/sbcl&id=34812a072dbc9253c21e1e2c4d1649b5a7f2b0a5 2017-03-07T20:23:40Z Bike: lol ok 2017-03-07T20:23:42Z wtetzner quit (Remote host closed the connection) 2017-03-07T20:23:46Z Bike: arch just dropped 86 support anyway 2017-03-07T20:24:09Z jurov: fiddlerwoaroof: afaik only by CFFI-calling the icu library 2017-03-07T20:24:11Z Karl_Dscc joined #lisp 2017-03-07T20:24:11Z Bike: fiddlerwoaroof: that sounds lke unicode normalization. NFD i think 2017-03-07T20:24:40Z d4ryus: oh well, thats interesting. thank you guys, another mistery solved :D 2017-03-07T20:25:08Z Bike: well... sort of 2017-03-07T20:25:37Z Ven quit (Ping timeout: 246 seconds) 2017-03-07T20:25:59Z jurov: d4ryus: but yes, do file it as a bug 2017-03-07T20:26:21Z fiddlerwoaroof: Thanks 2017-03-07T20:27:19Z d4ryus: jurov: ok 2017-03-07T20:27:38Z edgar-rft: fiddlerwoaroof: I usually setup a hash-table with all characters I want to be "flattened" to ASCII because the same unicode character can have different meanings in different languages. 2017-03-07T20:28:00Z fiddlerwoaroof: Yeah, I'd probably do something like that in a "real program" 2017-03-07T20:28:54Z fiddlerwoaroof: What I'm doing now doesn't matter all that much 2017-03-07T20:29:00Z jurov: or maybe a hack - parse the description "#\LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE" to get the "capital A" :) 2017-03-07T20:29:12Z Bike: plz no 2017-03-07T20:29:14Z Ven joined #lisp 2017-03-07T20:30:07Z fiddlerwoaroof: :) 2017-03-07T20:30:48Z jurov: Bike: actually...the unicode char names are standard and unlikely to change, no? 2017-03-07T20:30:49Z fiddlerwoaroof: If I were going to do that, I'd just check the offset of the uppercase version from #\A 2017-03-07T20:31:00Z fiddlerwoaroof: And filter out all the unicode ones 2017-03-07T20:31:16Z angavrilov quit (Remote host closed the connection) 2017-03-07T20:31:31Z fiddlerwoaroof: jurov: but the standard doesn't guarantee that characters will have the unicode names 2017-03-07T20:31:50Z fiddlerwoaroof: although, I think there might be compatibility libraries that normalize them 2017-03-07T20:34:28Z oleksiyp quit (Ping timeout: 258 seconds) 2017-03-07T20:35:49Z edgar-rft: jurov: that only works semi-reliable if you map the unicode character number to the respective character name via the data-tables provided by the unicode consortium. It *never* works well if you rely on printed character representations of arbitrary CL implementations. See Edi Weitz' CL-Unicode for an example how this works. 2017-03-07T20:37:01Z jurov: yay SBCL has it: 2017-03-07T20:37:12Z jurov: CL-USER> (coerce (sb-unicode:normalize-string "Å") 'list) => (#\A #\COMBINING_RING_ABOVE) 2017-03-07T20:37:21Z jurov: good to know 2017-03-07T20:38:37Z fiddlerwoaroof: Cool... 2017-03-07T20:39:58Z Ven quit (Ping timeout: 246 seconds) 2017-03-07T20:40:06Z jurov: Sorry for my previous suggestions :) 2017-03-07T20:44:50Z warweasle quit (Quit: gotta go) 2017-03-07T20:46:16Z nirved quit (Quit: Leaving) 2017-03-07T20:49:22Z Ven joined #lisp 2017-03-07T20:50:48Z snowcrshd_ quit (Ping timeout: 240 seconds) 2017-03-07T20:54:58Z vibs29 quit (Ping timeout: 264 seconds) 2017-03-07T20:56:38Z Ven quit (Ping timeout: 268 seconds) 2017-03-07T20:57:42Z didi quit (Remote host closed the connection) 2017-03-07T21:00:07Z vibs29 joined #lisp 2017-03-07T21:02:18Z Ven joined #lisp 2017-03-07T21:06:23Z Guest185 is now known as CrazEd 2017-03-07T21:06:52Z CrazEd is now known as Guest36577 2017-03-07T21:10:35Z Quaker_ quit (Remote host closed the connection) 2017-03-07T21:10:59Z Quaker_ joined #lisp 2017-03-07T21:13:00Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-07T21:13:59Z kelsar777 quit (Quit: Leaving) 2017-03-07T21:16:10Z warweasle joined #lisp 2017-03-07T21:26:33Z andrei_chifa joined #lisp 2017-03-07T21:28:49Z prole quit (Remote host closed the connection) 2017-03-07T21:29:55Z TruePika: welp, I think I found the issue with auto-atc's pathfinder being so slow 2017-03-07T21:30:01Z prxq joined #lisp 2017-03-07T21:30:19Z sellout- quit (Read error: Connection reset by peer) 2017-03-07T21:30:34Z TruePika: 96.6% of walltime was spent inside of QUEUES::MAP-SIBLINGS -- the problem is the priority queue implementation I'm using 2017-03-07T21:30:38Z sellout- joined #lisp 2017-03-07T21:32:45Z raynold joined #lisp 2017-03-07T21:32:58Z TruePika: looks like from QUEUE-FIND 2017-03-07T21:33:20Z TruePika: (which is only being called by me when I need to update an F-score) 2017-03-07T21:35:13Z warweasle quit (Quit: later) 2017-03-07T21:36:00Z TruePika: it looks like QUEUE-FIND, as implemented, is O(n) 2017-03-07T21:36:56Z wheelsucker quit (Ping timeout: 256 seconds) 2017-03-07T21:37:22Z TruePika: I'd have expected there to be a way to get a faster time, but maybe not with a Fibonacci heap? 2017-03-07T21:38:43Z TruePika: I also feel that the tie-breaking ordering that appears to be used by QUEUES.PRIORITY-QUEUE is FIFO, i.e. a traditional queue 2017-03-07T21:39:03Z fiddlerwoaroof: Any plans for sharplispers or something to take over ironclad? 2017-03-07T21:39:22Z fiddlerwoaroof: Now that it's maintainer has effectively resigned? 2017-03-07T21:39:43Z TruePika: which might be causing an effective breadth-first search instead of potentially depth-first search, along with the associated increase in open set (and therefore queue) size 2017-03-07T21:40:53Z TruePika wonders if the term "priority stack" has been coined already... 2017-03-07T21:41:37Z shka_ quit (Quit: Konversation terminated!) 2017-03-07T21:43:02Z rocx left #lisp 2017-03-07T21:43:32Z attila_lendvai: fiddlerwoaroof: what makes you think froydnj resigned? he has a commit/release 10 hours ago... is it something announced somewhere? 2017-03-07T21:43:44Z fiddlerwoaroof: http://www.method-combination.net/blog/archives/2017/03/07/nibbles-and-ironclad-releases.html 2017-03-07T21:43:51Z fiddlerwoaroof: "This is also an appropriate time to announce that I will no longer be maintaining nibbles, ironclad, nor any of my other Common Lisp packages. This has been the de facto state of affairs for several years now; we might as well make it official." 2017-03-07T21:43:51Z trueneu joined #lisp 2017-03-07T21:44:16Z sellout- quit (Read error: Connection reset by peer) 2017-03-07T21:44:27Z fiddlerwoaroof: Just saw this on planet lisp 2017-03-07T21:44:36Z sellout- joined #lisp 2017-03-07T21:45:36Z attila_lendvai: fiddlerwoaroof: I see, thanks! 2017-03-07T21:46:28Z attila_lendvai: fe[nl]ix might be interested in taking over the maintenance of nibbles 2017-03-07T21:49:40Z rumbler31 quit (Ping timeout: 268 seconds) 2017-03-07T21:50:15Z reinuseslisp quit (Quit: Leaving) 2017-03-07T21:50:48Z TruePika: hm, looks like the pettomato priority queue might operate as a stack in the equal-priority case, which is promising 2017-03-07T21:58:12Z Glitchy is now known as Brionne 2017-03-07T21:58:15Z nowhereman joined #lisp 2017-03-07T21:58:17Z Brionne is now known as Glitchy 2017-03-07T22:03:48Z lerax joined #lisp 2017-03-07T22:06:37Z manuel__ joined #lisp 2017-03-07T22:07:03Z Guest36577 is now known as CrazEd 2017-03-07T22:07:33Z CrazEd is now known as Guest79143 2017-03-07T22:08:32Z lerax quit (Client Quit) 2017-03-07T22:09:35Z manuel_ quit (Ping timeout: 240 seconds) 2017-03-07T22:09:35Z manuel__ is now known as manuel_ 2017-03-07T22:09:50Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-07T22:14:16Z TruePika: ... 2017-03-07T22:14:29Z TruePika: yup, this implementation is _far_ better 2017-03-07T22:14:36Z TruePika: 0.543 seconds walltime 2017-03-07T22:15:55Z TruePika mentions that before replacing the implementation and before optimization, he was getting ~10 minutes run time for this particular function call 2017-03-07T22:16:43Z Riviera quit (Ping timeout: 255 seconds) 2017-03-07T22:17:53Z TruePika: it also appears, through the hash tables I return for diagnostics info, that 26,626 nodes were checked 2017-03-07T22:18:26Z TruePika: which is slightly more than the 24,824 nodes checked with the old implementation 2017-03-07T22:19:27Z Fare quit (Ping timeout: 240 seconds) 2017-03-07T22:20:26Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-07T22:21:15Z TruePika: hm 2017-03-07T22:22:12Z TruePika: I don't have hard numbers on it, but I think the old impl was also consing some gigabytes, while this one only consed ~33MB 2017-03-07T22:23:44Z moei joined #lisp 2017-03-07T22:23:44Z moei quit (Client Quit) 2017-03-07T22:23:55Z TruePika: which really shows how inefficient that impl was 2017-03-07T22:24:04Z moei joined #lisp 2017-03-07T22:33:35Z TDT quit (Quit: TDT) 2017-03-07T22:36:17Z Denommus quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2017-03-07T22:43:34Z Quaker_ quit (Ping timeout: 264 seconds) 2017-03-07T22:45:30Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-07T22:47:32Z prxq quit (Read error: Connection reset by peer) 2017-03-07T22:49:34Z LiamH quit (Ping timeout: 264 seconds) 2017-03-07T22:57:59Z jurov quit (Quit: ZNC 1.6.3 - http://znc.in) 2017-03-07T23:00:47Z Jesin quit (Quit: Leaving) 2017-03-07T23:00:54Z varjag quit (Ping timeout: 258 seconds) 2017-03-07T23:01:04Z andrei_chifa joined #lisp 2017-03-07T23:01:19Z trueneu quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2017-03-07T23:01:35Z N3vYn quit (Ping timeout: 240 seconds) 2017-03-07T23:03:39Z jurov joined #lisp 2017-03-07T23:03:47Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-07T23:03:49Z edgar-rft quit (Quit: edgar-rft) 2017-03-07T23:06:24Z Quaker_ joined #lisp 2017-03-07T23:07:41Z Guest79143 is now known as CrazEd 2017-03-07T23:08:06Z schpprke joined #lisp 2017-03-07T23:08:09Z CrazEd is now known as Guest15688 2017-03-07T23:08:32Z LiamH joined #lisp 2017-03-07T23:08:43Z Glitchy is now known as Brionne 2017-03-07T23:08:46Z rumbler31 joined #lisp 2017-03-07T23:10:57Z stepnem quit (Ping timeout: 240 seconds) 2017-03-07T23:12:57Z rumbler31 quit (Ping timeout: 240 seconds) 2017-03-07T23:14:34Z trueneu joined #lisp 2017-03-07T23:16:04Z dpg joined #lisp 2017-03-07T23:16:46Z N3vYn joined #lisp 2017-03-07T23:18:34Z pegu` joined #lisp 2017-03-07T23:20:14Z pegu quit (Remote host closed the connection) 2017-03-07T23:21:05Z mnoonan quit (Ping timeout: 240 seconds) 2017-03-07T23:21:23Z circ-user-j35rB quit (Ping timeout: 260 seconds) 2017-03-07T23:21:32Z mnoonan joined #lisp 2017-03-07T23:23:43Z quazimodo joined #lisp 2017-03-07T23:25:31Z sellout- quit (Ping timeout: 246 seconds) 2017-03-07T23:26:55Z sellout- joined #lisp 2017-03-07T23:27:35Z slyrus quit (Ping timeout: 240 seconds) 2017-03-07T23:30:18Z safe joined #lisp 2017-03-07T23:31:56Z LiamH quit (Quit: Leaving.) 2017-03-07T23:35:07Z dpg quit (Ping timeout: 268 seconds) 2017-03-07T23:39:42Z dpg joined #lisp 2017-03-07T23:39:58Z sellout- quit (Read error: Connection reset by peer) 2017-03-07T23:40:18Z sellout- joined #lisp 2017-03-07T23:40:27Z troydm quit (Ping timeout: 240 seconds) 2017-03-07T23:45:34Z milanj quit (Quit: Leaving) 2017-03-07T23:46:30Z Riviera joined #lisp 2017-03-07T23:49:38Z rumbler31 joined #lisp 2017-03-07T23:54:22Z rumbler31 quit (Ping timeout: 264 seconds) 2017-03-07T23:56:34Z wtetzner joined #lisp 2017-03-08T00:01:26Z pve quit (Ping timeout: 256 seconds) 2017-03-08T00:02:52Z trueneu quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2017-03-08T00:04:08Z cromachina joined #lisp 2017-03-08T00:08:13Z Guest15688 is now known as CrazEd 2017-03-08T00:08:44Z CrazEd is now known as Guest86960 2017-03-08T00:09:09Z sz0 joined #lisp 2017-03-08T00:09:56Z dpg quit (Ping timeout: 256 seconds) 2017-03-08T00:12:41Z trocado joined #lisp 2017-03-08T00:16:08Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-08T00:17:30Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-08T00:18:44Z bigos joined #lisp 2017-03-08T00:18:55Z sjl quit (Ping timeout: 268 seconds) 2017-03-08T00:20:08Z ryanbw quit (Ping timeout: 256 seconds) 2017-03-08T00:20:43Z dra joined #lisp 2017-03-08T00:22:13Z gingerale quit (Remote host closed the connection) 2017-03-08T00:23:19Z Brionne quit (Ping timeout: 258 seconds) 2017-03-08T00:23:22Z quazimodo joined #lisp 2017-03-08T00:23:43Z phoe: beach: Hawaii time and a custom timezone all right. 2017-03-08T00:31:51Z andrei_chifa joined #lisp 2017-03-08T00:32:40Z eazar001 quit (Read error: Connection reset by peer) 2017-03-08T00:33:11Z eazar001 joined #lisp 2017-03-08T00:36:25Z Brionne joined #lisp 2017-03-08T00:38:44Z dra quit (Quit: Leaving) 2017-03-08T00:39:46Z hvn0413 joined #lisp 2017-03-08T00:40:09Z Kaisyu joined #lisp 2017-03-08T00:43:38Z bigos quit (Ping timeout: 260 seconds) 2017-03-08T00:46:53Z shifty joined #lisp 2017-03-08T00:47:29Z ryanbw joined #lisp 2017-03-08T00:48:18Z RedEight quit (Quit: leaving) 2017-03-08T01:01:30Z trocado quit (Ping timeout: 256 seconds) 2017-03-08T01:05:15Z sellout- quit (Quit: Leaving.) 2017-03-08T01:06:35Z jameser joined #lisp 2017-03-08T01:07:23Z rumbler31 joined #lisp 2017-03-08T01:11:34Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-08T01:15:17Z dropkick joined #lisp 2017-03-08T01:16:42Z safe quit (Read error: Connection reset by peer) 2017-03-08T01:17:17Z dropkick: I'm trying to use quicklisp to load the opticl package, it keeps throwing errors "Error while trying to load definition for system retrospectiff from pathname /home/../retrospectiff.asd: DESTRUCTURING-BIND: (UIOP/PACKAGE:SYMBOL-CALL :FIVEAM '#:RUN! :RETROSPECTIFF) does not match lambda list element (ASDF::O ASDF::C) 2017-03-08T01:19:21Z smokeink joined #lisp 2017-03-08T01:20:07Z Bike: what's (asdf:asdf-version)? 2017-03-08T01:21:25Z dropkick: 2.26 2017-03-08T01:21:58Z Bike: i think that's fairly old. is this clisp? 2017-03-08T01:22:31Z dropkick: yeah, it is. I really have no idea about much of this stuff. I have just started using it as required by my AI class. 2017-03-08T01:22:47Z Xach: dropkick: sbcl would be a better option than clisp. 2017-03-08T01:22:57Z Xach: it has a newer asdf 2017-03-08T01:23:04Z Xach: and lots more features and capabilities 2017-03-08T01:23:09Z dropkick: isn't that suppose to be run in emacs though? or something. Forgive my ignorance. 2017-03-08T01:24:14Z Karl_Dscc quit (Remote host closed the connection) 2017-03-08T01:24:55Z Xach: 2017-03-08T01:24:56Z Xach: 2017-03-08T01:25:12Z Xach: You can run it in emacs. Emacs is a great lisp environment. But you don't have to run it in emacs. 2017-03-08T01:26:08Z Xach: Rob Warnock has written some about how he does emacs-free development. It involves writing handy support functions and tools. 2017-03-08T01:27:34Z dropkick: I'll check that out! 2017-03-08T01:28:37Z Guest86960 is now known as CrazEd 2017-03-08T01:29:06Z CrazEd is now known as Guest7265 2017-03-08T01:29:46Z Xach: http://xach.com/rpw3/articles/PJudnYz2hfC-HQbYnZ2dnUVZ_ternZ2d%40speakeasy.net.html is one example 2017-03-08T01:37:42Z Einwq quit (Quit: Leaving) 2017-03-08T01:39:38Z manualcrank quit (Ping timeout: 260 seconds) 2017-03-08T01:43:19Z rumbler31 joined #lisp 2017-03-08T01:45:12Z manualcrank joined #lisp 2017-03-08T01:46:24Z dropkick quit (Quit: leaving) 2017-03-08T01:47:01Z dropkick joined #lisp 2017-03-08T01:47:35Z rumbler31 quit (Ping timeout: 240 seconds) 2017-03-08T01:56:51Z FreeBirdLjj joined #lisp 2017-03-08T01:58:56Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-08T01:59:31Z shdeng joined #lisp 2017-03-08T02:03:53Z the-blackbeard quit (Quit: Leaving) 2017-03-08T02:07:02Z smokeink quit (Ping timeout: 260 seconds) 2017-03-08T02:13:10Z jason_m joined #lisp 2017-03-08T02:19:34Z wheelsucker joined #lisp 2017-03-08T02:20:45Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-08T02:26:17Z bigos joined #lisp 2017-03-08T02:29:17Z Guest7265 is now known as CrazEd 2017-03-08T02:29:24Z ksool quit (Ping timeout: 260 seconds) 2017-03-08T02:29:46Z CrazEd is now known as Guest31957 2017-03-08T02:31:30Z bigos quit (Remote host closed the connection) 2017-03-08T02:34:20Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-08T02:38:36Z FreeBirdLjj joined #lisp 2017-03-08T02:47:05Z hvn0413 quit (Quit: Connection closed for inactivity) 2017-03-08T02:47:48Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-08T02:47:54Z Oladon1 is now known as Oladon 2017-03-08T02:53:59Z smokeink joined #lisp 2017-03-08T02:57:11Z izirku joined #lisp 2017-03-08T02:59:29Z logrus joined #lisp 2017-03-08T02:59:52Z izirku quit (Client Quit) 2017-03-08T03:00:33Z dpg joined #lisp 2017-03-08T03:02:23Z akkad never realized how orthogonal security was to lisp 2017-03-08T03:04:32Z White_Flame: most lisps should be quite secure to low-level attacks, but once you get a REPL or access to EVAL, you have everything 2017-03-08T03:06:51Z akkad: well try using SSL on lispworks.com or franz.com. :P 2017-03-08T03:07:09Z dropkick quit (Quit: leaving) 2017-03-08T03:08:23Z jealousmonk quit (Quit: Leaving) 2017-03-08T03:08:34Z loke: akkad: What do you mean? 2017-03-08T03:10:35Z akkad: https://lispworks.com or https://franz.com 2017-03-08T03:10:37Z defaultxr joined #lisp 2017-03-08T03:10:45Z manuel_ quit (Quit: manuel_) 2017-03-08T03:13:26Z loke: White_Flame: that's the same as any system. You get access to, say, a shell and you can do anything. 2017-03-08T03:14:08Z White_Flame: sure that latter part is, but that normally doesn't apply to languages themselves 2017-03-08T03:14:40Z adlai quit (Ping timeout: 256 seconds) 2017-03-08T03:14:41Z aeth: Unless you have (safety 0) code running on a Lisp where this means no bounds checking (like SBCL), Lisp is decently safe. 2017-03-08T03:15:00Z aeth: The biggest security hole afaik would be the debugger. 2017-03-08T03:15:12Z aeth: Is there a way to get into the debugger from an arbitrary CL program? 2017-03-08T03:15:51Z loke: aeth: You need a way to disablethings like the FFI and all extensions that allow you to call POSIC functions or execute external programs. 2017-03-08T03:17:07Z aeth: By "decently secure" I mean it's not like the straightforward, idomatic way of doing things open you up to major security holes like in C. 2017-03-08T03:17:21Z aeth: Of course nothing on a Unix is going to be truly secure because, see: C. 2017-03-08T03:17:36Z loke: aeth: Well of course. Things like array overlfows can't do things like that. 2017-03-08T03:19:45Z wtetzner quit (Remote host closed the connection) 2017-03-08T03:20:44Z aeth: Oh, it's not just C. Shell is pretty bad, too. 2017-03-08T03:21:04Z aeth: And outside of languages, stuff like X aren't very secure. 2017-03-08T03:21:31Z akkad: when you redirect 443 to port 80 for a page where you can order stuff, seems very bad. 2017-03-08T03:22:48Z aeth: But afaik garbage collection solves a ton of security flaws. Not having null helps, too. (Afaik the closest CL has to a null is when gethash returns (values nil nil) when the hash doesn't exist) 2017-03-08T03:23:18Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-08T03:23:48Z FreeBirdLjj joined #lisp 2017-03-08T03:24:16Z aeth: akkad: That doesn't mean their products themselves aren't secure, unless both products include an HTTP-only web server that they're using on their websites. 2017-03-08T03:27:02Z aeth: Also, is the order page for either also HTTP? Maybe they use https://shop.example.com/ or something 2017-03-08T03:27:37Z aeth: HTTPSing everything is a fairly recent trend, at least in the timescale of those ancient Lisps. (When was the last time the HyperSpec got updated?) 2017-03-08T03:28:11Z adlai joined #lisp 2017-03-08T03:29:47Z Guest31957 is now known as CrazEd 2017-03-08T03:30:16Z CrazEd is now known as Guest56370 2017-03-08T03:33:48Z sellout- joined #lisp 2017-03-08T03:36:54Z lambda-smith joined #lisp 2017-03-08T03:40:40Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-08T03:41:15Z FreeBirdLjj joined #lisp 2017-03-08T03:42:49Z oleo quit (Read error: Connection reset by peer) 2017-03-08T03:44:10Z lambda-smith quit (Quit: Konversation terminated!) 2017-03-08T03:46:05Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-08T03:49:48Z pjb quit (Ping timeout: 240 seconds) 2017-03-08T03:50:53Z pjb joined #lisp 2017-03-08T03:52:03Z beach: Good morning everyone! 2017-03-08T03:55:28Z pjb quit (Ping timeout: 240 seconds) 2017-03-08T04:00:14Z FreeBirdLjj joined #lisp 2017-03-08T04:00:27Z Guest4533 joined #lisp 2017-03-08T04:02:45Z Danny_ joined #lisp 2017-03-08T04:03:31Z wooden_ joined #lisp 2017-03-08T04:04:57Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-08T04:05:40Z FreeBirdLjj joined #lisp 2017-03-08T04:06:18Z eschatologist quit (Quit: ZNC 1.6.3+deb2 - http://znc.in) 2017-03-08T04:06:56Z eschatologist joined #lisp 2017-03-08T04:07:50Z sheep` joined #lisp 2017-03-08T04:08:05Z BitPuffin|osx quit (Ping timeout: 240 seconds) 2017-03-08T04:09:10Z Danny_ quit (Quit: Page closed) 2017-03-08T04:09:35Z sheep`: By the way, why somebody recommended using Clojure instead of CL for web developement? 2017-03-08T04:09:43Z loke: Nice. ironclad has been updated with sha3 support. 2017-03-08T04:09:48Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-08T04:09:51Z loke: sheep`: No. 2017-03-08T04:09:59Z FreeBirdLjj joined #lisp 2017-03-08T04:10:02Z loke: sheep`: Well, for the client side, it's acceptable. Not for the server side. 2017-03-08T04:10:13Z sheep`: Why not...? 2017-03-08T04:10:23Z beach: sheep`: This channel is dedicated to Common Lisp. 2017-03-08T04:10:36Z sheep`: I know, and I am asking a question about CL. 2017-03-08T04:11:12Z loke: sheep`: The question, it seems, is: “Is there a decent client-side CL framework for the web?”, to which the answer is “not really”. 2017-03-08T04:12:38Z Guest4533 quit (Remote host closed the connection) 2017-03-08T04:13:16Z sheep_ joined #lisp 2017-03-08T04:15:05Z sheep_ quit (Client Quit) 2017-03-08T04:15:50Z sheep`: loke: Well, I think drakma can be option for HTTP communications. And for web server there is clack and hunchentoot etc...Correct? 2017-03-08T04:16:19Z someone_ joined #lisp 2017-03-08T04:16:29Z loke: sheep`: I said client side development. 2017-03-08T04:16:44Z loke: For the server side there are plenty of awesome options (better than anything I've used on other platforms) 2017-03-08T04:17:14Z sheep`: By saying "client side" you mean desktop GUI programming? 2017-03-08T04:17:35Z dpg quit (Ping timeout: 240 seconds) 2017-03-08T04:17:36Z someone_ quit (Client Quit) 2017-03-08T04:18:01Z loke: sheep`: I mean web application. Targeting Javascript web applciations. 2017-03-08T04:18:37Z sheep`: Oops, sorry I misunderstood it...I agree with you. But really, I don't think using CL to develop JS is a good idea 2017-03-08T04:21:12Z loke: sheep`: It isn't. 2017-03-08T04:21:56Z pillton: Is there an X where "using X to develop JS is a good idea"? 2017-03-08T04:21:56Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-08T04:22:10Z pillton: other than the JS. 2017-03-08T04:22:11Z loke: It could be, I guess, but it would require a very good CL→JS framework. That doesn't exist, and AFAIK no one is working on one. The Clojurescipt one, however, is decent, and Clojure is a better environment than JS, even though Clojure is kinda pants. 2017-03-08T04:23:16Z loke: pillton: Most X→JS is bad, since they do nothing than to code JS in a different syntax. Clojurescript is different, since it implements the full Clojure runtime in JS, so you're really developing in Clojure. I wish we had something similar for CL, but that's very unlikely to happen. 2017-03-08T04:23:28Z sheep`: pillton: X can be a JS framework, by which means that instead of writing JS yourself, you write something else and there is a compiler to generate JS for you. 2017-03-08T04:24:06Z pillton: loke: Oh right. 2017-03-08T04:24:51Z sheep`: pillton: sorry for typo. JS framework -> another language 2017-03-08T04:25:38Z loke: pillton: What was really appealing was how they integrated Cider (the Clojure version of SLIME) into the Clojurescript framework. Meaning I can do all the SLIME-ish things with the runtime that is executing the webapplication inside the browser. Much, MUCH better than your typical JS development environment. 2017-03-08T04:25:55Z Jesin joined #lisp 2017-03-08T04:26:06Z pillton: sheep`: Thanks for clarifying. 2017-03-08T04:27:17Z Harag joined #lisp 2017-03-08T04:28:00Z pillton: loke: Right. 2017-03-08T04:30:24Z Guest56370 is now known as CrazEd 2017-03-08T04:30:53Z CrazEd is now known as Guest31598 2017-03-08T04:36:19Z logrus quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-08T04:47:20Z sheep` quit (Remote host closed the connection) 2017-03-08T04:48:30Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-08T04:48:33Z wtetzner joined #lisp 2017-03-08T04:51:32Z FreeBirdLjj joined #lisp 2017-03-08T04:53:16Z wtetzner quit (Ping timeout: 256 seconds) 2017-03-08T05:01:45Z andrei_chifa joined #lisp 2017-03-08T05:02:22Z fiddlerwoaroof: pillton: most web development these days uses X->JS systems 2017-03-08T05:02:25Z fiddlerwoaroof: where X = JS 2017-03-08T05:03:23Z fiddlerwoaroof: Every "modern" JS stack I've seen uses Babel to compile ES6 to something that can run on actual browsers 2017-03-08T05:16:53Z mishoo joined #lisp 2017-03-08T05:17:02Z oleo joined #lisp 2017-03-08T05:17:02Z oleo quit (Changing host) 2017-03-08T05:17:02Z oleo joined #lisp 2017-03-08T05:19:53Z White_Flame: js-lisp implementations: http://ceaude.twoticketsplease.de/js-lisps.html 2017-03-08T05:20:16Z White_Flame: but those tend to focus on the programming languages, not GUI frameworks 2017-03-08T05:20:45Z White_Flame: it's also probably a few years old, update-wise 2017-03-08T05:26:59Z White_Flame: in any case, my client-side JS tends to just open up a websocket back to the server, and eval whatever comes in 2017-03-08T05:27:11Z White_Flame: drive everything from 1 place 2017-03-08T05:30:22Z mishoo quit (Ping timeout: 264 seconds) 2017-03-08T05:31:05Z Guest31598 is now known as CrazEd 2017-03-08T05:31:36Z CrazEd is now known as Guest41609 2017-03-08T05:34:57Z Zhivago joined #lisp 2017-03-08T05:35:02Z Zhivago quit (Changing host) 2017-03-08T05:35:02Z Zhivago joined #lisp 2017-03-08T05:37:28Z BlueRavenGT quit (Ping timeout: 256 seconds) 2017-03-08T05:40:04Z hvn0413 joined #lisp 2017-03-08T05:45:24Z impulse quit (Ping timeout: 260 seconds) 2017-03-08T05:49:06Z wtetzner joined #lisp 2017-03-08T05:53:11Z mishoo joined #lisp 2017-03-08T05:54:43Z wtetzner quit (Ping timeout: 246 seconds) 2017-03-08T06:02:09Z jameser_ joined #lisp 2017-03-08T06:03:43Z jameser quit (Remote host closed the connection) 2017-03-08T06:10:00Z shka_ joined #lisp 2017-03-08T06:14:11Z vlatkoB joined #lisp 2017-03-08T06:14:27Z defaultxr quit (Ping timeout: 240 seconds) 2017-03-08T06:16:09Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-08T06:25:23Z oleo quit (Quit: Verlassend) 2017-03-08T06:25:24Z MrBismuth joined #lisp 2017-03-08T06:28:15Z MrBusiness quit (Ping timeout: 258 seconds) 2017-03-08T06:29:11Z chens joined #lisp 2017-03-08T06:31:40Z dec0n joined #lisp 2017-03-08T06:32:18Z Guest41609 is now known as CrazEd 2017-03-08T06:32:47Z CrazEd is now known as Guest18357 2017-03-08T06:35:29Z mishoo quit (Ping timeout: 240 seconds) 2017-03-08T06:44:00Z bocaneri joined #lisp 2017-03-08T06:44:01Z bocaneri quit (Max SendQ exceeded) 2017-03-08T06:45:09Z jack_rip_vim joined #lisp 2017-03-08T06:47:05Z shka_ quit (Ping timeout: 240 seconds) 2017-03-08T06:53:06Z bocaneri joined #lisp 2017-03-08T06:57:40Z X-Scale quit (Quit: HydraIRC -> http://www.hydrairc.com <- Wibbly Wobbly IRC) 2017-03-08T06:57:56Z __SiCC__ quit (Ping timeout: 245 seconds) 2017-03-08T07:02:43Z zooey quit (Ping timeout: 240 seconds) 2017-03-08T07:04:06Z zooey joined #lisp 2017-03-08T07:07:13Z rumbler31 joined #lisp 2017-03-08T07:07:31Z vlatkoB_ joined #lisp 2017-03-08T07:07:57Z FreeBirdLjj joined #lisp 2017-03-08T07:11:06Z SiCC joined #lisp 2017-03-08T07:11:32Z rumbler31 quit (Ping timeout: 256 seconds) 2017-03-08T07:11:34Z vlatkoB quit (Ping timeout: 258 seconds) 2017-03-08T07:13:22Z aeth: That outdated list doesn't have JSCL: https://jscl-project.github.io/ 2017-03-08T07:14:44Z aeth: Unfortunately, JSCL at the moment is mostly an exercise in reading "ERROR: Function 'FOO' undefined" where FOO is some standard CL function (even some that can't be that hard to naively implement like, FILL) 2017-03-08T07:15:15Z Bike: compelling. 2017-03-08T07:15:55Z Bike quit (Quit: slep) 2017-03-08T07:16:29Z aeth: s/like, FILL/, like FILL/ 2017-03-08T07:17:48Z mishoo joined #lisp 2017-03-08T07:20:26Z manuel_ joined #lisp 2017-03-08T07:20:33Z jameser_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-08T07:21:42Z jameser joined #lisp 2017-03-08T07:23:29Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-08T07:25:27Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-08T07:25:45Z xantoz quit (Ping timeout: 258 seconds) 2017-03-08T07:26:05Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-08T07:30:14Z wheelsucker quit (Ping timeout: 256 seconds) 2017-03-08T07:30:29Z FreeBirdLjj joined #lisp 2017-03-08T07:31:12Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-08T07:31:32Z stepnem joined #lisp 2017-03-08T07:33:23Z Guest18357 is now known as CrazEd 2017-03-08T07:33:53Z CrazEd is now known as Guest98089 2017-03-08T07:34:54Z FreeBirdLjj joined #lisp 2017-03-08T07:35:36Z dpg joined #lisp 2017-03-08T07:37:17Z andrei_chifa joined #lisp 2017-03-08T07:37:47Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-08T07:38:23Z FreeBirdLjj joined #lisp 2017-03-08T07:38:59Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-08T07:42:08Z gen93 quit (Ping timeout: 256 seconds) 2017-03-08T07:44:17Z gen93 joined #lisp 2017-03-08T07:46:35Z flamebeard joined #lisp 2017-03-08T07:47:05Z hvn0413 quit (Quit: Connection closed for inactivity) 2017-03-08T07:48:09Z varjag joined #lisp 2017-03-08T07:50:13Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-08T07:51:24Z fluxit quit (Ping timeout: 260 seconds) 2017-03-08T07:51:59Z FreeBirdLjj joined #lisp 2017-03-08T07:52:57Z Amplituhedron joined #lisp 2017-03-08T07:54:31Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-08T07:55:10Z FreeBirdLjj joined #lisp 2017-03-08T07:59:56Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-08T08:00:51Z FreeBirdLjj joined #lisp 2017-03-08T08:02:20Z wtetzner joined #lisp 2017-03-08T08:02:38Z fluxit joined #lisp 2017-03-08T08:03:46Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-08T08:04:23Z FreeBirdLjj joined #lisp 2017-03-08T08:04:52Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-08T08:05:30Z FreeBirdLjj joined #lisp 2017-03-08T08:05:39Z yeticry_ joined #lisp 2017-03-08T08:06:29Z wtetzner quit (Ping timeout: 240 seconds) 2017-03-08T08:08:27Z yeticry quit (Ping timeout: 240 seconds) 2017-03-08T08:08:27Z pve joined #lisp 2017-03-08T08:09:28Z rippa joined #lisp 2017-03-08T08:09:52Z xantoz joined #lisp 2017-03-08T08:10:19Z Beetny joined #lisp 2017-03-08T08:12:22Z jack_rip_vim quit (Remote host closed the connection) 2017-03-08T08:12:50Z jack_rip_vim joined #lisp 2017-03-08T08:12:56Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-08T08:13:57Z chens quit (Ping timeout: 240 seconds) 2017-03-08T08:14:08Z FreeBirdLjj joined #lisp 2017-03-08T08:15:02Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-08T08:15:38Z FreeBirdLjj joined #lisp 2017-03-08T08:18:42Z angavrilov joined #lisp 2017-03-08T08:26:05Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-08T08:27:00Z FreeBirdLjj joined #lisp 2017-03-08T08:28:39Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-08T08:28:53Z phoe_ joined #lisp 2017-03-08T08:30:35Z trueneu joined #lisp 2017-03-08T08:33:08Z FreeBirdLjj joined #lisp 2017-03-08T08:34:00Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-08T08:34:07Z Guest98089 is now known as CrazEd 2017-03-08T08:34:36Z CrazEd is now known as Guest62150 2017-03-08T08:35:01Z ogamita joined #lisp 2017-03-08T08:35:07Z FreeBirdLjj joined #lisp 2017-03-08T08:36:45Z o1e9 joined #lisp 2017-03-08T08:42:23Z akkad quit (Excess Flood) 2017-03-08T08:47:13Z akkad joined #lisp 2017-03-08T08:48:09Z dtornabene joined #lisp 2017-03-08T08:52:20Z jack_rip_vim quit (Quit: Leaving) 2017-03-08T08:53:06Z dpg quit (Remote host closed the connection) 2017-03-08T08:54:10Z araujo joined #lisp 2017-03-08T09:07:34Z manuel_ quit (Quit: manuel_) 2017-03-08T09:11:42Z spatial joined #lisp 2017-03-08T09:11:48Z Einwq joined #lisp 2017-03-08T09:13:56Z spatial: Need help to decipher the loop http://pastebin.com/Up27gjRH 2017-03-08T09:14:30Z flip214: spatial: there's no loop in there? 2017-03-08T09:14:30Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-08T09:15:12Z spatial: Sorry The condition. 2017-03-08T09:16:11Z flip214: clhs cond 2017-03-08T09:16:11Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_cond.htm 2017-03-08T09:16:12Z spatial: Just trying to port it to Haskell. 2017-03-08T09:17:43Z spatial: t 0.5 is like 'otherwise' ? 2017-03-08T09:18:01Z flip214: yeah 2017-03-08T09:21:12Z FreeBirdLjj joined #lisp 2017-03-08T09:21:29Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-08T09:22:02Z megalography quit (Remote host closed the connection) 2017-03-08T09:22:29Z phoe_: spatial: hm, looks pretty self-explanatory 2017-03-08T09:22:37Z phoe_: you have three functions calls there in the clauses 2017-03-08T09:22:41Z spatial: Got it 2017-03-08T09:23:03Z phoe_: if first, then 0; if not first and second, then 1; if not first and not second and third, then 0; otherwise, 0.5 2017-03-08T09:24:16Z eMBee quit (Ping timeout: 260 seconds) 2017-03-08T09:24:23Z beach` joined #lisp 2017-03-08T09:25:04Z beach quit (Remote host closed the connection) 2017-03-08T09:29:07Z flip214: phoe_: that needs parens to be readable ;) 2017-03-08T09:29:17Z flip214: if (not first) and second, then 1; ... ;) 2017-03-08T09:29:24Z phoe_: flip214: sigh 2017-03-08T09:29:38Z phoe_: in my sentence, not binds stronger than and 2017-03-08T09:30:28Z flip214: hmmm, didn't see that precedence order declared anywhere 2017-03-08T09:31:52Z phoe_: flip214: because I didn't declare it :P 2017-03-08T09:32:05Z flip214: see? 2017-03-08T09:32:35Z gingerale joined #lisp 2017-03-08T09:35:00Z andrei_chifa joined #lisp 2017-03-08T09:35:11Z Guest62150 is now known as CrazEd 2017-03-08T09:35:41Z CrazEd is now known as Guest90023 2017-03-08T09:35:43Z DeadTrickster joined #lisp 2017-03-08T09:37:16Z Karl_Dscc joined #lisp 2017-03-08T09:39:13Z beach` is now known as beach 2017-03-08T09:39:32Z ogamita: flip214: it's specifically specified in the syntax of Pascal. 2017-03-08T09:39:57Z ogamita: -in general in maths, unary operators are more prioritary than binary operators. 2017-03-08T09:42:16Z flip214: ogamita: but logical operators might have higher or lower precedence than bitwise operators; cf. perl5 "and" vs. "&&" vs. "&" ;) 2017-03-08T09:45:17Z cibs quit (Ping timeout: 258 seconds) 2017-03-08T09:45:37Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2017-03-08T09:46:50Z sbodin joined #lisp 2017-03-08T09:47:16Z cibs joined #lisp 2017-03-08T09:47:46Z vibs29 quit (Ping timeout: 264 seconds) 2017-03-08T09:48:00Z FreeBirdLjj joined #lisp 2017-03-08T09:50:10Z FreeBird_ joined #lisp 2017-03-08T09:50:30Z impulse joined #lisp 2017-03-08T09:50:37Z fluter quit (Ping timeout: 255 seconds) 2017-03-08T09:50:46Z dan64- quit (Ping timeout: 256 seconds) 2017-03-08T09:52:32Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2017-03-08T09:52:36Z vibs29 joined #lisp 2017-03-08T09:53:14Z FreeBirdLjj joined #lisp 2017-03-08T09:54:22Z cibs quit (Ping timeout: 264 seconds) 2017-03-08T09:54:44Z FreeBird_ quit (Ping timeout: 256 seconds) 2017-03-08T09:55:00Z cibs joined #lisp 2017-03-08T09:55:24Z nirved joined #lisp 2017-03-08T09:55:26Z nhandler quit (Quit: leaving) 2017-03-08T09:56:14Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-08T09:56:48Z nhandler joined #lisp 2017-03-08T09:57:04Z FreeBirdLjj joined #lisp 2017-03-08T10:00:55Z trueneu quit (Read error: Connection reset by peer) 2017-03-08T10:02:10Z FreeBirdLjj quit (Ping timeout: 264 seconds) 2017-03-08T10:06:05Z fluter joined #lisp 2017-03-08T10:07:19Z FreeBirdLjj joined #lisp 2017-03-08T10:07:30Z dan64 joined #lisp 2017-03-08T10:07:40Z spatial quit (Quit: Page closed) 2017-03-08T10:11:03Z sjl joined #lisp 2017-03-08T10:12:35Z tormar joined #lisp 2017-03-08T10:14:34Z Karl_Dscc quit (Remote host closed the connection) 2017-03-08T10:14:41Z hvn0413 joined #lisp 2017-03-08T10:15:12Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-08T10:16:25Z tormar: Need help getting slimv to work (SLIME for Vim) on Windows. For some reason the server will not start. To debug I start SBCL in the directory of my slimv bundle and evaluate (load "swank-loader.lisp") (swank-loader:init). This signals an error: Can't create directory c:\Users\tormar\.slime\fasl\2.18 2017-03-08T10:17:30Z tormar: c:\Users\tormar\.slime\fasl\ exist, and I've even tried to manually create folder 2.18, but keep getting this error. 2017-03-08T10:17:43Z tormar: Any idea? 2017-03-08T10:20:14Z tormar: Tried to start SBCL as Administrator, no luck. 2017-03-08T10:20:46Z sbodin quit (Ping timeout: 264 seconds) 2017-03-08T10:30:04Z sigjuice_ quit (Ping timeout: 260 seconds) 2017-03-08T10:30:18Z phoe_: tormar: I'd raise a GitHub issue for that. from my gut feeling, it looks like it'll need some OS-dependent investigation. 2017-03-08T10:31:22Z sigjuice joined #lisp 2017-03-08T10:31:44Z tormar: phoe_: ok. Was unsure if this belongs to slimv or swank in this case. I'm not very experienced with any of these things :) 2017-03-08T10:31:52Z sjl__ joined #lisp 2017-03-08T10:32:26Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-08T10:33:03Z FreeBirdLjj joined #lisp 2017-03-08T10:34:22Z sjl quit (Ping timeout: 246 seconds) 2017-03-08T10:34:52Z attila_lendvai joined #lisp 2017-03-08T10:34:52Z attila_lendvai quit (Changing host) 2017-03-08T10:34:52Z attila_lendvai joined #lisp 2017-03-08T10:35:18Z manuel_ joined #lisp 2017-03-08T10:37:27Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2017-03-08T10:37:48Z phoe_: tormar: I don't know either - but it looks like a Windows-dependent issue, at which point I guess it will take some longer investigation. 2017-03-08T10:38:26Z tormar: phoe_: Yes. Thank you, creating an issue with slimv now. 2017-03-08T10:38:31Z phoe_: And IRC tends to change topics relatively quickly. That's why I say - create a GitHub issue that people can collaborate on and that can be linked elsewhere. 2017-03-08T10:47:26Z ogamita` joined #lisp 2017-03-08T10:47:55Z Karl_Dscc joined #lisp 2017-03-08T10:49:05Z ogamita quit (Ping timeout: 240 seconds) 2017-03-08T10:55:16Z seg_ quit (Ping timeout: 260 seconds) 2017-03-08T10:59:13Z iago quit (Quit: Leaving) 2017-03-08T11:00:12Z seg joined #lisp 2017-03-08T11:00:55Z salva quit (Read error: Connection reset by peer) 2017-03-08T11:01:33Z salva joined #lisp 2017-03-08T11:01:35Z salva quit (Read error: Connection reset by peer) 2017-03-08T11:02:23Z salva joined #lisp 2017-03-08T11:07:01Z cibs quit (Ping timeout: 268 seconds) 2017-03-08T11:07:03Z Brionne left #lisp 2017-03-08T11:08:47Z cibs joined #lisp 2017-03-08T11:18:45Z shdeng quit (Quit: Leaving) 2017-03-08T11:22:35Z troydm joined #lisp 2017-03-08T11:23:15Z sjl__ is now known as sjl 2017-03-08T11:26:16Z ogamita` is now known as ogamita 2017-03-08T11:36:13Z sjl quit (Read error: Connection reset by peer) 2017-03-08T11:36:19Z nowhere_man joined #lisp 2017-03-08T11:36:33Z nowhereman quit (Quit: Konversation terminated!) 2017-03-08T11:39:31Z bpanthi joined #lisp 2017-03-08T11:40:34Z jameser joined #lisp 2017-03-08T11:41:17Z hjudt: crazy sh... (cl-ppcre:split ";" "1;;;2;3;4;5;;;;") swallows the empty ";" at the end?? 2017-03-08T11:41:55Z hjudt: result: ("1" "" "" "2" "3" "4" "5") 2017-03-08T11:42:23Z snowcrshd joined #lisp 2017-03-08T11:42:34Z flip214: hjudt: perl-compatible. 2017-03-08T11:42:36Z flip214: "If limit is NIL (or 0 which is equivalent), trailing empty strings are removed from the result list. 2017-03-08T11:42:40Z flip214: http://weitz.de/cl-ppcre/#split 2017-03-08T11:42:56Z flip214: use -1 to get all empty values as well 2017-03-08T11:43:04Z hjudt: ok. str:split does the same, as it is derived from it 2017-03-08T11:43:25Z flip214: or :limit 1000000000 2017-03-08T11:46:09Z hjudt: your last proposal works, but -1 only returns the complete string? 2017-03-08T11:47:44Z tormar: hjudt: When you say str:split, what package are you refering to? 2017-03-08T11:47:54Z sjl joined #lisp 2017-03-08T11:48:17Z hjudt: tormar: str:split. seems to be new in quicklisp and is declared unstable. so it's better to stay with cl-ppcre. 2017-03-08T11:48:36Z flip214: hjudt: sorry, I thought that was perl-compatible too. seems it's not... "perldoc perlfunc" says "If LIMIT is negative, it is treated as if it were instead arbitrarily large; as many fields as possible are produced." 2017-03-08T11:48:56Z schjetne quit (Ping timeout: 260 seconds) 2017-03-08T11:50:09Z hjudt: flip214: anyway, upping the limit solves the problem in my case 2017-03-08T11:50:58Z trocado joined #lisp 2017-03-08T11:54:02Z hhdave joined #lisp 2017-03-08T11:55:26Z sjl quit (Ping timeout: 256 seconds) 2017-03-08T12:02:44Z Amplituhedron quit (Remote host closed the connection) 2017-03-08T12:10:47Z Beetny quit (Ping timeout: 260 seconds) 2017-03-08T12:12:01Z d4ryus1 joined #lisp 2017-03-08T12:13:23Z Amplituhedron joined #lisp 2017-03-08T12:15:13Z Amplituhedron quit (Client Quit) 2017-03-08T12:15:28Z d4ryus quit (Ping timeout: 268 seconds) 2017-03-08T12:16:11Z flip214: hjudt: fixed in upstream. thanks for calling attention to that point! 2017-03-08T12:16:33Z ogamita quit (Read error: Connection reset by peer) 2017-03-08T12:16:52Z H4ns: well, the regular expressions are perl compatible. the api is not. i've merged the PR anyway. 2017-03-08T12:18:21Z flip214: yeah, thanks a lot! 2017-03-08T12:18:59Z flip214: shouldn't the api be compatible, too? just imagine, that would give us an easy perl-to-cl translator at some point!! ;) 2017-03-08T12:21:35Z smokeink quit (Ping timeout: 240 seconds) 2017-03-08T12:22:32Z smokeink joined #lisp 2017-03-08T12:26:16Z Amplituhedron joined #lisp 2017-03-08T12:27:05Z hvn0413 quit (Quit: Connection closed for inactivity) 2017-03-08T12:29:46Z manuel_ quit (Quit: manuel_) 2017-03-08T12:33:11Z ogamita joined #lisp 2017-03-08T12:39:26Z edgar-rft joined #lisp 2017-03-08T12:40:55Z EvW joined #lisp 2017-03-08T12:41:53Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-08T12:42:49Z ffa quit (Ping timeout: 246 seconds) 2017-03-08T12:45:07Z sjl joined #lisp 2017-03-08T12:51:06Z phoe_: yay, a perl compiler in Lisp 2017-03-08T12:51:27Z phoe_: reader macro paradise 2017-03-08T12:53:21Z flip214: phoe_: just invoke the perl module that gives you the AST of some perl code in json, and convert that to CL ;) 2017-03-08T12:53:56Z BitPuffin|osx joined #lisp 2017-03-08T13:01:29Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-08T13:02:56Z trocado quit (Remote host closed the connection) 2017-03-08T13:06:12Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-08T13:06:43Z mejja joined #lisp 2017-03-08T13:08:39Z schjetne joined #lisp 2017-03-08T13:08:43Z BitPuffin|osx quit (Remote host closed the connection) 2017-03-08T13:09:38Z BitPuffin|osx joined #lisp 2017-03-08T13:09:51Z whiteline quit (Remote host closed the connection) 2017-03-08T13:10:50Z ogamita: flip214: probably more complicated than that, given that perl reader can also be modified like in lisp. 2017-03-08T13:15:54Z flip214: well, I guess for a first iteration allowing only Perl5 is a valid proposition. 2017-03-08T13:17:15Z andrei_chifa joined #lisp 2017-03-08T13:17:18Z trueneu joined #lisp 2017-03-08T13:17:31Z m00natic joined #lisp 2017-03-08T13:17:39Z mejja: Isn't it better to let Perl RIP? 2017-03-08T13:18:33Z phoe_: mejja: not really. If we do it, God is going to miss his ducktape. 2017-03-08T13:19:48Z flip214: mejja: what replacement would you suggest for quick, simple, easy, performant text extraction and reporting? 2017-03-08T13:20:00Z flip214: as one- and two-liners on the shell, and so on 2017-03-08T13:24:53Z jameser joined #lisp 2017-03-08T13:26:02Z tormar quit (Quit: Leaving) 2017-03-08T13:29:36Z ogamita: flip214: a good CL library. 2017-03-08T13:32:25Z dim: maybe txr 2017-03-08T13:32:43Z dim: http://www.nongnu.org/txr/ 2017-03-08T13:33:16Z malice` joined #lisp 2017-03-08T13:33:44Z malice`: Can I get my interpreter to print empty list as (), not NIL? 2017-03-08T13:34:48Z sjl__ joined #lisp 2017-03-08T13:34:59Z cibs quit (Ping timeout: 240 seconds) 2017-03-08T13:35:00Z phoe_: malice`: the simple idea, although non-portable, is attempting to define a print-object method specialized on type NULL 2017-03-08T13:35:34Z phoe_: but, generally, I don't know. 2017-03-08T13:35:38Z malice`: type null? 2017-03-08T13:35:44Z phoe_: clhs print-object 2017-03-08T13:35:44Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_pr_obj.htm 2017-03-08T13:35:45Z malice`: I could use eql specifier 2017-03-08T13:35:49Z flip214: ogamita: sorry, but no. for quick, one-off things, the short syntax of perl is quite nice to have... any CL library that still needs its long-but-readable-identifiers is no good 2017-03-08T13:35:50Z phoe_: no, why? 2017-03-08T13:35:55Z phoe_: the only object of type NULL is NIL 2017-03-08T13:36:10Z phoe_: (defmethod print-object ((object null) stream) ...) 2017-03-08T13:36:17Z malice`: Yeah, true. 2017-03-08T13:36:35Z phoe_: except you're going into undefined behaviour here as defining methods on standard CL objects is undefined. 2017-03-08T13:36:37Z phoe_: Might work, might not. 2017-03-08T13:36:38Z malice`: I hoped to use () in code golf. I guess I need to use different approach then :d 2017-03-08T13:36:40Z phoe_: It's already hacking. 2017-03-08T13:36:52Z cibs joined #lisp 2017-03-08T13:37:08Z sjl quit (Ping timeout: 240 seconds) 2017-03-08T13:37:12Z Xach: malice`: you could pprint instead of print, and establish a dispatch table of your choosing. 2017-03-08T13:37:23Z mejja quit (Quit: \ No newline at end of file) 2017-03-08T13:38:59Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-08T13:39:44Z attila_lendvai joined #lisp 2017-03-08T13:44:18Z sjl__ quit (Read error: Connection reset by peer) 2017-03-08T13:44:20Z tormar joined #lisp 2017-03-08T13:44:31Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-08T13:45:49Z sjl__ joined #lisp 2017-03-08T13:46:30Z whiteline joined #lisp 2017-03-08T13:47:09Z kobain joined #lisp 2017-03-08T13:48:35Z bpanthi quit (Ping timeout: 240 seconds) 2017-03-08T13:50:20Z bpanthi joined #lisp 2017-03-08T13:50:28Z EvW quit (Ping timeout: 256 seconds) 2017-03-08T13:52:05Z yeticry_ quit (Quit: leaving) 2017-03-08T13:52:30Z malice`: Anyone here knows how to set up Roswell + Travis CI + FiveAM? I'm trying to make automated tests for my library, but Roswell is problematic for me; when quickloading my library, quicklisp says that it can't find my library, and I don't know how should I inform it about its path(or if something else is a problem). 2017-03-08T13:53:35Z phoe_: malice`: https://common-lisp.net/project/asdf/asdf/Configuring-ASDF-to-find-your-systems.html ? 2017-03-08T13:53:51Z andrei_chifa joined #lisp 2017-03-08T13:54:03Z malice`: I tried pushing path to source-registry, but it didn't help. 2017-03-08T13:54:07Z malice`: Maybe I did that wrong... 2017-03-08T13:54:26Z malice`: Problem is, Roswell is nicely explained but only if you want to use prove :) 2017-03-08T13:54:40Z TDT joined #lisp 2017-03-08T13:56:11Z quazimodo joined #lisp 2017-03-08T13:57:04Z sjl__ is now known as sjl 2017-03-08T13:57:57Z bpanthi quit (Quit: bpanthi) 2017-03-08T13:58:25Z eagleflo_ is now known as eagleflo 2017-03-08T13:58:40Z manuel_ joined #lisp 2017-03-08T14:05:29Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-08T14:08:55Z vibs29 quit (Ping timeout: 246 seconds) 2017-03-08T14:10:14Z tormar: malice: Might be a n00b answer, but if you put your library under quicklisp's local-projects quicklisp should find it. On windows I typically create a link from where my project is actually located to $HOME/quicklisp/local-projects/ 2017-03-08T14:10:58Z tormar: have no experience with Roswell though 2017-03-08T14:15:08Z vibs29 joined #lisp 2017-03-08T14:15:13Z sellout- quit (Quit: Leaving.) 2017-03-08T14:18:16Z schjetne quit (Ping timeout: 260 seconds) 2017-03-08T14:19:44Z andrei_chifa joined #lisp 2017-03-08T14:19:56Z cromachina quit (Read error: Connection reset by peer) 2017-03-08T14:20:02Z jfb4 quit (Ping timeout: 268 seconds) 2017-03-08T14:21:06Z schjetne joined #lisp 2017-03-08T14:21:22Z jerme joined #lisp 2017-03-08T14:21:45Z jfb4 joined #lisp 2017-03-08T14:22:54Z malice`: tormar: yeah, but there are three problems: (a) Roswell has its own quicklisp place afaik (b) This happens on remote sandbox that would make setting this up a little bit problematic and (c) I'm installing my library using Roswell, so it should take care of that automatically. 2017-03-08T14:23:14Z rumbler31 joined #lisp 2017-03-08T14:24:55Z jerme left #lisp 2017-03-08T14:25:10Z jamtho joined #lisp 2017-03-08T14:25:30Z ogamita quit (Read error: Connection reset by peer) 2017-03-08T14:25:47Z X-Scale joined #lisp 2017-03-08T14:27:54Z LiamH joined #lisp 2017-03-08T14:30:42Z quazimodo quit (Ping timeout: 256 seconds) 2017-03-08T14:31:58Z sellout- joined #lisp 2017-03-08T14:33:56Z ogamita joined #lisp 2017-03-08T14:33:56Z edgar-rft quit (Quit: edgar-rft) 2017-03-08T14:35:28Z cibs quit (Ping timeout: 240 seconds) 2017-03-08T14:37:31Z cibs joined #lisp 2017-03-08T14:38:30Z warweasle joined #lisp 2017-03-08T14:39:49Z ogamita quit (Read error: Connection reset by peer) 2017-03-08T14:39:56Z ogamita` joined #lisp 2017-03-08T14:40:21Z seg_ joined #lisp 2017-03-08T14:40:49Z decuser joined #lisp 2017-03-08T14:41:02Z ogamita` is now known as ogamita 2017-03-08T14:41:49Z [0x8b30cc] joined #lisp 2017-03-08T14:42:51Z seg quit (Ping timeout: 268 seconds) 2017-03-08T14:51:17Z Karl_Dscc quit (Remote host closed the connection) 2017-03-08T14:52:33Z m00natic quit (Remote host closed the connection) 2017-03-08T14:55:59Z sjl quit (Ping timeout: 240 seconds) 2017-03-08T14:58:29Z jamtho quit (Ping timeout: 240 seconds) 2017-03-08T15:00:39Z gargaml quit (Quit: WeeChat 1.7) 2017-03-08T15:01:51Z lambda-smith joined #lisp 2017-03-08T15:04:05Z tormar quit (Ping timeout: 240 seconds) 2017-03-08T15:11:43Z dec0n quit (Read error: Connection reset by peer) 2017-03-08T15:12:34Z pebblexe: hey I have an issue with st-json (http://marijnhaverbeke.nl/st-json/)... I can't seem to figure out how to access the alist in the jso object 2017-03-08T15:12:53Z Karl_Dscc joined #lisp 2017-03-08T15:17:10Z Amplituhedron quit (Quit: Konversation terminated!) 2017-03-08T15:17:29Z gargaml joined #lisp 2017-03-08T15:17:30Z beach: pebblexe: What did you try, and what happened when you did? 2017-03-08T15:18:38Z gargaml quit (Client Quit) 2017-03-08T15:18:46Z gargaml joined #lisp 2017-03-08T15:20:04Z varjag quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2017-03-08T15:20:38Z [0x8b30cc] quit (Quit: Leaving) 2017-03-08T15:20:51Z phoe_: pebblexe: 2017-03-08T15:20:52Z phoe_: https://github.com/marijnh/ST-JSON/blob/master/st-json.lisp#L35 2017-03-08T15:20:59Z phoe_: so looks like st-json::jso-alist 2017-03-08T15:20:59Z ksool joined #lisp 2017-03-08T15:21:10Z beach: Indeed. 2017-03-08T15:21:29Z pebblexe: https://gist.github.com/pebblexe/0f5be0ccf0c219f3bd78ca2a29a9214f 2017-03-08T15:21:48Z beach: phoe_: Give a man a fish... 2017-03-08T15:22:09Z pebblexe: also when calling a function in a package, should I use ':' or '::' since they both work? 2017-03-08T15:22:09Z phoe_: beach: welp, I was too quick. 2017-03-08T15:22:15Z trueneu quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2017-03-08T15:22:15Z JuanDaugherty joined #lisp 2017-03-08T15:22:23Z phoe_: pebblexe: : is for accessing external symbols of a package. 2017-03-08T15:22:24Z pebblexe: phoe_: thanks! 2017-03-08T15:22:31Z phoe_: :: is for accessing all of them. 2017-03-08T15:22:32Z Colleen: Unknown command. Possible matches: 8, time, say, time for, roll, help, deny, notify, login, grant, 2017-03-08T15:22:37Z phoe_: Colleen: sorry. 2017-03-08T15:22:37Z Colleen: Unknown command. Possible matches: 8, say, roll, search, login, award, time, help, deny, fortune, 2017-03-08T15:22:38Z pebblexe: phoe_: did not know that 2017-03-08T15:22:50Z jamtho joined #lisp 2017-03-08T15:23:36Z phoe_: pebblexe: generally, the first thing to do when you have questions like that - look in the library's source code. 2017-03-08T15:23:56Z phoe_: The library has to access the alist internally. If it does, then it means that you may, as well. 2017-03-08T15:24:30Z phoe_: though ST-JSON has an API that doesn't let you get the internal alist *despite* saying in the docs that the type JSO is just a "thin wrapper over alist". 2017-03-08T15:24:55Z phoe_: Which I find silly. Feel free to make a pull request to that library that adds jso-alist to the list of exported symbols. 2017-03-08T15:28:35Z o1e9 quit (Quit: Ex-Chat) 2017-03-08T15:34:22Z jamtho quit (Ping timeout: 260 seconds) 2017-03-08T15:37:44Z mishoo quit (Ping timeout: 268 seconds) 2017-03-08T15:37:47Z pebblexe: phoe_: thanks, I've been trying to read library code but it's usually well above my understanding 2017-03-08T15:37:57Z pebblexe: okay this is bugging me: why are the results different? http://paste.lisp.org/display/340900 2017-03-08T15:38:12Z pebblexe: one parse gives me: (#S(ST-JSON:JSO :ALIST (("symbol" . "") ("rootSymbol" . :NULL)))) 2017-03-08T15:38:21Z pebblexe: the second: (#S(ST-JSON:JSO :ALIST ((symbol . ) (rootSymbol . NULL)))) 2017-03-08T15:38:54Z pebblexe: the first one is the result I am looking for, since the second format creates stuff I can't parse like ('blah' . ) 2017-03-08T15:39:05Z nullman quit (Ping timeout: 240 seconds) 2017-03-08T15:39:28Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-08T15:39:34Z TMA: pebblexe: it seems that the first is printed with ~S whereas the second with ~A 2017-03-08T15:39:41Z phoe_: wait 2017-03-08T15:39:55Z phoe_: (symbol . ) smells of wrong syntax 2017-03-08T15:39:56Z NeverDie quit (Quit: http://radiux.io/) 2017-03-08T15:40:05Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-08T15:40:07Z phoe_: oh, because a "" is printed there 2017-03-08T15:40:37Z pebblexe: so how do I keep it in the first form? I can't parse the second format 2017-03-08T15:40:52Z phoe_: it is one and the same thing 2017-03-08T15:41:01Z TMA: pebblexe: use ~s in the format string. do not use ~a 2017-03-08T15:41:03Z phoe_: just printed differently. 2017-03-08T15:41:37Z warweasle quit (Read error: Connection reset by peer) 2017-03-08T15:41:50Z pebblexe: phoe_: okay, thanks 2017-03-08T15:42:32Z drewc quit (Ping timeout: 260 seconds) 2017-03-08T15:42:57Z sbodin joined #lisp 2017-03-08T15:46:40Z warweasle joined #lisp 2017-03-08T15:46:56Z snits quit (Remote host closed the connection) 2017-03-08T15:46:56Z pebblexe: wait, what do I do when I parse some json like [{"hello":""}] -> ("hello" . "") which I can't create/parse 2017-03-08T15:49:45Z Denommus joined #lisp 2017-03-08T15:52:42Z phoe_: huh? 2017-03-08T15:52:45Z phoe_: why can't you create/parse it? 2017-03-08T15:53:07Z ogamita: It should be #(("hello" . "")) or at least (("hello" . "")). 2017-03-08T15:53:10Z snits joined #lisp 2017-03-08T15:55:51Z drewc joined #lisp 2017-03-08T15:56:53Z NeverDie joined #lisp 2017-03-08T15:58:55Z circ-user-j35rB joined #lisp 2017-03-08T15:59:22Z mazoe quit (Remote host closed the connection) 2017-03-08T16:02:20Z drewc quit (Ping timeout: 260 seconds) 2017-03-08T16:04:27Z schjetne quit (Ping timeout: 240 seconds) 2017-03-08T16:06:03Z BlueRavenGT joined #lisp 2017-03-08T16:08:09Z attila_lendvai joined #lisp 2017-03-08T16:10:27Z sellout- quit (Quit: Leaving.) 2017-03-08T16:13:06Z yeticry joined #lisp 2017-03-08T16:15:04Z drewc joined #lisp 2017-03-08T16:15:05Z aje quit (Ping timeout: 240 seconds) 2017-03-08T16:15:50Z phoe_ quit (Quit: Page closed) 2017-03-08T16:21:03Z karswell joined #lisp 2017-03-08T16:21:04Z aje joined #lisp 2017-03-08T16:22:50Z oleo joined #lisp 2017-03-08T16:22:50Z flamebeard quit (Quit: Leaving) 2017-03-08T16:23:51Z malice`: Is there any generic accessor in CL? So that e.g. (access (list 1 2 3) 2) => 3, (access (vector 1 2 3) 2) => 3, (access #H(0 : 1, 1 : 2, 2 : 3) 2) => 3, etc.? (where #H is some printed representation of hash-map) 2017-03-08T16:24:16Z sjl joined #lisp 2017-03-08T16:24:20Z karswell` joined #lisp 2017-03-08T16:24:34Z dlowe: malice`: there have been libraries written to do it 2017-03-08T16:24:38Z dlowe: not built in, though, no 2017-03-08T16:24:45Z malice`: dlowe: some in quicklisp? 2017-03-08T16:24:47Z karswell quit (Read error: Connection reset by peer) 2017-03-08T16:25:05Z dlowe: malice`: don't know that 2017-03-08T16:25:50Z manuel_ quit (Quit: manuel_) 2017-03-08T16:28:22Z trueneu joined #lisp 2017-03-08T16:29:06Z NeverDie quit (Quit: http://radiux.io/) 2017-03-08T16:29:32Z drewc quit (Ping timeout: 268 seconds) 2017-03-08T16:30:35Z smokeink quit (Ping timeout: 240 seconds) 2017-03-08T16:30:52Z NeverDie joined #lisp 2017-03-08T16:30:59Z dmiles quit (Ping timeout: 240 seconds) 2017-03-08T16:32:58Z rlatimore joined #lisp 2017-03-08T16:34:05Z trueneu quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2017-03-08T16:38:28Z trueneu joined #lisp 2017-03-08T16:38:36Z antoszka: malice`: hasn't dwim.hu got something like that in one of its numerous undocumented libraries? :) 2017-03-08T16:41:33Z drewc joined #lisp 2017-03-08T16:42:28Z varjag joined #lisp 2017-03-08T16:42:29Z Harag quit (Read error: Connection reset by peer) 2017-03-08T16:44:14Z Harag joined #lisp 2017-03-08T16:49:05Z drewc quit (Ping timeout: 240 seconds) 2017-03-08T16:50:05Z jlarocco quit (Ping timeout: 240 seconds) 2017-03-08T16:52:26Z Xach: ok /win 3 2017-03-08T16:55:59Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-08T16:58:59Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-08T17:01:05Z NeverDie quit (Quit: http://radiux.io/) 2017-03-08T17:02:05Z drewc joined #lisp 2017-03-08T17:03:17Z trocado joined #lisp 2017-03-08T17:04:07Z NeverDie joined #lisp 2017-03-08T17:05:09Z nowhere_man joined #lisp 2017-03-08T17:08:01Z mishoo joined #lisp 2017-03-08T17:08:17Z drewc quit (Ping timeout: 260 seconds) 2017-03-08T17:12:00Z sellout- joined #lisp 2017-03-08T17:12:38Z EvW1 joined #lisp 2017-03-08T17:12:39Z andrei_chifa joined #lisp 2017-03-08T17:13:29Z Quaker_ quit (Quit: Leaving) 2017-03-08T17:15:02Z trocado quit (Ping timeout: 256 seconds) 2017-03-08T17:21:02Z circ-user-3ReWJ joined #lisp 2017-03-08T17:21:11Z Karl_Dscc quit (Remote host closed the connection) 2017-03-08T17:21:47Z drewc joined #lisp 2017-03-08T17:24:47Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-08T17:27:34Z beach quit (Remote host closed the connection) 2017-03-08T17:28:27Z lambda-smith quit (Ping timeout: 240 seconds) 2017-03-08T17:28:40Z drewc quit (Ping timeout: 260 seconds) 2017-03-08T17:29:25Z trueneu quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2017-03-08T17:31:01Z Lord_of_Life quit (Excess Flood) 2017-03-08T17:31:17Z malice` quit (Quit: Page closed) 2017-03-08T17:31:29Z beach joined #lisp 2017-03-08T17:31:48Z EvW1 quit (Ping timeout: 258 seconds) 2017-03-08T17:32:12Z otjura joined #lisp 2017-03-08T17:32:59Z otjura: I'm still bit confused abouy :key-words vs just using simple string. what were the advantages again? 2017-03-08T17:33:06Z EvW joined #lisp 2017-03-08T17:33:39Z dlowe: testing for equality of a symbol is very fast 2017-03-08T17:34:26Z raynold quit (Quit: Connection closed for inactivity) 2017-03-08T17:34:26Z dlowe: strings are considered a sequence of characters, which is a different sort of data than symbols 2017-03-08T17:34:56Z beach: otjura: In which context? 2017-03-08T17:35:14Z dlowe: in the context where there are advantages, presumably 2017-03-08T17:35:56Z beach: Thanks, dlowe. 2017-03-08T17:35:56Z otjura: they are always more optimized? okay. but then how can I know I can use :key interchangeably with string? 2017-03-08T17:35:58Z Lord_of_Life joined #lisp 2017-03-08T17:36:10Z dlowe: you can't. 2017-03-08T17:36:39Z otjura: for example I didn't know I could use them in loop like this 2017-03-08T17:36:39Z otjura: (loop :for i :from 0 :to 3 :do (push-view 'desktop-mode)) 2017-03-08T17:36:52Z beach: You can't use strings there. 2017-03-08T17:37:08Z dlowe: yeah, you're just using keyword symbols instead of symbols in another package 2017-03-08T17:37:19Z beach: otjura: Maybe you don't mean strings, but non-keyword symbols. 2017-03-08T17:37:21Z beach: ? 2017-03-08T17:37:22Z dlowe: strings look like "foo", symbols look like foo or |foo| 2017-03-08T17:37:55Z otjura: yes, that is what I meant, non-keyword symbols 2017-03-08T17:38:00Z beach: *sigh* 2017-03-08T17:38:04Z beach: chls string 2017-03-08T17:38:10Z beach: clhs string 2017-03-08T17:38:11Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_string.htm 2017-03-08T17:38:39Z beach: otjura: In that particular context (LOOP) you can use any symbol in any package. There is no particular advantage to using keyword symbols. 2017-03-08T17:39:35Z otjura: however I'm rather sure I have stumbled upon something in the past where I could choose between giving value as string or key. 2017-03-08T17:40:25Z otjura: at least I know that to be the case in Clojure jdbc interface and I think that was the case in some Quicklisp think in CL 2017-03-08T17:41:04Z hhdave quit (Ping timeout: 268 seconds) 2017-03-08T17:41:06Z snowcrshd quit (Ping timeout: 256 seconds) 2017-03-08T17:41:30Z beach: otjura: In some contexts, a "string designator" can be a symbol. Sometimes that is useful in order to let the reader do the case conversion. Otherwise, using a symbol in that context is (slightly) slower because SYMBOL-NAME has to be called before the result can be used. 2017-03-08T17:41:46Z drewc joined #lisp 2017-03-08T17:42:03Z Denommus` joined #lisp 2017-03-08T17:42:35Z EvW quit (Quit: EvW) 2017-03-08T17:42:46Z snowcrshd joined #lisp 2017-03-08T17:42:51Z EvW joined #lisp 2017-03-08T17:42:55Z slyrus joined #lisp 2017-03-08T17:43:23Z beach: otjura: I suggest you dig up that context so that more precise answers can be given. 2017-03-08T17:43:47Z otjura: okay. quite complicated. are there any rules of thumb when to use plain symbol, :key symbol or "string designator"? or any limitations on interchangeability at least? 2017-03-08T17:43:48Z joneshf-laptop quit (Ping timeout: 240 seconds) 2017-03-08T17:44:10Z Denommus quit (Ping timeout: 264 seconds) 2017-03-08T17:44:48Z beach: otjura: The Common Lisp HyperSpec will tell you when you can use a string designator. It varies with the operator in question. You can for DEFPACKAGE including its options :SHADOW, :EXPORT, etc. 2017-03-08T17:45:25Z prole joined #lisp 2017-03-08T17:45:45Z milanj joined #lisp 2017-03-08T17:45:57Z beach: otjura: Keyword symbols are mostly used for keyword arguments to function that take such arguments. 2017-03-08T17:47:27Z cibs quit (Ping timeout: 240 seconds) 2017-03-08T17:48:40Z circ-user-3ReWJ quit (Ping timeout: 258 seconds) 2017-03-08T17:48:44Z drewc quit (Ping timeout: 260 seconds) 2017-03-08T17:49:17Z cibs joined #lisp 2017-03-08T17:49:26Z joneshf-laptop joined #lisp 2017-03-08T17:49:36Z varjag quit (Ping timeout: 256 seconds) 2017-03-08T17:49:58Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-08T17:50:34Z dtornabene quit (Quit: Leaving) 2017-03-08T17:53:52Z jfb4 quit (Ping timeout: 260 seconds) 2017-03-08T17:53:58Z gargaml quit (Ping timeout: 246 seconds) 2017-03-08T17:55:50Z seg_ quit (Ping timeout: 256 seconds) 2017-03-08T17:55:55Z jfb4 joined #lisp 2017-03-08T17:56:07Z Colleen quit (Read error: Connection reset by peer) 2017-03-08T17:58:35Z oleksiyp joined #lisp 2017-03-08T17:59:11Z Colleen joined #lisp 2017-03-08T18:00:12Z seg joined #lisp 2017-03-08T18:00:33Z vibs29 quit (Ping timeout: 258 seconds) 2017-03-08T18:00:54Z oleksiyp quit (Remote host closed the connection) 2017-03-08T18:01:41Z oleo quit (Remote host closed the connection) 2017-03-08T18:01:47Z drewc joined #lisp 2017-03-08T18:03:02Z manualcrank joined #lisp 2017-03-08T18:03:21Z ogamita quit (Remote host closed the connection) 2017-03-08T18:05:41Z vibs29 joined #lisp 2017-03-08T18:05:50Z BitPuffin|osx quit (Remote host closed the connection) 2017-03-08T18:06:41Z BitPuffin|osx joined #lisp 2017-03-08T18:09:36Z Colleen quit (Remote host closed the connection) 2017-03-08T18:10:18Z Colleen joined #lisp 2017-03-08T18:13:55Z slyrus quit (Ping timeout: 246 seconds) 2017-03-08T18:17:48Z easye: https://wikileaks.org/ciav7p1/cms/page_17072554.html 2017-03-08T18:18:03Z easye: Uh oh. asdf in Vault 7? 2017-03-08T18:18:37Z drewc quit (Ping timeout: 260 seconds) 2017-03-08T18:19:07Z al-damiri joined #lisp 2017-03-08T18:19:33Z prole: what is the passphrase to unlock the 7z archive? 2017-03-08T18:25:05Z NeverDie quit (Quit: http://radiux.io/) 2017-03-08T18:30:59Z NeverDie joined #lisp 2017-03-08T18:31:53Z drewc joined #lisp 2017-03-08T18:32:16Z oleo joined #lisp 2017-03-08T18:32:57Z LooneyTunes joined #lisp 2017-03-08T18:33:52Z pjb joined #lisp 2017-03-08T18:38:07Z akkad quit (Excess Flood) 2017-03-08T18:39:11Z LooneyTunes quit (Remote host closed the connection) 2017-03-08T18:41:51Z pebblexe: would anyone recommend any of these http://www.cliki.net/ObjectStore in particular? 2017-03-08T18:45:23Z Xach: It's not there, but cl-store is simple and easy. 2017-03-08T18:46:07Z beach quit (Remote host closed the connection) 2017-03-08T18:47:14Z pebblexe: I'm looking for one that uses disk/ram (not ram only as I have too much data) 2017-03-08T18:47:39Z raynold joined #lisp 2017-03-08T18:47:44Z akkad joined #lisp 2017-03-08T18:48:35Z nirved quit (Quit: Leaving) 2017-03-08T18:55:41Z varjag joined #lisp 2017-03-08T18:55:55Z Xach: Oh. cl-store is for stashing a data structure on disk. it is not for managing paging to disk or anything like that. 2017-03-08T18:58:16Z oleo quit (Ping timeout: 260 seconds) 2017-03-08T19:07:11Z TDT quit (Read error: Connection reset by peer) 2017-03-08T19:08:24Z oleo joined #lisp 2017-03-08T19:08:40Z defaultxr joined #lisp 2017-03-08T19:08:57Z sellout- quit (Ping timeout: 240 seconds) 2017-03-08T19:12:55Z edgar-rft joined #lisp 2017-03-08T19:15:27Z sellout- joined #lisp 2017-03-08T19:19:30Z pebblexe: Xach: thanks for the suggestion though 2017-03-08T19:19:32Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-08T19:20:34Z slyrus joined #lisp 2017-03-08T19:21:58Z snowcrshd quit (Ping timeout: 264 seconds) 2017-03-08T19:21:59Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-08T19:22:00Z minion quit (Remote host closed the connection) 2017-03-08T19:22:00Z specbot quit (Remote host closed the connection) 2017-03-08T19:22:09Z easye quit (Read error: Connection reset by peer) 2017-03-08T19:28:12Z bocaneri quit (Read error: Connection reset by peer) 2017-03-08T19:29:39Z minion joined #lisp 2017-03-08T19:30:18Z specbot joined #lisp 2017-03-08T19:30:40Z lambda-smith joined #lisp 2017-03-08T19:36:08Z shka_ joined #lisp 2017-03-08T19:36:09Z andrei_chifa joined #lisp 2017-03-08T19:41:21Z snowcrshd joined #lisp 2017-03-08T19:41:39Z vaporatorius__ quit (Quit: Leaving) 2017-03-08T19:48:43Z MrBismuth quit (Quit: https://www.youtube.com/watch?v=xIIqYqtR1lY -- Suicide is Painless - Johnny Mandel) 2017-03-08T19:53:48Z Karl_Dscc joined #lisp 2017-03-08T19:55:38Z tormar joined #lisp 2017-03-08T19:58:01Z nyingen: I'm having some trouble doing testing. Say I have a file of code for a project I'm prototyping, and I want to write tests for some of the functions. Do I have to put every function in a (:use ...) clause in the DEFPACKAGE? Or should I (load "foo.l") from the foo-test.l file? 2017-03-08T19:58:15Z nyingen: I'm using 'fiasco' (based on the abandoned 'stefil') framework, if that matters 2017-03-08T19:58:57Z Xach: nyingen: for testing, you could refer to the functions with the foo::bar syntax 2017-03-08T19:59:27Z Xach: nyingen: your code has to be loaded to test it. i usually use asdf system definitions to make that happen properly. 2017-03-08T19:59:34Z nyingen: Xach: hm, ok 2017-03-08T19:59:57Z Xach: When I don't want to use foo::bar syntax, I will :use to get external symbols without a prefix, and :import to get non-external symbols without a prefix. 2017-03-08T20:00:12Z nyingen: I see 2017-03-08T20:00:58Z nyingen: I guess I misunderstand what LOAD does as well 2017-03-08T20:01:21Z Xach: Approximately: go through each form in the file and EVAL it. 2017-03-08T20:01:45Z Xach: nyingen: if you're just getting started, i would recommend using .lisp as an extension instead of .l. 2017-03-08T20:02:30Z nyingen: Ok. For some reason my emacs doesn't load SLIME automatically if the suffix is .lisp, so I tried .l and it seemed to work 2017-03-08T20:03:05Z Xach: Ok. That is unusual, it should be automatic. 2017-03-08T20:05:37Z nyingen: One other question, on the subject of loading code. Say I have a project that uses some quicklisp packages, like CL-WHO. If I restart the REPL, how do I have those packages loaded back into lisp automatically? 2017-03-08T20:06:17Z Xach: nyingen: In general, you don't. You should load them as you need them. You can have them automatically load in support of your project with an asdf system definition. It expresses relationships like that. 2017-03-08T20:06:22Z drewc quit (Ping timeout: 264 seconds) 2017-03-08T20:06:53Z nyingen: Xach: I see. I'll check the ASDF documentation 2017-03-08T20:07:36Z Xach: I found it kind of hard to understand. http://xach.livejournal.com/278047.html is something i wrote a while ago about what i do. 2017-03-08T20:08:01Z Xach: Although it's out of date, now I use ~/quicklisp/local-projects/ instead of trying to configure asdf. I think you can use asdf's ~/common-lisp/ too. 2017-03-08T20:12:18Z nyingen: cool, thanks 2017-03-08T20:12:47Z nyingen: that article seems to describe pretty much what I need to do 2017-03-08T20:13:00Z warweasle is now known as warweasle_afk 2017-03-08T20:19:20Z drewc joined #lisp 2017-03-08T20:19:31Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-08T20:23:25Z dmiles joined #lisp 2017-03-08T20:31:12Z sjl quit (Read error: Connection reset by peer) 2017-03-08T20:31:48Z warweasle_afk is now known as warweasle 2017-03-08T20:32:46Z TruePika: What exactly is the difference between a VECTOR and a one-dimensional SIMPLE-ARRAY? 2017-03-08T20:32:59Z TruePika: is it that a VECTOR supports a fill pointer? 2017-03-08T20:33:47Z TruePika: SBCL can't optimize an ELT against a VECTOR with a defined element type 2017-03-08T20:34:52Z drewc quit (Ping timeout: 260 seconds) 2017-03-08T20:35:21Z TruePika: Xach: nyingen: ~/common-lisp/ IIRC is always checked by ASDF (and it is generally a good idea to put code there anyway); I use local-projects to point to things which _must not_ be in ~/common-lisp for one reason or another 2017-03-08T20:36:47Z TruePika: e.g. I have one project which has a subdir containing many thousands of files which ASDF shouldn't even consider; I have a code subdir in the parent dir of there and local-projects points to that code dir (though a symlink from inside ~/common-lisp might also work) 2017-03-08T20:37:45Z TruePika: but since there are deps on quicklisp within that code, I feel it's probably better to use local-projects so ASDF without Quicklisp doesn't look there 2017-03-08T20:40:39Z fubar1020 quit (Quit: Page closed) 2017-03-08T20:40:59Z TruePika does an optimization rewrite of auto-atc 2017-03-08T20:41:50Z jasom: pebblexe: I recomend against Elephant; getting Elephant setup is a pain. 2017-03-08T20:46:32Z EvW quit (Ping timeout: 258 seconds) 2017-03-08T20:46:54Z terpri joined #lisp 2017-03-08T20:47:56Z drewc joined #lisp 2017-03-08T20:48:00Z quadresce joined #lisp 2017-03-08T20:49:05Z whartung quit (Ping timeout: 240 seconds) 2017-03-08T20:51:30Z EvW1 joined #lisp 2017-03-08T20:56:37Z quadresce: hey friends 2017-03-08T20:56:42Z Xach: allo 2017-03-08T20:58:34Z quadresce: i hope some lisp is being written 2017-03-08T20:59:40Z TruePika is writing lisp, don't worry 2017-03-08T21:00:18Z TruePika: I _was_ playing the new Zelda game, but then I kept thinking about my code, so I stopped 2017-03-08T21:01:22Z quadresce: I was thinking last night what a minimal set of extensions to Lisp could be that would allow something like post-compilation type checking 2017-03-08T21:01:37Z quadresce: the type checking bit isn't what I care about so much as a good API for some notion of "post compilation" 2017-03-08T21:02:10Z TruePika: CHECK-TYPE? 2017-03-08T21:02:17Z TruePika: (check-type foo fixnum) 2017-03-08T21:02:31Z quadresce: That is run time type checking. 2017-03-08T21:02:46Z TruePika: what do you mean by post-compiliation 2017-03-08T21:02:57Z TruePika: also boy is my WLAN latent right now 2017-03-08T21:04:14Z quadresce: TruePika, I mean a file (say) is compiled and I want to execute some actions after that file is compiled 2017-03-08T21:04:32Z quadresce: maybe I want to even have access to what was compiled in that file 2017-03-08T21:04:50Z TruePika: is loading it not sufficient? 2017-03-08T21:05:21Z quadresce: Not sufficient for what? 2017-03-08T21:05:39Z TruePika: keep in mind there is loadtime 2017-03-08T21:05:56Z TruePika: eval-when :load-toplevel 2017-03-08T21:06:05Z drewc quit (Ping timeout: 240 seconds) 2017-03-08T21:06:13Z TruePika: versus :compile-toplevel and :execute 2017-03-08T21:06:30Z quadresce: Again, I'm looking to hook into the process of compilation. I'm not looking to add a bit of code to the bottom of my file. 2017-03-08T21:07:20Z aeth_ joined #lisp 2017-03-08T21:08:11Z TruePika: I'm not sure how logical it is to hook into the compiliation of a seperate file 2017-03-08T21:08:49Z quadresce: Why not? 2017-03-08T21:08:53Z TruePika: maybe something with compiliation environments? I'm not sure since I haven't studied them 2017-03-08T21:08:53Z lambda-smith quit (Ping timeout: 268 seconds) 2017-03-08T21:09:08Z aeth quit (Ping timeout: 240 seconds) 2017-03-08T21:09:36Z TruePika: well, firstly keep in mind that implementations don't _need_ to provide a compiler (in the traditional sense) if they're fully implemented as an interpreter 2017-03-08T21:10:07Z TruePika: (though they'd need to provide a dummy no-rewrite) 2017-03-08T21:10:45Z quadresce: I dunno, I threw out the whole concept of "well TECHNICALLY not ALL implementations NECESSARILY ...." 2017-03-08T21:10:54Z TruePika: I'm not speaking of bytecode; I'm saying the FASL could theoretically be the input file 2017-03-08T21:11:36Z TruePika: I'm just saying something like this isn't likely to be possible without implementation-specific extensions 2017-03-08T21:12:08Z TruePika: now the question is what sort of control you'd like to have during compiliation 2017-03-08T21:13:15Z quadresce: Maybe I want to collect some information during the compilation of a file and generate code as a result of it. Or maybe I want to run type checking. Or maybe make a simpler implementation of "file-local variables" 2017-03-08T21:14:04Z snowcrshd quit (Ping timeout: 260 seconds) 2017-03-08T21:14:06Z TruePika: are you concerned with (with respect to _your_ input) the compiled output, or the raw forms? 2017-03-08T21:14:23Z TruePika: since keep in mind there's no standard form for compiled output 2017-03-08T21:14:59Z tormar quit (Quit: Leaving) 2017-03-08T21:15:22Z TruePika: also remember that code is data; it is possible to READ a source file 2017-03-08T21:15:43Z TruePika: (though that ofc won't handle macros) 2017-03-08T21:16:17Z shifty quit (Ping timeout: 268 seconds) 2017-03-08T21:17:18Z TruePika: and does your code want to output a form that should be compiled instead? (similar to a macro) 2017-03-08T21:19:02Z drewc joined #lisp 2017-03-08T21:19:16Z TruePika: (let's ignore logistical issues, such as the fact '(* 2 (+ 3 4)) would issue 5 checks) 2017-03-08T21:19:59Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-08T21:22:48Z quadresce: TruePika, I'm not sure exactly what I should be concerned about wrt input. I think that's a big decision on what the interface would look like 2017-03-08T21:24:28Z aeth_ is now known as aeth 2017-03-08T21:37:13Z the-blackbeard joined #lisp 2017-03-08T21:37:32Z schjetne joined #lisp 2017-03-08T21:40:10Z warweasle quit (Quit: later) 2017-03-08T21:45:34Z drewc quit (Ping timeout: 258 seconds) 2017-03-08T21:47:44Z nowhere_man joined #lisp 2017-03-08T21:49:09Z defaultxr quit (Quit: WeeChat 1.7) 2017-03-08T21:50:28Z rlatimore quit (Ping timeout: 260 seconds) 2017-03-08T21:55:27Z shka_ quit (Ping timeout: 240 seconds) 2017-03-08T21:55:34Z mishoo quit (Ping timeout: 264 seconds) 2017-03-08T21:58:57Z drewc joined #lisp 2017-03-08T22:00:45Z nowhere_man quit (Quit: Konversation terminated!) 2017-03-08T22:00:59Z nowhere_man joined #lisp 2017-03-08T22:04:20Z wtetzner joined #lisp 2017-03-08T22:04:32Z zooey quit (Remote host closed the connection) 2017-03-08T22:05:01Z nowhere_man quit (Remote host closed the connection) 2017-03-08T22:05:17Z zooey joined #lisp 2017-03-08T22:06:14Z angavrilov quit (Remote host closed the connection) 2017-03-08T22:08:42Z quazimodo joined #lisp 2017-03-08T22:10:10Z drewc quit (Ping timeout: 246 seconds) 2017-03-08T22:14:37Z RedEight joined #lisp 2017-03-08T22:16:40Z snits` joined #lisp 2017-03-08T22:17:32Z snits quit (Ping timeout: 260 seconds) 2017-03-08T22:18:56Z pve quit (Ping timeout: 260 seconds) 2017-03-08T22:19:18Z gingerale quit (Remote host closed the connection) 2017-03-08T22:19:20Z tristero quit (Ping timeout: 256 seconds) 2017-03-08T22:19:42Z vlatkoB_ quit (Remote host closed the connection) 2017-03-08T22:20:49Z meiji11 joined #lisp 2017-03-08T22:23:17Z drewc joined #lisp 2017-03-08T22:24:43Z Ven joined #lisp 2017-03-08T22:29:39Z tristero joined #lisp 2017-03-08T22:36:35Z trueneu joined #lisp 2017-03-08T22:36:35Z drewc quit (Ping timeout: 240 seconds) 2017-03-08T22:36:47Z akkad hunts for a wordpress sort of clone in cl 2017-03-08T22:37:19Z impulse quit (Ping timeout: 258 seconds) 2017-03-08T22:38:31Z jamtho joined #lisp 2017-03-08T22:40:18Z EvW1 quit (Ping timeout: 256 seconds) 2017-03-08T22:42:24Z warweasle joined #lisp 2017-03-08T22:43:55Z impulse joined #lisp 2017-03-08T22:46:58Z john-mca` joined #lisp 2017-03-08T22:49:31Z akkad quit (Excess Flood) 2017-03-08T22:49:40Z hvn0413 joined #lisp 2017-03-08T22:49:58Z trueneu quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2017-03-08T22:50:00Z drewc joined #lisp 2017-03-08T22:50:12Z didi joined #lisp 2017-03-08T22:50:22Z john-mca` quit (Client Quit) 2017-03-08T22:50:35Z didi: Can I change what READ-LINE considers a #\newline? 2017-03-08T22:51:12Z |3b|: you might be able to change the external-format to affect it on some lisps 2017-03-08T22:52:17Z |3b|: or wrap the stream in a gray stream that implements whatever behavior you want 2017-03-08T22:52:32Z jasom: didi: if you mean "can I use READ-LINE as a generic read until char X" function, then no. 2017-03-08T22:53:21Z didi: jasom: Well, more like "I want to read LF and CRLF as #\newline files". 2017-03-08T22:53:51Z didi: |3b|: Thank you. 2017-03-08T22:54:33Z NeverDie quit (Quit: http://radiux.io/) 2017-03-08T22:54:44Z akkad joined #lisp 2017-03-08T22:55:07Z jasom: didi: on at least sbcl and clisp, you can read CRLF as #\Newline, IIRC ccl always uses the native line-ending. 2017-03-08T22:55:32Z didi: jasom: Hum. Does it detect it automatically? 2017-03-08T22:55:34Z rumbler31 quit (Ping timeout: 264 seconds) 2017-03-08T22:56:11Z jasom: didi: if it's a windows build it uses CRLF, if it's a unix build it uses LF, if it's a pre-OS X build it uses whatever is native for that (CR I think?) 2017-03-08T22:56:39Z didi: jasom: oic. I want to pick and choose, independently of the build. 2017-03-08T22:57:01Z jasom: didi: I was unable to do that on ccl when I tried 2 years ago. 2017-03-08T22:57:19Z jasom: didi: I was able to do it on at least sbcl and clisp (and maybe ECL, I don't recall if I tried it) 2017-03-08T22:57:37Z wtetzner quit (Remote host closed the connection) 2017-03-08T22:58:38Z jasom: didi: and flexi-streams I believe also implements it portably 2017-03-08T22:58:47Z |3b|: flexi-streams looks like it lets you pick from cr lf or crlf, but doesn't seem to do 'any' 2017-03-08T22:59:19Z jasom: e.g. (flexi:make-external-format :latin-1 :eol-style :lf) 2017-03-08T22:59:58Z Denommus` quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2017-03-08T23:01:44Z drewc quit (Ping timeout: 268 seconds) 2017-03-08T23:04:27Z jasom: didi: I would recommend flexi-streams for easily switching between the 3 common line-terminators 2017-03-08T23:05:10Z didi: jasom: Thank you. 2017-03-08T23:06:28Z edgar-rft quit (Quit: edgar-rft) 2017-03-08T23:06:46Z didi quit (Quit: you can't /fire me, I /quit) 2017-03-08T23:11:40Z BlueRavenGT quit (Read error: No route to host) 2017-03-08T23:12:05Z BlueRavenGT joined #lisp 2017-03-08T23:13:29Z jamtho quit (Ping timeout: 240 seconds) 2017-03-08T23:13:48Z drewc joined #lisp 2017-03-08T23:18:02Z milanj quit (Quit: Leaving) 2017-03-08T23:20:21Z NeverDie joined #lisp 2017-03-08T23:21:40Z varjag quit (Ping timeout: 256 seconds) 2017-03-08T23:24:44Z drewc quit (Ping timeout: 260 seconds) 2017-03-08T23:34:30Z LiamH quit (Quit: Leaving.) 2017-03-08T23:34:30Z warweasle quit (Quit: gotta go) 2017-03-08T23:38:06Z drewc joined #lisp 2017-03-08T23:38:59Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-08T23:43:13Z sjl joined #lisp 2017-03-08T23:43:14Z attila_lendvai joined #lisp 2017-03-08T23:43:14Z attila_lendvai quit (Changing host) 2017-03-08T23:43:14Z attila_lendvai joined #lisp 2017-03-08T23:43:46Z vibs29 quit (Ping timeout: 256 seconds) 2017-03-08T23:48:43Z vibs29 joined #lisp 2017-03-08T23:52:57Z Kaisyu joined #lisp 2017-03-08T23:53:46Z prole quit (Remote host closed the connection) 2017-03-08T23:56:36Z Bicyclidine joined #lisp 2017-03-09T00:02:35Z cromachina joined #lisp 2017-03-09T00:08:47Z Einwq quit (Quit: Leaving) 2017-03-09T00:11:11Z slyrus quit (Ping timeout: 260 seconds) 2017-03-09T00:11:58Z BlueRavenGT quit (Ping timeout: 246 seconds) 2017-03-09T00:12:06Z libre-man quit (Ping timeout: 256 seconds) 2017-03-09T00:14:07Z decuser quit (Quit: rcirc on GNU Emacs 25.1.1) 2017-03-09T00:14:59Z rumbler31 joined #lisp 2017-03-09T00:15:27Z drewc quit (Ping timeout: 258 seconds) 2017-03-09T00:18:14Z slyrus joined #lisp 2017-03-09T00:18:37Z segmond quit (Ping timeout: 246 seconds) 2017-03-09T00:19:48Z rumbler31 quit (Ping timeout: 260 seconds) 2017-03-09T00:25:34Z libre-man joined #lisp 2017-03-09T00:26:29Z segmond joined #lisp 2017-03-09T00:28:51Z drewc joined #lisp 2017-03-09T00:32:37Z segmond quit (Ping timeout: 246 seconds) 2017-03-09T00:35:34Z segmond joined #lisp 2017-03-09T00:38:06Z rumbler31 joined #lisp 2017-03-09T00:38:36Z segmond quit (Max SendQ exceeded) 2017-03-09T00:39:42Z segmond joined #lisp 2017-03-09T00:42:41Z jamtho joined #lisp 2017-03-09T00:42:58Z sellout- quit (Read error: Connection reset by peer) 2017-03-09T00:43:49Z sellout- joined #lisp 2017-03-09T00:47:16Z sellout- quit (Read error: Connection reset by peer) 2017-03-09T00:47:24Z sellout- joined #lisp 2017-03-09T00:47:28Z drewc quit (Ping timeout: 240 seconds) 2017-03-09T00:48:51Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-09T00:51:31Z neuronsong quit (Ping timeout: 246 seconds) 2017-03-09T00:57:05Z hvn0413 quit (Quit: Connection closed for inactivity) 2017-03-09T01:00:29Z jamtho quit (Ping timeout: 240 seconds) 2017-03-09T01:00:31Z Karl_Dscc quit (Remote host closed the connection) 2017-03-09T01:01:04Z drewc joined #lisp 2017-03-09T01:07:05Z drewc quit (Ping timeout: 240 seconds) 2017-03-09T01:08:12Z sjl quit (Read error: Connection reset by peer) 2017-03-09T01:09:43Z slyrus quit (Ping timeout: 246 seconds) 2017-03-09T01:10:13Z arescorpio joined #lisp 2017-03-09T01:13:46Z jmasseo quit (Quit: Lost terminal) 2017-03-09T01:15:58Z cibs quit (Ping timeout: 264 seconds) 2017-03-09T01:17:18Z cibs joined #lisp 2017-03-09T01:17:35Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-09T01:17:53Z slyrus joined #lisp 2017-03-09T01:18:19Z jamtho joined #lisp 2017-03-09T01:19:47Z [X-Scale] joined #lisp 2017-03-09T01:20:38Z drewc joined #lisp 2017-03-09T01:21:37Z X-Scale quit (Ping timeout: 246 seconds) 2017-03-09T01:21:37Z [X-Scale] is now known as X-Scale 2017-03-09T01:22:40Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-03-09T01:23:01Z rumbler31 quit (Remote host closed the connection) 2017-03-09T01:27:56Z rumbler31 joined #lisp 2017-03-09T01:28:27Z drewc quit (Ping timeout: 240 seconds) 2017-03-09T01:28:46Z adolf_stalin quit (Quit: Leaving...) 2017-03-09T01:30:02Z MrBusiness joined #lisp 2017-03-09T01:34:50Z karswell` quit (Ping timeout: 256 seconds) 2017-03-09T01:35:37Z slyrus quit (Ping timeout: 246 seconds) 2017-03-09T01:35:57Z chens joined #lisp 2017-03-09T01:39:16Z nhandler quit (Read error: Connection reset by peer) 2017-03-09T01:39:21Z RedEight quit (Quit: leaving) 2017-03-09T01:40:46Z PuercoPop: beach: btw I was reading [parts of] this thesis and thought you may find it useful for the bootstrapping process in SICL. One of the things it deals is how to decouple the VM from the 'application' (that is language in this case) semantics . It is more oriented towards Smalltalk but it does look into lisp approaches in the prior art (Black / Tower of interpreters for instance) https://guillep.github.io/files/publica 2017-03-09T01:40:46Z PuercoPop: tions/Poli15Thesis.pdf 2017-03-09T01:40:55Z drewc joined #lisp 2017-03-09T01:41:39Z nhandler joined #lisp 2017-03-09T01:41:48Z Jesin quit (Quit: Leaving) 2017-03-09T01:43:51Z nhandler quit (Remote host closed the connection) 2017-03-09T01:44:10Z circ-user-j35rB quit (Ping timeout: 264 seconds) 2017-03-09T01:45:23Z Jesin joined #lisp 2017-03-09T01:45:31Z nhandler joined #lisp 2017-03-09T01:50:42Z drewc quit (Ping timeout: 268 seconds) 2017-03-09T01:54:44Z test1600 joined #lisp 2017-03-09T01:54:54Z jameser joined #lisp 2017-03-09T01:57:59Z Suzuran joined #lisp 2017-03-09T02:02:30Z drewc joined #lisp 2017-03-09T02:03:11Z chens quit (Remote host closed the connection) 2017-03-09T02:04:56Z Suzuran left #lisp 2017-03-09T02:05:57Z FreeBirdLjj joined #lisp 2017-03-09T02:08:31Z jamtho quit (Ping timeout: 246 seconds) 2017-03-09T02:16:16Z neoncontrails joined #lisp 2017-03-09T02:22:59Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-09T02:30:53Z defaultxr joined #lisp 2017-03-09T02:32:52Z smokeink joined #lisp 2017-03-09T02:36:14Z andrei_chifa joined #lisp 2017-03-09T02:37:25Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-09T02:38:16Z quazimodo quit (Ping timeout: 246 seconds) 2017-03-09T02:39:17Z FreeBirdLjj joined #lisp 2017-03-09T02:40:12Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-09T02:42:28Z FreeBirdLjj joined #lisp 2017-03-09T02:43:17Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-09T02:47:53Z FreeBirdLjj joined #lisp 2017-03-09T02:47:56Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-09T02:49:03Z FreeBirdLjj joined #lisp 2017-03-09T02:51:38Z ryanwatkins joined #lisp 2017-03-09T02:51:57Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-09T02:52:20Z atheris joined #lisp 2017-03-09T02:52:31Z FreeBirdLjj joined #lisp 2017-03-09T02:55:07Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-09T02:56:01Z FreeBirdLjj joined #lisp 2017-03-09T02:56:56Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-09T02:57:57Z drewc quit (Ping timeout: 240 seconds) 2017-03-09T03:02:49Z nowhere_man joined #lisp 2017-03-09T03:03:03Z FreeBirdLjj joined #lisp 2017-03-09T03:06:37Z smokeink quit (Ping timeout: 246 seconds) 2017-03-09T03:06:55Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-09T03:07:25Z FreeBirdLjj joined #lisp 2017-03-09T03:07:59Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-09T03:08:04Z smokeink joined #lisp 2017-03-09T03:10:19Z drewc joined #lisp 2017-03-09T03:13:59Z hydan quit (Ping timeout: 240 seconds) 2017-03-09T03:20:40Z nowhere_man quit (Remote host closed the connection) 2017-03-09T03:21:21Z nowhere_man joined #lisp 2017-03-09T03:21:32Z sellout- quit (Read error: Connection reset by peer) 2017-03-09T03:21:35Z sellout-1 joined #lisp 2017-03-09T03:22:08Z andrei_chifa joined #lisp 2017-03-09T03:22:18Z quadresce quit (Quit: This computer has gone to sleep) 2017-03-09T03:25:44Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-09T03:26:19Z FreeBirdLjj joined #lisp 2017-03-09T03:36:19Z sword quit (Ping timeout: 258 seconds) 2017-03-09T03:38:37Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2017-03-09T03:39:44Z wtetzner joined #lisp 2017-03-09T03:42:04Z atheris quit (Ping timeout: 258 seconds) 2017-03-09T03:43:28Z izacht13 joined #lisp 2017-03-09T03:43:34Z FreeBirdLjj joined #lisp 2017-03-09T03:47:28Z drewc quit (Ping timeout: 240 seconds) 2017-03-09T03:55:46Z ryanwatk` joined #lisp 2017-03-09T03:55:57Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-09T03:57:47Z ryanwatkins quit (Ping timeout: 258 seconds) 2017-03-09T03:59:54Z FreeBirdLjj joined #lisp 2017-03-09T04:01:08Z drewc joined #lisp 2017-03-09T04:02:57Z pnq joined #lisp 2017-03-09T04:05:14Z zooey quit (Remote host closed the connection) 2017-03-09T04:05:50Z zooey joined #lisp 2017-03-09T04:08:16Z pjb quit (Remote host closed the connection) 2017-03-09T04:09:29Z sbodin quit (Ping timeout: 240 seconds) 2017-03-09T04:10:58Z arescorpio quit (Quit: Leaving.) 2017-03-09T04:12:06Z the-blackbeard quit (Quit: Leaving) 2017-03-09T04:12:13Z rumbler31 quit (Remote host closed the connection) 2017-03-09T04:14:56Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-09T04:16:24Z drewc quit (Ping timeout: 260 seconds) 2017-03-09T04:22:51Z lambda-smith joined #lisp 2017-03-09T04:23:25Z beach joined #lisp 2017-03-09T04:23:33Z beach: Good morning everyone! 2017-03-09T04:24:55Z drmeister: Hi beach 2017-03-09T04:29:18Z jameser_ joined #lisp 2017-03-09T04:29:40Z drewc joined #lisp 2017-03-09T04:30:11Z jameser quit (Ping timeout: 260 seconds) 2017-03-09T04:32:45Z rumbler31 joined #lisp 2017-03-09T04:35:28Z drewc quit (Ping timeout: 240 seconds) 2017-03-09T04:37:16Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-09T04:43:22Z circ-user-3ReWJ joined #lisp 2017-03-09T04:45:40Z beach quit (Remote host closed the connection) 2017-03-09T04:46:07Z lambda-smith quit (Quit: Konversation terminated!) 2017-03-09T04:49:04Z drewc joined #lisp 2017-03-09T04:50:04Z beach joined #lisp 2017-03-09T04:53:45Z vtomole joined #lisp 2017-03-09T04:56:39Z wtetzner quit (Remote host closed the connection) 2017-03-09T04:57:16Z beach: Yesterday afternoon (UTC+1), I had a bad experience. I was working on Second Climacs, and the X server was crashing on me when I started the application. Luckily, this morning (same timezone) I could guess that it didn't like rendering empty strings. 2017-03-09T04:57:17Z beach: But it made me wonder why on earth people write software using a language (and an implementation of it) that crash that software. All that to gain a few nanoseconds of CPU time, while wasting huge amounts of human effort. We have people working for machines rather than the other way around. 2017-03-09T04:57:51Z Zhivago: Oh, most people have moved on to javascript by now. 2017-03-09T04:58:12Z Zhivago: Give it a few more years and they'll be writing device drivers in it. 2017-03-09T04:59:28Z beach: That's an improvement, I guess. 2017-03-09T05:00:04Z fiddlerwoaroof: beach: you might use Xephyr to test things that are liable to crashing the server 2017-03-09T05:00:25Z fiddlerwoaroof: It's not ideal, but you can basically start an X session in a window, with its own window manager and everythign 2017-03-09T05:00:35Z vtomole: ". As an axiomatic model of computing, Lisp and/or lambda are an imperfect fit, because the reduction axioms define high-level programming concepts such as variables and functions, which (a) should not be coupled to the lower layer, and (b) are properly human-interface features belonging in the upper layer.":https://media.urbit.org/whitepaper.pdf 2017-03-09T05:00:38Z beach: fiddlerwoaroof: I'll look into that next time I have a problem. Thanks. 2017-03-09T05:00:42Z vtomole: How do i argue with this? 2017-03-09T05:01:26Z beach: vtomole: Don't. 2017-03-09T05:02:38Z vtomole: I thought so. Seemed like an opinion rather than fact... 2017-03-09T05:03:40Z beach: Definitely. 2017-03-09T05:05:25Z beach: vtomole: Besides, when this person says "Lisp", it is definitely not Common Lisp. It is more like an idealized version of a very primitive version of early LISP. So it has very little to do with the topic of this channel. 2017-03-09T05:05:57Z ryanbw quit (Quit: WeeChat 1.7) 2017-03-09T05:08:35Z loke: oh.... urbit 2017-03-09T05:08:40Z Zhivago: I don't see anything in that paper that doesn't apply to CL. 2017-03-09T05:10:09Z Zhivago: I guess their point is that they want something lower level than first class functions and variables, which is reasonable. 2017-03-09T05:11:33Z shdeng joined #lisp 2017-03-09T05:11:41Z atheris joined #lisp 2017-03-09T05:13:00Z circ-user-3ReWJ quit (Ping timeout: 256 seconds) 2017-03-09T05:13:46Z rumbler31 joined #lisp 2017-03-09T05:15:46Z shdeng quit (Ping timeout: 246 seconds) 2017-03-09T05:17:05Z vtomole: loke: Seems like you've heard about it. What do you think of it? I do agree with Zhivago that this is not off topic since the developers seem to have borrowed a lot of ideas from CL 2017-03-09T05:17:18Z FreeBirdLjj joined #lisp 2017-03-09T05:17:54Z chatter29 joined #lisp 2017-03-09T05:18:01Z chatter29 quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-09T05:18:07Z Zhivago: My point is rather that they are not not talking about CL. 2017-03-09T05:18:13Z loke: vtomole: Well, it's a bit controversial 2017-03-09T05:18:13Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-09T05:18:47Z fiddlerwoaroof: vtomole: the person behind urbit is a bit notorious for his political views 2017-03-09T05:18:49Z loke: vtomole: The controversy mostly stems from the people behind it. But also from the way they're marketing themselves. 2017-03-09T05:18:55Z loke: Yeah 2017-03-09T05:19:03Z loke: What fiddlerwoaroof said 2017-03-09T05:19:25Z Zhivago: Why should those political views be relevant? 2017-03-09T05:19:30Z fiddlerwoaroof: I find the technology of urbit interesting, but I've never really looked into it all that much. 2017-03-09T05:19:32Z Bicyclidine: because they're seriously nuts 2017-03-09T05:19:44Z Bicyclidine: anyway, i remember this involving some long elliptic justification of ascii-only 2017-03-09T05:19:59Z Bicyclidine: not terribly interesting 2017-03-09T05:20:06Z Zhivago: Ah well, I guess we should also reject the arguments of jews and homosexuals. 2017-03-09T05:20:20Z shdeng_ joined #lisp 2017-03-09T05:21:01Z vtomole: Zhivago: Maybe the guy's political views influences how he designs his project. 2017-03-09T05:21:05Z Bicyclidine: i mean, they are so wack it makes me question the reasoning capabilities involved 2017-03-09T05:21:06Z loke: Bicyclidine: Ascii-only? In what context? 2017-03-09T05:21:25Z Bicyclidine: let me find it for you 2017-03-09T05:21:45Z Zhivago: vtomole: So, judge the works on their own basis. 2017-03-09T05:21:49Z fiddlerwoaroof: I think it might have to do with the names for the nodes 2017-03-09T05:21:58Z Bicyclidine: https://github.com/cgyarvin/urbit/blob/master/doc/book/3-syntax.markdown this isn't what i remember 2017-03-09T05:22:14Z fiddlerwoaroof: nevermind... 2017-03-09T05:22:27Z loke: I mean, I waited for this a long time, and _finally_ we're moving towards a world where one can casually use non-ascii characters without meeiting technical issues and resistance from individuals. 2017-03-09T05:22:39Z fiddlerwoaroof: https://urbit.org/docs/hoon/syntax/#-glyphs-and-characters 2017-03-09T05:23:11Z Bicyclidine: no explanation, huh 2017-03-09T05:23:16Z Zhivago: Well, picking an accessible subset and composing runes from them is reasonable. 2017-03-09T05:23:19Z Bicyclidine: must have been distracted by all this pronunciation stuff 2017-03-09T05:23:35Z Zhivago: You can then use a Rune/Unicode bridge in your editor. 2017-03-09T05:23:49Z Bicyclidine: but then you'd be missing out on the language being meant to be read 2017-03-09T05:23:50Z vtomole: hoon definitely strives to be lispy... 2017-03-09T05:24:47Z Bicyclidine: probably the ugliest "lispy" thing i've seen since chaitin's "lisp but symbols can only be one character long" thing 2017-03-09T05:27:01Z vtomole: True. It does seem like they try to do EVERY single thing differently. A majority of people are not going to use it. This is a very niche product for a startup. 2017-03-09T05:29:03Z Bicyclidine: anyway, checking the logs, your initial concern was an assertion about lambda calculus 2017-03-09T05:29:32Z Bicyclidine: i think that quote involves some discussion of what "computing" means, because lambda calculus is obviously very helpful for what it's used for, that being certain kinds of mathematical analysis that may or may not be about "computing" 2017-03-09T05:29:58Z Bicyclidine: but the relevance of that to CL is questionable, because i don't think that kind of lambda calculus is hardly involved in CL to begin with, let alone "lower layers" and stuff 2017-03-09T05:33:16Z pillton quit (Ping timeout: 252 seconds) 2017-03-09T05:34:04Z meiji11 quit (Read error: Connection reset by peer) 2017-03-09T05:34:11Z ryanbw joined #lisp 2017-03-09T05:36:29Z ryanbw quit (Client Quit) 2017-03-09T05:36:46Z ryanbw joined #lisp 2017-03-09T05:41:59Z mishoo joined #lisp 2017-03-09T05:44:52Z vtomole: beach: I'm still working through "lisp in small pieces", Specifically the lisp->C compiler. The author makes makes a lot of pros and cons about the target language. One of the pros is code portability. This is a stupid question, but why do most compilers target assembly? Is it because the isa of assembly is usually simpler, and not for effieciency/speed issues? 2017-03-09T05:47:03Z beach: vtomole: Well, C is too high level, really. It is not possible to generate portable fast C code from a language like Common Lisp. You simply don't have enough control over things like register allocation, stack layout, etc. 2017-03-09T05:47:21Z beach: vtomole: The language C-- was specifically invented to address this issue. 2017-03-09T05:47:53Z beach: vtomole: For example, it is not possible to express inter-module tail calls in C. 2017-03-09T05:48:09Z circ-user-j35rB joined #lisp 2017-03-09T05:48:42Z BitPuffin|osx quit (Ping timeout: 256 seconds) 2017-03-09T05:48:43Z vtomole: Wow, never heard of c-- till now. 2017-03-09T05:48:44Z seg quit (Ping timeout: 268 seconds) 2017-03-09T05:50:13Z seg joined #lisp 2017-03-09T05:50:16Z beach: vtomole: So I would say that any Common Lisp system that has performance as its main priority would need to target machine code (or possibly assembly). 2017-03-09T05:50:24Z Bicyclidine: i don't think it's used outside of GHC, or if GHC even uses it any more 2017-03-09T05:50:44Z beach: Yeah, it never really caught on. 2017-03-09T05:50:51Z eMBee joined #lisp 2017-03-09T05:51:28Z eMBee quit (Client Quit) 2017-03-09T05:51:37Z eMBee joined #lisp 2017-03-09T05:52:08Z circ-user-j35rB quit (Ping timeout: 240 seconds) 2017-03-09T05:53:42Z Zhivago: I'd say that it would be more important for the system to prioritize static dispatch. 2017-03-09T05:54:00Z beach: More important than what? 2017-03-09T05:54:14Z Zhivago: Than targeting machine code. 2017-03-09T05:54:58Z fiddlerwoaroof quit (Ping timeout: 264 seconds) 2017-03-09T05:58:05Z pnq quit (Ping timeout: 240 seconds) 2017-03-09T06:00:56Z beach: vtomole: Zhivago raises an important issue. Implementers of Common Lisp systems (including myself) are a bit like application programmers who choose to use C++, in that they reason that "we need all the speed we can get", thereby not taking into account the trade-off between performance of the system and the amount of effort it takes to get there. 2017-03-09T06:01:45Z shifty joined #lisp 2017-03-09T06:02:15Z Zhivago: And it doesn't matter if you generate machine code if it's full of dynamic dispatch. 2017-03-09T06:02:24Z quazimodo joined #lisp 2017-03-09T06:02:25Z Zhivago: It will still be slow. 2017-03-09T06:07:54Z beach: vtomole: The "human effort" argument is one reason I decided to implement SICL using the full Common Lisp language. It is simply too painful (and it requires much more human effort) to use a subset of Common Lisp, or to use a lower-level language. 2017-03-09T06:07:55Z Bicyclidine: that's true, but i think vtomole was more asking about the form of the target, and most targets would let you eliminate dynamic dispatch anyway 2017-03-09T06:09:08Z Zhivago: The target can't eliminate dynamic dispatch when it's part of the semantics of your production. 2017-03-09T06:09:44Z Zhivago: If you need to call (consp x) because you don't know if x s a cons or not, then that's not going away. 2017-03-09T06:11:14Z Bicyclidine: yes, but the question was about targets, not the compilation process itself except as influenced by the choice of target 2017-03-09T06:13:19Z Bicyclidine: and while eliminating dynamic dispatch where possible is pretty much the main part of making lisp go fast, and that process doesn't have much to do with the target, choice of target may allow other, less important but still noticeable optimizations 2017-03-09T06:14:36Z pillton joined #lisp 2017-03-09T06:22:09Z Guest65382 joined #lisp 2017-03-09T06:23:12Z Guest65382 left #lisp 2017-03-09T06:24:03Z slyrus joined #lisp 2017-03-09T06:24:04Z dec0n joined #lisp 2017-03-09T06:26:30Z shaftoe quit (Quit: WeeChat 1.6) 2017-03-09T06:29:10Z vibs29 quit (Ping timeout: 264 seconds) 2017-03-09T06:33:44Z vibs29 joined #lisp 2017-03-09T06:33:52Z bocaneri joined #lisp 2017-03-09T06:33:53Z bocaneri quit (Max SendQ exceeded) 2017-03-09T06:34:22Z quazimodo quit (Ping timeout: 268 seconds) 2017-03-09T06:35:37Z quazimodo joined #lisp 2017-03-09T06:37:00Z fiddlerwoaroof joined #lisp 2017-03-09T06:37:02Z myrkraverk quit (Remote host closed the connection) 2017-03-09T06:37:05Z slyrus quit (Ping timeout: 240 seconds) 2017-03-09T06:37:36Z bocaneri joined #lisp 2017-03-09T06:44:56Z emaczen joined #lisp 2017-03-09T06:49:00Z quazimodo quit (Ping timeout: 260 seconds) 2017-03-09T06:51:54Z shka_ joined #lisp 2017-03-09T06:54:30Z atheris quit (Ping timeout: 258 seconds) 2017-03-09T06:54:36Z angavrilov joined #lisp 2017-03-09T06:54:46Z shaftoe joined #lisp 2017-03-09T06:54:54Z easye joined #lisp 2017-03-09T06:59:16Z vlatkoB joined #lisp 2017-03-09T06:59:44Z myrkraverk joined #lisp 2017-03-09T07:03:30Z vtomole quit (Ping timeout: 260 seconds) 2017-03-09T07:07:40Z vlatkoB_ joined #lisp 2017-03-09T07:09:04Z mishoo quit (Ping timeout: 260 seconds) 2017-03-09T07:11:08Z vlatkoB quit (Ping timeout: 240 seconds) 2017-03-09T07:14:58Z Khisanth quit (Ping timeout: 240 seconds) 2017-03-09T07:22:50Z circ-user-3ReWJ joined #lisp 2017-03-09T07:22:55Z justinmcp quit (Remote host closed the connection) 2017-03-09T07:24:01Z justinmcp joined #lisp 2017-03-09T07:28:25Z Khisanth joined #lisp 2017-03-09T07:28:38Z Bicyclidine quit (Ping timeout: 268 seconds) 2017-03-09T07:31:19Z mishoo joined #lisp 2017-03-09T07:35:24Z chens joined #lisp 2017-03-09T07:36:26Z Amplituhedron joined #lisp 2017-03-09T07:41:35Z emaczen: I have 3 files in a directory but (directory "/path/to/directory/*") is only returning two in SBCL 2017-03-09T07:41:39Z emaczen: It returns 3 in CCL 2017-03-09T07:41:42Z emaczen: any ideas? 2017-03-09T07:42:06Z beach: DIRECTORY leaves a lot of detail up to the implementation. 2017-03-09T07:42:12Z schjetne quit (Ping timeout: 260 seconds) 2017-03-09T07:42:40Z flip214: emaczen: try "*.*" 2017-03-09T07:42:57Z flip214: perhaps one of the files has no extension 2017-03-09T07:42:58Z circ-user-3ReWJ: Is UIOP the way to go for stuff like that? 2017-03-09T07:43:05Z flip214: yes. 2017-03-09T07:43:59Z emaczen: flip214: Thanks that worked. I have a feeling im not going to remember this though.. 2017-03-09T07:44:15Z shaftoe: cl-fcad or something? 2017-03-09T07:44:57Z shka_ quit (Ping timeout: 240 seconds) 2017-03-09T07:45:16Z shaftoe: http://quickdocs.org/cl-fad/api 2017-03-09T07:45:48Z shaftoe: works consistently on sbcl and ccl apparently 2017-03-09T07:45:55Z beach: circ-user-3ReWJ: For that particular case, UIOP has a solution, but as soon as the pattern gets more complicated, the result still depends on the implementation. 2017-03-09T07:47:42Z flip214: yeah, but if you want more than getting _all_ entries of a directory, a separate loop and eg. CL-PPCRE is a better idea anyway. IMO, at least. 2017-03-09T07:48:02Z beach: emaczen: Try (uiop/filesystem:directory-files "/path/to/directory/") 2017-03-09T07:49:35Z circ-user-3ReWJ quit (Ping timeout: 240 seconds) 2017-03-09T07:52:20Z jack_rabbit joined #lisp 2017-03-09T07:54:22Z varjag joined #lisp 2017-03-09T07:55:30Z flamebeard joined #lisp 2017-03-09T07:55:48Z emaczen: It appears that when writing to a file, that some whitespace is not preserved in one of my strings... 2017-03-09T07:55:53Z emaczen: any ideas? 2017-03-09T07:56:10Z emaczen: i'm writing a list which has some strings to a file 2017-03-09T07:56:18Z White_Flame: which whitespace characters? 2017-03-09T07:58:53Z emaczen: White_Flame: strings within a list that contain a space 2017-03-09T07:59:10Z White_Flame: so they're literally character code 32? 2017-03-09T07:59:26Z White_Flame: if they're anything else, could be an encoding issue 2017-03-09T07:59:48Z White_Flame: especially if it's only one string out of many that's doing it, it could be the fault of that particular character 2017-03-09T08:00:44Z emaczen: White_Flame: how would you recommend writing a hash-table to a file so that it can be read back in? 2017-03-09T08:01:10Z emaczen: I was going to write it to a simple string representation of my reader-macro which creates hash-tables 2017-03-09T08:01:20Z White_Flame: depends on what the keys & values are. If they're printable, just convert it to a plist with alexandria and print that 2017-03-09T08:01:41Z White_Flame: *readably printable 2017-03-09T08:02:11Z emaczen: White_Flame: Yeah, thats probably easier than what I'm tring to do 2017-03-09T08:05:30Z gargaml joined #lisp 2017-03-09T08:09:28Z trueneu joined #lisp 2017-03-09T08:09:29Z rumbler31 joined #lisp 2017-03-09T08:12:11Z flip214: emaczen: export as a json blob? 2017-03-09T08:12:34Z Petit_Dejeuner: Having a little trouble looking it up through the documentation or search engines. Is there a hard limit on threads in bourdeax threads and if so how high is it? I don't actually need an exact number. I just want to know if they're cheap enough I can create a ton of them. 2017-03-09T08:12:58Z Petit_Dejeuner: I care more about the concurrency than the parallelism. 2017-03-09T08:14:05Z rumbler31 quit (Ping timeout: 240 seconds) 2017-03-09T08:18:08Z White_Flame: flip214: I was going to suggest that, but JSON is much more limited than a plist. It only allows string keys 2017-03-09T08:20:15Z test1600_ joined #lisp 2017-03-09T08:20:51Z emaczen: what is a good method to determine between a plist and an alist? 2017-03-09T08:21:45Z emaczen: I don't want to read through the entire list... maybe I'll store some type information in the file 2017-03-09T08:23:26Z test1600 quit (Ping timeout: 258 seconds) 2017-03-09T08:25:36Z emaczen left #lisp 2017-03-09T08:26:35Z White_Flame: a plist has an even number of entries. in an a-list each entry is a cons cell. Note that those aren't mutually exclusive enough to fully tell what the intent is 2017-03-09T08:27:11Z pve joined #lisp 2017-03-09T08:36:00Z flip214: White_Flame: what if the last entry of an plist has the value NIL? ;P 2017-03-09T08:36:16Z White_Flame: as in (:a nil :b nil)? 2017-03-09T08:36:51Z White_Flame: that's decidednly not an alist, because :a and :b aren't cons cells 2017-03-09T08:37:33Z White_Flame: (well, neither is NIL. we're not doing listp but consp) 2017-03-09T08:37:35Z phoe_ joined #lisp 2017-03-09T08:42:05Z xmonader joined #lisp 2017-03-09T08:43:35Z nowhere_man quit (Quit: Konversation terminated!) 2017-03-09T08:43:50Z nowhere_man joined #lisp 2017-03-09T08:48:16Z Petit_Dejeuner: Well, I guess you could do (let ((a (cons 'a 'b))) (getf (list a 3) a)) 2017-03-09T08:48:23Z Petit_Dejeuner: getf uses eq, iirc 2017-03-09T08:48:26Z Petit_Dejeuner: so there it's amibguous 2017-03-09T08:48:32Z Petit_Dejeuner: ambiguous* 2017-03-09T08:48:49Z Petit_Dejeuner: er, change that 3 to a (cons 3 3) 2017-03-09T08:56:42Z mazoe joined #lisp 2017-03-09T08:58:36Z hhdave joined #lisp 2017-03-09T09:02:27Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-09T09:06:19Z schjetne joined #lisp 2017-03-09T09:09:56Z mateuszb quit (Ping timeout: 260 seconds) 2017-03-09T09:10:20Z Exodus joined #lisp 2017-03-09T09:10:37Z Exodus: what are the metaprogramming facilities? 2017-03-09T09:11:16Z beach: Exodus: I guess you could consider macros to be metaprogramming, because with a macro you actually program the compiler to recognize new syntax. 2017-03-09T09:11:28Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-09T09:11:45Z Exodus: beach, are there more powerful things than macros? 2017-03-09T09:11:52Z beach: Exodus: And of course the CLOS metaobject protocol allows you to create entirely new metaclasses and other metaobjects. 2017-03-09T09:12:20Z beach: Exodus: For that, you need to tell me how you measure "power". 2017-03-09T09:12:40Z Exodus left #lisp 2017-03-09T09:12:40Z Exodus joined #lisp 2017-03-09T09:13:04Z edgar-rft joined #lisp 2017-03-09T09:13:07Z Exodus: sorry I disconnected could you retype please 2017-03-09T09:13:16Z beach: Exodus: And of course the CLOS metaobject protocol allows you to create entirely new metaclasses and other metaobjects. 2017-03-09T09:13:18Z beach: Exodus: For that, you need to tell me how you measure "power". 2017-03-09T09:14:02Z Exodus: beach, lets ask are there more crazy things than macros? What is the best way to metaprogramming? 2017-03-09T09:15:12Z beach: Hard to answer unless you can specify what kind of metaprogramming you want. But CLOS MetaObject Protocol is pretty powerful. 2017-03-09T09:15:48Z beach: For instance, with that, it is possible (and it has been done) to create a prototype-based object system that integrates perfectly into the language. 2017-03-09T09:15:55Z flip214: Exodus: CL also allows to write reader-macros, ie. functions that change the way sources are parsed 2017-03-09T09:16:13Z flip214: so you could embed or parse arbitrary languages into your CL program as well. 2017-03-09T09:16:37Z Exodus: So, I can't find any better language for metaprogramming than CL? 2017-03-09T09:17:03Z beach: Exodus: This channel is dedicated to Common Lisp, so you won't get an unbiased answer to that question here. 2017-03-09T09:17:57Z John[Lisbeth] quit (Ping timeout: 240 seconds) 2017-03-09T09:19:04Z Exodus: why so serious? 2017-03-09T09:20:14Z beach: Exodus: Most people who hang out here prefer discussions that might lead somewhere, as opposed to random unverifiable opinions. 2017-03-09T09:20:55Z White_Flame: If metaprogramming is defined as "programming that does programming for you", and that the best/easiest ones have the source/target/execution langauges be the same, and all run together without shelling out to different utilities and being bound to make-style cycles, then Lisp and Forth are the only 2 "major" languages I've seen pull it off 2017-03-09T09:21:06Z nirved joined #lisp 2017-03-09T09:21:11Z rumbler31 joined #lisp 2017-03-09T09:21:32Z Exodus left #lisp 2017-03-09T09:21:39Z Exodus joined #lisp 2017-03-09T09:21:52Z Exodus: Disconnected again, pls retype 2017-03-09T09:22:01Z White_Flame: If metaprogramming is defined as "programming that does programming for you", and that the best/easiest ones have the source/target/execution langauges be the same, and all run together without shelling out to different utilities and being bound to make-style cycles, then Lisp and Forth are the only 2 "major" languages I've seen pull it off 2017-03-09T09:22:04Z jamtho joined #lisp 2017-03-09T09:23:08Z White_Flame: certainly if you have a separate compile time before final execution, you can build up source code in any language for any language, but it'll usually be mucking about with strings, or complex AST representations which don't directly match the language syntax 2017-03-09T09:23:17Z Exodus: White_Flame, forth?! 2017-03-09T09:23:49Z White_Flame: Forth can run Forth in order to generate Forth words inside definitions 2017-03-09T09:24:31Z White_Flame: Lisp can read Lisp source code as data and transform it into modified or generated Lisp code, right as Lisp is compiled 2017-03-09T09:24:52Z andrei_chifa joined #lisp 2017-03-09T09:25:08Z White_Flame: so pulling out of the air, I'd probably call that "online metaprogramming", which is a heck of a lot easier than offline 2017-03-09T09:25:48Z rumbler31 quit (Ping timeout: 260 seconds) 2017-03-09T09:26:22Z jamtho quit (Ping timeout: 246 seconds) 2017-03-09T09:27:28Z Exodus: So forth is the best lang for metaprogramming? 2017-03-09T09:27:53Z White_Flame: where is this question coming from? 2017-03-09T09:28:07Z beach: Exodus: Are you being intentionally dense? 2017-03-09T09:28:39Z Exodus: I just want to learn a single language and I can do anything with it 2017-03-09T09:28:53Z Exodus: easliy and practically 2017-03-09T09:29:12Z White_Flame: all langauges can do anything 2017-03-09T09:29:24Z White_Flame: easily & practically completely depends on the current project 2017-03-09T09:29:52Z mateuszb joined #lisp 2017-03-09T09:30:00Z mrcom quit (Read error: Connection reset by peer) 2017-03-09T09:30:38Z beach: Exodus: What part of "This channel is dedicated to Common Lisp, so you won't get an unbiased answer to that question here" did you not understand? 2017-03-09T09:31:13Z Exodus: beach, why wouldn't I understand? 2017-03-09T09:32:09Z beach goes and does something more productive. 2017-03-09T09:32:33Z Exodus: Me2 2017-03-09T09:34:40Z Exodus: If a language heavly infuenced by Lisp, but doesn't use Lisp syntax, still considered a member of Lisp family 2017-03-09T09:34:41Z Exodus: ? 2017-03-09T09:34:50Z Exodus: add/family/? 2017-03-09T09:35:13Z jdz: I would not call Ruby a lisp. 2017-03-09T09:35:18Z White_Flame: you'll find many opinions on that in all directions 2017-03-09T09:36:11Z jdz: Also, different people have different opinions on what "lisp" is, so I'm not sure what the point of that question really is. 2017-03-09T09:36:26Z phoe_: AFAIR by McCarthy's original definition, Ruby, JavaScript, Perl, Python et cetera aren't Lisps because their code isn't data - you need to parse the code every time after you read it. 2017-03-09T09:36:30Z Zhivago: exodus: Is dylan a lisp? Is javascript a lisp? 2017-03-09T09:36:32Z beach: Exodus: There is no widely agreed-upon definition of "the Lisp family", so that question can not be answered objectively. That is why this channel is dedicated to Common Lisp, which has a perfectly objective definition. 2017-03-09T09:36:57Z Amplituhedron quit (Ping timeout: 240 seconds) 2017-03-09T09:37:01Z White_Flame: is[this,a,lisp]? 2017-03-09T09:37:05Z Zhivago: phoe: By that definition, CL isn't a lisp, either. 2017-03-09T09:37:19Z beach: Seriously? 2017-03-09T09:37:29Z beach: I'll come back later.... 2017-03-09T09:38:36Z phoe_: Haha, reader macros complicate so many things. 2017-03-09T09:38:37Z Exodus: Whatever... 2017-03-09T09:39:26Z Zhivago: And minimal compilation, and so on -- it's not a very useful definition. :) 2017-03-09T09:39:29Z White_Flame was throwing some m-expressions around, at least that's how I recall the syntax 2017-03-09T09:40:22Z White_Flame: oh, it uses semicolons for argument separators, not commas 2017-03-09T09:43:20Z Exodus quit (Ping timeout: 260 seconds) 2017-03-09T09:44:36Z defaultxr quit (Ping timeout: 260 seconds) 2017-03-09T09:52:48Z o1e9 joined #lisp 2017-03-09T09:53:21Z M-herah left #lisp 2017-03-09T09:53:30Z Guest51168 quit (Ping timeout: 240 seconds) 2017-03-09T09:55:04Z Sigyn quit (Quit: Can we drop the ‘artificial intelligence’? It’s a bit like me calling you a meat-based processing system.) 2017-03-09T09:55:14Z phoe_: Lisp is so powerful that what are technical issues in other languages are social issues in Lisp 2017-03-09T09:55:21Z phoe_: ...and social issues are the hardest to fix 2017-03-09T09:56:17Z Sigyn joined #lisp 2017-03-09T09:56:20Z Petit_Dejeuner: Lisp has no more social issues than any other language I know. 2017-03-09T09:57:10Z rumbler31 joined #lisp 2017-03-09T09:59:33Z Karl_Dscc joined #lisp 2017-03-09T09:59:33Z Zhivago: phoe: What is your metric for power? 2017-03-09T10:00:17Z Zhivago: Ever tried to add a numeric type portably to CL? 2017-03-09T10:00:29Z Zhivago: s/type/class/ 2017-03-09T10:00:37Z White_Flame: is it easier in any other language? 2017-03-09T10:00:51Z White_Flame: (any other general purpose language, that is) 2017-03-09T10:01:01Z jealousmonk joined #lisp 2017-03-09T10:01:03Z Zhivago: Sure -- C++ and python would be examples. 2017-03-09T10:01:27Z rumbler31 quit (Ping timeout: 240 seconds) 2017-03-09T10:01:33Z White_Flame: ah right, integration with things like #'+ 2017-03-09T10:01:37Z Zhivago: In many ways CL is quite inextensible and hostile to generic code. 2017-03-09T10:01:41Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-09T10:02:26Z flip214: but CL21 fixes some of these already. 2017-03-09T10:02:42Z Zhivago: Glad to hear it -- do we have many implementations? 2017-03-09T10:03:00Z flip214: AFAIK that runs on all CL implementations. 2017-03-09T10:03:24Z Petit_Dejeuner: iirc, cl21 is just a new default package 2017-03-09T10:05:53Z jameser_ quit (Ping timeout: 268 seconds) 2017-03-09T10:06:33Z Zhivago: Which of these issues does it fix? 2017-03-09T10:06:58Z Petit_Dejeuner: iirc, it makes everything a method and adds some functions to the stdlib 2017-03-09T10:07:35Z Petit_Dejeuner: ofcourse you could just redefine +, /, -, *, length or any other function as a method in terms of the old function 2017-03-09T10:07:56Z Petit_Dejeuner: which is probably how cl21 works anyway 2017-03-09T10:08:12Z ogamita joined #lisp 2017-03-09T10:08:19Z Zhivago: I don't think it does, looking at the code, although I guess it makes it easier to shadow and do so. 2017-03-09T10:12:38Z Petit_Dejeuner: Real numbers, floats, and complex numbers are all supported already so it's not a problem unless you need to define a new type that supports addition, like a matrix. Then it could be annoying. However, maybe mathmaticians have overloaded the operators too much anyway. Either way, you could always define your own methods/functions on top of the existing ones. 2017-03-09T10:13:08Z malice joined #lisp 2017-03-09T10:13:48Z Petit_Dejeuner: And it's still not infix. 2017-03-09T10:15:25Z quazimodo joined #lisp 2017-03-09T10:16:33Z Karl_Dscc quit (Remote host closed the connection) 2017-03-09T10:16:44Z sjl joined #lisp 2017-03-09T10:19:08Z FreeBirdLjj joined #lisp 2017-03-09T10:24:26Z raynold quit (Quit: Connection closed for inactivity) 2017-03-09T10:26:05Z cibs quit (Ping timeout: 240 seconds) 2017-03-09T10:27:58Z Xach quit (Ping timeout: 240 seconds) 2017-03-09T10:28:00Z cibs joined #lisp 2017-03-09T10:28:12Z Xach joined #lisp 2017-03-09T10:44:25Z Karl_Dscc joined #lisp 2017-03-09T10:44:45Z ogamita quit (Read error: No route to host) 2017-03-09T10:46:56Z malice quit (Remote host closed the connection) 2017-03-09T10:47:44Z test1600_ quit (Quit: Leaving) 2017-03-09T10:55:13Z quazimodo quit (Ping timeout: 268 seconds) 2017-03-09T11:00:37Z m00natic joined #lisp 2017-03-09T11:02:39Z ogamita joined #lisp 2017-03-09T11:04:12Z iago joined #lisp 2017-03-09T11:12:52Z schjetne quit (Ping timeout: 258 seconds) 2017-03-09T11:15:00Z jealousmonk quit (Ping timeout: 260 seconds) 2017-03-09T11:15:35Z mazoe quit (Read error: Connection reset by peer) 2017-03-09T11:16:26Z quazimodo joined #lisp 2017-03-09T11:21:54Z EvW joined #lisp 2017-03-09T11:32:02Z EvW quit (Ping timeout: 258 seconds) 2017-03-09T11:34:36Z EvW1 joined #lisp 2017-03-09T11:36:51Z jealousmonk joined #lisp 2017-03-09T11:41:37Z chens quit (Read error: Connection reset by peer) 2017-03-09T11:42:30Z chens joined #lisp 2017-03-09T11:47:58Z jfb4 quit (Ping timeout: 256 seconds) 2017-03-09T11:52:21Z jfb4 joined #lisp 2017-03-09T11:57:26Z jameser joined #lisp 2017-03-09T11:58:49Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-09T11:59:34Z aeth: Petit_Dejeuner: Matrices and vectors are probably a weak spot for CL. And there it's not enough that something is possible, but rather that it's possible to do fast. 2017-03-09T12:02:53Z shdeng_ quit (Quit: Leaving) 2017-03-09T12:04:03Z schjetne joined #lisp 2017-03-09T12:07:33Z phoe_: Does anyone have the ToC for Lisp specification in a copypastable form anywhere? 2017-03-09T12:08:01Z phoe_: I need the numbers and titles for all the chapters, sections and subsections. 2017-03-09T12:09:27Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-09T12:10:37Z attila_lendvai joined #lisp 2017-03-09T12:10:49Z attila_lendvai quit (Changing host) 2017-03-09T12:10:49Z attila_lendvai joined #lisp 2017-03-09T12:12:38Z d4ryus2 joined #lisp 2017-03-09T12:15:40Z d4ryus1 quit (Ping timeout: 260 seconds) 2017-03-09T12:16:28Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-09T12:18:49Z neoncontrails quit (Read error: Connection reset by peer) 2017-03-09T12:21:20Z neoncontrails joined #lisp 2017-03-09T12:26:30Z congnotronicist joined #lisp 2017-03-09T12:27:43Z chens quit (Ping timeout: 268 seconds) 2017-03-09T12:27:49Z flip214: phoe_: the bot here might have?! 2017-03-09T12:29:17Z didi joined #lisp 2017-03-09T12:30:02Z didi: How do you feel about defining 2 or more packages in 1 ASDF system? 2017-03-09T12:31:10Z phoe_: flip214: I have completely no idea who is reponsible for minion. 2017-03-09T12:31:11Z Petit_Dejeuner: It's not uncommon for large systems to do that. 2017-03-09T12:31:16Z Petit_Dejeuner: @ didi 2017-03-09T12:31:21Z andrei_chifa joined #lisp 2017-03-09T12:31:54Z didi: Petit_Dejeuner: Cool. 2017-03-09T12:32:19Z Petit_Dejeuner: didi: cl-sdl2 has a main package and an examples package, https://github.com/lispgames/cl-sdl2/blob/master/src/package.lisp 2017-03-09T12:32:44Z Petit_Dejeuner: I think it's usually done to seperate tests and examples from the main library, but I'm pretty sure I've seen it used to seperate different parts of a system as well. 2017-03-09T12:33:22Z schjetne quit (Ping timeout: 264 seconds) 2017-03-09T12:34:02Z flip214: didi: many systems do that - eg one for code, one for tests. 2017-03-09T12:34:29Z lieven quit (Changing host) 2017-03-09T12:34:29Z lieven joined #lisp 2017-03-09T12:41:16Z jameser_ joined #lisp 2017-03-09T12:41:17Z aeth: Sometimes, sytems have one package per file or one package per directory. 2017-03-09T12:43:34Z didi: Thank you all. 2017-03-09T12:43:58Z jameser quit (Ping timeout: 240 seconds) 2017-03-09T12:44:15Z Harag quit (Read error: Connection reset by peer) 2017-03-09T12:44:47Z loke___ joined #lisp 2017-03-09T12:46:18Z Harag joined #lisp 2017-03-09T12:46:47Z didi: Aside from package naming conventions like ROOT.CHILD, there is no package hierarchy, right? 2017-03-09T12:48:25Z flip214: no. 2017-03-09T12:48:43Z scymtym: phoe_: re flip214's suggestion: maybe this https://github.com/stassats/lisp-bots/blob/master/specs/cl.lisp#L1056 ? 2017-03-09T12:49:13Z didi: flip214: Thanks. 2017-03-09T12:50:22Z didi: Cool. Slime reacts to ROOT.CHILD package naming. 2017-03-09T12:50:51Z pmc joined #lisp 2017-03-09T12:51:15Z schjetne joined #lisp 2017-03-09T12:51:58Z BitPuffin|osx joined #lisp 2017-03-09T12:52:26Z pmc: Dumb newbie questions: How do you pass command line arguments to a lisp program? In GNU CLISP I wrote a program called zip.lisp that contains the one line: (format t "~S" *args*). I ran "clisp zip.lisp". Then I ran "zip.fas" but the only thing printed out is NUL. 2017-03-09T12:52:37Z pmc: oops, NIL 2017-03-09T12:53:45Z didi: pmc: It is implementation-specific. In SBCL, the command line can be read from `sb-ext:*posix-argv*' 2017-03-09T12:53:53Z congnotronicist: pretty sure clisp has access to commandline args 2017-03-09T12:54:20Z pmc: hmmm, maybe it is something other than *args*. RTFM. 2017-03-09T12:54:24Z snits` quit (Ping timeout: 260 seconds) 2017-03-09T12:54:26Z congnotronicist: yup, what didi said, only in clisp it will be a different symbol 2017-03-09T12:54:35Z jameser_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-09T12:55:31Z ogamita: pmc: http://paste.lisp.org/display/340978 2017-03-09T12:56:50Z phoe_: scymtym: ooooh. 2017-03-09T12:57:07Z pmc: ogamita: cool, thanks! 2017-03-09T13:00:15Z the-blackbeard joined #lisp 2017-03-09T13:00:30Z EvW1 quit (Ping timeout: 256 seconds) 2017-03-09T13:03:39Z jameser joined #lisp 2017-03-09T13:03:49Z macdavid313 joined #lisp 2017-03-09T13:04:36Z macdavid313 quit (Client Quit) 2017-03-09T13:05:23Z Petit_Dejeuner: I'm surprised there isn't some kind of library that papers over all the different args. 2017-03-09T13:05:28Z Petit_Dejeuner: Or maybe there is? 2017-03-09T13:05:36Z didi: I bet there is. 2017-03-09T13:05:47Z didi: I think ASDF might have something. 2017-03-09T13:07:25Z flip214: didi: uiop IIRC 2017-03-09T13:07:35Z didi: flip214: Right. 2017-03-09T13:08:28Z didi: `uiop/image:command-line-arguments\ 2017-03-09T13:09:21Z schjetne quit (Ping timeout: 260 seconds) 2017-03-09T13:09:46Z Petit_Dejeuner: Huh, why image? 2017-03-09T13:10:10Z didi: I dunno. Slime likes to complete package names like that. 2017-03-09T13:10:30Z Petit_Dejeuner: I mean as opposed to the other uiop sub categories. 2017-03-09T13:10:34Z Petit_Dejeuner: Oh well, I'm sure it makes sense to someone. 2017-03-09T13:10:35Z didi: oic 2017-03-09T13:11:51Z jdz: minion: who is your master? 2017-03-09T13:11:52Z minion: chandler is my master 2017-03-09T13:12:16Z jdz: Not sure that's up-to-date information... 2017-03-09T13:15:39Z flip214: clhs minion 2017-03-09T13:15:39Z specbot: Couldn't find anything for minion. 2017-03-09T13:15:43Z flip214: clhs clhs 2017-03-09T13:15:43Z specbot: Couldn't find anything for clhs. 2017-03-09T13:17:02Z beach: I think stassats is the one maintaining minion at the moment. 2017-03-09T13:28:18Z warweasle joined #lisp 2017-03-09T13:31:50Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-09T13:32:42Z rumbler31 joined #lisp 2017-03-09T13:36:20Z pmc quit (Quit: Leaving) 2017-03-09T13:37:24Z rumbler31 quit (Ping timeout: 268 seconds) 2017-03-09T13:40:40Z drmeister: Is anyone online with some C-chops? I wonder if you could take a look at this ECL code. It's part of ECL's signal handler and I think it should unlink one CONS cell from env->signal_queue and nconc it into env->pending_interrupt. But it doesn't appear to set the CDR of the unlinked CONS cell. 2017-03-09T13:41:18Z drmeister: So effectively it concatenates the env->pending_interrupt and env->signal_queue lists together? I'm seeing it but not believing it. 2017-03-09T13:41:19Z drmeister: https://gitlab.com/embeddable-common-lisp/ecl/blob/develop/src/c/unixint.d#L383 2017-03-09T13:42:57Z drmeister: I believe the point of this is to queue signals for later and avoid consing CONS cells. 2017-03-09T13:43:30Z drmeister: env->signal_queue is filled with a 16 element list of NIL when the thread is created. 2017-03-09T13:49:38Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-09T13:51:02Z jameser joined #lisp 2017-03-09T13:54:45Z libre-man: Can I bind the `*ps-print-pretty*` variable lexically to only minify the code passed to my macro but not other code? 2017-03-09T13:56:12Z libre-man: Doing something like `(let ((*ps-print-pretty* nil)) (ps (lambda (a) a)))` does not work. 2017-03-09T13:56:32Z jameser quit (Max SendQ exceeded) 2017-03-09T13:58:27Z jameser joined #lisp 2017-03-09T13:58:57Z Xach: libre-man: not lexically, no. 2017-03-09T13:59:46Z libre-man: Something like this seems to work: `(let ((*ps-print-pretty* nil)) (ps-to-mapreduce (ps* ',fn))) 2017-03-09T14:00:02Z libre-man: So using the ps* function 2017-03-09T14:00:12Z phoe_: Trivia: the CL specification has 743 chapters, sections, subsections and so on in total. 2017-03-09T14:02:39Z splittist: It's the number of the beast++ 2017-03-09T14:03:59Z ogamita: of the cl-beast? 2017-03-09T14:04:57Z splittist: ogamita: better, yes 2017-03-09T14:07:24Z White_Flame: 743 = 0001011100111, which has *6* ones in the lower byte, *1* one bit above that, and *6* zeros! 2017-03-09T14:17:08Z lambda-smith joined #lisp 2017-03-09T14:18:04Z LiamH joined #lisp 2017-03-09T14:19:05Z flip214: White_Flame: in base -23, (decimal) 743 corresponds to 1MAG .... 2017-03-09T14:19:28Z trn quit (Ping timeout: 240 seconds) 2017-03-09T14:19:33Z flip214: and in base -9 it's "1024" 2017-03-09T14:19:40Z flip214: -8, 2551 2017-03-09T14:19:46Z flip214: -6, 4441 2017-03-09T14:20:34Z sjl quit (Ping timeout: 268 seconds) 2017-03-09T14:23:31Z flip214: BTW, I believe that FORMAT should be able to do negative bases up to -36 as well... and perhaps bases -62 .. +62 2017-03-09T14:23:38Z rumbler31 joined #lisp 2017-03-09T14:23:45Z schjetne joined #lisp 2017-03-09T14:24:37Z snowcrshd joined #lisp 2017-03-09T14:27:14Z knobo: Did anyone of you actually use use progv? 2017-03-09T14:27:35Z ksool_ joined #lisp 2017-03-09T14:28:04Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-09T14:28:42Z knobo: It's my first time, and I'm a bit scared. 2017-03-09T14:29:28Z ksool quit (Ping timeout: 256 seconds) 2017-03-09T14:29:44Z _death: progvirgin 2017-03-09T14:30:47Z knobo: I think I'm ready :) 2017-03-09T14:32:38Z _death: knobo: used progv here.. http://paste.lisp.org/display/340987 (not a very good template engine) 2017-03-09T14:33:05Z didi: I did, while implementing pattern matching from PAIP. 2017-03-09T14:33:59Z cromachina quit (Read error: Connection reset by peer) 2017-03-09T14:39:21Z knobo: thank you for the support guys 2017-03-09T14:47:56Z schjetne quit (Ping timeout: 260 seconds) 2017-03-09T14:49:27Z jameser quit (Ping timeout: 258 seconds) 2017-03-09T14:53:00Z NeverDie quit (Quit: http://radiux.io/) 2017-03-09T14:53:30Z jameser joined #lisp 2017-03-09T14:57:21Z Karl_Dscc quit (Remote host closed the connection) 2017-03-09T14:59:55Z rippa joined #lisp 2017-03-09T15:00:11Z trn joined #lisp 2017-03-09T15:01:36Z dec0n quit (Read error: Connection reset by peer) 2017-03-09T15:06:14Z TDT joined #lisp 2017-03-09T15:13:50Z beach: OK, we (me and my (admittedly small) family) registered for ELS and we have a hotel room in Brussels. Arrival early Sunday would be my guess. 2017-03-09T15:14:42Z al-damiri joined #lisp 2017-03-09T15:15:06Z beach: For the registration, I checked the box saying I am an author, but in fact I don't know that yet. :) 2017-03-09T15:16:53Z Petit_Dejeuner: "This guy says he's an author, but we didn't send out confirmation letters yet." 2017-03-09T15:17:07Z beach: Heh! 2017-03-09T15:17:10Z Petit_Dejeuner: "Oh, better dereigster him. And put him on the blacklist for good measure." 2017-03-09T15:17:27Z Petit_Dejeuner: "Maybe take away his Smug Lisp Weenier card." 2017-03-09T15:17:41Z Petit_Dejeuner: Weenie* 2017-03-09T15:17:44Z Zhivago: He'll never work in the lisp industry again. 2017-03-09T15:18:56Z dyelar quit (Quit: Leaving.) 2017-03-09T15:18:57Z phoe_: Petit_Dejeuner: I laughed. 2017-03-09T15:19:45Z phoe_: What if this delay is actually a perfectly smug tactical trick to wash out the overly confident from being allowed to speak!? 2017-03-09T15:20:28Z phoe_: Tick the "author" option before you got a confirmation, get -10% to all reviews of your paper. 2017-03-09T15:20:36Z phoe_: s/got/get/ 2017-03-09T15:21:11Z mishoo quit (Ping timeout: 260 seconds) 2017-03-09T15:21:40Z jdz: Or have a +10% to reviews for bravery. 2017-03-09T15:22:56Z nowhere_man quit (Ping timeout: 260 seconds) 2017-03-09T15:23:28Z jdz: Although that would be silly thing to do now that we know about Dunning-Kruger effect. 2017-03-09T15:26:29Z Josh_2 joined #lisp 2017-03-09T15:28:40Z smokeink quit (Quit: Lost terminal) 2017-03-09T15:29:04Z smokeink joined #lisp 2017-03-09T15:30:46Z rumbler31 joined #lisp 2017-03-09T15:31:54Z pjb joined #lisp 2017-03-09T15:32:46Z sjl joined #lisp 2017-03-09T15:33:17Z otjura: lisp makes me dumb, all that Rust boilerplate and rules seems unsurmountable. (can I get SmugLispWeenieCard now?) 2017-03-09T15:33:48Z NeverDie joined #lisp 2017-03-09T15:34:47Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-09T15:37:51Z Petit_Dejeuner: otjura: sent 2017-03-09T15:38:21Z MoALTz joined #lisp 2017-03-09T15:42:33Z Bicyclidine joined #lisp 2017-03-09T15:43:30Z _death: I'd prefer a SmugLispWeenieCadr 2017-03-09T15:43:58Z circ-user-j35rB joined #lisp 2017-03-09T15:47:07Z gingerale joined #lisp 2017-03-09T15:54:47Z EvW joined #lisp 2017-03-09T15:59:07Z TDT quit (Quit: TDT) 2017-03-09T16:00:49Z slyrus joined #lisp 2017-03-09T16:01:07Z phoe_: (defun smug-lisp-weenie-cadr (cons) (format t "u so smug bro~%") (cadr cons)) 2017-03-09T16:01:21Z phoe_: _death: there 2017-03-09T16:03:57Z _death: is this from http://www.unlambda.com/mit/index.html 2017-03-09T16:04:00Z guaqua joined #lisp 2017-03-09T16:04:56Z guaqua quit (Client Quit) 2017-03-09T16:05:05Z guaqua joined #lisp 2017-03-09T16:05:11Z trueneu quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2017-03-09T16:05:33Z guaqua quit (Client Quit) 2017-03-09T16:05:42Z guaqua joined #lisp 2017-03-09T16:06:38Z guaqua quit (Client Quit) 2017-03-09T16:08:08Z EvW quit (Ping timeout: 240 seconds) 2017-03-09T16:12:09Z dyelar joined #lisp 2017-03-09T16:13:04Z Harag quit (Ping timeout: 246 seconds) 2017-03-09T16:14:42Z Harag joined #lisp 2017-03-09T16:14:51Z phoe_ quit (Quit: Page closed) 2017-03-09T16:15:28Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-09T16:15:54Z guaqua joined #lisp 2017-03-09T16:16:00Z guaqua quit (Client Quit) 2017-03-09T16:16:02Z EvW joined #lisp 2017-03-09T16:16:17Z sbodin joined #lisp 2017-03-09T16:17:06Z bpanthi joined #lisp 2017-03-09T16:17:13Z guaqua joined #lisp 2017-03-09T16:19:16Z Harag quit (Ping timeout: 260 seconds) 2017-03-09T16:21:13Z mishoo joined #lisp 2017-03-09T16:25:01Z snits joined #lisp 2017-03-09T16:27:53Z circ-user-j35rB_ joined #lisp 2017-03-09T16:29:05Z circ-user-j35rB quit (Ping timeout: 240 seconds) 2017-03-09T16:29:15Z andrei_chifa joined #lisp 2017-03-09T16:31:48Z smokeink quit (Quit: Lost terminal) 2017-03-09T16:31:50Z splittist: Can anyone suggest an awesome common lisp code screen cap I can use as a background for something? 2017-03-09T16:32:19Z beach: Do you just want the source code? 2017-03-09T16:32:45Z beach: Or do you want the result of running it? 2017-03-09T16:32:49Z oleo: awwwww 2017-03-09T16:32:53Z oleo: get an animated one.... 2017-03-09T16:32:58Z splittist: I want the picture - I'm not on an emacs-capable (or climacs-capable) machine right now. 2017-03-09T16:33:22Z Lord_of_Life quit (Excess Flood) 2017-03-09T16:33:31Z beach: I am asking whether you want code or some graphics output from running it. 2017-03-09T16:33:38Z splittist: I guess I meant screen shot rather than screen cap, sorry. 2017-03-09T16:33:38Z raynold joined #lisp 2017-03-09T16:33:45Z oleo: like a running lambda on sexy legs..... 2017-03-09T16:33:47Z oleo: lol 2017-03-09T16:33:48Z beach: *sigh* 2017-03-09T16:33:58Z Lord_of_Life joined #lisp 2017-03-09T16:34:02Z splittist: I want a picture of the code (: 2017-03-09T16:34:09Z beach: OK. 2017-03-09T16:34:31Z beach: splittist: If you tell me what code you want, I can make a screen shot. 2017-03-09T16:35:10Z splittist thinks 2017-03-09T16:35:41Z splittist: something from ESA that isn't too embarrassing? 2017-03-09T16:35:54Z beach: I'll look... 2017-03-09T16:37:04Z Harag joined #lisp 2017-03-09T16:38:35Z beach: Something like this? http://metamodular.com/esa.png 2017-03-09T16:39:03Z beach: Feel free to reject it. 2017-03-09T16:39:34Z beach: ... or to give me directions for getting something better. 2017-03-09T16:40:00Z beach: ... like "Nah, no docstrings", or "Nah, not just definitions". 2017-03-09T16:40:44Z ryanwatk` quit (Ping timeout: 260 seconds) 2017-03-09T16:40:46Z splittist: Nah, not just definition. And wider - 1500px. And on a dark background. Feel free to reject me! 2017-03-09T16:41:04Z didi: We should instate a lisp lorem ipsum. 2017-03-09T16:42:03Z quadresce joined #lisp 2017-03-09T16:42:20Z mojjo joined #lisp 2017-03-09T16:42:34Z nirved: look here https://www.youtube.com/user/CBaggers/videos 2017-03-09T16:43:31Z Bicyclidine: http://anime.scripts.mit.edu/images/mitinanime_lain3.jpg i know where the code is but not a dark background 2017-03-09T16:43:33Z beach: splittist: better? http://metamodular.com/esa.png 2017-03-09T16:43:34Z _death: long ago I took this screenshot: https://i.imgur.com/YWYcb3a.png 2017-03-09T16:43:48Z rippa: http://instaco.de/ 2017-03-09T16:44:43Z splittist: beach: thanks! 2017-03-09T16:44:45Z otwieracz quit (Quit: Changing server) 2017-03-09T16:44:46Z jurov: splittist: maybe snap some interesting algorithm from rosettacode.org 2017-03-09T16:44:48Z splittist: htanks all 2017-03-09T16:45:19Z jurov: Has anyone ever thought how to represent comments in in-memory s-expressions so that I can output s-expr with comments? 2017-03-09T16:45:54Z jurov: Best idea so far to have whole comment as uninterned symbol and mark it as comment in its plist, wondering if there's anything more straightforward? 2017-03-09T16:46:12Z _death: there was a COMMENT operator in some Lisp, iirc 2017-03-09T16:46:14Z beach: jurov: I do that for Second Climacs. I modified the reader to include comments and other input that returns no values. 2017-03-09T16:46:18Z Xach: jurov: you could read it as any object you like and use pprint-dispatch/print-object. 2017-03-09T16:48:24Z jurov: Thanks. 2017-03-09T16:48:46Z loke___ quit (Ping timeout: 246 seconds) 2017-03-09T16:49:32Z TDT joined #lisp 2017-03-09T16:49:37Z aeth: I think the CL solution for +/*/etc... not being generic is that the numerical tower should be expanded. Treat 1D arrays of only numbers as vectors and 2D as matrices, and add quaternions as a type like complex. 2017-03-09T16:49:49Z otwieracz joined #lisp 2017-03-09T16:49:55Z varjag quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2017-03-09T16:50:13Z aeth: It will only be fast if the arrays are of some non-bignum type, of course 2017-03-09T16:50:24Z aeth: e.g. vec size 3 of single-float 2017-03-09T16:50:55Z krasnal joined #lisp 2017-03-09T16:51:07Z _death: here's some cute code: http://i.imgur.com/sCAtjnl.png (lots of empty space because there's another screen) 2017-03-09T16:51:24Z aeth: Vectors, quaternions, and matrices are probably 95% of what people want to expand arithemtic functions for anyway... 2017-03-09T16:52:53Z Bicyclidine: there are a lot more fields than that 2017-03-09T16:54:25Z EvW quit (Ping timeout: 258 seconds) 2017-03-09T16:55:02Z aeth: By popularity not by quantity 2017-03-09T16:57:34Z aeth: There are probably at least 5 implementations of vector math, and few if any extend */+/etc 2017-03-09T17:00:58Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-09T17:01:44Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-09T17:02:27Z Bicyclidine: right, but i mean then if someone else wants tensors other than 1,1, or whatever, you're back to the same thing 2017-03-09T17:03:42Z circ-user-j35rB_ quit (Remote host closed the connection) 2017-03-09T17:05:02Z Karl_Dscc joined #lisp 2017-03-09T17:12:50Z Lord_of_Life quit (Excess Flood) 2017-03-09T17:14:23Z circ-user-A48OI joined #lisp 2017-03-09T17:15:25Z andrei_chifa joined #lisp 2017-03-09T17:15:28Z Lord_of_Life joined #lisp 2017-03-09T17:15:31Z shifty quit (Ping timeout: 260 seconds) 2017-03-09T17:17:52Z BlueRavenGT joined #lisp 2017-03-09T17:20:07Z jmarciano joined #lisp 2017-03-09T17:20:48Z sjl quit (Ping timeout: 240 seconds) 2017-03-09T17:21:20Z TDT quit (Quit: TDT) 2017-03-09T17:22:45Z trn quit (Quit: quit) 2017-03-09T17:23:43Z TDT joined #lisp 2017-03-09T17:26:40Z nowhere_man joined #lisp 2017-03-09T17:26:50Z flamebeard quit (Quit: Leaving) 2017-03-09T17:29:49Z TDT quit (Quit: TDT) 2017-03-09T17:32:45Z TDT joined #lisp 2017-03-09T17:33:08Z BitPuffin|osx quit (Ping timeout: 240 seconds) 2017-03-09T17:33:15Z hhdave quit (Quit: hhdave) 2017-03-09T17:34:45Z bpanthi quit (Quit: bpanthi) 2017-03-09T17:37:39Z BitPuffin|osx joined #lisp 2017-03-09T17:41:56Z whartung joined #lisp 2017-03-09T17:47:10Z TDT quit (Quit: TDT) 2017-03-09T17:47:25Z RedEight joined #lisp 2017-03-09T17:48:27Z TDT joined #lisp 2017-03-09T17:48:56Z gargaml quit (Ping timeout: 256 seconds) 2017-03-09T17:49:48Z cibs quit (Ping timeout: 240 seconds) 2017-03-09T17:50:30Z o1e9 quit (Quit: Ex-Chat) 2017-03-09T17:50:35Z schjetne joined #lisp 2017-03-09T17:51:42Z mejja joined #lisp 2017-03-09T17:51:56Z cibs joined #lisp 2017-03-09T17:55:35Z Karl_Dscc quit (Remote host closed the connection) 2017-03-09T17:57:17Z circ-user-A48OI quit (Read error: Connection reset by peer) 2017-03-09T17:57:50Z trn joined #lisp 2017-03-09T17:58:25Z circ-user-A48OI joined #lisp 2017-03-09T17:58:39Z TDT quit (Quit: TDT) 2017-03-09T18:03:20Z m00natic quit (Remote host closed the connection) 2017-03-09T18:03:26Z quadresce quit (Quit: This computer has gone to sleep) 2017-03-09T18:04:53Z quadresce joined #lisp 2017-03-09T18:12:29Z shka_ joined #lisp 2017-03-09T18:14:05Z Bicyclidine quit (Ping timeout: 240 seconds) 2017-03-09T18:32:41Z didi: Sooo, `write-line' has &optional and &key parameters. Why not only &key? 2017-03-09T18:32:47Z phoe: clhs write-line 2017-03-09T18:32:47Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_wr_stg.htm 2017-03-09T18:34:27Z phoe: didi: I don't know. I think it follows some sort of convention here. 2017-03-09T18:34:34Z didi: e.g. (write-line "hello, world" :start 3) errors. 2017-03-09T18:34:44Z didi: phoe: oic 2017-03-09T18:34:46Z phoe: But, if it cheers you up, &optional parameters are sort of a mess in CL indeed. 2017-03-09T18:34:52Z phoe: wait a second 2017-03-09T18:35:00Z _death: guess because it used to be without the start/end keywords and so followed the usual convention with read/print functions.. later it was extended 2017-03-09T18:37:19Z didi: And I am guessing read* and write* functions use &optional instead of &key for performance reasons. 2017-03-09T18:38:15Z _death: maybe &key parameters came much later than &optional 2017-03-09T18:38:34Z didi: That too. 2017-03-09T18:38:57Z schjetne quit (Ping timeout: 240 seconds) 2017-03-09T18:39:50Z _death: the WRITE function doesn't use the optional convention, just &key 2017-03-09T18:40:00Z didi: True. 2017-03-09T18:40:03Z didi: Lots of keys. 2017-03-09T18:40:13Z zellerin joined #lisp 2017-03-09T18:40:46Z slyrus quit (Ping timeout: 246 seconds) 2017-03-09T18:40:57Z bgg_ joined #lisp 2017-03-09T18:41:06Z bgg_ quit (Remote host closed the connection) 2017-03-09T18:41:24Z _death: it could've been &optional stream &key ... but then maybe hobgoblins aren't welcome 2017-03-09T18:42:46Z mejja quit (Quit: \ No newline at end of file) 2017-03-09T18:44:42Z congnotronicist quit (Quit: Leaving) 2017-03-09T18:51:53Z Ukari joined #lisp 2017-03-09T18:55:48Z stepnem quit (Ping timeout: 256 seconds) 2017-03-09T18:57:21Z quadresce quit (Quit: This computer has gone to sleep) 2017-03-09T18:58:17Z vlatkoB_ quit (Remote host closed the connection) 2017-03-09T19:00:38Z quadresce joined #lisp 2017-03-09T19:06:36Z pjb: Mozilla Releases Firefox 52, the First Browser to Support WebAssembly 2017-03-09T19:06:56Z pjb: didi: historical reasons. 2017-03-09T19:07:36Z didi: pjb: Thanks. 2017-03-09T19:07:38Z pjb: didi: probably some lisp had optional parameters, and either another one had keyword parameters, or when they added them they added only keyword parameters. 2017-03-09T19:07:47Z pjb: Only 5 functions in CL have such a mix. 2017-03-09T19:08:28Z jealousmonk quit (Ping timeout: 240 seconds) 2017-03-09T19:11:36Z quadresce quit (Quit: This computer has gone to sleep) 2017-03-09T19:11:53Z quadresce joined #lisp 2017-03-09T19:11:59Z aesthetik joined #lisp 2017-03-09T19:12:04Z aesthetik quit (K-Lined) 2017-03-09T19:12:35Z jason_m quit (Ping timeout: 240 seconds) 2017-03-09T19:13:24Z trueneu joined #lisp 2017-03-09T19:13:58Z prole joined #lisp 2017-03-09T19:14:30Z quadresce quit (Client Quit) 2017-03-09T19:15:03Z quadresce joined #lisp 2017-03-09T19:17:54Z NeverDie quit (Quit: http://radiux.io/) 2017-03-09T19:19:00Z pbgc joined #lisp 2017-03-09T19:22:19Z NeverDie joined #lisp 2017-03-09T19:23:21Z TDT joined #lisp 2017-03-09T19:25:23Z bocaneri quit (Remote host closed the connection) 2017-03-09T19:26:32Z megalography joined #lisp 2017-03-09T19:27:15Z varjag joined #lisp 2017-03-09T19:27:57Z trueneu quit (Ping timeout: 240 seconds) 2017-03-09T19:30:44Z quadresce quit (Quit: This computer has gone to sleep) 2017-03-09T19:32:46Z hhdave joined #lisp 2017-03-09T19:34:02Z quadresce joined #lisp 2017-03-09T19:35:28Z jfb4 quit (Ping timeout: 256 seconds) 2017-03-09T19:37:25Z jfb4 joined #lisp 2017-03-09T19:38:29Z EvW joined #lisp 2017-03-09T19:40:11Z pbgc quit (Quit: Textual IRC Client: http://www.textualapp.com/) 2017-03-09T19:42:36Z lambda-smith quit (Quit: Konversation terminated!) 2017-03-09T20:00:51Z slyrus joined #lisp 2017-03-09T20:01:56Z sjl joined #lisp 2017-03-09T20:05:13Z didi left #lisp 2017-03-09T20:09:58Z hhdave quit (Quit: hhdave) 2017-03-09T20:13:18Z pmc joined #lisp 2017-03-09T20:13:47Z pmc: Newbie Question: Are there any Grpahics APIs for GNU CLISP under Microsoft Windows? 2017-03-09T20:15:02Z pjb: pmc: clisp has a good FFI, and also CFFI runs on it. This gives you two options to access any Microsoft Windows graphics API they have. 2017-03-09T20:15:26Z pjb: pmc: for a newbie you may also use pgl. 2017-03-09T20:15:45Z pmc: pjb: FFI is foreign function interface? What is pgl? 2017-03-09T20:15:55Z pjb: Yes, perhaps FFI is too advanced for newbies. 2017-03-09T20:16:07Z pjb: pgl -> http://www.cliki.net/pgl 2017-03-09T20:16:11Z pmc: pjb: thanks! 2017-03-09T20:16:25Z shka_: pjb: you may also want to ask at #lispgames 2017-03-09T20:16:47Z pmc: ok, will do. 2017-03-09T20:16:49Z shka_: afaik there are already some high level 3D options here 2017-03-09T20:17:10Z terpri quit (Ping timeout: 264 seconds) 2017-03-09T20:17:27Z shka_: given how APIs evolved, I would check it out 2017-03-09T20:17:36Z pjb: pmc: for pgl, currently it would only work on ccl, but it would require mininal changes to make it run on clisp or another CL, cf. the make-backend-pipe function. 2017-03-09T20:17:51Z pjb: and with-jbe-pipe-error-handler 2017-03-09T20:17:56Z pmc: ok I will note that. :) 2017-03-09T20:18:14Z pjb: pmc: notice, ccl works on MS-Windows, so… 2017-03-09T20:18:27Z shka_: it also works quite well 2017-03-09T20:18:31Z shka_: :-) 2017-03-09T20:19:19Z terpri joined #lisp 2017-03-09T20:19:59Z pmc: cool, I am just looking for something basic like draw_pixel set_color -- nothing too fancy :) 2017-03-09T20:20:38Z shka_: does sdl work fine on windows? 2017-03-09T20:20:53Z pjb: pgl is nice for newbies, because there's a lot of tutorials around it; for other languages like Java or C, but the graphics API and teachings are the same in any language. 2017-03-09T20:21:06Z pjb: And SPL works anywhere, it's a Java backend. 2017-03-09T20:21:27Z pjb: (SPL is the backend of PGL). 2017-03-09T20:21:59Z pjb: oops, erase the last line. 2017-03-09T20:21:59Z cuso4 joined #lisp 2017-03-09T20:22:00Z pmc: ah. 2017-03-09T20:22:20Z pjb: cf. http://cs.stanford.edu/people/eroberts/papers/ITiCSE-2013/PortableGraphicsLibrary.pdf 2017-03-09T20:23:10Z pmc: I decided to read through Graham's ANSI Common Lisp and implement a Z-mahcine Interpreter for the Infocom text adventures. If it works well, maybe I will do some grapgics support in the future. 2017-03-09T20:23:57Z pmc: thanks for that link 2017-03-09T20:23:59Z pjb: Sounds funny. 2017-03-09T20:25:26Z Jesin quit (Quit: Leaving) 2017-03-09T20:26:37Z pmc: So let me guess, a FFI just alows you to call functions from other programming languages, like hooks into an API? 2017-03-09T20:27:32Z terpri quit (Read error: Connection reset by peer) 2017-03-09T20:27:40Z phoe: yes, as long as something exports functions that are C-compatible. 2017-03-09T20:28:02Z terpri joined #lisp 2017-03-09T20:30:10Z pjb: pmc: the problem is that lisp is a controled environment, while the C ABI provided on usual systems is not. 2017-03-09T20:30:29Z pjb: pmc: this means that when you can a C function thru FFI, you can crash the program just like any C program. 2017-03-09T20:30:48Z sbodin quit (Ping timeout: 260 seconds) 2017-03-09T20:30:50Z pmc: interesting -- no more padded room 2017-03-09T20:30:57Z pjb: pmc: also, if you do it without crashing, you have to spend time to convert the lisp data types to C data types and back for the parameters and results. 2017-03-09T20:31:08Z pmc: ok 2017-03-09T20:31:15Z pjb: But then, some people think that graphics need speed… 2017-03-09T20:31:41Z shka_: btw 2017-03-09T20:31:55Z shka_: did anybody used SWIG to generate lisp bindings for C++ code? 2017-03-09T20:32:04Z shka_: does it work as well as for python? 2017-03-09T20:32:18Z pjb: I used it, and it worked. 2017-03-09T20:32:28Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-09T20:32:39Z shka_: ok, good to know 2017-03-09T20:32:41Z pjb: Now of course, it depends on your C++ library (you know, templates, cpp macros, stuff). 2017-03-09T20:32:47Z |3b|: some graphics do need speed :p 2017-03-09T20:32:52Z shka_: yeah, i know that stuff 2017-03-09T20:32:59Z shka_: templates are messy 2017-03-09T20:33:12Z pjb: I notice that nvidia GPU take their programs as source code and compile them themselves… 2017-03-09T20:33:12Z _death is now known as plawpmaster 2017-03-09T20:33:16Z plawpmaster is now known as _death 2017-03-09T20:33:45Z |3b|: pjb: if you mean opengl shaders, that is true of all opengl implementations 2017-03-09T20:33:57Z pjb: oh, ok. 2017-03-09T20:34:03Z |3b|: (usually the driver rather than the GPU doing the compiling though) 2017-03-09T20:34:17Z grego joined #lisp 2017-03-09T20:34:23Z |3b|: directx is similar, but split between a microsoft provided frontend and the final compiler in the drivers 2017-03-09T20:34:37Z pjb: Anyways, the point is that from the point of lisp, it's easy to generate source code :-) 2017-03-09T20:34:57Z pjb: s/point/point of view/ 2017-03-09T20:35:05Z |3b|: depends on how much you want to generate, type inference makes it a bit more challenging :) 2017-03-09T20:35:59Z |3b|: easier to get to the point of generating without wasting time on parsing though 2017-03-09T20:36:15Z |3b|: (assuming you start with something that looks like lisp) 2017-03-09T20:38:00Z schjetne joined #lisp 2017-03-09T20:40:28Z nowhere_man quit (Ping timeout: 246 seconds) 2017-03-09T20:44:48Z xmonader quit (Ping timeout: 258 seconds) 2017-03-09T20:47:37Z nowhere_man joined #lisp 2017-03-09T20:47:47Z andrei_chifa joined #lisp 2017-03-09T20:51:26Z misv_ is now known as misv 2017-03-09T20:53:59Z angavrilov quit (Remote host closed the connection) 2017-03-09T20:54:19Z jealousmonk joined #lisp 2017-03-09T20:57:24Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-09T20:57:50Z snowcrshd quit (Ping timeout: 258 seconds) 2017-03-09T20:59:13Z pmc quit (Quit: Leaving) 2017-03-09T21:00:14Z grumble joined #lisp 2017-03-09T21:00:28Z circ-user-A48OI quit (Ping timeout: 240 seconds) 2017-03-09T21:02:57Z attila_lendvai joined #lisp 2017-03-09T21:02:57Z attila_lendvai quit (Changing host) 2017-03-09T21:02:57Z attila_lendvai joined #lisp 2017-03-09T21:05:06Z warweasle quit (Quit: Later) 2017-03-09T21:06:27Z cuso4: Hello! I want to define a local variable within a function. I have googled around a little but nothing seems to describe quite what I am looking for. Or is it that in lisp one does not create local variables which are not defined in the function declarations? 2017-03-09T21:07:58Z cuso4: I have looked at let but I don't want to write thee rest of the function within the let body? 2017-03-09T21:08:08Z phoe: cuso4: (defun foo (x) (let ((foo 2)) (+ x foo))) 2017-03-09T21:08:29Z phoe: and yes, you write the rest of the function within the let body. 2017-03-09T21:09:11Z phoe: there's also (defun foo (&aux (foo 2)) ...) that is equivalent to the LET, but is not advised. 2017-03-09T21:10:10Z cuso4: Writing the rest in let seems a bit messy to me. But what do I know, started with lisp yesterday 2017-03-09T21:10:32Z shka_: cuso4: you will get used to it 2017-03-09T21:10:38Z phoe: not really messy - writing everything in the LET block allows you to easily define extent for your variables. 2017-03-09T21:10:59Z phoe: not unlike brackets in C-like syntaxed languages or indentation in Python. 2017-03-09T21:11:08Z phoe: s/extent/scope/ 2017-03-09T21:11:14Z shka_: phoe: nope 2017-03-09T21:11:19Z shka_: not python xD 2017-03-09T21:11:24Z phoe: shka_: well, okay 2017-03-09T21:11:33Z shka_: python has fucked up scopes 2017-03-09T21:11:48Z phoe: ...gosh, I need to get to know Python properly 2017-03-09T21:12:01Z shka_: not really 2017-03-09T21:12:25Z shka_: i was doing fine by copy pasting from stack overflow for 3 months 2017-03-09T21:12:46Z cuso4: I know this is the wrong channel, but I would argue that python has its moments. 2017-03-09T21:13:25Z shka_: if you need to write something that actually requires writing code, python looses its charm anyway ;-) 2017-03-09T21:14:17Z shka_: cuso4: offtopic so i won't argue, but let me tell you that i consider python to be just badly designed language period 2017-03-09T21:14:36Z phoe: oh well, let me gently guide you two to #lispcafe 2017-03-09T21:14:47Z shka_: nah, i'm done 2017-03-09T21:14:51Z phoe: cuso4: if you have any more questions, feel free to fire them here or at #clnoobs 2017-03-09T21:15:36Z phoe: cuso4: are you following any book or other tutorial for CL? 2017-03-09T21:15:40Z cuso4: I should probably head over the #clnoobs then. 2017-03-09T21:15:49Z cuso4: Nah 2017-03-09T21:15:55Z phoe: minion: tell cuso4 about pcl 2017-03-09T21:15:55Z minion: cuso4: look at pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 2017-03-09T21:15:55Z shka_: you kinda should 2017-03-09T21:15:59Z dyelar quit (Quit: Leaving.) 2017-03-09T21:16:14Z phoe: this one *is* the best and recommended. 2017-03-09T21:16:27Z shka_: cuso4: it is actually hard to do anything in cl without knowing how it works 2017-03-09T21:17:03Z phoe: shka_: except typing "2 + 2" in REPL and have it mysteriously work in a way you don't expect it to 2017-03-09T21:17:20Z shka_: i heard that it is called learning curve or something 2017-03-09T21:17:46Z cuso4: I just started working on a small calculator. Find that just start writing something is by far the best way to learn. And this time it became a calculator. 2017-03-09T21:18:09Z shka_: well, it is ok 2017-03-09T21:18:18Z shka_: but you've been warned :-) 2017-03-09T21:20:39Z cuso4: Haha thanks! 2017-03-09T21:23:12Z circ-user-A48OI joined #lisp 2017-03-09T21:25:33Z cuso4: I read the "hackars and painters" by Paul Graham a few years ago. Didn't think his book on lisp seemed to good though. Have any of you guys read it? 2017-03-09T21:25:46Z shka_: nope 2017-03-09T21:25:59Z phoe: On Lisp? I have 2017-03-09T21:26:07Z cuso4: yes 2017-03-09T21:26:23Z phoe: It's about Lisp macros. He also wrote ANSI Common Lisp, an introductory book. 2017-03-09T21:26:30Z phoe: I've read it as well. Not as good as PCL, but IMO worthwhile. 2017-03-09T21:26:55Z phoe: ...though he has a few silly passages in there, such as disregard for CLOS. 2017-03-09T21:26:58Z zellerin quit (Ping timeout: 240 seconds) 2017-03-09T21:27:59Z cuso4: I don't know what to think of that guy. Combination of cool and obnoxious. 2017-03-09T21:28:43Z phoe: I prefer to focus on what he writes instead on his persona of Lisp Evangelist. 2017-03-09T21:28:46Z shka_: i don't like his books that much 2017-03-09T21:30:09Z sukaeto: I wouldn't recommend On Lisp to a beginner. ANSI Common Lisp is just fine, though. 2017-03-09T21:30:11Z varjag: his books were the default suggestion to newbies before gigamonkey 2017-03-09T21:30:35Z varjag: though i never warmed up to anaphoric macros personally 2017-03-09T21:31:27Z phoe: varjag: there's the Shia LaBeouf macro JUST 2017-03-09T21:31:31Z phoe: (just (do it)) 2017-03-09T21:31:58Z phoe mic drop 2017-03-09T21:32:08Z emaczen joined #lisp 2017-03-09T21:32:14Z Petit_Dejeuner: pft 2017-03-09T21:32:47Z mojjo quit (Read error: Connection reset by peer) 2017-03-09T21:33:11Z emaczen: I'm running CCL and SBCL in SLIME, if I switch to CCL will this pause what is runnin in SBCL? 2017-03-09T21:33:20Z phoe: emaczen: not really 2017-03-09T21:33:24Z varjag: no 2017-03-09T21:33:27Z sukaeto: as far as PG in general: He has a very idiosyncratic way of speaking, and tends to fall into the trap of "I know a lot about X, so I'm going to extrapolate that to Y where it's not appropriate". But his essays in general are worth reading. 2017-03-09T21:33:43Z phoe: it'll spawn a new, separate REPL for CCL 2017-03-09T21:33:45Z Jesin joined #lisp 2017-03-09T21:33:48Z phoe: while keeping the SBCL REPL running 2017-03-09T21:34:05Z prole quit (Remote host closed the connection) 2017-03-09T21:34:34Z emaczen: phoe: good cause my computer is starting to lag a little now... haha 2017-03-09T21:35:04Z shka_: emaczen: well, slime works by socket communication 2017-03-09T21:35:18Z grego quit (Quit: Leaving) 2017-03-09T21:35:25Z shka_: so basicly, it is just remote procedure call :D 2017-03-09T21:36:33Z kobain joined #lisp 2017-03-09T21:42:06Z circ-user-A48OI quit (Ping timeout: 268 seconds) 2017-03-09T21:43:02Z _death: phoe: (defmacro just (&whole it &body forms) `(let ((it ',it)) ,@forms)) (defmacro do (&body forms) `(progn ,@forms)) 2017-03-09T21:43:38Z Lord_of_Life quit (Excess Flood) 2017-03-09T21:44:13Z jmarciano quit (Ping timeout: 258 seconds) 2017-03-09T21:45:09Z jurov: (drill baby #'drill) 2017-03-09T21:45:56Z nowhere_man quit (Quit: Konversation terminated!) 2017-03-09T21:46:10Z nowhere_man joined #lisp 2017-03-09T21:47:58Z Lord_of_Life joined #lisp 2017-03-09T21:55:57Z lnostdal joined #lisp 2017-03-09T21:56:46Z gingerale quit (Remote host closed the connection) 2017-03-09T21:59:43Z manualcrank joined #lisp 2017-03-09T22:03:15Z moei quit (Quit: Leaving...) 2017-03-09T22:03:22Z shka_ quit (Ping timeout: 256 seconds) 2017-03-09T22:04:08Z jealousmonk quit (Ping timeout: 260 seconds) 2017-03-09T22:05:07Z moei joined #lisp 2017-03-09T22:05:19Z bigos joined #lisp 2017-03-09T22:05:25Z jfb4 quit (Ping timeout: 260 seconds) 2017-03-09T22:07:19Z jfb4 joined #lisp 2017-03-09T22:07:33Z sellout-1 quit (Quit: Leaving.) 2017-03-09T22:08:21Z hhdave joined #lisp 2017-03-09T22:09:51Z hhdave quit (Client Quit) 2017-03-09T22:12:58Z varjag quit (Ping timeout: 264 seconds) 2017-03-09T22:13:29Z quadresce quit (Quit: This computer has gone to sleep) 2017-03-09T22:14:37Z attila_lendvai left #lisp 2017-03-09T22:14:53Z attila_lendvai joined #lisp 2017-03-09T22:15:09Z gigetoo quit (Read error: Connection reset by peer) 2017-03-09T22:15:28Z gigetoo joined #lisp 2017-03-09T22:15:54Z nirved quit (Quit: Leaving) 2017-03-09T22:16:39Z Xach: b/win 3 2017-03-09T22:16:41Z Xach: sorry. 2017-03-09T22:18:24Z circ-user-A48OI joined #lisp 2017-03-09T22:19:52Z jealousmonk joined #lisp 2017-03-09T22:22:05Z terpri quit (Ping timeout: 240 seconds) 2017-03-09T22:23:06Z Josh_2 quit (Read error: Connection reset by peer) 2017-03-09T22:23:57Z terpri joined #lisp 2017-03-09T22:24:56Z manuel_ joined #lisp 2017-03-09T22:25:10Z NeverDie quit (Quit: http://radiux.io/) 2017-03-09T22:25:38Z sellout- joined #lisp 2017-03-09T22:27:24Z hvn0413 joined #lisp 2017-03-09T22:29:17Z oleo quit (Remote host closed the connection) 2017-03-09T22:39:47Z NeverDie joined #lisp 2017-03-09T22:43:38Z nowhere_man quit (Ping timeout: 258 seconds) 2017-03-09T22:45:00Z jfb4 quit (Ping timeout: 268 seconds) 2017-03-09T22:45:06Z bigos quit (Quit: Leaving) 2017-03-09T22:46:25Z jfb4 joined #lisp 2017-03-09T22:49:42Z Odin- joined #lisp 2017-03-09T22:53:02Z quadresce joined #lisp 2017-03-09T22:53:20Z quadresce quit (Client Quit) 2017-03-09T22:54:21Z oleo joined #lisp 2017-03-09T22:59:57Z sellout- quit (Ping timeout: 240 seconds) 2017-03-09T23:00:06Z sellout- joined #lisp 2017-03-09T23:02:52Z circ-user-A48OI quit (Remote host closed the connection) 2017-03-09T23:03:07Z sellout-1 joined #lisp 2017-03-09T23:07:12Z sellout- quit (Ping timeout: 268 seconds) 2017-03-09T23:07:54Z Karl_Dscc joined #lisp 2017-03-09T23:09:01Z BlueRavenGT quit (Read error: No route to host) 2017-03-09T23:09:12Z BlueRavenGT joined #lisp 2017-03-09T23:11:16Z Bicyclidine joined #lisp 2017-03-09T23:11:37Z manuel_ quit (Ping timeout: 258 seconds) 2017-03-09T23:11:55Z emaczen quit (Ping timeout: 260 seconds) 2017-03-09T23:19:33Z emaczen joined #lisp 2017-03-09T23:20:44Z neoncontrails quit 2017-03-09T23:21:35Z Kaisyu joined #lisp 2017-03-09T23:21:42Z sellout-1 quit (Read error: Connection reset by peer) 2017-03-09T23:22:36Z aeth: Bicyclidine: So? There will always be some edge case not covered by a language spec, but it can still cover most common uses. 2017-03-09T23:23:34Z slyrus quit (Ping timeout: 246 seconds) 2017-03-09T23:24:24Z rumbler31 quit (Ping timeout: 260 seconds) 2017-03-09T23:29:46Z Jesin quit (Quit: Leaving) 2017-03-09T23:30:00Z aeth: And direct support for matrices in #'* instead of just allowing the overloading of #'* will probably result in faster matrix multiplications, at least in implementations that care. Faster than portably allowed in CL. 2017-03-09T23:30:05Z Jesin joined #lisp 2017-03-09T23:30:53Z Bicyclidine: how's that 2017-03-09T23:31:09Z ExcelTronic joined #lisp 2017-03-09T23:32:09Z jasom: sukaeto: relevant xkcd https://xkcd.com/793/ 2017-03-09T23:33:55Z aeth: Bicyclidine: inline assembly isn't possible in all CLs, and where it is possible it's not portable. 2017-03-09T23:34:58Z aeth: So vector and matrix code with compiler support will be faster than writing the same thing in portable CL. 2017-03-09T23:35:02Z sukaeto: jasom: haha, yeah. Just replace "physicist" with "software engineer" and you've covered a non-neglible fraction of Silicon Valley 2017-03-09T23:35:06Z aeth: Bicyclidine: I'm not 100% sure about matrices, though. 2017-03-09T23:35:48Z Bicyclidine: oh 2017-03-09T23:36:05Z sellout- joined #lisp 2017-03-09T23:36:14Z Odin-: sukaeto: I would've thought there was a negligible fraction uncovered. 2017-03-09T23:36:28Z aeth: Bicyclidine: Making +/-/*/etc. overridable, inlinable generic, and adding a portable inline assembly for non-bytecode/non-JS Lisps could also work 2017-03-09T23:36:48Z aeth: It'd just put the burden on a library rather than the implementations that'd all probably use the same code anyway like with LOOP. 2017-03-09T23:37:00Z aeth: It probably wouldn't get quite as fast, though. 2017-03-09T23:37:41Z Odin-: "portable inline assembly" seems like a rather pointless exercise. 2017-03-09T23:37:53Z aeth: Odin-: between implementations, not between architectures. 2017-03-09T23:38:27Z aeth: Implementations that are on JVM or JS or their own bytecode or w/e would probably count as their own architectures for this. 2017-03-09T23:39:33Z Odin-: I figured that. Do you pick a standard assembler, too? 2017-03-09T23:40:28Z sellout- quit (Ping timeout: 240 seconds) 2017-03-09T23:42:36Z aeth: Honestly, I think it'd be easier just to add support for basic vector, matrix, and quaternion operations in CL 2017-03-09T23:43:29Z jasom: aeth: adding something to CL is no easier than creating a library 2017-03-09T23:43:52Z jasom: because adding it to CL means getting each implementation to add it, at which point you could have just created non-portable versions for each implementation instead. 2017-03-09T23:44:20Z aeth: CL has had numerous extensions for things like threading and unicode. The thing that would be hard is making #'* etc. generic over these new numerical representations, which was the original topic a long time ago. 2017-03-09T23:44:35Z aeth: That would break with the spec. 2017-03-09T23:45:02Z jasom: aeth: mymathlib:* can be generic over them 2017-03-09T23:45:38Z aeth: But you don't want it to be because it will probably slow down your code over just having vec*, matrix*, etc. 2017-03-09T23:45:42Z jasom: and I don't believe it's against the spec; it "might signal a type-error if some argument is not a number." that's not a hard requirement that it only takes numbers 2017-03-09T23:45:48Z aeth: ooooh 2017-03-09T23:46:14Z aeth: I guess someone was already thinking about having a generic * over vectors back then. 2017-03-09T23:46:20Z aeth: After all, it's an older idea than CL. 2017-03-09T23:46:44Z Bicyclidine: number can have other subtypes 2017-03-09T23:46:56Z Odin-FOO joined #lisp 2017-03-09T23:47:12Z Odin- quit (Disconnected by services) 2017-03-09T23:47:15Z Bicyclidine: add the surreal numbers like we always wanted 2017-03-09T23:47:15Z Odin-FOO is now known as Odin- 2017-03-09T23:47:51Z LiamH quit (Quit: Leaving.) 2017-03-09T23:48:14Z aeth: well, #Q(1.0 2.0 3.0 4.0) like #C(1.0 2.0) would make sense (for quaternions) 2017-03-09T23:48:23Z pillton: I would start with supporting packed integers and floats. 2017-03-09T23:48:30Z Bicyclidine: nope gotta be surreals. 2017-03-09T23:49:00Z Bicyclidine: followed by sedenions 2017-03-09T23:49:11Z Odin-: Is there any real reason that can't be done by a library? 2017-03-09T23:49:16Z Jesin quit (Quit: Leaving) 2017-03-09T23:49:22Z pillton: AVX-512 will allow you to issue SIMD instructions on 16 floating points. 2017-03-09T23:49:26Z aeth: The priority would have to be (1) vectors, (2) matrices, (3) quaternions 2017-03-09T23:50:21Z aeth: Odin-: It can't be done portably fast in a library, and it's too much work for a library, which is why it hasn't been done afaik except for graphics-specific vector operations in SBCL only via SB-CGA: https://github.com/nikodemus/sb-cga/blob/master/ports/sbcl.lisp 2017-03-09T23:50:34Z aeth: i.e. only vectors size 3 with single-float 2017-03-09T23:51:10Z Odin- quit (Remote host closed the connection) 2017-03-09T23:51:13Z aeth: Also, sb-cga doesn't override *, +, -, /, etc. 2017-03-09T23:51:21Z Odin- joined #lisp 2017-03-09T23:51:33Z aeth: Odin-: Also, sb-cga doesn't override *, +, -, /, etc. 2017-03-09T23:52:29Z aeth: The problem is that on x86-64, and probably the other major CPU platforms, the burden is supposed to be on the compiler to do these things to make vector code fast. 2017-03-09T23:52:47Z aeth: Which means if the compiler isn't doing it, you're still going to have to use assembly (or, I guess, a C library). 2017-03-09T23:53:52Z pillton: It isn't just the compiler that has to account for it. Consider the case where you have a vector whose length isn't a multiple of the number of bytes which can fit in a register. 2017-03-09T23:54:53Z pillton: To ensure that you need to have data structures which support padding and the operators for initialising the padded area. Consider the difference between performing a dot product and finding the minimum. 2017-03-09T23:54:59Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-09T23:55:04Z manuel_ joined #lisp 2017-03-09T23:57:27Z aeth: The requirement of special data structures is imo more of a reason to try to get a language extension rather than just a simple library. 2017-03-09T23:58:09Z aeth: At least a bare minimum to get things set up that a library can then depend on. 2017-03-09T23:58:22Z wtetzner joined #lisp 2017-03-09T23:59:09Z pillton: Well I have implemented "matrices" which support row major and column major ordering as well as specifying strides. 2017-03-09T23:59:47Z aeth: how? 2017-03-09T23:59:52Z EvW quit (Ping timeout: 260 seconds) 2017-03-09T23:59:59Z hvn0413 left #lisp 2017-03-10T00:00:19Z pillton: The data structure itself is easy. Providing the equivalent of (simple-array double-float (*)) is what makes it hard. 2017-03-10T00:01:22Z nopf quit (Quit: leaving) 2017-03-10T00:01:45Z pillton: The other part which is a pain is that you need to compile operators for every matrix type. 2017-03-10T00:04:03Z aeth: graphics are easy, you just need 4x4 matrices and vectors of sizes 2, 3, and 4 (often just 3) 2017-03-10T00:04:14Z aeth: You still have a division between double and single float, though 2017-03-10T00:04:38Z cuso4 quit (Ping timeout: 256 seconds) 2017-03-10T00:05:27Z mishoo quit (Ping timeout: 240 seconds) 2017-03-10T00:05:30Z pillton: I need to prepare for a talk. I'll check in later. 2017-03-10T00:05:43Z jealousmonk quit (Quit: Leaving) 2017-03-10T00:14:43Z zooey quit (Ping timeout: 240 seconds) 2017-03-10T00:15:39Z zooey joined #lisp 2017-03-10T00:15:57Z cibs quit (Ping timeout: 240 seconds) 2017-03-10T00:16:12Z rumbler31 joined #lisp 2017-03-10T00:17:59Z cibs joined #lisp 2017-03-10T00:18:09Z djuber joined #lisp 2017-03-10T00:18:23Z nopf joined #lisp 2017-03-10T00:20:16Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-10T00:20:41Z ExcelTronic quit (Quit: I'm going to go hit the sack, then go to bed.) 2017-03-10T00:20:53Z |3b|: portable fast SIMD code would also need implementations that align their arrays correctly, not sure how many do 2017-03-10T00:22:04Z aeth: You would just need to get at least two of SBCL, CCL, and ECL to agree, at least with the current state of things with implementations. 2017-03-10T00:24:38Z neuronsong joined #lisp 2017-03-10T00:27:52Z NeverDie quit (Quit: http://radiux.io/) 2017-03-10T00:29:34Z cromachina joined #lisp 2017-03-10T00:34:09Z decuser joined #lisp 2017-03-10T00:35:11Z Bicyclidine quit (Ping timeout: 258 seconds) 2017-03-10T00:37:44Z manuel_ quit (Quit: manuel_) 2017-03-10T00:38:36Z emaczen quit (Ping timeout: 260 seconds) 2017-03-10T00:40:58Z ryanwatkins joined #lisp 2017-03-10T00:40:58Z manuel_ joined #lisp 2017-03-10T00:43:02Z ryanwatkins quit (Remote host closed the connection) 2017-03-10T00:43:10Z ryanwatkins joined #lisp 2017-03-10T00:46:09Z manuel_ quit (Quit: manuel_) 2017-03-10T00:48:58Z schjetne quit (Ping timeout: 264 seconds) 2017-03-10T00:58:51Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-10T01:00:36Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-10T01:01:05Z BlueRavenGT quit (Ping timeout: 240 seconds) 2017-03-10T01:04:01Z jleija joined #lisp 2017-03-10T01:07:08Z trocado joined #lisp 2017-03-10T01:08:12Z Jesin joined #lisp 2017-03-10T01:08:52Z shdeng joined #lisp 2017-03-10T01:12:30Z defaultxr joined #lisp 2017-03-10T01:13:20Z pmc joined #lisp 2017-03-10T01:14:29Z pmc: is there a common lisp function that returns all of the types of an object? Like 27 is of type fixnum, integer, rational, real, number, atom and t. 2017-03-10T01:14:45Z |3b|: not really possible 2017-03-10T01:14:56Z pmc: why not? 2017-03-10T01:15:00Z |3b|: 27 is also of type (integer 27), (unsigned-byte 1 30) etc 2017-03-10T01:15:20Z pmc: oh, ok. 2017-03-10T01:15:21Z |3b| meant (integer 1 30) 2017-03-10T01:15:33Z pmc: what does (integer 1 30) mean? 2017-03-10T01:15:39Z |3b|: though also (unsigned-byte 30) 2017-03-10T01:15:44Z |3b|: integer between 1 and 30 2017-03-10T01:15:51Z pmc: ah, I see... 2017-03-10T01:16:07Z pmc: so there are an infinite number of types then... 2017-03-10T01:16:13Z |3b|: right 2017-03-10T01:17:04Z |3b|: if you want classes it wouldn't be too hard to write, but not all of those types are classes 2017-03-10T01:17:34Z |3b|: or you could grab a list of types out of the spec and just loop over that 2017-03-10T01:18:11Z pmc: hmm...ok. 2017-03-10T01:18:17Z xmonader joined #lisp 2017-03-10T01:18:53Z pmc: I have much to learn :) 2017-03-10T01:19:29Z |3b|: clhs 4.2.3 2017-03-10T01:19:29Z specbot: Type Specifiers: http://www.lispworks.com/reference/HyperSpec/Body/04_bc.htm 2017-03-10T01:19:38Z |3b|: ^the list 2017-03-10T01:21:16Z pmc: thanks 2017-03-10T01:21:17Z |3b|: something like (remove-if-not (lambda (x) (typep value x)) that-list) where value is where 27 goes 2017-03-10T01:22:23Z pmc: cool 2017-03-10T01:22:28Z |3b|: (just the first list, 'atomic type specifiers') 2017-03-10T01:22:58Z Harag quit (Read error: Connection reset by peer) 2017-03-10T01:24:32Z the-blackbeard quit (Quit: Leaving) 2017-03-10T01:24:48Z pmc: you just did a one-liner to answer my question, kudos. lisp is *neat*. 2017-03-10T01:25:43Z |3b|: well, bit more than 1 line if you include the list of type names :) 2017-03-10T01:25:48Z pmc: yeah, heh 2017-03-10T01:26:27Z |3b|: and won't catch any implementation specific types or user-defined types 2017-03-10T01:28:27Z pmc: alright 2017-03-10T01:28:34Z chens joined #lisp 2017-03-10T01:28:54Z chens is now known as Guest14959 2017-03-10T01:29:06Z |3b|: might be some implementation specific way to get a more complete list 2017-03-10T01:32:49Z ryanwatk` joined #lisp 2017-03-10T01:33:25Z Guest14959 quit (Ping timeout: 246 seconds) 2017-03-10T01:33:57Z RedEight quit (Quit: leaving) 2017-03-10T01:34:28Z shifty joined #lisp 2017-03-10T01:34:44Z ryanwatkins quit (Ping timeout: 256 seconds) 2017-03-10T01:35:12Z impulse quit (Ping timeout: 268 seconds) 2017-03-10T01:36:22Z Harag joined #lisp 2017-03-10T01:39:10Z pmc: alright, I'm out. thanks again 3b. 2017-03-10T01:39:19Z pmc quit (Quit: Leaving) 2017-03-10T01:42:27Z pve quit (Ping timeout: 240 seconds) 2017-03-10T01:43:00Z Harag quit (Ping timeout: 260 seconds) 2017-03-10T01:43:51Z karswell joined #lisp 2017-03-10T01:44:46Z Bicyclidine joined #lisp 2017-03-10T01:46:07Z test1600 joined #lisp 2017-03-10T01:48:47Z FreeBirdLjj joined #lisp 2017-03-10T01:49:13Z Karl_Dscc quit (Remote host closed the connection) 2017-03-10T01:51:36Z atheris joined #lisp 2017-03-10T01:53:05Z atheris quit (Remote host closed the connection) 2017-03-10T01:54:13Z quazimodo joined #lisp 2017-03-10T01:56:46Z neoncontrails joined #lisp 2017-03-10T01:57:28Z terpri quit (Ping timeout: 260 seconds) 2017-03-10T01:58:16Z trocado quit (Ping timeout: 246 seconds) 2017-03-10T02:03:40Z smokeink joined #lisp 2017-03-10T02:05:25Z jason_m joined #lisp 2017-03-10T02:07:33Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-10T02:08:02Z FreeBirdLjj joined #lisp 2017-03-10T02:13:03Z aeth: |3b|: that's not true, with the exception of ; comments, all Lisp is a one-liner 2017-03-10T02:13:10Z aeth: Newlines are just to help the reader 2017-03-10T02:13:17Z aeth: (the human reader, not the Lisp one) 2017-03-10T02:14:10Z aeth: I guess also newlines in literal strings but you can just use format nil instead 2017-03-10T02:15:55Z aeth: (It looks like #+foo and #-bar affect the next form, not the next line, even though they're usually on their own line. So even they are not an exception to this.) 2017-03-10T02:16:19Z nowhere_man joined #lisp 2017-03-10T02:21:44Z jleija quit (Ping timeout: 260 seconds) 2017-03-10T02:34:29Z emaczen joined #lisp 2017-03-10T02:35:14Z jleija joined #lisp 2017-03-10T02:38:56Z Harag joined #lisp 2017-03-10T02:39:34Z emaczen quit (Ping timeout: 246 seconds) 2017-03-10T02:49:49Z cibs quit (Ping timeout: 268 seconds) 2017-03-10T02:51:04Z cibs joined #lisp 2017-03-10T02:51:36Z Bicyclidine quit (Ping timeout: 260 seconds) 2017-03-10T02:54:18Z NeverDie joined #lisp 2017-03-10T03:01:27Z Harag quit (Remote host closed the connection) 2017-03-10T03:01:55Z shdeng quit (Excess Flood) 2017-03-10T03:05:54Z shdeng joined #lisp 2017-03-10T03:09:44Z stardiviner joined #lisp 2017-03-10T03:11:17Z impulse joined #lisp 2017-03-10T03:13:40Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-10T03:14:15Z FreeBirdLjj joined #lisp 2017-03-10T03:14:53Z sbodin joined #lisp 2017-03-10T03:15:13Z yrk quit (Read error: Connection reset by peer) 2017-03-10T03:15:25Z ryanwatk` quit (Ping timeout: 258 seconds) 2017-03-10T03:18:24Z drmeister: The standard says that a DEFCLASS can have a superclass that isn't yet defined - I guess it's a forward-referenced-class. No instances of the forward-referenced-class that gets created can be created - correct. I'm 99.999999% sure this is correct. 2017-03-10T03:19:28Z drmeister: mop forward-referenced-class 2017-03-10T03:19:28Z specbot: http://metamodular.com/CLOS-MOP/class-forward-referenced-class.html 2017-03-10T03:20:42Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2017-03-10T03:33:08Z drewc quit (Ping timeout: 260 seconds) 2017-03-10T03:33:53Z FreeBirdLjj joined #lisp 2017-03-10T03:38:46Z jleija quit (Ping timeout: 264 seconds) 2017-03-10T03:39:43Z pjb: drmeister: this is indeed the case. 2017-03-10T03:40:31Z pjb: you get errors like: Class # can't be finalized because superclass bar is not defined yet 2017-03-10T03:41:47Z wtetzner quit (Remote host closed the connection) 2017-03-10T03:45:15Z jleija joined #lisp 2017-03-10T03:50:12Z TDT quit (Quit: TDT) 2017-03-10T03:53:28Z smokeink quit (Ping timeout: 240 seconds) 2017-03-10T03:54:13Z Bicyclidine joined #lisp 2017-03-10T03:56:01Z wtetzner joined #lisp 2017-03-10T03:56:16Z jameser joined #lisp 2017-03-10T03:56:22Z arret joined #lisp 2017-03-10T04:04:54Z jleija quit (Ping timeout: 256 seconds) 2017-03-10T04:06:48Z jleija joined #lisp 2017-03-10T04:08:36Z wtetzner quit (Remote host closed the connection) 2017-03-10T04:12:40Z segmond quit (Quit: l8r) 2017-03-10T04:16:28Z Petit_Dejeuner quit (Read error: Connection reset by peer) 2017-03-10T04:16:32Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-10T04:18:13Z Harag joined #lisp 2017-03-10T04:22:30Z Harag quit (Ping timeout: 258 seconds) 2017-03-10T04:22:36Z sbodin quit (Ping timeout: 260 seconds) 2017-03-10T04:22:53Z BitPuffin|osx quit (Ping timeout: 258 seconds) 2017-03-10T04:25:01Z izacht13: Is there any way to use Lisp with STL? 2017-03-10T04:25:13Z izacht13: I remember reading this article on writing lisp in lisp. 2017-03-10T04:25:24Z izacht13: Er. Not lisp in lisp, but a parser in lisp. 2017-03-10T04:25:26Z izacht13: Without any STL 2017-03-10T04:25:44Z Bicyclidine: what is STL 2017-03-10T04:26:36Z izacht13: "STandard Library" 2017-03-10T04:27:02Z Bicyclidine: well i mean you need the standard functions to open files and so on 2017-03-10T04:27:26Z izacht13: I can't find the article now, but he wrote addition, subtraction, and other basic maths in just pure lisp. 2017-03-10T04:27:41Z Bicyclidine: church encoding? 2017-03-10T04:27:50Z circ-user-3ReWJ joined #lisp 2017-03-10T04:27:56Z izacht13: chaple unicode? 2017-03-10T04:27:58Z Bicyclidine: well, lisp is turing complete, so you can do whatever you please, in some encoding 2017-03-10T04:28:27Z izacht13: "church encoding" 2017-03-10T04:28:31Z izacht13: ^ explain please 2017-03-10T04:28:38Z Bicyclidine: wikipedia can explain it better than I 2017-03-10T04:28:42Z izacht13: Okay 2017-03-10T04:28:46Z Bicyclidine: it is an encoding of basic arithmetic into lambda calculus 2017-03-10T04:28:52Z Bicyclidine: and lambda calculus may be what you mean by "pure lisp" 2017-03-10T04:29:35Z izacht13: Pretty sound logical settlement. 2017-03-10T04:30:00Z izacht13: Now I just need to find a "lambda calculus" REPL 2017-03-10T04:30:08Z White_Flame: do you mean STL as in C++'s Standard Template Library? 2017-03-10T04:30:19Z White_Flame: and writing Lisp-ish stuff in preprocessor macros? 2017-03-10T04:30:30Z akkad quit (Excess Flood) 2017-03-10T04:30:44Z izacht13: Oh that what that means? I always though it was another 3 letter tag for "Standard Library" 2017-03-10T04:30:49Z akkad joined #lisp 2017-03-10T04:30:52Z izacht13: (Many languages have a standard lib) 2017-03-10T04:31:09Z White_Flame: the STL is separate from the normal standard libs 2017-03-10T04:31:15Z izacht13: huh 2017-03-10T04:31:21Z izacht13: I guess I should use STD then 2017-03-10T04:31:26Z izacht13: STD makes more sense. 2017-03-10T04:31:37Z White_Flame: and if you are meaning the C++ preprocessor hacks, I don't think it's possible to make a direct REPL out of those 2017-03-10T04:31:47Z izacht13: No, I dont mean C++ at all 2017-03-10T04:31:48Z White_Flame: afair, it "evaulates" all the lisp-ish stuff at compile time only 2017-03-10T04:32:02Z BlueRavenGT joined #lisp 2017-03-10T04:32:05Z izacht13: If only I could find that article. 2017-03-10T04:32:14Z beach: Good morning everyone! 2017-03-10T04:32:17Z izacht13: Morn` 2017-03-10T04:32:45Z izacht13: I think it was math operation using just atoms actually. 2017-03-10T04:32:58Z eazar001 quit (Quit: WeeChat 1.7) 2017-03-10T04:33:04Z aeth: Well, there is a new (partially complete) Common Lisp written in Common Lisp: https://github.com/robert-strandh/SICL 2017-03-10T04:33:10Z aeth: But it doesn't built off of minimal principles. 2017-03-10T04:33:14Z aeth: It uses the whole language, not a subset. 2017-03-10T04:33:50Z quadresce joined #lisp 2017-03-10T04:33:54Z izacht13: Hm... 2017-03-10T04:34:02Z izacht13: I found the article on /r/programming 2017-03-10T04:34:15Z White_Flame: was it from the 1950s? 2017-03-10T04:34:21Z izacht13: No... 2017-03-10T04:34:22Z izacht13: :P 2017-03-10T04:34:28Z White_Flame: because that was the first lisp-in-lisp 2017-03-10T04:34:35Z aeth: probably http://paulgraham.com/rootsoflisp.html 2017-03-10T04:34:37Z izacht13: It had that starwars/lisp xkcd comic at the top. 2017-03-10T04:34:47Z aeth: What I'm thinking of is this: https://sep.yimg.com/ty/cdn/paulgraham/jmc.lisp 2017-03-10T04:34:56Z neoncontrails quit (Remote host closed the connection) 2017-03-10T04:35:26Z izacht13: Eh, I wont find it 2017-03-10T04:35:34Z neoncontrails joined #lisp 2017-03-10T04:35:34Z izacht13: Millions of lisp related articles. 2017-03-10T04:36:00Z phadthai quit (Quit: beb) 2017-03-10T04:38:14Z Bicyclidine: izacht13: lambda calculus is very unpleasant to write actual programs in 2017-03-10T04:39:16Z izacht13: I know 2017-03-10T04:39:27Z izacht13: But it's cool for the same reason brainfuck is. 2017-03-10T04:40:02Z neoncontrails quit (Ping timeout: 256 seconds) 2017-03-10T04:40:09Z aeth: I've said it before, but I'll say it again... lambda calculus is just begging to be the subject of a programming game... 2017-03-10T04:40:13Z Bicyclidine: yes. brainfuck is equivalent to a language developed to similar reasons as lambda calculus called P', if you didn't know 2017-03-10T04:40:35Z Bicyclidine: aeth: and i told you before that you need to keep current with sigbovik http://akivaleffert.com/beta-reduction-hero/ 2017-03-10T04:40:41Z aeth: I only know about https://en.wikipedia.org/wiki/Unlambda 2017-03-10T04:41:09Z Bicyclidine: unlambda is sk calculus with some extras 2017-03-10T04:41:32Z aeth: Bicyclidine: I mean something closer to this: https://en.wikipedia.org/wiki/TIS-100 2017-03-10T04:41:58Z Bicyclidine: so, what, like actually fun? 2017-03-10T04:41:59Z Bicyclidine: so picky. 2017-03-10T04:43:23Z quadresce quit (Quit: This computer has gone to sleep) 2017-03-10T04:44:07Z phadthai joined #lisp 2017-03-10T04:47:05Z izacht13 quit (Ping timeout: 240 seconds) 2017-03-10T04:53:08Z vibs29 quit (Ping timeout: 240 seconds) 2017-03-10T04:53:57Z akkad quit (Excess Flood) 2017-03-10T04:55:19Z akkad joined #lisp 2017-03-10T04:56:15Z bpanthi joined #lisp 2017-03-10T04:56:57Z smokeink joined #lisp 2017-03-10T04:58:07Z quadresce joined #lisp 2017-03-10T04:58:52Z cibs quit (Ping timeout: 246 seconds) 2017-03-10T04:59:41Z circ-user-3ReWJ quit (Ping timeout: 258 seconds) 2017-03-10T05:00:03Z wtetzner joined #lisp 2017-03-10T05:00:52Z cibs joined #lisp 2017-03-10T05:03:22Z vibs29 joined #lisp 2017-03-10T05:04:37Z wtetzner quit (Remote host closed the connection) 2017-03-10T05:06:33Z libre-man is now known as libreman 2017-03-10T05:09:10Z jack_rabbit joined #lisp 2017-03-10T05:10:02Z pjb quit (Remote host closed the connection) 2017-03-10T05:11:06Z FreeBirdLjj joined #lisp 2017-03-10T05:11:43Z pjb joined #lisp 2017-03-10T05:14:04Z quadresce quit (Quit: This computer has gone to sleep) 2017-03-10T05:15:09Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-03-10T05:22:20Z pjb quit (Remote host closed the connection) 2017-03-10T05:31:32Z arret quit (Quit: Leaving) 2017-03-10T05:33:14Z jleija quit (Quit: leaving) 2017-03-10T05:33:27Z BlueRavenGT quit (Ping timeout: 240 seconds) 2017-03-10T05:51:47Z sword joined #lisp 2017-03-10T05:54:47Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-10T05:55:58Z vlatkoB joined #lisp 2017-03-10T06:02:19Z eazar001 joined #lisp 2017-03-10T06:02:57Z dec0n joined #lisp 2017-03-10T06:05:02Z Harag joined #lisp 2017-03-10T06:07:24Z shka_ joined #lisp 2017-03-10T06:15:59Z Harag quit (Remote host closed the connection) 2017-03-10T06:16:08Z Harag joined #lisp 2017-03-10T06:16:26Z EvW joined #lisp 2017-03-10T06:18:06Z bpanthi quit (Quit: bpanthi) 2017-03-10T06:20:25Z Harag quit (Ping timeout: 246 seconds) 2017-03-10T06:28:16Z shka_ quit (Ping timeout: 256 seconds) 2017-03-10T06:28:29Z oleo quit (Quit: Leaving) 2017-03-10T06:41:08Z mishoo joined #lisp 2017-03-10T06:44:25Z akkad quit (Excess Flood) 2017-03-10T06:46:49Z akkad joined #lisp 2017-03-10T06:47:22Z bocaneri joined #lisp 2017-03-10T06:57:06Z stardiviner quit (Ping timeout: 268 seconds) 2017-03-10T06:57:10Z smokeink quit (Ping timeout: 256 seconds) 2017-03-10T06:57:58Z stardiviner joined #lisp 2017-03-10T06:58:07Z smokeink joined #lisp 2017-03-10T07:00:48Z Bicyclidine quit (Ping timeout: 260 seconds) 2017-03-10T07:01:25Z vibs29 quit (Ping timeout: 268 seconds) 2017-03-10T07:01:27Z cibs quit (Ping timeout: 240 seconds) 2017-03-10T07:03:08Z EvW quit (Ping timeout: 240 seconds) 2017-03-10T07:03:29Z cibs joined #lisp 2017-03-10T07:04:53Z emaczen joined #lisp 2017-03-10T07:06:03Z emaczen: Can strings be mutable? 2017-03-10T07:07:21Z vibs29 joined #lisp 2017-03-10T07:07:30Z flip214: emaczen: strings _are_ mutable, normally. because they're arrays of characters. 2017-03-10T07:08:00Z vlatkoB_ joined #lisp 2017-03-10T07:08:11Z emaczen: flip214: Okay, now what about passing them in methods? 2017-03-10T07:09:56Z flip214: emaczen: no difference... 2017-03-10T07:10:26Z flip214: the only thing you need to be aware is that you shouldn't modify strings (array, lists, etc.) in place, unless you know that it's a private copy already. 2017-03-10T07:10:27Z emaczen: flip214: functions are pass by value right? 2017-03-10T07:10:29Z flip214: http://paste.lisp.org/display/341060 << 2017-03-10T07:10:47Z beach: emaczen: Yes, but the value is a pointer. 2017-03-10T07:11:01Z beach: emaczen: So the string won't be copied. 2017-03-10T07:11:23Z beach: emaczen: Nothing is every copied in Common Lisp unless you explicitly ask for it. 2017-03-10T07:11:28Z seg quit (Read error: Connection reset by peer) 2017-03-10T07:11:30Z beach: ... which is a good thing. 2017-03-10T07:11:33Z vlatkoB quit (Ping timeout: 258 seconds) 2017-03-10T07:12:10Z emaczen: beach: when you say explicitly, do you mean call a function like #'copy-list 2017-03-10T07:12:17Z beach: Yes. 2017-03-10T07:13:06Z beach: emaczen: The issue here is not about copying or not. It is about literal data vs other data. The Common Lisp HyperSpec specifically says that it is unspecified (or undefined, I forget) what happens if you modify literal data as in the example that flip214 showed you. 2017-03-10T07:13:37Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-10T07:14:25Z emaczen: beach: I'm just taking subsequences over and over again until a massive string is empty, and I've been calling subseq on the remainder of the string, so I'm making my computer allocate huge sequences over and over again... 2017-03-10T07:14:41Z beach: Yes, that's a bad idea. 2017-03-10T07:15:16Z beach: SUBSEQ usually makes a copy. 2017-03-10T07:15:36Z emaczen: what about string-trim? 2017-03-10T07:15:46Z beach: Same thing. 2017-03-10T07:16:17Z beach: Wait... 2017-03-10T07:16:25Z beach: clhs string-trim 2017-03-10T07:16:25Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_stg_tr.htm 2017-03-10T07:16:42Z beach: Yes, I was right. 2017-03-10T07:17:15Z beach: The only case where it might not copy is when there is nothing to trim. It depends on the implementation. 2017-03-10T07:18:24Z beach: How about turning the string into a stream and use READ-CHAR etc? 2017-03-10T07:18:57Z seg joined #lisp 2017-03-10T07:19:20Z flip214: emaczen: CL-PPCRE also has a non-copying SUBSEQ, which basically just creates a new displaced array. 2017-03-10T07:19:25Z flip214: clhs make-array 2017-03-10T07:19:25Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_mk_ar.htm 2017-03-10T07:19:40Z flip214: that should reduce your memory usage quite a bit. 2017-03-10T07:20:06Z flip214: because the big string is only once in memory, and the small array headers can be easily and efficiently GCed. 2017-03-10T07:20:26Z karswell quit (Remote host closed the connection) 2017-03-10T07:21:32Z karswell joined #lisp 2017-03-10T07:22:12Z beach: emaczen: If you told us what it is that you are trying to accomplish, it might be easier to give you good advice. 2017-03-10T07:23:05Z emaczen: beach: I'm just going to call vector-pop and vector-push-extend 2017-03-10T07:23:34Z beach: Oh, so you are operating at the end of the string? 2017-03-10T07:23:55Z beach: I got the impression you were working from the beginning to the end. 2017-03-10T07:23:59Z flip214: emaczen: if you can, avoid modifying the same thing again and again, copying each time. 2017-03-10T07:24:02Z beach: Silly me. 2017-03-10T07:24:18Z flip214: better to just store start and end indizes.... which can be eased with displaced arrays ;) 2017-03-10T07:24:32Z emaczen: beach: No, just the beginning but I need to save the piece that I take off from the front. 2017-03-10T07:28:12Z emaczen: flip214: We were talking about that the other day -- I'm just not comfortable with them. 2017-03-10T07:28:15Z emaczen: Do you use them often? 2017-03-10T07:28:36Z angavrilov joined #lisp 2017-03-10T07:28:41Z FreeBirdLjj joined #lisp 2017-03-10T07:29:38Z flamebeard joined #lisp 2017-03-10T07:30:09Z flip214: emaczen: yes. 2017-03-10T07:30:25Z Dan1973 joined #lisp 2017-03-10T07:30:40Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-10T07:30:43Z flip214: much more convienient sometimes... just pass around a "string object" (a displaced array) instead of the original string and start/end indizes 2017-03-10T07:31:27Z flip214: because all the standard things just work (find, subseq, CL-PPCRE,...), and the new string has zero-based indizes again 2017-03-10T07:31:50Z flip214: and "not copying strings" translates to "fast" ;) 2017-03-10T07:32:11Z Zhivago: Of course, you're consing a displaced array, which might be more expensive than copying the string. 2017-03-10T07:34:34Z FreeBirdLjj joined #lisp 2017-03-10T07:36:01Z kelsar777 joined #lisp 2017-03-10T07:36:36Z otwieracz: Any idea how to do equivalent of bash's `which X` in lisp? 2017-03-10T07:37:19Z beach: Do you mean the Unix utility named `which'? 2017-03-10T07:37:29Z beach: ... as opposed to some bash built-in. 2017-03-10T07:38:08Z defaultxr quit (Ping timeout: 260 seconds) 2017-03-10T07:38:12Z otwieracz: more or less, I want to look at PATH. 2017-03-10T07:39:05Z beach: otwieracz: I don't think there is anything in the Common Lisp HyperSpec for that, since Common Lisp was not specifically written with Unix in mind. 2017-03-10T07:39:10Z Harag joined #lisp 2017-03-10T07:39:23Z otwieracz: No, I was thinking about kind-of-uiop. 2017-03-10T07:39:24Z otwieracz: Or something. 2017-03-10T07:39:28Z otwieracz: But maybe nevermind. 2017-03-10T07:39:37Z beach: Yes, UIOP might have something. 2017-03-10T07:39:49Z beach: Have you looked at the documentation? 2017-03-10T07:40:14Z xmonader quit (Ping timeout: 256 seconds) 2017-03-10T07:41:10Z otwieracz: Yep. 2017-03-10T07:41:20Z otwieracz: But it's of course work for half of an hour. 2017-03-10T07:41:30Z otwieracz: So in parallel I've just asked, maybe somebody will know :) 2017-03-10T07:41:48Z otwieracz: But I've managed to solve this problem differently right now (in third thread :)) 2017-03-10T07:42:21Z emaczen: what do i coerce a string to, so that i can vector-pop it? 2017-03-10T07:43:22Z Harag quit (Ping timeout: 246 seconds) 2017-03-10T07:43:51Z emaczen: simple-vector works 2017-03-10T07:46:57Z defaultxr joined #lisp 2017-03-10T07:50:25Z emaczen: wait, that doesn't work... 2017-03-10T07:51:00Z quazimodo quit (Ping timeout: 256 seconds) 2017-03-10T07:51:05Z emaczen: Which vector/array type will allow me to use vector-pop? 2017-03-10T07:54:48Z phadthai: a vector with a fill-pointer (hence, not a simple-vector) 2017-03-10T07:55:41Z clintm joined #lisp 2017-03-10T07:56:41Z clintm left #lisp 2017-03-10T07:56:49Z clintm joined #lisp 2017-03-10T07:58:29Z emaczen: phadthai: how do you convert a string into a vector with a fill-pointer? 2017-03-10T07:59:47Z cuso4 joined #lisp 2017-03-10T08:05:47Z nowhere_man quit (Read error: Connection reset by peer) 2017-03-10T08:06:02Z nowhere_man joined #lisp 2017-03-10T08:09:28Z stardiviner quit (Ping timeout: 240 seconds) 2017-03-10T08:10:20Z clintm quit (Ping timeout: 260 seconds) 2017-03-10T08:12:03Z loke: emaczen: MAKE-ARRAY 2017-03-10T08:13:19Z loke: (let ((s "foo")) (make-array (length s) :initial-contents s :adjustable t)) 2017-03-10T08:14:10Z loke: Ooops 2017-03-10T08:14:16Z loke: (let ((s "foo")) (make-array (length s) :initial-contents s :adjustable t :fill-pointer t)) 2017-03-10T08:18:10Z varjag joined #lisp 2017-03-10T08:22:19Z Beetny joined #lisp 2017-03-10T08:23:35Z froggey quit (Ping timeout: 240 seconds) 2017-03-10T08:25:14Z phoe_ joined #lisp 2017-03-10T08:27:06Z stardiviner joined #lisp 2017-03-10T08:28:16Z kelsar777 quit (Remote host closed the connection) 2017-03-10T08:33:33Z Dan1973 quit (Remote host closed the connection) 2017-03-10T08:33:43Z knobo: Why isn't the imap package from franz in quicklisp? 2017-03-10T08:33:44Z emaczen: loke: cool! I didn't know of :initial-contents 2017-03-10T08:34:04Z knobo: Is it franz who would need to request it for inclution? 2017-03-10T08:34:16Z knobo: inclusion 2017-03-10T08:34:54Z knobo: ahh.. and it does not use asdf. 2017-03-10T08:40:30Z gargaml joined #lisp 2017-03-10T08:41:12Z gingerale joined #lisp 2017-03-10T08:44:10Z jfb4 quit (Ping timeout: 260 seconds) 2017-03-10T08:44:26Z lieven: and knowing franz it uses IF* :) 2017-03-10T08:44:34Z Dan1973 joined #lisp 2017-03-10T08:44:43Z loke: What is IF*? 2017-03-10T08:45:52Z jfb4 joined #lisp 2017-03-10T08:46:17Z lieven: http://franz.com/support/documentation/10.0/doc/operators/excl/if_s.htm 2017-03-10T08:46:36Z lieven: a holdout from franz lisp for people who can't type COND 2017-03-10T08:46:54Z otwieracz: haha 2017-03-10T08:48:05Z clintm joined #lisp 2017-03-10T08:48:17Z chens joined #lisp 2017-03-10T08:48:31Z loke: Oh wow. I'e seen code with that. I always found it horrific :-) 2017-03-10T08:48:36Z loke: I didn't know it came from franz 2017-03-10T08:48:46Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-10T08:49:07Z lieven: their main developer whatshisname swears by it 2017-03-10T08:49:35Z lieven: whereas most other knowledgeable people swear at it 2017-03-10T08:49:46Z phoe_: huh 2017-03-10T08:57:09Z knobo: But what I would like is a mime parser. 2017-03-10T08:57:15Z knobo: Do we have that+ 2017-03-10T08:57:16Z knobo: ? 2017-03-10T08:57:29Z knobo: I don't have time to write one today :P 2017-03-10T08:59:12Z shenghi quit (Quit: WeeChat 1.6) 2017-03-10T09:00:15Z knobo: cl-mime should work 2017-03-10T09:08:35Z salv0 joined #lisp 2017-03-10T09:10:52Z pjb joined #lisp 2017-03-10T09:13:15Z hhdave joined #lisp 2017-03-10T09:13:46Z clintm: Xach: or anyone else - is there an official source for quicklisp tshirts, and the like? There's someone selling them on zazzle, but judging by the name, it's not 'official'. Then again, if you don't care, I'll just get it from them. 2017-03-10T09:23:19Z quazimodo joined #lisp 2017-03-10T09:24:56Z pve joined #lisp 2017-03-10T09:27:29Z loke: I want some too. 2017-03-10T09:27:40Z loke: I'd love a Quicklisp mug for office use. 2017-03-10T09:29:01Z nirved joined #lisp 2017-03-10T09:32:00Z test1600 quit (Quit: Leaving) 2017-03-10T09:35:11Z phoe_: ^ 2017-03-10T09:35:27Z stardiviner quit (Ping timeout: 240 seconds) 2017-03-10T09:36:07Z stardiviner joined #lisp 2017-03-10T09:36:42Z Petit_Dejeuner joined #lisp 2017-03-10T09:37:33Z flip214: If there was an official Quicklisp logo, would I be allowed to print shirts via a local shop? 2017-03-10T09:38:20Z flip214: Just asking because I sponsored already, and the mail orders are relatively expensive w.r.t. the actual order value 2017-03-10T09:38:23Z Karl_Dscc joined #lisp 2017-03-10T09:39:21Z beach: That would depend on the creator of the logo. I know that the lizard logo can be used freely. 2017-03-10T09:39:39Z beach: In fact, I had it printed on a T-shirt and some coffee mugs. 2017-03-10T09:40:06Z Petit_Dejeuner: You mean the alien? http://www.lisperati.com/logo.html 2017-03-10T09:40:17Z beach: No, the lizard. 2017-03-10T09:40:30Z beach: I don't particularly like the alien. 2017-03-10T09:40:42Z Petit_Dejeuner: http://xahlee.info/UnixResource_dir/writ/logo_lisp.html This lizard? 2017-03-10T09:40:45Z Petit_Dejeuner: Scroll down. 2017-03-10T09:40:46Z loke likes the alien. 2017-03-10T09:40:47Z Ven joined #lisp 2017-03-10T09:41:06Z beach: Petit_Dejeuner: Yes, that one. 2017-03-10T09:41:35Z Petit_Dejeuner: This one is pretty good. http://ergoemacs.org/emacs/lisp_logo.html 2017-03-10T09:41:46Z Petit_Dejeuner: loke: I feel like you have to have read Land of Lisp to like the alien. 2017-03-10T09:41:51Z Petit_Dejeuner: Or at least the comic for it. 2017-03-10T09:42:02Z loke: Petit_Dejeuner: I have not. 2017-03-10T09:42:07Z loke: I just like the alien :-) 2017-03-10T09:42:21Z Petit_Dejeuner: loke: scroll down, http://landoflisp.com/ 2017-03-10T09:42:35Z loke: Petit_Dejeuner: I thought Xah links were banned? 2017-03-10T09:43:41Z Petit_Dejeuner: Are they> 2017-03-10T09:43:43Z Petit_Dejeuner: ?* 2017-03-10T09:43:45Z Petit_Dejeuner: I didn't know. 2017-03-10T09:44:16Z loke: It's a good thing to try to give him the amount of traffic he deserves (i.e. 0) 2017-03-10T09:44:36Z Petit_Dejeuner: You want to explain to me why in lispcafe? 2017-03-10T09:46:41Z quazimodo quit (Ping timeout: 268 seconds) 2017-03-10T09:46:57Z smokeink quit (Ping timeout: 240 seconds) 2017-03-10T09:46:57Z White_Flame: if Lisp had a logo with text in it, I don't think it should be upper-case 2017-03-10T09:47:42Z White_Flame: I do like the lizard one otherwise as well 2017-03-10T09:48:58Z jfb4 quit (Ping timeout: 264 seconds) 2017-03-10T09:49:58Z Petit_Dejeuner: White_Flame: But lisp is an acronym. 2017-03-10T09:50:04Z Petit_Dejeuner: :) 2017-03-10T09:50:19Z White_Flame: List Ihh.. Something... Processor! 2017-03-10T09:50:23Z jfb4 joined #lisp 2017-03-10T09:50:38Z shaftoe: Lisp Is Not Unix 2017-03-10T09:50:41Z shaftoe: oh wait 2017-03-10T09:50:47Z White_Flame: lol 2017-03-10T09:50:57Z White_Flame: that almost spells linux 2017-03-10T09:51:13Z Petit_Dejeuner: Lisp in Small Parts 2017-03-10T09:51:22Z loke: Lisp Is Not UniX? 2017-03-10T09:51:38Z Petit_Dejeuner: Lisp is Not Parentheses 2017-03-10T09:51:44Z beach: Nice! 2017-03-10T09:51:48Z Harag joined #lisp 2017-03-10T09:52:19Z over2re joined #lisp 2017-03-10T09:52:23Z over2re: hi there! 2017-03-10T09:52:29Z beach: Lisp Implies Sane Programming. 2017-03-10T09:52:39Z beach: Hello over2re. 2017-03-10T09:53:00Z Petit_Dejeuner: beach: nice 2017-03-10T09:53:34Z over2re: quick question: doesn't Godel's incompleteness theorem make programming languages incomplete as well? 2017-03-10T09:54:17Z over2re: and doesn't this mean that functional programming languages in particular are insufficient a way of "problem solving"? 2017-03-10T09:54:24Z Petit_Dejeuner: Not sure. This might not be the best place. You could look into the halting problem. 2017-03-10T09:54:46Z over2re: Petit_Dejeuner, ah, couldyou suggest me a more appropriate chan? 2017-03-10T09:55:25Z beach: over2re: 1. Functional programming languages are no more or less powerful than imperative languages. 2. This channel is about Common Lisp, which is not considered a functional programming language in that sense. 2017-03-10T09:55:41Z Petit_Dejeuner: I wouldn't really know. Maybe a channel for theoretical computer science? 2017-03-10T09:56:05Z Harag quit (Ping timeout: 240 seconds) 2017-03-10T09:56:15Z over2re: beach, Petit_Dejeuner ah ok 2017-03-10T09:57:03Z Petit_Dejeuner: You could try our off topic sister channel, #lispcafe, and SOMEONE might know. 2017-03-10T09:58:08Z beach: over2re: I haven't seen Gödel's incompleteness theorem formulated in terms of programming languages, but I think the answer is "yes", in that there are certainly statements in all Turing-complete programming languages for which you can not prove whether they return TRUE or not. 2017-03-10T09:59:10Z over2re: Petit_Dejeuner, found ##cs right now :) 2017-03-10T09:59:25Z Petit_Dejeuner: gl;hf :) 2017-03-10T09:59:36Z over2re: beach, for example, you couldn't write the halting problem machine in Lisp, right? 2017-03-10T10:00:00Z varjag: as programming languages are formal systems and the theorem applies to anything from predicate logic and beyond, i'm not sure a special formulation is even required 2017-03-10T10:00:12Z beach: Correct, you can't in any programming language, if by "halting problem machine" you mean a machine that solves the halting problem. 2017-03-10T10:00:35Z over2re: yeah, I meant that and I agree varjag 2017-03-10T10:00:45Z beach: over2re: Either way, your initial assumption that functional programming languages are somehow different in this respect is wrong. 2017-03-10T10:00:52Z over2re: indeed 2017-03-10T10:01:03Z over2re: I should refer to all the programming languages 2017-03-10T10:01:24Z beach: Almost all. There are some that aren't quite Turing complete. 2017-03-10T10:01:33Z over2re: ah ok 2017-03-10T10:01:46Z beach: In fact, some DSLs are designed so that they aren't Turing complete. 2017-03-10T10:01:56Z beach: ... in order that the compiler can prove termination. 2017-03-10T10:01:57Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-10T10:03:03Z Petit_Dejeuner: ...like the bitcoin language. 2017-03-10T10:03:36Z over2re: is the human turing complete? by that I mean: is the human unable to solve the halting problem just like machines? (just like we're unable to list all numbers of an unlimited periodic number?) 2017-03-10T10:03:56Z White_Flame: turing complete does not imply inability to solve the halting problem 2017-03-10T10:04:24Z White_Flame: specifically, one could be beyond turing complete, and not be constrained to that limitation 2017-03-10T10:04:43Z beach: over2re: You can't really compare a programming language (which is an abstract concept) with a physical machine. 2017-03-10T10:06:30Z Petit_Dejeuner: over2re: I reccomend reading the work of John C. Lilly. Start with Programming and Metaprogramming in the Human Biocomputer: Theory and Experiments 2017-03-10T10:07:34Z pareidolia quit (Ping timeout: 264 seconds) 2017-03-10T10:08:01Z beach: over2re: What White_Flame says. Turning completeness has nothing to do with inability to solve the halting problem. A Turing complete language (or abstract machine), say L, is one in which you can express anything computable. No program (written in L or anything else) can be written that can prove that every program in L halts for a given input. 2017-03-10T10:08:30Z pareidolia joined #lisp 2017-03-10T10:09:42Z over2re: back to work! 2017-03-10T10:09:45Z over2re: ty, bb! 2017-03-10T10:09:50Z over2re quit (Quit: hi) 2017-03-10T10:10:39Z smokeink joined #lisp 2017-03-10T10:10:48Z defaultxr quit (Ping timeout: 240 seconds) 2017-03-10T10:11:01Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-10T10:15:36Z andrei_chifa joined #lisp 2017-03-10T10:16:14Z Karl_Dscc quit (Remote host closed the connection) 2017-03-10T10:18:05Z smokeink quit (Ping timeout: 240 seconds) 2017-03-10T10:18:25Z smokeink joined #lisp 2017-03-10T10:18:40Z adlai: Petit_Dejeuner: bitcoin script? john c lilly? careful waving around all those procrastination rabbitholes lest somebody get some real work done :P 2017-03-10T10:19:08Z Ven quit (Ping timeout: 260 seconds) 2017-03-10T10:19:46Z adlai: bleh, over2re quit already. /me was gonna mention how actually translating the original statements of such problems into lisp is an educational exercise 2017-03-10T10:20:01Z adlai: for both learning lisp, and understanding the paradigm/paradox 2017-03-10T10:22:35Z Ven joined #lisp 2017-03-10T10:23:48Z iago quit (Quit: Leaving) 2017-03-10T10:28:31Z Einwq joined #lisp 2017-03-10T10:36:27Z shdeng quit (Quit: Leaving) 2017-03-10T10:38:07Z Petit_Dejeuner: adlai: Ah too late to talk to him. 2017-03-10T10:38:17Z Petit_Dejeuner: At least you can get side tracked with my stuff. 2017-03-10T10:38:42Z Petit_Dejeuner: You're just in time, http://tvtropes.org/pmwiki/pmwiki.php/Main/HollywoodHacking 2017-03-10T10:38:46Z libreman quit (Ping timeout: 264 seconds) 2017-03-10T10:39:49Z libreman joined #lisp 2017-03-10T10:42:26Z loke quit (Remote host closed the connection) 2017-03-10T10:43:16Z jameser quit (Ping timeout: 246 seconds) 2017-03-10T10:46:35Z Karl_Dscc joined #lisp 2017-03-10T10:51:15Z Ven quit (Read error: Connection reset by peer) 2017-03-10T10:51:54Z Odin-FOO joined #lisp 2017-03-10T10:51:59Z Ven joined #lisp 2017-03-10T10:53:55Z Odin-BAR joined #lisp 2017-03-10T10:54:03Z Odin-FOO quit (Remote host closed the connection) 2017-03-10T10:54:39Z Odin- quit (Ping timeout: 258 seconds) 2017-03-10T10:56:57Z keutoi joined #lisp 2017-03-10T10:58:10Z manuel_ joined #lisp 2017-03-10T10:58:28Z Ukari quit (Ping timeout: 240 seconds) 2017-03-10T11:02:21Z xhe joined #lisp 2017-03-10T11:03:19Z Odin-BAR is now known as Odin- 2017-03-10T11:04:21Z EvW joined #lisp 2017-03-10T11:07:28Z the-blackbeard joined #lisp 2017-03-10T11:13:59Z Ukari joined #lisp 2017-03-10T11:16:34Z FreeBirdLjj joined #lisp 2017-03-10T11:18:50Z Harag joined #lisp 2017-03-10T11:19:29Z m00natic joined #lisp 2017-03-10T11:22:57Z Harag quit (Ping timeout: 240 seconds) 2017-03-10T11:25:04Z DGASAU quit (Read error: Connection reset by peer) 2017-03-10T11:25:47Z DGASAU joined #lisp 2017-03-10T11:27:32Z monadicDuck joined #lisp 2017-03-10T11:29:07Z shifty quit (Ping timeout: 246 seconds) 2017-03-10T11:33:43Z monadicDuck quit (Quit: leaving) 2017-03-10T11:35:05Z duck_ joined #lisp 2017-03-10T11:35:18Z duck_ is now known as monadicDuck 2017-03-10T11:41:06Z snowcrshd joined #lisp 2017-03-10T11:42:08Z shenghi joined #lisp 2017-03-10T11:44:26Z raynold quit (Quit: Connection closed for inactivity) 2017-03-10T11:50:09Z reverse_light joined #lisp 2017-03-10T11:52:09Z ExcelTronic joined #lisp 2017-03-10T11:52:53Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-10T11:54:07Z xmonader joined #lisp 2017-03-10T11:56:27Z arbv quit (Ping timeout: 240 seconds) 2017-03-10T11:57:56Z arbv joined #lisp 2017-03-10T11:58:00Z francogrex joined #lisp 2017-03-10T11:58:16Z francogrex: hi I am using Linj (no support anymore no active develop) 2017-03-10T11:58:50Z francogrex: but I find that there is a problem when the name of a java function is the same as the name of a lisp function or macro 2017-03-10T11:59:21Z attila_lendvai joined #lisp 2017-03-10T11:59:21Z attila_lendvai quit (Changing host) 2017-03-10T11:59:21Z attila_lendvai joined #lisp 2017-03-10T11:59:32Z francogrex: for example in java.text.SimpleDateFormat there is a method called format which clashes with lisp's format and no possiblility to avoid this afaik 2017-03-10T11:59:37Z Odin- quit (Remote host closed the connection) 2017-03-10T11:59:49Z Odin- joined #lisp 2017-03-10T12:00:22Z francogrex: i even tried to remove the lisp format with (shadow :format) tomporarily 2017-03-10T12:00:33Z lambda-smith joined #lisp 2017-03-10T12:03:58Z Ven quit (Ping timeout: 264 seconds) 2017-03-10T12:06:05Z jameser joined #lisp 2017-03-10T12:06:30Z Ven joined #lisp 2017-03-10T12:09:06Z Odin- quit (Remote host closed the connection) 2017-03-10T12:09:25Z Odin- joined #lisp 2017-03-10T12:11:38Z francogrex: as such: http://paste.lisp.org/display/341081 - if anyone has some experience in using linj i would be grateful to see if there is a workaround 2017-03-10T12:12:08Z d4ryus3 joined #lisp 2017-03-10T12:15:18Z d4ryus2 quit (Ping timeout: 268 seconds) 2017-03-10T12:16:09Z eyJhb joined #lisp 2017-03-10T12:16:38Z eyJhb: Could anybody help me to get this to work? https://gist.github.com/stesie/6564885 2017-03-10T12:17:45Z ExcelTronic quit (Remote host closed the connection) 2017-03-10T12:17:52Z peccu1 quit (Read error: Connection reset by peer) 2017-03-10T12:18:04Z ExcelTronic joined #lisp 2017-03-10T12:18:06Z Harag joined #lisp 2017-03-10T12:19:10Z clintm: eyJhb: you'd be better off asking about that in #emacs. 2017-03-10T12:19:34Z peccu1 joined #lisp 2017-03-10T12:20:55Z shrdlu68 joined #lisp 2017-03-10T12:21:22Z shrdlu68: Good afternoon! 2017-03-10T12:21:30Z eyJhb: Unable to join #emacs, don't know why.. 2017-03-10T12:22:27Z Harag quit (Ping timeout: 240 seconds) 2017-03-10T12:22:58Z shrdlu68: eyJhb: You need to identify yourself. 2017-03-10T12:23:40Z eyJhb quit (Quit: Leaving) 2017-03-10T12:24:57Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-10T12:25:10Z Karl_Dscc quit (Remote host closed the connection) 2017-03-10T12:25:11Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-10T12:28:47Z |3b|: francogrex: did you reload the code after shadowing format? 2017-03-10T12:33:40Z Harag joined #lisp 2017-03-10T12:33:58Z vibs29 quit (Ping timeout: 264 seconds) 2017-03-10T12:35:23Z shrdlu68: part I'll be back 2017-03-10T12:35:28Z shrdlu68 left #lisp 2017-03-10T12:35:40Z phoe_ quit (Ping timeout: 260 seconds) 2017-03-10T12:36:01Z d4ryus3 is now known as d4ryus 2017-03-10T12:37:57Z Harag quit (Ping timeout: 240 seconds) 2017-03-10T12:38:44Z EvW quit (Ping timeout: 268 seconds) 2017-03-10T12:38:51Z vibs29 joined #lisp 2017-03-10T12:39:02Z andrei_chifa joined #lisp 2017-03-10T12:40:05Z francogrex: yes |3b| 2017-03-10T12:40:29Z francogrex: i gave the link to the test case 2017-03-10T12:40:40Z |3b|: ah, misread it 2017-03-10T12:41:24Z |3b| thought that was all 1 thing 2017-03-10T12:41:31Z francogrex: well in any case: Couldn't find declaration for (FORMAT CUR |sdfDate|) 2017-03-10T12:42:16Z francogrex: so an enigma and a pity there is no active development anymore 2017-03-10T12:43:00Z francogrex: actually though according to manual i don't even have to shadow. the (in (the java. bla bla should take care of this 2017-03-10T12:43:08Z francogrex: it isn't 2017-03-10T12:43:48Z cuso4 quit (Quit: WeeChat 1.7) 2017-03-10T12:44:39Z francogrex: i think the problem may also me very specific to format than any another random function name clashes 2017-03-10T12:46:06Z Karl_Dscc joined #lisp 2017-03-10T12:47:06Z cuso4 joined #lisp 2017-03-10T12:50:45Z francogrex left #lisp 2017-03-10T12:53:21Z xhe quit (Quit: Lost terminal) 2017-03-10T12:53:47Z xhe joined #lisp 2017-03-10T12:58:27Z andrei_chifa quit (Ping timeout: 240 seconds) 2017-03-10T13:02:25Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-10T13:02:28Z xmonader quit (Ping timeout: 260 seconds) 2017-03-10T13:07:30Z phoe_ joined #lisp 2017-03-10T13:08:10Z Beetny quit (Ping timeout: 246 seconds) 2017-03-10T13:11:53Z andrei_chifa joined #lisp 2017-03-10T13:13:57Z rumbler31 joined #lisp 2017-03-10T13:14:24Z des_consolado quit (Quit: leaving) 2017-03-10T13:15:49Z xmonader joined #lisp 2017-03-10T13:18:23Z TDT joined #lisp 2017-03-10T13:18:32Z quazimodo joined #lisp 2017-03-10T13:18:40Z mishoo quit (Ping timeout: 246 seconds) 2017-03-10T13:20:48Z Ven quit (Ping timeout: 256 seconds) 2017-03-10T13:22:05Z Ven joined #lisp 2017-03-10T13:23:22Z shifty joined #lisp 2017-03-10T13:24:08Z Dan1973 quit (Remote host closed the connection) 2017-03-10T13:29:47Z milanj joined #lisp 2017-03-10T13:31:22Z Odin-FOO joined #lisp 2017-03-10T13:31:32Z Odin- quit (Remote host closed the connection) 2017-03-10T13:32:11Z beach: *SIGH* still nothing from ELS. 2017-03-10T13:32:55Z quazimodo quit (Ping timeout: 260 seconds) 2017-03-10T13:33:08Z mishoo joined #lisp 2017-03-10T13:34:33Z Josh_2 joined #lisp 2017-03-10T13:35:24Z rippa joined #lisp 2017-03-10T13:37:59Z phoe_: beach: I got the newest ELSLeaks. 2017-03-10T13:38:19Z phoe_: They will send the relevant mail today. 2017-03-10T13:38:35Z beach: Great! What time zone? 2017-03-10T13:39:03Z phoe_: ... 2017-03-10T13:39:15Z beach: Either way, now I am not going to work on it until Monday. 2017-03-10T13:39:32Z phoe_: Well, the time zone was not specified. 2017-03-10T13:39:46Z beach: The program chair is in the US. 2017-03-10T13:40:12Z beach: So "today" may just have begun for him. 2017-03-10T13:40:37Z phoe_: Yes, I guess so. 2017-03-10T13:40:38Z beach: Not that it matters much. 2017-03-10T13:42:18Z varjag: but it's not like it's cancelled or anything 2017-03-10T13:42:23Z varjag: coz i booked everything 2017-03-10T13:42:47Z beach: No, no! It's just a problem with one of the members of the program committee. 2017-03-10T13:43:05Z beach: But a more experienced PC chair could have foreseen that. It happens often. 2017-03-10T13:44:01Z phoe_: I thought that the number of reviewers was so large not only to get a wider spectrum of views and competences, but also to achieve redundancy in case one of them does not make it on time. 2017-03-10T13:45:15Z beach: Not quite. 2017-03-10T13:45:23Z oleo joined #lisp 2017-03-10T13:45:23Z oleo quit (Changing host) 2017-03-10T13:45:23Z oleo joined #lisp 2017-03-10T13:45:24Z jameser joined #lisp 2017-03-10T13:45:27Z schpprke quit (Read error: Connection reset by peer) 2017-03-10T13:45:29Z beach: Typically, a paper is assigned to three reviewers. 2017-03-10T13:46:01Z beach: But, this year, there are 29 submissions, rather than the usual 20. 2017-03-10T13:46:11Z phoe_: I see. 2017-03-10T13:46:43Z beach: There are 17 PC members this year. 2017-03-10T13:47:14Z gargaml quit (Quit: WeeChat 1.7) 2017-03-10T13:47:16Z okflo joined #lisp 2017-03-10T13:47:17Z beach: So you need 29x3 assignments. 2017-03-10T13:47:36Z beach: That is 87 assignments for 17 PC members. 2017-03-10T13:47:58Z sz0 joined #lisp 2017-03-10T13:48:07Z beach: Which is 5 papers per PC member. That is A LOT. 2017-03-10T13:48:34Z beach: Now, let's say one PC member has an accident. 2017-03-10T13:49:13Z beach: That means 5 papers only get 2 referees. This is not enough for the PC chair to make a decision. 2017-03-10T13:49:29Z beach: ... especially if the reports are contradictory as they sometimes are. 2017-03-10T13:50:08Z beach: So if the PC chair did not foresee this and waited until the last day, he or she has to assign 5 more papers to the existing PC members. 2017-03-10T13:50:20Z beach: Well, they are likely going to refuse. 2017-03-10T13:51:07Z beach: So now you have to start looking to delegate, i.e., a referee takes the responsibility for a report, but assigns the task to someone else, typically a graduate student if the PC member is a professor. 2017-03-10T13:51:22Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-10T13:51:31Z beach: Finding a competent and available person is going to take time. 2017-03-10T13:51:39Z phoe_ nods. 2017-03-10T13:51:43Z beach: Then you have to give that person a few days to accomplish the task. 2017-03-10T13:52:20Z quazimodo joined #lisp 2017-03-10T13:52:21Z flip214: or at least a few minutes 2017-03-10T13:52:25Z beach: The thing to do as the PC chair is to give the referees a tighter schedule, say 4 days before the authors are informed. 2017-03-10T13:52:54Z beach: That way, urgent measures can be taken while still keeping the deadline. 2017-03-10T13:53:09Z cromachina quit (Read error: Connection reset by peer) 2017-03-10T13:53:10Z beach: Now imagine that 2 or more PC members flake out... 2017-03-10T13:54:13Z warweasle joined #lisp 2017-03-10T13:55:56Z jameser joined #lisp 2017-03-10T13:56:06Z TMA: it has never occured to me how much is the whole review process broken (broken being defined as "dependent on humans") 2017-03-10T13:56:09Z phoe_ quit (Ping timeout: 260 seconds) 2017-03-10T13:57:00Z flip214: well, would you rather have (random 2) assigned to each? 2017-03-10T13:59:09Z reverse_light quit (Remote host closed the connection) 2017-03-10T13:59:16Z beach: TMA: It is not that bad. The problem is that everybody is doing this without getting anything in return, really (other than a line on the CV perhaps), so there is little incentive to work hard. If then, as happened to me a few times, I get assigned papers by authors who don't make the slightest effort to respect minimal levels of quality, I get furious and discouraged. 2017-03-10T13:59:47Z jameser quit (Client Quit) 2017-03-10T14:00:41Z TMA: I do not offer any solution, I am still in shock; somehow I have never even considered how *much* is the whole system dependent on humans and their goodwill 2017-03-10T14:01:24Z beach: Yes, I see. It is worse with journals, because then, the publishing company makes big money out of the free labor done by the referees. 2017-03-10T14:01:56Z beach: Here, at least, conference participants benefit from low registration fees. 2017-03-10T14:03:01Z beach: As a PC member (which I am not this year, but I have been in the past), I am willing to put in some work for that to be the case, but not for making big bucks for publishing companies. 2017-03-10T14:03:38Z Josh_2 quit (Remote host closed the connection) 2017-03-10T14:04:00Z jameser joined #lisp 2017-03-10T14:04:04Z splittist: Of the 29, how many will be accepted (+-) 2017-03-10T14:04:57Z TMA: for me the difference is like seeing a sweatshop firsthand and reading an abstract description of the "unsatisfactory working conditions" 2017-03-10T14:05:01Z beach: Hard to say. I don't know what strategy they use. One possibility is to say that there is a fixed number of slots, so only the first N papers are accepted. 2017-03-10T14:05:41Z splittist: "Sorry Mr Feynman, Mr Einstein has that slot". 2017-03-10T14:05:51Z beach: splittist: The other one (which I would have chosen if I were the PC chair) is to go only by quality, and then compress the time of each slot, or extend the days by an hour, if required. 2017-03-10T14:06:16Z flip214: beach: is there any chance of $RANDOM_HACKER being invited to have an opinion about the papers? 2017-03-10T14:06:21Z beach: splittist: Maybe combined with being a wee bit more picky than the previous years. 2017-03-10T14:07:04Z beach: flip214: Before the PC decision? Not really, unless you know a PC member and declare yourself willing to be a sub-referee. 2017-03-10T14:07:22Z mepian joined #lisp 2017-03-10T14:07:26Z shka quit (Quit: Konversation terminated!) 2017-03-10T14:07:37Z flip214: well, no, I don't know anybody in person... just via IRC. 2017-03-10T14:07:45Z dec0n quit (Quit: Leaving) 2017-03-10T14:07:58Z beach: flip214: But what you can do is to tell Didier that you would like to serve on the PC next year. 2017-03-10T14:08:00Z flip214: OTOH, based on your description, the PC chair might be happy about a few more opinions, no? 2017-03-10T14:08:05Z mishoo_ joined #lisp 2017-03-10T14:08:07Z beach: Yes, definitely. 2017-03-10T14:08:14Z mishoo quit (Ping timeout: 258 seconds) 2017-03-10T14:08:44Z beach: I was not asked to be a PC member this year, but I would have accepted if I had been asked. I think it is part of my job. 2017-03-10T14:09:14Z flip214: where will next years ELS be? 2017-03-10T14:09:24Z BitPuffin|osx joined #lisp 2017-03-10T14:09:30Z beach: I am 99% certain that his has not been decided yet. 2017-03-10T14:09:39Z flip214: oh, okay. 2017-03-10T14:10:01Z beach: Usually, the steering committee meets during ELS to decide that, or at least to decide whom to ask to organize it. 2017-03-10T14:10:23Z splittist googles for Faroe Islands comp sci faculties 2017-03-10T14:10:52Z oleo quit (Quit: Verlassend) 2017-03-10T14:10:59Z beach: splittist: And say goodbye to setting a new record for the number of participants. :) 2017-03-10T14:11:05Z andrei_chifa quit (Remote host closed the connection) 2017-03-10T14:11:24Z splittist: But think of the average quality! 2017-03-10T14:11:28Z flip214: beach: well, there might be penguins around... 2017-03-10T14:11:59Z beach: flip214: Sorry, penguins are only on the southern hemisphere. 2017-03-10T14:12:11Z sjl: they're pushing the acceptance notification pretty close to the early reg deadline... 2017-03-10T14:12:35Z Odin-FOO quit (Ping timeout: 240 seconds) 2017-03-10T14:12:42Z kev1n joined #lisp 2017-03-10T14:13:00Z flip214: beach: yeah, sorry, confused about Falkland islands. 2017-03-10T14:13:10Z flip214: beach: but just imagine!! https://c1.staticflickr.com/6/5326/7078288561_b95d87792c_b.jpg 2017-03-10T14:13:45Z beach: flip214: Coffee break? 2017-03-10T14:14:19Z flip214: beach: no, thanks, already had enough today. 2017-03-10T14:14:38Z BitPuffin|osx quit (Ping timeout: 256 seconds) 2017-03-10T14:14:49Z flip214: beach: oh, the pictures? that was last years' southern hemisphere lisp meetup, I believe. 2017-03-10T14:14:55Z beach: Heh. 2017-03-10T14:15:05Z beach: flip214: Will you go to ELS this year? [I forget whether I already asked] 2017-03-10T14:15:21Z dddddd joined #lisp 2017-03-10T14:15:28Z flip214: beach: no... although I'd like to visit it at some time. 2017-03-10T14:15:29Z otjura quit (Remote host closed the connection) 2017-03-10T14:15:34Z flip214: perhaps next year. 2017-03-10T14:15:45Z beach: OK. 2017-03-10T14:16:28Z flip214: there's a famous song that goes "morgen, ja morgen, fang' ich ein neues leben an..." 2017-03-10T14:16:54Z beach: fang is anfang? 2017-03-10T14:17:04Z flip214: "fang'" means "I'll start" 2017-03-10T14:17:09Z beach: Right. 2017-03-10T14:17:27Z flip214: or rather, just "start", because "ich" is right after anyway 2017-03-10T14:17:53Z mishoo__ joined #lisp 2017-03-10T14:18:12Z mishoo_ quit (Ping timeout: 258 seconds) 2017-03-10T14:18:15Z beach: Ah, so fang is a shortened version of fange? 2017-03-10T14:18:40Z eudoxia joined #lisp 2017-03-10T14:19:20Z flip214: correct 2017-03-10T14:19:26Z beach: Now I see it. 2017-03-10T14:20:01Z okflo: "und wenn nicht morgen, dann übermorgen" - SCNR ;) 2017-03-10T14:20:11Z beach: :P 2017-03-10T14:20:20Z flip214: beach: http://www.songtexte.com/songtext/erste-allgemeine-verunsicherung/morgen-3dcf5bf.html 2017-03-10T14:20:30Z TMA: morgen, morgen, nur nicht heute, sagt mir alle faulen Leute... 2017-03-10T14:20:49Z flip214: TMA: "*sagen* mir alle" 2017-03-10T14:20:58Z flip214: I guess that's what you mean here 2017-03-10T14:21:17Z pjb: beach: you make if sound as if they need Syscog's software to manage it! 2017-03-10T14:21:19Z flip214: or do you want to be told the names of the lazy people? 2017-03-10T14:21:24Z flip214: never mind. 2017-03-10T14:21:47Z beach: pjb: Maybe so. 2017-03-10T14:22:51Z TMA: flip214: je suis desole, my german is lackluster 2017-03-10T14:22:52Z beach: flip214: That's a very dark song. 2017-03-10T14:25:08Z izacht13 joined #lisp 2017-03-10T14:25:18Z manuel_ quit (Quit: manuel_) 2017-03-10T14:25:25Z hhdave quit (Ping timeout: 268 seconds) 2017-03-10T14:25:35Z aeth quit (Ping timeout: 240 seconds) 2017-03-10T14:26:19Z hhdave joined #lisp 2017-03-10T14:27:24Z xmonader quit (Ping timeout: 260 seconds) 2017-03-10T14:27:30Z aeth joined #lisp 2017-03-10T14:27:32Z phoe_ joined #lisp 2017-03-10T14:35:35Z Ven quit (Ping timeout: 240 seconds) 2017-03-10T14:36:06Z splittist: pjb: once organisation is entirely performed by sufficiently smart lisp systems, attendance can be automated, too. 2017-03-10T14:36:15Z EvW joined #lisp 2017-03-10T14:36:32Z loke joined #lisp 2017-03-10T14:37:28Z Ven joined #lisp 2017-03-10T14:37:45Z mishoo__ quit (Ping timeout: 258 seconds) 2017-03-10T14:39:40Z wtetzner joined #lisp 2017-03-10T14:41:46Z mishoo joined #lisp 2017-03-10T14:47:18Z snowcrshd quit (Remote host closed the connection) 2017-03-10T14:49:33Z luis: s/Syscog/SISCOG. :-P 2017-03-10T14:52:13Z manuel_ joined #lisp 2017-03-10T14:53:05Z paroneayea quit (Read error: Connection reset by peer) 2017-03-10T14:53:30Z paroneayea joined #lisp 2017-03-10T14:53:48Z snowcrshd joined #lisp 2017-03-10T14:54:07Z wtetzner quit (Remote host closed the connection) 2017-03-10T14:54:24Z mepian quit (Quit: Leaving) 2017-03-10T14:55:10Z luis: In any case, it sounds like you just need to implement a sort predicate or a cost function. No need for fancy scheduling/assignment. :-) 2017-03-10T14:55:48Z clintm: Anyone have an idea why hunchentoot changes the case of header names? http://paste.lisp.org/display/341098 Short version is: (setf (header-out "X-UA-Compatible:IE") ..) ends up as "X-Ua-Compatible: Ie:" in chrome's inspector. 2017-03-10T14:57:26Z splittist: clintm: it looks like it's being symbolicated and de-symbolicated. 2017-03-10T14:57:44Z lambda-smith quit (Ping timeout: 260 seconds) 2017-03-10T14:58:10Z izacht13 quit (Quit: Leaving) 2017-03-10T14:58:19Z xhe quit (Quit: leaving) 2017-03-10T14:58:29Z izacht13 joined #lisp 2017-03-10T14:58:37Z clintm: splittist: Ok, so it's not necessarily tribal knowledge that I just don't know. I'll go digging in the source and see what I can find. 2017-03-10T14:59:22Z splittist: clintm: I'm certainly not part of the hunchentoot tribe, so who know? (: 2017-03-10T14:59:30Z okflo` joined #lisp 2017-03-10T14:59:50Z splittist: s/?/s?/ 2017-03-10T15:00:13Z Denommus joined #lisp 2017-03-10T15:00:17Z mishoo_ joined #lisp 2017-03-10T15:00:26Z froggey joined #lisp 2017-03-10T15:01:38Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2017-03-10T15:02:10Z mishoo quit (Ping timeout: 264 seconds) 2017-03-10T15:02:51Z LiamH joined #lisp 2017-03-10T15:03:01Z DGASAU quit (Read error: Connection reset by peer) 2017-03-10T15:03:20Z okflo quit (Ping timeout: 260 seconds) 2017-03-10T15:07:39Z DGASAU joined #lisp 2017-03-10T15:07:43Z chens quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2017-03-10T15:10:09Z splittist: clintm: header-out associates a keyword with a header, doesn't it? 2017-03-10T15:12:13Z kevin joined #lisp 2017-03-10T15:12:37Z kevin is now known as Guest91793 2017-03-10T15:13:52Z circ-user-3ReWJ joined #lisp 2017-03-10T15:15:34Z kev1n quit (Ping timeout: 260 seconds) 2017-03-10T15:17:59Z eudoxia quit (Quit: Leaving) 2017-03-10T15:19:04Z izacht13_ joined #lisp 2017-03-10T15:19:43Z clintm: splittist: still working my way through. Spelunking so far has led me to known-words.lisp in chunga. 2017-03-10T15:20:08Z Guest91793 quit (Remote host closed the connection) 2017-03-10T15:20:11Z clintm: making coffee to stiffen my resolve. 2017-03-10T15:21:25Z FreeBirdLjj joined #lisp 2017-03-10T15:21:31Z izacht13 quit (Ping timeout: 246 seconds) 2017-03-10T15:22:02Z varjag quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2017-03-10T15:22:52Z schjetne joined #lisp 2017-03-10T15:23:03Z izacht13_ quit (Client Quit) 2017-03-10T15:24:27Z phoe_ quit (Quit: Page closed) 2017-03-10T15:25:05Z wtetzner joined #lisp 2017-03-10T15:28:19Z shka_ joined #lisp 2017-03-10T15:29:21Z clintm: After this, I think I'll add a history to slime so that when I use M-. to go down a rabbit hole, I can follow my path back up. 2017-03-10T15:29:32Z clintm: Seems quite useful right about now. 2017-03-10T15:30:01Z |3b|: M-, ? 2017-03-10T15:30:22Z wtetzner quit (Remote host closed the connection) 2017-03-10T15:30:26Z clintm: omg. Thank you |3b|! 2017-03-10T15:30:36Z BitPuffin|osx joined #lisp 2017-03-10T15:30:58Z clintm: I need to spend some quality time with the slime docs, it would seem. 2017-03-10T15:30:58Z foom quit (Ping timeout: 246 seconds) 2017-03-10T15:32:34Z DGASAU quit (Read error: Connection reset by peer) 2017-03-10T15:34:00Z flamebeard quit (Quit: Leaving) 2017-03-10T15:34:34Z ryanbw quit (Quit: WeeChat 1.7) 2017-03-10T15:35:24Z bmilk joined #lisp 2017-03-10T15:36:21Z beach: I just got email from ELS! 2017-03-10T15:36:23Z beach: YAY! 2017-03-10T15:36:53Z beach: Bah, my incremental parsing paper was rejected. Oh well. 2017-03-10T15:37:15Z clintm: :( 2017-03-10T15:37:30Z beach: It's OK. I have two more and they were accepted. :) 2017-03-10T15:37:48Z clintm: haha nice. 2017-03-10T15:38:11Z beach: phoe: Check your email! 2017-03-10T15:38:59Z beach: jackdaniel: Check your email! 2017-03-10T15:39:00Z beach: :) 2017-03-10T15:39:13Z sjl: yep, els emails have gone out 2017-03-10T15:39:18Z sjl: time to book flights 2017-03-10T15:39:52Z beach: sjl: Where do you live? 2017-03-10T15:39:57Z sjl: beach: Iceland 2017-03-10T15:40:17Z beach: Nice! 2017-03-10T15:40:19Z shka_: beach: can i read your paper? 2017-03-10T15:40:39Z beach: shka_: They are all online, yes. Which one do you want? 2017-03-10T15:40:46Z shka_: parsing 2017-03-10T15:40:51Z sjl: unfortunately brussels isn't as dirt cheap to fly to as the UK 2017-03-10T15:41:03Z beach: shka_: http://metamodular.com/incremental-parsing.pdf 2017-03-10T15:41:04Z sjl: but at least it's not horrifyingly bad 2017-03-10T15:41:15Z shka_: beach: thank you 2017-03-10T15:42:05Z Bicyclidine joined #lisp 2017-03-10T15:42:44Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-10T15:43:08Z foom joined #lisp 2017-03-10T15:43:59Z beach: sjl: Do you have a paper accepted? If not, why did you wait to book your flight until now? 2017-03-10T15:44:14Z sjl: beach: yes, just got an acceptance email 2017-03-10T15:44:22Z beach: Congratulations! 2017-03-10T15:44:24Z sjl: thanks 2017-03-10T15:44:26Z sjl: you too 2017-03-10T15:44:32Z beach: What is it about? 2017-03-10T15:44:39Z sjl: general game playing in common lisp 2017-03-10T15:44:49Z beach: Nice! 2017-03-10T15:44:59Z sjl: gonna do a tutorial about how to write bots that can play any game given just the rules 2017-03-10T15:45:01Z sjl: in CL 2017-03-10T15:45:03Z sjl: should be fun 2017-03-10T15:45:12Z beach: Sounds like it, yes. 2017-03-10T15:49:35Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-10T15:51:15Z yeticry_ joined #lisp 2017-03-10T15:51:17Z xmonader joined #lisp 2017-03-10T15:54:21Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-10T15:54:22Z yeticry quit (Ping timeout: 256 seconds) 2017-03-10T15:55:03Z Odin- joined #lisp 2017-03-10T15:56:34Z ExcelTronic quit (Remote host closed the connection) 2017-03-10T15:56:36Z DGASAU joined #lisp 2017-03-10T15:56:48Z shifty quit (Ping timeout: 240 seconds) 2017-03-10T15:58:03Z al-damiri joined #lisp 2017-03-10T16:00:44Z circ-user-3ReWJ quit (Ping timeout: 260 seconds) 2017-03-10T16:01:00Z cuso4 quit (Ping timeout: 268 seconds) 2017-03-10T16:01:06Z bmilk quit (Read error: Connection reset by peer) 2017-03-10T16:01:59Z ryanbw joined #lisp 2017-03-10T16:03:06Z cuso4 joined #lisp 2017-03-10T16:04:33Z bmilk joined #lisp 2017-03-10T16:06:07Z mishoo_ quit (Read error: Connection reset by peer) 2017-03-10T16:06:53Z mishoo joined #lisp 2017-03-10T16:07:28Z smokeink quit (Ping timeout: 240 seconds) 2017-03-10T16:08:02Z sbodin joined #lisp 2017-03-10T16:10:04Z DGASAU quit (Read error: Connection reset by peer) 2017-03-10T16:10:24Z Lord_of_Life quit (Excess Flood) 2017-03-10T16:13:58Z Lord_of_Life joined #lisp 2017-03-10T16:14:14Z vlatkoB_ quit (Remote host closed the connection) 2017-03-10T16:15:33Z vlatkoB joined #lisp 2017-03-10T16:19:51Z sjl: there we go, flights and airbnb booked 2017-03-10T16:20:18Z DGASAU joined #lisp 2017-03-10T16:22:22Z beach: I am cautiously excited about the co-location with the conference. It might provide some exposure to people who would normally not attend ELS. 2017-03-10T16:23:59Z beach: On the other hand, it could also attract some of the same nutcases we see here sometimes, who try to convince us to abandon this dead language. 2017-03-10T16:24:45Z loke: beach: They want us to abandon PL/I and SIMULA? 2017-03-10T16:24:52Z loke: never, I tell you 2017-03-10T16:25:08Z beach: What do you mean? They are NOT DEAD! 2017-03-10T16:25:27Z loke: What programming conference by the way? 2017-03-10T16:25:56Z beach: http://2017.programmingconference.org/venue/brussels 2017-03-10T16:26:30Z loke: BROGRAMMING 2017-03-10T16:35:22Z wiselord joined #lisp 2017-03-10T16:35:32Z dilated_dinosaur quit (Ping timeout: 268 seconds) 2017-03-10T16:37:57Z wiselord: Hi all! Please help me: how can i convert string "field" to :filed ? 2017-03-10T16:38:29Z beach: (intern (string-upcase "field") :keyword) 2017-03-10T16:39:06Z beach: Wait, "field" or "filed"? 2017-03-10T16:39:13Z beach: :filed or :field? 2017-03-10T16:39:35Z dlowe: (intern (string-upcase (ppcre:regex-replace-all "el" "le" "field")) :keyword) 2017-03-10T16:39:50Z beach: Yeah, that. 2017-03-10T16:40:11Z wiselord: "field" to :field, i made a typo 2017-03-10T16:40:12Z beach is turning more and more dyslexic over time. 2017-03-10T16:40:16Z wiselord: thanks 2017-03-10T16:40:29Z beach: Anytime! 2017-03-10T16:40:52Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-10T16:42:20Z wtetzner joined #lisp 2017-03-10T16:47:38Z stardiviner quit (Ping timeout: 256 seconds) 2017-03-10T16:49:30Z pjb: loke: BRUGRAMMING! 2017-03-10T16:53:37Z varjag joined #lisp 2017-03-10T16:56:47Z milanj quit (Quit: This computer has gone to sleep) 2017-03-10T16:57:37Z loke: Good night guys 2017-03-10T16:57:45Z loke: See you 2017-03-10T16:57:48Z loke quit (Quit: Leaving) 2017-03-10T16:59:31Z keutoi quit (Ping timeout: 246 seconds) 2017-03-10T17:00:56Z decuser quit (Quit: rcirc on GNU Emacs 25.1.1) 2017-03-10T17:01:42Z prole joined #lisp 2017-03-10T17:03:01Z Denommus` joined #lisp 2017-03-10T17:03:16Z lnostdal quit (Ping timeout: 260 seconds) 2017-03-10T17:04:35Z Denommus quit (Ping timeout: 240 seconds) 2017-03-10T17:05:45Z zooey quit (Remote host closed the connection) 2017-03-10T17:05:56Z Denommus` is now known as Denommus 2017-03-10T17:06:07Z phoe: beach: yay! 2017-03-10T17:06:25Z beach: and? 2017-03-10T17:06:28Z phoe: My paper was accepted. 2017-03-10T17:06:30Z beach: Congratulations! 2017-03-10T17:06:34Z phoe: Congratulations to you too! 2017-03-10T17:06:40Z beach: Thanks! 2017-03-10T17:07:00Z phoe: And to everyone else who ended up accepted. sjl: I see you got one. 2017-03-10T17:07:15Z zooey joined #lisp 2017-03-10T17:08:09Z EvW quit (Ping timeout: 260 seconds) 2017-03-10T17:08:50Z schjetne quit (Ping timeout: 268 seconds) 2017-03-10T17:11:16Z schjetne joined #lisp 2017-03-10T17:12:14Z payphone quit (Quit: WeeChat 1.7) 2017-03-10T17:13:44Z JuanDaugherty joined #lisp 2017-03-10T17:13:54Z sjl: thanks, you too! 2017-03-10T17:14:30Z lnostdal joined #lisp 2017-03-10T17:16:11Z quadresce joined #lisp 2017-03-10T17:16:37Z BlueRavenGT joined #lisp 2017-03-10T17:16:49Z phoe: Now, the part about remarks. 2017-03-10T17:17:00Z phoe: I got some in my reviews - time to implement them. 2017-03-10T17:18:26Z beach: phoe: First check that they are not contradictory to those of other referees. It can happen, and the PC chair typically doesn't try to fix that before sending you the remarks. 2017-03-10T17:18:27Z sjl quit (Ping timeout: 240 seconds) 2017-03-10T17:20:31Z Ven quit (Ping timeout: 246 seconds) 2017-03-10T17:22:33Z nhandler quit (Remote host closed the connection) 2017-03-10T17:23:22Z Ven joined #lisp 2017-03-10T17:23:34Z phoe: beach: they're not. 2017-03-10T17:23:37Z easye-ipad joined #lisp 2017-03-10T17:23:44Z beach: You are lucky. 2017-03-10T17:24:12Z phoe: Hee. 2017-03-10T17:24:24Z nhandler joined #lisp 2017-03-10T17:27:29Z easye-ipad quit (Client Quit) 2017-03-10T17:27:44Z yrk joined #lisp 2017-03-10T17:28:19Z nhandler quit (Remote host closed the connection) 2017-03-10T17:28:23Z yrk quit (Changing host) 2017-03-10T17:28:23Z yrk joined #lisp 2017-03-10T17:30:11Z nhandler joined #lisp 2017-03-10T17:30:53Z Odin-FOO joined #lisp 2017-03-10T17:31:17Z quadresce` joined #lisp 2017-03-10T17:31:44Z quadresce quit (Ping timeout: 260 seconds) 2017-03-10T17:33:27Z Odin- quit (Ping timeout: 240 seconds) 2017-03-10T17:34:47Z nhandler quit (Remote host closed the connection) 2017-03-10T17:36:30Z nhandler joined #lisp 2017-03-10T17:36:52Z quadresce` quit (Quit: This computer has gone to sleep) 2017-03-10T17:36:52Z Ven quit (Ping timeout: 260 seconds) 2017-03-10T17:38:07Z Ven joined #lisp 2017-03-10T17:40:09Z manualcrank joined #lisp 2017-03-10T17:41:31Z zooey quit (Ping timeout: 240 seconds) 2017-03-10T17:41:48Z Denommus` joined #lisp 2017-03-10T17:43:34Z Denommus quit (Ping timeout: 264 seconds) 2017-03-10T17:45:08Z hhdave quit (Ping timeout: 240 seconds) 2017-03-10T17:47:49Z zooey joined #lisp 2017-03-10T17:49:10Z neoncontrails joined #lisp 2017-03-10T17:56:35Z kolko quit (Ping timeout: 240 seconds) 2017-03-10T18:01:19Z bungoman_ joined #lisp 2017-03-10T18:01:28Z milanj joined #lisp 2017-03-10T18:01:42Z m00natic quit (Remote host closed the connection) 2017-03-10T18:06:17Z Ven quit (Ping timeout: 258 seconds) 2017-03-10T18:07:13Z payphone joined #lisp 2017-03-10T18:08:02Z schjetne quit (Ping timeout: 268 seconds) 2017-03-10T18:08:38Z zygentoma joined #lisp 2017-03-10T18:09:27Z Ven joined #lisp 2017-03-10T18:09:32Z Odin-FOO quit (Ping timeout: 260 seconds) 2017-03-10T18:10:51Z TDT quit (Quit: TDT) 2017-03-10T18:13:11Z hapticFeels joined #lisp 2017-03-10T18:15:23Z cgdub joined #lisp 2017-03-10T18:17:23Z prole quit (Remote host closed the connection) 2017-03-10T18:20:51Z Ven quit (Ping timeout: 258 seconds) 2017-03-10T18:22:05Z xmonader quit (Ping timeout: 240 seconds) 2017-03-10T18:23:44Z Ven joined #lisp 2017-03-10T18:24:35Z payphone quit (Quit: WeeChat 1.6) 2017-03-10T18:28:27Z schjetne joined #lisp 2017-03-10T18:30:28Z lnostdal quit (Ping timeout: 240 seconds) 2017-03-10T18:33:27Z Bicyclidine quit (Remote host closed the connection) 2017-03-10T18:39:53Z payphone joined #lisp 2017-03-10T18:41:53Z rjid joined #lisp 2017-03-10T18:47:43Z bungoman_ quit 2017-03-10T18:49:42Z varjag: is there any package for serializing clos objects over net? 2017-03-10T18:50:09Z phoe: varjag: over net? 2017-03-10T18:50:20Z phoe: you can just serialize anything, send it over net, and deserialize it 2017-03-10T18:50:44Z phoe: I don't think network has any matter here since you can just READ from a socket stream in this case. 2017-03-10T18:50:56Z phoe: varjag: http://www.cliki.net/serialization 2017-03-10T18:51:04Z jfb4 quit (Ping timeout: 260 seconds) 2017-03-10T18:51:21Z phoe: I've heard good things on the channel about about CL-STORE. 2017-03-10T18:52:18Z varjag: phoe: over the net as in having net-aware error handling 2017-03-10T18:52:27Z Ven quit (Ping timeout: 240 seconds) 2017-03-10T18:52:33Z varjag: and possibly handling the connections for me 2017-03-10T18:52:42Z jfb4 joined #lisp 2017-03-10T18:53:02Z varjag: it's a small project, trying to find the path of least resistance 2017-03-10T18:53:27Z nirved quit (Quit: Leaving) 2017-03-10T18:53:33Z Ven joined #lisp 2017-03-10T18:54:14Z varjag: phoe: just like with channels, you can do them on your own with queues and some mutexes 2017-03-10T18:54:24Z xmonader joined #lisp 2017-03-10T18:54:25Z varjag: but it's great when there's a library 2017-03-10T18:56:35Z varjag: but ok, cl-store is a good start 2017-03-10T18:58:25Z phoe: varjag: hm, I don't think there's a networked thing like that. 2017-03-10T18:58:30Z phoe: I might be wrong though. 2017-03-10T18:59:18Z mood: I haven't seen anything of the sort either 2017-03-10T19:00:35Z _death: can use it with basic-binary-ipc or pzmq.. lfarm might also be relevant although I didn't try it 2017-03-10T19:02:07Z |3b|: http://www.cliki.net/Distributed might have some other useful parts, if not the whole thing 2017-03-10T19:03:03Z varjag: oh.. interesting1 2017-03-10T19:03:04Z varjag: ! 2017-03-10T19:03:06Z varjag: thanks 2017-03-10T19:04:09Z roscoe_tw quit (Ping timeout: 268 seconds) 2017-03-10T19:11:48Z lambda-smith joined #lisp 2017-03-10T19:12:57Z raynold joined #lisp 2017-03-10T19:13:17Z Jesin quit (Quit: Leaving) 2017-03-10T19:13:40Z shka_: yo 2017-03-10T19:13:44Z shka_: i can't install lem 2017-03-10T19:13:47Z shka_: https://github.com/cxxxr/lem 2017-03-10T19:14:00Z shka_: Error while trying to load definition for system cl-charms 2017-03-10T19:14:16Z shka_: is that because my ncurses version is wrong or something? 2017-03-10T19:15:33Z Tex_Nick joined #lisp 2017-03-10T19:15:41Z mood: shka_: That depends on what the error is 2017-03-10T19:16:11Z shka_: i don't understand error 2017-03-10T19:16:13Z shka_: asd: Component #:CFFI-GROVEL not found, required by NIL 2017-03-10T19:16:21Z shka_: seriously, required by nil? 2017-03-10T19:17:37Z neoncontrails quit (Remote host closed the connection) 2017-03-10T19:18:15Z neoncontrails joined #lisp 2017-03-10T19:18:43Z neoncontrails quit (Read error: Connection reset by peer) 2017-03-10T19:19:46Z circ-user-3ufaO joined #lisp 2017-03-10T19:19:59Z Jesin joined #lisp 2017-03-10T19:21:08Z mood: That does seem weird 2017-03-10T19:22:03Z rjid left #lisp 2017-03-10T19:26:03Z shka_: i was using roswell 2017-03-10T19:26:04Z bocaneri quit (Read error: Connection reset by peer) 2017-03-10T19:26:15Z shka_: just like readme told me 2017-03-10T19:28:12Z vibs29 quit (Ping timeout: 268 seconds) 2017-03-10T19:31:24Z hapticFeels left #lisp 2017-03-10T19:35:35Z Ven quit (Ping timeout: 240 seconds) 2017-03-10T19:37:43Z szmer joined #lisp 2017-03-10T19:37:57Z BitPuffin|osx quit (Ping timeout: 240 seconds) 2017-03-10T19:38:21Z phoe: |3b|: thanks! I iddn't see that before. 2017-03-10T19:38:34Z varjag quit (Read error: Connection reset by peer) 2017-03-10T19:38:46Z varjag joined #lisp 2017-03-10T19:39:02Z Ven joined #lisp 2017-03-10T19:40:24Z vibs29 joined #lisp 2017-03-10T19:46:08Z schjetne quit (Ping timeout: 260 seconds) 2017-03-10T19:50:46Z Ven quit (Ping timeout: 264 seconds) 2017-03-10T19:53:14Z neoncontrails joined #lisp 2017-03-10T19:54:05Z Ven joined #lisp 2017-03-10T20:05:27Z Ven quit (Ping timeout: 240 seconds) 2017-03-10T20:08:16Z Ven joined #lisp 2017-03-10T20:08:34Z xmonader quit (Ping timeout: 258 seconds) 2017-03-10T20:09:27Z Denommus` is now known as Denommus 2017-03-10T20:09:43Z circ-user-3ufaO quit (Ping timeout: 257 seconds) 2017-03-10T20:11:20Z lambda-smith quit (Ping timeout: 260 seconds) 2017-03-10T20:13:09Z defaultxr joined #lisp 2017-03-10T20:18:32Z ryanbw quit (Quit: WeeChat 1.7) 2017-03-10T20:21:04Z wheelsucker joined #lisp 2017-03-10T20:21:19Z terpri joined #lisp 2017-03-10T20:24:28Z sbodin quit (Ping timeout: 240 seconds) 2017-03-10T20:27:11Z Bicyclidine joined #lisp 2017-03-10T20:27:58Z mickus joined #lisp 2017-03-10T20:29:13Z pebblexe: how do I convert a vector to a simple-array? 2017-03-10T20:30:07Z |3b|: (coerce vector 'simple-array) ? 2017-03-10T20:30:08Z mickus quit (Client Quit) 2017-03-10T20:30:24Z EvW joined #lisp 2017-03-10T20:34:26Z bmilk quit (Remote host closed the connection) 2017-03-10T20:34:26Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-10T20:36:11Z zygentoma quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-03-10T20:37:00Z okflo` quit (Ping timeout: 260 seconds) 2017-03-10T20:39:43Z quadresce` joined #lisp 2017-03-10T20:39:44Z TDT joined #lisp 2017-03-10T20:39:44Z ryanbw joined #lisp 2017-03-10T20:39:57Z circ-user-3ufaO joined #lisp 2017-03-10T20:44:28Z desku joined #lisp 2017-03-10T20:44:33Z deskuu joined #lisp 2017-03-10T20:44:38Z emaczen: What is the naming convention in Lisp for names having prefixes or postfixes of "f" and "n" 2017-03-10T20:44:39Z deskuu quit (Remote host closed the connection) 2017-03-10T20:45:09Z emaczen: what does it usually entail -- like a postfix of "p" usually means a function that returns a boolean value 2017-03-10T20:45:44Z |3b|: 'n' is 'non-consing', usually destructive or modifying its arguments 2017-03-10T20:45:53Z aeth: http://www.cliki.net/naming%20conventions 2017-03-10T20:52:21Z dlowe: -f is from SETF, which means Set Field 2017-03-10T20:53:07Z dlowe: SETF is called that because SET already existed (though rarely used). SETQ was what was usually used, but was non-extendable 2017-03-10T20:53:14Z jasom: also it's singlewordp and multiple-word-p 2017-03-10T20:53:16Z aeth: https://groups.google.com/forum/#!msg/comp.lang.lisp/1OERjYfSKqc/keoNb0gdKjoJ 2017-03-10T20:53:28Z Bicyclidine: setq is set quoted, cos (setq x y) was short for (set 'x y) in the darkness of the past 2017-03-10T20:53:52Z Bicyclidine: and that's in the usenet post. o well 2017-03-10T20:53:57Z |3b|: or multiple-singlewordp 2017-03-10T20:54:30Z jasom: also I wonder why we don't have sort and nsort. 2017-03-10T20:54:55Z |3b|: history, and slow old computers? 2017-03-10T20:55:10Z jasom: plus a merge-sort is destructive, but also CONSes 2017-03-10T20:55:21Z jasom: though not on lists, I suppose 2017-03-10T20:55:49Z pebblexe: okay I need to convert a vector to (SIMPLE-ARRAY (UNSIGNED-BYTE 8) (*)). What's the best way to do that? 2017-03-10T20:56:03Z jasom: pebblexe: coerce 2017-03-10T20:56:12Z dlowe: pebblexe: that is a vector. 2017-03-10T20:56:24Z pebblexe: ? 2017-03-10T20:56:25Z pjb: coerce. 2017-03-10T20:56:26Z |3b|: (coerce vector '(simple-array (unsigned-byte 8) (*))) 2017-03-10T20:56:45Z jasom: pebblexe: also, most libraries that require (SIMPLE-ARRAY (UNSIGNED-BYTE 8) (*)) define a type for that to save you typing. 2017-03-10T20:56:57Z jasom: usually called something like octet-vector 2017-03-10T20:58:11Z pebblexe: jasom, 3b, pjb: thank you 2017-03-10T20:58:14Z jasom: hmm, flexi-streams defines octet, but not the corresponding vector type 2017-03-10T21:01:46Z circ-user-3ufaO quit (Remote host closed the connection) 2017-03-10T21:02:02Z angavrilov quit (Remote host closed the connection) 2017-03-10T21:02:10Z jerme joined #lisp 2017-03-10T21:02:22Z prole joined #lisp 2017-03-10T21:03:46Z shka_ quit (Ping timeout: 256 seconds) 2017-03-10T21:03:50Z quadresce` quit (Quit: This computer has gone to sleep) 2017-03-10T21:06:44Z snowcrshd quit (Ping timeout: 260 seconds) 2017-03-10T21:10:36Z EvW quit (Remote host closed the connection) 2017-03-10T21:12:29Z EvW joined #lisp 2017-03-10T21:15:36Z mejja joined #lisp 2017-03-10T21:16:44Z zygentoma joined #lisp 2017-03-10T21:19:21Z neoncontrails quit (Remote host closed the connection) 2017-03-10T21:23:11Z attila_lendvai joined #lisp 2017-03-10T21:23:11Z attila_lendvai quit (Changing host) 2017-03-10T21:23:11Z attila_lendvai joined #lisp 2017-03-10T21:25:32Z vlatkoB quit (Remote host closed the connection) 2017-03-10T21:26:10Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-10T21:28:18Z rumbler31 quit (Ping timeout: 258 seconds) 2017-03-10T21:29:09Z neoncontrails joined #lisp 2017-03-10T21:30:50Z TDT quit (Read error: Connection reset by peer) 2017-03-10T21:32:27Z TDT joined #lisp 2017-03-10T21:32:59Z jurov: why is the (*) necessary for coerce? 2017-03-10T21:34:06Z |3b|: it isn't, but it is probably necessary for whatever made you want to convert it 2017-03-10T21:34:31Z |3b|: that specifies that you want a 1d array of unspecified dimensions 2017-03-10T21:34:40Z mejja quit (Quit: \ No newline at end of file) 2017-03-10T21:35:00Z |3b|: ah, i guess it is for typed array 2017-03-10T21:35:25Z jurov: in sbcl coerce won't work without it, and the error message "can't be converted to..." is not helpful 2017-03-10T21:35:32Z |3b|: but you could replace (*) with 1, which would also give you a 1dimensional array of unspecified length 2017-03-10T21:35:54Z Ven quit (Ping timeout: 260 seconds) 2017-03-10T21:38:40Z Ven joined #lisp 2017-03-10T21:38:57Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-10T21:41:11Z wtetzner quit (Remote host closed the connection) 2017-03-10T21:41:36Z neuronsong quit (Read error: Connection reset by peer) 2017-03-10T21:44:42Z Lord_of_Life quit (Excess Flood) 2017-03-10T21:45:28Z Lord_of_Life joined #lisp 2017-03-10T21:45:38Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-10T21:47:20Z wtetzner joined #lisp 2017-03-10T21:48:14Z varjag: welp.. this tiny project pulls along half quicklisp in deps 2017-03-10T21:48:27Z aeth: Afaik, the * is because you're not converting to '(simple-array (unsigned-byte 8)) but to `(simple-array (unsigned-byte 8) (,(length original-sequence))) 2017-03-10T21:49:28Z |3b|: aeth: but (simple-array t) works 2017-03-10T21:52:59Z prxq joined #lisp 2017-03-10T21:53:12Z aeth: |3b|: probably because a (simple-array t) is really a 'simple-vector (or, more accurately, (simple-array t (size)) is (simple-vector size)) 2017-03-10T21:53:21Z aeth: And I guess the rules are different (at lesat in SBCL) for simple vectors 2017-03-10T21:53:56Z aeth: i.e. in SBCL (type-of #(0 1 2 3)) => (SIMPLE-VECTOR 4) 2017-03-10T21:54:18Z aeth: actually, this appears to be the case in all Lisps I have installed 2017-03-10T21:55:17Z aeth: http://www.lispworks.com/documentation/HyperSpec/Body/t_smp_ar.htm 2017-03-10T21:56:30Z |3b|: paraphrased from #sbcl, coerce for vector is only required to work if result type is a 'recognizable subtype of vector', which simple-array isn't unless you specify rank 1 2017-03-10T21:57:37Z |3b|: and (coerce #() 'simple-array) and (coerce #() '(simple-array t)) work because it can tell input is already that type so it does nothing 2017-03-10T21:59:02Z jasom: so (coerce (make-array 3 :element-type integer) 'simple-array) should fail? 2017-03-10T22:00:18Z |3b|: that is already a simple-array on any sane lisp 2017-03-10T22:00:51Z jasom: sorry, meant fixnum 2017-03-10T22:01:01Z |3b|: (and would still be if you made it a specialized array) 2017-03-10T22:01:26Z |3b|: and probably doesn't actually require sanity for first, just conformance 2017-03-10T22:01:39Z jasom: (array-element-type (coerce (make-array 3 :element-type 'fixnum :initial-element 0) 'simple-array)) ;=> FIXNUM 2017-03-10T22:02:02Z |3b|: right, it is already a simple-array 2017-03-10T22:02:14Z prxq: aeth: re pathnames - I agree that the standard commitee is not to blame for the mess that pathnames is. However, it's still a mess. 2017-03-10T22:02:50Z |3b|: 'simple array' just means not displaced, no fill-pointer, not expressly adjustable 2017-03-10T22:03:16Z jasom: (coerce (make-array 3 :element-type t :initial-element 0) '(simple-array fixnum)) fails because it's not already a '(simple-array fixnum) so it tries to convert and then fails because a simple-array isn't a sequence 2017-03-10T22:03:21Z |3b|: so add :fill-pointer 1 and it fails 2017-03-10T22:03:52Z jasom: uiop contains the germ of a usable pathname library 2017-03-10T22:04:14Z Denommus quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2017-03-10T22:04:50Z |3b|: though i think those cases where 'simple-array works might be unspecified 2017-03-10T22:05:26Z |3b|: ah, no it is specified 2017-03-10T22:05:37Z |3b|: "If object is already of type result-type, the object itself is returned," 2017-03-10T22:06:49Z jasom: however I strongly disagree with ".." being :back instead of :up in uiop:parse-unix-namestring 2017-03-10T22:19:16Z cgdub quit (Remote host closed the connection) 2017-03-10T22:21:33Z gls joined #lisp 2017-03-10T22:22:34Z Ven quit (Ping timeout: 260 seconds) 2017-03-10T22:23:42Z Ven joined #lisp 2017-03-10T22:25:49Z trocado joined #lisp 2017-03-10T22:28:52Z rumbler31 joined #lisp 2017-03-10T22:29:52Z _rumbler31 joined #lisp 2017-03-10T22:31:35Z TDT quit (Quit: TDT) 2017-03-10T22:37:24Z Ven quit (Ping timeout: 260 seconds) 2017-03-10T22:37:28Z nirved joined #lisp 2017-03-10T22:38:12Z defaultxr quit (Quit: bbl) 2017-03-10T22:39:03Z Ven joined #lisp 2017-03-10T22:40:46Z gls: quit 2017-03-10T22:40:56Z gls quit 2017-03-10T22:41:29Z neoncontrails quit (Remote host closed the connection) 2017-03-10T22:44:35Z neoncontrails joined #lisp 2017-03-10T22:45:49Z Kaisyu joined #lisp 2017-03-10T22:53:22Z quadresce joined #lisp 2017-03-10T23:01:32Z quadresce quit (Quit: This computer has gone to sleep) 2017-03-10T23:07:34Z Ven quit (Ping timeout: 264 seconds) 2017-03-10T23:09:03Z Ven joined #lisp 2017-03-10T23:11:03Z nirved quit (Quit: Leaving) 2017-03-10T23:11:40Z rumbler31 quit (Remote host closed the connection) 2017-03-10T23:16:56Z _rumbler31 quit (Remote host closed the connection) 2017-03-10T23:19:18Z Karl_Dscc quit (Remote host closed the connection) 2017-03-10T23:21:03Z prxq quit (Remote host closed the connection) 2017-03-10T23:29:44Z zygentoma quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-03-10T23:29:56Z EvW quit (Ping timeout: 240 seconds) 2017-03-10T23:30:02Z gingerale quit (Remote host closed the connection) 2017-03-10T23:33:07Z bmilk joined #lisp 2017-03-10T23:36:46Z mishoo quit (Ping timeout: 246 seconds) 2017-03-10T23:37:31Z rumbler31 joined #lisp 2017-03-10T23:38:59Z EvW joined #lisp 2017-03-10T23:39:32Z slark joined #lisp 2017-03-10T23:40:13Z Xach: clintm: what's the zazzle address? 2017-03-10T23:41:20Z Quadrescence quit (Ping timeout: 260 seconds) 2017-03-10T23:42:01Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-10T23:48:23Z smokeink joined #lisp 2017-03-10T23:53:05Z Ven quit (Ping timeout: 240 seconds) 2017-03-10T23:53:26Z pve quit (Ping timeout: 240 seconds) 2017-03-10T23:56:03Z Ven joined #lisp 2017-03-10T23:58:13Z |3b| quit (Remote host closed the connection) 2017-03-11T00:01:27Z the-blackbeard quit (Quit: Leaving) 2017-03-11T00:01:44Z edgar-rft is now known as again 2017-03-11T00:03:03Z again is now known as edgar-rft 2017-03-11T00:05:28Z varjag quit (Ping timeout: 246 seconds) 2017-03-11T00:18:26Z rumbler31 joined #lisp 2017-03-11T00:19:53Z LiamH quit (Ping timeout: 268 seconds) 2017-03-11T00:22:52Z rumbler31 quit (Ping timeout: 260 seconds) 2017-03-11T00:27:29Z |3b| joined #lisp 2017-03-11T00:30:22Z xhe joined #lisp 2017-03-11T00:37:28Z Ven quit (Ping timeout: 240 seconds) 2017-03-11T00:37:46Z EvW quit (Ping timeout: 268 seconds) 2017-03-11T00:38:52Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-11T00:40:09Z Ven joined #lisp 2017-03-11T00:41:31Z prole quit (Remote host closed the connection) 2017-03-11T00:45:57Z manuel_ quit (Quit: manuel_) 2017-03-11T00:48:56Z LiamH joined #lisp 2017-03-11T00:52:16Z vtomole joined #lisp 2017-03-11T00:54:48Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-11T01:04:08Z milanj quit (Quit: Leaving) 2017-03-11T01:07:59Z szmer quit (Quit: WeeChat 1.6) 2017-03-11T01:10:16Z manuel_ joined #lisp 2017-03-11T01:14:14Z impulse quit (Ping timeout: 256 seconds) 2017-03-11T01:18:30Z trocado quit (Quit: rcirc on GNU Emacs 25.1.1) 2017-03-11T01:18:53Z trocado joined #lisp 2017-03-11T01:26:04Z cromachina joined #lisp 2017-03-11T01:26:05Z jleija joined #lisp 2017-03-11T01:32:21Z rumbler31 joined #lisp 2017-03-11T01:39:19Z emaczen: How does #'length work for different sequence types? 2017-03-11T01:39:38Z emaczen: Or is it always constant time? 2017-03-11T01:41:03Z Bicyclidine: usually it will do something length-dependent for linked lists 2017-03-11T01:41:45Z Bicyclidine: probably faster than the obvious (defun length (list) (if (null list) 0 (1+ (length (cdr list))))), but the same basic idea 2017-03-11T01:44:31Z Einwq quit (Quit: Leaving) 2017-03-11T01:49:31Z FreeBirdLjj joined #lisp 2017-03-11T01:53:54Z pjb: (defgeneric length (x) (:method ((n null)) 0) (:method ((c cons)) (1+ (length (cdr c)))) (:method ((v vector)) (array-dimensions v 0))) 2017-03-11T01:54:45Z Bicyclidine: then (4 . #(5)) works weird. 2017-03-11T01:54:56Z pjb: :-) 2017-03-11T01:54:59Z pjb: right. 2017-03-11T01:55:09Z pmc joined #lisp 2017-03-11T01:55:17Z pjb: cdr consing… 2017-03-11T01:58:59Z terpri quit (Read error: Connection reset by peer) 2017-03-11T01:59:28Z terpri joined #lisp 2017-03-11T02:09:25Z neoncontrails quit (Remote host closed the connection) 2017-03-11T02:17:44Z rumbler31 quit (Remote host closed the connection) 2017-03-11T02:22:19Z Ven quit (Ping timeout: 246 seconds) 2017-03-11T02:25:07Z Ven joined #lisp 2017-03-11T02:25:25Z emaczen: If anyone remembers me yesterday talking about using #'subseq on large strings -- I rewrote the code to not copy anything and it is slower!! Any ideas? 2017-03-11T02:25:38Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-11T02:26:08Z emaczen: How much faster could I expect my code to be if I use declaim? 2017-03-11T02:26:14Z FreeBirdLjj joined #lisp 2017-03-11T02:27:26Z ffilozov joined #lisp 2017-03-11T02:30:29Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2017-03-11T02:35:08Z neoncontrails joined #lisp 2017-03-11T02:38:18Z rumbler31 joined #lisp 2017-03-11T02:40:15Z karswell quit (Remote host closed the connection) 2017-03-11T02:40:49Z karswell joined #lisp 2017-03-11T02:44:26Z FreeBirdLjj joined #lisp 2017-03-11T02:47:48Z slyrus joined #lisp 2017-03-11T02:51:35Z stardiviner joined #lisp 2017-03-11T02:54:10Z stardiviner quit (Client Quit) 2017-03-11T02:56:28Z fluter quit (Ping timeout: 240 seconds) 2017-03-11T02:56:51Z bocaneri joined #lisp 2017-03-11T03:01:46Z edgar-rft quit (Quit: edgar-rft) 2017-03-11T03:01:57Z slyrus quit (Ping timeout: 240 seconds) 2017-03-11T03:05:18Z adlai quit (Ping timeout: 256 seconds) 2017-03-11T03:07:53Z dddddd quit (Remote host closed the connection) 2017-03-11T03:08:15Z fluter joined #lisp 2017-03-11T03:10:55Z pmc quit (Quit: Leaving) 2017-03-11T03:11:49Z vtomole quit (Ping timeout: 260 seconds) 2017-03-11T03:12:36Z liead joined #lisp 2017-03-11T03:13:51Z krwq joined #lisp 2017-03-11T03:14:16Z _rumbler31 joined #lisp 2017-03-11T03:14:57Z trocado quit (Ping timeout: 240 seconds) 2017-03-11T03:16:58Z krwq: hey, I'm trying to do something like this: (let ((package-symbol (make-keyword (string-upcase "this-is-coming-from-an-arg")))) (in-package package-symbol)) but this is not working for me - seems like in-package isn't regular function. is there some easy way to do that? 2017-03-11T03:17:53Z Jesin quit (Ping timeout: 260 seconds) 2017-03-11T03:18:54Z _rumbler31 quit (Ping timeout: 256 seconds) 2017-03-11T03:21:23Z pnq joined #lisp 2017-03-11T03:22:17Z wtetzner quit (Remote host closed the connection) 2017-03-11T03:24:48Z desku quit (Ping timeout: 240 seconds) 2017-03-11T03:33:20Z jameser joined #lisp 2017-03-11T03:36:39Z rumbler31 quit (Remote host closed the connection) 2017-03-11T03:37:16Z jack_rabbit joined #lisp 2017-03-11T03:41:10Z Bicyclidine: krwq: (setf *package* whatever) 2017-03-11T03:41:46Z krwq: omg nice! Thanks Bicyclidine - i didn't know package is just a variable 2017-03-11T03:42:10Z Bicyclidine: yeah. in-package just sets it up to do it at compile time, which is usually what you want 2017-03-11T03:44:11Z Jesin joined #lisp 2017-03-11T03:48:46Z White_Flame: in-package is for changing the source code symbols to be READ into a different default package 2017-03-11T03:49:54Z White_Flame ponders how "READ" is pronounced in that situation. Past tense like "red" or should it be "READed"? 2017-03-11T03:50:08Z rumbler31 joined #lisp 2017-03-11T03:52:20Z Ven quit (Ping timeout: 256 seconds) 2017-03-11T03:54:28Z rumbler31 quit (Ping timeout: 240 seconds) 2017-03-11T03:55:28Z payphone quit (Ping timeout: 258 seconds) 2017-03-11T03:57:33Z Ven joined #lisp 2017-03-11T04:17:13Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-11T04:17:53Z quazimodo joined #lisp 2017-03-11T04:22:28Z defaultxr joined #lisp 2017-03-11T04:24:09Z wtetzner joined #lisp 2017-03-11T04:24:33Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-11T04:27:27Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-11T04:33:32Z neoncontrails quit (Remote host closed the connection) 2017-03-11T04:33:40Z wtetzner quit (Remote host closed the connection) 2017-03-11T04:34:24Z wheelsucker quit (Ping timeout: 260 seconds) 2017-03-11T04:35:43Z emaczen: What is a fast way to delete the first element from a vector? 2017-03-11T04:37:40Z Ven quit (Ping timeout: 256 seconds) 2017-03-11T04:38:30Z axion: depends how large they are 2017-03-11T04:38:34Z axion: maybe use an adjustable array so you don't have to copy everything? 2017-03-11T04:39:04Z krwq: emaczen: there is no fast way because you need to shift a stuff around. you can create a second vector with view on the first one 2017-03-11T04:39:47Z Jesin quit (Quit: Leaving) 2017-03-11T04:39:49Z krwq: that would create slower implementation of vector but would avoid iterating (not sure if worth it though) 2017-03-11T04:41:11Z Ven joined #lisp 2017-03-11T04:44:36Z Jesin joined #lisp 2017-03-11T04:44:58Z manuel_ quit (Quit: manuel_) 2017-03-11T04:46:01Z emaczen: the functions listed in slime-sprof-report are ranked by speed right? 2017-03-11T04:48:33Z ryanwatkins joined #lisp 2017-03-11T04:51:05Z LiamH quit (Ping timeout: 240 seconds) 2017-03-11T04:54:15Z payphone joined #lisp 2017-03-11T04:57:23Z neoncontrails joined #lisp 2017-03-11T05:04:47Z rk[ghost] quit (Ping timeout: 268 seconds) 2017-03-11T05:14:39Z quazimodo quit (Ping timeout: 268 seconds) 2017-03-11T05:20:38Z ryanwatkins quit (Remote host closed the connection) 2017-03-11T05:21:11Z Tex_Nick left #lisp 2017-03-11T05:22:57Z Ven quit (Ping timeout: 240 seconds) 2017-03-11T05:25:42Z Ven joined #lisp 2017-03-11T05:29:35Z pnq quit (Ping timeout: 240 seconds) 2017-03-11T05:30:54Z aeth: Fun fact: you can run any program within a Common Lisp .lisp file because you have control over the reader 2017-03-11T05:33:30Z aeth: In Brainfuck, all characters that do not have meaning are ignored and thus are treated as comments. Brainfuck does not use ()s or :s. Combined, this means that you can write a bilingual program in Brainfuck and Common Lisp as long as you either use code-char to express the Brainfuck symbols in Lisp or you import the Brainfuck interpreter from another file. 2017-03-11T05:36:26Z aeth: Well, not quite "bilingual program" because that has another meaning and is much more trivial. What I mean is, you can write a .lisp file that runs the same Brainfuck program on vanilla Common Lisp and on an existing Brainfuck interpreter or compiler, with the only difference being in Lisp you first write (or load) the interpreter. 2017-03-11T05:43:42Z aeth: Oh, you'd have to track the -s and then offset them with +s or avoid functions with - in the name so it wouldn't quite be so easy. 2017-03-11T05:44:48Z Bicyclidine: that's still pretty trivial by polygllot standards 2017-03-11T05:45:46Z aeth: right, what you'd do is you'd have the first cell start at the value of (- count-of-hyphens) and then start the program with +s to bring it back up to 0, so it would work both in vanilla Brainfuck interpreters/compilers and in the interpreter you write 2017-03-11T05:46:59Z aeth: It's a lot easier than having to work around [ or ] 2017-03-11T05:49:45Z ffilozov quit (Remote host closed the connection) 2017-03-11T05:50:57Z aeth: And if you're doing it from a dispatch-macro-character (let's say #f) you can just use the numerical prefix to stand for how many -s to offset for so: #12f++++++++++++ 2017-03-11T05:50:58Z Harag joined #lisp 2017-03-11T05:56:43Z neoncontrails quit (Remote host closed the connection) 2017-03-11T05:57:12Z vibs29 quit (Ping timeout: 268 seconds) 2017-03-11T06:00:28Z pjb quit (Ping timeout: 240 seconds) 2017-03-11T06:01:54Z vibs29 joined #lisp 2017-03-11T06:02:07Z beach: Good morning everyone! 2017-03-11T06:03:57Z aeth: Good morning beach 2017-03-11T06:08:28Z Bicyclidine quit (Ping timeout: 240 seconds) 2017-03-11T06:11:16Z jleija quit (Quit: leaving) 2017-03-11T06:11:49Z krwq: what time zone is that beach? it's 10PM here 2017-03-11T06:12:05Z beach: UTC+1 2017-03-11T06:12:24Z beach: Same as in the ELS location. 2017-03-11T06:13:19Z krwq: ELS? 2017-03-11T06:15:08Z beach: http://www.european-lisp-symposium.org/editions/2017/ 2017-03-11T06:19:08Z beach: krwq: I take it you are not planning to attend? 2017-03-11T06:22:39Z Karl_Dscc joined #lisp 2017-03-11T06:27:25Z Oladon quit (Read error: Connection reset by peer) 2017-03-11T06:27:40Z Karl_Dscc quit (Remote host closed the connection) 2017-03-11T06:28:00Z Oladon joined #lisp 2017-03-11T06:29:51Z krwq: beach: unfortunatelly it's pretty far from here, although on the other hand i have a sister in berlin 2017-03-11T06:30:10Z jameser joined #lisp 2017-03-11T06:30:22Z beach: I strongly encourage you to go. It is going to be better than ever this year. 2017-03-11T06:30:29Z FreeBirdLjj joined #lisp 2017-03-11T06:30:43Z teggi joined #lisp 2017-03-11T06:31:36Z fiddlerwoaroof: I'd love to attend ELS someday 2017-03-11T06:31:59Z krwq: i'm not sure what to expect - i feel like lisp newbie 2017-03-11T06:33:09Z beach: Conferences like that mainly serve the purpose of meeting other people with the same interest. The papers and the talks are interesting too, of course, but that's a secondary purpose. 2017-03-11T06:33:39Z krwq: fiddlerwoaroof: what's stopping you? btw i've tried qubes recently - still quite can't get a feeling how to use it properly though. 2017-03-11T06:34:29Z fiddlerwoaroof: time, money, and I'm expecting a new family member any day now. 2017-03-11T06:34:34Z BlueRavenGT quit (Ping timeout: 264 seconds) 2017-03-11T06:34:39Z krwq: congrats! 2017-03-11T06:34:53Z fiddlerwoaroof: thanks 2017-03-11T06:34:58Z jameser quit (Ping timeout: 256 seconds) 2017-03-11T06:39:16Z nirved joined #lisp 2017-03-11T06:39:58Z Harag quit (Remote host closed the connection) 2017-03-11T06:40:09Z Harag joined #lisp 2017-03-11T06:43:14Z beach: Brussels is much easier to get to than Kraków (where ELS was held last year), so I expect more people to come this year. Furthermore, submissions are up by 50%. And the co-location with the conference may very well attract more attendees as well. I think it is going to be great! 2017-03-11T06:44:06Z EvW joined #lisp 2017-03-11T06:55:48Z EvW quit (Ping timeout: 260 seconds) 2017-03-11T06:56:00Z emaczen: How do you modify a string that is passed into a function? I'm just trying to call setf inside the function, but it doesn't modify the string that I pass in... 2017-03-11T06:56:49Z beach: Sure it does. (setf (char argument 234) #\x) 2017-03-11T06:57:10Z vibs29 quit (Ping timeout: 258 seconds) 2017-03-11T06:59:03Z emaczen: beach: Maybe if the original string isn't a literal? 2017-03-11T06:59:22Z rjid joined #lisp 2017-03-11T06:59:25Z beach: You are not allowed to modify literal data. We discussed this the other day. 2017-03-11T07:01:14Z emaczen: beach: that's right 2017-03-11T07:01:26Z beach: If what I showed you doesn't modify the string you passed as an argument, then your implementation is defective. 2017-03-11T07:01:56Z vibs29 joined #lisp 2017-03-11T07:02:04Z rippa joined #lisp 2017-03-11T07:02:26Z emaczen: beach: give me a second to verify 2017-03-11T07:03:43Z nowhere_man quit (Ping timeout: 246 seconds) 2017-03-11T07:05:29Z emaczen: beach: I'm reading a file into a string and then passing this string to a method, then in that method I call setf on the string but it doesn't effect it for some reason. 2017-03-11T07:06:05Z beach: I don't believe you. Show the code of the method. 2017-03-11T07:06:20Z rjid quit (Ping timeout: 260 seconds) 2017-03-11T07:08:12Z emaczen: http://paste.lisp.org/+7B8P 2017-03-11T07:08:32Z beach: You have been using Common Lisp for more than two years. By now you should know that Common Lisp uses call-by-value, so that there is no relation between the parameter variable inside the function, and the variable that you gave as an argument. The VALUE of the argument (which is a reference to the string) is BOUND to the parameter variable inside the method. 2017-03-11T07:09:15Z beach: What you are doing is not modifying the string. You are assigning to the parameter variable, which is then immediately discarded when you exit the method. 2017-03-11T07:10:38Z emaczen: beach: I thought you told me that the pointers are passed by value and therefore they would be modified outside of the function scope; or is that only for vectors/array? 2017-03-11T07:12:21Z beach: Yes, the pointers are passed by value. So if you MODIFY the object pointed to, then the modification is visible outside the function. But here you don't. You assign to the variable containing the pointer. There is no relation between the variable used as a parameter and the argument you passed to the function, other than the fact that they contain the same value when the function is invoked. 2017-03-11T07:12:22Z White_Flame: strings are vectors 2017-03-11T07:13:49Z beach: emaczen: Here is an example using lists, but it's basically the same for strings: http://metamodular.com/cells.png 2017-03-11T07:14:51Z beach: emaczen: Think of *x* as being the parameter inside the function and *y* as being what you pass in. 2017-03-11T07:15:16Z beach: emaczen: If you modify the parameter, you get the first situation. If you modify the object, you get the second situation. 2017-03-11T07:16:21Z beach: emaczen: It is absolutely essential that you understand this, so if you don't, you should tell me. 2017-03-11T07:18:24Z edgar-rft joined #lisp 2017-03-11T07:18:31Z emaczen: beach: Give me a second. 2017-03-11T07:19:43Z emaczen: beach: how do you get at the underlying pointer? 2017-03-11T07:19:55Z beach: ? 2017-03-11T07:20:20Z beach: The parameter variable contains the pointer as its value. 2017-03-11T07:24:33Z emaczen: beach: I've programmed with C strings before, so I understand the concepts/ideas but I don't really grasp much from this picture. 2017-03-11T07:25:43Z beach: OK, hold on. C uses call by value as well. If you have int f(int x) { x = 234; return 333;} and you call it like this y = 10; f(y); 2017-03-11T07:25:49Z beach: What is the value of y after the call? 2017-03-11T07:26:24Z emaczen: 10 2017-03-11T07:26:29Z vlatkoB joined #lisp 2017-03-11T07:26:35Z beach: And this is exactly what you are doing here. 2017-03-11T07:26:52Z beach: (setf string ...) is the equivalent of x = ... 2017-03-11T07:27:30Z emaczen: beach: yes, I vaguely remember passing pointers of pointers to get around this problem. 2017-03-11T07:27:43Z emaczen: Can I do something like that? 2017-03-11T07:27:48Z beach: Problem? It is not a problem. 2017-03-11T07:28:01Z beach: Nearly all programming langauges work like that. 2017-03-11T07:29:37Z beach: http://metamodular.com/strings.png 2017-03-11T07:29:47Z beach: This is what you are doing in your example. 2017-03-11T07:29:56Z beach: The top-left box is the argument variable. 2017-03-11T07:30:05Z White_Flame: what's the intend of the code? it checks a prefix, copies out some subseq into a new string, then copies out again, and returns that value 2017-03-11T07:30:09Z White_Flame: *intent 2017-03-11T07:30:21Z beach: The bottom-left box is the variable STRING inside the method. 2017-03-11T07:31:00Z jameser joined #lisp 2017-03-11T07:31:37Z emaczen: beach: I remember using the & operator to get the address of the pointer I passed in, which would then let me do x = 234 or something like that and then see the change outside of the function. 2017-03-11T07:31:40Z Joreji joined #lisp 2017-03-11T07:31:53Z beach: emaczen: There is no equivalent in Common Lisp. 2017-03-11T07:32:04Z beach: emaczen: The simple solution is to take the value of the call to the generic function and assign it to the original variable. 2017-03-11T07:32:14Z beach: (setf var (fun var)) 2017-03-11T07:32:18Z pjb joined #lisp 2017-03-11T07:33:32Z emaczen: White_Flame: the function has to return the header (the prefix) and then modify the string to be the remainder 2017-03-11T07:33:43Z emaczen: White_Flame: I have a specialization for vector 2017-03-11T07:34:13Z White_Flame: it would be a lot better to return (values prefix remainder) 2017-03-11T07:35:02Z White_Flame: if you want to replace a portion of a string destructively, it's (setf (subseq string start [end]) other) 2017-03-11T07:35:03Z emaczen: White_Flame: That is what I was doing previously, but I changed it because I was having efficiency issues 2017-03-11T07:35:28Z White_Flame: but doing that with strings is kind of dangerous if there are literals involved 2017-03-11T07:35:53Z White_Flame: there are examples of this right here: http://www.lispworks.com/documentation/HyperSpec/Body/f_subseq.htm 2017-03-11T07:36:02Z White_Flame: of setting a subsequence 2017-03-11T07:36:21Z White_Flame: (although it is mutating a literal) 2017-03-11T07:36:22Z jameser quit (Ping timeout: 264 seconds) 2017-03-11T07:36:45Z pjb: emaczen: (incf start) is the fastest way to "delete" the first element of a vector. 2017-03-11T07:37:03Z pjb: emaczen: this is the purpose of those :start :end keyword to most sequence functions in CL. 2017-03-11T07:37:38Z White_Flame: and yeah, if you're going to be streaming over a large input string, with a notion of consuming some & looping on the rest, bump indexes like that 2017-03-11T07:37:50Z pjb: emaczen: the second fastest way is :displaced-to :displaced-index-offset parameters of make-array. 2017-03-11T07:37:54Z White_Flame: that's what C does, after all 2017-03-11T07:38:00Z emaczen: (delete (elt vector 0) vector :count 1) -- is what I have -- it is slow 2017-03-11T07:38:26Z White_Flame: sure, think of what happens when the string is long 2017-03-11T07:39:16Z pjb: emaczen: obviously. delete is O(length(vector)). 2017-03-11T07:40:13Z pjb: emaczen: the third fastest, is to use a reversed vector with fill-pointer and (decf (fill-pointer vector)). 2017-03-11T07:40:40Z White_Flame: don't you think that third option would be faster than the second? 2017-03-11T07:41:07Z emaczen: pjb: how much faster will displaced arrays be? I think I understand displaced arrays as convenient offsets. 2017-03-11T07:41:45Z pjb: emaczen: it depends on your access patterns, how many times you will have to delete the first element, what you will do with the array later. 2017-03-11T07:42:25Z pjb: emaczen: I have a nudge-displaced-vector which lets you do all kind of alterations on a displaced vector conveniently. 2017-03-11T07:42:30Z emaczen: pjb: I'm taking the first n elements of the array until it is empty 2017-03-11T07:42:52Z pjb: and processing the rest of the vector? Or just eating the elements? 2017-03-11T07:43:13Z emaczen: just eating 2017-03-11T07:43:21Z pjb: the just keep a current index and increment it. 2017-03-11T07:43:24Z pjb: then 2017-03-11T07:43:33Z schjetne joined #lisp 2017-03-11T07:43:42Z pjb: You can even use (loop for element across vector do (process element)) 2017-03-11T07:44:04Z White_Flame: he's dealing with prefixes, not the individual characters 2017-03-11T07:44:08Z White_Flame: so offsets maek the most sense 2017-03-11T07:44:16Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-11T07:44:29Z White_Flame: displaced arrays are just a slower version of displacements, and the code would probably be larger 2017-03-11T07:44:37Z White_Flame: *of manual displacements 2017-03-11T07:44:47Z pjb: emaczen: for prefixes then use a end index: (loop for end below (length v) do (process v :start 0 :end end)) 2017-03-11T07:44:54Z White_Flame: displaced arrays need to support multiple dimensions and all sorts of stuff, thus aren't often very optimized even in simpler cases 2017-03-11T07:45:33Z pjb: White_Flame: notice that they only deal with contiguous cells, so they're very optimized. 2017-03-11T07:46:00Z pjb: ie. you couldn't do faster, unless you access patterns allows you to amortize a copy. 2017-03-11T07:47:12Z uczy joined #lisp 2017-03-11T07:47:51Z White_Flame: ah, you're right. I think I might have been thinking of graphics arrays from genera or something 2017-03-11T07:48:10Z uczy: A function is called with call/cc and invokes the continuation. Now, control is back at the original function. The original function changes a variable value in its environment and call/cc's (resumes) the function again. Now, from the view of this function, has the variable value changed as well? Is the parent environment mutable or immutable? 2017-03-11T07:48:45Z Petit_Dejeuner: The variable has changed. 2017-03-11T07:48:58Z Petit_Dejeuner: iirc, call/cc will not unmutate state 2017-03-11T07:49:22Z White_Flame: uczy: might want to try #scheme, this is for Common Lisp 2017-03-11T07:49:29Z Petit_Dejeuner: You can add a special barrier to do that manually if you'd like, but that would typically only be used for opening and closing a file or some other similar resource. 2017-03-11T07:49:49Z White_Flame: (also, that sounds suspiciously like a verbatim homework question...) 2017-03-11T07:49:52Z Petit_Dejeuner: Oh, this isn't Scheme. 2017-03-11T07:49:53Z uczy: nope 2017-03-11T07:50:07Z White_Flame: ok then :) 2017-03-11T07:50:19Z White_Flame: still, #scheme would be the place 2017-03-11T07:50:24Z Petit_Dejeuner: ^ 2017-03-11T07:50:30Z uczy: not a homework question. I wish I would learn these language in college ;) 2017-03-11T07:50:31Z Petit_Dejeuner: #lisp is for Common Lisp 2017-03-11T07:50:53Z uczy: Will go there. Thank you! 2017-03-11T07:50:58Z Petit_Dejeuner: best 2017-03-11T07:51:11Z pjb: For example, it would seem logical to encapsulate vector start end into a structure and to pass that structure along to your functions instead of having to deal all the time with the five arguments vector :start start :end end (and the assumedly slower parameter parsing of keyword parameters). I'd bet that a displaced array will soon be much faster than either your own struct or the manual star/end passing, if you do that a lot. 2017-03-11T07:52:44Z schjetne_ joined #lisp 2017-03-11T07:52:50Z emaczen: All of these solutions I think require a lot of design changes -- What do you think about lazy sequences instead? 2017-03-11T07:53:06Z schjetne quit (Read error: Connection reset by peer) 2017-03-11T07:53:16Z uczy left #lisp 2017-03-11T07:53:39Z White_Flame: pjb: a lot also depends on how much bounds checking displaced arrays do. They'd have to check their own, and then check the backing array 2017-03-11T07:54:12Z White_Flame: if you directly have the starting point, there's just 1 direct offset, with no extra math to displace 2017-03-11T07:54:16Z pjb: Well displaced arrays also have the great advantage that it's a drop in solution that works with any existing code (apart from the anal programmers who check for simple-arrays). 2017-03-11T07:54:24Z White_Flame: yep 2017-03-11T07:54:36Z White_Flame: but if you're just chunking over a single vector, I don't think it makes much sense 2017-03-11T07:56:05Z schjetne joined #lisp 2017-03-11T07:56:16Z impulse joined #lisp 2017-03-11T07:56:19Z schjetne_ quit (Read error: Connection reset by peer) 2017-03-11T07:58:04Z Joreji quit (Ping timeout: 268 seconds) 2017-03-11T07:58:11Z pjb: White_Flame: I think you can worry if you are displacing an array to an adjustable displacing array displacing to an adjustable displaced array that is displacing to an adjustable displaced array, etc. 2017-03-11T07:58:46Z White_Flame: I wonder if sbcl does circularity detection on that... 2017-03-11T07:58:54Z White_Flame: the spec doesn't mention that loophole iirc 2017-03-11T08:00:11Z pjb: And while it clearly state that the displacement is relative to the first element of the chain, I think that nothing prevent an implementation to flatten the chain if the arrays are not adjustable. 2017-03-11T08:00:53Z White_Flame: yep, it spins a core on adjust-array which creates the circularity 2017-03-11T08:00:59Z White_Flame: was wondering if it would spin on that, or on aref 2017-03-11T08:01:15Z krwq quit (Remote host closed the connection) 2017-03-11T08:01:19Z White_Flame: but it does do bounds on checking on displacement creation time, so has to scan through the list 2017-03-11T08:01:25Z pjb: Yes. 2017-03-11T08:01:55Z White_Flame: and of course C-c C-c isn't doing anything in SLIME :-P 2017-03-11T08:02:14Z schjetne quit (Ping timeout: 256 seconds) 2017-03-11T08:03:04Z White_Flame: huh, it took a -9 to actually kill it 2017-03-11T08:04:35Z Joreji joined #lisp 2017-03-11T08:04:40Z pjb: It must mask interrupt / ignore signals to prevent GC during these checks. 2017-03-11T08:11:51Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-11T08:13:00Z schjetne joined #lisp 2017-03-11T08:16:35Z xmonader joined #lisp 2017-03-11T08:16:39Z mishoo joined #lisp 2017-03-11T08:17:32Z schjetne quit (Read error: Connection reset by peer) 2017-03-11T08:17:47Z angavrilov joined #lisp 2017-03-11T08:17:59Z schjetne joined #lisp 2017-03-11T08:22:08Z nirved quit (Ping timeout: 240 seconds) 2017-03-11T08:23:59Z Ven quit (Ping timeout: 260 seconds) 2017-03-11T08:26:42Z Ven joined #lisp 2017-03-11T08:28:46Z Joreji quit (Ping timeout: 246 seconds) 2017-03-11T08:34:05Z beach: emaczen: This is getting boring. For the past few days you have come here with essentially the same problem. You have been given many solutions that you systematically reject. Why are you not using displaced arrays as you have been recommended several times? 2017-03-11T08:37:19Z pjb: And if it's a problem of optimization, all you can do is to implement all the solutions and measure them in your application. 2017-03-11T08:37:26Z rumbler31 joined #lisp 2017-03-11T08:40:20Z Ven quit (Ping timeout: 260 seconds) 2017-03-11T08:41:25Z slark quit (Ping timeout: 260 seconds) 2017-03-11T08:41:32Z grublet joined #lisp 2017-03-11T08:41:51Z rumbler31 quit (Ping timeout: 268 seconds) 2017-03-11T08:42:01Z Ven joined #lisp 2017-03-11T08:43:32Z FreeBirdLjj joined #lisp 2017-03-11T08:43:59Z ryanwatkins joined #lisp 2017-03-11T08:46:30Z ryanwatkins quit (Remote host closed the connection) 2017-03-11T08:46:56Z ryanwatkins joined #lisp 2017-03-11T08:49:46Z defaultxr quit (Ping timeout: 246 seconds) 2017-03-11T08:51:31Z pve joined #lisp 2017-03-11T08:52:45Z schjetne quit (Read error: Connection reset by peer) 2017-03-11T08:52:46Z schjetne_ joined #lisp 2017-03-11T08:56:32Z Karl_Dscc joined #lisp 2017-03-11T09:04:34Z emaczen quit (Ping timeout: 264 seconds) 2017-03-11T09:04:52Z Karl_Dscc quit (Remote host closed the connection) 2017-03-11T09:13:45Z Joreji joined #lisp 2017-03-11T09:15:05Z beach: Hmm, in SBCL, it is much faster to create new displaced arrays each time, rather than calling ADJUST-ARRAY on one displaced array. 2017-03-11T09:15:27Z edgar-rft quit (Quit: edgar-rft) 2017-03-11T09:23:38Z sbodin joined #lisp 2017-03-11T09:25:36Z Ven quit (Ping timeout: 260 seconds) 2017-03-11T09:25:55Z gingerale joined #lisp 2017-03-11T09:27:49Z Ven joined #lisp 2017-03-11T09:29:04Z shifty joined #lisp 2017-03-11T09:33:26Z __main__ quit (Ping timeout: 240 seconds) 2017-03-11T09:33:31Z jfb4 quit (Ping timeout: 246 seconds) 2017-03-11T09:35:48Z jfb4 joined #lisp 2017-03-11T09:40:05Z Ven quit (Ping timeout: 240 seconds) 2017-03-11T09:42:14Z schjetne_ quit (Read error: Connection reset by peer) 2017-03-11T09:42:29Z Ven joined #lisp 2017-03-11T09:42:53Z schjetne joined #lisp 2017-03-11T09:45:32Z d4ryus quit (Quit: WeeChat 1.7) 2017-03-11T09:46:29Z __main__ joined #lisp 2017-03-11T09:46:56Z Harag quit (Ping timeout: 240 seconds) 2017-03-11T09:47:49Z d4ryus joined #lisp 2017-03-11T09:48:37Z gingerale quit (Read error: Connection reset by peer) 2017-03-11T09:48:44Z schjetne_ joined #lisp 2017-03-11T09:48:49Z schjetne quit (Read error: Connection reset by peer) 2017-03-11T09:49:37Z nirved joined #lisp 2017-03-11T09:50:11Z Harag joined #lisp 2017-03-11T09:50:46Z beach: minion: memo for emaczen: Something like this: http://paste.lisp.org/display/341177 2017-03-11T09:50:47Z minion: Remembered. I'll tell emaczen when he/she/it next speaks. 2017-03-11T09:52:16Z |3b| quit (Remote host closed the connection) 2017-03-11T09:52:21Z knicklux joined #lisp 2017-03-11T09:52:30Z shka_ joined #lisp 2017-03-11T09:56:51Z beach: Pretty spectacular difference. But that's because FF has quadratic complexity and the string is pretty long. 2017-03-11T10:00:06Z schjetne_ quit (Ping timeout: 256 seconds) 2017-03-11T10:03:27Z jfb4 quit (Ping timeout: 240 seconds) 2017-03-11T10:03:47Z pjb quit (Remote host closed the connection) 2017-03-11T10:04:50Z aries_liuxueyang joined #lisp 2017-03-11T10:05:08Z aries_liuxueyang: hello 2017-03-11T10:05:16Z beach: Hello aries_liuxueyang. 2017-03-11T10:05:26Z aries_liuxueyang: I tried to install Clinch in macOS. (ql:quickload :clinch). But there failed. Here is the backtrace http://paste.lisp.org/display/341174 I have already installed sdl2 using brew. 2017-03-11T10:05:29Z pjb joined #lisp 2017-03-11T10:05:45Z jfb4 joined #lisp 2017-03-11T10:06:50Z aries_liuxueyang: This happens when I install other packages in quicklisp. 2017-03-11T10:07:46Z aries_liuxueyang: Is it possible to install Clinch in macoS? 2017-03-11T10:08:03Z beach: aries_liuxueyang: I think it is because ASDF recently fails when there is a warning during compilation. 2017-03-11T10:08:28Z beach: aries_liuxueyang: Perhaps the author of that software did not care so much about warnings. 2017-03-11T10:09:24Z beach: Try executing this first: (setf asdf:*compile-file-failure-behaviour* :ignore) 2017-03-11T10:10:26Z jfb4 quit (Ping timeout: 240 seconds) 2017-03-11T10:12:20Z jfb4 joined #lisp 2017-03-11T10:13:13Z aries_liuxueyang: beach: Thank you so much! I tried and installed with success. http://paste.lisp.org/display/341181 But there is a `ERROR` in log. Does that matter 2017-03-11T10:13:35Z beach: Don't know. Sorry. 2017-03-11T10:13:58Z aries_liuxueyang: beach: Thank you! 2017-03-11T10:14:05Z beach: Did it help? 2017-03-11T10:14:22Z aries_liuxueyang: of course. 2017-03-11T10:14:44Z beach: Great! 2017-03-11T10:19:30Z beach wonders why ASDF uses UK spelling for its variables. 2017-03-11T10:19:56Z mishoo quit (Ping timeout: 256 seconds) 2017-03-11T10:23:28Z aries_liuxueyang quit (Remote host closed the connection) 2017-03-11T10:24:36Z rumbler31 joined #lisp 2017-03-11T10:25:40Z pjb quit (Remote host closed the connection) 2017-03-11T10:26:57Z nowhere_man joined #lisp 2017-03-11T10:29:10Z rumbler31 quit (Ping timeout: 264 seconds) 2017-03-11T10:33:02Z varjag joined #lisp 2017-03-11T10:40:15Z okflo joined #lisp 2017-03-11T10:40:52Z nowhere_man quit (Ping timeout: 268 seconds) 2017-03-11T10:42:38Z nowhere_man joined #lisp 2017-03-11T10:49:32Z myrkraverk quit (Remote host closed the connection) 2017-03-11T10:51:49Z g0d355__ joined #lisp 2017-03-11T10:54:58Z nowhere_man quit (Read error: Connection reset by peer) 2017-03-11T10:55:05Z Ven quit (Ping timeout: 240 seconds) 2017-03-11T10:55:18Z nowhere_man joined #lisp 2017-03-11T10:59:59Z krasnal quit (Ping timeout: 268 seconds) 2017-03-11T11:00:17Z emaczen joined #lisp 2017-03-11T11:00:32Z rumbler31 joined #lisp 2017-03-11T11:02:18Z Ven joined #lisp 2017-03-11T11:05:16Z rumbler31 quit (Ping timeout: 256 seconds) 2017-03-11T11:11:10Z Ven quit (Ping timeout: 264 seconds) 2017-03-11T11:11:27Z sunnny joined #lisp 2017-03-11T11:15:16Z pjb joined #lisp 2017-03-11T11:16:53Z splittist: beach: good taste? hipster cred? because Dan is English? 2017-03-11T11:17:41Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-11T11:17:53Z Petit_Dejeuner starts writing patches that s/colour/color. 2017-03-11T11:18:59Z nowhere_man quit (Ping timeout: 258 seconds) 2017-03-11T11:20:42Z pjb: beach: I'm not too surprised about it, given that the size of a displaced array in memory shall be only a few words. 2017-03-11T11:21:17Z pjb: subseq will even be more efficient, as long as the length of the resulting array is within those few words. 2017-03-11T11:21:48Z myrkraverk joined #lisp 2017-03-11T11:22:06Z Ven joined #lisp 2017-03-11T11:23:00Z Ven quit (Read error: Connection reset by peer) 2017-03-11T11:25:33Z krasnal joined #lisp 2017-03-11T11:31:08Z varjag quit (Ping timeout: 260 seconds) 2017-03-11T11:34:07Z jameser joined #lisp 2017-03-11T11:36:50Z beach: splittist: I was more thinking of Fare. I don't think Dan created that variable. 2017-03-11T11:38:51Z beach: pjb: Yeah, given the quadratic algorithm in the first case, it is bound to be very slow. 2017-03-11T11:39:04Z jameser quit (Ping timeout: 260 seconds) 2017-03-11T11:41:20Z xmonader quit (Remote host closed the connection) 2017-03-11T11:42:06Z Ven joined #lisp 2017-03-11T11:44:05Z shifty quit (Ping timeout: 240 seconds) 2017-03-11T11:44:47Z lambda-smith joined #lisp 2017-03-11T11:45:05Z neoncontrails joined #lisp 2017-03-11T11:49:16Z Joreji quit (Ping timeout: 258 seconds) 2017-03-11T11:56:06Z Ven quit (Ping timeout: 268 seconds) 2017-03-11T11:57:16Z neoncontrails quit (Remote host closed the connection) 2017-03-11T12:01:53Z Ven joined #lisp 2017-03-11T12:12:22Z Ven quit (Ping timeout: 264 seconds) 2017-03-11T12:12:55Z d4ryus1 joined #lisp 2017-03-11T12:13:24Z varjag joined #lisp 2017-03-11T12:13:56Z nowhere_man joined #lisp 2017-03-11T12:14:24Z EvW1 joined #lisp 2017-03-11T12:15:56Z d4ryus quit (Ping timeout: 260 seconds) 2017-03-11T12:21:51Z Ven joined #lisp 2017-03-11T12:23:33Z Ven quit (Read error: Connection reset by peer) 2017-03-11T12:24:45Z Karl_Dscc joined #lisp 2017-03-11T12:30:18Z quazimodo joined #lisp 2017-03-11T12:34:07Z himmAllRight quit (Ping timeout: 246 seconds) 2017-03-11T12:35:08Z varjag quit (Ping timeout: 240 seconds) 2017-03-11T12:37:56Z pickle_ joined #lisp 2017-03-11T12:37:57Z rumbler31 joined #lisp 2017-03-11T12:38:10Z pickle_ left #lisp 2017-03-11T12:38:44Z edgar-rft joined #lisp 2017-03-11T12:42:10Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-11T12:42:11Z Ven joined #lisp 2017-03-11T12:45:13Z salv0 quit (Remote host closed the connection) 2017-03-11T12:47:26Z jameser joined #lisp 2017-03-11T12:47:51Z Karl_Dscc quit (Remote host closed the connection) 2017-03-11T12:52:56Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-11T12:56:03Z manuel_ joined #lisp 2017-03-11T12:56:52Z jameser joined #lisp 2017-03-11T12:56:58Z Ven quit (Ping timeout: 260 seconds) 2017-03-11T12:58:57Z Karl_Dscc joined #lisp 2017-03-11T13:01:51Z Ven joined #lisp 2017-03-11T13:03:43Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-11T13:07:11Z Karl_Dscc quit (Remote host closed the connection) 2017-03-11T13:08:56Z cibs quit (Ping timeout: 240 seconds) 2017-03-11T13:09:05Z jameser quit (Max SendQ exceeded) 2017-03-11T13:09:24Z varjag joined #lisp 2017-03-11T13:10:20Z jameser joined #lisp 2017-03-11T13:10:48Z cibs joined #lisp 2017-03-11T13:12:26Z Ven quit (Ping timeout: 240 seconds) 2017-03-11T13:14:26Z raynold quit (Quit: Connection closed for inactivity) 2017-03-11T13:21:44Z Ven joined #lisp 2017-03-11T13:23:45Z Ven quit (Read error: Connection reset by peer) 2017-03-11T13:24:20Z the-blackbeard joined #lisp 2017-03-11T13:24:21Z varjag: is there a way to specify optional/"soft" system dependency in asdf? 2017-03-11T13:25:38Z varjag: e.g. i have a function that can use a cffi call or a default value if cffi not available 2017-03-11T13:25:50Z varjag: but not sure i can make cffi optional anyway 2017-03-11T13:26:52Z Bicyclidine joined #lisp 2017-03-11T13:27:05Z LiamH joined #lisp 2017-03-11T13:27:43Z zygentoma joined #lisp 2017-03-11T13:30:51Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-11T13:39:11Z desku joined #lisp 2017-03-11T13:39:27Z grublet quit (Ping timeout: 240 seconds) 2017-03-11T13:40:45Z jameser joined #lisp 2017-03-11T13:41:12Z Bicyclidine quit (Ping timeout: 258 seconds) 2017-03-11T13:41:50Z Ven joined #lisp 2017-03-11T13:44:28Z manuel_ quit (Ping timeout: 246 seconds) 2017-03-11T13:45:44Z pjb: varjag: AFAIK, nope. But you can do it in a source file. 2017-03-11T13:46:27Z pjb: varjag: also, systems may load without providing the feature. eg, bordeaux-threads. So you can still have it in a dependency, by :bordeaux-thread won't be in *features*. 2017-03-11T13:47:54Z DGASAU quit (Ping timeout: 256 seconds) 2017-03-11T13:48:46Z varjag: well cffi does produce a feature 2017-03-11T13:49:17Z pjb: assuming it is not pushed when cffi is not available on that platform, then you can keep it as a dependency and use #+cffi #-cffi 2017-03-11T13:49:20Z DGASAU joined #lisp 2017-03-11T13:49:33Z knoboa joined #lisp 2017-03-11T13:49:56Z varjag: yes but then i need a separate .asd for the said platform 2017-03-11T13:50:04Z pjb: Nope. 2017-03-11T13:50:13Z varjag: hm 2017-03-11T13:50:43Z pjb: You just load cffi, cffi detects that it hasn't any backend for that platform and therefore it won't push :cffi on *features*. Then you will use #+cffi #-cffi to provide alternatives. 2017-03-11T13:50:58Z pjb: At least, this is how it works for bordeaux-threads. 2017-03-11T13:51:06Z varjag: i see 2017-03-11T13:52:23Z quazimodo quit (Ping timeout: 260 seconds) 2017-03-11T13:52:40Z varjag: still it means that e.g. for mezzano i have to provide cffi just to satisfy a dep 2017-03-11T13:52:55Z pjb: Yes. 2017-03-11T13:53:04Z varjag: which will sure never ever initialize, but 2017-03-11T13:53:13Z pjb: You can provide a pseudo-system. 2017-03-11T13:53:18Z varjag: maybe it's easier to just have a fake package 2017-03-11T13:53:21Z pjb: Yes. 2017-03-11T13:53:34Z varjag: fair enough 2017-03-11T13:53:44Z varjag: i had faux-bordeaux there for a while 2017-03-11T13:54:19Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-11T13:56:22Z knoboa quit (Ping timeout: 246 seconds) 2017-03-11T13:56:26Z EvW1 quit (Ping timeout: 240 seconds) 2017-03-11T13:56:38Z jameser joined #lisp 2017-03-11T13:58:16Z Ven quit (Read error: Connection reset by peer) 2017-03-11T13:59:52Z TDT joined #lisp 2017-03-11T13:59:58Z ryanwatkins quit (Ping timeout: 260 seconds) 2017-03-11T14:00:33Z EvW joined #lisp 2017-03-11T14:01:20Z John[Lisbeth] joined #lisp 2017-03-11T14:01:31Z Ven joined #lisp 2017-03-11T14:10:51Z raynold joined #lisp 2017-03-11T14:11:25Z Ven quit (Ping timeout: 246 seconds) 2017-03-11T14:13:31Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-11T14:19:25Z keutoi joined #lisp 2017-03-11T14:21:26Z Ven joined #lisp 2017-03-11T14:22:08Z varjag: ok, what :weakly-depends-on does in asdf? 2017-03-11T14:23:13Z manuel_ joined #lisp 2017-03-11T14:23:37Z varjag: "ASDF4: deprecate this feature and remove it." 2017-03-11T14:23:42Z varjag: bad idea anyway i guess 2017-03-11T14:24:25Z varjag: but it seems to do exactly what i wanted 2017-03-11T14:24:45Z Ven quit (Read error: Connection reset by peer) 2017-03-11T14:25:56Z rumbler31 joined #lisp 2017-03-11T14:29:08Z TDT quit (Quit: TDT) 2017-03-11T14:29:23Z manuel__ joined #lisp 2017-03-11T14:30:18Z manuel_ quit (Ping timeout: 260 seconds) 2017-03-11T14:30:19Z manuel__ is now known as manuel_ 2017-03-11T14:34:57Z EvW quit (Ping timeout: 240 seconds) 2017-03-11T14:37:49Z m00natic joined #lisp 2017-03-11T14:39:24Z monadicDuck quit (Remote host closed the connection) 2017-03-11T14:41:36Z Ven joined #lisp 2017-03-11T14:43:06Z cross quit (Remote host closed the connection) 2017-03-11T14:44:24Z TDT joined #lisp 2017-03-11T14:45:36Z m00natic quit (Remote host closed the connection) 2017-03-11T14:47:39Z jameser joined #lisp 2017-03-11T14:47:43Z djuber quit (Read error: Connection reset by peer) 2017-03-11T14:48:50Z grublet joined #lisp 2017-03-11T14:49:04Z lnostdal joined #lisp 2017-03-11T14:49:14Z beatdown quit (Quit: Error 666: Connection terminated by the underworld.) 2017-03-11T14:49:21Z teggi quit (Remote host closed the connection) 2017-03-11T14:49:59Z teggi joined #lisp 2017-03-11T14:50:29Z szmer joined #lisp 2017-03-11T14:50:34Z beatdown joined #lisp 2017-03-11T14:54:08Z teggi quit (Ping timeout: 240 seconds) 2017-03-11T14:56:42Z |3b| joined #lisp 2017-03-11T14:57:29Z Ven quit (Ping timeout: 258 seconds) 2017-03-11T14:59:52Z okflo` joined #lisp 2017-03-11T15:00:12Z gingerale joined #lisp 2017-03-11T15:01:18Z Ven joined #lisp 2017-03-11T15:02:06Z rumbler31 quit (Remote host closed the connection) 2017-03-11T15:02:18Z beatdown quit (Quit: Error 666: Connection terminated by the underworld.) 2017-03-11T15:03:34Z manuel_ quit (Ping timeout: 246 seconds) 2017-03-11T15:03:45Z manuel_ joined #lisp 2017-03-11T15:03:58Z okflo quit (Ping timeout: 264 seconds) 2017-03-11T15:04:26Z rumbler31 joined #lisp 2017-03-11T15:06:25Z wtetzner joined #lisp 2017-03-11T15:07:24Z manuel__ joined #lisp 2017-03-11T15:08:08Z Harag1 joined #lisp 2017-03-11T15:08:48Z Karl_Dscc joined #lisp 2017-03-11T15:09:04Z Harag quit (Ping timeout: 260 seconds) 2017-03-11T15:09:05Z Harag1 is now known as Harag 2017-03-11T15:09:06Z TDT quit (Quit: TDT) 2017-03-11T15:09:07Z manuel_ quit (Ping timeout: 268 seconds) 2017-03-11T15:10:31Z plof joined #lisp 2017-03-11T15:11:34Z mejja joined #lisp 2017-03-11T15:12:00Z manuel_ joined #lisp 2017-03-11T15:12:20Z manuel__ quit (Ping timeout: 256 seconds) 2017-03-11T15:12:26Z Ven quit (Ping timeout: 258 seconds) 2017-03-11T15:16:19Z manuel__ joined #lisp 2017-03-11T15:16:28Z manuel_ quit (Ping timeout: 240 seconds) 2017-03-11T15:16:28Z manuel__ is now known as manuel_ 2017-03-11T15:21:12Z xhe quit (Quit: leaving) 2017-03-11T15:21:15Z Ven joined #lisp 2017-03-11T15:21:22Z manuel_ quit (Ping timeout: 264 seconds) 2017-03-11T15:21:25Z manuel__ joined #lisp 2017-03-11T15:25:25Z loke joined #lisp 2017-03-11T15:26:20Z manuel__ quit (Ping timeout: 260 seconds) 2017-03-11T15:26:24Z manuel_ joined #lisp 2017-03-11T15:27:38Z Ven quit (Ping timeout: 256 seconds) 2017-03-11T15:32:39Z Karl_Dscc quit (Remote host closed the connection) 2017-03-11T15:33:55Z wiselord quit (Quit: Lost terminal) 2017-03-11T15:34:43Z smokeink quit (Quit: Lost terminal) 2017-03-11T15:38:03Z rumbler3_ joined #lisp 2017-03-11T15:38:06Z prole joined #lisp 2017-03-11T15:41:32Z Ven joined #lisp 2017-03-11T15:42:05Z rumbler3_ quit (Ping timeout: 240 seconds) 2017-03-11T15:49:57Z Harag quit (Ping timeout: 240 seconds) 2017-03-11T15:49:59Z plof quit (Quit: WeeChat 1.7) 2017-03-11T15:51:17Z Harag joined #lisp 2017-03-11T15:55:12Z Karl_Dscc joined #lisp 2017-03-11T15:57:56Z Ven quit (Ping timeout: 240 seconds) 2017-03-11T16:02:29Z Ven joined #lisp 2017-03-11T16:02:56Z manuel__ joined #lisp 2017-03-11T16:03:02Z manuel_ quit (Ping timeout: 258 seconds) 2017-03-11T16:03:02Z manuel__ is now known as manuel_ 2017-03-11T16:03:12Z sbodin quit (Ping timeout: 260 seconds) 2017-03-11T16:03:39Z shifty joined #lisp 2017-03-11T16:04:26Z Karl_Dscc quit (Remote host closed the connection) 2017-03-11T16:06:56Z loke quit (Ping timeout: 260 seconds) 2017-03-11T16:07:35Z manuel_ quit (Ping timeout: 240 seconds) 2017-03-11T16:07:43Z manuel_ joined #lisp 2017-03-11T16:11:16Z Ven quit (Ping timeout: 256 seconds) 2017-03-11T16:11:34Z manuel__ joined #lisp 2017-03-11T16:12:26Z manuel_ quit (Ping timeout: 240 seconds) 2017-03-11T16:13:36Z sbodin joined #lisp 2017-03-11T16:13:37Z manuel_ joined #lisp 2017-03-11T16:15:27Z BlueRavenGT joined #lisp 2017-03-11T16:16:44Z manuel__ quit (Ping timeout: 260 seconds) 2017-03-11T16:17:48Z SCHAAP137 quit (Read error: Connection reset by peer) 2017-03-11T16:19:25Z DGASAU quit (Read error: Connection reset by peer) 2017-03-11T16:19:48Z DGASAU joined #lisp 2017-03-11T16:19:56Z manuel__ joined #lisp 2017-03-11T16:20:57Z manuel_ quit (Ping timeout: 240 seconds) 2017-03-11T16:20:57Z manuel__ is now known as manuel_ 2017-03-11T16:21:03Z SCHAAP137 joined #lisp 2017-03-11T16:21:26Z Jesin quit (Quit: Leaving) 2017-03-11T16:21:32Z Amplituhedron joined #lisp 2017-03-11T16:21:45Z sunnny left #lisp 2017-03-11T16:24:26Z raynold quit (Quit: Connection closed for inactivity) 2017-03-11T16:24:41Z manuel__ joined #lisp 2017-03-11T16:25:26Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-11T16:25:26Z manuel__ is now known as manuel_ 2017-03-11T16:25:27Z Jesin joined #lisp 2017-03-11T16:29:13Z manuel__ joined #lisp 2017-03-11T16:29:48Z dcluna quit (Ping timeout: 260 seconds) 2017-03-11T16:29:58Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-11T16:29:58Z manuel__ is now known as manuel_ 2017-03-11T16:30:34Z dcluna joined #lisp 2017-03-11T16:34:30Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-11T16:34:43Z manuel_ joined #lisp 2017-03-11T16:37:00Z keutoi quit (Quit: leaving) 2017-03-11T16:37:47Z keutoi joined #lisp 2017-03-11T16:39:00Z manuel__ joined #lisp 2017-03-11T16:39:36Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-11T16:39:36Z manuel__ is now known as manuel_ 2017-03-11T16:40:11Z beach: emaczen: Did you see the code I wrote for you? 2017-03-11T16:40:35Z EvW joined #lisp 2017-03-11T16:45:48Z cibs quit (Ping timeout: 240 seconds) 2017-03-11T16:45:48Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-11T16:47:58Z cibs joined #lisp 2017-03-11T16:50:13Z papachan joined #lisp 2017-03-11T16:53:12Z DGASAU quit (Ping timeout: 256 seconds) 2017-03-11T16:53:35Z Amplituhedron quit (Quit: Konversation terminated!) 2017-03-11T17:02:34Z DGASAU joined #lisp 2017-03-11T17:16:52Z keutoi quit (Quit: leaving) 2017-03-11T17:24:52Z EvW quit (Ping timeout: 260 seconds) 2017-03-11T17:25:55Z manuel__ joined #lisp 2017-03-11T17:26:04Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-11T17:26:04Z manuel__ is now known as manuel_ 2017-03-11T17:30:36Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-11T17:31:36Z manuel_ joined #lisp 2017-03-11T17:35:09Z manuel__ joined #lisp 2017-03-11T17:35:16Z mejja quit (Ping timeout: 268 seconds) 2017-03-11T17:36:50Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-11T17:36:50Z manuel__ is now known as manuel_ 2017-03-11T17:38:18Z bmilk quit (Remote host closed the connection) 2017-03-11T17:39:22Z lambda-smith quit (Ping timeout: 264 seconds) 2017-03-11T17:41:13Z lambda-smith joined #lisp 2017-03-11T17:41:25Z knicklux quit (Remote host closed the connection) 2017-03-11T17:43:20Z eazar001 quit (Quit: WeeChat 1.7) 2017-03-11T17:46:37Z klltkr joined #lisp 2017-03-11T17:48:36Z EvW1 joined #lisp 2017-03-11T17:59:17Z Harag quit (Remote host closed the connection) 2017-03-11T17:59:28Z Harag joined #lisp 2017-03-11T17:59:41Z neoncontrails joined #lisp 2017-03-11T18:01:27Z gk- joined #lisp 2017-03-11T18:02:52Z defaultxr joined #lisp 2017-03-11T18:03:07Z gk- quit (K-Lined) 2017-03-11T18:04:57Z eazar001 joined #lisp 2017-03-11T18:07:48Z impulse quit (Ping timeout: 260 seconds) 2017-03-11T18:08:02Z gk- joined #lisp 2017-03-11T18:09:10Z gk- quit (K-Lined) 2017-03-11T18:13:28Z impulse joined #lisp 2017-03-11T18:16:50Z eazar001 quit (Quit: WeeChat 1.7) 2017-03-11T18:18:12Z eazar001 joined #lisp 2017-03-11T18:19:04Z eschatologist quit (Ping timeout: 268 seconds) 2017-03-11T18:19:22Z ryanbw quit (Quit: WeeChat 1.7) 2017-03-11T18:21:57Z mishoo joined #lisp 2017-03-11T18:24:01Z decuser joined #lisp 2017-03-11T18:27:56Z mishoo quit (Ping timeout: 240 seconds) 2017-03-11T18:28:40Z Amplituhedron joined #lisp 2017-03-11T18:30:08Z apertus joined #lisp 2017-03-11T18:39:41Z Younder quit (Remote host closed the connection) 2017-03-11T18:45:39Z sjl joined #lisp 2017-03-11T18:46:54Z decuser quit (Quit: Mutter: www.mutterirc.com) 2017-03-11T18:47:37Z apertus left #lisp 2017-03-11T18:50:45Z Einwq joined #lisp 2017-03-11T18:51:21Z beach: emaczen: Are you there? 2017-03-11T18:55:34Z lambda-smith quit (Ping timeout: 264 seconds) 2017-03-11T18:57:08Z JuanDaugherty joined #lisp 2017-03-11T19:05:10Z jfb4 quit (Ping timeout: 264 seconds) 2017-03-11T19:06:33Z jfb4 joined #lisp 2017-03-11T19:08:38Z shifty quit (Ping timeout: 256 seconds) 2017-03-11T19:13:08Z aeth: In case anyone is wondering (no one is) about my polyglot program idea from about 12 hours ago... I just implemented smallfuck (no I/O and just flipping bits instead of using a byte array like brainfuck) in a character stream (< 50 lines, its name doesn't lie) 2017-03-11T19:13:09Z zygentoma quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-03-11T19:15:12Z aeth: I think this means the reader macro system is Turing complete, if I can implement a known turing complete language in a reader macro... Not a big surprise, though, it literally just calls a function with a character stream. 2017-03-11T19:15:12Z schjetne joined #lisp 2017-03-11T19:17:47Z ryanbw joined #lisp 2017-03-11T19:18:49Z phoe: beach: you might tell minion to tell him when he speaks. 2017-03-11T19:19:18Z phoe: aeth: reader macro system is Turing complete though 2017-03-11T19:19:56Z phoe: essentially you can embed any Lisp (and therefore Turing-complete) code in a reader macro function 2017-03-11T19:20:27Z DGASAU quit (Ping timeout: 258 seconds) 2017-03-11T19:21:22Z schjetne quit (Ping timeout: 264 seconds) 2017-03-11T19:22:38Z aeth: phoe: yeah, of course it is 2017-03-11T19:23:48Z defaultxr quit (Ping timeout: 240 seconds) 2017-03-11T19:24:25Z phoe: and sure, no need to implement a Turing complete language in a reader macro if you already have Lisp implemented 2017-03-11T19:26:36Z schjetne joined #lisp 2017-03-11T19:27:00Z emaczen: beach: I'm back 2017-03-11T19:27:00Z minion: emaczen, memo from beach: Something like this: http://paste.lisp.org/display/341177 2017-03-11T19:31:19Z angavrilov quit (Remote host closed the connection) 2017-03-11T19:32:05Z rippa joined #lisp 2017-03-11T19:32:12Z wildlander joined #lisp 2017-03-11T19:36:46Z EvW1 quit (Quit: EvW1) 2017-03-11T19:36:59Z EvW joined #lisp 2017-03-11T19:38:25Z szmer quit (Ping timeout: 240 seconds) 2017-03-11T19:42:10Z okflo` quit (Remote host closed the connection) 2017-03-11T19:45:09Z aeth: phoe: there is absolutely no practical purpose to doing so, no 2017-03-11T19:50:54Z Mon_Ouie joined #lisp 2017-03-11T19:55:55Z sjl quit (Ping timeout: 240 seconds) 2017-03-11T19:56:08Z manualcrank joined #lisp 2017-03-11T20:02:11Z lambda-smith joined #lisp 2017-03-11T20:03:28Z ryanbw quit (Ping timeout: 240 seconds) 2017-03-11T20:05:44Z ryanbw joined #lisp 2017-03-11T20:06:13Z neoncontrails quit (Remote host closed the connection) 2017-03-11T20:06:27Z Harag quit (Ping timeout: 240 seconds) 2017-03-11T20:06:49Z DGASAU joined #lisp 2017-03-11T20:08:00Z szmer joined #lisp 2017-03-11T20:08:39Z Ven joined #lisp 2017-03-11T20:10:19Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-11T20:10:55Z marusich joined #lisp 2017-03-11T20:11:29Z |3b| quit (Remote host closed the connection) 2017-03-11T20:12:55Z |3b| joined #lisp 2017-03-11T20:12:59Z the-blackbeard quit (Quit: Leaving) 2017-03-11T20:14:39Z neoncontrails joined #lisp 2017-03-11T20:15:57Z pjb: aeth: well, you know about intersection? 2017-03-11T20:16:13Z papachan quit (Ping timeout: 268 seconds) 2017-03-11T20:16:23Z pjb: aeth: http://www.informatimago.com/develop/lisp/com/informatimago/small-cl-pgms/intersection-r5rs-common-lisp-emacs-lisp/ 2017-03-11T20:16:31Z pjb: aeth: now you can add a fourth language. 2017-03-11T20:21:27Z axion: I vaguely recall someone having a solution to running multiple CL utility programs in Linux, with minimal overhead. Something to do with a master image binary always running that was called into by the other scripts. If anyone has any idea what I am talking about, I'd like to read more about it or other similar solutions. 2017-03-11T20:22:11Z rumbler31 quit (Remote host closed the connection) 2017-03-11T20:29:05Z Xach: axion: I think there are a few projects for that, where there's a lisp server or something. 2017-03-11T20:29:25Z Xach: axion: there's also the strategy of bundling multiple programs into one binary and dispatching on the name you call it, a la busybox. 2017-03-11T20:29:53Z axion: Xach: hmm, that is an idea. 2017-03-11T20:29:55Z axion: Thanks! 2017-03-11T20:30:13Z axion: Although that doesn't solve the initial startup cost 2017-03-11T20:30:20Z axion: Especially if using compressed images 2017-03-11T20:31:01Z aeth: axion: I know exactly what you're talking about 2017-03-11T20:31:09Z aeth: I'm not sure if it was ever implemented, though 2017-03-11T20:31:36Z emacsomancer joined #lisp 2017-03-11T20:32:38Z Xach: axion: I don't know about compressed images, but non-compressed images start very quickly in sbcl, for example. 2017-03-11T20:34:10Z axion: Xach: Yeah, compression does come at a cost, and some of the hardware I have is not very performant at all and these things are much more noticable, such as a cheap netbook. 2017-03-11T20:34:11Z aeth: axion: Searching by name, there's this: https://github.com/snmsts/daemon 2017-03-11T20:34:21Z aeth: There's probably others with less searchable names in quicklisp, too 2017-03-11T20:35:20Z nirved quit (Quit: Leaving) 2017-03-11T20:37:23Z axion: Well this isnt going to really be distributed, so I don't think I need compression anyway. I think I'll employ Xach's suggestion. Are there any write-ups on this method I can read about? 2017-03-11T20:37:36Z szmer quit (Ping timeout: 256 seconds) 2017-03-11T20:37:44Z kolko joined #lisp 2017-03-11T20:38:22Z pjb: aeth: see also: git clone http://git.informatimago.com/public/happy 2017-03-11T20:38:23Z aeth: I'm not sure if anyone did the full thing, but it shouldn't be too hard to: (1) persist a CL server and then (2) call into that CL server (would swank work?) 2017-03-11T20:39:31Z aeth: So unless I'm misreading what you're saying it would only take two libraries. 2017-03-11T20:39:54Z pjb: someone did that with FUSE. 2017-03-11T20:40:09Z klltkr joined #lisp 2017-03-11T20:40:14Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-11T20:40:52Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-11T20:41:02Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-11T20:49:31Z Karl_Dscc joined #lisp 2017-03-11T20:52:31Z Mon_Ouie quit (Ping timeout: 246 seconds) 2017-03-11T20:56:21Z szmer joined #lisp 2017-03-11T20:59:35Z nullniverse joined #lisp 2017-03-11T21:04:29Z sjl joined #lisp 2017-03-11T21:04:38Z Jesin quit (Quit: Leaving) 2017-03-11T21:05:14Z neoncontrails quit (Remote host closed the connection) 2017-03-11T21:07:37Z Ven joined #lisp 2017-03-11T21:07:51Z Ven quit (Client Quit) 2017-03-11T21:07:55Z shka_ quit (Ping timeout: 240 seconds) 2017-03-11T21:09:23Z ryanwatkins joined #lisp 2017-03-11T21:09:32Z Ven joined #lisp 2017-03-11T21:23:21Z defaultxr joined #lisp 2017-03-11T21:28:58Z kjeldahl joined #lisp 2017-03-11T21:35:07Z Jesin joined #lisp 2017-03-11T21:40:55Z varjag quit (Ping timeout: 240 seconds) 2017-03-11T21:42:48Z grumble quit (Quit: grumble) 2017-03-11T21:45:53Z Lord_of_Life quit (Excess Flood) 2017-03-11T21:46:20Z cross joined #lisp 2017-03-11T21:46:48Z whiteline quit (Remote host closed the connection) 2017-03-11T21:47:39Z whiteline joined #lisp 2017-03-11T21:50:28Z Lord_of_Life joined #lisp 2017-03-11T21:54:59Z |3b| quit (Remote host closed the connection) 2017-03-11T21:58:30Z |3b| joined #lisp 2017-03-11T22:03:44Z EvW quit (Ping timeout: 256 seconds) 2017-03-11T22:13:04Z Mon_Ouie joined #lisp 2017-03-11T22:14:22Z |3b| quit (Remote host closed the connection) 2017-03-11T22:17:21Z EvW joined #lisp 2017-03-11T22:23:04Z marsjaninzmarsa quit (Ping timeout: 260 seconds) 2017-03-11T22:25:39Z vlatkoB quit (Remote host closed the connection) 2017-03-11T22:29:06Z wtetzner quit (Remote host closed the connection) 2017-03-11T22:29:54Z marsjaninzmarsa joined #lisp 2017-03-11T22:32:24Z emacsomancer quit (Ping timeout: 260 seconds) 2017-03-11T22:32:30Z defaultxr quit (Ping timeout: 258 seconds) 2017-03-11T22:36:22Z |3b| joined #lisp 2017-03-11T22:37:29Z varjag joined #lisp 2017-03-11T22:41:05Z grumble joined #lisp 2017-03-11T22:42:40Z pve quit (Ping timeout: 260 seconds) 2017-03-11T22:50:09Z gingerale quit (Remote host closed the connection) 2017-03-11T22:54:55Z marusich quit (Quit: Leaving) 2017-03-11T22:58:34Z sbodin quit (Ping timeout: 258 seconds) 2017-03-11T23:04:34Z libreman quit (Ping timeout: 264 seconds) 2017-03-11T23:04:36Z rumbler31 joined #lisp 2017-03-11T23:04:59Z libreman joined #lisp 2017-03-11T23:07:55Z varjag: can one set class-allocated slots without making an instance? 2017-03-11T23:09:19Z |3b| thinks you can use the class prototype for that 2017-03-11T23:09:36Z pjb: yep ^ 2017-03-11T23:09:42Z pjb: Only for this, the class must be finalized. 2017-03-11T23:10:03Z pjb: And to finalize a class, the only way is to make an instance (or of one of its subclasses). 2017-03-11T23:12:21Z varjag: i see.. 2017-03-11T23:16:40Z rumbler31 quit (Remote host closed the connection) 2017-03-11T23:20:36Z Karl_Dscc quit (Remote host closed the connection) 2017-03-11T23:28:34Z libreman quit (Ping timeout: 264 seconds) 2017-03-11T23:29:03Z libreman joined #lisp 2017-03-11T23:30:28Z nullniverse quit (Ping timeout: 268 seconds) 2017-03-11T23:38:04Z Amplituhedron quit (Ping timeout: 246 seconds) 2017-03-11T23:40:58Z lambda-smith quit (Ping timeout: 260 seconds) 2017-03-11T23:45:00Z decuser joined #lisp 2017-03-11T23:51:44Z libreman quit (Ping timeout: 260 seconds) 2017-03-11T23:52:11Z libreman joined #lisp 2017-03-12T00:03:09Z neoncontrails joined #lisp 2017-03-12T00:05:13Z joneshf-laptop quit (Remote host closed the connection) 2017-03-12T00:05:50Z starfighter joined #lisp 2017-03-12T00:09:19Z Einwq quit (Quit: Leaving) 2017-03-12T00:10:57Z raynold joined #lisp 2017-03-12T00:12:54Z neoncontrails quit (Remote host closed the connection) 2017-03-12T00:13:30Z wtetzner joined #lisp 2017-03-12T00:13:34Z vibs29 quit (Ping timeout: 264 seconds) 2017-03-12T00:14:04Z ryanbw quit (Ping timeout: 256 seconds) 2017-03-12T00:18:34Z vibs29 joined #lisp 2017-03-12T00:22:13Z araujo quit (Read error: Connection timed out) 2017-03-12T00:22:52Z araujo joined #lisp 2017-03-12T00:25:33Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-12T00:29:18Z karswell quit (Remote host closed the connection) 2017-03-12T00:29:50Z karswell joined #lisp 2017-03-12T00:32:48Z varjag quit (Ping timeout: 240 seconds) 2017-03-12T00:35:15Z neoncontrails joined #lisp 2017-03-12T00:38:00Z smokeink joined #lisp 2017-03-12T00:40:17Z wtetzner quit (Remote host closed the connection) 2017-03-12T00:42:44Z manuel__ joined #lisp 2017-03-12T00:43:25Z jfb4 quit (Ping timeout: 240 seconds) 2017-03-12T00:44:05Z karswell quit (Ping timeout: 240 seconds) 2017-03-12T00:44:06Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-12T00:44:06Z manuel__ is now known as manuel_ 2017-03-12T00:45:35Z jfb4 joined #lisp 2017-03-12T00:48:29Z attila_lendvai joined #lisp 2017-03-12T00:48:29Z attila_lendvai quit (Changing host) 2017-03-12T00:48:29Z attila_lendvai joined #lisp 2017-03-12T00:58:43Z decuser quit (Remote host closed the connection) 2017-03-12T01:01:35Z wtetzner joined #lisp 2017-03-12T01:02:12Z ryanbw joined #lisp 2017-03-12T01:02:28Z smokeink quit (Quit: Lost terminal) 2017-03-12T01:04:47Z wildlander quit (Quit: Saliendo) 2017-03-12T01:06:28Z wtetzner quit (Ping timeout: 240 seconds) 2017-03-12T01:08:42Z tmtwd joined #lisp 2017-03-12T01:12:09Z xhe joined #lisp 2017-03-12T01:13:27Z ryanwatkins quit (Remote host closed the connection) 2017-03-12T01:13:37Z smokeink joined #lisp 2017-03-12T01:16:30Z tmtwd quit (Remote host closed the connection) 2017-03-12T01:17:28Z MrWoohoo quit (Ping timeout: 246 seconds) 2017-03-12T01:19:01Z manuel_ quit (Quit: manuel_) 2017-03-12T01:22:13Z szmer quit (Quit: WeeChat 1.6) 2017-03-12T01:26:20Z starfighter quit (Quit: Leaving) 2017-03-12T01:32:35Z impulse quit (Ping timeout: 240 seconds) 2017-03-12T01:32:42Z Bike joined #lisp 2017-03-12T01:36:23Z ryanwatkins joined #lisp 2017-03-12T01:38:11Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-12T01:53:33Z sjl quit (Read error: Connection reset by peer) 2017-03-12T02:01:23Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-12T02:02:40Z wtetzner joined #lisp 2017-03-12T02:08:49Z manuel_ joined #lisp 2017-03-12T02:09:34Z wtetzner quit (Ping timeout: 268 seconds) 2017-03-12T02:28:23Z ryanwatkins quit (Ping timeout: 260 seconds) 2017-03-12T02:29:03Z dmiles quit (Read error: Connection reset by peer) 2017-03-12T02:32:28Z EvW quit (Ping timeout: 258 seconds) 2017-03-12T02:40:05Z defaultxr joined #lisp 2017-03-12T02:46:28Z dmiles joined #lisp 2017-03-12T02:47:22Z segmond joined #lisp 2017-03-12T02:49:04Z nowhere_man quit (Ping timeout: 260 seconds) 2017-03-12T02:54:53Z prole quit (Remote host closed the connection) 2017-03-12T02:57:15Z manuel__ joined #lisp 2017-03-12T02:57:22Z manuel_ quit (Ping timeout: 264 seconds) 2017-03-12T02:57:22Z manuel__ is now known as manuel_ 2017-03-12T03:00:03Z ryanwatkins joined #lisp 2017-03-12T03:00:13Z arescorpio joined #lisp 2017-03-12T03:01:45Z manuel__ joined #lisp 2017-03-12T03:02:36Z manuel_ quit (Ping timeout: 268 seconds) 2017-03-12T03:05:17Z manuel_ joined #lisp 2017-03-12T03:05:56Z ryanbw quit (Quit: WeeChat 1.7) 2017-03-12T03:06:53Z manuel__ quit (Ping timeout: 260 seconds) 2017-03-12T03:08:44Z ryanwatk` joined #lisp 2017-03-12T03:09:34Z manuel__ joined #lisp 2017-03-12T03:10:00Z manuel_ quit (Read error: Connection reset by peer) 2017-03-12T03:10:00Z manuel__ is now known as manuel_ 2017-03-12T03:12:24Z ryanwatkins quit (Ping timeout: 260 seconds) 2017-03-12T03:13:42Z neoncontrails quit (Remote host closed the connection) 2017-03-12T03:15:42Z desku quit (Remote host closed the connection) 2017-03-12T03:20:51Z nowhere_man joined #lisp 2017-03-12T03:27:42Z manuel__ joined #lisp 2017-03-12T03:28:01Z manuel_ quit (Ping timeout: 246 seconds) 2017-03-12T03:28:02Z manuel__ is now known as manuel_ 2017-03-12T03:29:22Z modula joined #lisp 2017-03-12T03:31:23Z samebcha1e joined #lisp 2017-03-12T03:31:29Z kjak___ joined #lisp 2017-03-12T03:31:48Z wooden__ joined #lisp 2017-03-12T03:31:51Z manuel__ joined #lisp 2017-03-12T03:31:52Z cods_ joined #lisp 2017-03-12T03:31:59Z xhe_ joined #lisp 2017-03-12T03:32:07Z yeticry joined #lisp 2017-03-12T03:32:08Z manuel_ quit (Ping timeout: 240 seconds) 2017-03-12T03:32:08Z hvxgr__ joined #lisp 2017-03-12T03:32:08Z manuel__ is now known as manuel_ 2017-03-12T03:34:03Z vibs29_ joined #lisp 2017-03-12T03:34:09Z PuercoPope joined #lisp 2017-03-12T03:34:18Z Jesin quit (Quit: Leaving) 2017-03-12T03:35:10Z g0d355__ quit (Excess Flood) 2017-03-12T03:35:12Z tiago_ joined #lisp 2017-03-12T03:35:15Z switchy_ joined #lisp 2017-03-12T03:35:16Z les` joined #lisp 2017-03-12T03:35:37Z switchy quit (Disconnected by services) 2017-03-12T03:35:40Z switchy_ is now known as switchy 2017-03-12T03:36:37Z defaultxr quit (*.net *.split) 2017-03-12T03:36:37Z xhe quit (*.net *.split) 2017-03-12T03:36:37Z vibs29 quit (*.net *.split) 2017-03-12T03:36:38Z yeticry_ quit (*.net *.split) 2017-03-12T03:36:38Z peccu1 quit (*.net *.split) 2017-03-12T03:36:38Z aje quit (*.net *.split) 2017-03-12T03:36:38Z troydm quit (*.net *.split) 2017-03-12T03:36:38Z wooden_ quit (*.net *.split) 2017-03-12T03:36:38Z hvxgr quit (*.net *.split) 2017-03-12T03:36:38Z cpt_nemo quit (*.net *.split) 2017-03-12T03:36:38Z kjak_ quit (*.net *.split) 2017-03-12T03:36:39Z les quit (*.net *.split) 2017-03-12T03:36:39Z tkd quit (*.net *.split) 2017-03-12T03:36:39Z cods quit (*.net *.split) 2017-03-12T03:36:39Z thorondor[m] quit (*.net *.split) 2017-03-12T03:36:39Z samebchase quit (*.net *.split) 2017-03-12T03:36:40Z tobel quit (*.net *.split) 2017-03-12T03:36:40Z drmeister quit (*.net *.split) 2017-03-12T03:36:40Z makufiru quit (*.net *.split) 2017-03-12T03:36:40Z trig-ger_ quit (*.net *.split) 2017-03-12T03:36:40Z clog quit (*.net *.split) 2017-03-12T03:36:40Z PuercoPop quit (*.net *.split) 2017-03-12T03:36:40Z tiago quit (*.net *.split) 2017-03-12T03:36:40Z modula is now known as defaultxr 2017-03-12T03:36:50Z aje joined #lisp 2017-03-12T03:36:50Z safe joined #lisp 2017-03-12T03:36:50Z vibs29_ is now known as vibs29 2017-03-12T03:36:52Z manuel_ quit (Ping timeout: 270 seconds) 2017-03-12T03:36:52Z PuercoPope is now known as PuercoPop 2017-03-12T03:39:12Z raynold quit (Ping timeout: 256 seconds) 2017-03-12T03:41:30Z raynold joined #lisp 2017-03-12T03:42:27Z manuel_ joined #lisp 2017-03-12T03:46:35Z leo2007 joined #lisp 2017-03-12T03:47:34Z leo2007: In CLOS :after method can not change return value from the primary method, right? 2017-03-12T03:48:58Z ryanbw joined #lisp 2017-03-12T03:49:05Z Bike: right. 2017-03-12T03:49:22Z cpt_nemo joined #lisp 2017-03-12T03:49:22Z peccu1 joined #lisp 2017-03-12T03:49:22Z troydm joined #lisp 2017-03-12T03:49:22Z tkd joined #lisp 2017-03-12T03:49:22Z thorondor[m] joined #lisp 2017-03-12T03:49:22Z tobel joined #lisp 2017-03-12T03:49:22Z drmeister joined #lisp 2017-03-12T03:49:22Z makufiru joined #lisp 2017-03-12T03:49:22Z trig-ger_ joined #lisp 2017-03-12T03:49:22Z clog joined #lisp 2017-03-12T03:49:25Z Bike: it has no access to the return value, and its own return value is ignored. 2017-03-12T03:49:58Z manuel_ quit (Quit: manuel_) 2017-03-12T03:53:47Z srcerer quit (Ping timeout: 268 seconds) 2017-03-12T03:55:58Z leo2007: Bike: thanks 2017-03-12T03:56:35Z ryanwatk` quit (Ping timeout: 240 seconds) 2017-03-12T03:56:46Z ryanbw quit (Ping timeout: 264 seconds) 2017-03-12T03:59:13Z Harag joined #lisp 2017-03-12T03:59:59Z ryanwatk` joined #lisp 2017-03-12T04:01:20Z pjb quit (Remote host closed the connection) 2017-03-12T04:03:11Z pjb joined #lisp 2017-03-12T04:04:27Z teggi joined #lisp 2017-03-12T04:06:36Z neoncontrails joined #lisp 2017-03-12T04:07:25Z Harag quit (Ping timeout: 240 seconds) 2017-03-12T04:09:48Z xhe_ is now known as xhe 2017-03-12T04:17:27Z rumbler31 joined #lisp 2017-03-12T04:19:28Z Harag joined #lisp 2017-03-12T04:21:34Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-12T04:23:25Z Harag quit (Ping timeout: 240 seconds) 2017-03-12T04:23:50Z neoncontrails quit (Remote host closed the connection) 2017-03-12T04:27:10Z Harag joined #lisp 2017-03-12T04:29:05Z saturniid quit (Ping timeout: 240 seconds) 2017-03-12T04:31:28Z Harag quit (Ping timeout: 260 seconds) 2017-03-12T04:36:13Z arescorpio quit (Quit: Leaving.) 2017-03-12T04:38:35Z vaporatorius quit (Ping timeout: 240 seconds) 2017-03-12T04:40:40Z saturniid joined #lisp 2017-03-12T04:41:05Z xhe quit (Ping timeout: 240 seconds) 2017-03-12T04:41:59Z neoncontrails joined #lisp 2017-03-12T04:44:56Z karswell joined #lisp 2017-03-12T04:48:09Z text1 joined #lisp 2017-03-12T04:51:20Z safe quit (Ping timeout: 260 seconds) 2017-03-12T04:51:27Z yrdz` joined #lisp 2017-03-12T04:51:34Z yrdz quit (Read error: Connection reset by peer) 2017-03-12T04:51:59Z JohnnyDown joined #lisp 2017-03-12T04:52:48Z beach: Good morning everyone! 2017-03-12T04:55:55Z Harag joined #lisp 2017-03-12T04:56:00Z libreman quit (Ping timeout: 260 seconds) 2017-03-12T04:56:27Z libreman joined #lisp 2017-03-12T04:57:52Z rszeno joined #lisp 2017-03-12T05:02:23Z Harag quit (Ping timeout: 260 seconds) 2017-03-12T05:02:37Z JohnnyDown quit (Quit: μόνον εἰδέναι τὸν σοφὸν τίνων χρὴ ἐρᾶν.) 2017-03-12T05:03:21Z Harag joined #lisp 2017-03-12T05:04:11Z leo2007 left #lisp 2017-03-12T05:06:44Z bmilk joined #lisp 2017-03-12T05:07:35Z Harag quit (Ping timeout: 240 seconds) 2017-03-12T05:08:23Z lambda-smith joined #lisp 2017-03-12T05:08:34Z Harag joined #lisp 2017-03-12T05:10:43Z rszeno quit (Quit: Leaving.) 2017-03-12T05:13:16Z LiamH quit (Ping timeout: 260 seconds) 2017-03-12T05:21:38Z Harag quit (Remote host closed the connection) 2017-03-12T05:21:48Z Harag joined #lisp 2017-03-12T05:28:47Z Guest45611 joined #lisp 2017-03-12T05:33:32Z ryanbw joined #lisp 2017-03-12T05:34:09Z Guest45611 quit (Remote host closed the connection) 2017-03-12T05:42:59Z CEnnis91 quit (Quit: Connection closed for inactivity) 2017-03-12T05:43:34Z Harag quit (Ping timeout: 264 seconds) 2017-03-12T05:44:52Z neoncontrails quit (Remote host closed the connection) 2017-03-12T05:45:53Z Harag joined #lisp 2017-03-12T05:46:47Z MrWoohoo joined #lisp 2017-03-12T05:56:40Z liead is now known as adlai 2017-03-12T06:00:48Z xhe joined #lisp 2017-03-12T06:00:53Z Jesin joined #lisp 2017-03-12T06:04:08Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-12T06:05:36Z neoncontrails joined #lisp 2017-03-12T06:09:19Z eSVG joined #lisp 2017-03-12T06:11:18Z cibs quit (Ping timeout: 268 seconds) 2017-03-12T06:12:48Z cibs joined #lisp 2017-03-12T06:14:57Z DGASAU quit (Read error: Connection reset by peer) 2017-03-12T06:18:20Z jack_rabbit joined #lisp 2017-03-12T06:20:55Z neoncontrails quit (Remote host closed the connection) 2017-03-12T06:24:00Z clintm: morning, beach! 2017-03-12T06:31:33Z rippa joined #lisp 2017-03-12T06:32:57Z BlueRavenGT quit (Ping timeout: 240 seconds) 2017-03-12T06:37:06Z Devon joined #lisp 2017-03-12T06:37:38Z guicho joined #lisp 2017-03-12T06:37:49Z CEnnis91 joined #lisp 2017-03-12T06:39:49Z Karl_Dscc joined #lisp 2017-03-12T06:50:25Z DGASAU joined #lisp 2017-03-12T06:51:12Z schjetne quit (Remote host closed the connection) 2017-03-12T06:53:08Z lambda-smith quit (Ping timeout: 260 seconds) 2017-03-12T06:55:23Z eSVG quit (Read error: Connection reset by peer) 2017-03-12T06:55:34Z Devon quit (Ping timeout: 246 seconds) 2017-03-12T06:55:55Z eSVG joined #lisp 2017-03-12T06:59:40Z vibs29 quit (Ping timeout: 260 seconds) 2017-03-12T07:05:04Z vibs29 joined #lisp 2017-03-12T07:09:11Z FreeBirdLjj joined #lisp 2017-03-12T07:09:15Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-12T07:21:24Z nikki93_ joined #lisp 2017-03-12T07:23:28Z nikki93_ quit (Client Quit) 2017-03-12T07:31:12Z Karl_Dscc quit (Read error: Connection reset by peer) 2017-03-12T07:33:01Z guicho quit (Ping timeout: 246 seconds) 2017-03-12T07:43:10Z Ukari quit (Ping timeout: 246 seconds) 2017-03-12T07:47:42Z vlatkoB joined #lisp 2017-03-12T07:48:13Z text1 quit (Read error: Connection reset by peer) 2017-03-12T07:54:17Z DGASAU quit (Read error: Connection reset by peer) 2017-03-12T07:58:11Z DGASAU joined #lisp 2017-03-12T07:58:16Z Bike quit (Quit: u) 2017-03-12T08:04:28Z bgg_ joined #lisp 2017-03-12T08:05:06Z bgg_ quit (Client Quit) 2017-03-12T08:05:22Z mishoo joined #lisp 2017-03-12T08:05:28Z cibs quit (Ping timeout: 260 seconds) 2017-03-12T08:07:09Z beaky quit (Read error: Connection reset by peer) 2017-03-12T08:07:21Z cibs joined #lisp 2017-03-12T08:11:05Z joneshf-laptop joined #lisp 2017-03-12T08:11:05Z g0d355__ joined #lisp 2017-03-12T08:11:19Z beaky joined #lisp 2017-03-12T08:18:01Z aje quit (Remote host closed the connection) 2017-03-12T08:18:03Z rumbler31 joined #lisp 2017-03-12T08:19:20Z shka_ joined #lisp 2017-03-12T08:20:46Z angavrilov joined #lisp 2017-03-12T08:22:08Z DGASAU quit (Read error: Connection reset by peer) 2017-03-12T08:22:22Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-12T08:22:35Z lambda-smith joined #lisp 2017-03-12T08:22:36Z Amplituhedron joined #lisp 2017-03-12T08:23:19Z DGASAU joined #lisp 2017-03-12T08:23:41Z emaczen: beach: thanks for the explanations yesterday 2017-03-12T08:24:26Z emaczen: beach: I ended up implementing my own linked-lists in order to keep my design the same 2017-03-12T08:24:41Z emaczen: I definitely learned a lot about arrays and pass by value though 2017-03-12T08:29:22Z cibs quit (Ping timeout: 246 seconds) 2017-03-12T08:31:22Z cibs joined #lisp 2017-03-12T08:33:39Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-12T08:35:11Z axion: you reimplemented cons cells? 2017-03-12T08:39:55Z vaporatorius joined #lisp 2017-03-12T08:40:45Z vap1 joined #lisp 2017-03-12T08:43:00Z emaczen: axion: I just created a node class which holds a value and a next slot 2017-03-12T08:43:19Z fourier joined #lisp 2017-03-12T08:43:45Z segmond quit (Quit: l8r) 2017-03-12T08:44:15Z axion: I do not see what is wrong with conses 2017-03-12T08:44:31Z loke joined #lisp 2017-03-12T08:44:42Z axion: Unless of course you need a double-linked list 2017-03-12T08:45:13Z emaczen: axion: It was for performance because I had some large sequences which I was copying 2017-03-12T08:45:48Z mishoo quit (Ping timeout: 240 seconds) 2017-03-12T08:45:53Z emaczen: axion: I also didn't want to change my method interfaces so I didn't go with offset arrays 2017-03-12T08:46:24Z axion: I don't see how reimplementing a linked list with CLOS solves performance issues. I would have expected a huge degradation 2017-03-12T08:47:13Z vap1 quit (Quit: Leaving) 2017-03-12T08:59:58Z neoncontrails joined #lisp 2017-03-12T09:01:33Z nowhere_man quit (Ping timeout: 260 seconds) 2017-03-12T09:02:36Z Devon joined #lisp 2017-03-12T09:02:59Z CEnnis91 quit (Quit: Connection closed for inactivity) 2017-03-12T09:03:52Z gingerale joined #lisp 2017-03-12T09:04:44Z neoncontrails quit (Ping timeout: 260 seconds) 2017-03-12T09:07:28Z Devon quit (Ping timeout: 240 seconds) 2017-03-12T09:09:22Z beach: emaczen: OK, glad I could help. 2017-03-12T09:19:01Z teggi quit (Remote host closed the connection) 2017-03-12T09:19:36Z teggi joined #lisp 2017-03-12T09:20:05Z knicklux joined #lisp 2017-03-12T09:20:07Z libreman quit (Ping timeout: 246 seconds) 2017-03-12T09:23:13Z libreman joined #lisp 2017-03-12T09:24:18Z teggi quit (Ping timeout: 260 seconds) 2017-03-12T09:36:27Z cods_ is now known as cods 2017-03-12T09:37:02Z cods quit (Changing host) 2017-03-12T09:37:02Z cods joined #lisp 2017-03-12T09:39:02Z attila_lendvai joined #lisp 2017-03-12T09:41:10Z araujo quit (Quit: Leaving) 2017-03-12T09:45:08Z mepian joined #lisp 2017-03-12T09:49:34Z karswell quit (Remote host closed the connection) 2017-03-12T09:50:38Z karswell joined #lisp 2017-03-12T09:52:10Z nirved joined #lisp 2017-03-12T10:00:44Z neoncontrails joined #lisp 2017-03-12T10:02:07Z Karl_Dscc joined #lisp 2017-03-12T10:04:12Z Karl_Dscc quit (Remote host closed the connection) 2017-03-12T10:05:24Z neoncontrails quit (Ping timeout: 260 seconds) 2017-03-12T10:05:51Z Beetny joined #lisp 2017-03-12T10:09:33Z joneshf-laptop quit (Quit: Leaving) 2017-03-12T10:10:04Z mepian quit (Quit: Leaving) 2017-03-12T10:11:34Z fourier quit (Ping timeout: 246 seconds) 2017-03-12T10:12:32Z fourier joined #lisp 2017-03-12T10:24:40Z the-blackbeard joined #lisp 2017-03-12T10:26:33Z varjag joined #lisp 2017-03-12T10:27:10Z kini quit (Ping timeout: 240 seconds) 2017-03-12T10:28:29Z schjetne joined #lisp 2017-03-12T10:30:26Z neoncontrails joined #lisp 2017-03-12T10:30:55Z froggey quit (Ping timeout: 268 seconds) 2017-03-12T10:31:07Z fourier quit (Remote host closed the connection) 2017-03-12T10:31:15Z loke quit (Ping timeout: 258 seconds) 2017-03-12T10:31:56Z fourier joined #lisp 2017-03-12T10:32:09Z kini joined #lisp 2017-03-12T10:35:10Z neoncontrails quit (Ping timeout: 264 seconds) 2017-03-12T10:37:59Z froggey joined #lisp 2017-03-12T10:41:17Z Beetny quit (Ping timeout: 260 seconds) 2017-03-12T10:46:23Z AntiSpamMeta quit (Remote host closed the connection) 2017-03-12T10:48:40Z kini quit (Ping timeout: 240 seconds) 2017-03-12T10:51:33Z AntiSpamMeta joined #lisp 2017-03-12T10:52:08Z jfb4 quit (Ping timeout: 256 seconds) 2017-03-12T10:53:56Z jfb4 joined #lisp 2017-03-12T10:54:34Z pve joined #lisp 2017-03-12T10:56:55Z mishoo joined #lisp 2017-03-12T11:04:13Z xhe quit (Quit: leaving) 2017-03-12T11:11:06Z Karl_Dscc joined #lisp 2017-03-12T11:12:22Z sjl joined #lisp 2017-03-12T11:17:25Z attila_lendvai quit (Quit: Leaving.) 2017-03-12T11:19:35Z jfb4 quit (Ping timeout: 240 seconds) 2017-03-12T11:21:48Z jfb4 joined #lisp 2017-03-12T11:21:50Z shifty joined #lisp 2017-03-12T11:23:43Z rippa joined #lisp 2017-03-12T11:25:35Z attila_lendvai joined #lisp 2017-03-12T11:25:49Z attila_lendvai quit (Changing host) 2017-03-12T11:25:49Z attila_lendvai joined #lisp 2017-03-12T11:28:34Z jfb4 quit (Ping timeout: 264 seconds) 2017-03-12T11:30:20Z jfb4 joined #lisp 2017-03-12T11:30:57Z holly2 quit (Quit: WeeChat 1.5) 2017-03-12T11:31:09Z neoncontrails joined #lisp 2017-03-12T11:31:47Z loke joined #lisp 2017-03-12T11:33:23Z holly joined #lisp 2017-03-12T11:33:46Z holly is now known as Guest17341 2017-03-12T11:34:03Z Guest17341 is now known as HDurer2 2017-03-12T11:35:22Z jfb4_ joined #lisp 2017-03-12T11:35:25Z neoncontrails quit (Ping timeout: 240 seconds) 2017-03-12T11:35:57Z jfb4 quit (Ping timeout: 240 seconds) 2017-03-12T11:37:34Z bmilk quit (Remote host closed the connection) 2017-03-12T11:37:48Z fourier quit (Ping timeout: 240 seconds) 2017-03-12T11:39:03Z bmilk joined #lisp 2017-03-12T11:39:57Z jfb4_ quit (Ping timeout: 240 seconds) 2017-03-12T11:41:42Z jameser joined #lisp 2017-03-12T11:41:58Z jfb4 joined #lisp 2017-03-12T11:42:08Z varjag quit (Ping timeout: 240 seconds) 2017-03-12T11:46:43Z Karl_Dscc quit (Remote host closed the connection) 2017-03-12T11:53:41Z phoe: Lisp has INCF, which is basically (SETF X (+ X ...)) 2017-03-12T11:53:49Z phoe: Lisp also has DECF for subtraction. 2017-03-12T11:54:02Z phoe: Which library has these operators defined for multiplication and division? 2017-03-12T11:54:16Z phoe: MULF and DIVF, that's how they could be called. 2017-03-12T11:57:11Z jurov: phoe lol right this moment i'm looking at: https://sourceforge.net/p/clocc/hg/ci/default/tree/src/cllib/math.lisp 2017-03-12T11:58:40Z phoe: jurov: <3 2017-03-12T12:00:00Z fourier joined #lisp 2017-03-12T12:02:28Z bmilk quit (Remote host closed the connection) 2017-03-12T12:03:12Z papachan joined #lisp 2017-03-12T12:03:48Z papachan quit (Client Quit) 2017-03-12T12:04:57Z fourier quit (Ping timeout: 240 seconds) 2017-03-12T12:08:12Z loke quit (Ping timeout: 260 seconds) 2017-03-12T12:08:29Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-12T12:09:45Z varjag joined #lisp 2017-03-12T12:11:03Z knicklux quit (Remote host closed the connection) 2017-03-12T12:12:17Z d4ryus2 joined #lisp 2017-03-12T12:14:46Z fourier joined #lisp 2017-03-12T12:15:05Z d4ryus1 quit (Ping timeout: 240 seconds) 2017-03-12T12:15:58Z mishoo quit (Ping timeout: 264 seconds) 2017-03-12T12:18:24Z jfb4 quit (Ping timeout: 260 seconds) 2017-03-12T12:20:12Z jfb4 joined #lisp 2017-03-12T12:21:13Z mishoo joined #lisp 2017-03-12T12:21:18Z fourier quit (Ping timeout: 268 seconds) 2017-03-12T12:23:48Z jurov: ;This is the November, 26 1991 version of 2017-03-12T12:23:51Z jurov: ;Richard C. Waters' XP pretty printer. 2017-03-12T12:23:59Z jurov: ^ code archeology ftw 2017-03-12T12:24:33Z jurov: (in the CLOCC) 2017-03-12T12:28:06Z fourier joined #lisp 2017-03-12T12:28:31Z glamas joined #lisp 2017-03-12T12:29:46Z sjl quit (Read error: Connection reset by peer) 2017-03-12T12:31:49Z Xach: jurov: clx has some nice old stuff too 2017-03-12T12:31:57Z neoncontrails joined #lisp 2017-03-12T12:33:41Z glamas quit (Quit: Mutter: www.mutterirc.com) 2017-03-12T12:36:58Z neoncontrails quit (Ping timeout: 264 seconds) 2017-03-12T12:39:14Z fourier quit (Ping timeout: 256 seconds) 2017-03-12T12:42:10Z spatial joined #lisp 2017-03-12T12:42:20Z fourier joined #lisp 2017-03-12T12:43:03Z spatial: http://lpaste.net/353459 Anyone can help me understand the 'with' syntax and finally. 2017-03-12T12:43:38Z spatial: I get the other lines. 2017-03-12T12:44:04Z oleo joined #lisp 2017-03-12T12:44:07Z nowhere_man joined #lisp 2017-03-12T12:45:12Z neoncontrails joined #lisp 2017-03-12T12:45:54Z TMA: spatial: (loop with a = b ...) is similar to (let ((a b)) (loop ...)) 2017-03-12T12:46:52Z fourier quit (Ping timeout: 260 seconds) 2017-03-12T12:48:00Z spatial: Can you simplify it ? I am porting some lisp to haskell. 2017-03-12T12:48:55Z spatial: best-value = -1 has a value and best-move doesn't 2017-03-12T12:49:17Z spatial: Are they initializing variables ? 2017-03-12T12:49:23Z TMA: spatial: with best-move ~~~ with best-move = nil 2017-03-12T12:49:54Z TMA: spatial: yes, it is a local variable introduction 2017-03-12T12:50:00Z neoncontrails quit (Ping timeout: 256 seconds) 2017-03-12T12:50:14Z spatial: Thanks. 2017-03-12T12:50:56Z TMA: spatial: finally X means that X is evaluated after the last iteration of the loop 2017-03-12T12:54:06Z TMA: spatial: the whole loop just picks the move with the highest value, you might be better off using idiomatic haskell for that 2017-03-12T12:56:27Z varjag quit (Ping timeout: 240 seconds) 2017-03-12T12:56:33Z spatial: Can't finally just be a statement following the loop end statement ? 'finally' keyword is used. Why ? 2017-03-12T12:56:42Z spatial: Like in other languages 2017-03-12T12:57:40Z TMA: because the variable bindings introduced in the with clauses would no longer be visible 2017-03-12T12:58:42Z TMA: spatial: like in C/C++: for (int i=1; ... ; ...) { ... } /* error: i no longer visible here */ return i; 2017-03-12T13:01:19Z EvW joined #lisp 2017-03-12T13:03:32Z spatial: Ok 2017-03-12T13:04:27Z heurist quit (Ping timeout: 240 seconds) 2017-03-12T13:15:13Z smokeink quit (Quit: Lost terminal) 2017-03-12T13:15:47Z smokeink joined #lisp 2017-03-12T13:17:27Z heurist joined #lisp 2017-03-12T13:20:27Z prole joined #lisp 2017-03-12T13:31:46Z theBlackDragon quit (Ping timeout: 246 seconds) 2017-03-12T13:32:29Z spatial: for move in possible-moves Does in loop over possible-moves one by one ? 2017-03-12T13:32:59Z spatial: possible-moves is a list of values 2017-03-12T13:33:31Z theBlackDragon joined #lisp 2017-03-12T13:35:59Z fourier joined #lisp 2017-03-12T13:40:14Z fourier quit (Ping timeout: 258 seconds) 2017-03-12T13:42:25Z Karl_Dscc joined #lisp 2017-03-12T13:43:00Z manualcrank joined #lisp 2017-03-12T13:43:16Z test1600 joined #lisp 2017-03-12T13:44:01Z cibs quit (Ping timeout: 246 seconds) 2017-03-12T13:46:00Z neoncontrails joined #lisp 2017-03-12T13:46:07Z cibs joined #lisp 2017-03-12T13:47:42Z manuel_ joined #lisp 2017-03-12T13:47:48Z puchacz joined #lisp 2017-03-12T13:48:30Z puchacz: hi, is it possible to use a package under different name? I have 2 independently developed systems called :sqlite 2017-03-12T13:48:47Z puchacz: so I would refer to them as :sqlite-1 and :sqlite-2 2017-03-12T13:50:52Z neoncontrails quit (Ping timeout: 260 seconds) 2017-03-12T13:51:35Z Xach: puchacz: you can use rename-package to arrange things as you wish. 2017-03-12T13:51:53Z Xach: puchacz: but after renaming, you must be mindful of code trying to refer to the old package 2017-03-12T13:52:05Z Xach: that is not always an issue, though. 2017-03-12T13:52:17Z Karl_Dscc quit (Remote host closed the connection) 2017-03-12T13:52:36Z puchacz: Xach: thanks 2017-03-12T13:55:44Z wooden__ quit (Ping timeout: 256 seconds) 2017-03-12T13:57:35Z puchacz: btw, does anybody know if cl-sqlite-20130615-git or clsql-20160208-git is better maintained? 2017-03-12T13:57:50Z puchacz: judging by timestamps, it is clsql.... 2017-03-12T14:03:55Z d4ryus2: at those who helped me figure out what was broken with file-length and told me to file a bug report on Arch: https://bugs.archlinux.org/task/53204 sbcl from arch repos (x86_64) is now compiled with :largefile :) 2017-03-12T14:11:11Z malcom2073: puchacz: Judging by the timestamps, neither is maintained :-P 2017-03-12T14:12:42Z lambda-smith quit (Quit: Konversation terminated!) 2017-03-12T14:18:09Z cuso4 quit (Quit: WeeChat 1.7) 2017-03-12T14:19:53Z zagura left #lisp 2017-03-12T14:20:19Z loke joined #lisp 2017-03-12T14:22:47Z puchacz: well, sqlite api itself is very stable 2017-03-12T14:26:32Z loke``` quit (Remote host closed the connection) 2017-03-12T14:28:07Z vibs29 quit (Ping timeout: 246 seconds) 2017-03-12T14:28:49Z loke: phoe: You can create them yourself 2017-03-12T14:29:03Z loke: phoe: Look up DEEFINE-MODIFY-METHOD 2017-03-12T14:29:04Z shifty quit (Ping timeout: 260 seconds) 2017-03-12T14:29:49Z loke: I mean, DEFINE-MODIFY-MACRO 2017-03-12T14:32:20Z oleo quit (Quit: Leaving) 2017-03-12T14:33:11Z phoe: loke: yes, thanks 2017-03-12T14:33:34Z vibs29 joined #lisp 2017-03-12T14:36:51Z fourier joined #lisp 2017-03-12T14:38:02Z slyrus joined #lisp 2017-03-12T14:38:55Z manuel_ quit (Ping timeout: 240 seconds) 2017-03-12T14:39:00Z manuel__ joined #lisp 2017-03-12T14:41:54Z fourier quit (Ping timeout: 268 seconds) 2017-03-12T14:45:42Z neoncontrails joined #lisp 2017-03-12T14:48:37Z libreman quit (Ping timeout: 260 seconds) 2017-03-12T14:49:06Z libreman joined #lisp 2017-03-12T14:53:45Z tax joined #lisp 2017-03-12T14:54:35Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-12T14:55:07Z teggi joined #lisp 2017-03-12T14:55:14Z teggi quit (Client Quit) 2017-03-12T14:55:45Z jackdaniel quit (Remote host closed the connection) 2017-03-12T14:57:03Z jackdaniel joined #lisp 2017-03-12T15:01:23Z oleo joined #lisp 2017-03-12T15:03:25Z slyrus quit (Ping timeout: 240 seconds) 2017-03-12T15:04:31Z Amplituhedron quit (Quit: Konversation terminated!) 2017-03-12T15:07:41Z loke` joined #lisp 2017-03-12T15:10:32Z angavrilov quit (Ping timeout: 256 seconds) 2017-03-12T15:20:38Z angavrilov joined #lisp 2017-03-12T15:23:28Z loke quit (Ping timeout: 240 seconds) 2017-03-12T15:23:40Z zygentoma joined #lisp 2017-03-12T15:27:47Z sz0 joined #lisp 2017-03-12T15:28:15Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-12T15:34:26Z raynold quit (Quit: Connection closed for inactivity) 2017-03-12T15:34:28Z neoncontrails quit (Remote host closed the connection) 2017-03-12T15:34:35Z angavrilov_ joined #lisp 2017-03-12T15:38:05Z angavrilov quit (Ping timeout: 240 seconds) 2017-03-12T15:38:05Z manuel__ quit (Ping timeout: 240 seconds) 2017-03-12T15:38:10Z shka_: does ccl has profiler like sbcl? 2017-03-12T15:38:34Z zygentoma quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-03-12T15:38:43Z manuel_ joined #lisp 2017-03-12T15:40:53Z yeticry_ joined #lisp 2017-03-12T15:41:37Z yeticry quit (Read error: Connection reset by peer) 2017-03-12T15:41:54Z Kaisyu joined #lisp 2017-03-12T15:52:08Z libreman quit (Ping timeout: 260 seconds) 2017-03-12T15:52:33Z libreman joined #lisp 2017-03-12T15:52:52Z manuel__ joined #lisp 2017-03-12T15:53:26Z manuel_ quit (Ping timeout: 268 seconds) 2017-03-12T15:53:26Z manuel__ is now known as manuel_ 2017-03-12T15:55:23Z xrash joined #lisp 2017-03-12T15:59:12Z pebblexe: shka_: http://mr.gy/blog/sam.html 2017-03-12T16:00:24Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-12T16:01:57Z shka_: thanks 2017-03-12T16:02:28Z shka_: i was trying to figure out why k-nucleotide at benchmark game runs so slow for lisp 2017-03-12T16:02:50Z EvW quit (Ping timeout: 258 seconds) 2017-03-12T16:03:48Z manuel_ joined #lisp 2017-03-12T16:05:57Z wildlander joined #lisp 2017-03-12T16:10:04Z oleo quit (Quit: Leaving) 2017-03-12T16:12:47Z shka_: i blame memory allocation 2017-03-12T16:12:59Z shka_: but i have no idea how to make it faster 2017-03-12T16:13:12Z shka_: besides writing my own hashtable 2017-03-12T16:13:15Z shka_: which is banned 2017-03-12T16:13:47Z cibs quit (Ping timeout: 268 seconds) 2017-03-12T16:14:08Z fourier joined #lisp 2017-03-12T16:14:24Z tristero quit (Quit: WeeChat 1.6) 2017-03-12T16:15:12Z cibs joined #lisp 2017-03-12T16:16:15Z libreman quit (Ping timeout: 268 seconds) 2017-03-12T16:16:42Z libreman joined #lisp 2017-03-12T16:17:28Z desku joined #lisp 2017-03-12T16:19:10Z Bike joined #lisp 2017-03-12T16:21:19Z phoe: shka_: write your own hashtable as a sbcl contrib and have it merged into mainline 2017-03-12T16:21:37Z phoe: and then use sb/shka-contrib::secret-hashtable 2017-03-12T16:25:49Z Karl_Dscc joined #lisp 2017-03-12T16:30:22Z prole quit (Ping timeout: 264 seconds) 2017-03-12T16:32:03Z shka_: phoe: not allowed in benchmark game 2017-03-12T16:32:26Z phoe: shka_: well, it's not your own hashtable though 2017-03-12T16:32:32Z phoe: it's an SBCL improvement 2017-03-12T16:32:36Z shka_: oh right 2017-03-12T16:32:37Z phoe: and this counts more than anything 2017-03-12T16:32:49Z shka_: sb/totally-legit:hashtable 2017-03-12T16:33:24Z shka_: the thing is, i don't think that sbcl hashtable is flawed in any way 2017-03-12T16:34:02Z shka_: oh, well, i will profile this deeper later one 2017-03-12T16:34:15Z nowhere_man quit (Remote host closed the connection) 2017-03-12T16:34:34Z phoe: shka_: so how can you get any quicker? 2017-03-12T16:34:41Z nowhere_man joined #lisp 2017-03-12T16:34:49Z shka_: phoe: i don't really know now 2017-03-12T16:35:15Z shka_: i have other stuff to do so it has to wait 2017-03-12T16:37:05Z spatial quit (Ping timeout: 260 seconds) 2017-03-12T16:39:21Z shka_: http://benchmarksgame.alioth.debian.org/u64q/program.php?test=mandelbrot&lang=sbcl&id=1 2017-03-12T16:39:24Z shka_: define-vop :D 2017-03-12T16:40:31Z Bike: good thing they call it a game, someone might take it too seriously otherwise 2017-03-12T16:40:44Z shka_: well, ofc 2017-03-12T16:40:54Z shka_: but it is fun 2017-03-12T16:41:37Z Bike: (that was a joke) 2017-03-12T16:41:49Z Bike: looks like the gcc version is calling __builtin_ia32_movmskpd and such 2017-03-12T16:42:04Z shka_: yeah 2017-03-12T16:42:08Z shka_: try hard mode ;-) 2017-03-12T16:42:35Z Mon_Ouie quit (Quit: WeeChat 1.7) 2017-03-12T16:42:55Z shka_: omp parallel 2017-03-12T16:43:01Z shka_: that is just dirty :P 2017-03-12T16:44:43Z Bike: oh, i see the k-nucleotide one. 2017-03-12T16:45:13Z Bike: for low k you could skip hash tables and use a vector, but that's not allowed i guess. since the space is fixed you could use perfect hashing maybe, not that that's part of sbcl 2017-03-12T16:47:49Z varjag joined #lisp 2017-03-12T16:49:28Z Khisanth quit (Ping timeout: 240 seconds) 2017-03-12T16:54:56Z shka_: for some reason k-nucleotide benchmark runs rather slow 2017-03-12T16:56:55Z Bike: and maybe use a moving displaced array to avoid making new substrings, but i don't know if that actually works off the top of my head 2017-03-12T16:57:54Z Trystam joined #lisp 2017-03-12T16:57:54Z Trystam quit (Changing host) 2017-03-12T16:57:54Z Trystam joined #lisp 2017-03-12T16:57:56Z pebblexe_ joined #lisp 2017-03-12T16:59:40Z shka_: hmm 2017-03-12T16:59:50Z pebblexe quit (Ping timeout: 260 seconds) 2017-03-12T17:00:08Z shka_: for some reason #3 is faster for me then #4 2017-03-12T17:00:28Z Tristam quit (Ping timeout: 256 seconds) 2017-03-12T17:00:43Z xrash quit (Ping timeout: 258 seconds) 2017-03-12T17:00:48Z Trystam is now known as Tristam 2017-03-12T17:00:58Z fourier quit (Ping timeout: 264 seconds) 2017-03-12T17:03:07Z Khisanth joined #lisp 2017-03-12T17:05:15Z CEnnis91 joined #lisp 2017-03-12T17:11:42Z Bike: hash table sdon't seem to work very well with displaced arrays. 2017-03-12T17:13:02Z clintm: Do any of you know if there are any weird corner cases with using hunchentoot, zs3, and file uploads? With a 2g heap, I'm exhausting the heap trying to upload a 107k image. 2017-03-12T17:13:25Z clintm: It's making less than a useful amount of sense. 2017-03-12T17:13:58Z clintm: sorry, dynamic-space-size in sbcl is 2g 2017-03-12T17:16:42Z Bike: oh, right, there are rules about not messing with hash table keys. there goes my cleverness 2017-03-12T17:17:58Z jdtest joined #lisp 2017-03-12T17:17:59Z manuel__ joined #lisp 2017-03-12T17:18:22Z manuel_ quit (Ping timeout: 264 seconds) 2017-03-12T17:18:22Z manuel__ is now known as manuel_ 2017-03-12T17:19:07Z smokeink quit (Ping timeout: 258 seconds) 2017-03-12T17:19:31Z neoncontrails joined #lisp 2017-03-12T17:21:04Z foojin joined #lisp 2017-03-12T17:23:57Z neoncontrails quit (Ping timeout: 240 seconds) 2017-03-12T17:27:23Z yrk quit (Remote host closed the connection) 2017-03-12T17:28:05Z dtornabene joined #lisp 2017-03-12T17:34:21Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-12T17:34:43Z wtetzner joined #lisp 2017-03-12T17:37:39Z test1600 quit (Ping timeout: 268 seconds) 2017-03-12T17:38:39Z shka_: well 2017-03-12T17:38:49Z shka_: if they C can use openmp 2017-03-12T17:38:53Z neoncontrails joined #lisp 2017-03-12T17:39:00Z shka_: i can use lparallel 2017-03-12T17:39:04Z shka_: ;-) 2017-03-12T17:39:55Z dtornabene: any thoughts on the Object Oriented Common Lisp book by Keene? 2017-03-12T17:40:05Z klltkr joined #lisp 2017-03-12T17:40:22Z kini joined #lisp 2017-03-12T17:42:29Z shka_: dtornabene: it is OK 2017-03-12T17:42:46Z shka_: not phenomenal or anything, but it is ok 2017-03-12T17:43:13Z dtornabene: cool, thanks 2017-03-12T17:43:18Z shka_: the only problem i had with it is that it was written before standard was finalized 2017-03-12T17:43:32Z dtornabene: how much does it differ from the standard? 2017-03-12T17:43:35Z shka_: so there are minor problems here and there 2017-03-12T17:43:38Z shka_: not by much 2017-03-12T17:44:07Z shka_: ok, i spent way to much time on that benchmark 2017-03-12T17:44:33Z shka_: and for some reason my results are different 2017-03-12T17:44:53Z shka_: web page says that #3 is slower 2017-03-12T17:44:59Z shka_: for me, it is is faster 2017-03-12T17:48:26Z manuel__ joined #lisp 2017-03-12T17:49:21Z shka_: which is nice because it is far simpler and can run in parallel without any issue 2017-03-12T17:49:44Z manuel_ quit (Ping timeout: 260 seconds) 2017-03-12T17:50:12Z manuel__ is now known as manuel_ 2017-03-12T17:50:25Z yrk joined #lisp 2017-03-12T17:51:05Z yrk quit (Changing host) 2017-03-12T17:51:05Z yrk joined #lisp 2017-03-12T17:55:59Z dtornabene quit (Remote host closed the connection) 2017-03-12T17:57:42Z sbodin joined #lisp 2017-03-12T17:58:16Z prole joined #lisp 2017-03-12T17:58:16Z Oladon quit (Read error: Connection reset by peer) 2017-03-12T17:59:16Z atheris joined #lisp 2017-03-12T17:59:17Z Einwq joined #lisp 2017-03-12T18:01:17Z Oladon joined #lisp 2017-03-12T18:01:51Z fourier joined #lisp 2017-03-12T18:04:33Z puchacz: hi, does anybody know please why uffi has pretty complex implementation of convert-from-foreign-string for sbcl, while the manual says that strings are converted automatically between Lisp and alien? 2017-03-12T18:06:16Z Bike: uffi is old, and maybe predates sbcl doing that? 2017-03-12T18:07:27Z manuel_ quit (Ping timeout: 240 seconds) 2017-03-12T18:08:35Z manuel_ joined #lisp 2017-03-12T18:09:42Z oleo joined #lisp 2017-03-12T18:19:28Z vibs29 quit (Ping timeout: 240 seconds) 2017-03-12T18:19:28Z manuel_ quit (Ping timeout: 246 seconds) 2017-03-12T18:19:51Z nirved quit (Quit: Leaving) 2017-03-12T18:20:20Z manuel_ joined #lisp 2017-03-12T18:22:05Z libreman quit (Ping timeout: 240 seconds) 2017-03-12T18:22:33Z libreman joined #lisp 2017-03-12T18:24:21Z manuel__ joined #lisp 2017-03-12T18:24:36Z vibs29 joined #lisp 2017-03-12T18:25:37Z manuel_ quit (Ping timeout: 260 seconds) 2017-03-12T18:26:41Z manuel__ is now known as manuel_ 2017-03-12T18:28:00Z fourier quit (Ping timeout: 260 seconds) 2017-03-12T18:31:37Z drmeister: If I installed hunchentoot using (ql:quickload "hunchentoot") and then realized that there are implementation dependent features that I need to specialize for clasp. If I clone hunchentoot from github into ~/quicklisp/local-projects and delete it from ~/quicklisp/dists/quicklisp/software - will everything just work? 2017-03-12T18:31:51Z drmeister: I realize it's kind of a specialized question. 2017-03-12T18:32:03Z drmeister: I'm proceeding as if everything will just work. 2017-03-12T18:32:17Z Bike: it should work 2017-03-12T18:33:19Z Bike: actually i think it'll work even if you don't delete quicklisp's 2017-03-12T18:33:24Z lerax joined #lisp 2017-03-12T18:33:26Z knicklux joined #lisp 2017-03-12T18:37:29Z zooey quit (Remote host closed the connection) 2017-03-12T18:38:06Z zooey joined #lisp 2017-03-12T18:40:14Z prole quit (Remote host closed the connection) 2017-03-12T18:40:55Z safe joined #lisp 2017-03-12T18:41:41Z grumble quit (Read error: Connection reset by peer) 2017-03-12T18:42:46Z fourier joined #lisp 2017-03-12T18:43:48Z grumble joined #lisp 2017-03-12T18:51:04Z oleo quit (Quit: Leaving) 2017-03-12T19:00:40Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-12T19:01:23Z pjb: puchacz: old and completely deprecated; use cffi instead. 2017-03-12T19:05:28Z manuel_ quit (Ping timeout: 240 seconds) 2017-03-12T19:06:03Z manuel_ joined #lisp 2017-03-12T19:10:11Z manuel_ quit (Read error: Connection reset by peer) 2017-03-12T19:10:22Z manuel_ joined #lisp 2017-03-12T19:10:54Z fourier quit (Ping timeout: 240 seconds) 2017-03-12T19:14:06Z emacsomancer joined #lisp 2017-03-12T19:14:48Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-12T19:18:24Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-12T19:19:06Z xrash joined #lisp 2017-03-12T19:19:23Z oleo joined #lisp 2017-03-12T19:19:34Z flip214: drmeister: in the worst case you might need to restart your lisp, to make quicklisp find the other location. 2017-03-12T19:22:36Z nowhere_man joined #lisp 2017-03-12T19:25:22Z Intensity joined #lisp 2017-03-12T19:27:09Z manuel__ joined #lisp 2017-03-12T19:27:16Z manuel_ quit (Ping timeout: 260 seconds) 2017-03-12T19:27:16Z manuel__ is now known as manuel_ 2017-03-12T19:28:57Z bocaneri quit (Read error: Connection reset by peer) 2017-03-12T19:30:55Z knicklux quit (Remote host closed the connection) 2017-03-12T19:31:11Z Intensity quit (Quit: Quit) 2017-03-12T19:31:15Z manuel__ joined #lisp 2017-03-12T19:31:21Z Intensity joined #lisp 2017-03-12T19:32:20Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-12T19:32:20Z manuel__ is now known as manuel_ 2017-03-12T19:37:18Z fourier joined #lisp 2017-03-12T19:39:04Z pebblexe_: what's this list type with a period called again?: ('x . 'y) 2017-03-12T19:39:44Z nowhere_man quit (Quit: Konversation terminated!) 2017-03-12T19:39:47Z cromachina: dotted list 2017-03-12T19:39:49Z nowhereman joined #lisp 2017-03-12T19:42:49Z aeth: I thought that that's just the literal notation for a cons cell/pair 2017-03-12T19:43:11Z aeth: And dotted lists are only when the . is in a longer list like '(x y . z) 2017-03-12T19:43:17Z aeth: Although I guess they might be a subtype of dotted list 2017-03-12T19:43:50Z pjb: cromachina: nope, it's a proper list! 2017-03-12T19:43:58Z pjb: (proper-list-p '('x . 'y)) #| --> t |# 2017-03-12T19:44:23Z pjb: '('x . 'y) --> ('x quote y) 2017-03-12T19:44:27Z pjb: pebblexe_: proper-list 2017-03-12T19:44:52Z aeth: but the quote wasn't there :-p 2017-03-12T19:44:55Z aeth: ('x . 'y) => illegal function call 2017-03-12T19:44:59Z aeth: That's what it really is 2017-03-12T19:45:18Z pebblexe_: thanks! 2017-03-12T19:45:21Z pjb: Nope, this is what it would evaluate to. 2017-03-12T19:45:33Z pjb: aeth: you add a quote when you go from data to code 2017-03-12T19:45:48Z krasnal quit (Ping timeout: 240 seconds) 2017-03-12T19:45:52Z pjb: pebblexe_: quotes in data can lead to misleading. 2017-03-12T19:46:08Z aeth: Execution of a form compiled with errors.\nForm:\n ('X QUOTE Y)\nCompile-time error:\n illegal function call 2017-03-12T19:46:11Z aeth: :-p 2017-03-12T19:46:31Z cromachina: regardless of how it evaluates to.. he probably wants to know what the dot generally refers to 2017-03-12T19:46:41Z pjb: aeth: you take it as code, but pebblexe_ asked about it as data! 2017-03-12T19:46:44Z Intensity quit (Changing host) 2017-03-12T19:46:44Z Intensity joined #lisp 2017-03-12T19:46:45Z cromachina: hence dotted list 2017-03-12T19:47:08Z pjb: cromachina: nope. A dotted list is a list whose last cons cells has a non-nil atom in its cdr. 2017-03-12T19:47:24Z pjb: ('x . 'y) is NOT a dotted list. Never has been, never will be. 2017-03-12T19:47:54Z cromachina: yes i know 2017-03-12T19:48:07Z pjb: And the dot notation in lisp is unrelated to dotted list, but to cons cells. 2017-03-12T19:48:22Z aeth: pjb: you're absolutely correct, I should have errored on the first error, i.e. "The variable WHAT is unbound." 2017-03-12T19:49:14Z pjb: pebblexe_: if you consider ('x . 'y) as a list, then it is a proper list. If you consider it as a data item, then it is a cons cell. The dot notation let you enter literal cons cells. (a . d) is the cons cell with a in its car and d in its cdr. 2017-03-12T19:49:19Z vlatkoB quit (Remote host closed the connection) 2017-03-12T19:49:33Z pebblexe_: pjb: okay, I think I get it now 2017-03-12T19:49:55Z pebblexe_: thanks for going in depth 2017-03-12T19:50:02Z pjb: pebblexe_: lists are chains of cons cells: (a . (b . (c . nil))) == (a b c) 2017-03-12T19:50:38Z pjb: pebblexe_: 'x == (quote x) so ('x . 'y) == ((quote x) . (quote y)) == ((quote x) quote y) which is a list of 3 items. 2017-03-12T19:50:52Z pjb: But any non-empty list is a cons cell too. 2017-03-12T19:52:28Z pjb: pebblexe_: you can also ask lisp about types: (type-of '('x . 'y)) #| --> cons |# 2017-03-12T19:53:08Z Ven joined #lisp 2017-03-12T19:58:07Z attila_lendvai joined #lisp 2017-03-12T19:59:29Z test1600 joined #lisp 2017-03-12T20:09:51Z wtetzner quit (Remote host closed the connection) 2017-03-12T20:09:54Z drmeister: flip214, Bike: Thanks - I got it running somewhat. Now I'm dealing with my first bug involving threading. 2017-03-12T20:10:18Z drmeister: https://www.irccloud.com/pastebin/yXJwGuJU/ 2017-03-12T20:11:19Z drmeister: An Illegal function designator 0 means I have a function designator that is uninitialized (initialized to NULL, which is fixnum 0 in Clasp) 2017-03-12T20:11:32Z drmeister: I have to figure out where/why this is happening. 2017-03-12T20:11:51Z drmeister: Is there any kind of detailed debugging/verbose mode for hunchentoot? Looking... 2017-03-12T20:18:03Z foojin: Sorry for an elisp-related question but #emacs is closed for unregistered users. Anyway, how are quoted values actually allocated: once (as if they're constants) or every time I evaluate them? 2017-03-12T20:18:07Z foojin: More specifically, how is `(nil (nil)) different from `(nil (,nil)) if my intention is to store it in a variable and mutate it afterwards? 2017-03-12T20:20:01Z Bike: i don't know the elisp semantics, but in lisp altering either is undefined behavior 2017-03-12T20:26:37Z krasnal joined #lisp 2017-03-12T20:26:47Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-12T20:28:42Z atheris quit (Ping timeout: 260 seconds) 2017-03-12T20:33:44Z foojin: Bike: Assuming elisp has the same rule, would (list nil '(nil)) be the least verbose way of expressing the same value? BTW the '(nil) would only be read and eventually cut out entirely. 2017-03-12T20:34:14Z Bike: if you mean that you're just going to change what the second element is without mutating it, yeah 2017-03-12T20:37:24Z prxq joined #lisp 2017-03-12T20:39:31Z foojin: Bike: Yes. that's what I have in mind. Thanks for pointing out the undefined behavior thing, I'll try to find a specification for elisp to see if it has the same quirk. 2017-03-12T20:41:18Z boboc joined #lisp 2017-03-12T20:41:43Z angavrilov_ quit (Remote host closed the connection) 2017-03-12T20:44:04Z jasom: foojin: copy-list of a backquote is the lazy way to allow modification of the list structure. 2017-03-12T20:46:08Z boboc: Hi all, i'm an iOS developer and after reading some web articles i decides to learn lisp. I've read that even if i will not program in Lisp it will be very valuable to learn. Any recommendations? 2017-03-12T20:46:34Z jasom: minion: tell boboc about pcl 2017-03-12T20:46:34Z minion: boboc: please look at pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 2017-03-12T20:47:25Z boboc: jasom: thanks 2017-03-12T20:47:28Z jasom: boboc: also, for a working portable IDE, check out https://shinmera.github.io/portacle/ 2017-03-12T20:47:45Z shka_: this bot is so useful :-) 2017-03-12T20:48:01Z jasom: boboc: IIRC Practical Common Lisp links to a no longer maintained lisp development environment 2017-03-12T20:50:23Z jasom: minion: add "portacle" as: Portacle is a complete IDE for Common Lisp that you can take with you on a USB stick https://shinmera.github.io/portacle/ 2017-03-12T20:50:23Z minion: OK, done. 2017-03-12T20:50:37Z jasom: minion: tell me about portacle 2017-03-12T20:50:37Z minion: jasom: portacle: Portacle is a complete IDE for Common Lisp that you can take with you on a USB stick https://shinmera.github.io/portacle/ 2017-03-12T20:52:00Z pjb: boboc: there are ways to use lisp in iOS programs. Eg. you can use mocl ( http://www.wukix.com ), or theorically, ccl or ecl (no batteries included). But it will be more work than just using Xcode. 2017-03-12T20:52:51Z jasom: boboc: I would not recommend your first lisp program to be on iOS for the reasons pjb mentions; it's quite straightforward to develop for desktops though. 2017-03-12T20:53:10Z pjb: Notably, for macOS, ccl works nicely. 2017-03-12T20:53:34Z pjb: You can get it from the AppStore "Clozure CL .app" 2017-03-12T20:54:28Z foojin: jasom: Thanks, that would come in handy with larger lists, a lot better than putting "list" everywhere. 2017-03-12T20:54:54Z jasom: foojin: sorry copy-tree not copy-list 2017-03-12T20:55:04Z jasom: clhs copy-tree 2017-03-12T20:55:04Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_cp_tre.htm 2017-03-12T20:55:36Z test1600 quit (Ping timeout: 268 seconds) 2017-03-12T20:57:15Z wtetzner joined #lisp 2017-03-12T20:59:46Z foojin: jasom: Browsing through the manual I nearly thought that it was renamed to copy-tree in elisp. 2017-03-12T21:00:27Z cibs quit (Ping timeout: 240 seconds) 2017-03-12T21:01:26Z wtetzner quit (Remote host closed the connection) 2017-03-12T21:02:30Z cibs joined #lisp 2017-03-12T21:05:40Z payphone quit (Read error: Connection reset by peer) 2017-03-12T21:06:06Z payphone joined #lisp 2017-03-12T21:09:11Z boboc: thanks guys 2017-03-12T21:10:25Z vtomole joined #lisp 2017-03-12T21:10:37Z jasom: speaking of IDEs, I've just got to code the UI for the REPL in my geany lisp-mode and it will be ready for unleashing on the world. 2017-03-12T21:20:31Z puchacz quit (Quit: Konversation terminated!) 2017-03-12T21:23:53Z EvW1 joined #lisp 2017-03-12T21:26:02Z Lord_of_Life quit (Excess Flood) 2017-03-12T21:30:58Z Lord_of_Life joined #lisp 2017-03-12T21:37:16Z neoncontrails quit (Remote host closed the connection) 2017-03-12T21:44:56Z Harag quit (Ping timeout: 260 seconds) 2017-03-12T21:46:50Z Lord_of_Life quit (Excess Flood) 2017-03-12T21:48:08Z neoncontrails joined #lisp 2017-03-12T21:48:28Z Lord_of_Life joined #lisp 2017-03-12T21:55:25Z gingerale quit (Remote host closed the connection) 2017-03-12T21:56:16Z Harag joined #lisp 2017-03-12T21:59:22Z neoncontrails quit (Remote host closed the connection) 2017-03-12T22:03:33Z phoe: jasom: show me some screeeeens. 2017-03-12T22:03:36Z boboc quit 2017-03-12T22:05:26Z jasom: phoe: not too much new screenshot wise, I mainly have fixed bugs. I also now made it so the "Make" command in geany will do a load-system with the system name of the current project. 2017-03-12T22:05:44Z jasom: but tab-completion and jumping to definitions and all that look the same 2017-03-12T22:10:02Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-12T22:13:37Z phoe: jasom: I don't want "new" to be exact 2017-03-12T22:13:43Z phoe: I haven't seen the project at all. 2017-03-12T22:13:55Z jasom: OH 2017-03-12T22:13:59Z phoe: So link me to anything! 2017-03-12T22:14:36Z jasom: http://i.imgur.com/yI8OjdV.png http://i.imgur.com/VKOHGJm.png http://i.imgur.com/o5LMFUt.png 2017-03-12T22:15:04Z jasom: they are completion, jump-to-definition and highlighting compiler warnings respectively 2017-03-12T22:15:46Z fourier: jasom: wow looks awesome! publish on r/lisp so people could upvote you to the stars ? 2017-03-12T22:16:16Z jasom: right, once there's a REPL I'll publish it 2017-03-12T22:16:38Z fourier: cool 2017-03-12T22:16:41Z jasom: just a lot of writing GTK code in C that I wasn't looking forward to; all of the plumbing is there in the slime server though. 2017-03-12T22:17:23Z jasom: Also I need to write enough documentation for someone to actually be able to use it. 2017-03-12T22:17:34Z jasom: which probably also includes figuring out how to build a .deb for Ubuntu 2017-03-12T22:19:16Z EvW1 quit (Ping timeout: 258 seconds) 2017-03-12T22:19:51Z fourier: jasom: it will worth it. having more ide choices for CL is just awesome. most people leave afte the phrase : "well first you need to install emacs" 2017-03-12T22:23:20Z jack_rabbit joined #lisp 2017-03-12T22:24:19Z test1600 joined #lisp 2017-03-12T22:29:40Z phoe: jasom: geez 2017-03-12T22:29:44Z phoe: this is so awesome 2017-03-12T22:30:13Z phoe: finally we will have an argument against the de facto truth that writing Lisp requires Emacs 2017-03-12T22:30:16Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-12T22:31:38Z aeth: All you really need to compete with emacs is reimplement: slime, paredit, magit. 2017-03-12T22:31:42Z aeth: That is basically my CL workflow in emacs. 2017-03-12T22:31:51Z aeth: There are alternatives to paredit, of course. 2017-03-12T22:31:53Z neoncontrails joined #lisp 2017-03-12T22:32:05Z aeth: Manually manging parentheses is as annoying as manually managing indentation, though. 2017-03-12T22:32:37Z manuel_ joined #lisp 2017-03-12T22:37:10Z phoe: aeth: and rainbow-delimiters 2017-03-12T22:37:24Z phoe: aeth: actually, indentation is much more annoying 2017-03-12T22:37:34Z aeth: I find fancy parens redundant with paredit. 2017-03-12T22:37:38Z phoe: there are two things in working with parens 2017-03-12T22:37:39Z aeth: If I'm lost I can just press ) 2017-03-12T22:37:41Z atheris joined #lisp 2017-03-12T22:37:56Z phoe: one is automatic matching each ( with the respective ) 2017-03-12T22:38:02Z phoe: and the other is paredit, forcing each ( to have a matching ) 2017-03-12T22:38:37Z aeth: Also, if you're really lost in a sea of parentheses, do this: (declaim (inline %foo) (defun %foo (bar baz) ...) and break up that function without losing any performance... imo. 2017-03-12T22:38:51Z aeth: oh oops, I missed a ) for declaim :-p 2017-03-12T22:40:47Z aeth: Tiny functions can get rid of most comments imo, except e.g. comments when you explain why you did something in a non-obvious way rather than the obvious way that causes some issue. 2017-03-12T22:43:39Z pmc joined #lisp 2017-03-12T22:44:35Z aeth: (If inline functions don't work, there are always macros or reader macros.) 2017-03-12T22:44:43Z shenghi quit (Quit: WeeChat 1.6) 2017-03-12T22:44:59Z shenghi joined #lisp 2017-03-12T22:45:52Z edgar-rft: aeth: you could add a coment that explains why you haven't deleted the comment 2017-03-12T22:48:09Z pmc quit (Client Quit) 2017-03-12T22:52:48Z aeth: The most consecutive )s I have in one program: 12 )s (1 times), 8 )s (3 times), 7 )s (6 times), 6 )s (11 times), 5 )s (32 times) 2017-03-12T22:53:30Z lerax quit (Read error: Connection reset by peer) 2017-03-12T22:53:50Z lerax joined #lisp 2017-03-12T22:54:02Z aeth: interestingly that's approximately powers of 2, i.e. 2 4 8 16 32... so I can predict I have 64 4 )s, 128 3 )s, 256 2 )s, and 512 1 )s 2017-03-12T22:55:13Z aeth: This underestimates the )s and ))s 2017-03-12T22:58:26Z prxq quit (Remote host closed the connection) 2017-03-12T22:59:54Z sbodin quit (Ping timeout: 240 seconds) 2017-03-12T23:02:41Z specbot quit (Disconnected by services) 2017-03-12T23:03:27Z specbot joined #lisp 2017-03-12T23:05:09Z MoALTz quit (Ping timeout: 269 seconds) 2017-03-12T23:05:44Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-12T23:05:56Z impulse joined #lisp 2017-03-12T23:08:35Z mishoo quit (Ping timeout: 240 seconds) 2017-03-12T23:09:28Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-12T23:09:49Z klltkr joined #lisp 2017-03-12T23:12:28Z shka_ quit (Ping timeout: 240 seconds) 2017-03-12T23:14:33Z rumbler31 joined #lisp 2017-03-12T23:17:54Z neoncontrails quit (Remote host closed the connection) 2017-03-12T23:18:54Z vibs29 quit (Ping timeout: 240 seconds) 2017-03-12T23:19:34Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-12T23:20:07Z manuel_ joined #lisp 2017-03-12T23:24:07Z vibs29 joined #lisp 2017-03-12T23:25:41Z shifty joined #lisp 2017-03-12T23:27:08Z krrrcks_ quit (Ping timeout: 260 seconds) 2017-03-12T23:27:41Z krrrcks joined #lisp 2017-03-12T23:32:16Z krrrcks quit (Ping timeout: 260 seconds) 2017-03-12T23:38:43Z krrrcks joined #lisp 2017-03-12T23:42:29Z foojin quit (Quit: leaving) 2017-03-12T23:42:51Z manuel__ joined #lisp 2017-03-12T23:43:15Z Kaisyu joined #lisp 2017-03-12T23:43:56Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-12T23:43:56Z manuel__ is now known as manuel_ 2017-03-12T23:47:39Z manuel__ joined #lisp 2017-03-12T23:48:27Z pve quit (Ping timeout: 240 seconds) 2017-03-12T23:48:28Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-12T23:51:25Z manuel_ joined #lisp 2017-03-12T23:52:26Z manuel__ quit (Ping timeout: 256 seconds) 2017-03-12T23:56:05Z boboc_ joined #lisp 2017-03-12T23:57:29Z manuel__ joined #lisp 2017-03-12T23:58:37Z manuel_ quit (Read error: Connection reset by peer) 2017-03-12T23:58:37Z manuel__ is now known as manuel_ 2017-03-12T23:59:22Z test1600 quit (Ping timeout: 268 seconds) 2017-03-13T00:03:05Z boboc_ quit 2017-03-13T00:04:41Z boboc joined #lisp 2017-03-13T00:05:38Z boboc_ joined #lisp 2017-03-13T00:05:40Z boboc_ quit (Remote host closed the connection) 2017-03-13T00:12:24Z boboc quit (Remote host closed the connection) 2017-03-13T00:14:00Z fourier: aeth: paredit overvalued - I never used them since if I press Backspace I expect to actually delete the charater before the point. Sure a lot of people would find it useful, but not those who while editing the text expects, well, to edit the text 2017-03-13T00:14:57Z fourier: aeth: magit could be good, but it can't replace normal command line with completion - like zsh + oh-my-zsh. Also it is slow as hell. 2017-03-13T00:15:29Z pillton: You aren't editing text. You are editing s-expressions. 2017-03-13T00:15:39Z fourier: so the last is slime, but again it depends mostly on clients like what jasom implements 2017-03-13T00:16:33Z fourier: pillton: no I edit the text which happens to contain s-exprs. and then I hit the key to erase char i expect char to be erased 2017-03-13T00:16:34Z pjb: fourier: backspace! Use switches, and reset them bit-by-bit! 2017-03-13T00:17:23Z wildlander quit (Quit: Saliendo) 2017-03-13T00:18:45Z fourier: i mean the reason most people use emacs is what it is not doing anything fancy with the text, unlike IDEs. It just works and allows you to edit the text in different manners. But paredit just prevents you from modifying freaking text in a usual way! sure it is helpful to a lot of people, but me personally never get ok with it. 2017-03-13T00:19:52Z impulse quit (Ping timeout: 260 seconds) 2017-03-13T00:22:04Z Xach: I liked that I was able to stop worrying that I had misplaced structure. That was a frequent problem when I balanced things manually. 2017-03-13T00:24:00Z aeth: fourier: emacs lisp is slow as hell 2017-03-13T00:24:06Z pjb: fourier: no, the point of emacs, is that you can program it to automatize your editing tasks. This means that now instead of editing characters, you're editing sexps. 2017-03-13T00:24:34Z fourier: aeth: maybe that is the reason. 2017-03-13T00:24:34Z pjb: The next step would be to be editing definitions or specifications, and to let emacs write the code for you! 2017-03-13T00:24:34Z aeth: fourier: also, oh-my-zsh is unusably slow, completely ruining zsh, last I checked (it has been a while) 2017-03-13T00:25:02Z pjb: (emacs has emacs lisp so you can write an AI in emacs lisp to help you). 2017-03-13T00:25:04Z aeth: And besides, I personally would much rather be able to review my diffs in the same editor before commiting, using commit messages written in the same editor. 2017-03-13T00:25:12Z fourier: aeth: using it on a daily basis for couple of years 2017-03-13T00:25:13Z aeth: Obviously for fancy stuff I drop down to the command line. 2017-03-13T00:26:22Z aeth: fourier: I think the reason most people use emacs is that it's one of the few editors where you don't ever need to touch the mouse. 2017-03-13T00:26:33Z fourier: pjb: i'm fairly ok with emacs :) I just don't get extensions which prevents text editing 2017-03-13T00:27:08Z aeth: Emacs is buffer-oriented rather than having clickable things (once you turn off the unnecessary tool bar and menu bar and scroll bar bloat), so it's 100% keyboard-driven. 2017-03-13T00:27:23Z aeth: (Although some buffers do rarely have clickable things) 2017-03-13T00:28:26Z fourier: aeth: I know I know :) I said I more/less comfortable with emacs itself. just not paredit 2017-03-13T00:29:31Z aeth: And as for text editing vs s-expression editing, I agree with pjb. e.g. when I C-k at the start of an s-expression, I expect to take a well-formed s-expression in that kill. I don't want to have to select it, and I normally can't just count out how many lines to kill even if it's short because of the ")))))..." style. 2017-03-13T00:30:43Z aeth: Without paredit, and with the standard CL style, the core emacs feature of C-k is broken because even C-u 3 C-k for a three-line subexpression is probably going to imbalance the parens and break things 2017-03-13T00:30:48Z fourier: but it contradicts the way you are using emacs in all other buffers 2017-03-13T00:31:22Z aeth: Other buffers break the rules in different ways, e.g. REPLs and eshell. 2017-03-13T00:31:24Z fourier: meaning - do what I said and don't be too smart 2017-03-13T00:31:29Z aeth: Emacs is very mode-dependent. 2017-03-13T00:31:31Z pjb: Again, each buffer in emacs is in a different mode. 2017-03-13T00:32:04Z fourier: sure, but prog-mode derived buffers behaves more/less the same 2017-03-13T00:32:30Z fourier: like imaging pressing backspace in C mode will kill up to the prev { or ( whateevr is first 2017-03-13T00:32:52Z fourier: awesome? maybe.. most likely you would like to review what it has done 2017-03-13T00:32:52Z aeth: Different languages necessitate the rules being broken in different ways. E.g. languages with whitespace being significant like Python need to be special cases for auto-indentation, and various ways to handle indentation 2017-03-13T00:33:14Z varjag quit (Ping timeout: 256 seconds) 2017-03-13T00:33:53Z aeth: CL just happens to need a non-line-oriented way to kill text because of its )))) style. } languages have }s on their own line and "end" languages have "end"s on their own line 2017-03-13T00:34:36Z Karl_Dscc quit (Remote host closed the connection) 2017-03-13T00:34:41Z aeth: And it only behaves specially when on top of the ( anyway. Maybe other languages *should* kill the block when you're on the { 2017-03-13T00:35:26Z aeth: (There are *some* annoying things in Paredit, one of which I had to disable because it was that annoying... but for the most part, I can't live without being able to kill a whole expression at once from being on "(") 2017-03-13T00:35:31Z PongoTwistleton joined #lisp 2017-03-13T00:36:54Z aeth: But, again, s-expressions are not particularly line oriented, especially when )s are bunched together, so line-oriented assumptions need to be broken by the editor imo. 2017-03-13T00:37:10Z neoncontrails joined #lisp 2017-03-13T00:38:31Z pjb quit (Quit: Good night!) 2017-03-13T00:38:39Z xrash quit (Read error: Connection reset by peer) 2017-03-13T00:38:56Z PongoTwistleton quit (Remote host closed the connection) 2017-03-13T00:39:24Z fourier quit (Ping timeout: 240 seconds) 2017-03-13T00:43:18Z aeth: (expt 0 0) => 1 2017-03-13T00:43:23Z aeth: Wow, CL violates mathematics. 2017-03-13T00:44:37Z aeth: Afaik that's saying that 1/0 * 0 = 1 2017-03-13T00:45:31Z grublet quit (Quit: Leaving) 2017-03-13T00:46:06Z Bike: 0^0 is indeterminate 2017-03-13T00:46:34Z Bike: https://en.wikipedia.org/wiki/Indeterminate_form#Indeterminate_form_00 2017-03-13T00:46:49Z aeth: right but on other numbers it's 1 because 1/x * x = 1... x^0 = 1, x^1 = 1 * x, x^2 = 1 * x * x, ... 2017-03-13T00:46:50Z JuanDaugherty joined #lisp 2017-03-13T00:46:55Z aeth: And you move down by multiplying more by 1/x 2017-03-13T00:47:14Z aeth: e.g. 1/x * 1/x * x = 1/x (that's x^-1) 2017-03-13T00:47:24Z wtetzner joined #lisp 2017-03-13T00:47:37Z aeth: (expt 0 some-negative-number) errors because that'd be saying 1/(0^some-negative-number) 2017-03-13T00:47:39Z Bike: there's not much point in all this algebra when it's clear from the limits. 2017-03-13T00:48:35Z aeth: but at from this definition at least, x^0 = 1/x * x = 1, where x =/= 0 2017-03-13T00:48:42Z Bike: the clhs page on expt gives the definition in terms of exp 2017-03-13T00:49:36Z aeth: Bike: and it should error through that definition too 2017-03-13T00:49:51Z Bike: it says specifically that 0^0 is one. 2017-03-13T00:51:52Z aeth: it gives the definition e^x log b, i.e. (exp (* x (log b))) 2017-03-13T00:51:57Z aeth: and log 0 errors too 2017-03-13T00:52:12Z Bike: but there's a branch cut. 2017-03-13T00:52:24Z wtetzner quit (Ping timeout: 240 seconds) 2017-03-13T00:52:57Z aeth: if anyone's too lazy to clhs btw: http://www.lispworks.com/documentation/HyperSpec/Body/f_exp_e.htm 2017-03-13T00:55:34Z cromachina quit (Read error: Connection timed out) 2017-03-13T00:56:01Z aeth: Okay, CL doesn't violate mathematics. I was exaggerating. 2017-03-13T00:56:09Z aeth: It does, afaik, use a nonstandard 0^0 definition, though 2017-03-13T00:56:22Z Bike: the standard definition of 0^0 is "indeterminate, so just use whatever is convenient' 2017-03-13T00:56:24Z TDT joined #lisp 2017-03-13T00:56:33Z cromachina joined #lisp 2017-03-13T00:56:53Z Bike: because, again, it's easy to show that the limit of x^0 is one, and the limit of 0^x is zero 2017-03-13T00:57:01Z Bike: so something's gotta give 2017-03-13T00:57:03Z aeth: What stops CL from defining division by 0, then? 2017-03-13T00:57:16Z Bike: it's not convenient 2017-03-13T00:57:34Z pillton: It lacks an infinity constant. :) 2017-03-13T00:57:53Z Bike: it's not like arithmetic has to use a riemann sphere 2017-03-13T00:58:07Z aeth: pillton: yes 2017-03-13T00:58:47Z aeth: Bike: But Lisp arithmetic normally gets so much so right imo, with the numerical tower, rationals, complex, etc. 2017-03-13T00:59:01Z Bike: you still think this is "wrong" 2017-03-13T01:00:09Z aeth: https://en.wikipedia.org/wiki/Exponentiation#Zero_to_the_power_of_zero 2017-03-13T01:00:12Z Bike: and i don't know why? you can work out that 0^0 should be zero by a perfectly legitimate series of manipulations, and another perfectly legitimate series of manipulations will get you one, and neither of them is inherently the right way to do it 2017-03-13T01:00:16Z cromachina: division by zero is not defined. limits are not numbers 2017-03-13T01:00:46Z Bike: aeth: i know all this, do you mean to refer to something specifically 2017-03-13T01:02:08Z aeth: I suppose there's no clear answer 2017-03-13T01:04:13Z Bike: the clear answer is there's more than one way to assign a value to it. check that graph under "continuous exponents". different limits get you different answers. on a basic level this is because 0,0 is a branch point of expt, and it's not going to go away, because expt is inherently a multifunction 2017-03-13T01:05:23Z Bike: lisp math functions usually have well defined behavior there, and so does expt. this answer has the advantage of matching empty product, which helps the easy definition of expt on nonnegative integer exponents 2017-03-13T01:05:45Z vtomole quit (Ping timeout: 260 seconds) 2017-03-13T01:06:45Z bocaneri joined #lisp 2017-03-13T01:06:46Z bocaneri quit (Max SendQ exceeded) 2017-03-13T01:07:38Z LiamH joined #lisp 2017-03-13T01:10:05Z manuel__ joined #lisp 2017-03-13T01:10:16Z aeth: Personally, I'd go with this pragmatic explanation: Math software is split, programming langauges almost always go with 0^0 = 1, and CL is the latter, not the former, and it'd break programming expectations not to conform. 2017-03-13T01:10:46Z vtomole joined #lisp 2017-03-13T01:10:57Z aeth: Although, on the other hand, CL does happen to allow e.g. (expt -3.5 5.5) because it supports complex. 2017-03-13T01:11:46Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-13T01:11:46Z manuel__ is now known as manuel_ 2017-03-13T01:12:40Z blabladog joined #lisp 2017-03-13T01:12:56Z Bike: CL is probably earlier than a lot of this. it might copy APL, which also seems to define 0^0 as one 2017-03-13T01:13:32Z Bike: ⍺*⍵ equals ×/⍵⍴⍺, clears this right up 2017-03-13T01:14:19Z aeth: I am for some reason getting ?s when I normally get unicode. What are those symbols? 2017-03-13T01:14:36Z Bike: apl symbols 2017-03-13T01:14:48Z Bike: though i think that's just greek 2017-03-13T01:14:49Z aeth: the online logs in the topic also have noise instead of proper Unicode, hmm 2017-03-13T01:15:00Z Bike: i think the logger is ascii, sadly 2017-03-13T01:15:26Z Bike: oh nope they are apl symbols MULTIPLICATION SIGN, SOLIDUS, APL FUNCTIONAL SYMBOL OMEGA, etc RHO, etc ALPHA 2017-03-13T01:15:29Z aeth: I do need to restart this IRC client at some point when there's not that much activity so I can get unicode back... 2017-03-13T01:15:32Z blabladog quit (Remote host closed the connection) 2017-03-13T01:15:43Z bocaneri joined #lisp 2017-03-13T01:15:44Z Einwq quit (Ping timeout: 256 seconds) 2017-03-13T01:15:57Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-03-13T01:18:03Z TruePika: hm, I've found out why some of my oldish code has always had trouble with UCS-32 2017-03-13T01:18:51Z TruePika: JSON only supports up to UTF-16 encoding, such that some characters are stored as a surrogate pair 2017-03-13T01:19:13Z aeth: JavaScript: still a terrible idea 2017-03-13T01:19:36Z TruePika: and then cl-json isn't smart enough to merge such a pair into a single character, resulting in SBCL getting that pair of characters invalid in UTF-8 2017-03-13T01:20:09Z TruePika: aeth: JSON has uses as being more lightweight than XML 2017-03-13T01:21:08Z TruePika: anyway, now I'm trying to figure out the easiest way to convert this "UTF-16" string to the native CHARACTER encoding 2017-03-13T01:21:10Z aeth: It's amazing how many problems solved more than 20 years ago that the web is unsolving, though. Although I guess the alternative is Win32's wrong-forever backwards compatibility rather than the right thing. 2017-03-13T01:21:48Z lambda-smith joined #lisp 2017-03-13T01:22:31Z TruePika: the funniest part of this is that the JSON has a big chunk of HTML in it 2017-03-13T01:22:57Z TruePika: and I need this in the native format for closure-html to work with it correctly 2017-03-13T01:23:54Z TruePika: or as UTF-8 on disk; the easiest way to save it to disk is UTF-16 (saving the CHAR-CODE values as (unsigned-byte 16) so the surrogate pairs get interpreted) 2017-03-13T01:26:04Z TruePika: One of my professors still believes that ASCII is a 7-or-8 bit encoding 2017-03-13T01:26:33Z TruePika: and that extended ASCII (8 bits) is an official thing (and not actually CP437/CP1252) 2017-03-13T01:28:25Z TruePika: I'm not sure if cl-json's handling of '\uXXXX' is in error, meh 2017-03-13T01:34:15Z neoncontrails quit (Remote host closed the connection) 2017-03-13T01:35:33Z White_Flame: there are lots of official 8-bit extended ASCIIs :) 2017-03-13T01:35:43Z White_Flame: just depends on who's officiating 2017-03-13T01:37:27Z aeth: Want to define a new official 8-bit extended ASCII? Maybe we could even try to get it into Mezzano or some other LispOS. 2017-03-13T01:38:55Z vtomole: Why do you want to do that? 2017-03-13T01:39:22Z White_Flame: EBCDIC or bust 2017-03-13T01:39:33Z aeth: What encoding did Genera use? 2017-03-13T01:40:03Z JohnnyDown joined #lisp 2017-03-13T01:41:49Z White_Flame: I looped through all the char codes a while back: https://imgur.com/gallery/AvbN7 2017-03-13T01:42:27Z White_Flame: although the on-disk file format can redefine codes on the fly, for tighter encoding 2017-03-13T01:42:37Z White_Flame: (not sure of the details) 2017-03-13T01:43:37Z White_Flame: oh, they also encoded font style bits in the upper portion of the character code 2017-03-13T01:50:18Z manuel__ joined #lisp 2017-03-13T01:51:26Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-13T01:51:26Z manuel__ is now known as manuel_ 2017-03-13T01:52:43Z rumbler31 quit (Remote host closed the connection) 2017-03-13T01:54:09Z neoncontrails joined #lisp 2017-03-13T01:57:17Z s3mi0 joined #lisp 2017-03-13T01:57:35Z JohnnyDown quit (Quit: μόνον εἰδέναι τὸν σοφὸν τίνων χρὴ ἐρᾶν.) 2017-03-13T01:57:38Z FreeBirdLjj joined #lisp 2017-03-13T01:58:48Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-13T01:59:11Z p_l: White_Flame: weren't the font style bits actually escape codes? 2017-03-13T01:59:23Z White_Flame: in the file formatting, yes 2017-03-13T01:59:33Z p_l: kind of "start bold text" "switch to big honking font" 2017-03-13T01:59:35Z White_Flame: in-ram characters are 24 bit, on-disk characters are 8 bit 2017-03-13T01:59:43Z p_l: ah, makes sense 2017-03-13T02:00:17Z White_Flame: the file format had an escape character (which coudl also be changed mid-stream), which would be followed by a sexpr defining the changes, iirc 2017-03-13T02:00:17Z p_l: Though the on-disk format wasn't nice 8bit in general 2017-03-13T02:00:37Z p_l: well, custom reader macro, kinda 2017-03-13T02:00:44Z manuel_ joined #lisp 2017-03-13T02:00:48Z White_Flame: yeah, sorta 2017-03-13T02:00:48Z p_l: the nice thing is that it was ignored by CL:READ 2017-03-13T02:02:01Z wtetzner joined #lisp 2017-03-13T02:02:26Z smokeink joined #lisp 2017-03-13T02:05:48Z fourier joined #lisp 2017-03-13T02:07:52Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-13T02:10:48Z fourier quit (Ping timeout: 258 seconds) 2017-03-13T02:10:55Z rumbler31 joined #lisp 2017-03-13T02:11:13Z manuel_ joined #lisp 2017-03-13T02:17:44Z desku quit (Quit: Leaving) 2017-03-13T02:19:52Z shdeng joined #lisp 2017-03-13T02:21:34Z TDT quit (Quit: TDT) 2017-03-13T02:24:45Z wtetzner quit (Remote host closed the connection) 2017-03-13T02:34:29Z impulse joined #lisp 2017-03-13T02:34:35Z desku joined #lisp 2017-03-13T02:43:49Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-13T02:44:38Z LiamH quit (Quit: Leaving.) 2017-03-13T02:46:53Z neoncontrails joined #lisp 2017-03-13T02:53:25Z Harag quit (Remote host closed the connection) 2017-03-13T02:55:15Z Harag joined #lisp 2017-03-13T03:01:40Z Harag quit (Ping timeout: 246 seconds) 2017-03-13T03:05:27Z adlai quit (Ping timeout: 240 seconds) 2017-03-13T03:09:15Z manuel__ joined #lisp 2017-03-13T03:10:12Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-13T03:10:12Z manuel__ is now known as manuel_ 2017-03-13T03:11:08Z ryanwatk` quit (Ping timeout: 240 seconds) 2017-03-13T03:11:21Z adlai joined #lisp 2017-03-13T03:21:24Z defaultxr quit (Ping timeout: 240 seconds) 2017-03-13T03:21:37Z cromachina quit (Read error: Connection reset by peer) 2017-03-13T03:22:11Z cromachina joined #lisp 2017-03-13T03:25:30Z Harag joined #lisp 2017-03-13T03:29:46Z chens joined #lisp 2017-03-13T03:30:21Z ryanwatkins joined #lisp 2017-03-13T03:31:14Z karswell` joined #lisp 2017-03-13T03:31:38Z karswell quit (Read error: Connection reset by peer) 2017-03-13T03:31:51Z rumbler31 quit (Remote host closed the connection) 2017-03-13T03:32:06Z circ-user-3ReWJ joined #lisp 2017-03-13T03:42:24Z circ-user-3ReWJ quit (Ping timeout: 240 seconds) 2017-03-13T03:44:06Z jason_m quit (Quit: Leaving) 2017-03-13T03:45:31Z MrBusiness quit (Quit: https://www.youtube.com/watch?v=xIIqYqtR1lY -- Suicide is Painless - Johnny Mandel) 2017-03-13T03:46:36Z MrBusiness joined #lisp 2017-03-13T03:49:53Z yrk quit (Read error: Connection reset by peer) 2017-03-13T03:50:07Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-13T03:52:26Z desku quit (Quit: Leaving) 2017-03-13T03:53:56Z al-damiri joined #lisp 2017-03-13T03:56:09Z lambda-smith quit (Quit: Konversation terminated!) 2017-03-13T03:58:31Z Harag quit (Ping timeout: 258 seconds) 2017-03-13T03:58:36Z sbodin joined #lisp 2017-03-13T04:00:54Z emaczen quit (Remote host closed the connection) 2017-03-13T04:06:04Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-13T04:06:11Z rk[ghost] joined #lisp 2017-03-13T04:07:09Z fourier joined #lisp 2017-03-13T04:11:01Z FreeBirdLjj joined #lisp 2017-03-13T04:11:48Z fourier quit (Ping timeout: 260 seconds) 2017-03-13T04:14:59Z jasom: TruePika: I filed a bug against cl-json for that years ago; that's disappointing... 2017-03-13T04:15:23Z neoncontrails quit (Remote host closed the connection) 2017-03-13T04:17:03Z meiji11 joined #lisp 2017-03-13T04:17:52Z sbodin quit (Ping timeout: 260 seconds) 2017-03-13T04:20:03Z manuel__ joined #lisp 2017-03-13T04:20:28Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-13T04:20:28Z manuel__ is now known as manuel_ 2017-03-13T04:22:37Z neoncontrails joined #lisp 2017-03-13T04:23:52Z svgDelux joined #lisp 2017-03-13T04:24:41Z drmeister: In the Unicode age - what does GRAPHIC-CHAR-P return T for? 2017-03-13T04:26:51Z Bike: "n Unicode, Graphic characters are those with General Category Letter, Mark, Number, Punctuation, Symbol or Zs=space." 2017-03-13T04:26:54Z Bike: says wikipedia 2017-03-13T04:27:13Z drmeister: ECL returns this: return code == ' ' || isgraph(code); 2017-03-13T04:27:25Z eSVG quit (Ping timeout: 246 seconds) 2017-03-13T04:27:53Z Bike: does... isgraph work with unicode? 2017-03-13T04:35:22Z manuel_ quit (Quit: manuel_) 2017-03-13T04:41:16Z drmeister: I dunno - but it's good enough for ECL 2017-03-13T04:41:19Z drmeister: Checking... 2017-03-13T04:41:58Z drmeister: Yes 2017-03-13T04:43:25Z the-blackbeard quit (Quit: Leaving) 2017-03-13T04:51:41Z gingerale joined #lisp 2017-03-13T05:00:22Z aeth: What should I do in a macro when I need to do something similar to let? i.e. replace some symbol in ,@body with something else. 2017-03-13T05:01:22Z Bike: symbol macro 2017-03-13T05:01:32Z aeth: symbol-macrolet? 2017-03-13T05:01:39Z Bike: yeah 2017-03-13T05:01:56Z aeth: I figured as much, but I'm not sure how to apply it to ,@body 2017-03-13T05:02:09Z aeth: I know this works: (symbol-macrolet ((x 42)) `(1 2 3 4 ,x)) 2017-03-13T05:02:16Z Bike: it's not "applied", it's another macroexpansion layer. 2017-03-13T05:02:40Z Bike: like, if you wanted x "to be replaced with" whatever's in y, you'd have `(symbol-macrolet ((x ,y)) ,@body) 2017-03-13T05:02:50Z neoncontrails quit (Remote host closed the connection) 2017-03-13T05:03:47Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2017-03-13T05:04:20Z tax quit (Quit: Leaving) 2017-03-13T05:10:01Z Harag joined #lisp 2017-03-13T05:10:07Z Harag quit (Client Quit) 2017-03-13T05:12:37Z aeth: so what I probably want, then, is `(symbol-macrolet ((,replacement-variable ,foo)) ,@body) 2017-03-13T05:12:45Z aeth: So the user has some control over what to call it, right? 2017-03-13T05:13:43Z Bike: i guess? i have no idea what you're actually doing. 2017-03-13T05:14:39Z aeth: I'm turning a mess of functions into something that expresses the structure more clearly. 2017-03-13T05:15:01Z beach: Good morning everyone! 2017-03-13T05:15:52Z Bike: also, symbol-macrolet only operates on a variable context, if i didn't make that clear. 2017-03-13T05:16:10Z Bike: so it won't replace it if the symbol shows up as a function name or as a declaration specifier or something. 2017-03-13T05:16:44Z vtomole: morning beach! 2017-03-13T05:16:56Z aeth: good morning beach 2017-03-13T05:17:37Z aeth: Bike: I'm doing this: https://gitlab.com/zombie-raptor/zombie-raptor/blob/751431cbef07dcca869bf4d879b042a6689dca41/core/controls.lisp#L91-193 2017-03-13T05:18:22Z aeth: Basically, I have a bunch of functions that act on an input-action-state struct that then go into the hash table key-actions. 2017-03-13T05:18:59Z aeth: Bike: you just helped me with define-input-action-group (defined on line 112, used on line 130) 2017-03-13T05:19:17Z aeth: That gets rid of 6 function definitions and replaces it with something similar to let 2017-03-13T05:19:18Z eschatologist joined #lisp 2017-03-13T05:19:44Z aeth: The functions are simple and there is a lot of repetition, because this is code that runs on keyboard input 2017-03-13T05:19:58Z Bike: ...sounds good to me! 2017-03-13T05:20:13Z Bike: so substitution is going to be, like, (vec 0f0 0f0 1f0) say? 2017-03-13T05:20:20Z Bike: are you sure you don't just want let? 2017-03-13T05:20:24Z aeth: the substitution variable is direction 2017-03-13T05:20:42Z aeth: I use let in define-input-action-range, the compiler is smart enough to realize that the integer is constant, and there is no difference. 2017-03-13T05:20:47Z Bike: the replacement variable will be yeah, i mean the substitution. 2017-03-13T05:21:04Z aeth: I am not sure if I can rely on the compiler for define-input-action-group because it's potentially much more elaborate than an integer 2017-03-13T05:21:58Z Bike: doesn't vec make a new vector? would it be constant? 2017-03-13T05:22:17Z meiji11 quit (Read error: Connection reset by peer) 2017-03-13T05:22:27Z aeth: Maybe I should define constants for those vectors? 2017-03-13T05:23:15Z aeth: I guess that's the sort of thing that's more noticable once I remove all of the boilerplate and use macros to turn the code into its essence. 2017-03-13T05:24:34Z Bike: what kind of optimization would you expect from it being constant? move-entity doesn't seem to be inline or anything. 2017-03-13T05:26:02Z aeth: It isn't inline, but it could be inlined if needed. I haven't optimized much. 2017-03-13T05:26:17Z aeth: I'm not really sure if I should inline literally every single small function like that. 2017-03-13T05:26:24Z neoncontrails joined #lisp 2017-03-13T05:26:39Z Bike: well, probably not, if only for code size reasons 2017-03-13T05:26:43Z aeth: I already got rid of a lot of consing by inlining all of the math. 2017-03-13T05:27:22Z Bike: this thing is already going to involve an s*v and quaternion rotation, maybe constantness wouldn't help much. 2017-03-13T05:28:49Z aeth: According to a comment above move-entity, I noticed a bug a while ago in the movement code where I move faster diagonally than on an axis. I think that's when I added the normals. 2017-03-13T05:29:02Z aeth: (The comment doesn't say any of that, but I do remember the bug.) 2017-03-13T05:29:23Z aeth: So actual movement can't be done in move-entity in the near future. 2017-03-13T05:29:40Z Bike: that's a classy ol bug 2017-03-13T05:29:40Z Harag joined #lisp 2017-03-13T05:30:01Z Bike: maybe next you'll find that you can go infinitely fast jumping in reverse 2017-03-13T05:31:12Z aeth: Afaik, I'm the only one who is going to be trying for CL-native 3D physics instead of foreign-wrapped ODE or Bullet... so I do expect hundreds of physics bugs along the way. 2017-03-13T05:34:26Z grublet joined #lisp 2017-03-13T05:37:57Z FreeBirdLjj joined #lisp 2017-03-13T05:40:52Z nullman joined #lisp 2017-03-13T05:44:14Z joneshf-laptop joined #lisp 2017-03-13T05:44:32Z aeth: I just hope I avoid that getting stuck to walls bug a lot of physics has. 2017-03-13T05:44:37Z impulse quit (Read error: Connection reset by peer) 2017-03-13T05:44:54Z vlatkoB joined #lisp 2017-03-13T05:45:43Z vlatkoB quit (Remote host closed the connection) 2017-03-13T05:46:24Z Bike: yesterday as i was walking to work i fell into an unloaded block, SO inconvenient 2017-03-13T05:46:31Z vlatkoB joined #lisp 2017-03-13T05:47:16Z ebrasca joined #lisp 2017-03-13T05:50:42Z pyx joined #lisp 2017-03-13T05:50:48Z pyx quit (Client Quit) 2017-03-13T05:58:02Z oleo quit (Remote host closed the connection) 2017-03-13T05:59:45Z neoncontrails quit (Read error: Connection reset by peer) 2017-03-13T06:02:55Z chens quit (Remote host closed the connection) 2017-03-13T06:06:52Z neoncontrails joined #lisp 2017-03-13T06:07:58Z dec0n joined #lisp 2017-03-13T06:12:00Z aeth: Falling into an unloaded block is the terrain's fault. Falling into an abyss located at a seemingly-solid corner is the physics's fault. 2017-03-13T06:18:01Z neoncontrails quit (Remote host closed the connection) 2017-03-13T06:19:28Z White_Flame: touch the floor, fly straight up at lightspeed 2017-03-13T06:19:34Z White_Flame: physics! :) 2017-03-13T06:20:45Z aeth: What makes you limited to the speed of light? 2017-03-13T06:22:12Z White_Flame: it's also fun when (decf y-velocity gravity) does nothing, because of floating point precision being insufficient 2017-03-13T06:25:54Z ebrasca quit (Remote host closed the connection) 2017-03-13T06:30:20Z jameser joined #lisp 2017-03-13T06:32:07Z dec0n quit (Read error: Connection reset by peer) 2017-03-13T06:33:31Z dec0n joined #lisp 2017-03-13T06:35:21Z raynold joined #lisp 2017-03-13T06:41:01Z aeth: I wonder how long it will be until quadruple-precision (128-bit) floating point is in common use. Or octuple (very, very rare). Or sexdecuple (not even defined by IEEE yet). 2017-03-13T06:43:50Z Petit_Dejeuner: "I do expect hundreds of physics bugs along the way." aeth, only hundreds? Pretty good quality! 2017-03-13T06:44:02Z flip214: aeth: well, faster-than-light can't be displayed on a standard monitor anyway ;) 2017-03-13T06:44:15Z Petit_Dejeuner: Sure it can, you just have to zoom out really far. 2017-03-13T06:44:41Z mishoo joined #lisp 2017-03-13T06:44:56Z aeth: Petit_Dejeuner: along the way to getting anything working at all 2017-03-13T06:45:12Z flamebeard joined #lisp 2017-03-13T06:47:27Z shka_ joined #lisp 2017-03-13T06:48:13Z aeth: flip214: That's a bug in the renderer. 2017-03-13T06:49:08Z flip214: Petit_Dejeuner: zooming out won't help that much... going faster than c means quite a lot of Doppler-effect, the light you hope to see via reflection would have quite a lot of redshift. 2017-03-13T06:51:34Z White_Flame: speed of light talk always reminds me of this: https://www.youtube.com/watch?v=1AAU_btBN7s 2017-03-13T06:51:44Z Petit_Dejeuner: Hm, I can see red light okay. https://upload.wikimedia.org/wikipedia/en/f/f8/Internet_dog.jpg 2017-03-13T06:55:43Z impulse joined #lisp 2017-03-13T06:56:47Z MoALTz joined #lisp 2017-03-13T06:57:29Z shka_: and that reminds me of cat transcendence meme :P 2017-03-13T07:03:05Z MoALTz quit (Quit: Leaving) 2017-03-13T07:03:23Z kuro6 joined #lisp 2017-03-13T07:08:05Z vlatkoB_ joined #lisp 2017-03-13T07:08:23Z safe quit (Read error: Connection reset by peer) 2017-03-13T07:11:57Z vlatkoB quit (Ping timeout: 240 seconds) 2017-03-13T07:13:18Z libreman quit (Ping timeout: 256 seconds) 2017-03-13T07:21:16Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-13T07:23:27Z shka_ quit (Ping timeout: 240 seconds) 2017-03-13T07:26:12Z libreman joined #lisp 2017-03-13T07:33:26Z jack_rabbit joined #lisp 2017-03-13T07:44:11Z Amplituhedron joined #lisp 2017-03-13T08:00:44Z varjag joined #lisp 2017-03-13T08:01:59Z Bike quit (Quit: gone) 2017-03-13T08:04:27Z krasnal quit (Ping timeout: 240 seconds) 2017-03-13T08:24:35Z shka joined #lisp 2017-03-13T08:28:34Z jfb4 quit (Ping timeout: 246 seconds) 2017-03-13T08:30:40Z jfb4 joined #lisp 2017-03-13T08:32:37Z rumbler31 joined #lisp 2017-03-13T08:36:58Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-13T08:39:05Z pve joined #lisp 2017-03-13T08:42:51Z foojin joined #lisp 2017-03-13T08:47:00Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-13T08:55:34Z hjudt: has anyone used gzip-stream with sbcl? i get an error when i try this and don't know how to solve it: (gzip-stream:with-open-gzip-file (out "~/test.txt.gz" :direction :output) (format out "Test.")) 2017-03-13T08:56:12Z hjudt: "There is no applicable method for the generic function sb-gray:stream-write-string..." 2017-03-13T09:02:28Z John[Lisbeth] quit (Quit: Lost terminal) 2017-03-13T09:03:58Z hjudt: ok, got it. i have to transform the string into a vector of octets and write these with write-byte. 2017-03-13T09:04:57Z angavrilov joined #lisp 2017-03-13T09:05:20Z klltkr quit (Ping timeout: 260 seconds) 2017-03-13T09:07:36Z heurist quit (Ping timeout: 260 seconds) 2017-03-13T09:08:52Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-13T09:10:14Z hhdave joined #lisp 2017-03-13T09:10:19Z heurist joined #lisp 2017-03-13T09:15:36Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-13T09:23:27Z smokeink quit (Ping timeout: 240 seconds) 2017-03-13T09:30:04Z smokeink joined #lisp 2017-03-13T09:35:58Z Karl_Dscc joined #lisp 2017-03-13T09:39:09Z sunnny joined #lisp 2017-03-13T09:49:41Z gacepa joined #lisp 2017-03-13T09:50:10Z Harag quit (Ping timeout: 264 seconds) 2017-03-13T09:54:15Z Harag joined #lisp 2017-03-13T09:54:51Z sjl joined #lisp 2017-03-13T09:56:55Z s3mi0 quit (Remote host closed the connection) 2017-03-13T10:02:41Z nirved joined #lisp 2017-03-13T10:07:05Z EvilAngel joined #lisp 2017-03-13T10:14:32Z Karl_Dscc quit (Remote host closed the connection) 2017-03-13T10:16:49Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-13T10:17:24Z FreeBirdLjj joined #lisp 2017-03-13T10:17:36Z vibs29 quit (Ping timeout: 260 seconds) 2017-03-13T10:21:36Z kuro6 quit (Quit: Leaving) 2017-03-13T10:21:51Z FreeBirdLjj quit (Ping timeout: 258 seconds) 2017-03-13T10:22:14Z vibs29 joined #lisp 2017-03-13T10:23:36Z Xach: hjudt: perhaps write-sequence would work also. 2017-03-13T10:23:56Z bpanthi joined #lisp 2017-03-13T10:29:08Z vibs29 quit (Ping timeout: 258 seconds) 2017-03-13T10:33:07Z foojin quit (Quit: leaving) 2017-03-13T10:35:09Z mishoo quit (Ping timeout: 268 seconds) 2017-03-13T10:40:22Z malice` joined #lisp 2017-03-13T10:50:13Z Karl_Dscc joined #lisp 2017-03-13T10:51:12Z vibs29 joined #lisp 2017-03-13T10:53:03Z jameser joined #lisp 2017-03-13T10:55:30Z EvilAngel quit (Read error: Connection reset by peer) 2017-03-13T10:56:44Z jameser quit (Max SendQ exceeded) 2017-03-13T10:57:55Z jameser joined #lisp 2017-03-13T11:08:11Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-13T11:13:44Z bpanthi quit (Quit: bpanthi) 2017-03-13T11:24:48Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-13T11:31:48Z m00natic joined #lisp 2017-03-13T11:31:56Z msg joined #lisp 2017-03-13T11:32:55Z jameser joined #lisp 2017-03-13T11:33:56Z msg is now known as John 2017-03-13T11:34:02Z John left #lisp 2017-03-13T11:39:19Z milanj joined #lisp 2017-03-13T11:44:10Z vibs29 quit (Ping timeout: 264 seconds) 2017-03-13T11:47:18Z mishoo joined #lisp 2017-03-13T11:47:25Z vtomole quit (Ping timeout: 260 seconds) 2017-03-13T11:50:01Z shdeng quit (Quit: Leaving) 2017-03-13T11:52:30Z lmj joined #lisp 2017-03-13T11:52:42Z vibs29 joined #lisp 2017-03-13T11:54:27Z raynold quit (Quit: Connection closed for inactivity) 2017-03-13T11:59:59Z gacepa quit (Quit: Connection closed for inactivity) 2017-03-13T12:00:52Z Rodenbach joined #lisp 2017-03-13T12:01:09Z lmj quit (Quit: leaving) 2017-03-13T12:01:22Z neoncontrails joined #lisp 2017-03-13T12:02:04Z Rodenbach: I’m running my lisp inside a docker image, with a recent swank server, and connect to it. Compilation and code-completion are extremly slow. Is this a known issue? Slime from mid/late 2015 seems to work much better. 2017-03-13T12:03:56Z neoncontrails quit (Remote host closed the connection) 2017-03-13T12:08:12Z mishoo quit (Remote host closed the connection) 2017-03-13T12:08:42Z mishoo joined #lisp 2017-03-13T12:10:50Z attila_lendvai joined #lisp 2017-03-13T12:10:50Z attila_lendvai quit (Changing host) 2017-03-13T12:10:50Z attila_lendvai joined #lisp 2017-03-13T12:12:34Z d4ryus3 joined #lisp 2017-03-13T12:15:54Z d4ryus2 quit (Ping timeout: 256 seconds) 2017-03-13T12:17:50Z snowcrshd joined #lisp 2017-03-13T12:22:51Z the-blackbeard joined #lisp 2017-03-13T12:26:27Z Xach: I haven't heard anything like that. 2017-03-13T12:29:57Z manuel_ joined #lisp 2017-03-13T12:33:10Z rumbler31 joined #lisp 2017-03-13T12:35:16Z atheris quit (Ping timeout: 260 seconds) 2017-03-13T12:36:03Z flip214: Rodenbach: I've seen the same problem... on my notebook swank is lightning fast, but across SSH or even "locally" on a VM it takes several seconds. 2017-03-13T12:36:22Z flip214: no idea why... I didn't spend much time, as locally there's no problem anyway. 2017-03-13T12:37:00Z Karl_Dscc quit (Remote host closed the connection) 2017-03-13T12:37:25Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-13T12:39:57Z mishoo quit (Ping timeout: 240 seconds) 2017-03-13T12:43:22Z TDT joined #lisp 2017-03-13T12:45:30Z foojin joined #lisp 2017-03-13T12:49:25Z mishoo joined #lisp 2017-03-13T12:51:50Z wiselord joined #lisp 2017-03-13T12:54:29Z lerax quit (Remote host closed the connection) 2017-03-13T12:57:53Z hjudt: Xach: yes, thanks, this makes it a bit easier and i can build on top of that: (gzip-stream:with-open-gzip-file (out "~/test.txt.gz" :direction :output :if-exists :supersede) (write-sequence (sb-ext:string-to-octets (format nil "Test.~%")) out)) 2017-03-13T12:58:14Z Xach: parfait 2017-03-13T12:58:24Z Karl_Dscc joined #lisp 2017-03-13T12:59:46Z mishoo quit (Ping timeout: 260 seconds) 2017-03-13T13:05:00Z lambda-smith joined #lisp 2017-03-13T13:10:25Z Rodenbach: I guess it could have something to do with other emacs packages. Perhaps the M-x profiler-report can help. 2017-03-13T13:10:40Z g0d355__ quit (Remote host closed the connection) 2017-03-13T13:27:58Z whiteline quit (Ping timeout: 264 seconds) 2017-03-13T13:31:20Z sjl quit (Ping timeout: 260 seconds) 2017-03-13T13:33:15Z cromachina quit (Read error: Connection reset by peer) 2017-03-13T13:35:02Z manuel_ quit (Quit: manuel_) 2017-03-13T13:37:35Z o1e9 joined #lisp 2017-03-13T13:39:50Z mazoe joined #lisp 2017-03-13T13:42:00Z rumbler31 joined #lisp 2017-03-13T13:45:18Z bigos joined #lisp 2017-03-13T13:47:33Z jerme joined #lisp 2017-03-13T13:52:43Z kobain joined #lisp 2017-03-13T13:53:36Z [0x8b30cc] joined #lisp 2017-03-13T13:53:47Z [0x8b30cc] quit (Remote host closed the connection) 2017-03-13T13:57:29Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-13T14:01:47Z travv0 joined #lisp 2017-03-13T14:02:39Z sunnny left #lisp 2017-03-13T14:06:07Z EvW joined #lisp 2017-03-13T14:09:39Z Odin- joined #lisp 2017-03-13T14:13:17Z manuel_ joined #lisp 2017-03-13T14:16:39Z dyelar joined #lisp 2017-03-13T14:17:19Z LiamH joined #lisp 2017-03-13T14:19:08Z snowcrshd quit (Ping timeout: 258 seconds) 2017-03-13T14:27:09Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-13T14:28:06Z whiteline joined #lisp 2017-03-13T14:29:42Z Amplituhedron quit (Quit: Konversation terminated!) 2017-03-13T14:33:17Z jameser joined #lisp 2017-03-13T14:35:47Z mazoe quit (Read error: Connection reset by peer) 2017-03-13T14:38:46Z mazoe joined #lisp 2017-03-13T14:41:14Z mepian joined #lisp 2017-03-13T14:42:54Z mazoe quit (Read error: Connection reset by peer) 2017-03-13T14:48:54Z rippa joined #lisp 2017-03-13T14:52:25Z neoncontrails joined #lisp 2017-03-13T14:53:57Z prole joined #lisp 2017-03-13T14:54:11Z mishoo joined #lisp 2017-03-13T14:56:12Z dtornabene joined #lisp 2017-03-13T14:56:24Z mazoe joined #lisp 2017-03-13T14:57:10Z dec0n quit (Read error: Connection reset by peer) 2017-03-13T14:58:32Z bigos quit (Ping timeout: 256 seconds) 2017-03-13T14:59:22Z neoncontrails quit (Remote host closed the connection) 2017-03-13T14:59:31Z svgDelux quit (Ping timeout: 246 seconds) 2017-03-13T15:00:25Z travv0 quit (Remote host closed the connection) 2017-03-13T15:00:37Z neoncontrails joined #lisp 2017-03-13T15:07:22Z yrk joined #lisp 2017-03-13T15:08:01Z yrk quit (Changing host) 2017-03-13T15:08:01Z yrk joined #lisp 2017-03-13T15:13:21Z wiselord quit (Remote host closed the connection) 2017-03-13T15:19:08Z Harag quit (Ping timeout: 260 seconds) 2017-03-13T15:21:11Z drmeister: I'm trying to get 'ironclad' working with Clasp - this is a struct that is being defined by ironclad: 2017-03-13T15:21:12Z drmeister: https://www.irccloud.com/pastebin/4oNCGPwk/ 2017-03-13T15:21:40Z drmeister: I'm getting this error: Slot REGS in structure SHA256 only admits values of type SHA256-REGS. 2017-03-13T15:21:46Z EvW quit (Ping timeout: 256 seconds) 2017-03-13T15:22:02Z drmeister: There is no (deftype sha256-regs ...) anywhere in the code - I assume it's implicitly defined somehow. 2017-03-13T15:22:06Z drmeister: This is the backtrace. 2017-03-13T15:22:10Z quadresce joined #lisp 2017-03-13T15:22:25Z drmeister: https://www.irccloud.com/pastebin/ONvHallK/ 2017-03-13T15:22:49Z Xach: drmeister: it's defined by a defstruct in the expansion of define-digest-registers. 2017-03-13T15:23:01Z EvW1 joined #lisp 2017-03-13T15:23:12Z drmeister: The relevant line of the backtrace: (CORE::STRUCTURE-TYPE-ERROR #(1779033703 3144134277 1013904242 2773480762 1359893119 2600822924 528734635 1541459225) 'IRONCLAD::SHA256-REGS 'IRONCLAD:SHA256 'IRONCLAD::REGS ) 2017-03-13T15:23:26Z drmeister: Thank you - looking up define-digest-registers 2017-03-13T15:24:31Z drmeister: This is probably a problem in the Clasp array code. Do you have any idea what it might be? 2017-03-13T15:24:48Z drmeister: I'm assuming I need a specialized array - but there may be type issues as well. 2017-03-13T15:28:03Z sz0 joined #lisp 2017-03-13T15:28:04Z varjag quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2017-03-13T15:28:30Z drmeister: Is there a way to interrogate a type in CL? I'd like to find out what ironclad::sha256-regs looks like. 2017-03-13T15:28:35Z drmeister: Or am I asking the wrong question? 2017-03-13T15:30:11Z White_Flame: (describe 'ironclad::sha256-regs) ? 2017-03-13T15:30:38Z drmeister: Oh - great! Thank you. I don't use describe enough. I fixed it in Clasp this weekend. 2017-03-13T15:31:53Z drmeister: In SBCL it expands to: (SIMPLE-ARRAY (UNSIGNED-BYTE 32) (8)) 2017-03-13T15:32:44Z lambda-smith quit (Ping timeout: 258 seconds) 2017-03-13T15:34:12Z drmeister: In clasp I get this: 2017-03-13T15:34:13Z drmeister: https://www.irccloud.com/pastebin/FFyQrH2A/ 2017-03-13T15:35:21Z prole quit (Remote host closed the connection) 2017-03-13T15:36:44Z Xach: looks the same to me 2017-03-13T15:36:47Z White_Flame: that defstruct has (:type (vector (unsigned-byte 32))), so it's equivalent to the tyep declaration 2017-03-13T15:37:43Z White_Flame: a macro expands both the defstruct and the deftype 2017-03-13T15:37:55Z White_Flame: (what is this, C typedefs? ;) ) 2017-03-13T15:37:58Z drmeister: stas pointed this problem out in Clasp: (progn (defstruct (struct (:type (vector (unsigned-byte 32)))) (a 0)) (type-of (make-struct))) => (ARRAY T (1)) 2017-03-13T15:38:13Z drmeister: I'm not quite sure how it connects to this. 2017-03-13T15:39:23Z drmeister: He kinda lets me figure things out from there - he's a great believer in the Socratic method of teaching. 2017-03-13T15:39:34Z drmeister: I'm coming here to ask people to help me with my homework. :-) 2017-03-13T15:39:59Z al-damiri joined #lisp 2017-03-13T15:40:18Z drmeister: So if anything jumps out at people that might be helpful here - I'm all ears. 2017-03-13T15:40:49Z drmeister: Otherwise I'll continue to deepen the whole in my desk that I've been forming with my forehead. 2017-03-13T15:40:53Z drmeister: hole 2017-03-13T15:42:05Z White_Flame: what's the problem with that return value, that it's not specialized enough? 2017-03-13T15:42:21Z drmeister: Related info: I spent the winter weeks rewriting Clasp's array code so now it's CL conforming. But I may have some broken type info in there. 2017-03-13T15:42:49Z freehck quit (Remote host closed the connection) 2017-03-13T15:43:21Z drmeister: I also haven't fully implemented specialized arrays - but I don't think these specialized arrays aren't required by CL - and that's what leads me to think it's a type issue. 2017-03-13T15:43:53Z drmeister: White_Flame: Maybe that's it. The defstruct expects a more specialized type? 2017-03-13T15:44:20Z White_Flame: I don't understand what the problem is 2017-03-13T15:45:52Z White_Flame: (with the single-slot struct, that is) 2017-03-13T15:46:48Z White_Flame: and if sha256-regs expands to the type (array t (8)), then yeah that structure-type-error is unexpected 2017-03-13T15:47:48Z shifty quit (Ping timeout: 240 seconds) 2017-03-13T15:47:54Z mepian quit (Quit: Leaving) 2017-03-13T15:48:48Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-13T15:49:42Z Bike joined #lisp 2017-03-13T15:49:47Z tephra quit (Ping timeout: 276 seconds) 2017-03-13T15:50:09Z tephra joined #lisp 2017-03-13T15:54:23Z Rodenbach left #lisp 2017-03-13T15:54:31Z krasnal joined #lisp 2017-03-13T15:58:58Z jathd joined #lisp 2017-03-13T15:59:43Z okflo joined #lisp 2017-03-13T16:07:52Z ogamita: drmeister: honestly, since slime has M-. I will M-. the symbol rather than using describe or documentation in general. Jumping directly to the source is way more informative, I find. 2017-03-13T16:09:36Z drmeister: ogamita: I implemented M-. but not yet for types. 2017-03-13T16:10:47Z ogamita: Can you load your sources in another implementation? 2017-03-13T16:11:04Z ogamita: You only need to load them, not to execute them, for M-. to work. 2017-03-13T16:13:59Z neoncontrails quit (Remote host closed the connection) 2017-03-13T16:14:51Z neoncontrails joined #lisp 2017-03-13T16:16:19Z o1e9 quit (Quit: Ex-Chat) 2017-03-13T16:19:15Z slyrus joined #lisp 2017-03-13T16:21:57Z oleo joined #lisp 2017-03-13T16:24:31Z Karl_Dscc quit (Remote host closed the connection) 2017-03-13T16:26:54Z flamebeard quit (Quit: Leaving) 2017-03-13T16:28:01Z sebboh``` is now known as sebboh 2017-03-13T16:28:21Z sebboh quit (Changing host) 2017-03-13T16:28:21Z sebboh joined #lisp 2017-03-13T16:31:18Z desku joined #lisp 2017-03-13T16:31:21Z deskuu joined #lisp 2017-03-13T16:31:26Z deskuu quit (Remote host closed the connection) 2017-03-13T16:34:00Z snowcrshd joined #lisp 2017-03-13T16:36:53Z X-Scale quit (Ping timeout: 240 seconds) 2017-03-13T16:37:15Z smokeink quit (Remote host closed the connection) 2017-03-13T16:40:06Z sjl joined #lisp 2017-03-13T16:43:43Z drmeister: ogamita: Good point - I will try that next time. 2017-03-13T16:44:02Z slyrus quit (Ping timeout: 258 seconds) 2017-03-13T16:44:24Z quadresce quit (Quit: This computer has gone to sleep) 2017-03-13T16:44:27Z drmeister: The problem turned out to be my implementation of the VECTOR function - it wasn't returning a SIMPLE-VECTOR. 2017-03-13T16:47:35Z jmasseo joined #lisp 2017-03-13T16:53:24Z samebcha1e is now known as samebchase 2017-03-13T16:56:56Z neoncontrails quit 2017-03-13T16:58:13Z EvW1 quit (Ping timeout: 258 seconds) 2017-03-13T16:58:25Z DeadTrickster joined #lisp 2017-03-13T17:01:09Z BlueRavenGT joined #lisp 2017-03-13T17:01:25Z X-Scale joined #lisp 2017-03-13T17:09:38Z zaquest quit (Quit: Leaving) 2017-03-13T17:09:39Z MrWoohoo quit (Read error: No route to host) 2017-03-13T17:19:15Z zaquest joined #lisp 2017-03-13T17:26:04Z RedEight joined #lisp 2017-03-13T17:27:54Z fourier joined #lisp 2017-03-13T17:28:14Z travv0 joined #lisp 2017-03-13T17:29:58Z akkad quit (Excess Flood) 2017-03-13T17:30:51Z the-blackbeard quit (Quit: Leaving) 2017-03-13T17:32:47Z shka_ joined #lisp 2017-03-13T17:32:49Z akkad joined #lisp 2017-03-13T17:36:15Z varjag joined #lisp 2017-03-13T17:38:57Z hhdave quit (Ping timeout: 240 seconds) 2017-03-13T17:54:14Z Ven joined #lisp 2017-03-13T17:56:27Z m00natic quit (Remote host closed the connection) 2017-03-13T17:58:20Z quadresce joined #lisp 2017-03-13T17:59:50Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-13T18:00:10Z drmeister: Has anyone used cl-jupyter? 2017-03-13T18:00:22Z quadresce` joined #lisp 2017-03-13T18:00:27Z Ven quit (Ping timeout: 240 seconds) 2017-03-13T18:00:32Z drmeister: It requires some kind of connection file and I can't find it. 2017-03-13T18:01:46Z Jesin quit (Quit: Leaving) 2017-03-13T18:02:23Z Jesin joined #lisp 2017-03-13T18:02:33Z quadresce quit (Ping timeout: 245 seconds) 2017-03-13T18:02:58Z remi`bd joined #lisp 2017-03-13T18:05:05Z defaultxr joined #lisp 2017-03-13T18:09:48Z knicklux joined #lisp 2017-03-13T18:10:49Z attila_lendvai joined #lisp 2017-03-13T18:10:49Z attila_lendvai quit (Changing host) 2017-03-13T18:10:49Z attila_lendvai joined #lisp 2017-03-13T18:11:10Z pjb joined #lisp 2017-03-13T18:13:42Z Ven joined #lisp 2017-03-13T18:16:43Z attila_lendvai quit (Read error: Connection reset by peer) 2017-03-13T18:20:01Z bin7me joined #lisp 2017-03-13T18:20:31Z bin7me quit (Read error: Connection reset by peer) 2017-03-13T18:25:14Z bocaneri quit (Read error: Connection reset by peer) 2017-03-13T18:27:52Z travv0 quit (Remote host closed the connection) 2017-03-13T18:32:05Z MoALTz joined #lisp 2017-03-13T18:32:16Z Ven quit (Ping timeout: 260 seconds) 2017-03-13T18:34:31Z Ven joined #lisp 2017-03-13T18:35:23Z sjl quit (Ping timeout: 240 seconds) 2017-03-13T18:38:02Z grublet quit (Quit: Leaving) 2017-03-13T18:40:52Z slyrus joined #lisp 2017-03-13T18:44:51Z pebblexe_: is it possible to get line errors for numbers? 2017-03-13T18:45:02Z pebblexe_: line numbers for errors, sorry 2017-03-13T18:45:28Z Xach: pebblexe_: it depends on the implementation. if you use slime, you can jump to errors directly, usually. 2017-03-13T18:46:05Z nowhereman quit (Ping timeout: 240 seconds) 2017-03-13T18:46:16Z Ven quit (Ping timeout: 260 seconds) 2017-03-13T18:46:17Z pebblexe_: Xach: how would I go about that? 2017-03-13T18:47:00Z Xach: pebblexe_: if you are in the slime debugger, and you move the cursor to a frame in the backtrace and press "v", you will go to where the error occurred 2017-03-13T18:48:01Z pebblexe_: Xach: thanks! that's awesome 2017-03-13T18:48:30Z pebblexe_: what about the warning that pops up all the time, "contains values that may not be safe" with a yes/no prompt? 2017-03-13T18:48:46Z attila_lendvai joined #lisp 2017-03-13T18:48:46Z attila_lendvai quit (Changing host) 2017-03-13T18:48:46Z attila_lendvai joined #lisp 2017-03-13T18:48:49Z Xach: pebblexe_: I'm not familiar with that warning. 2017-03-13T18:48:56Z Xach: I don't remember ever seeing it. 2017-03-13T18:49:04Z Xach: Oh, now I remember. 2017-03-13T18:49:17Z Xach: That is for emacs variables. I'm not sure how to turn that off. 2017-03-13T18:49:32Z Xach: I always answer n. I should look into it instead. 2017-03-13T18:52:19Z travv0 joined #lisp 2017-03-13T18:53:28Z Ven joined #lisp 2017-03-13T18:54:49Z pjb: pebblexe_: in general, it's not possible (or rather, very difficult) to indentify a line number for an error, because of macros. And also, because error may be signaled inside functions that are far from the origin of the error. But at least in the later case, we could find the source of the error in the backtrace. But not so when macros have generated the source from which the error is signaled. What line number would you ass 2017-03-13T18:55:54Z pebblexe_: (setq enable-local-eval t) enables them permanently I think 2017-03-13T18:56:08Z Zhivago quit (Ping timeout: 240 seconds) 2017-03-13T18:56:33Z pjb: pebblexe_: this would allow the transmission of emacs lisp viruses. 2017-03-13T18:56:53Z pjb: It's better to validate specific variables and specific values. 2017-03-13T18:57:01Z Xach: Thanks! 2017-03-13T18:57:27Z pebblexe_: pjb_: if someone did that I would congratulate them on their ingenuity 2017-03-13T18:57:40Z pjb: Nope, it is trivial to do. 2017-03-13T18:58:01Z pjb: No ingenuity here. Just specify it, and implement it. It's straighforward. 2017-03-13T18:58:12Z slyrus quit (Ping timeout: 258 seconds) 2017-03-13T18:58:31Z pjb: (And it's because there's no challenge, that there's no actual emacs lisp virus in the wild, but this doesn't mean that it couldn't be used as a vector for a targetted attack). 2017-03-13T18:59:00Z pebblexe_: pjb: with heartbleed I kind of quit caring 2017-03-13T18:59:27Z arbv quit (Ping timeout: 240 seconds) 2017-03-13T19:00:48Z froggey quit (Ping timeout: 260 seconds) 2017-03-13T19:01:04Z arbv joined #lisp 2017-03-13T19:02:23Z Ven quit (Ping timeout: 240 seconds) 2017-03-13T19:02:35Z slyrus joined #lisp 2017-03-13T19:02:42Z froggey joined #lisp 2017-03-13T19:04:11Z milanj quit (Quit: This computer has gone to sleep) 2017-03-13T19:04:42Z pebblexe_: pjb: but you're right though, you can never be too careful 2017-03-13T19:13:24Z Ven joined #lisp 2017-03-13T19:14:30Z Ven quit (Read error: Connection reset by peer) 2017-03-13T19:20:27Z okflo left #lisp 2017-03-13T19:27:57Z oleo quit (Quit: Leaving) 2017-03-13T19:29:22Z stepnem joined #lisp 2017-03-13T19:33:23Z Ven joined #lisp 2017-03-13T19:45:21Z jathd` joined #lisp 2017-03-13T19:45:28Z jathd quit (Remote host closed the connection) 2017-03-13T19:46:03Z nowhereman joined #lisp 2017-03-13T19:46:21Z Ven quit (Ping timeout: 260 seconds) 2017-03-13T19:51:04Z stepnem quit (Ping timeout: 246 seconds) 2017-03-13T19:53:13Z Ven joined #lisp 2017-03-13T19:54:46Z quadresce` quit (Quit: This computer has gone to sleep) 2017-03-13T19:56:58Z BitPuffin|osx joined #lisp 2017-03-13T19:57:22Z BlueRavenGT quit (Ping timeout: 246 seconds) 2017-03-13T19:57:25Z stepnem joined #lisp 2017-03-13T19:59:38Z quadresce` joined #lisp 2017-03-13T20:02:58Z Ven quit (Ping timeout: 246 seconds) 2017-03-13T20:03:19Z slyrus quit (Ping timeout: 246 seconds) 2017-03-13T20:03:48Z quadresce` quit (Ping timeout: 245 seconds) 2017-03-13T20:08:05Z jathd`` joined #lisp 2017-03-13T20:09:44Z jathd` quit (Remote host closed the connection) 2017-03-13T20:10:01Z schally joined #lisp 2017-03-13T20:13:17Z Ven joined #lisp 2017-03-13T20:14:37Z Ven quit (Read error: Connection reset by peer) 2017-03-13T20:15:58Z namosca joined #lisp 2017-03-13T20:17:05Z namosca: Hi all 2017-03-13T20:17:34Z rumbler31 quit (Ping timeout: 256 seconds) 2017-03-13T20:17:56Z namosca: I really like Common Lisp and also OCAML, so I am wondering if any of you know an easy to follow (for real newbies) tutorial on how to make a very simple Lisp interpreter in OCAML? 2017-03-13T20:18:34Z Xach: namosca: I haven't heard of such a thing 2017-03-13T20:21:38Z MrWoohoo joined #lisp 2017-03-13T20:24:57Z phoe: namosca: https://github.com/kanaka/mal/tree/master/ocaml 2017-03-13T20:25:09Z phoe: namosca: the whole https://github.com/kanaka/mal repo is amazing 2017-03-13T20:32:53Z namosca: phoe: thanks 2017-03-13T20:32:59Z vlatkoB_ quit (Remote host closed the connection) 2017-03-13T20:33:02Z Ven joined #lisp 2017-03-13T20:35:19Z namosca left #lisp 2017-03-13T20:38:20Z snowcrshd quit (Ping timeout: 260 seconds) 2017-03-13T20:38:47Z GJL joined #lisp 2017-03-13T20:38:58Z gadwin joined #lisp 2017-03-13T20:40:55Z vtomole joined #lisp 2017-03-13T20:42:49Z GJL quit (Remote host closed the connection) 2017-03-13T20:46:26Z Ven quit (Ping timeout: 260 seconds) 2017-03-13T20:49:52Z fourier quit (Ping timeout: 246 seconds) 2017-03-13T20:50:13Z bin7me joined #lisp 2017-03-13T20:51:52Z bin7me quit (Read error: Connection reset by peer) 2017-03-13T20:53:11Z Ven joined #lisp 2017-03-13T20:54:53Z angavrilov quit (Remote host closed the connection) 2017-03-13T20:56:32Z karswell` quit (Ping timeout: 260 seconds) 2017-03-13T20:57:05Z namosca joined #lisp 2017-03-13T20:57:12Z namosca left #lisp 2017-03-13T21:02:10Z Ven quit (Ping timeout: 264 seconds) 2017-03-13T21:04:25Z klltkr joined #lisp 2017-03-13T21:05:34Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-13T21:05:46Z Ven joined #lisp 2017-03-13T21:06:44Z milanj joined #lisp 2017-03-13T21:11:01Z foojin: Hi folks, I've read about literal objects and quoted objects being unsafe to modify, hence the question: 2017-03-13T21:11:04Z foojin: Are forms (appearing directly in the source code, not generated by a macro) passed to other macros safe to modify and if not, do macro writers need to make sure the emitted code is free from literal and quoted objects? 2017-03-13T21:11:39Z phoe: foojin: give me an example 2017-03-13T21:13:13Z rumbler31 joined #lisp 2017-03-13T21:13:40Z libreman quit (Ping timeout: 246 seconds) 2017-03-13T21:14:04Z josh_2 joined #lisp 2017-03-13T21:14:08Z libreman joined #lisp 2017-03-13T21:16:11Z phoe: because I don't think the second part of your question holds true 2017-03-13T21:16:27Z phoe: the emitted code may have literal and quoted objects, I don't see any problem with that 2017-03-13T21:16:39Z phoe: like (my-let ((var '(1 2 3))) ...) 2017-03-13T21:16:47Z phoe: where MY-LET is a macro that expands to LET 2017-03-13T21:16:58Z nowhereman quit (Ping timeout: 258 seconds) 2017-03-13T21:17:06Z phoe: there's a literal list there - and I don't see any problem with it 2017-03-13T21:17:32Z schally quit (Ping timeout: 260 seconds) 2017-03-13T21:17:55Z Bike: "The consequences are undefined if a macro function destructively modifies any part of its form argument." 2017-03-13T21:18:05Z phoe: Bike: thanks. 2017-03-13T21:18:06Z gingerale quit (Remote host closed the connection) 2017-03-13T21:18:21Z Bike: in 3.1.2.1.2.2. so no you can't modify code passed to a macro (regardless of whether it's in source text or the product of another macro) 2017-03-13T21:19:55Z foojin: phoe: (defmacro call-with-first (form) (setf (cddr form) nil) form) 2017-03-13T21:20:26Z phoe: foojin: got it. 2017-03-13T21:20:28Z slyrus joined #lisp 2017-03-13T21:20:31Z phoe: it's undefined. 2017-03-13T21:20:41Z Ven quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-13T21:20:42Z phoe: as Bike said above. 2017-03-13T21:20:45Z phoe: clhs 3.1.2.1.2.2 2017-03-13T21:20:45Z specbot: Macro Forms: http://www.lispworks.com/reference/HyperSpec/Body/03_ababb.htm 2017-03-13T21:21:02Z foojin: Bike: Ah, I see. That's pretty consistent with the treatment of literal and quoted objects. 2017-03-13T21:21:07Z defaultxr quit (Quit: brb) 2017-03-13T21:21:15Z Bike: mhm 2017-03-13T21:21:27Z BlueRavenGT joined #lisp 2017-03-13T21:21:35Z rumbler31 quit (Ping timeout: 240 seconds) 2017-03-13T21:22:00Z foojin: I wonder if there's a reference like this for elisp. Googling it gives me nothing besides the (somewhat informal for a specification) elisp manual. 2017-03-13T21:22:23Z Bike: i kinda doubt elisp was ever really standardized, since there's just emacs and forks of emacs. 2017-03-13T21:23:07Z phoe: ^ 2017-03-13T21:23:20Z phoe: I think the closest thing you have is the original emacs manual 2017-03-13T21:23:26Z phoe: but again, you might want to ask around in #emacs 2017-03-13T21:26:58Z rumbler31 joined #lisp 2017-03-13T21:29:33Z schally joined #lisp 2017-03-13T21:30:15Z defaultxr joined #lisp 2017-03-13T21:30:26Z foojin: phoe: Then I guess the best bet would be to study the way implementation itself does things (decompile, etc.) and hope for the best. 2017-03-13T21:32:45Z phoe: foojin: either keep it within how the implementation implements it, or keep it standard and don't mutate macro forms. 2017-03-13T21:33:01Z phoe: I advise the second, if solely for the purpose of other people needing to maintain your code later. 2017-03-13T21:33:43Z aeth: In case anyone cares (no one does), I did manage to write Smallfuck (a smaller cousin of Brainfuck without I/O) in 32 lines of CL: http://paste.lisp.org/+7BE3 2017-03-13T21:33:46Z aeth: I forgot to share my results 2017-03-13T21:34:07Z aeth: (2 days ago.) 2017-03-13T21:34:46Z phoe: aeth: githubize it and ask for inclusion in quicklisp 2017-03-13T21:34:52Z phoe: it sounds fun enough 2017-03-13T21:35:47Z aeth: phoe: If I put it in Quicklisp, (1) I'd add brainfuck support (it's just I/O and a byte-array with wrapping arithemetic instead of a bit-array... and I already implemented wrapping for the Smallfuck tape, anyway) and (2) I'd write a reader for files instead of just a macro that takes in literal strings 2017-03-13T21:35:54Z aeth: and (3) I'd release it in very early April 2017-03-13T21:36:27Z phoe: aeth: yes please 2017-03-13T21:37:13Z aeth: There are basically two ways to compile to Lisp (yes, it's a compiler, not an interpreter). You can have a macro (e.g. taking in a string, and producing Lisp source) and you can read a file, write out a temporary .lisp, and the run compile-file on that temporary .lisp file. 2017-03-13T21:37:28Z aeth: If the macro is written using a pseudo-reader on a character stream (as I did here), most of the code can be shared in common. 2017-03-13T21:37:47Z aeth: Then you can have both inline brainfuck (through strings) and the ability to compile brainfuck files 2017-03-13T21:38:30Z aeth: I suppose the third way is a reader macro, since it would behave very similarly to the string approach. I might add that. 2017-03-13T21:38:46Z phoe: aeth: #B 2017-03-13T21:38:53Z aeth: taken. I'd have to use #f 2017-03-13T21:38:57Z phoe: taken? 2017-03-13T21:39:05Z aeth: binary number representation 2017-03-13T21:39:06Z phoe: oh 2017-03-13T21:39:08Z phoe: binary 2017-03-13T21:40:43Z aeth: So I suppose there are then actually three different ways to compile to CL, all of them working on character streams and thus sharing the same core functions. Regular macro on a string, reader macro, and source file. 2017-03-13T21:40:58Z aeth: Although who knows how many parts of CL are turing complete, there might be more places to put it. :-p 2017-03-13T21:41:53Z phoe: Well 2017-03-13T21:42:05Z rumbler31 quit (Ping timeout: 240 seconds) 2017-03-13T21:42:25Z phoe: we have turing complete reader macros, turing complete macros, turing complere functions, turing complete Gray streams... 2017-03-13T21:42:54Z aeth: but the type system isn't turing complete, is it? 2017-03-13T21:43:06Z aeth: I guess Rust has one thing over CL... https://sdleffler.github.io/RustTypeSystemTuringComplete/ 2017-03-13T21:44:30Z phoe: the type system isn't, correct. 2017-03-13T21:45:32Z aeth: The type system is definitely one of the weaknesses of CL's flexibility imo. 2017-03-13T21:45:49Z Bike: it has satisfies, so typep isn't total 2017-03-13T21:45:49Z phoe: Ayup, it is. 2017-03-13T21:46:25Z phoe: hah, I wonder if satisfies makes the type system turing complete because it invokes functions which are turing complete 2017-03-13T21:46:35Z phoe: now that I think of it 2017-03-13T21:47:00Z nirved quit (Quit: Leaving) 2017-03-13T21:47:47Z Lord_of_Life quit (Excess Flood) 2017-03-13T21:48:04Z nowhereman joined #lisp 2017-03-13T21:48:22Z aeth: I'd say CL has these missing things: type system and and a standard way to do optional typing (declare varies by implementation), pure functional programming and immutability, logic programming (although you can implement a Prolog in CL), array programming (you can work with arrays passably but the numerical tower only has complex), ... 2017-03-13T21:48:45Z Bike: oh, and depending how you interpret things subtypep is NP-complete. 2017-03-13T21:48:50Z phoe: aeth: lack of immutability is a feature 2017-03-13T21:49:14Z varjag: and logic programming was dead before x3j13 2017-03-13T21:49:31Z aeth: phoe: but immutability is also a feature, because if you're not going to mutate it, you can give the compiler more freedom 2017-03-13T21:49:32Z phoe: unless you'd like the compiler to leverage the fact you declare something as pure so the compiler can optimize it away with some memoizing or what not. 2017-03-13T21:49:47Z phoe: ECL leverages it, there's a PURE declaration AFAIR 2017-03-13T21:49:58Z Lord_of_Life joined #lisp 2017-03-13T21:50:01Z aeth: not portably part of the language 2017-03-13T21:50:01Z dtornabene quit (Remote host closed the connection) 2017-03-13T21:50:23Z aeth: just like e.g. lazy sequences aren't portably part of the language, and if you do try to use them, you can't use the built-in sequence stuff on them. 2017-03-13T21:51:36Z varjag: interpretation of type declarations among various cl implementations seems to naturally converge 2017-03-13T21:52:07Z varjag: at least that's my impression working with some heavily declared, portable code 2017-03-13T21:52:33Z varjag: what compilers do with type info is a separate thing 2017-03-13T21:52:36Z aeth: I wasn't clear enough about type system. CL has one, it's missing a powerful one. :-p 2017-03-13T21:53:36Z phoe: aeth: are there CDRs written for the things you miss from CL? 2017-03-13T21:54:27Z aeth: Not the type one, by far. You can't even e.g. specify an array size range, only the exact size or accept any size. 2017-03-13T21:54:34Z reepca joined #lisp 2017-03-13T21:54:58Z aeth: https://common-lisp.net/project/cdr/document/5/index.html 2017-03-13T21:55:00Z aeth: Only one type CDR 2017-03-13T21:55:07Z phoe: aeth: write some more~ 2017-03-13T21:57:26Z fourier joined #lisp 2017-03-13T21:57:28Z abel-abel joined #lisp 2017-03-13T22:00:28Z defaultxr quit (Ping timeout: 240 seconds) 2017-03-13T22:00:41Z Bike: some of the semantics are kind of involved. "declarations are assertions" is easy enough to state, but some types even in the current system can't be checked, and most extensions would add more. and even sbcl doesn't check all existing types. 2017-03-13T22:01:22Z travv0 left #lisp 2017-03-13T22:01:30Z defaultxr joined #lisp 2017-03-13T22:01:44Z aeth: oh, right, I forgot, because it's done through declare, the type part *can* be done through extensions afaik 2017-03-13T22:01:50Z MoALTz quit (Ping timeout: 256 seconds) 2017-03-13T22:02:11Z sjl joined #lisp 2017-03-13T22:02:11Z aeth: Now, if someone can get SBCL, CCL, and ECL to agree on some extension... 2017-03-13T22:02:35Z fourier quit (Ping timeout: 240 seconds) 2017-03-13T22:02:36Z Bike: sbcl and abcl both have extended sequences, which at least involves the type system, i guess. 2017-03-13T22:02:43Z Bike: but there hasn't been much serious work on recursive types or whatever. 2017-03-13T22:03:32Z aeth: Apparently, you can even extend the numerical tower and or make #'* generic through extensions because type-error/arithmetic-error is optional... http://www.lispworks.com/documentation/HyperSpec/Body/f_st.htm 2017-03-13T22:03:54Z aeth: hmm, somehow the / disappeared in my "and/or" 2017-03-13T22:04:03Z Bike: an implementation could just add subtypes of number 2017-03-13T22:05:56Z aeth: Hmm, I guess all of my complaints with the language are basically FP complaints except for the ones I didn't list that are more related to making CL friendlier for data-oriented design. https://en.wikipedia.org/wiki/Data-oriented_design 2017-03-13T22:06:13Z aeth: The latter taken to its extreme is basically implementing an in-memory relational database. 2017-03-13T22:06:42Z aeth: (It'd be cool if CL had a Common Lisp Relational System like it has CLOS.) 2017-03-13T22:07:18Z akkad: is there a faster implementation of gunzip aka (time (gzip-stream:gunzip "~/foo.gz" "~/foo")) 2017-03-13T22:07:26Z sjl quit (Read error: Connection reset by peer) 2017-03-13T22:08:41Z shka_ quit (Ping timeout: 260 seconds) 2017-03-13T22:08:48Z fourier joined #lisp 2017-03-13T22:12:16Z varjag: aeth: i think with cl that would be fitting a square peg in a round hole 2017-03-13T22:12:56Z aeth: Imo, CL is about that. 2017-03-13T22:13:07Z varjag: cache locality only became a design consideration in the last decade 2017-03-13T22:13:10Z varjag: or so 2017-03-13T22:13:14Z aeth: varjag: there are quite a few paradigms here that CL is capable of doing: https://en.wikipedia.org/wiki/Template:Programming_paradigms 2017-03-13T22:13:16Z quazimodo joined #lisp 2017-03-13T22:13:28Z varjag: when l2 sizes became huge enough to fit a useful dataset 2017-03-13T22:13:51Z aeth: Adding a more powerful (optional) type system and improving cache locality so some paradigms that are already implementable work better in the allocating backend would be wonderful. 2017-03-13T22:14:02Z varjag: i disagree 2017-03-13T22:14:05Z aeth: I use CL because I don't want anyone telling me what paradigm to use. 2017-03-13T22:14:17Z varjag: cl should not incorporate hw optimisation of the year 2017-03-13T22:14:39Z aeth: CL should not require optimizations, but it should make optimizations possible if the implementation is willing to do the work. 2017-03-13T22:14:41Z varjag: if it was incorporating say lisp machine arch quirks back in the day 2017-03-13T22:14:44Z varjag: it would be dead now 2017-03-13T22:14:59Z Bike: or nobody would use boole. 2017-03-13T22:15:00Z remi`bd quit (Quit: leaving) 2017-03-13T22:15:09Z Karl_Dscc joined #lisp 2017-03-13T22:15:12Z varjag: just look at the pathnames for a teaser :p 2017-03-13T22:16:03Z phoe: there are logical pathnames and illogical pathnames 2017-03-13T22:16:04Z phoe ducks 2017-03-13T22:16:25Z aeth: Ideal CL runs everywhere even if it's only fast on certain implementations. e.g. look at single-float and double-float simple-arrays. They're just T simple-arrays on implementations that choose not to care. 2017-03-13T22:17:49Z aeth: Compare this to the Scheme approach, where separate dialects are basically separate languages. 2017-03-13T22:19:28Z sjl joined #lisp 2017-03-13T22:20:42Z varjag: Bike: jesus, right.. boole. 2017-03-13T22:21:20Z aeth: The best part about boole is that the numbers are different in every implementation! There isn't even a de facto standard! 2017-03-13T22:21:34Z aeth: boole-nor => ????????? 2017-03-13T22:21:53Z Bike: that's for machine quirk reasons 2017-03-13T22:23:40Z aeth: boole-nor is 11 in SBCL, 8 in ECL, 11 in CCL, and 1 in CLISP. 2017-03-13T22:23:50Z aeth: (Do CCL and SBCL have compatible boole constants?) 2017-03-13T22:24:03Z manuel_ quit (Quit: manuel_) 2017-03-13T22:24:13Z Bike: why would it matter 2017-03-13T22:24:18Z Bike: even if people used boole 2017-03-13T22:25:14Z aeth: You never know what nightmare hack someone is using somewhere that assumes the value of boole-foo 2017-03-13T22:25:37Z varjag: hard to imagine tbh 2017-03-13T22:26:00Z aeth: If something's allowed and there are enough programmers in that language, then imo assume someone is abusing that feature somewhere. 2017-03-13T22:26:11Z varjag: yeah can well be just me 2017-03-13T22:26:27Z Bike: seriously, nobody uses boole. 2017-03-13T22:26:46Z aeth: What if someone wants a low numerical constant without the overhead of adding another symbol when there's already one that gives them the constant value that they want? 2017-03-13T22:26:56Z aeth: Someone might think that way. 2017-03-13T22:27:03Z Bike: but they don't 2017-03-13T22:28:02Z Odin-: There are all kinds of sick and twisted minds out there. There are even people who voluntarily use PHP. 2017-03-13T22:28:05Z varjag: i think if phoe forgets to put boole chapter in his spec 2017-03-13T22:28:12Z aeth: Bike: probably only because they don't know those constants exist! 2017-03-13T22:28:14Z Jesin quit (Quit: Leaving) 2017-03-13T22:28:16Z varjag: it will take years until people notice 2017-03-13T22:29:00Z aeth: Of the many packages I have installed from Quicklisp, boole is only found in clx, mcclim, slime, and stumpwm 2017-03-13T22:29:12Z aeth: It appears to only actaully be *used* in the first two 2017-03-13T22:29:24Z Petit_Dejeuner has to stick a (not (not ...)) around his return values so someone doesn't try and use the return value for something. 2017-03-13T22:29:34Z Petit_Dejeuner: It's just a boolean, guys. 2017-03-13T22:30:10Z aeth: Petit_Dejeuner: and you're not not okay with doing that to your code? 2017-03-13T22:31:25Z aeth: s/that to/that in/ 2017-03-13T22:32:24Z phoe: Petit_Dejeuner: um 2017-03-13T22:32:37Z phoe: have your docstring state that your function returns a generalized boolean 2017-03-13T22:33:18Z phoe: and if any of your users attempts to use the return values, it's their problem, not yours anymore 2017-03-13T22:34:10Z schally quit (Ping timeout: 246 seconds) 2017-03-13T22:35:01Z attila_lendvai: phoe: that's not a very user friendly approach... i.e. someone may trace, or log stuff, and it's rather inconvenient to deal with generalized booleans for *every* user, instead of the single author 2017-03-13T22:35:43Z phoe: attila_lendvai: well, yes. except a lot of standard CL functions do exactly that. 2017-03-13T22:36:49Z aeth: phoe: Standard CL functions aren't the perfect model of standard CL style, though. There are some outdated names that should be full-hyphenated-names, built-in constants don't have +s surrounding them, etc. 2017-03-13T22:36:55Z attila_lendvai: that by itself is not a reason to follow that practice... 2017-03-13T22:37:03Z phoe: they return generalized booleans, so, in pure theory, they might return anything, and if the user does anything with the value that's other than checking its nullity, it's their problem since their code is not conforming anymore. 2017-03-13T22:37:10Z phoe: attila_lendvai: right. 2017-03-13T22:37:21Z phoe: it's more of a sign of me being dissatisfied with the standard in this place. 2017-03-13T22:37:38Z aeth: The ultraspec should imo note when something is of an outdated style 2017-03-13T22:37:44Z aeth: So people don't learn the wrong lessons 2017-03-13T22:38:02Z phoe: aeth: file an issue for that. 2017-03-13T22:38:10Z varjag: aeth: both mcclim and clx support genera, hence boole probably 2017-03-13T22:38:14Z aeth: (or when something is essentially obsolete altogether like set or rplaca) 2017-03-13T22:38:18Z phoe: it's a pretty huge project, first, to take notes what is outdated, second, to implement it in the files. 2017-03-13T22:38:38Z phoe: hey, rplaca is obsolete? 2017-03-13T22:38:48Z attila_lendvai: and to be honest, I was often longing for straight out boolean true/false constants, so that bugs can be caught earlier... in an ideal language one could mingle the CL like generalized booleans, and libs that require and return boolean true/false 2017-03-13T22:39:17Z phoe: I sort of long for a #'BOOLEAN 2017-03-13T22:39:24Z phoe: (defun boolean (x) (if x t nil)) 2017-03-13T22:39:31Z Jesin joined #lisp 2017-03-13T22:39:44Z phoe: except defining a function for symbol BOOLEAN has undefined consequences. 2017-03-13T22:39:48Z aeth: phoe: https://www.reddit.com/r/lisp/comments/5wwqca/tipps_to_really_understand_lisp/defeom1/?context=3 2017-03-13T22:40:22Z phoe: aeth: (setf car) expands into rplaca. (setf cdr) expands into rplacd. 2017-03-13T22:40:56Z aeth: and (setf x 42) => (setq x 42) => (set 'x 42), right? 2017-03-13T22:41:03Z aeth: But I see neither setq nor set in common code. 2017-03-13T22:41:08Z aeth: setq sometimes 2017-03-13T22:41:49Z Bike: they don't have to expand like that. sbcl doesn't. 2017-03-13T22:41:54Z aeth: I'll be more specific: (let ((x 21)) (setf x 42)) 2017-03-13T22:42:35Z aeth: I don't think (setf (car foo)) has to, either. Couldn't rplaca be implemented in terms of setf instead of the other way around? 2017-03-13T22:42:45Z Bike: that's what i meant, yes. 2017-03-13T22:43:09Z varjag: i like rplaca/d 2017-03-13T22:43:13Z varjag: smells of punchcards 2017-03-13T22:43:28Z aeth: setf is the general, common way to set things in modern CL (if only there was an equivalent for elt/aref/getf/gethash/etc.) 2017-03-13T22:43:47Z aeth: (elt doesn't replace aref entirely... elt only works on one-dimensional arrays, and arrays are 0+ dimensions) 2017-03-13T22:44:58Z aeth: It'd be really nice imo if there was something generic like setf for the general case of "access an index from a thing" because then you could write your own things that behave exactly the same way, too. 2017-03-13T22:45:28Z Bike: sequence extension has a generic elt. 2017-03-13T22:45:37Z aeth: (aref not of one dimension could be represented by a list, just like in make-array) 2017-03-13T22:45:54Z aeth: Yes, but why just sequences? 2017-03-13T22:46:23Z aeth: Anything indexable, including alists, plists, hash-tables, and arrays that aren't sequences, should also have this. Like foo.bar or foo["bar"] in some languages. 2017-03-13T22:47:09Z aeth: (foo some-2d-array '(1 2)) => (aref some-2d-array 1 2) and (foo some-0d-array '()) => (aref some-0d-array) 2017-03-13T22:47:59Z aeth: and of course (foo sequence 0) => (elt sequence 0) and (foo hash-table :key) => (gethash :key hash-table) 2017-03-13T22:48:55Z aeth: Then something can be considered indexable by some kind of index if it implements foo, with sequences being the special case of using a number index instead of a list-of-numbers index or a symbol index. 2017-03-13T22:49:46Z aeth: In other words, I love the concept of setf so much, I'd like for there to be a "getf" except that the obvious "getf" name is taken. 2017-03-13T22:51:10Z aeth: Then e.g. if you wanted to make something similar to a hash-table but with some key differences, it doesn't seem out of place in the language. 2017-03-13T22:51:57Z aeth: heh, key differences... unintentional pun 2017-03-13T22:53:23Z abel-abel quit (Quit: Leaving) 2017-03-13T22:54:10Z aeth: Oh, the best part is that this could then chain. (accessor some-hash-table :other-hash-table :matrix '(2 3)) 2017-03-13T22:54:23Z mishoo quit (Ping timeout: 240 seconds) 2017-03-13T22:54:51Z aeth: and it'd roughly be like some_hash_table["other-hash-table"]["matrix"][haha this language probably doesn't have 2D arrays] 2017-03-13T22:55:35Z knicklux quit (Quit: Leaving) 2017-03-13T22:56:10Z Jesin quit (Quit: Leaving) 2017-03-13T23:04:38Z varjag: how efficient should be (setf (subseq..)) on a simple-array in sbcl? 2017-03-13T23:04:48Z varjag: compared to the obvious dyi implementation of that 2017-03-13T23:04:54Z varjag: diy 2017-03-13T23:05:13Z axion: subseq copies the sequence 2017-03-13T23:05:17Z axion: so not very 2017-03-13T23:05:56Z aeth: axion: (let ((foo (list 1 2 3))) (setf (subseq foo 0 2) (list 4 5)) foo) => (4 5 3) 2017-03-13T23:06:12Z aeth: varjag was asking about (setf subseq) not subseq 2017-03-13T23:06:35Z Xach: varjag: I would very much expect it to be as fast as replace, and if it wasn't, i would ask for a full refund. 2017-03-13T23:06:44Z aeth: varjag: I think generally, at least on SBCL, these indirect approaches are as efficient as doing it directly, as long as the compiler has enough information about the sequence ahead of time. 2017-03-13T23:07:04Z varjag: it does seem to expand into replace indeed 2017-03-13T23:07:07Z aeth: varjag: i.e. if you're passing in the sequence, you might need to add (declare (foo-sequence-type sequence)) 2017-03-13T23:07:09Z Jesin joined #lisp 2017-03-13T23:07:15Z aeth: to get the performance 2017-03-13T23:07:46Z varjag: yes, it's all declared i think 2017-03-13T23:08:45Z aeth: At least on SBCL for sequences and numbers (not sure what else is generic like that) knowing the type can make a huge (10x) difference. 2017-03-13T23:08:52Z aeth: Probably also structs, actually. 2017-03-13T23:10:33Z sjl quit (Read error: Connection reset by peer) 2017-03-13T23:11:12Z quazimodo quit (Ping timeout: 258 seconds) 2017-03-13T23:11:50Z warweasle joined #lisp 2017-03-13T23:12:18Z schally joined #lisp 2017-03-13T23:15:16Z drmeister: Hey - has anyone used cl-jupyter? I got it working and wanted to compare notes. 2017-03-13T23:15:37Z drmeister: http://i.imgur.com/kjT61NG.png 2017-03-13T23:17:12Z foojin quit (Quit: leaving) 2017-03-13T23:18:37Z wtetzner joined #lisp 2017-03-13T23:18:52Z LiamH quit (Quit: Leaving.) 2017-03-13T23:23:00Z CEnnis91 quit (Quit: Connection closed for inactivity) 2017-03-13T23:23:10Z pve quit (Ping timeout: 264 seconds) 2017-03-13T23:23:37Z Xach: cool 2017-03-13T23:23:50Z Xach: drmeister: you are now even more of a cool, hip, and with-it kid 2017-03-13T23:26:37Z whoman joined #lisp 2017-03-13T23:28:52Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-13T23:29:10Z BlueRavenGT quit (Ping timeout: 264 seconds) 2017-03-13T23:29:10Z safe joined #lisp 2017-03-13T23:29:59Z cromachina joined #lisp 2017-03-13T23:31:19Z wtetzner quit (Remote host closed the connection) 2017-03-13T23:31:28Z atheris joined #lisp 2017-03-13T23:31:56Z scymtym quit (Ping timeout: 256 seconds) 2017-03-13T23:33:55Z whoman quit (Remote host closed the connection) 2017-03-13T23:35:09Z whoman joined #lisp 2017-03-13T23:35:45Z trocado joined #lisp 2017-03-13T23:37:05Z libreman quit (Ping timeout: 240 seconds) 2017-03-13T23:37:32Z libreman joined #lisp 2017-03-13T23:37:32Z Lord_of_Life quit (Excess Flood) 2017-03-13T23:40:58Z Lord_of_Life joined #lisp 2017-03-13T23:42:28Z varjag quit (Ping timeout: 240 seconds) 2017-03-13T23:42:53Z desku quit (Ping timeout: 240 seconds) 2017-03-13T23:49:08Z fourier quit (Ping timeout: 240 seconds) 2017-03-13T23:51:45Z scymtym joined #lisp 2017-03-13T23:52:57Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-13T23:53:44Z manuel_ joined #lisp 2017-03-13T23:54:51Z atheris quit (Ping timeout: 260 seconds) 2017-03-13T23:55:58Z whomasect joined #lisp 2017-03-13T23:57:35Z whoman quit (Ping timeout: 240 seconds) 2017-03-13T23:57:35Z karswell` joined #lisp 2017-03-13T23:58:16Z JuanDaugherty joined #lisp 2017-03-14T00:00:52Z whomasect quit (Ping timeout: 260 seconds) 2017-03-14T00:03:35Z karswell` is now known as karswell 2017-03-14T00:05:06Z RedEight quit (Quit: leaving) 2017-03-14T00:06:30Z scymtym quit (Ping timeout: 256 seconds) 2017-03-14T00:07:33Z bounb quit (Ping timeout: 245 seconds) 2017-03-14T00:11:53Z stepnem quit (Ping timeout: 240 seconds) 2017-03-14T00:23:09Z warweasle quit (Remote host closed the connection) 2017-03-14T00:24:21Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-14T00:24:58Z Kaisyu joined #lisp 2017-03-14T00:29:48Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-14T00:36:18Z vibs29 quit (Ping timeout: 258 seconds) 2017-03-14T00:37:50Z milanj quit (Quit: Leaving) 2017-03-14T00:38:36Z svgDelux joined #lisp 2017-03-14T00:41:17Z vibs29 joined #lisp 2017-03-14T00:44:48Z tmtwd joined #lisp 2017-03-14T00:45:32Z slyrus quit (Ping timeout: 268 seconds) 2017-03-14T00:49:49Z namosca joined #lisp 2017-03-14T00:50:09Z pillton quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2017-03-14T00:54:57Z schally quit (Ping timeout: 240 seconds) 2017-03-14T00:58:02Z wtetzner joined #lisp 2017-03-14T01:00:23Z sword quit (Ping timeout: 240 seconds) 2017-03-14T01:03:08Z FreeBirdLjj joined #lisp 2017-03-14T01:04:32Z atheris joined #lisp 2017-03-14T01:05:24Z smokeink joined #lisp 2017-03-14T01:06:27Z atheris quit (Remote host closed the connection) 2017-03-14T01:08:04Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2017-03-14T01:09:51Z pjb quit (Quit: Good night!) 2017-03-14T01:10:43Z shdeng joined #lisp 2017-03-14T01:11:16Z manuel_ quit (Ping timeout: 260 seconds) 2017-03-14T01:11:33Z manuel_ joined #lisp 2017-03-14T01:14:14Z manuel__ joined #lisp 2017-03-14T01:16:23Z manuel_ quit (Ping timeout: 240 seconds) 2017-03-14T01:16:23Z manuel__ is now known as manuel_ 2017-03-14T01:17:08Z josh_2 quit (Ping timeout: 240 seconds) 2017-03-14T01:19:13Z trocado quit (Remote host closed the connection) 2017-03-14T01:20:51Z manuel__ joined #lisp 2017-03-14T01:21:22Z manuel_ quit (Ping timeout: 264 seconds) 2017-03-14T01:21:22Z manuel__ is now known as manuel_ 2017-03-14T01:30:28Z pillton joined #lisp 2017-03-14T01:36:48Z aeth: When generating a ton of setfs in a macro, is it okay to do (setf ...) (setf ...) (setf ...) ... instead of (setf ... ... ... ...) even though the latter is preferred when it's not generated? 2017-03-14T01:37:11Z aeth: s/the latter/the former/ 2017-03-14T01:37:15Z aeth: because the latter is so much easier to generate 2017-03-14T01:39:01Z Bike: why would that not be okay? 2017-03-14T01:39:21Z jason_m joined #lisp 2017-03-14T01:39:22Z aeth: Common Lisp is a huge language full of hundreds to thousands of little edge cases where I can accidentally hurt myself 2017-03-14T01:39:45Z Bike: they're equivalent, and the latter probably expands into the former 2017-03-14T01:41:13Z akkad: deoxybyte-gzip:gunzip is faster than gunzip(1). did not think that was possible 2017-03-14T01:41:13Z akkad: 2017-03-14T01:42:21Z aeth: On the one hand, it's very hard to beat well-written C in performance. 2017-03-14T01:42:26Z aeth: On the other hand, most C isn't well-written. 2017-03-14T01:42:36Z Karl_Dscc quit (Remote host closed the connection) 2017-03-14T01:42:48Z akkad: yeah... so gzip-stream is 80s and deoxybyte is like 1.4s. 2017-03-14T01:43:02Z aeth: woah 2017-03-14T01:43:16Z aeth: is the latter multithreaded and the former not or something? 2017-03-14T01:43:27Z akkad: no idea. 2017-03-14T01:43:32Z akkad: gunzip is 2s 2017-03-14T01:44:12Z akkad: https://gist.github.com/0cc9b75f41c844b7b937ef3375b3d48 on a 40MB file from /dev/urandom 2017-03-14T01:44:46Z FreeBirdLjj joined #lisp 2017-03-14T01:44:46Z aeth: 404 2017-03-14T01:45:23Z akkad: hmm... github must have changed their gist format again. 2017-03-14T01:46:20Z fourier joined #lisp 2017-03-14T01:46:55Z akkad: https://gist.github.com/ober/0cc9b75f41c844b7b937ef3375b3d48a ahh they put the username in the url. will push fix to yagist author 2017-03-14T01:48:50Z aeth: Try timing it from the terminal 2017-03-14T01:49:24Z namosca left #lisp 2017-03-14T01:50:29Z aeth: https://github.com/keithj/deoxybyte-gzip 2017-03-14T01:50:39Z aeth: It's just using zlib through CFFI 2017-03-14T01:50:57Z akkad: yeah figured it must be native libs it's using 2017-03-14T01:51:10Z akkad: still to beat gunzip(1) using the same lib... 2017-03-14T01:51:26Z aeth: There must be more overhead there 2017-03-14T01:51:28Z fourier quit (Ping timeout: 260 seconds) 2017-03-14T01:51:45Z aeth: Also, careful, the license is GPLv3. So if you use it as part of a larger project, it has to be GPLv3 or AGPLv3. 2017-03-14T01:52:02Z akkad: thanks( 2017-03-14T01:52:08Z aeth: zlib itself is... zlib licensed. 2017-03-14T01:55:15Z aeth: oh wow, I can't just go (coerce 'foo 'keyword)... I guess (intern (symbol-name 'foo) 'keyword) is the right way? 2017-03-14T01:57:08Z terpri quit (Read error: Connection reset by peer) 2017-03-14T01:58:28Z terpri joined #lisp 2017-03-14T02:02:25Z Bike: yeah. 2017-03-14T02:07:23Z aeth: (type-of 'foo) => symbol 2017-03-14T02:07:29Z aeth: (type-of ''foo) => cons 2017-03-14T02:07:36Z aeth: o.o 2017-03-14T02:08:15Z Bike: the type of (quote foo) is cons 2017-03-14T02:08:25Z aeth: yeah 2017-03-14T02:10:44Z attila_lendvai1 joined #lisp 2017-03-14T02:10:44Z attila_lendvai quit (Read error: Connection reset by peer) 2017-03-14T02:10:57Z attila_lendvai1 quit (Changing host) 2017-03-14T02:10:57Z attila_lendvai1 joined #lisp 2017-03-14T02:11:31Z tmtwd quit (Ping timeout: 246 seconds) 2017-03-14T02:12:04Z dpg joined #lisp 2017-03-14T02:12:44Z aeth: it's just a bit surprising to e.g. do (car ''foo) and see quote pop up 2017-03-14T02:19:47Z attila_lendvai1 quit (Ping timeout: 252 seconds) 2017-03-14T02:21:46Z manuel__ joined #lisp 2017-03-14T02:22:52Z jameser joined #lisp 2017-03-14T02:24:12Z manuel_ quit (Ping timeout: 256 seconds) 2017-03-14T02:25:14Z rpav: aeth: but that's why (let ('2) (+ . '2)) 2017-03-14T02:26:34Z manuel__ quit (Ping timeout: 246 seconds) 2017-03-14T02:28:08Z manuel_ joined #lisp 2017-03-14T02:29:26Z parjanya joined #lisp 2017-03-14T02:30:30Z wtetzner quit (Remote host closed the connection) 2017-03-14T02:32:05Z TDT quit (Quit: TDT) 2017-03-14T02:32:29Z TDT joined #lisp 2017-03-14T02:32:44Z TDT quit (Client Quit) 2017-03-14T02:35:20Z manuel_ quit (Ping timeout: 260 seconds) 2017-03-14T02:37:44Z manuel_ joined #lisp 2017-03-14T02:37:54Z manuel_ quit (Remote host closed the connection) 2017-03-14T02:38:01Z aeth: Is there any way to get a function symbol in a macro? e.g. assume foo, bar, and baz are defined within the package. (defun foobarbaz () (list 'foo 'bar 'baz)) 2017-03-14T02:38:07Z manuel_ joined #lisp 2017-03-14T02:38:43Z aeth: I've tried about 5 ways to produce something like that in a macro, and I get the compiler complaining they're undefined variables 2017-03-14T02:38:54Z Bike: ...what? what is a function symbol 2017-03-14T02:39:52Z rpav: yeah not sure what you're after there; you could certainly iterate the package 2017-03-14T02:40:07Z jameser_ joined #lisp 2017-03-14T02:40:41Z aeth: Bike: a quoted symobl in the global scope of the package that can be funcalled to call that function 2017-03-14T02:40:48Z aeth: like (funcall 'foo) 2017-03-14T02:41:10Z aeth: The ' instead of the #'is so foo can be recompiled while the program is running 2017-03-14T02:41:17Z Bike: (let ((sym 'foo)) `(funcall ',sym ...))? 2017-03-14T02:41:32Z aeth: No, it's not called in the macro. 2017-03-14T02:41:39Z Bike: ??? 2017-03-14T02:41:45Z moei quit (Quit: Leaving...) 2017-03-14T02:41:53Z Bike: Can you give an example of a macro form and what you would like it to expand to. 2017-03-14T02:42:06Z aeth: yes 2017-03-14T02:42:41Z aeth: https://gitlab.com/zombie-raptor/zombie-raptor/blob/91a606916c29bd0485978cfd13b4d7d74a642152/core/controls.lisp#L172-193 2017-03-14T02:42:55Z aeth: Instead of using that hash table reader macro, I am going to generate the hash table through a macro 2017-03-14T02:43:01Z aeth: Because of the obvious pattern there. 2017-03-14T02:43:13Z aeth: The pattern is that the key matches the name of the function (except in one case, which has been changed) 2017-03-14T02:43:25Z jameser quit (Ping timeout: 260 seconds) 2017-03-14T02:43:32Z aeth: i.e. it halves the size of that function if I use my own custom macro 2017-03-14T02:43:54Z aeth: This is going to be exported to the end user, too, so I can't trust the end user to generate the hash table properly. 2017-03-14T02:44:06Z aeth: (the macro, I mean) 2017-03-14T02:45:12Z Bike: (defmacro define-key-actions (&rest names) `(defun key-actions () (let ((hash (make-hash-table))) ,@(mapcar (lambda (name) `(setf ,(keywordify name) ',name)) names)))) or so? 2017-03-14T02:45:25Z Bike: er, in the hash. you get the idea 2017-03-14T02:45:27Z aeth: I don't have to gensym that? 2017-03-14T02:45:35Z jameser_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-14T02:45:37Z Bike: `(setf (gethash ,(keywordify name) bla bla bla 2017-03-14T02:47:23Z aeth: I had something similar and that didn't work for me for some reason 2017-03-14T02:49:55Z jameser joined #lisp 2017-03-14T02:50:18Z vtomole quit (Quit: Page closed) 2017-03-14T02:51:09Z aeth: If I don't quote the items in the list that gets fed into the macro, I get an undefined variable error. If I do quote them, I get a macroexpansion error when converting to a keyword because 'quote is not a symbol (it's a list) 2017-03-14T02:51:57Z aeth: sorry, not 'quote, 'foo 2017-03-14T02:52:26Z aeth: Then if I do the latter, but take the cadr of 'foo to avoid the error, then I get the undefined variable warning again. 2017-03-14T02:52:56Z aeth: maybe ',the-cadr-of-foo would work 2017-03-14T02:53:07Z aeth: because that's what's different in your macro that I didn't do 2017-03-14T02:53:24Z aeth: and that's it 2017-03-14T02:53:33Z dpg quit (Quit: Leaving) 2017-03-14T02:54:03Z aeth: Bike: thanks 2017-03-14T02:54:08Z Bike: np 2017-03-14T02:54:17Z aeth: last time I got stuck it was ',' and this time it's just ', 2017-03-14T02:54:23Z aeth: I'm noticing a pattern at where my macros fail now. 2017-03-14T02:55:24Z aeth: Bike: is there a reason why you're using &rest instead of &body? 2017-03-14T02:56:54Z Bike: not really 2017-03-14T02:57:01Z Bike: all it affects is indentation 2017-03-14T02:57:44Z aeth: also it's okay to use `(let ((hash (make-hash-table))) ...) instead of (let ((hash (gensym))) `(let ((,hash (make-hash-table))) ...)) there? 2017-03-14T02:58:25Z Bike: nothing the user inputs is expanded into something that evaluates, so sure 2017-03-14T02:58:25Z aeth: what if someone for some reason had a function called hash? 2017-03-14T02:58:36Z Bike: then it would expand into (setf (gethash :hash hash) 'hash) 2017-03-14T02:59:01Z CEnnis91 joined #lisp 2017-03-14T02:59:07Z aeth: And that doesn't matter because it's the package where the symbol is located that matters? 2017-03-14T02:59:38Z Bike: it doesn't matter anyway 2017-03-14T02:59:53Z Bike: you use gensyms when you want user code to evaluate in an environment you set up that has bindings 2017-03-14T03:00:00Z Bike: and that's not happening, so there's no need 2017-03-14T03:01:35Z aeth: I'll go with &body because otherwise the auto-indent indents the first form further than the rest. At least with &body they all are to the left at the same level. 2017-03-14T03:01:44Z Bike: as you please 2017-03-14T03:03:21Z aeth: http://paste.lisp.org/+7BEK 2017-03-14T03:03:26Z aeth: This is what I have now. It appears to work. 2017-03-14T03:04:13Z Bike: what the heck, why the quotations? 2017-03-14T03:04:26Z Bike: my code not good enough for ya, huh? i see how it is 2017-03-14T03:04:34Z aeth: it doesn't need to be quoted? 2017-03-14T03:04:41Z aeth: *oh* 2017-03-14T03:04:50Z aeth: oops 2017-03-14T03:05:15Z aeth: I am not good at macros 2017-03-14T03:06:31Z ryanwatk` joined #lisp 2017-03-14T03:06:41Z moei joined #lisp 2017-03-14T03:07:22Z aeth: Bike: this also works, you're right. http://paste.lisp.org/+7BEK/1 2017-03-14T03:07:41Z Bike: jah 2017-03-14T03:07:46Z Bike: only need to quote stuff that can get evaluated 2017-03-14T03:08:21Z aeth: I had it needlessly complicated because I was updating what I had already tried to get working 2017-03-14T03:08:29Z aeth: And of course I guessed the wrong areas for where the mistake was 2017-03-14T03:10:20Z ryanwatkins quit (Ping timeout: 260 seconds) 2017-03-14T03:11:46Z aeth: thanks again 2017-03-14T03:14:35Z aeth: Now this is what I have overall for my keyboard input code: https://gitlab.com/zombie-raptor/zombie-raptor/blob/b9ae943305d297c373d343442380402640524e17/core/controls.lisp#L87-192 2017-03-14T03:16:19Z aeth: The users of the library will (eventually) be able to define input actions, and will be making their own key-actions function. 2017-03-14T03:19:01Z aeth: (I should probably move the macros to input.lisp and put most of the rest of controls.lisp into a separate examples directory.) 2017-03-14T03:26:09Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-03-14T03:30:57Z lambda-smith joined #lisp 2017-03-14T03:33:36Z BitPuffin|osx quit (Ping timeout: 260 seconds) 2017-03-14T03:42:18Z Devon joined #lisp 2017-03-14T03:45:16Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-14T03:48:20Z schally joined #lisp 2017-03-14T03:54:44Z lambda-smith quit (Quit: Konversation terminated!) 2017-03-14T03:55:13Z akkad: There is no applicable method for the generic function #when called with arguments (#). get-json-gzip-contents 2017-03-14T04:01:25Z Devon quit (Ping timeout: 246 seconds) 2017-03-14T04:06:30Z jameser_ joined #lisp 2017-03-14T04:07:34Z jameser quit (Ping timeout: 264 seconds) 2017-03-14T04:11:04Z manuel__ joined #lisp 2017-03-14T04:11:21Z emacsomancer quit (Remote host closed the connection) 2017-03-14T04:12:52Z manuel_ quit (Ping timeout: 260 seconds) 2017-03-14T04:12:52Z manuel__ is now known as manuel_ 2017-03-14T04:12:53Z jameser_ quit (Ping timeout: 240 seconds) 2017-03-14T04:19:45Z jameser joined #lisp 2017-03-14T04:20:05Z manuel_ quit (Ping timeout: 240 seconds) 2017-03-14T04:24:23Z jameser quit (Ping timeout: 257 seconds) 2017-03-14T04:28:35Z jameser joined #lisp 2017-03-14T04:30:39Z jameser quit (Read error: Connection reset by peer) 2017-03-14T04:32:31Z jameser joined #lisp 2017-03-14T04:36:48Z jameser quit (Ping timeout: 240 seconds) 2017-03-14T04:46:37Z bocaneri joined #lisp 2017-03-14T04:50:50Z jameser joined #lisp 2017-03-14T04:57:08Z daniel-s joined #lisp 2017-03-14T04:58:46Z jameser quit (Read error: Connection reset by peer) 2017-03-14T04:59:28Z jathd`` quit (Ping timeout: 240 seconds) 2017-03-14T05:00:20Z fourier joined #lisp 2017-03-14T05:01:22Z jameser joined #lisp 2017-03-14T05:05:10Z fourier quit (Ping timeout: 260 seconds) 2017-03-14T05:05:35Z libreman quit (Ping timeout: 240 seconds) 2017-03-14T05:06:05Z libreman joined #lisp 2017-03-14T05:06:43Z Devon joined #lisp 2017-03-14T05:10:20Z daniel-s quit (Remote host closed the connection) 2017-03-14T05:13:00Z CEnnis91 quit (Quit: Connection closed for inactivity) 2017-03-14T05:13:02Z moei quit (Read error: Connection reset by peer) 2017-03-14T05:13:34Z moei joined #lisp 2017-03-14T05:14:38Z moei quit (Client Quit) 2017-03-14T05:15:45Z defaultxr quit (Ping timeout: 258 seconds) 2017-03-14T05:22:27Z Reinisch quit (Ping timeout: 240 seconds) 2017-03-14T05:22:58Z Devon quit (Ping timeout: 246 seconds) 2017-03-14T05:32:29Z akkad left #lisp 2017-03-14T05:33:17Z Harag joined #lisp 2017-03-14T05:44:21Z jasom: phoe: I have output from REPL, now to clean-up http://i.imgur.com/aYectdg.png 2017-03-14T05:48:34Z vtomole joined #lisp 2017-03-14T05:51:16Z vlatkoB joined #lisp 2017-03-14T05:56:18Z beach: Good morning everyone! 2017-03-14T06:01:05Z parjanya: morning, beach! 2017-03-14T06:04:33Z dec0n joined #lisp 2017-03-14T06:06:40Z Devon joined #lisp 2017-03-14T06:07:04Z shka_ joined #lisp 2017-03-14T06:11:30Z Jesin quit (Quit: Leaving) 2017-03-14T06:17:23Z shka_ quit (Ping timeout: 240 seconds) 2017-03-14T06:18:10Z Jesin joined #lisp 2017-03-14T06:21:40Z Jesin quit (Remote host closed the connection) 2017-03-14T06:22:19Z Jesin joined #lisp 2017-03-14T06:30:28Z vlnx quit (Ping timeout: 240 seconds) 2017-03-14T06:32:35Z vlnx joined #lisp 2017-03-14T06:35:26Z angavrilov joined #lisp 2017-03-14T06:37:53Z Jesin quit (Quit: Leaving) 2017-03-14T06:44:15Z moei joined #lisp 2017-03-14T06:45:52Z mishoo joined #lisp 2017-03-14T06:46:34Z smokeink quit (Ping timeout: 256 seconds) 2017-03-14T06:53:09Z parjanya quit (Quit: rcirc on GNU Emacs 25.1.1) 2017-03-14T06:53:43Z parjanya joined #lisp 2017-03-14T06:54:51Z Jesin joined #lisp 2017-03-14T06:57:20Z Spatial joined #lisp 2017-03-14T07:10:40Z libreman quit (Ping timeout: 260 seconds) 2017-03-14T07:11:53Z vlatkoB quit (Ping timeout: 240 seconds) 2017-03-14T07:12:02Z Devon quit (Quit: rcirc on GNU Emacs 24.5.1) 2017-03-14T07:12:14Z libreman joined #lisp 2017-03-14T07:13:37Z vlatkoB joined #lisp 2017-03-14T07:16:10Z fourier joined #lisp 2017-03-14T07:21:04Z vtomole quit (Ping timeout: 260 seconds) 2017-03-14T07:22:44Z akkad joined #lisp 2017-03-14T07:23:24Z troydm quit (Ping timeout: 258 seconds) 2017-03-14T07:30:56Z flamebeard joined #lisp 2017-03-14T07:35:37Z gen93 quit (Ping timeout: 246 seconds) 2017-03-14T07:41:23Z fourier quit (Ping timeout: 240 seconds) 2017-03-14T07:47:48Z bigruss44 joined #lisp 2017-03-14T07:47:54Z bigruss44: Hello, all. I am looking for tips on how I can become the most 1337 hacker this world has ever known. I want to hack everything in existence with my coding powers. How should I go about achieving this? Any book recommendations? Should I start with high- or low-level coding? Thanks in advance, brothers. 2017-03-14T07:47:57Z gen93 joined #lisp 2017-03-14T07:50:36Z jackdaniel: bigruss44: http://www.catb.org/esr/faqs/hacker-howto.html 2017-03-14T07:51:32Z sz0 joined #lisp 2017-03-14T07:54:05Z varjag joined #lisp 2017-03-14T07:54:06Z Bike: http://imgur.com/gallery/5c9H6DO 2017-03-14T07:55:12Z jackdaniel: :) 2017-03-14T08:00:00Z MoALTz joined #lisp 2017-03-14T08:05:05Z jdz: bigruss44: you don't even have to learn anything: http://www.hackertyper.com/ 2017-03-14T08:05:57Z bigruss44: jdz: Thank you so much 2017-03-14T08:06:13Z jdz: bigruss44: you're welcome! 2017-03-14T08:11:36Z safe quit (Read error: Connection reset by peer) 2017-03-14T08:12:35Z cibs quit (Ping timeout: 240 seconds) 2017-03-14T08:14:53Z cibs joined #lisp 2017-03-14T08:17:37Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-14T08:20:30Z larsen: I'm trying to get in touch with someone from the italian Lisp community (which does not seem to be active anymore). Tried to write to the owner of lisp.it (nickname mcmax), but without success. Does anyone remember other contacts? 2017-03-14T08:22:38Z FreeBirdLjj joined #lisp 2017-03-14T08:25:19Z Bike quit (Quit: leaving) 2017-03-14T08:26:48Z jameser quit (Ping timeout: 268 seconds) 2017-03-14T08:27:45Z varjag: larsen: marco antoniotti 2017-03-14T08:27:54Z larsen: thanks 2017-03-14T08:27:55Z stepnem joined #lisp 2017-03-14T08:31:44Z pok quit (Ping timeout: 268 seconds) 2017-03-14T08:34:35Z malice` quit (Ping timeout: 260 seconds) 2017-03-14T08:36:11Z flip214: larsen: Posterdati is from italy too, IIRC 2017-03-14T08:38:10Z larsen: you're right 2017-03-14T08:50:37Z bigruss44 quit (Quit: Page closed) 2017-03-14T08:54:38Z o1e9 joined #lisp 2017-03-14T09:14:50Z Spatial quit (Ping timeout: 260 seconds) 2017-03-14T09:18:57Z malice` joined #lisp 2017-03-14T09:18:59Z pve joined #lisp 2017-03-14T09:21:38Z knicklux joined #lisp 2017-03-14T09:24:00Z pok joined #lisp 2017-03-14T09:25:53Z nowhereman quit (Ping timeout: 240 seconds) 2017-03-14T09:27:28Z jdz quit (Ping timeout: 240 seconds) 2017-03-14T09:33:10Z jdz joined #lisp 2017-03-14T09:35:07Z Karl_Dscc joined #lisp 2017-03-14T09:36:32Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-14T09:36:56Z jameser joined #lisp 2017-03-14T09:41:25Z FreeBirdLjj joined #lisp 2017-03-14T09:42:08Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-14T09:46:25Z FreeBirdLjj joined #lisp 2017-03-14T09:46:31Z phoe: jasom: this is amazing 2017-03-14T09:47:19Z gingerale joined #lisp 2017-03-14T09:50:40Z flip214: jasom: are you active in Geany? 2017-03-14T09:50:51Z hhdave joined #lisp 2017-03-14T09:50:56Z flip214: because "wishlist" says to use https://sourceforge.net/p/geany-plugins/feature-requests/new/ 2017-03-14T09:51:00Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-14T09:51:08Z flip214: but this gives me 403 although I'm logged in to SF 2017-03-14T09:51:38Z jameser joined #lisp 2017-03-14T09:51:51Z attila_lendvai joined #lisp 2017-03-14T09:51:51Z attila_lendvai quit (Changing host) 2017-03-14T09:51:51Z attila_lendvai joined #lisp 2017-03-14T09:51:58Z nirved joined #lisp 2017-03-14T09:52:52Z smokeink joined #lisp 2017-03-14T09:54:46Z shifty joined #lisp 2017-03-14T09:59:23Z compro joined #lisp 2017-03-14T10:00:08Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-14T10:11:28Z jfb4 quit (Ping timeout: 240 seconds) 2017-03-14T10:13:26Z jfb4 joined #lisp 2017-03-14T10:14:08Z Karl_Dscc quit (Remote host closed the connection) 2017-03-14T10:29:46Z krasnal quit (Ping timeout: 264 seconds) 2017-03-14T10:30:27Z ogamita quit (Ping timeout: 240 seconds) 2017-03-14T10:40:36Z mazoe quit (Read error: Connection reset by peer) 2017-03-14T10:41:12Z Baggers joined #lisp 2017-03-14T10:41:14Z Karl_Dscc joined #lisp 2017-03-14T10:44:20Z krasnal joined #lisp 2017-03-14T10:44:44Z Oladon1 joined #lisp 2017-03-14T10:45:28Z o`connor quit (Ping timeout: 240 seconds) 2017-03-14T10:46:34Z Oladon quit (Ping timeout: 264 seconds) 2017-03-14T10:47:23Z o`connor joined #lisp 2017-03-14T10:57:05Z mrcom joined #lisp 2017-03-14T10:57:55Z ogamita joined #lisp 2017-03-14T11:01:34Z knicklux quit (Ping timeout: 264 seconds) 2017-03-14T11:25:24Z jameser joined #lisp 2017-03-14T11:26:13Z m00natic joined #lisp 2017-03-14T11:35:01Z ogamita quit (Ping timeout: 246 seconds) 2017-03-14T11:38:42Z Amplituhedron joined #lisp 2017-03-14T11:39:33Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-14T11:39:37Z sjl joined #lisp 2017-03-14T11:42:40Z EvW joined #lisp 2017-03-14T11:43:43Z snowcrshd joined #lisp 2017-03-14T11:44:32Z loke joined #lisp 2017-03-14T11:47:49Z malice`: Hi, I want to get some values out of html, what should I use with cl-html5-parser, or where can I find some pointers on how to use that? Trying to use css-selectors, but types are incompatible 2017-03-14T11:48:29Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-14T11:49:17Z shdeng quit (Quit: Leaving) 2017-03-14T12:03:29Z iago_ joined #lisp 2017-03-14T12:07:45Z nelder joined #lisp 2017-03-14T12:08:28Z nelder quit (Read error: Connection reset by peer) 2017-03-14T12:08:35Z nelder joined #lisp 2017-03-14T12:11:45Z iago_ quit (Quit: Leaving) 2017-03-14T12:12:01Z jameser joined #lisp 2017-03-14T12:12:51Z d4ryus4 joined #lisp 2017-03-14T12:13:22Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-14T12:13:56Z nelder quit (Quit: Leaving) 2017-03-14T12:14:36Z Posterdati: flip214: hi 2017-03-14T12:14:42Z Posterdati: flip214: how are you? 2017-03-14T12:14:45Z nelder joined #lisp 2017-03-14T12:15:02Z manuel_ joined #lisp 2017-03-14T12:15:21Z Posterdati: larsen: hi 2017-03-14T12:15:24Z flip214: Posterdati: mostly fine, thanks a lot for asking. 2017-03-14T12:15:35Z d4ryus3 quit (Ping timeout: 240 seconds) 2017-03-14T12:15:44Z flip214: I gave your nickname away in exchange for a few seconds fame, I hope that's okay 2017-03-14T12:15:47Z Posterdati: it's a lot of time we had our talks! 2017-03-14T12:16:06Z flip214: *since 2017-03-14T12:16:09Z Posterdati: flip214: was it all worth it? 2017-03-14T12:16:20Z Posterdati: it's a lot of time since we had our talks! 2017-03-14T12:16:21Z flip214: the few seconds fame or the talks? 2017-03-14T12:16:46Z Posterdati: my nickname for a kingdom 2017-03-14T12:16:56Z flip214: or at least half a princess... 2017-03-14T12:17:19Z flip214: left, right, upper, lower, front, back, or some Banarch-Tarski kind of half, that's the question then 2017-03-14T12:17:45Z travv0 joined #lisp 2017-03-14T12:18:54Z Posterdati: your time/space light cone seems to be more skewed now 2017-03-14T12:19:13Z Karl_Dscc quit (Remote host closed the connection) 2017-03-14T12:20:13Z flip214: don't think my speed relative to you is more than 0.000000001c, though 2017-03-14T12:21:03Z Posterdati: no, maybe you're near a massive object 2017-03-14T12:21:34Z flip214: oh, right. hmmm. 2017-03-14T12:21:44Z flip214: I thought I might be dense, but massive? 2017-03-14T12:22:38Z rudi joined #lisp 2017-03-14T12:23:11Z josh_2 joined #lisp 2017-03-14T12:26:16Z Posterdati: no massive 2017-03-14T12:27:57Z knicklux joined #lisp 2017-03-14T12:27:58Z knicklux quit (Remote host closed the connection) 2017-03-14T12:28:50Z libreman quit (Ping timeout: 256 seconds) 2017-03-14T12:28:57Z flip214: "Here I am, brain the size of a planet..." ... hmm, that's just size, not mass. 2017-03-14T12:29:15Z libreman joined #lisp 2017-03-14T12:34:26Z chens joined #lisp 2017-03-14T12:37:34Z rudi quit (Ping timeout: 264 seconds) 2017-03-14T12:37:50Z TDT joined #lisp 2017-03-14T12:38:35Z rudi joined #lisp 2017-03-14T12:40:48Z EvW quit (Ping timeout: 258 seconds) 2017-03-14T12:42:51Z EvW1 joined #lisp 2017-03-14T12:43:14Z Karl_Dscc joined #lisp 2017-03-14T12:43:49Z chens quit (Remote host closed the connection) 2017-03-14T12:44:33Z malice`: How should I deal with cxml error "Prefix specified but no namespace URI" when parsing some html from internet? 2017-03-14T12:46:53Z loke: malice`: There is some dynamic variable you can set to disable parsing of namespaces. 2017-03-14T12:50:28Z noname joined #lisp 2017-03-14T12:50:28Z noname quit (Client Quit) 2017-03-14T12:51:07Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-14T12:51:50Z libreman quit (Ping timeout: 260 seconds) 2017-03-14T12:52:17Z libreman joined #lisp 2017-03-14T12:53:11Z malice`: loke: thanks, will look into that 2017-03-14T12:55:08Z manualcrank joined #lisp 2017-03-14T12:56:42Z ryanwatk` quit (Read error: Connection reset by peer) 2017-03-14T12:57:16Z ryanwatkins joined #lisp 2017-03-14T13:01:30Z cibs quit (Ping timeout: 258 seconds) 2017-03-14T13:02:32Z Harag quit (Ping timeout: 260 seconds) 2017-03-14T13:03:15Z cibs joined #lisp 2017-03-14T13:03:39Z CEnnis91 joined #lisp 2017-03-14T13:03:40Z EvW1 quit (Remote host closed the connection) 2017-03-14T13:04:00Z EvW joined #lisp 2017-03-14T13:05:35Z knicklux joined #lisp 2017-03-14T13:14:35Z libreman quit (Ping timeout: 240 seconds) 2017-03-14T13:15:04Z libreman joined #lisp 2017-03-14T13:15:17Z Xach: Hmm, gbbopen seems to define a symbol-macro on a keyword. I wonder the hoop-jumping involved. 2017-03-14T13:16:59Z loke: Xach: Which symbol? 2017-03-14T13:17:03Z loke: Oh wait, a keyword 2017-03-14T13:17:10Z loke wonders if that is allowed. 2017-03-14T13:17:21Z Xach: sbcl disallows it by default 2017-03-14T13:20:00Z loke: Why on earth would they want to do that in the first place? 2017-03-14T13:20:14Z loke: And “by default”? Does that you can coerce SBCL into allowing it? 2017-03-14T13:22:20Z _death: for example it could be useful in a debugger.. :step :trace :inspect and so on 2017-03-14T13:23:48Z manuel__ joined #lisp 2017-03-14T13:26:46Z manuel_ quit (Ping timeout: 264 seconds) 2017-03-14T13:26:46Z manuel__ is now known as manuel_ 2017-03-14T13:27:00Z Baggers: Xach: When you are testing that packages build (for each release) which OS do you test on? 2017-03-14T13:27:21Z Baggers: s/OS/OSs 2017-03-14T13:27:46Z compro quit (Ping timeout: 256 seconds) 2017-03-14T13:30:03Z LiamH joined #lisp 2017-03-14T13:30:22Z manuel__ joined #lisp 2017-03-14T13:31:10Z Harag joined #lisp 2017-03-14T13:33:15Z manuel_ quit (Ping timeout: 260 seconds) 2017-03-14T13:34:17Z varjag quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2017-03-14T13:35:08Z manuel_ joined #lisp 2017-03-14T13:35:24Z Oladon1 quit (Read error: Connection reset by peer) 2017-03-14T13:35:47Z compro joined #lisp 2017-03-14T13:35:52Z josh_2 quit (Remote host closed the connection) 2017-03-14T13:36:50Z manuel__ quit (Ping timeout: 256 seconds) 2017-03-14T13:36:53Z Oladon joined #lisp 2017-03-14T13:37:54Z manuel_ quit (Remote host closed the connection) 2017-03-14T13:38:05Z manuel_ joined #lisp 2017-03-14T13:39:25Z cromachina quit (Read error: Connection reset by peer) 2017-03-14T13:40:59Z arbv quit (Ping timeout: 258 seconds) 2017-03-14T13:41:57Z arbv joined #lisp 2017-03-14T13:42:54Z jdz: I imagine gbbopen does that to implement AllegroCL-like toplevel commands? 2017-03-14T13:43:42Z wtetzner joined #lisp 2017-03-14T13:45:36Z parjanya quit (Read error: Connection reset by peer) 2017-03-14T13:48:19Z Xach: Baggers: linux 2017-03-14T13:48:25Z Xach: jdz: yes. but such a strange way 2017-03-14T13:51:24Z wtetzner quit (Remote host closed the connection) 2017-03-14T13:52:53Z malice`: I want to remove all substrings str from my string, what's the easiest way? 2017-03-14T13:52:55Z Xach: allegro's keyword commands are wired deep into the repl 2017-03-14T13:52:59Z Xach: malice`: cl-ppcre 2017-03-14T13:53:38Z Xach: malice`: specifically, regex-replace-all 2017-03-14T13:53:55Z manuel_ quit (Quit: manuel_) 2017-03-14T13:53:56Z malice`: Yes, thanks. 2017-03-14T13:58:55Z loke: In APL, the function would be: {(⍴⍺)↓⍺∪⍺,⍵} 2017-03-14T13:59:22Z loke: Sorry, I just wanted to share my hobby :-) 2017-03-14T14:00:12Z loke: Sorry. that doesn't work at all. :-) 2017-03-14T14:00:46Z ryanwatkins quit (Remote host closed the connection) 2017-03-14T14:00:52Z _death: it's not a trivial operation, unless you know the pitfalls 2017-03-14T14:00:52Z sjl quit (Ping timeout: 240 seconds) 2017-03-14T14:01:19Z loke: _death: My apl version didn't just fall into the pitfalls. It was so wrong it was sucked up into a black hole. 2017-03-14T14:02:05Z loke: But yeah, there are multiple ways of handling this. If yu want to remove "aa" from a string, what would the result from "xaaay" be? 2017-03-14T14:04:32Z beach: YAY, the incremental Common Lisp parser in Second Climacs is working. In this particular demo, I use it to display symbols from the COMMON-LISP package purple, but that is not how it will be ultimately used. http://metamodular.com/second-climacs.png 2017-03-14T14:05:13Z ebzzry joined #lisp 2017-03-14T14:05:24Z Xach: beach: nice. i like how it illustrates that loop syntax keywords are not symbols in CL. 2017-03-14T14:05:25Z ebzzry left #lisp 2017-03-14T14:05:32Z Xach: (well, many are not) 2017-03-14T14:06:15Z beach: Right. Notice that `=' is purple, but it won't be when I am done. 2017-03-14T14:07:50Z scymtym joined #lisp 2017-03-14T14:09:16Z Xach: beach: i am assuming this is not superficial, and that it is aware of shadowed symbols? 2017-03-14T14:09:18Z flip214: beach: sorry for the stupid question, but how would I run S-C? there's no toplevel ASD, do I need to load each from the subdirectories? 2017-03-14T14:09:42Z Xach: I wonder how many interesting rules you could add to visualize the code. s 2017-03-14T14:09:49Z beach: Right, it is not yet meant for general consumption. 2017-03-14T14:10:04Z beach: But you can build the GUI target. 2017-03-14T14:10:26Z beach: climacs-esa-gui 2017-03-14T14:10:38Z beach: And then (climacs-esa-gui:climacs) 2017-03-14T14:10:45Z beach: But not much is working. 2017-03-14T14:10:51Z BitPuffin|osx joined #lisp 2017-03-14T14:10:54Z beach: And the parser is still brittle. 2017-03-14T14:11:12Z beach: You can do C-x i and type a file name. 2017-03-14T14:11:14Z flip214: hmmm, QL has climacs-20150505-git 2017-03-14T14:11:17Z flip214: which sounds old 2017-03-14T14:11:22Z beach: That would be (first) Climacs. 2017-03-14T14:11:24Z EvW quit (Ping timeout: 256 seconds) 2017-03-14T14:11:27Z beach: Not Second Climacs. 2017-03-14T14:11:59Z flip214: ack 2017-03-14T14:13:16Z flip214: (ql:quickload "climacs-esa-gui") 2017-03-14T14:13:23Z flip214: seems to work.... at least stuff happens 2017-03-14T14:13:57Z flip214: beach: any chance to add modes to S-C? 2017-03-14T14:14:21Z loke: OK, after the question about finding substrings, I just wanted to share what I think is a working APL solution: {,/ ⍵ ⊂⍨ ↑~∨/ (-⍳⍴⍺) °.⌽ ⊂⍺⍷⍵} 2017-03-14T14:14:33Z beach: Wow. It is in its infancy. I only got the incremental parser to work today. Nothing else is working basically. 2017-03-14T14:14:39Z loke: I'm pretty sure no one cares about it, but I just wanted to share it anwyay :-) 2017-03-14T14:15:27Z flip214: beach: I'm talking about editing modes, like the worlds most famous editor has ;) 2017-03-14T14:15:37Z beach: Yes, I understand. 2017-03-14T14:16:28Z beach: I wanted to get the incremental parser working first, because in my opinion, that's what is unique with Second Climacs. I am hoping it will let me do many things are impossible with existing editors. 2017-03-14T14:16:32Z flip214: > System "cluffer-emacs-compatibility" not found 2017-03-14T14:17:16Z flip214: IMO the editor should "just" ask the inferior program for such details, and not contain a separate implementation... 2017-03-14T14:17:23Z beach: flip214: Really, it is not ready for general consumption. Only a rudimentary version of the incremental parser is working at the moment. 2017-03-14T14:17:47Z flip214: well, I'm not that interested in the incremental parser but the editor pieces 2017-03-14T14:17:50Z beach: What details are we talking about? 2017-03-14T14:18:18Z libreman quit (Ping timeout: 268 seconds) 2017-03-14T14:19:37Z beach: flip214: What details do you mean? 2017-03-14T14:20:01Z flip214: keybindings, movements, text objects 2017-03-14T14:20:34Z beach is lost. 2017-03-14T14:20:46Z beach: How would an external program do keybindings? 2017-03-14T14:24:59Z himmAllRight joined #lisp 2017-03-14T14:26:43Z manuel_ joined #lisp 2017-03-14T14:27:09Z beach: Oh, well. 2017-03-14T14:27:23Z flip214: beach: ah, sorry. yeah, we talked past each other. 2017-03-14T14:28:07Z EvW1 joined #lisp 2017-03-14T14:28:17Z flip214: the "details" that should be asked would be "what kind of token (=> function, variable, *global*, _symbol-macro_, ...), any syntax errors, is that code reachable (#+nil)" etc 2017-03-14T14:28:37Z beach: I don't think an external program could do what I want to do, namely parse the entire buffer after every keystroke. 2017-03-14T14:29:05Z flip214: well, isn't S-C already talking to an inferior lisp like emacs does now? 2017-03-14T14:29:12Z beach: No. 2017-03-14T14:29:16Z flip214: oh, okay. 2017-03-14T14:29:23Z flip214: sorry for the noise then. 2017-03-14T14:29:33Z beach: And that's one reason some people (like Shinmera) "will never use it". 2017-03-14T14:29:51Z filwisher joined #lisp 2017-03-14T14:30:20Z beach: flip214: Anyway, if you don't want the incremental parser, you can stop looking now, and maybe come back in a year or so. 2017-03-14T14:30:49Z beach: ... because the incremental parser is what I will be working on for the foreseeable future. 2017-03-14T14:31:13Z ryanwatkins joined #lisp 2017-03-14T14:31:21Z libreman joined #lisp 2017-03-14T14:31:26Z flip214: understood. 2017-03-14T14:31:43Z Baggers: Xach: Is there a way to contribute to the testing process? I've just got bitten by error in cl-sdl2 on osx that would have been caught by building. 2017-03-14T14:32:44Z EvW1 quit (Ping timeout: 258 seconds) 2017-03-14T14:33:00Z sjl joined #lisp 2017-03-14T14:33:29Z myrkraverk_ joined #lisp 2017-03-14T14:33:35Z myrkraverk quit (Ping timeout: 240 seconds) 2017-03-14T14:34:53Z myrkraverk_ is now known as myrkraverk 2017-03-14T14:35:19Z jerme joined #lisp 2017-03-14T14:35:55Z d4ryus4 quit (Quit: WeeChat 1.7) 2017-03-14T14:36:20Z nowhereman joined #lisp 2017-03-14T14:37:08Z Xach: Baggers: hmm, probably not easily within quicklisp's build setup, no. but simple testing and reporting bugs would help, I think. 2017-03-14T14:38:43Z d4ryus joined #lisp 2017-03-14T14:38:49Z malice`: Xach: by the way, how frequently are new projects added to quicklisp? I've posted PR and I am wondering when will my lib will be in ql, if it will be accepted. 2017-03-14T14:39:29Z Xach: malice`: Every few days I work through the queue. 2017-03-14T14:39:41Z Xach: malice`: every month the new update includes everything up to that point 2017-03-14T14:40:07Z Xach: malice`: what project is it? 2017-03-14T14:40:15Z Reinisch joined #lisp 2017-03-14T14:41:22Z libreman quit (Ping timeout: 240 seconds) 2017-03-14T14:41:47Z libreman joined #lisp 2017-03-14T14:42:00Z EvW joined #lisp 2017-03-14T14:43:08Z schally quit (Ping timeout: 256 seconds) 2017-03-14T14:45:28Z malice`: Xach: cl-sandbox 2017-03-14T14:45:39Z Xach: malice`: it will be added soon 2017-03-14T14:46:11Z malice`: Xach: great, thanks. 2017-03-14T14:48:06Z Xach: yow, that thing isn't a keyword symbol macro, it's an interception of SB-IMPL::REPL-READ-FORM-FUN. 2017-03-14T14:48:16Z Xach: Not sure if madness or genius. 2017-03-14T14:48:49Z rumbler31 joined #lisp 2017-03-14T14:49:05Z al-damiri joined #lisp 2017-03-14T14:51:16Z foojin joined #lisp 2017-03-14T14:55:35Z lnostdal quit (Read error: Connection reset by peer) 2017-03-14T14:55:55Z lambda-smith joined #lisp 2017-03-14T14:56:05Z lnostdal joined #lisp 2017-03-14T14:57:09Z smokeink quit (Ping timeout: 268 seconds) 2017-03-14T15:02:36Z dec0n quit (Read error: Connection reset by peer) 2017-03-14T15:03:13Z slyrus_ joined #lisp 2017-03-14T15:03:21Z malice`: I want to make a function that will get webpage from the internet using drakma. I want to ensure that if I lose connection or anything similar happens, I will retry until success. I thought of this: http://ix.io/oYV 2017-03-14T15:03:26Z malice`: Is that a good approach? 2017-03-14T15:03:53Z malice`: e.g. I am concerned about eventual stack overflow, will these restart-case stay on the stack? 2017-03-14T15:04:09Z rippa joined #lisp 2017-03-14T15:05:26Z slyrus_ is now known as slyrus 2017-03-14T15:14:38Z Amplituhedron quit (Remote host closed the connection) 2017-03-14T15:16:42Z Reinisch quit (Quit: Have a great day!) 2017-03-14T15:17:00Z milanj joined #lisp 2017-03-14T15:23:28Z Lord_of_Life quit (Excess Flood) 2017-03-14T15:27:03Z Amplituhedron joined #lisp 2017-03-14T15:27:35Z loke quit (Ping timeout: 240 seconds) 2017-03-14T15:28:28Z Lord_of_Life joined #lisp 2017-03-14T15:30:58Z yeticry joined #lisp 2017-03-14T15:31:55Z yeticry_ quit (Read error: Connection reset by peer) 2017-03-14T15:32:40Z slyrus quit (Ping timeout: 246 seconds) 2017-03-14T15:32:57Z Amplituhedron quit (Ping timeout: 240 seconds) 2017-03-14T15:36:18Z foojin: Hi guys, I'm trying to find a way to call an elisp function with a list of arguments by using the dotted pair notation, not functions like apply. 2017-03-14T15:36:21Z foojin: For some reason (+ . (1 2 3)) succeeds, while (let ((args '(1 2 3))) (+ . args)) fails. 2017-03-14T15:36:24Z foojin: What am I doing wrong and how do literal lists differ from variables in this particular case? 2017-03-14T15:38:06Z beach: foojin: Most Lisp expressions must be proper lists. (+ . args) is a dotted list. 2017-03-14T15:38:29Z jdz: foojin: you can't use dotted notation for this; the former example works because it is read as (+ 1 2 3), which does not work for args because it is a symbol, not a list. 2017-03-14T15:38:29Z beach: foojin: This channel is dedicated to Common Lisp. You might be better off asking elisp questions in #emacs. 2017-03-14T15:38:30Z slyrus joined #lisp 2017-03-14T15:40:22Z Reinisch joined #lisp 2017-03-14T15:41:18Z Amplituhedron joined #lisp 2017-03-14T15:44:11Z foojin: jdz: Is it the reader that accepts the first form as a special case? 2017-03-14T15:44:22Z foojin: beach: One needs an account to join #emacs, so I guess there's no harm if I ask questions that pertain to a certain "core" that the two languages are likely to share. 2017-03-14T15:44:58Z malice`: foojin: No, all function call needs to be lists, where CAR is the function-name and CDR is list of arguments. 2017-03-14T15:45:11Z malice`: ARGS is not a list, it is a symbol. 2017-03-14T15:45:21Z malice`: Its *value* is list, but these are two different things. 2017-03-14T15:45:28Z jdz: foojin: in Lisp, before a program is executed, it is first read by "reader". Reader is the part that understands the dotted notation, but when the program is read, there is no longer any dotted or non-dotted versions -- it's all just conses. 2017-03-14T15:45:51Z beach: foojin: When the reader sees (+ . (1 2 3)) it constructs a CONS cell with + in the CAR and the list (1 2 3) in the CDR. That turns out to be identical to the list (+ 1 2 3) 2017-03-14T15:45:53Z malice`: You want to *apply* the function to the list of arguments - (apply #'+ args) 2017-03-14T15:47:32Z guest2334 joined #lisp 2017-03-14T15:47:32Z beach: foojin: Draw the box diagram and you will see it. 2017-03-14T15:53:28Z jdtest quit (Read error: Connection reset by peer) 2017-03-14T15:53:49Z foojin: jdz, beach: Ah, I see. So the dotted pair when used to construct a form to be evaluated uses the components as-is, without evaluating them? 2017-03-14T15:54:15Z beach: foojin: http://metamodular.com/cells2.png 2017-03-14T15:54:48Z beach: foojin: No, that's not it. 2017-03-14T15:54:55Z jdz: foojin: no, to the "interpreter", both (+ . (1 2 3)) and (+ 1 2 3) are the same, and what it sees actually is (+ . (1 . (2 . (3 . nil)))). 2017-03-14T15:55:03Z jdtest joined #lisp 2017-03-14T15:55:03Z jdtest quit (Read error: Connection reset by peer) 2017-03-14T15:55:26Z beach: foojin: The dotted pair that the reader constructs for (+ . args) is not a form, because legal forms must be proper lists. 2017-03-14T15:57:01Z beach: foojin: Another way of putting it is that the reader does not evaluate anything (at least not by default), so what is returned by the reader when it sees (+ . args) is a single CONS cell with the + symbol in the CAR and the ARGS symbol in the CDR. And that is not a valid form. 2017-03-14T15:57:33Z jdtest joined #lisp 2017-03-14T15:58:13Z slyrus quit (Ping timeout: 246 seconds) 2017-03-14T15:58:33Z beach: foojin: Do you see that (+ . (1 2 3)) and (+ 1 2 3) result in the same constellation of CONS cells when processed by READ? 2017-03-14T15:58:59Z Baggers quit (Ping timeout: 258 seconds) 2017-03-14T15:59:05Z beach: ... as http://metamodular.com/cells2.png shows? 2017-03-14T15:59:15Z foojin: beach: Yes, I do. 2017-03-14T15:59:21Z beach: Good. 2017-03-14T15:59:36Z beach: Do you need for me to draw what the reader returns for (+ . args)? 2017-03-14T16:00:49Z foojin: No, there's no need to. 2017-03-14T16:00:55Z beach: OK. 2017-03-14T16:01:22Z beach: And do you see that the resulting structure is not a proper list? 2017-03-14T16:01:33Z beach: It does not contain NIL in the last CDR. It contains the symbol ARGS. 2017-03-14T16:01:58Z beach: By definition, a proper list has the symbol NIL in the CDR of the last CONS cell. 2017-03-14T16:02:50Z beach: So the evaluator rejects it as an invalid form. 2017-03-14T16:03:15Z slyrus joined #lisp 2017-03-14T16:03:16Z foojin: So the reader uses "construction", not "evaluation" and that's why args stays a symbol? 2017-03-14T16:03:33Z beach: Yes, the reader does not evaluate (at least not by default). 2017-03-14T16:05:43Z foojin: So the cons cells created by the reader after parsing this dotted pair notation would then be evaluated recursively if they happen to be arguments to functions? 2017-03-14T16:06:05Z Amplituhedron quit (Ping timeout: 240 seconds) 2017-03-14T16:06:56Z beach: Yes, that is what happens with (+ 1 2 3), but you don't see it, because 1, 2, and 3 are "self-evaluating" objects. But if you had (+ foo bar baz) and foo, bar, baz are variables, then they get evaluated before their values are passed to the + function. 2017-03-14T16:07:46Z malice`: foojin: if you are interested in programming, I recommend SICP, you might like it 2017-03-14T16:07:50Z beach: That is also what happens if you have something like (+ 1 2 (* 3 4)). Then the third argument is the form (* 3 4) and so it is recursively evaluated first, before the value is passed to +. 2017-03-14T16:07:54Z malice`: and it will defeinitely help you understand how it works 2017-03-14T16:09:16Z quadresce` joined #lisp 2017-03-14T16:09:24Z beach: clhs 3.1.2.1.2.3 2017-03-14T16:09:25Z foojin: malice`: I'm already on chapter 2, it might be what got me interested in the first place. 2017-03-14T16:09:26Z specbot: Function Forms: http://www.lispworks.com/reference/HyperSpec/Body/03_ababc.htm 2017-03-14T16:09:40Z malice`: foojin: nice! 2017-03-14T16:10:04Z beach: foojin: ↑ That link give the evaluation rule for function calls. 2017-03-14T16:12:20Z clintm: foojin: the video lectures are at http://bit.ly/2j911Y2 though they follow the first edition of the book, so there's a few chapter differences vs. the second edition. 2017-03-14T16:12:30Z Jesin quit (Quit: Leaving) 2017-03-14T16:13:48Z quadresce` quit (Ping timeout: 245 seconds) 2017-03-14T16:14:55Z Amplituhedron joined #lisp 2017-03-14T16:15:01Z foojin: beach: I think now I get the bigger picture. So construction of expressions by the reader comes first and dotted pairs are understood at that step, only then evaluation rules determine if the contents get evaluated. 2017-03-14T16:15:49Z beach: Sounds right. 2017-03-14T16:17:09Z Jesin joined #lisp 2017-03-14T16:23:01Z snowcrshd quit (Remote host closed the connection) 2017-03-14T16:23:12Z foojin: malice`, clintm: I think learning a bit of scheme by myself affects the way I solve exercises. I'm now trying to use only what I would have known at that point by following the book alone. The only exception might be the named let, because it's much better that defining "iterator functions" explicitly. 2017-03-14T16:25:42Z Amplituhedron quit (Quit: Konversation terminated!) 2017-03-14T16:27:05Z o1e9 quit (Quit: Ex-Chat) 2017-03-14T16:27:27Z jdtest quit (Read error: Connection reset by peer) 2017-03-14T16:27:36Z jasom: flip214: I'm not particularly active; it just fit both of A) Looks like what the average person thinks of when they hear "IDE" and B) I don't have to learn Java to write a plugin. 2017-03-14T16:28:32Z jdtest joined #lisp 2017-03-14T16:29:06Z jasom: flip214: and the correct page for that now should be https://www.geany.org/Support/PluginWishlist 2017-03-14T16:30:57Z mishoo quit (Ping timeout: 240 seconds) 2017-03-14T16:31:32Z rudi quit (Quit: rudi) 2017-03-14T16:38:20Z saturniid quit (Quit: Ex-Chat) 2017-03-14T16:38:26Z saturniid joined #lisp 2017-03-14T16:42:03Z EvW quit (Remote host closed the connection) 2017-03-14T16:42:22Z EvW1 joined #lisp 2017-03-14T16:42:41Z warweasle joined #lisp 2017-03-14T16:42:47Z TCZ joined #lisp 2017-03-14T16:49:01Z Karl_Dscc quit (Remote host closed the connection) 2017-03-14T16:53:47Z TCZ quit (Quit: Leaving) 2017-03-14T16:54:28Z shifty quit (Ping timeout: 260 seconds) 2017-03-14T16:55:44Z parjanya joined #lisp 2017-03-14T16:58:48Z sjl quit (Ping timeout: 240 seconds) 2017-03-14T17:00:37Z shka_ joined #lisp 2017-03-14T17:00:52Z flip214: jasom: yeah, and that page says If you have any wishes for new plugins or feature requests, feel free to post them at the Sourceforge.net tracker anyway 2017-03-14T17:01:01Z flip214: but that's not working. 2017-03-14T17:01:20Z defaultxr joined #lisp 2017-03-14T17:01:22Z milanj quit (Quit: This computer has gone to sleep) 2017-03-14T17:01:29Z flip214: jasom: anyway, my wish would be to consider embedding a frontend for neovim via the msgpack API. 2017-03-14T17:01:39Z flip214: should be much easier than embedding a full vim... 2017-03-14T17:01:54Z flip214: thanks for considering ;) 2017-03-14T17:02:12Z Bike joined #lisp 2017-03-14T17:02:32Z EvW1 quit (Ping timeout: 256 seconds) 2017-03-14T17:13:45Z sellout- joined #lisp 2017-03-14T17:14:30Z Karl_Dscc joined #lisp 2017-03-14T17:19:11Z sjl joined #lisp 2017-03-14T17:21:17Z varjag joined #lisp 2017-03-14T17:27:35Z m00natic quit (Remote host closed the connection) 2017-03-14T17:27:48Z knicklux quit (Quit: Leaving) 2017-03-14T17:32:07Z pebblexe_ quit (Quit: Page closed) 2017-03-14T17:33:25Z sword joined #lisp 2017-03-14T17:34:48Z flamebeard quit (Quit: Leaving) 2017-03-14T17:35:10Z slyrus quit (Ping timeout: 246 seconds) 2017-03-14T17:35:10Z hhdave quit (Ping timeout: 246 seconds) 2017-03-14T17:41:13Z pebblexe joined #lisp 2017-03-14T17:41:27Z pebblexe: I am having trouble with this code.. and I seem to be getting multiple errors. https://gist.github.com/pebblexe/33542b85834f8ac6e5b5e2eb30ba9a49 2017-03-14T17:42:16Z pebblexe: I don't know how to fix it 2017-03-14T17:45:34Z mishoo joined #lisp 2017-03-14T17:48:20Z pebblexe: what would cause a usocket:connection-refused-error? 2017-03-14T17:51:55Z sjl: pebblexe: one possibility: you're trying to connect to a server that doesn't exist 2017-03-14T17:52:06Z sjl: is localhost:5000 actually listening for connections? 2017-03-14T17:53:07Z pebblexe: yeah I just noticed the localhost:5000 2017-03-14T17:53:08Z compro quit (Ping timeout: 240 seconds) 2017-03-14T17:53:13Z pebblexe: I have no clue why it's trying to connect to that 2017-03-14T17:53:24Z pebblexe: there is nothing running on that port that I know of 2017-03-14T17:53:58Z pebblexe: is there a way in slime to show the value of variables? 2017-03-14T17:54:12Z Bike: in a backtrace? 2017-03-14T17:54:15Z pebblexe: yeah 2017-03-14T17:54:25Z Bike: go to the frame and hit enter 2017-03-14T17:54:40Z pebblexe: Bike: thanks! 2017-03-14T18:03:22Z arbv quit (Ping timeout: 264 seconds) 2017-03-14T18:04:22Z fourier joined #lisp 2017-03-14T18:04:56Z arbv joined #lisp 2017-03-14T18:10:03Z BlueRavenGT joined #lisp 2017-03-14T18:10:56Z jerme left #lisp 2017-03-14T18:13:04Z remi`bd joined #lisp 2017-03-14T18:21:33Z dtornabene joined #lisp 2017-03-14T18:22:33Z tessier quit (Ping timeout: 245 seconds) 2017-03-14T18:22:35Z bocaneri quit (Read error: Connection reset by peer) 2017-03-14T18:24:03Z tessier joined #lisp 2017-03-14T18:24:03Z tessier quit (Changing host) 2017-03-14T18:24:03Z tessier joined #lisp 2017-03-14T18:26:23Z fourier: anyone got :cc-flags argument in grovel-file in asdf to work? 2017-03-14T18:29:36Z pebblexe quit 2017-03-14T18:30:08Z tessier quit (Ping timeout: 260 seconds) 2017-03-14T18:30:53Z tessier joined #lisp 2017-03-14T18:30:53Z tessier quit (Changing host) 2017-03-14T18:30:53Z tessier joined #lisp 2017-03-14T18:32:59Z sjl quit (Ping timeout: 268 seconds) 2017-03-14T18:34:38Z marcoecc joined #lisp 2017-03-14T18:35:35Z impulse quit (Ping timeout: 240 seconds) 2017-03-14T18:37:38Z milanj joined #lisp 2017-03-14T18:42:16Z parjanya quit (Ping timeout: 260 seconds) 2017-03-14T18:43:22Z travv0 quit (Ping timeout: 240 seconds) 2017-03-14T18:54:25Z TCZ joined #lisp 2017-03-14T18:59:05Z schally joined #lisp 2017-03-14T19:00:28Z Harag quit (Ping timeout: 240 seconds) 2017-03-14T19:05:29Z TCZ quit (Quit: Leaving) 2017-03-14T19:08:14Z Harag joined #lisp 2017-03-14T19:15:09Z sjl joined #lisp 2017-03-14T19:17:28Z lambda-smith quit (Ping timeout: 240 seconds) 2017-03-14T19:26:58Z Jesin quit (Quit: Leaving) 2017-03-14T19:28:04Z Karl_Dscc quit (Remote host closed the connection) 2017-03-14T19:28:53Z pmc joined #lisp 2017-03-14T19:29:07Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2017-03-14T19:34:48Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-14T19:35:03Z ryanwatkins quit (Remote host closed the connection) 2017-03-14T19:36:32Z rjid joined #lisp 2017-03-14T19:41:03Z Jesin joined #lisp 2017-03-14T19:43:30Z Karl_Dscc joined #lisp 2017-03-14T19:44:39Z Baggers joined #lisp 2017-03-14T19:44:48Z defaultxr quit (Ping timeout: 260 seconds) 2017-03-14T19:57:17Z snowcrshd joined #lisp 2017-03-14T19:57:40Z rjid quit (Ping timeout: 260 seconds) 2017-03-14T19:59:40Z pmc quit (Quit: Leaving) 2017-03-14T20:02:27Z Harag quit (Ping timeout: 240 seconds) 2017-03-14T20:03:19Z manuel_ quit (Quit: manuel_) 2017-03-14T20:03:50Z dtornabene quit (Remote host closed the connection) 2017-03-14T20:04:56Z manuel_ joined #lisp 2017-03-14T20:04:58Z Harag joined #lisp 2017-03-14T20:11:16Z impulse joined #lisp 2017-03-14T20:18:08Z kolko quit (Ping timeout: 240 seconds) 2017-03-14T20:20:25Z vlatkoB quit (Remote host closed the connection) 2017-03-14T20:20:30Z travv0 joined #lisp 2017-03-14T20:23:09Z Jesin quit (Quit: Leaving) 2017-03-14T20:24:17Z defaultxr joined #lisp 2017-03-14T20:28:22Z schally quit (Ping timeout: 240 seconds) 2017-03-14T20:29:38Z snowcrshd quit (Remote host closed the connection) 2017-03-14T20:34:16Z neoncontrails joined #lisp 2017-03-14T20:35:35Z josh_2 joined #lisp 2017-03-14T20:35:53Z jathd joined #lisp 2017-03-14T20:36:31Z fourier quit (Ping timeout: 258 seconds) 2017-03-14T20:37:16Z dyelar quit (Quit: Leaving.) 2017-03-14T20:39:18Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-14T20:39:42Z Jesin joined #lisp 2017-03-14T20:48:46Z vydd joined #lisp 2017-03-14T20:48:46Z vydd quit (Changing host) 2017-03-14T20:48:46Z vydd joined #lisp 2017-03-14T20:56:39Z attila_lendvai joined #lisp 2017-03-14T20:56:39Z attila_lendvai quit (Changing host) 2017-03-14T20:56:39Z attila_lendvai joined #lisp 2017-03-14T20:57:30Z Harag1 joined #lisp 2017-03-14T20:58:52Z Harag quit (Ping timeout: 240 seconds) 2017-03-14T20:58:52Z Harag1 is now known as Harag 2017-03-14T21:01:43Z jathd` joined #lisp 2017-03-14T21:02:30Z jathd quit (Remote host closed the connection) 2017-03-14T21:08:19Z Baggers quit (Read error: Connection reset by peer) 2017-03-14T21:09:14Z slyrus joined #lisp 2017-03-14T21:09:33Z Baggers joined #lisp 2017-03-14T21:15:50Z compro joined #lisp 2017-03-14T21:16:31Z gingerale quit (Remote host closed the connection) 2017-03-14T21:18:03Z jathd`` joined #lisp 2017-03-14T21:18:48Z jathd` quit (Ping timeout: 240 seconds) 2017-03-14T21:20:26Z alphor quit (Remote host closed the connection) 2017-03-14T21:25:20Z Harag quit (Remote host closed the connection) 2017-03-14T21:25:30Z Harag joined #lisp 2017-03-14T21:32:19Z jathd``` joined #lisp 2017-03-14T21:32:46Z jathd`` quit (Remote host closed the connection) 2017-03-14T21:33:20Z Devon` joined #lisp 2017-03-14T21:37:22Z mishoo quit (Ping timeout: 268 seconds) 2017-03-14T21:41:45Z jathd```` joined #lisp 2017-03-14T21:44:21Z angavrilov quit (Remote host closed the connection) 2017-03-14T21:44:48Z jathd``` quit (Ping timeout: 240 seconds) 2017-03-14T21:48:34Z klltkr joined #lisp 2017-03-14T21:51:46Z wtetzner joined #lisp 2017-03-14T21:54:05Z Harag quit (Ping timeout: 240 seconds) 2017-03-14T21:54:22Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-14T21:55:20Z Devon joined #lisp 2017-03-14T21:58:26Z TDT quit (Quit: TDT) 2017-03-14T22:00:22Z travv0 quit (Read error: Connection reset by peer) 2017-03-14T22:02:11Z alphor joined #lisp 2017-03-14T22:05:26Z fourier joined #lisp 2017-03-14T22:12:08Z jathd```` quit (Ping timeout: 240 seconds) 2017-03-14T22:15:04Z azzamsa joined #lisp 2017-03-14T22:16:04Z schally joined #lisp 2017-03-14T22:17:24Z troydm joined #lisp 2017-03-14T22:20:00Z manuel_ quit (Quit: manuel_) 2017-03-14T22:21:28Z manuel_ joined #lisp 2017-03-14T22:22:35Z manuel_ quit (Client Quit) 2017-03-14T22:23:43Z jasom: I tried evaluating '∮ in my shiny new REPL and things were not happy; clearly some work is still needed... 2017-03-14T22:30:03Z Devon: What sort of REPL? 2017-03-14T22:32:06Z jasom: Devon: part of my simple CL IDE for those with emacsophobia 2017-03-14T22:32:15Z shka_ quit (Ping timeout: 260 seconds) 2017-03-14T22:34:26Z Devon: What, an Eclpse plug-in? 2017-03-14T22:34:33Z jasom: Devon: geany plugin 2017-03-14T22:36:03Z phoe: jasom: you need to teach your REPL how to do functional analysis 2017-03-14T22:37:25Z Harag joined #lisp 2017-03-14T22:37:52Z schally quit (Ping timeout: 240 seconds) 2017-03-14T22:41:03Z dpg joined #lisp 2017-03-14T22:42:18Z Devon: Too easy, how about something that reads the Geany source and generates geany.el 2017-03-14T22:42:28Z azzamsa quit (Read error: Connection reset by peer) 2017-03-14T22:42:40Z remi`bd quit (Quit: leaving) 2017-03-14T22:43:21Z LiamH quit (Quit: Leaving.) 2017-03-14T22:47:18Z manuel_ joined #lisp 2017-03-14T22:47:22Z Devon` quit (Ping timeout: 246 seconds) 2017-03-14T22:47:22Z Devon quit (Ping timeout: 246 seconds) 2017-03-14T22:47:47Z Harag1 joined #lisp 2017-03-14T22:48:57Z Harag quit (Ping timeout: 240 seconds) 2017-03-14T22:48:57Z Harag1 is now known as Harag 2017-03-14T22:52:28Z aeth quit (Ping timeout: 240 seconds) 2017-03-14T22:53:59Z TDT joined #lisp 2017-03-14T22:54:38Z aeth joined #lisp 2017-03-14T22:56:54Z neoncontrails quit (Remote host closed the connection) 2017-03-14T22:57:30Z neoncontrails joined #lisp 2017-03-14T22:59:45Z namosca joined #lisp 2017-03-14T23:01:14Z fourier quit (Ping timeout: 256 seconds) 2017-03-14T23:01:43Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-14T23:01:49Z namosca left #lisp 2017-03-14T23:02:49Z cromachina joined #lisp 2017-03-14T23:06:08Z jdz quit (Ping timeout: 240 seconds) 2017-03-14T23:06:15Z jdz joined #lisp 2017-03-14T23:09:35Z Harag quit (Ping timeout: 260 seconds) 2017-03-14T23:11:56Z bocaneri joined #lisp 2017-03-14T23:14:27Z azzamsa joined #lisp 2017-03-14T23:15:12Z green` joined #lisp 2017-03-14T23:20:38Z neoncontrails joined #lisp 2017-03-14T23:26:11Z sellout- quit (Quit: Leaving.) 2017-03-14T23:27:23Z malice joined #lisp 2017-03-14T23:28:06Z malice: Hi, I'm creating a class. I want to create a function that will only be used by this class. Since I only want to use it on this class, I could make it ordinary function and not a generic function, right? 2017-03-14T23:28:10Z malice: Should this be my approach? 2017-03-14T23:28:15Z BlueRavenGT quit (Ping timeout: 258 seconds) 2017-03-14T23:28:18Z Kaisyu joined #lisp 2017-03-14T23:28:36Z malice: Or maybe I should take into account that someone might want to derive from my class, and I should make it generic function anyway? 2017-03-14T23:28:53Z axion quit (Quit: WeeChat 1.7) 2017-03-14T23:29:53Z Bike: is the function an exported interface? do you want to let people alter its behavior? is the class exported and subclassable? 2017-03-14T23:30:15Z axion joined #lisp 2017-03-14T23:30:38Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-14T23:31:38Z Harag joined #lisp 2017-03-14T23:31:42Z azzamsa quit (Remote host closed the connection) 2017-03-14T23:32:01Z foojin quit (Quit: leaving) 2017-03-14T23:32:14Z attila_lendvai1 joined #lisp 2017-03-14T23:32:14Z attila_lendvai1 quit (Client Quit) 2017-03-14T23:32:14Z attila_lendvai quit (Disconnected by services) 2017-03-14T23:32:16Z attila_lendvai2 joined #lisp 2017-03-14T23:32:16Z attila_lendvai2 is now known as attila_lendvai 2017-03-14T23:32:16Z attila_lendvai quit (Changing host) 2017-03-14T23:32:16Z attila_lendvai joined #lisp 2017-03-14T23:35:59Z fourier joined #lisp 2017-03-14T23:36:22Z manuel_ quit (Ping timeout: 264 seconds) 2017-03-14T23:38:19Z BlueRavenGT joined #lisp 2017-03-14T23:39:17Z phoe: malice: I say make it extendable later on 2017-03-14T23:39:43Z phoe: also what Bike said, but also note that you might want to define your internal protocol as well as the external one 2017-03-14T23:42:24Z malice: I see 2017-03-14T23:43:16Z malice: It would be part of exported interface, and I don't mind if anyone does whatever he wants, if he wants to change the code to work for him then I'm not the one to stand in his way 2017-03-14T23:43:34Z malice: And class would be exported, not really sure how you'd want to subclass it, but maybe someone wold want to 2017-03-14T23:44:24Z pjb joined #lisp 2017-03-14T23:45:06Z phoe: I say generic function. 2017-03-14T23:46:37Z malice: Yes, I believe it's a good idea. 2017-03-14T23:46:40Z malice: Well, thanks for help. 2017-03-14T23:48:01Z Baggers quit (Remote host closed the connection) 2017-03-14T23:48:45Z wheelsucker joined #lisp 2017-03-14T23:49:20Z varjag quit (Ping timeout: 268 seconds) 2017-03-14T23:51:35Z wtetzner quit (Remote host closed the connection) 2017-03-14T23:53:07Z manuel_ joined #lisp 2017-03-14T23:59:01Z strykerkkd joined #lisp 2017-03-15T00:00:20Z vydd quit 2017-03-15T00:00:26Z fourier quit (Ping timeout: 268 seconds) 2017-03-15T00:05:35Z malice quit (Remote host closed the connection) 2017-03-15T00:11:22Z libreman quit (Ping timeout: 246 seconds) 2017-03-15T00:13:16Z sellout- joined #lisp 2017-03-15T00:14:31Z milanj quit (Quit: Leaving) 2017-03-15T00:15:12Z namosca joined #lisp 2017-03-15T00:15:44Z namosca left #lisp 2017-03-15T00:18:52Z BlueRavenGT quit (Ping timeout: 256 seconds) 2017-03-15T00:18:57Z pve quit (Ping timeout: 240 seconds) 2017-03-15T00:21:28Z wtetzner joined #lisp 2017-03-15T00:21:48Z safe joined #lisp 2017-03-15T00:24:19Z libreman joined #lisp 2017-03-15T00:25:09Z ffilozov joined #lisp 2017-03-15T00:25:35Z wtetzner quit (Ping timeout: 240 seconds) 2017-03-15T00:28:02Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-15T00:30:22Z dpg quit (Ping timeout: 264 seconds) 2017-03-15T00:32:06Z cromachina quit (Read error: Connection reset by peer) 2017-03-15T00:32:16Z heurist quit (Ping timeout: 260 seconds) 2017-03-15T00:33:20Z cromachina joined #lisp 2017-03-15T00:34:08Z impulse quit (Ping timeout: 260 seconds) 2017-03-15T00:44:06Z nirved quit (Quit: Leaving) 2017-03-15T00:49:46Z josh_2 quit (Ping timeout: 268 seconds) 2017-03-15T00:50:12Z jameser joined #lisp 2017-03-15T00:51:05Z emma__ is now known as emma 2017-03-15T00:53:21Z namosca joined #lisp 2017-03-15T00:54:50Z TDT quit (Quit: TDT) 2017-03-15T00:56:04Z gigetoo quit (Ping timeout: 260 seconds) 2017-03-15T00:56:55Z fourier joined #lisp 2017-03-15T00:57:06Z gigetoo joined #lisp 2017-03-15T00:57:20Z heurist joined #lisp 2017-03-15T00:57:29Z stepnem quit (Ping timeout: 260 seconds) 2017-03-15T00:59:14Z krrrcks quit (Ping timeout: 260 seconds) 2017-03-15T00:59:20Z sjl quit (Read error: Connection reset by peer) 2017-03-15T00:59:37Z cromachina quit (Read error: Connection reset by peer) 2017-03-15T01:00:15Z krrrcks joined #lisp 2017-03-15T01:00:35Z slyrus quit (Ping timeout: 240 seconds) 2017-03-15T01:01:08Z shdeng joined #lisp 2017-03-15T01:01:40Z fourier quit (Ping timeout: 260 seconds) 2017-03-15T01:02:33Z namosca left #lisp 2017-03-15T01:07:39Z strykerkkd quit (Quit: Leaving) 2017-03-15T01:13:43Z dpg joined #lisp 2017-03-15T01:14:24Z cromachina joined #lisp 2017-03-15T01:16:17Z warweasle joined #lisp 2017-03-15T01:18:45Z warweasle quit (Client Quit) 2017-03-15T01:20:39Z warweasle joined #lisp 2017-03-15T01:22:03Z wtetzner joined #lisp 2017-03-15T01:23:00Z smokeink joined #lisp 2017-03-15T01:27:20Z wtetzner quit (Ping timeout: 260 seconds) 2017-03-15T01:29:41Z FreeBirdLjj joined #lisp 2017-03-15T01:31:41Z TDT joined #lisp 2017-03-15T01:34:22Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-15T01:37:01Z parjanya joined #lisp 2017-03-15T01:38:00Z cromachina quit (Read error: Connection reset by peer) 2017-03-15T01:44:44Z cromachina joined #lisp 2017-03-15T01:52:40Z cromachina quit (Read error: Connection reset by peer) 2017-03-15T01:52:52Z FreeBirdLjj joined #lisp 2017-03-15T01:56:36Z Karl_Dscc quit (Remote host closed the connection) 2017-03-15T02:06:22Z tmc quit (Ping timeout: 264 seconds) 2017-03-15T02:13:48Z pjb quit (Ping timeout: 240 seconds) 2017-03-15T02:14:50Z tmc joined #lisp 2017-03-15T02:22:59Z shifty joined #lisp 2017-03-15T02:28:32Z quazimodo joined #lisp 2017-03-15T02:30:15Z malice` quit (Ping timeout: 260 seconds) 2017-03-15T02:33:05Z guest2334 quit (Read error: Connection reset by peer) 2017-03-15T02:35:22Z libreman quit (Ping timeout: 240 seconds) 2017-03-15T02:35:39Z neoncontrails quit (Remote host closed the connection) 2017-03-15T02:35:51Z libreman joined #lisp 2017-03-15T02:36:16Z neoncontrails joined #lisp 2017-03-15T02:41:10Z neoncontrails quit (Ping timeout: 264 seconds) 2017-03-15T02:42:35Z wtetzner joined #lisp 2017-03-15T02:46:50Z neoncontrails joined #lisp 2017-03-15T02:54:38Z TDT quit (Quit: TDT) 2017-03-15T03:00:19Z impulse joined #lisp 2017-03-15T03:00:34Z manuel_ quit (Ping timeout: 260 seconds) 2017-03-15T03:02:22Z Harag quit (Ping timeout: 240 seconds) 2017-03-15T03:11:46Z nisar joined #lisp 2017-03-15T03:13:52Z impulse quit (Ping timeout: 240 seconds) 2017-03-15T03:14:42Z quadresce joined #lisp 2017-03-15T03:17:56Z nisar quit (Quit: ERC (IRC client for Emacs 25.1.5)) 2017-03-15T03:19:13Z quadresce quit (Ping timeout: 245 seconds) 2017-03-15T03:19:31Z Harag joined #lisp 2017-03-15T03:23:14Z cibs quit (Ping timeout: 258 seconds) 2017-03-15T03:23:35Z Harag quit (Ping timeout: 240 seconds) 2017-03-15T03:23:46Z rk[ghost] quit (Quit: leaving) 2017-03-15T03:24:58Z cibs joined #lisp 2017-03-15T03:47:52Z myrkraverk quit (Ping timeout: 240 seconds) 2017-03-15T03:48:22Z dpg quit (Ping timeout: 264 seconds) 2017-03-15T03:54:46Z Intensity quit (Ping timeout: 256 seconds) 2017-03-15T04:01:32Z myrkraverk joined #lisp 2017-03-15T04:03:11Z wtetzner quit (Remote host closed the connection) 2017-03-15T04:04:08Z jason_m quit (Ping timeout: 260 seconds) 2017-03-15T04:04:14Z wheelsucker quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2017-03-15T04:18:34Z libreman quit (Ping timeout: 256 seconds) 2017-03-15T04:19:57Z impulse joined #lisp 2017-03-15T04:20:05Z libreman joined #lisp 2017-03-15T04:39:49Z cromachina joined #lisp 2017-03-15T04:42:50Z cromachina quit (Client Quit) 2017-03-15T04:43:10Z cromachina joined #lisp 2017-03-15T04:47:41Z moei quit (Quit: Leaving...) 2017-03-15T04:56:14Z beach: Good morning everyone! 2017-03-15T04:56:16Z lambda-smith joined #lisp 2017-03-15T04:58:04Z fourier joined #lisp 2017-03-15T05:02:57Z fourier quit (Ping timeout: 240 seconds) 2017-03-15T05:02:59Z jasom: good morning beach 2017-03-15T05:05:22Z cibs quit (Ping timeout: 240 seconds) 2017-03-15T05:05:59Z libreman quit (Ping timeout: 260 seconds) 2017-03-15T05:06:22Z libreman joined #lisp 2017-03-15T05:06:52Z beach: jasom: Is there a document describing what your Geany lisp mode does? 2017-03-15T05:07:15Z cibs joined #lisp 2017-03-15T05:07:18Z beach: Or, perhaps you can give a short description here. 2017-03-15T05:08:31Z jasom: no document, but I'm about to publish the source; it no longer crashes if I look at it funny 2017-03-15T05:09:29Z jasom: It provides indenting, a REPL, symbol completion, highlighting of compilation notes/warnings and jump to definition. 2017-03-15T05:09:49Z beach: How does it compute indentation? 2017-03-15T05:10:09Z jasom: it sends the buffer to emacs and lets slime do it :P 2017-03-15T05:10:16Z beach: Oh! :) 2017-03-15T05:12:38Z jasom: If there were a more mature slime-alike written in common-lisp, I could use that, but there sadly isn't 2017-03-15T05:13:45Z beach: Do you mean in order to compute indentation for your Geany Lisp mode? 2017-03-15T05:14:15Z jasom: all the features are implemented via emacsclient to slime running in a headless emacs 2017-03-15T05:14:30Z beach: I understand. 2017-03-15T05:14:43Z beach: So is it meant for people who can't stand Emacs? 2017-03-15T05:14:50Z jasom: yup 2017-03-15T05:14:55Z beach: Got it. 2017-03-15T05:15:41Z jasom: It originally started with me looking for a way to add lisp indentation to other editors, and then I realized I now had a server that could run arbitrary slime commands. 2017-03-15T05:16:23Z beach: Yes, I see. 2017-03-15T05:16:51Z jasom downloaded all of the text editors in his package-system and discovered that only emacs and vim implement any sort of lisp indentation mode. 2017-03-15T05:20:57Z chu quit (Quit: WeeChat 1.7) 2017-03-15T05:26:23Z chu joined #lisp 2017-03-15T05:26:59Z defaultxr quit (Ping timeout: 260 seconds) 2017-03-15T05:32:14Z cromachina quit (Ping timeout: 256 seconds) 2017-03-15T05:38:05Z Reinisch quit (Ping timeout: 240 seconds) 2017-03-15T05:40:39Z lambda-smith quit (Quit: Konversation terminated!) 2017-03-15T05:40:53Z Reinisch joined #lisp 2017-03-15T05:46:21Z vlatkoB joined #lisp 2017-03-15T05:55:36Z neoncontrails quit (Remote host closed the connection) 2017-03-15T05:56:00Z mishoo joined #lisp 2017-03-15T05:56:13Z neoncontrails joined #lisp 2017-03-15T06:01:11Z neoncontrails quit (Ping timeout: 268 seconds) 2017-03-15T06:02:52Z moei joined #lisp 2017-03-15T06:07:38Z dec0n joined #lisp 2017-03-15T06:07:57Z karswell quit (Remote host closed the connection) 2017-03-15T06:08:50Z karswell joined #lisp 2017-03-15T06:14:14Z libreman quit (Ping timeout: 260 seconds) 2017-03-15T06:14:44Z libreman joined #lisp 2017-03-15T06:17:19Z quadresce joined #lisp 2017-03-15T06:17:46Z shdeng quit (Ping timeout: 264 seconds) 2017-03-15T06:17:48Z quadresce quit (Client Quit) 2017-03-15T06:18:25Z quadresce joined #lisp 2017-03-15T06:18:36Z quadresce quit (Client Quit) 2017-03-15T06:18:48Z okflo joined #lisp 2017-03-15T06:18:49Z safe quit (Read error: Connection reset by peer) 2017-03-15T06:18:52Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-15T06:19:38Z quadresce joined #lisp 2017-03-15T06:20:12Z quadresce quit (Client Quit) 2017-03-15T06:20:25Z quadresce joined #lisp 2017-03-15T06:21:00Z quadresce quit (Client Quit) 2017-03-15T06:21:15Z quadresce joined #lisp 2017-03-15T06:21:48Z quadresce quit (Client Quit) 2017-03-15T06:22:00Z quadresce joined #lisp 2017-03-15T06:22:36Z quadresce quit (Client Quit) 2017-03-15T06:33:06Z mrcom_ joined #lisp 2017-03-15T06:33:52Z shdeng joined #lisp 2017-03-15T06:33:53Z shka_ joined #lisp 2017-03-15T06:35:48Z mrcom quit (Ping timeout: 260 seconds) 2017-03-15T06:38:10Z neoncontrails joined #lisp 2017-03-15T06:39:50Z gingerale joined #lisp 2017-03-15T06:40:25Z krwq joined #lisp 2017-03-15T06:45:44Z angavrilov joined #lisp 2017-03-15T06:49:05Z compro quit (Ping timeout: 240 seconds) 2017-03-15T06:49:49Z akkad left #lisp 2017-03-15T06:51:15Z krwq: hey, how do you create a mcclim project? i have an asd file with :depends-on :mcclim and (defpackage (:use clim-user)) - am i doing something wrong? 2017-03-15T06:51:49Z Bike: are you having problems? 2017-03-15T06:52:01Z beach: krwq: Just like you won't :USE COMMON-LISP-USER you should not :USE CLIM-USER. 2017-03-15T06:52:13Z beach: krwq: You should :USE CLIM if that is what you want to do. 2017-03-15T06:52:24Z beach: krwq: Or you can use explicit package prefixes. 2017-03-15T06:52:56Z beach: krwq: The #clim IRC channel is dedicated to CLIM in case you want more detailed help. 2017-03-15T06:53:17Z krwq: # between the following symbols: 2017-03-15T06:53:17Z krwq: common-lisp:interactive-stream-p, 2017-03-15T06:53:17Z krwq: clim-lisp-patch:interactive-stream-p 2017-03-15T06:53:28Z krwq: after i changed to use :clim 2017-03-15T06:54:07Z beach: krwq: You might want to replace :USE COMMON-LISP by :USE CLIM-LISP. 2017-03-15T06:57:04Z krwq: beach: i think the problem was with the sample code 2017-03-15T06:57:26Z krwq: i do define-application-frame and it complains that bordering is not a function 2017-03-15T06:57:44Z jackdaniel: what sample code? 2017-03-15T06:58:05Z krwq: http://www.lispworks.com/documentation/lwl42/CLIM-U/html/climguide-26.htm#pgfId-255544 2017-03-15T06:58:13Z krwq: i was instead trying to create a project 2017-03-15T06:59:29Z ffilozov quit (Remote host closed the connection) 2017-03-15T06:59:50Z beach: krwq: The CLIM II spec does not have a BORDERING macro. Where did you find a reference to it? 2017-03-15T07:00:12Z beach: krwq: It must be an extension by some other implementation. 2017-03-15T07:00:15Z jackdaniel: it's lispworks extension it seems 2017-03-15T07:01:04Z krwq: beach: i'm simply trying to start with clim without reading 400 pages spec 2017-03-15T07:01:14Z jackdaniel: krwq: try defining this: http://paste.lisp.org/display/341448 2017-03-15T07:01:21Z beach: krwq: Remove the BORDERING around MAIN. 2017-03-15T07:01:35Z jackdaniel: regarding simple examples, mcclim has Examples/ directory with many of them 2017-03-15T07:01:47Z compro joined #lisp 2017-03-15T07:02:15Z beach: krwq: You can't "start CLIM". It's a library. But you can try the CLIM-LISTENER: Build the system :clim-listener, and then execute (clim-listener:run-listener). 2017-03-15T07:02:29Z jackdaniel: fwiw, we have bordering implemented in clim-internals 2017-03-15T07:02:36Z beach: Oh, OK. 2017-03-15T07:02:40Z jackdaniel: but its not part of the specification, so its not exported 2017-03-15T07:02:47Z beach: Right. 2017-03-15T07:03:24Z jackdaniel: krwq: you have to add explicit accessor: "climi::bordering" if you want to have unchanged example 2017-03-15T07:03:40Z jackdaniel: I wonder if we should export it anyway 2017-03-15T07:03:47Z krwq: sorry not working - beach - the examples from the repo work, the package i create is not. by starting i mean i want to start using it 2017-03-15T07:03:53Z jackdaniel: not much controversy (except the fact it's not in the spec) 2017-03-15T07:04:18Z krwq: jackdaniel: beach: i do not care about this particular example - the thing is that i was trying to find some simple tutorial 2017-03-15T07:04:20Z beach: jackdaniel: Yes, it probably won't hurt to export it. 2017-03-15T07:04:27Z krwq: or something to start building from 2017-03-15T07:04:41Z krwq: but i do want to use a regular project 2017-03-15T07:04:45Z beach: krwq: I think jackdaniel can give you some advice. 2017-03-15T07:05:45Z krwq: jackdaniel: what's the fastest way to ramp up on this library? 2017-03-15T07:06:30Z jackdaniel: hm, good question :) that's why I'm writing a tutorial, but it takes awful amount of time. I'll push wip version 2017-03-15T07:06:31Z krwq: my goal is to eventually pin clim inside opengl 2017-03-15T07:06:56Z beach: krwq: If you want to use it without learning too much about it first, you are probably better off asking us to help you get some initial stuff going and then you can fill in the blanks. 2017-03-15T07:06:56Z jackdaniel: you may start reading it, or you may go with user guide from allegro 2017-03-15T07:06:59Z krwq: website says it is portable so i guess it will work 2017-03-15T07:07:29Z krwq: jackdaniel: wip tutorial sounds good 2017-03-15T07:07:30Z krwq: :) 2017-03-15T07:08:08Z jackdaniel: krwq: here check "external tutorials", my not finished work is here: https://gitlab.common-lisp.net/dkochmanski/clamber 2017-03-15T07:08:13Z jackdaniel: it's second or third rewrite 2017-03-15T07:08:21Z vlatkoB_ joined #lisp 2017-03-15T07:08:41Z jackdaniel: branch gui-prototype 2017-03-15T07:08:42Z krwq: jackdaniel: you're from Poland? 2017-03-15T07:08:46Z jackdaniel: yes, why? 2017-03-15T07:08:49Z krwq: me too 2017-03-15T07:09:46Z jackdaniel: I can't find the file 2017-03-15T07:09:48Z jackdaniel: hang on 2017-03-15T07:10:44Z enzuru joined #lisp 2017-03-15T07:10:58Z jackdaniel: cool :) there is polish channel #lisp-pl if you are interested in it 2017-03-15T07:11:01Z jackdaniel: moderately active 2017-03-15T07:11:35Z jackdaniel: krwq: https://gitlab.common-lisp.net/dkochmanski/clamber/blob/gui-prototype/tutorial.md – if you have any critical remarks, please share. mind though it's still not finished 2017-03-15T07:11:41Z krwq: nice, the problem is i'm in different time but can try sometimes connecting from work :) 2017-03-15T07:11:54Z s3mi0 joined #lisp 2017-03-15T07:11:54Z krwq: jackdaniel: sounds good - thank you a lot! 2017-03-15T07:12:12Z vlatkoB quit (Ping timeout: 260 seconds) 2017-03-15T07:12:22Z jackdaniel: and it has some duplication due to rewrite 2017-03-15T07:12:52Z jackdaniel: I'd go with pointers from https://common-lisp.net/project/mcclim/ if I were you :) 2017-03-15T07:12:58Z beach thinks that maybe Poland will become the software development center of Europe. 2017-03-15T07:13:26Z krwq qubes os is also from poland ^^ 2017-03-15T07:13:33Z jackdaniel: if things continue the way they go, Poland won't be in "Europe" ;-) 2017-03-15T07:13:56Z enzuru_ joined #lisp 2017-03-15T07:13:56Z enzuru_ quit (Client Quit) 2017-03-15T07:13:56Z beach: ... barring that possibility. 2017-03-15T07:14:06Z enzuru quit (Client Quit) 2017-03-15T07:14:20Z enzuru joined #lisp 2017-03-15T07:14:36Z beach: Now, if you can make Common Lisp one of the mainstream languages used an taught in Poland, you will have a productivity advantage compared to other countries. 2017-03-15T07:15:28Z beach: ... and you wouldn't have to compete with lower salaries. 2017-03-15T07:15:46Z guicho joined #lisp 2017-03-15T07:16:14Z guicho_ joined #lisp 2017-03-15T07:16:24Z mishoo quit (Ping timeout: 260 seconds) 2017-03-15T07:16:41Z shka_ quit (Ping timeout: 258 seconds) 2017-03-15T07:17:33Z jack_rabbit joined #lisp 2017-03-15T07:17:33Z guicho_ quit (Remote host closed the connection) 2017-03-15T07:17:33Z guicho quit (Remote host closed the connection) 2017-03-15T07:18:59Z krwq: beach: how much do you consider low? 2017-03-15T07:31:42Z foojin joined #lisp 2017-03-15T07:33:16Z varjag joined #lisp 2017-03-15T07:34:41Z flamebeard joined #lisp 2017-03-15T07:39:17Z aeth: phoe: http://paste.lisp.org/+7BGT 2017-03-15T07:39:18Z beach: krwq: For salaries? I don't really keep up, so I don't have precise numbers. Maybe pjb can tell you what the going rate is in France for work by external manpower. 2017-03-15T07:39:27Z nowhereman quit (Ping timeout: 240 seconds) 2017-03-15T07:43:05Z mishoo joined #lisp 2017-03-15T07:45:52Z aeth: phoe: One consequence is that that file is now another way to say hello world in CL. Just append this function to the end of a hello world example: 2017-03-15T07:45:55Z aeth: (defun hello-world () (brainfuck ">++++++++[-<+++++++++>]<.>>+>-[+]++>++>+++[>[->+++<<+++>]<<]>-----.>->+++..+++.>-.<<+[>[+>+]>>]<--------------.>>.+++.------.--------.>+.>+.")) 2017-03-15T07:46:40Z stepnem joined #lisp 2017-03-15T07:47:04Z aeth: s/is now another way/is there's now another way/ 2017-03-15T07:48:31Z circ-user-3ReWJ joined #lisp 2017-03-15T07:54:55Z Bike quit (Quit: sleep) 2017-03-15T07:57:21Z troydm quit (Ping timeout: 240 seconds) 2017-03-15T07:57:26Z krwq: aeth: after i wrote my first brainfuck interpreter in c i wrote another program which brute force was searching solutions for given inputs and outputs 2017-03-15T07:58:09Z White_Flame: krwq: commonly known as a "superoptimizer" 2017-03-15T07:58:23Z krwq: never heard of 2017-03-15T07:58:25Z White_Flame: at least when applied to assembly instruction sets 2017-03-15T07:58:53Z White_Flame: things like "divide a 32-bit int by 2547, in 4 instructions" or something 2017-03-15T07:59:03Z krwq: why isnt optimizer optimizing itself then 2017-03-15T07:59:19Z White_Flame: surely you've seen the search spaces involved ;) 2017-03-15T07:59:20Z krwq: for better optimization algorithms 2017-03-15T07:59:20Z aeth: krwq: I didn't write a Brainfuck interpreter, I wrote a Brainfuck compiler. 2017-03-15T08:00:12Z krwq: aeth: i had multiple versions: one was generating c++ file which then got compiled, another one was interpreter 2017-03-15T08:00:33Z aeth: well, generating something that gets compiled is imo a compiler 2017-03-15T08:00:50Z krwq: aeth: that's what interpreters do too 2017-03-15T08:00:52Z aeth: It just so happens that Brainfuck -> Lisp is < 50 lines, apparently 2017-03-15T08:01:44Z krwq: eventually you will always end up with something which gets executed and gives expected results 2017-03-15T08:02:52Z krwq quit (Remote host closed the connection) 2017-03-15T08:03:40Z Amplituhedron joined #lisp 2017-03-15T08:04:01Z karswell quit (Read error: Connection reset by peer) 2017-03-15T08:04:38Z circ-user-3ReWJ quit (Remote host closed the connection) 2017-03-15T08:04:56Z karswell joined #lisp 2017-03-15T08:07:48Z beach is processing referee comments for ELS papers. 2017-03-15T08:10:40Z pve joined #lisp 2017-03-15T08:12:54Z Beetny joined #lisp 2017-03-15T08:17:06Z Oladon quit (Read error: Connection reset by peer) 2017-03-15T08:18:44Z aeth: I suppose what I wrote is most accurately described as a brainfuck reader rather than a compiler and what you do with it is up to you. 2017-03-15T08:20:49Z Patzy quit (Quit: leaving) 2017-03-15T08:20:50Z aeth: The "compiler" is literally just a 3 line macro on top of that reader. (A more serious compiler probably would read a brainfuck file with the reader, write it to temp.lisp, and then run compile-file on temp.lisp) 2017-03-15T08:21:25Z Patzy joined #lisp 2017-03-15T08:21:29Z Patzy quit (Client Quit) 2017-03-15T08:21:37Z Patzy joined #lisp 2017-03-15T08:22:38Z ebrasca joined #lisp 2017-03-15T08:22:48Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-15T08:26:16Z krasnal quit (Ping timeout: 246 seconds) 2017-03-15T08:27:18Z splittist assumes beach's comment is analogizing referee comments and brainfuck 2017-03-15T08:29:57Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-15T08:36:42Z ryanwatkins joined #lisp 2017-03-15T08:42:47Z marcoecc quit (Read error: Connection reset by peer) 2017-03-15T08:42:53Z nowhereman joined #lisp 2017-03-15T08:42:59Z marcoecc joined #lisp 2017-03-15T08:47:39Z nowhereman quit (Ping timeout: 260 seconds) 2017-03-15T08:50:03Z enzuru quit (Quit: Lost terminal) 2017-03-15T08:50:26Z nowhereman joined #lisp 2017-03-15T08:57:31Z loke joined #lisp 2017-03-15T08:59:58Z beach: splittist: :) 2017-03-15T09:00:22Z whiteline quit (Ping timeout: 264 seconds) 2017-03-15T09:03:41Z sjl joined #lisp 2017-03-15T09:11:54Z mazoe joined #lisp 2017-03-15T09:17:44Z libreman quit (Ping timeout: 260 seconds) 2017-03-15T09:18:10Z libreman joined #lisp 2017-03-15T09:19:21Z MrBusiness quit (Quit: https://www.youtube.com/watch?v=xIIqYqtR1lY -- Suicide is Painless - Johnny Mandel) 2017-03-15T09:20:04Z MrBusiness joined #lisp 2017-03-15T09:20:11Z fluter is now known as Guest56954 2017-03-15T09:20:11Z Guest56954 quit (Killed (cherryh.freenode.net (Nickname regained by services))) 2017-03-15T09:21:13Z varjag: did anyone use trivial-channels:recvmsg with timeout? 2017-03-15T09:21:26Z varjag: seems to fail on me 2017-03-15T09:21:29Z Guest56954 joined #lisp 2017-03-15T09:22:06Z MrBusiness quit (Client Quit) 2017-03-15T09:22:44Z MrBusiness joined #lisp 2017-03-15T09:25:06Z X-Scale quit (Read error: Connection reset by peer) 2017-03-15T09:32:25Z sjl quit (Ping timeout: 246 seconds) 2017-03-15T09:33:36Z arbv quit (Ping timeout: 260 seconds) 2017-03-15T09:36:14Z arbv joined #lisp 2017-03-15T09:42:00Z loke: varjag: I just looked at the code. 2017-03-15T09:42:16Z loke: It uses the SBCL timeout stuff. It's not preoperly thread-safe 2017-03-15T09:42:23Z loke: I wouldn't use that channels implementation. 2017-03-15T09:42:59Z okflo quit (Quit: ERC (IRC client for Emacs 26.0.50)) 2017-03-15T09:43:36Z loke: this pacage seems to have been built before the timeouts were implemented in BT's condition-wait 2017-03-15T09:43:46Z loke: It has one now, so those shananigans are not needed. 2017-03-15T09:44:02Z Harag joined #lisp 2017-03-15T09:46:15Z loke: varjag: Have a look at this one that I wrote: 2017-03-15T09:46:17Z loke: It works... 2017-03-15T09:46:23Z loke: https://github.com/lokedhs/containers/blob//src/blocking-queue.lisp#L98 2017-03-15T09:46:24Z Karl_Dscc joined #lisp 2017-03-15T09:46:40Z loke: Oops wait 2017-03-15T09:48:23Z loke: https://github.com/lokedhs/containers/blob/master/src/blocking-queue.lisp 2017-03-15T09:51:12Z gen93 quit (Ping timeout: 256 seconds) 2017-03-15T09:51:55Z gen93 joined #lisp 2017-03-15T09:57:00Z varjag: aha.. 2017-03-15T09:57:06Z varjag: loke: thanks 2017-03-15T09:58:36Z s3mi0 quit (Remote host closed the connection) 2017-03-15T09:58:43Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-15T09:58:47Z ttt72 joined #lisp 2017-03-15T09:59:19Z FreeBirdLjj joined #lisp 2017-03-15T10:03:34Z FreeBirdLjj quit (Ping timeout: 246 seconds) 2017-03-15T10:06:39Z ttt72 quit (Quit: ttt72) 2017-03-15T10:08:19Z nirved joined #lisp 2017-03-15T10:09:54Z gen93 quit (Ping timeout: 260 seconds) 2017-03-15T10:11:27Z jameser joined #lisp 2017-03-15T10:12:41Z Karl_Dscc quit (Remote host closed the connection) 2017-03-15T10:17:29Z shdeng quit (Quit: Leaving) 2017-03-15T10:21:03Z jameser quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-15T10:21:47Z gen93 joined #lisp 2017-03-15T10:23:12Z hhdave joined #lisp 2017-03-15T10:25:41Z varjag: loke: what's the license? 2017-03-15T10:26:24Z whiteline joined #lisp 2017-03-15T10:26:48Z gen93 quit (Ping timeout: 260 seconds) 2017-03-15T10:30:40Z salva quit (Ping timeout: 268 seconds) 2017-03-15T10:31:06Z salva joined #lisp 2017-03-15T10:37:52Z sjl joined #lisp 2017-03-15T10:41:03Z ebrasca: varjag: https://github.com/lokedhs/containers/blob/master/receptacle.asd 2017-03-15T10:41:27Z vibs29 quit (Ping timeout: 240 seconds) 2017-03-15T10:42:13Z attila_lendvai joined #lisp 2017-03-15T10:44:48Z libreman quit (Ping timeout: 240 seconds) 2017-03-15T10:45:14Z libreman joined #lisp 2017-03-15T10:45:16Z Karl_Dscc joined #lisp 2017-03-15T10:45:18Z zooey quit (*.net *.split) 2017-03-15T10:45:20Z specbot quit (Write error: Broken pipe) 2017-03-15T10:45:22Z specbot joined #lisp 2017-03-15T10:45:23Z puchka joined #lisp 2017-03-15T10:46:24Z vibs29 joined #lisp 2017-03-15T10:54:47Z tharugrim joined #lisp 2017-03-15T10:59:04Z z3r0_ joined #lisp 2017-03-15T11:00:16Z nowhereman quit (Ping timeout: 268 seconds) 2017-03-15T11:00:29Z green`` joined #lisp 2017-03-15T11:00:56Z z3r0_ quit (Client Quit) 2017-03-15T11:01:41Z malice` joined #lisp 2017-03-15T11:02:01Z green` quit (Ping timeout: 246 seconds) 2017-03-15T11:03:50Z gen93 joined #lisp 2017-03-15T11:04:25Z JuanDaugherty joined #lisp 2017-03-15T11:06:57Z libreman quit (Ping timeout: 240 seconds) 2017-03-15T11:08:29Z dpg joined #lisp 2017-03-15T11:08:40Z gen93 quit (Ping timeout: 246 seconds) 2017-03-15T11:09:24Z libreman joined #lisp 2017-03-15T11:12:32Z loke quit (Ping timeout: 260 seconds) 2017-03-15T11:16:22Z m00natic joined #lisp 2017-03-15T11:17:24Z snowcrshd joined #lisp 2017-03-15T11:22:20Z phoe: aeth: this is awesome in a way 2017-03-15T11:25:39Z dpg quit (Remote host closed the connection) 2017-03-15T11:29:01Z phoe: and deserves a quicklisp package 2017-03-15T11:29:56Z phoe: create/gather a brainfuck conformance test suite from http://www.hevanet.com/cristofd/brainfuck/tests.b for example and upload it to github 2017-03-15T11:30:33Z phoe: http://www.hevanet.com/cristofd/brainfuck/ actually has more data 2017-03-15T11:30:42Z gen93 joined #lisp 2017-03-15T11:32:08Z stepnem quit (Ping timeout: 260 seconds) 2017-03-15T11:37:44Z s3mi0 joined #lisp 2017-03-15T11:38:29Z pjb joined #lisp 2017-03-15T11:38:39Z pjb is now known as Guest5588 2017-03-15T11:39:38Z nisar joined #lisp 2017-03-15T11:39:44Z Guest5588 is now known as pjb` 2017-03-15T11:39:52Z pjb` is now known as pjb 2017-03-15T11:40:49Z zooey joined #lisp 2017-03-15T11:42:41Z nisar quit (Quit: ERC (IRC client for Emacs 25.1.5)) 2017-03-15T11:50:08Z s3mi0 quit (Remote host closed the connection) 2017-03-15T11:55:48Z Beetny quit (Read error: Connection reset by peer) 2017-03-15T11:57:20Z sjl quit (Ping timeout: 260 seconds) 2017-03-15T12:00:13Z salv0 joined #lisp 2017-03-15T12:05:11Z cromachina joined #lisp 2017-03-15T12:05:45Z sjl joined #lisp 2017-03-15T12:12:54Z d4ryus1 joined #lisp 2017-03-15T12:16:05Z tharugrim quit (Ping timeout: 240 seconds) 2017-03-15T12:16:07Z d4ryus quit (Ping timeout: 268 seconds) 2017-03-15T12:17:46Z TDT joined #lisp 2017-03-15T12:17:50Z Karl_Dscc quit (Remote host closed the connection) 2017-03-15T12:27:29Z rumbler31 quit (Remote host closed the connection) 2017-03-15T12:32:57Z tharugrim joined #lisp 2017-03-15T12:34:30Z nowhereman joined #lisp 2017-03-15T12:35:57Z spatial_ joined #lisp 2017-03-15T12:36:22Z tharugrim quit (Client Quit) 2017-03-15T12:39:18Z spatial_: I have 2 lisp functions here http://lpaste.net/353560 I am trying to understand the numeric output from them so that the two Haskell functions at the bottom match. 2017-03-15T12:40:28Z pjb quit (Ping timeout: 240 seconds) 2017-03-15T12:40:33Z spatial_: Let's say that both lists are [0,0,0,7] for lisp as well as haskell. 2017-03-15T12:40:42Z spatial_: Just to compare with the same input 2017-03-15T12:41:51Z spatial_: stateindex [0,0,0,7] [0,0,0,7] 2017-03-15T12:43:29Z ryanwatkins quit (Remote host closed the connection) 2017-03-15T12:46:01Z lambda-smith joined #lisp 2017-03-15T12:48:00Z rumbler31 joined #lisp 2017-03-15T12:52:37Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-15T12:53:49Z malice`: I have a cons cell("a" . "b"). How can I convert it to a list("a" "b") concisely? 2017-03-15T12:55:03Z Xach: (cons (car cell) (cons (cdr cell) nil)) is one option. 2017-03-15T12:55:24Z flip214: (list (car cell) (cdr cell)) 2017-03-15T12:58:33Z milanj joined #lisp 2017-03-15T12:59:08Z gen93 quit (Ping timeout: 240 seconds) 2017-03-15T13:00:30Z gen93 joined #lisp 2017-03-15T13:01:18Z puchka quit (Ping timeout: 258 seconds) 2017-03-15T13:02:44Z Xach: so concise 2017-03-15T13:02:52Z compro quit (Remote host closed the connection) 2017-03-15T13:03:30Z malice`: (cons->list cell) 2017-03-15T13:03:51Z malice`: I prefer this 2017-03-15T13:03:57Z malice`: And then define this function :) 2017-03-15T13:06:04Z jdz: I seriously doubt this operation deserves its own function. 2017-03-15T13:06:34Z edgar-rft: remember that a cons can be a list 2017-03-15T13:06:40Z payphone quit (Ping timeout: 258 seconds) 2017-03-15T13:07:20Z malice`: edgar-rft: I assume that cons is a 2-tuple(pair) 2017-03-15T13:09:13Z splittist: (rplacd cell (list (cdr cell))) 2017-03-15T13:09:35Z Khisanth quit (Ping timeout: 240 seconds) 2017-03-15T13:11:06Z edgar-rft: malice`: in computer programming, assumtions work pretty bad 2017-03-15T13:11:32Z malice`: edgar-rft: yes, but in small personal scripts they are usually fine 2017-03-15T13:12:04Z malice`: edgar-rft: I understand that I am not working with Haskell, but I can pretty much guarantee proper data type there, unless someone else would decide to rewrite the script, in which case I wouldn't be able to handle it properly anyway 2017-03-15T13:14:42Z libreman quit (Ping timeout: 268 seconds) 2017-03-15T13:16:13Z ryanwatkins joined #lisp 2017-03-15T13:16:53Z edgar-rft: malice`: something like this? 2017-03-15T13:17:56Z malice`: yes 2017-03-15T13:18:47Z spatial_ quit (Quit: Page closed) 2017-03-15T13:22:35Z Khisanth joined #lisp 2017-03-15T13:27:20Z libreman joined #lisp 2017-03-15T13:29:35Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-15T13:32:08Z Oladon joined #lisp 2017-03-15T13:32:58Z sword quit (Read error: No route to host) 2017-03-15T13:33:26Z iago_ joined #lisp 2017-03-15T13:33:37Z iago_ quit (Client Quit) 2017-03-15T13:33:56Z compro joined #lisp 2017-03-15T13:34:39Z iagorubio joined #lisp 2017-03-15T13:35:40Z attila_lendvai joined #lisp 2017-03-15T13:35:40Z attila_lendvai quit (Changing host) 2017-03-15T13:35:40Z attila_lendvai joined #lisp 2017-03-15T13:37:59Z cromachina quit (Read error: Connection reset by peer) 2017-03-15T13:39:13Z compro: can anyone guide me how to use mercurial and sourceforge for contributing to clisp? 2017-03-15T13:39:52Z sword joined #lisp 2017-03-15T13:40:01Z compro: I mean what is the equivalent term for pull request on source forge? 2017-03-15T13:42:11Z iagorubio: back in time the way to go on sf was to join the mailing list, explain the problem and send a patch ... not sure how it goes now 2017-03-15T13:43:25Z Xach: compro: the mailing list is probably a good starting point for discussing such things 2017-03-15T13:43:44Z yeticry quit (Ping timeout: 260 seconds) 2017-03-15T13:43:54Z LiamH joined #lisp 2017-03-15T13:44:31Z yeticry joined #lisp 2017-03-15T13:44:39Z iagorubio: compro: .. or open a support/feature/patch request on the tracker https://sourceforge.net/projects/clisp/support?source=navbar 2017-03-15T13:46:05Z Harag quit (Ping timeout: 240 seconds) 2017-03-15T13:54:52Z ebrasca quit (Remote host closed the connection) 2017-03-15T13:55:34Z rumbler31 joined #lisp 2017-03-15T13:56:48Z foojin quit (Ping timeout: 260 seconds) 2017-03-15T13:57:40Z Lord_of_Life quit (Excess Flood) 2017-03-15T13:58:00Z Harag joined #lisp 2017-03-15T14:00:58Z Lord_of_Life joined #lisp 2017-03-15T14:02:02Z Guest558` joined #lisp 2017-03-15T14:03:55Z compro quit (Read error: Connection reset by peer) 2017-03-15T14:07:18Z ebrasca joined #lisp 2017-03-15T14:07:21Z ebrasca quit (Remote host closed the connection) 2017-03-15T14:07:30Z ebrasca joined #lisp 2017-03-15T14:09:35Z Amplituhedron quit (Ping timeout: 268 seconds) 2017-03-15T14:14:08Z test1600 joined #lisp 2017-03-15T14:18:17Z Amplituhedron joined #lisp 2017-03-15T14:18:32Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-15T14:19:05Z gargaml joined #lisp 2017-03-15T14:19:14Z quadresce joined #lisp 2017-03-15T14:22:57Z impulse quit (Ping timeout: 240 seconds) 2017-03-15T14:27:53Z gargaml: ~hi 2017-03-15T14:28:02Z beach: Hello gargaml. 2017-03-15T14:28:21Z gargaml: is there a kind of convention for equality between clos objects? 2017-03-15T14:28:45Z gargaml: or is it only at project level that developers define their own tests? 2017-03-15T14:28:52Z beach: gargaml: This is a frequently-asked question. 2017-03-15T14:29:37Z beach: gargaml: It is widely agreed-upon that it is not possible to pre-define such tests, because even objects of the same class should compare differently according to the application. 2017-03-15T14:30:21Z beach: gargaml: Some stubborn inexperienced #lisp participants who showed up lately refused to accept this argument, but hey, this is IRC after all. 2017-03-15T14:30:38Z gargaml: I agree with this 2017-03-15T14:31:18Z beach: There is a link to a "paper" by Kent Pitman about it. 2017-03-15T14:31:27Z beach: If you give me a second I'll find it. 2017-03-15T14:31:38Z gargaml: the question was more oriented towards 'is there a package which defines a generic method equal (obj1 obj2)' 2017-03-15T14:31:51Z Xach: gargaml: there is mw-equiv 2017-03-15T14:31:55Z Xach: i think there is a name like that 2017-03-15T14:31:59Z gargaml: beach: with pleasure 2017-03-15T14:32:16Z beach: gargaml: And the argument is that such a generic function would need at least a third argument, a kind of context. 2017-03-15T14:32:17Z Xach: gargaml: i don't think it is used very much, though. 2017-03-15T14:32:39Z gargaml: Xach: I'll check it 2017-03-15T14:33:00Z gargaml: I agree but if we use defmethod in the project, we have some kind of context available 2017-03-15T14:33:09Z beach: gargaml: Because even if we have (say) two people to compare, sometimes we want to consider them equal if they have the same phone number (as our phone company does with me and my wife), and sometimes we want the address, sometimes the social-security number, etc. 2017-03-15T14:33:11Z gargaml: (or I missed something) 2017-03-15T14:33:30Z gargaml: oh yes 2017-03-15T14:33:33Z gargaml: ok 2017-03-15T14:33:43Z beach: gargaml: So you need (defgeneric equal? (obj1 obj2 context)) 2017-03-15T14:33:48Z gargaml: dispatch only with types would not be sufficient 2017-03-15T14:34:03Z beach: where CONTEXT is phone-company, social-security, motor-vehicle-admin, etc. 2017-03-15T14:34:05Z malice`: It would, but you would need to define your own comparison most of the time. 2017-03-15T14:34:12Z gargaml: true 2017-03-15T14:34:26Z Guest558` quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2017-03-15T14:34:38Z malice`: e.g. if you have a rules for formal grammars, are rules the same if they share the same name and definition, or just definition, or just name? 2017-03-15T14:35:02Z snowcrshd quit (Remote host closed the connection) 2017-03-15T14:35:07Z beach: gargaml: http://www.nhplace.com/kent/PS/EQUAL.html 2017-03-15T14:35:28Z pjb joined #lisp 2017-03-15T14:35:39Z gargaml: thank you 2017-03-15T14:35:40Z malice`: is equality commutative? This approach would assume so, but it is not always the case. 2017-03-15T14:35:49Z malice`: Thanks beach 2017-03-15T14:35:53Z beach: Sure. 2017-03-15T14:36:43Z puchka joined #lisp 2017-03-15T14:37:49Z dyelar joined #lisp 2017-03-15T14:38:29Z vydd joined #lisp 2017-03-15T14:38:44Z EvW joined #lisp 2017-03-15T14:39:09Z dwrngr joined #lisp 2017-03-15T14:39:15Z beach: malice`: I don't think it would be sane to have a predicate that is called something with equal init to implement something other than an equivalence relation: https://en.wikipedia.org/wiki/Equivalence_relation 2017-03-15T14:39:29Z beach: "in it" 2017-03-15T14:40:10Z pebblexe joined #lisp 2017-03-15T14:42:38Z malice`: Yes, I agree. 2017-03-15T14:42:51Z malice`: However, the case with slots still stands. 2017-03-15T14:43:45Z beach: What case is that? 2017-03-15T14:43:58Z malice`: [15:34] e.g. if you have a rules for formal grammars, are rules the same if they share the same name and definition, or just definition, or just name? 2017-03-15T14:44:12Z malice`: the same you talked about 2017-03-15T14:44:19Z malice`: you don't always want to compare all the slots 2017-03-15T14:44:24Z shifty quit (Ping timeout: 260 seconds) 2017-03-15T14:44:28Z beach: Right. 2017-03-15T14:49:45Z beach: Here is the example I use when I teach: A person P walks in to the social-security office and asks a question. The clerk needs to find P in the system so asks P the questions to find the right entry: Name? Address? Date of birth? Phone number? Social security number? Number of children? Name of all children? Spouse name? Cell phone number? Last time you were in here? You don't remember? Sorry, we can't find you then because 2017-03-15T14:49:45Z beach: that's one of the slots. 2017-03-15T14:50:56Z dwrngr: hmm.. does anyone here use SBCL on Windows? I am trying to kill a process started with sb-ext:run program, but process-kill is not implemented 2017-03-15T14:51:05Z dwrngr: I have tried using taskkill but the PID reported in SBCL is not the same as seen in windows 2017-03-15T14:52:02Z |3b| uses sbcl on windows, but hasn't had that problem, and would just try to kill it with task manager if it isn't a recurring problem that needs to be solved in code 2017-03-15T14:52:42Z dwrngr: heh, unfortunately it is something I am trying to repeat programmatically 2017-03-15T14:53:59Z snowcrshd joined #lisp 2017-03-15T14:54:36Z test1600 quit (Ping timeout: 268 seconds) 2017-03-15T14:55:01Z dwrngr: I guess trying to use windows as a lisp environment is pretty masochistic 2017-03-15T14:55:04Z quadresce quit (Quit: This computer has gone to sleep) 2017-03-15T14:55:32Z malice`: I'd just say that trying to use windows is pretty masochistic in general 2017-03-15T14:55:50Z |3b|: not too bad usually, but tend to run into edge cases that you need to solve yourself since nobody else hit them yet(or did and din't bother to solve them) :/ 2017-03-15T14:55:56Z dwrngr: hehe 2017-03-15T14:57:08Z |3b|: how are you asking sbcl for a PID? 2017-03-15T14:57:38Z dwrngr: well, I'm just going by what it says when i (describe ), there's a line item PID = ### 2017-03-15T14:57:57Z dwrngr: which also shows up in the descriptor like # 2017-03-15T14:58:52Z |3b|: ah, looks like it is storing a handle there, and throwing away what looks like an actual PID :/ 2017-03-15T14:59:50Z rippa joined #lisp 2017-03-15T14:59:53Z dwrngr: The other approach which I have tried but I don't think I understand well enough to implement, is sending the equivalent of "Control-C" to the process 2017-03-15T15:00:13Z dwrngr: but sending (code-char 3) to the input stream does not have the effect i had imagined 2017-03-15T15:00:25Z dwrngr: of course like i said i don't really know what i'm doing with that approach 2017-03-15T15:00:33Z |3b|: yeah, windows stuff does interrupts differently i think 2017-03-15T15:02:16Z wtetzner joined #lisp 2017-03-15T15:02:56Z |3b|: looks like you can either patch sbcl to store the PID and see if it is what taskkill wants, or use a 'job object' to manage it (i think that would also make the child get killed if your parent process goes away, which may or may not be what you want) 2017-03-15T15:03:27Z |3b|: or see if there is a way to query the PID using the process handle 2017-03-15T15:03:50Z attila_lendvai joined #lisp 2017-03-15T15:03:50Z attila_lendvai quit (Changing host) 2017-03-15T15:03:50Z attila_lendvai joined #lisp 2017-03-15T15:04:07Z o1e9 joined #lisp 2017-03-15T15:04:32Z |3b|: which looks like GetProcessId() 2017-03-15T15:06:05Z dwrngr: Hmm thanks for the suggestions, I am determined to figure something out one way or another 2017-03-15T15:07:22Z lnostdal quit (Read error: Connection reset by peer) 2017-03-15T15:07:27Z pjb: beach: The solution is: "P is not in the system, he's in the office in front of the clerk." Am I right? 2017-03-15T15:07:48Z lnostdal joined #lisp 2017-03-15T15:08:36Z flip214: too literal. 2017-03-15T15:09:36Z beach: I'll give you a B- for that. 2017-03-15T15:09:55Z pjb: Sorry, I find it too funny :-) 2017-03-15T15:10:56Z beach: pjb: It is literally true, yes. You should read the book I am reading by Steven Pinker at the moment: "The stuff of thought". 2017-03-15T15:11:34Z beach: "The ham sandwich at table 5 is waiting for the bill" 2017-03-15T15:11:40Z beach: stuff like that. 2017-03-15T15:12:18Z dwrngr: The files are... IN the computer? 2017-03-15T15:12:20Z |3b|: dwrngr: http://paste.lisp.org/+7BHE looks like it might be enough 2017-03-15T15:12:38Z dwrngr: wow, thanks, let me check this out 2017-03-15T15:12:53Z pjb: dwrngr: no, files are in the noosphere. In the computer there are only atoms and electromagnetic fields. 2017-03-15T15:12:57Z X-Scale joined #lisp 2017-03-15T15:13:00Z |3b|: at least returns the same pid as tasklist.exe 2017-03-15T15:13:10Z dwrngr: pjb: oh yeah, derp ;p 2017-03-15T15:13:20Z malice`: I'm trying to write a sbcl script. It works fine when compiled and loaded as asdf system from the REPL, but I can't get it to work from command line. I put some stuff into my .sbclrc so that sbcl shebang is tolerated. Then, I added quickloads to load systems I'm using and that I defined in asdf 2017-03-15T15:13:50Z malice`: Now when doing this I get an error during loading drakma's deps, bordaux-threads: READ error during compile-file: you need asdf >= 3.1 to load this system correctly. 2017-03-15T15:13:51Z dwrngr: excellent, thanks for the help, definitely feeling my inexperience when i look at that one :) 2017-03-15T15:14:02Z malice`: However, I succeeded in REPL. Are there 2 versions of ASDF? 2017-03-15T15:14:07Z malice`: in my sbcl? 2017-03-15T15:14:39Z |3b|: dwrngr: nah, don't usually need to know that sort of thing unless you get into OS details 2017-03-15T15:15:09Z pjb: malice`: quicklisp may load an updated asdf IIRC. 2017-03-15T15:16:13Z |3b| used M-. on run-program to see how it worked, looked up how to get PID from process handle on MSDN, found the alien def for a similar function in sbcl source, and made something similar for get-process-id 2017-03-15T15:16:27Z pjb: malice`: So, yes, you have two different asdf. 2017-03-15T15:16:30Z malice`: pjb: so I should load asdf via quicklisp too? 2017-03-15T15:16:44Z pjb: It would be preferable since your dependency needs asdf>=3.1 2017-03-15T15:17:02Z |3b|: being able to do that quickly is probably more about poking at sbcl internals regularly than about general lisp knowledge 2017-03-15T15:18:29Z malice`: pjb: just to make sure, the package's name is asdf-package-system, right? 2017-03-15T15:19:03Z pjb: Isn't it ~/quicklisp/asdf.lisp ? 2017-03-15T15:19:21Z Xach: Don't load asdf via quicklisp if you can help it. 2017-03-15T15:19:22Z pjb: but I have asdf 2.29 there… /me puzzled 2017-03-15T15:19:29Z Xach: (require 'asdf) is much more likely to get something more up to date. 2017-03-15T15:20:08Z al-damiri joined #lisp 2017-03-15T15:20:08Z malice`: unfortunately, require 'asdf did not work there. 2017-03-15T15:20:24Z pebblexe: what should I read to learn about dealing with streams? 2017-03-15T15:20:30Z Xach: malice`: then there is a real problem. 2017-03-15T15:20:41Z Xach: malice`: what happened when you tried? 2017-03-15T15:20:51Z malice`: nothing, I guess. The error still occurs. 2017-03-15T15:20:53Z pjb: malice`: is it not because you have an old sbcl? 2017-03-15T15:20:57Z malice`: I can quickload other library just fine 2017-03-15T15:21:10Z Xach: malice`: you get an error when you (require 'asdf)? 2017-03-15T15:21:17Z malice`: No, when (ql:quickload :drakma) 2017-03-15T15:21:26Z malice`: I don't get error during quickloading :cl-ppcre though 2017-03-15T15:21:28Z Xach: malice`: After you (require 'asdf), what do you get from (asdf:asdf-version)? 2017-03-15T15:21:36Z pjb: Try: sbcl --no-userinit --eval '(require (quote asdf))' --eval '(print ASDF/UPGRADE:*ASDF-VERSION*)' --quit 2017-03-15T15:22:22Z malice`: Oh, sorry, must have not saved it. Yes, I get an error on require asdf: Don't know how to require asdf... 2017-03-15T15:22:32Z Bike joined #lisp 2017-03-15T15:22:34Z flip214: 3.1.5 2017-03-15T15:23:04Z Xach: malice`: that is a very bad sign. 2017-03-15T15:23:08Z dwrngr: |3b|: Well, very handy stuff and much appreciated. I think I am seeing the issue now, though, the result is supposed to be a 64-bit unsigned integer and sb-win32:dword is only 32... 2017-03-15T15:23:12Z malice`: yep 2017-03-15T15:23:21Z Xach: malice`: it usually means that sbcl is partially or incorrectly installed 2017-03-15T15:23:30Z |3b|: dwrngr: where is that? 2017-03-15T15:23:44Z dwrngr: when i use that example you provided, then run it on the process it says 2017-03-15T15:23:53Z Sigyn quit (Quit: Can we drop the ‘artificial intelligence’? It’s a bit like me calling you a meat-based processing system.) 2017-03-15T15:24:24Z dwrngr: err, sorry it says Not of type (signed-byte 64) 2017-03-15T15:24:33Z Sigyn joined #lisp 2017-03-15T15:24:59Z dwrngr: hoas i think i typed it wrong heh 2017-03-15T15:25:08Z phoe quit (Ping timeout: 240 seconds) 2017-03-15T15:25:12Z |3b|: does just (sb-ext:process-pid ) by itself work? 2017-03-15T15:25:19Z dwrngr: excellent, got it 2017-03-15T15:25:19Z |3b|: or that :) 2017-03-15T15:25:21Z dwrngr: sorry, :) 2017-03-15T15:27:51Z malice`: I'm gonna verify my sbcl then 2017-03-15T15:31:32Z mishoo quit (Ping timeout: 260 seconds) 2017-03-15T15:34:58Z MoALTz quit (Read error: Connection reset by peer) 2017-03-15T15:35:31Z MoALTz joined #lisp 2017-03-15T15:36:18Z EvW quit (Ping timeout: 256 seconds) 2017-03-15T15:37:55Z zooey quit (Ping timeout: 240 seconds) 2017-03-15T15:38:00Z Cthulhux quit (Ping timeout: 256 seconds) 2017-03-15T15:38:58Z Amplituhedron quit (Quit: Konversation terminated!) 2017-03-15T15:39:42Z nopf quit (Ping timeout: 256 seconds) 2017-03-15T15:39:54Z EvW1 joined #lisp 2017-03-15T15:40:16Z dec0n quit (Ping timeout: 256 seconds) 2017-03-15T15:40:21Z Cthulhux joined #lisp 2017-03-15T15:40:28Z nopf joined #lisp 2017-03-15T15:40:50Z DeadTrickster quit (Ping timeout: 256 seconds) 2017-03-15T15:42:38Z compro joined #lisp 2017-03-15T15:43:06Z HDurer2 quit (Ping timeout: 256 seconds) 2017-03-15T15:44:14Z zooey joined #lisp 2017-03-15T15:45:22Z pankracy quit (Ping timeout: 256 seconds) 2017-03-15T15:45:36Z DeadTrickster joined #lisp 2017-03-15T15:45:40Z pankracy joined #lisp 2017-03-15T15:46:37Z Cthulhux quit (Changing host) 2017-03-15T15:46:37Z Cthulhux joined #lisp 2017-03-15T15:47:09Z dwrngr: |3b|: Well, I can't thank you enough, again; I was up to about the point of knowing some kind of windows library function would probably help but my knowledge of using foreign functions in lisp was basically nil 2017-03-15T15:47:26Z dwrngr: It definitely would have taken hours to work all that out for me, at least 2017-03-15T15:47:37Z dwrngr: Now I have some stuff to read up on :P 2017-03-15T15:52:29Z malice`: well, now I don't get errors on require 2017-03-15T15:52:42Z malice`: but when doing sbcl --eval '(asdf:asdf-version)' I get 3.1.5 2017-03-15T15:52:52Z malice`: and when calling my script, I get 3.0.3 2017-03-15T15:52:53Z malice`: ??? 2017-03-15T15:54:07Z slyrus joined #lisp 2017-03-15T15:54:15Z kori quit (Changing host) 2017-03-15T15:54:15Z kori joined #lisp 2017-03-15T15:54:50Z o1e9 quit (Quit: Ex-Chat) 2017-03-15T15:55:26Z Xach: malice`: bad! 2017-03-15T15:58:09Z smokeink quit (Ping timeout: 260 seconds) 2017-03-15T15:59:00Z malice`: Yeah, but why? 2017-03-15T15:59:07Z malice`: I'm on ubuntu. I've got sbcl from repo. 2017-03-15T15:59:30Z |3b|: reading different initfiles? 2017-03-15T16:00:42Z |3b|: --script turns off user and system initfiles if you are using that 2017-03-15T16:02:27Z neoncont_ joined #lisp 2017-03-15T16:03:24Z sjl quit (Ping timeout: 260 seconds) 2017-03-15T16:04:34Z neoncontrails quit (Ping timeout: 260 seconds) 2017-03-15T16:05:38Z foojin joined #lisp 2017-03-15T16:06:33Z malice`: I'm afraid I have 2 sbcl installations after all 2017-03-15T16:08:23Z Xach: nooooooo 2017-03-15T16:08:46Z vydd quit 2017-03-15T16:10:10Z HDurer2 joined #lisp 2017-03-15T16:10:22Z malice`: :( 2017-03-15T16:11:48Z Xach: i thought it might be partial. i thought it might be incorrect. i never suspected it was installed *too much*. 2017-03-15T16:12:45Z flamebeard quit (Quit: Leaving) 2017-03-15T16:14:47Z sz0 joined #lisp 2017-03-15T16:15:24Z BitPuffin|osx quit (Ping timeout: 256 seconds) 2017-03-15T16:15:32Z malice`: When your love for lisp gets out of control 2017-03-15T16:15:57Z slyrus quit (Remote host closed the connection) 2017-03-15T16:18:05Z libreman quit (Ping timeout: 240 seconds) 2017-03-15T16:20:35Z pebblexe: is there an easy way in slime to only backtrace from your own code and not from swank/sbcl? 2017-03-15T16:21:17Z quadresce joined #lisp 2017-03-15T16:21:28Z cibs quit (Ping timeout: 260 seconds) 2017-03-15T16:23:00Z cibs joined #lisp 2017-03-15T16:24:39Z malice` quit (Quit: Page closed) 2017-03-15T16:24:57Z vlatkoB_ quit (Remote host closed the connection) 2017-03-15T16:25:01Z rumbler31 quit (Read error: Connection reset by peer) 2017-03-15T16:25:37Z rumbler31 joined #lisp 2017-03-15T16:25:40Z quadresce quit (Ping timeout: 260 seconds) 2017-03-15T16:26:11Z vlatkoB joined #lisp 2017-03-15T16:27:02Z sebboh` joined #lisp 2017-03-15T16:27:04Z Harag quit (Ping timeout: 260 seconds) 2017-03-15T16:27:28Z edgar-rft quit (Quit: edgar-rft) 2017-03-15T16:27:52Z clintm quit (Ping timeout: 256 seconds) 2017-03-15T16:27:52Z midre quit (Ping timeout: 256 seconds) 2017-03-15T16:28:11Z midre joined #lisp 2017-03-15T16:28:26Z otwieracz quit (Ping timeout: 256 seconds) 2017-03-15T16:28:26Z sebboh quit (Ping timeout: 256 seconds) 2017-03-15T16:28:34Z Xach: pebblexe: I don't think so. 2017-03-15T16:30:18Z otwieracz joined #lisp 2017-03-15T16:30:20Z ryanbw quit (Ping timeout: 260 seconds) 2017-03-15T16:30:35Z wizzo quit (Ping timeout: 240 seconds) 2017-03-15T16:30:42Z Harag joined #lisp 2017-03-15T16:30:49Z mateuszb quit (Read error: Connection reset by peer) 2017-03-15T16:31:01Z libreman joined #lisp 2017-03-15T16:31:02Z ryanbw joined #lisp 2017-03-15T16:31:18Z mateuszb joined #lisp 2017-03-15T16:31:44Z kjak_____ quit (Ping timeout: 260 seconds) 2017-03-15T16:32:04Z mishoo joined #lisp 2017-03-15T16:32:18Z kjak_ joined #lisp 2017-03-15T16:33:14Z wizzo joined #lisp 2017-03-15T16:36:48Z puchka quit (Ping timeout: 240 seconds) 2017-03-15T16:41:12Z sjl joined #lisp 2017-03-15T16:42:11Z phoe joined #lisp 2017-03-15T16:42:25Z jasom: Xach: is quicklisp freely redistributable? i.e. can I distribute a tar of what I get from (quicklisp-quickstart:install)? 2017-03-15T16:42:50Z XachX: jasom: yes 2017-03-15T16:43:13Z XachX: I was a fool not to charge 50 per install but what can ya do. 2017-03-15T16:43:36Z XachX: I would have probably two hundred bucks by now. 2017-03-15T16:44:04Z jasom: lol 2017-03-15T16:46:43Z glamas joined #lisp 2017-03-15T16:49:43Z glamas quit (Client Quit) 2017-03-15T16:49:44Z impulse joined #lisp 2017-03-15T16:53:31Z strykerkkd joined #lisp 2017-03-15T16:56:04Z gargaml quit (Read error: Connection reset by peer) 2017-03-15T16:56:27Z wtetzner quit (Remote host closed the connection) 2017-03-15T16:57:27Z strelox joined #lisp 2017-03-15T16:58:48Z EvW1 quit (Ping timeout: 260 seconds) 2017-03-15T16:59:19Z bpanthi joined #lisp 2017-03-15T17:00:46Z parjanya quit (Remote host closed the connection) 2017-03-15T17:02:46Z cibs quit (Ping timeout: 264 seconds) 2017-03-15T17:03:03Z travv0 joined #lisp 2017-03-15T17:04:16Z cibs joined #lisp 2017-03-15T17:05:05Z snowcrshd: hey guys, just a quick poll: are any of you able to use CL at work? I'm curious if there is any market for lisp (apart from Clojure) programmers 2017-03-15T17:05:16Z neoncont_ is now known as neoncontrails 2017-03-15T17:05:17Z Xach: snowcrshd: I use CL at work 2017-03-15T17:05:22Z beach: Me too. 2017-03-15T17:05:23Z Xach: snowcrshd: the market is small 2017-03-15T17:05:42Z beach: So does pjb, jackdaniel, Bike. 2017-03-15T17:05:59Z phoe: snowcrshd: me too 2017-03-15T17:06:23Z phoe: except I use it for personal scripts and tasks and not as a main programming language. 2017-03-15T17:07:23Z aeth: snowcrshd: The main contemporary Lisp company was probably ITA, which got purchased by Google a while ago. Afaik, Google still uses Common Lisp there. Of course, there's a huge difference between being the majority language at a place to being probably a < 1% language at Google. 2017-03-15T17:08:21Z aeth: There are some other companies that use Lisp, and the most trivially to think of are the commercial Common Lisp vendors themselves. 2017-03-15T17:08:59Z aeth: The most notable remaining non-Lisp vendor is probably the makers of the Roomba. https://en.wikipedia.org/wiki/Roomba 2017-03-15T17:09:54Z aeth: Other than those, I think the main uses of Lisp are Unix scripting and web servers. 2017-03-15T17:11:04Z snowcrshd: that's awesome! I've been lurking around lispjobs and functional jobs and mostly saw Clojure there, which made me curious if there were people still able to find jobs with CL 2017-03-15T17:11:44Z aeth: Some people have also made games in Lisp, and there's a community around those in #lispgames , but I think no one lives off of the revenue of Lisp in contemporary games. Lisp used to be used in AAA games, notably by Naughty Dog, but they stopped doing that a while ago. Probably more than 15 years ago. 2017-03-15T17:11:45Z jackdaniel: snowcrshd: yes, there are such jobs if you look for them. Clojure market is bigger, but it's not that CL market is vendor-only or non-existant 2017-03-15T17:11:49Z aeth: https://en.wikipedia.org/wiki/Naughty_Dog 2017-03-15T17:12:03Z snowcrshd: I'd never imagine those roomba bots ran lisp, nice 2017-03-15T17:12:22Z jackdaniel: snowcrshd: also if you run your own company, clients rarely care about the technology you use 2017-03-15T17:12:29Z Karl_Dscc joined #lisp 2017-03-15T17:12:46Z Bike: recruiters seem to think using lisp is a positive trait, even if they don't use it in their systems. 2017-03-15T17:12:59Z jackdaniel: so creating your own place of work is an option either (because lisp ecosystem is quite healthy) 2017-03-15T17:13:11Z snowcrshd: jackdaniel: fair point 2017-03-15T17:13:35Z bpanthi quit (Quit: bpanthi) 2017-03-15T17:14:23Z gargaml joined #lisp 2017-03-15T17:14:23Z shka_ joined #lisp 2017-03-15T17:15:15Z jackdaniel: s/either/too/ 2017-03-15T17:15:37Z aeth: If you were to make your own Lisp applications the easiest way to go about it would be web server scripting, Unix scripting, or a desktop and/or mobile (Android only?) application SDL (for rich graphics). 2017-03-15T17:15:44Z snowcrshd: I'm mostly working with backend (python) nowadays, and I've been playing around with woo and clack a lot in my spare time. Does anyone have experience deploying stuff like SaaS with CL? 2017-03-15T17:16:03Z snowcrshd: Bike: interesting, do you have any ideia why is that recruiters like it? 2017-03-15T17:16:04Z jackdaniel: snowcrshd: I have a little 2017-03-15T17:16:25Z aeth: (The weakest points of Lisp are traditional desktop graphical applications and code that's run web browsers. There are several non-Clojure Lisps that can compile to JS, but they're not as mature or popular as e.g. ClojureScript or TypeScript or CoffeeScript) 2017-03-15T17:16:37Z aeth: s/run web browsers/run in web browsers/ 2017-03-15T17:16:47Z snowcrshd: jackdaniel: if I'm not probing too much, what was your experience with CL in this case? 2017-03-15T17:16:49Z aeth: Nothing to do with Lisp itself, but rather the libraries 2017-03-15T17:17:10Z TDT quit (Ping timeout: 256 seconds) 2017-03-15T17:18:04Z Bike: snowcrshd: guessing completely, but i think it's supposed to indicate an interest in academic computer science, or autodidactism. 2017-03-15T17:18:06Z jackdaniel: snowcrshd: I have a QA contract for company using Lisp software – it involves deployment. I'm still gaining experience with it 2017-03-15T17:18:15Z snowcrshd: aeth: yeah, I don't know much about other lisps run in browsers. I've used clojurescript in a few personal projects and found it quite enjoyable. 2017-03-15T17:18:42Z dwrngr: snowcrshd: I use common lisp alongside python for various things, I have to agree about GUI's being less-than-optimal, in that I have never gotten around to porting any GUI from python/tk into CL 2017-03-15T17:19:18Z aeth: I know of two Common Lisps. Parenscript and JSCL. Parenscript is older and more mature. For other Lisps, especially Schemes, there are literally dozens. 2017-03-15T17:19:19Z jackdaniel: ltk is nice (though a bit rusty wrt documentation) 2017-03-15T17:19:21Z dwrngr: as far as database and server communication related stuff, though, it does everything just as well even if it may take an extra minute or two to find the best lib 2017-03-15T17:19:37Z dwrngr: mainly because of an overwhelming number of different approaches 2017-03-15T17:19:41Z dwrngr: Xach is our hero 2017-03-15T17:19:59Z Xach: i..wha? 2017-03-15T17:20:01Z dwrngr: I would be lost without quicklisp 2017-03-15T17:20:07Z Xach: oh, that old thing 2017-03-15T17:20:08Z dwrngr: haha 2017-03-15T17:20:14Z jackdaniel: :-) 2017-03-15T17:21:41Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-15T17:22:07Z aeth: Oh, JSCL has an online REPL, which is cool. It doesn't support enough of the language yet, though, imo. https://jscl-project.github.io/ 2017-03-15T17:22:19Z snowcrshd: hahaha, yeah, quicklisp felt godsent when I learned about it. It was not fun when I tried CL back in uni without quicklisp 2017-03-15T17:23:26Z jackdaniel: Xach: btw, I love feature for bundling software from local-projects 2017-03-15T17:24:48Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-15T17:26:11Z snowcrshd: dwrngr: I get that feeling of regarding the different approaches, although I like the diversity 2017-03-15T17:26:42Z dwrngr: Yeah in a way it is nice to see so many solutions so you get a feel for what is really important 2017-03-15T17:26:52Z snowcrshd: dwrngr: never tried writing GUIs in CL, but I have an eye on qtools. I'll use it eventually 2017-03-15T17:27:57Z jackdaniel: snowcrshd: check out McCLIM too :) 2017-03-15T17:28:17Z snowcrshd: aeth: I skimmed through the jscl README but I'm not sure I get its use. Am I able to do something like: Write CL -> JSCL -> bundle.js ? Or is it only the repl that is available (currently)? 2017-03-15T17:28:26Z ZabaQ joined #lisp 2017-03-15T17:29:01Z jackdaniel: snowcrshd: I think it's just a REPL 2017-03-15T17:29:05Z aeth: snowcrshd: I think the repo is just a demo of it 2017-03-15T17:29:28Z jdtest2 joined #lisp 2017-03-15T17:29:48Z aeth: I suspect if you tried compiling some random CL file you had, it wouldn't work, though. It supports a tiny subset of CL. You'd have to write for it specifically. 2017-03-15T17:30:37Z Harag quit (Ping timeout: 268 seconds) 2017-03-15T17:30:37Z jdtest quit (Ping timeout: 268 seconds) 2017-03-15T17:31:39Z aeth: e.g. it doesn't support setf subseq or replace. 2017-03-15T17:31:52Z wildlander joined #lisp 2017-03-15T17:31:59Z snowcrshd: jackdaniel: McCLIM does look cool! And the docs seem pretty comprehensive 2017-03-15T17:32:17Z BitPuffin|osx joined #lisp 2017-03-15T17:33:00Z snowcrshd: aeth: ah, I see. Even if it is just a subset of CL, it would be nice to write CL and get javascript as an output 2017-03-15T17:33:21Z gargaml quit (Quit: WeeChat 1.7) 2017-03-15T17:33:22Z jdtest2 quit (Read error: Connection reset by peer) 2017-03-15T17:34:05Z aeth: There's also this: https://github.com/TatriX/Parenscript/ 2017-03-15T17:34:08Z jasom: snowcrshd: depending on what you want, parenscript can be good too. It tries less to be CL, but translates sexpressions into javascript and macros can use the full CL 2017-03-15T17:34:39Z jasom: aeth: should be https://github.com/vsedach/Parenscript I think 2017-03-15T17:35:04Z aeth: oh okay, I guess for some reason my browser history has the wrong one 2017-03-15T17:35:09Z jdtest joined #lisp 2017-03-15T17:35:27Z prole joined #lisp 2017-03-15T17:35:41Z aeth: thanks 2017-03-15T17:36:00Z jasom: aeth: if you use it, do you have any thoughts on my multiple-value PR? 2017-03-15T17:36:20Z aeth: I don't do web, sorry. 2017-03-15T17:36:26Z jasom: ah 2017-03-15T17:36:43Z aeth: I haven't done anything web related in 5 years. Has anything changed? 2017-03-15T17:36:53Z aeth: /s 2017-03-15T17:36:57Z aeth: because obviously everything is different now 2017-03-15T17:38:04Z dwrngr: aeth: I come to this channel specifically so I don't feel like an outcast for having a 1998 web-design mentality 2017-03-15T17:38:28Z jasom: my PR fixes multiple-values for nearly all cases (existing multiple-values are essentially unusable). The downside is that each return statement gets an extra statement inserted before it (to clear the MV register) 2017-03-15T17:39:03Z jasom: and by "nearly all" I mean "all cases where you don't have PS calling JS calling PS" 2017-03-15T17:39:24Z snowcrshd: jasom: hmm, I'll give parenscript a try, it looks like what I was searching for 2017-03-15T17:39:26Z snowcrshd: thanks! 2017-03-15T17:40:06Z jasom: snowcrshd: I like CLJS as well, but it is trying much more to be a CL that compiles to JS. Parenscript started out with that idea, but now is much closer to just a lispy frontend for JS. 2017-03-15T17:40:12Z aeth: dwrngr: idk, the 1990s web design did something horribly wrong... they generally didn't set max-widths, not knowing that we'd have high resolution widescreen monitors in the future. 2017-03-15T17:40:20Z hhdave quit (Ping timeout: 260 seconds) 2017-03-15T17:40:43Z jasom: 800x600 4evr! 2017-03-15T17:41:12Z dwrngr: Well, I guess I read a book on CSS once and did manage to pick up that one small bit 2017-03-15T17:42:03Z dwrngr: now my webpages render as a tiny little strip in the middle of the 4k display 2017-03-15T17:42:20Z aeth: as they should 2017-03-15T17:42:23Z dwrngr: :) 2017-03-15T17:43:07Z didi joined #lisp 2017-03-15T17:43:37Z m00natic quit (Remote host closed the connection) 2017-03-15T17:43:41Z didi: Where can I read about the difference between `defsetf' and `(defun (setf ...) ...)'? 2017-03-15T17:43:49Z jasom: clhs defsetf 2017-03-15T17:43:49Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_defset.htm 2017-03-15T17:44:52Z didi: I doesn't mention (defun (setf ...) ...). 2017-03-15T17:44:57Z didi: s/I/It 2017-03-15T17:45:16Z jasom: didi: looking for that now, give me a sec. 2017-03-15T17:45:25Z didi: jasom: Oh, OK. Thank you. 2017-03-15T17:45:32Z jasom: chls define-setf-expander ; don't forget about this one too 2017-03-15T17:45:36Z jasom: chls define-setf-expander 2017-03-15T17:45:41Z jasom: clh define-setf-expander 2017-03-15T17:45:43Z jasom: clhs define-setf-expander 2017-03-15T17:45:43Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_defi_3.htm 2017-03-15T17:45:46Z jasom cannot type today 2017-03-15T17:46:30Z didi: jasom: Thanks. 2017-03-15T17:46:32Z jasom: clhs 5.1.2.9 2017-03-15T17:46:32Z specbot: Other Compound Forms as Places: http://www.lispworks.com/reference/HyperSpec/Body/05_abi.htm 2017-03-15T17:46:56Z jasom: clhs 5.1.2 has the whole list of how places work 2017-03-15T17:47:00Z jasom: clhs 5.1.2 2017-03-15T17:47:00Z specbot: Kinds of Places: http://www.lispworks.com/reference/HyperSpec/Body/05_ab.htm 2017-03-15T17:47:54Z didi: jasom: Thank you. 2017-03-15T17:49:35Z Harag joined #lisp 2017-03-15T17:52:27Z varjag quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2017-03-15T17:59:42Z oleo joined #lisp 2017-03-15T18:00:53Z jasom: I think the only real differences between the short form of defsetf and defun (setf ...) are that defsetf can use a macro for the updat-fn, and with defsetf you need to give youre update-fn a symbol name. 2017-03-15T18:01:33Z Reinisch quit (Quit: Have a great day!) 2017-03-15T18:01:53Z Reinisch joined #lisp 2017-03-15T18:02:35Z jasom: s/youre/your/ 2017-03-15T18:02:50Z lemon joined #lisp 2017-03-15T18:09:47Z BlueRavenGT joined #lisp 2017-03-15T18:13:37Z nowhere_man joined #lisp 2017-03-15T18:14:52Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-15T18:15:20Z nowhereman quit (Ping timeout: 260 seconds) 2017-03-15T18:17:21Z parjanya joined #lisp 2017-03-15T18:17:33Z f364c10fdf79576 joined #lisp 2017-03-15T18:19:29Z mathrick_ joined #lisp 2017-03-15T18:19:37Z mathrick quit (Read error: Connection reset by peer) 2017-03-15T18:25:30Z lambda-smith quit (Ping timeout: 268 seconds) 2017-03-15T18:25:44Z pebblexe: does this allow tail call elimination?: (f (cdr lst) (append acc (list (f (car lst) '())))) 2017-03-15T18:25:52Z pebblexe: two calls to a function on single line? 2017-03-15T18:26:34Z shka_: nope 2017-03-15T18:26:46Z bocaneri quit (Read error: Connection reset by peer) 2017-03-15T18:26:50Z pjb: You have one function call to f that is not a terminal call. 2017-03-15T18:27:21Z klltkr joined #lisp 2017-03-15T18:27:32Z shka_: pebblexe: don't like loops, huh? 2017-03-15T18:28:16Z shka_: pebblexe: please not that although many cl implementations perform TCO it is not required by the standard 2017-03-15T18:28:32Z shka_: because of this, some implementations don't do that 2017-03-15T18:28:53Z shka_: you are usually better of writing loop 2017-03-15T18:29:04Z didi: No TCO? :-( 2017-03-15T18:29:23Z pebblexe: yeah abcl can't do tail-call elimination 2017-03-15T18:29:38Z pebblexe: I don't get why, it should be able to convert it to a for loop instead 2017-03-15T18:29:48Z shka_: do is somewhat like recursive call syntax wise 2017-03-15T18:29:53Z shka_: so you may like it 2017-03-15T18:30:01Z shka_: pebblexe: something with JVM 2017-03-15T18:30:06Z pebblexe: eh, I'm trying to learn how to write tco code 2017-03-15T18:30:11Z pebblexe: shka_: yup 2017-03-15T18:30:21Z pebblexe: it's why clojure has the explicit recur 2017-03-15T18:30:21Z shka_: clojure also suffers from same problem 2017-03-15T18:30:26Z shka_: right 2017-03-15T18:30:41Z shka_: i don't exactly know why but there are some technical reasons 2017-03-15T18:30:43Z didi: I wonder if I should start using the SERIES packages. 2017-03-15T18:30:44Z cibs quit (Ping timeout: 260 seconds) 2017-03-15T18:31:43Z shka_: pebblexe: well, you may have to use accumulator variable in order to write it in TCO style 2017-03-15T18:32:21Z cibs joined #lisp 2017-03-15T18:32:31Z shka_: i THINK that on lisp has explanation of that 2017-03-15T18:32:49Z shka_: just let me check 2017-03-15T18:34:17Z enzuru joined #lisp 2017-03-15T18:34:38Z pebblexe: I am using an accumulator, I just have an issue with the function being called twice in one statement 2017-03-15T18:35:12Z shka_: i was wrong about on lisp 2017-03-15T18:35:38Z shka_: pebblexe: it is actually quite easy to understand 2017-03-15T18:35:47Z shka_: pebblexe: cl is eager language, right? 2017-03-15T18:35:48Z jasom: pebblexe: forget the whole "in one statement" thing; list out the things your function will do in order; any call that isn't the last thing it does cannot be tail-call eliminated 2017-03-15T18:37:32Z pebblexe: shka_, jasom: thanks 2017-03-15T18:37:49Z vydd joined #lisp 2017-03-15T18:37:49Z vydd quit (Changing host) 2017-03-15T18:37:49Z vydd joined #lisp 2017-03-15T18:43:35Z impulse quit (Ping timeout: 240 seconds) 2017-03-15T18:45:55Z compro quit (Remote host closed the connection) 2017-03-15T18:46:34Z Lord_of_Life quit (Excess Flood) 2017-03-15T18:47:28Z Lord_of_Life joined #lisp 2017-03-15T18:47:50Z Lord_of_Life quit (Changing host) 2017-03-15T18:47:50Z Lord_of_Life joined #lisp 2017-03-15T18:47:50Z Lord_of_Life quit (Changing host) 2017-03-15T18:47:50Z Lord_of_Life joined #lisp 2017-03-15T18:53:47Z f364c10fdf79576 quit (Remote host closed the connection) 2017-03-15T18:55:06Z sellout- quit (Quit: Leaving.) 2017-03-15T19:06:16Z defaultxr joined #lisp 2017-03-15T19:11:25Z impulse joined #lisp 2017-03-15T19:13:36Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-15T19:14:50Z troydm joined #lisp 2017-03-15T19:19:32Z milanj quit (Quit: Leaving) 2017-03-15T19:19:34Z Harag quit (Ping timeout: 256 seconds) 2017-03-15T19:20:18Z payphone joined #lisp 2017-03-15T19:20:19Z Harag joined #lisp 2017-03-15T19:26:25Z edgar-rft joined #lisp 2017-03-15T19:27:26Z varjag joined #lisp 2017-03-15T19:29:27Z sjl quit (Ping timeout: 240 seconds) 2017-03-15T19:29:34Z mathrick_ is now known as mathrick 2017-03-15T19:36:18Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-15T19:40:57Z lambda-smith joined #lisp 2017-03-15T19:41:35Z parjanya quit (Ping timeout: 240 seconds) 2017-03-15T19:42:23Z sukaeto: snowcrshd: I use CL at work. However, I was the one who introduced it and even then it only became a permanent fixture quite by accident, so I'm probably not a good data point. 2017-03-15T19:45:28Z didi: Sooo... I want to extend PUSH to I can push things to my user-defined object. Can I do it? 2017-03-15T19:45:32Z didi: s/to/so 2017-03-15T19:45:49Z gmareske joined #lisp 2017-03-15T19:45:52Z Bike: nope. 2017-03-15T19:45:58Z didi: Oh well. 2017-03-15T19:46:03Z Bike: you could define your own macro called push. 2017-03-15T19:47:51Z shka_: push is just for lists 2017-03-15T19:48:14Z shka_: you could just use generic function 2017-03-15T19:48:22Z shka_: as any interface 2017-03-15T19:48:38Z shka_: so you have stack, you have queue, gf can be implemented for both 2017-03-15T19:48:45Z didi: Hum. The manual description says "push item place" and "place---a place, the value of which may be any object. ". 2017-03-15T19:49:06Z phoe: clhs push 2017-03-15T19:49:07Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/m_push.htm 2017-03-15T19:49:40Z phoe: didi: read the Notes. 2017-03-15T19:49:58Z didi: phoe: What do you mean? 2017-03-15T19:50:00Z Bike: or just "prepends item to the list that is stored in place" 2017-03-15T19:50:09Z phoe: it can be any object, sure thing 2017-03-15T19:50:12Z phoe: (defvar *foo* 2) 2017-03-15T19:50:18Z phoe: (push 4 *foo*) 2017-03-15T19:50:24Z phoe: *foo* ;=> (4 . 2) 2017-03-15T19:50:28Z Bike: what 2017-03-15T19:50:29Z didi: Cool. 2017-03-15T19:50:31Z phoe: shka_: so push isn't just for list 2017-03-15T19:50:33Z phoe: lists 2017-03-15T19:50:52Z Bike: well, that's new 2017-03-15T19:50:59Z shka_: push prepends item to the list that is stored in place, stores the resulting list in place, and returns the list. 2017-03-15T19:51:20Z shka_: i don't understand life anymore 2017-03-15T19:51:30Z didi: Did you ever? 2017-03-15T19:52:05Z nirved quit (Quit: Leaving) 2017-03-15T19:52:26Z shka_: are you talking to me? 2017-03-15T19:52:46Z phoe: shka_: haha, yes, it's weird 2017-03-15T19:52:52Z phoe: this page is contradicting itself 2017-03-15T19:52:58Z shka_: YES! 2017-03-15T19:53:16Z shka_: in fact 2017-03-15T19:53:21Z phoe: well, https://github.com/phoe/clus-data/issues/15 2017-03-15T19:53:26Z phoe: that's how I treat things like that 2017-03-15T19:53:28Z shka_: notes are explaining everything 2017-03-15T19:53:34Z phoe: yes, they are. 2017-03-15T19:53:46Z phoe: except the Description is incorrect. 2017-03-15T19:53:54Z phoe: `place` does not need to evaluate to a list. 2017-03-15T19:54:07Z shka_: yeah 2017-03-15T19:54:15Z phoe: (typep place 'list) may be NIL. 2017-03-15T19:54:18Z shka_: it makes me cringe 2017-03-15T19:54:22Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-15T19:54:35Z phoe: haha, yet another fix to the spec 2017-03-15T19:54:54Z phoe: the weird thing? 2017-03-15T19:54:59Z phoe: notes are not a part of the spec 2017-03-15T19:55:12Z phoe: even though here they clarify a lot 2017-03-15T19:55:44Z Bike: because they explain rather than specify 2017-03-15T19:56:19Z karswell quit (Read error: Connection reset by peer) 2017-03-15T19:56:20Z shka_: yeah 2017-03-15T19:56:38Z shka_: sometimes, explanation is contradicting specification 2017-03-15T19:56:42Z shka_: that's the problem 2017-03-15T19:56:57Z phoe: shka_: in here, the spec is contradicting itself 2017-03-15T19:57:15Z phoe: Arguments and Values: "...any object." Description: "...list..." 2017-03-15T19:57:21Z shka_: without notes on push, this page would have no value 2017-03-15T19:57:28Z shka_: yeah 2017-03-15T19:57:47Z phoe: shka_: "would have no value" 2017-03-15T19:57:54Z phoe: this was a terrible pun and you should be ashamed of yourself 2017-03-15T19:58:07Z karswell joined #lisp 2017-03-15T19:58:08Z shka_: trust me, i am 2017-03-15T19:58:08Z Harag quit (Ping timeout: 240 seconds) 2017-03-15T19:58:18Z phoe: (defun (clhs push) (values)) 2017-03-15T20:00:52Z Harag joined #lisp 2017-03-15T20:02:20Z EvW joined #lisp 2017-03-15T20:04:32Z didi: Can I enlarge an array by an arbitrary number? 2017-03-15T20:04:53Z didi: Specifically, a vector. 2017-03-15T20:05:36Z Bike: if it's adjustable 2017-03-15T20:05:51Z didi: Bike: oic. `adjust-array'. 2017-03-15T20:05:59Z Bike: right 2017-03-15T20:06:02Z Bike: there's also fill pointers 2017-03-15T20:07:22Z wildlander quit (Quit: Saliendo) 2017-03-15T20:07:24Z didi: Bike: Thanks. 2017-03-15T20:07:35Z sellout- joined #lisp 2017-03-15T20:12:29Z defaultxr quit (Ping timeout: 260 seconds) 2017-03-15T20:13:39Z Baggers joined #lisp 2017-03-15T20:15:28Z mateuszb quit (Ping timeout: 240 seconds) 2017-03-15T20:19:11Z mateuszb joined #lisp 2017-03-15T20:20:30Z snits quit (Read error: Connection reset by peer) 2017-03-15T20:23:09Z warweasle quit (Quit: later) 2017-03-15T20:35:55Z pjb: didi: the problem with extending push is that it's a macro, and macro expansions are not specified: thus each implementation can expand it differently. Another problem, is that while you can shadow CL:PUSH and define your own YOUR-PACKAGE::PUSH macro, you only get a &env opaque environment argument, that you cannot introspect conformingly to obtain type inference information. Therefore if you see (push x y), how can you know t 2017-03-15T20:35:55Z pjb: is bound to an object of your own kind? 2017-03-15T20:36:16Z cibs quit (Ping timeout: 260 seconds) 2017-03-15T20:37:06Z pjb: didi: notice that in CL, type inference is done based on the type of arguments functions and special operators accept. (And most function are generic, they accept any type of arguments, possibly signaling a condition on some types). 2017-03-15T20:37:51Z EvW quit (Ping timeout: 258 seconds) 2017-03-15T20:38:05Z cibs joined #lisp 2017-03-15T20:40:09Z mikecheck joined #lisp 2017-03-15T20:40:57Z Harag quit (Read error: Connection reset by peer) 2017-03-15T20:40:58Z strykerkkd quit (Quit: Leaving) 2017-03-15T20:41:03Z Harag1 joined #lisp 2017-03-15T20:43:12Z Harag1 is now known as Harag 2017-03-15T20:44:13Z mikecheck: If I'm using let*, and midway I want to bind names to multiple values returned by a function call, in a way that can be used by the subsequent bindings in the let*, is there a better way to do that than binding a name to the result of multiple-value-list and then binding names to the first and second of that? example: http://dpaste.com/1G2V6Y5 2017-03-15T20:46:10Z mikecheck: in example change (foo) to (foo some of the bindings) (so the function call that returns multiple values requires some of the bindings, so it can't just be moved to outside and before the let* 2017-03-15T20:46:11Z pjb: didi: http://paste.lisp.org/display/341489 2017-03-15T20:46:33Z didi: pjb: Thanks. 2017-03-15T20:46:44Z pjb: mikecheck: if you want to use only let*, you can do the destructuring yourself using multiple-value-list 2017-03-15T20:47:20Z mikecheck: pjb: like the example, with an intermediate binding and then first and second calls? 2017-03-15T20:47:41Z pjb: didi: this example shows that you can use conditions to mean something else (here we do just some incrementing). So a type inference couldn't reject the body of this loop just because all clauses signal errors! 2017-03-15T20:47:50Z pjb: mikecheck: yes. 2017-03-15T20:48:08Z pjb: mikecheck: you could use pop to avoid O(n^2) processing of the list. 2017-03-15T20:48:39Z pjb: (but then, multiple values are limited so it should not make much difference, and assumedly, a compiler could transform one into the other. 2017-03-15T20:51:40Z ryanwatkins quit (Ping timeout: 260 seconds) 2017-03-15T20:53:01Z EvW joined #lisp 2017-03-15T20:54:44Z parjanya joined #lisp 2017-03-15T20:54:57Z Harag quit (Ping timeout: 240 seconds) 2017-03-15T20:57:48Z cibs quit (Ping timeout: 240 seconds) 2017-03-15T20:59:40Z Jesin quit (Quit: Leaving) 2017-03-15T20:59:54Z Harag joined #lisp 2017-03-15T21:00:06Z cibs joined #lisp 2017-03-15T21:01:11Z snowcrshd quit (Remote host closed the connection) 2017-03-15T21:06:40Z Harag quit (Ping timeout: 256 seconds) 2017-03-15T21:08:04Z gmareske quit (Quit: gmareske) 2017-03-15T21:08:33Z drmeister: Should processes inherit the special variable bindings of the process that spawns them? 2017-03-15T21:08:51Z Harag joined #lisp 2017-03-15T21:11:32Z emaczen joined #lisp 2017-03-15T21:11:59Z drmeister: Yes, according to bordeaux threads. 2017-03-15T21:12:29Z shka_: drmeister: do you implement threads for clasp? 2017-03-15T21:12:37Z bocaneri joined #lisp 2017-03-15T21:12:37Z shka_: are you implementing? 2017-03-15T21:12:38Z bocaneri quit (Max SendQ exceeded) 2017-03-15T21:12:44Z shka_: i should sleep 2017-03-15T21:13:16Z bocaneri joined #lisp 2017-03-15T21:13:17Z bocaneri quit (Max SendQ exceeded) 2017-03-15T21:14:08Z Jesin joined #lisp 2017-03-15T21:14:36Z drmeister: Yes 2017-03-15T21:15:51Z warweasle joined #lisp 2017-03-15T21:19:56Z gingerale quit (Remote host closed the connection) 2017-03-15T21:20:11Z klltkr joined #lisp 2017-03-15T21:21:22Z vlatkoB quit (Remote host closed the connection) 2017-03-15T21:21:39Z shka_: drmeister: that's awesome! thumbs up! 2017-03-15T21:21:43Z bocaneri joined #lisp 2017-03-15T21:21:54Z shka_: and good night all 2017-03-15T21:22:29Z drmeister: How many thumbs? More than two and I may have a deadlock. 2017-03-15T21:22:49Z shka_: two 2017-03-15T21:23:05Z mikecheck left #lisp 2017-03-15T21:23:18Z shka_: i would give you more, but that's all i have 2017-03-15T21:23:29Z shka_: perhaps someone else can help you :-) 2017-03-15T21:26:04Z drmeister: The answer to my question above about local special variable bindings of processes is actually NO 2017-03-15T21:27:40Z ebrasca quit (Remote host closed the connection) 2017-03-15T21:29:10Z ym quit (Ping timeout: 264 seconds) 2017-03-15T21:29:34Z ym joined #lisp 2017-03-15T21:31:01Z angavrilov quit (Remote host closed the connection) 2017-03-15T21:35:34Z EvW quit (Ping timeout: 256 seconds) 2017-03-15T21:37:52Z shka_ quit (Ping timeout: 260 seconds) 2017-03-15T21:37:56Z jasom: drmeister: sbcl at least lets you set which special variables are inherited IIRC 2017-03-15T21:38:35Z sellout- quit (Quit: Leaving.) 2017-03-15T21:45:05Z impulse quit (Ping timeout: 240 seconds) 2017-03-15T21:45:46Z pjb: jasom: it looks like drmeister meant to ask about local dynamic bindings vs. global dynamic bindings. 2017-03-15T21:50:03Z vydd quit 2017-03-15T21:50:05Z Lord_of_Life quit (Excess Flood) 2017-03-15T21:53:24Z defaultxr joined #lisp 2017-03-15T21:53:58Z Lord_of_Life joined #lisp 2017-03-15T21:54:10Z jasom: pjb: Can you remind me the distinction between the two in sbcl? I thought all dynamic bindings were local by default. 2017-03-15T21:54:19Z klltkr quit (Max SendQ exceeded) 2017-03-15T21:55:25Z klltkr joined #lisp 2017-03-15T21:56:07Z pjb: jasom: no, there are global dynamic bindings: (defvar *foo* 42) (defvar *res*) (let ((*foo* 33)) (bt:make-thread (lambda () (setf *res* *foo*))) *res*) --> 42 or 33? 2017-03-15T21:56:38Z jasom: does setf count as "binding"? 2017-03-15T21:56:39Z pjb: it seems more logical to use the global binding. 2017-03-15T21:56:47Z pjb: setf changes the binding. 2017-03-15T21:57:19Z jasom: okay, by that definition of binding I know the distinction. 2017-03-15T21:57:52Z jasom: In my brain I think "let" to be binding and "setf" to be assignment 2017-03-15T21:58:03Z pjb: (defvar *foo* 42) (defvar *res*) (let ((*foo* 33)) (let ((bt:*default-special-bindings* '((*foo* . 22)))) (bt:make-thread (lambda () (setf *res* *foo*))) *res*)) --> 22 2017-03-15T21:58:24Z pjb: Yes, but defvar and defparameter establish global bindings too. 2017-03-15T21:58:40Z pjb: while let establish local bindings. 2017-03-15T21:59:14Z jasom: I suppose I think this way because the spec uses the terms "assignment" and "set value" in setf/defvar but "binding" in let 2017-03-15T21:59:39Z pjb: It's more natural for threads to use only the global bindings of special variables, because being asynchronous, we don't know when they will use the binding and when the local binding will disappear. 2017-03-15T21:59:41Z snits joined #lisp 2017-03-15T22:00:17Z pjb: jasom: what is set is the binding between the variable and the value. 2017-03-15T22:02:04Z jasom: pjb: I agree, going by the glossary definition of binding; just explaining why I had the terms in my head that way; the word "binding" appears in let, but not defvar nor setf. 2017-03-15T22:04:34Z lambda-smith quit (Ping timeout: 246 seconds) 2017-03-15T22:06:15Z gargaml joined #lisp 2017-03-15T22:08:12Z pjb quit (Quit: b) 2017-03-15T22:10:37Z pjb joined #lisp 2017-03-15T22:12:54Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-15T22:13:35Z fourier joined #lisp 2017-03-15T22:13:46Z shifty joined #lisp 2017-03-15T22:16:36Z LiamH quit (Ping timeout: 260 seconds) 2017-03-15T22:17:15Z raynold joined #lisp 2017-03-15T22:17:48Z prole quit (Remote host closed the connection) 2017-03-15T22:20:22Z gargaml: beach: the document you linked about equality is very interesting 2017-03-15T22:20:40Z gargaml: I didn't know that equal and equalp where there for compatibility issues only 2017-03-15T22:21:01Z gargaml: *were 2017-03-15T22:22:18Z jasom: the equality operator I really want doesn't exist in the standard; like equalp, but non-case-sensitive 2017-03-15T22:22:36Z jasom: and ideally a GF so it can recurse into objects of custom classes :) 2017-03-15T22:22:44Z gmareske joined #lisp 2017-03-15T22:23:57Z gargaml: I guess your ideal will vary through time :-) 2017-03-15T22:28:01Z attila_lendvai joined #lisp 2017-03-15T22:31:00Z warweasle quit (Quit: gotta go) 2017-03-15T22:31:49Z parjanya quit (Remote host closed the connection) 2017-03-15T22:37:43Z klltkr joined #lisp 2017-03-15T22:42:58Z gmareske quit (Quit: gmareske) 2017-03-15T22:44:21Z libreman quit (Ping timeout: 240 seconds) 2017-03-15T22:44:48Z libreman joined #lisp 2017-03-15T22:47:16Z cromachina joined #lisp 2017-03-15T22:51:17Z rumbler31 quit (Ping timeout: 268 seconds) 2017-03-15T22:51:52Z strelox quit (Remote host closed the connection) 2017-03-15T22:52:07Z didi: So, do you usually use (make-instance 'my-class) or encapsulate it inside a (make-my-class)? 2017-03-15T22:54:22Z gargaml quit (Quit: WeeChat 1.7) 2017-03-15T22:54:28Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-15T22:55:56Z kohina joined #lisp 2017-03-15T22:56:13Z pve quit (Ping timeout: 268 seconds) 2017-03-15T22:56:17Z bungoman_ joined #lisp 2017-03-15T22:57:46Z bungoman quit (Ping timeout: 246 seconds) 2017-03-15T23:03:08Z kohina quit (Quit: leaving) 2017-03-15T23:05:38Z xuxuru joined #lisp 2017-03-15T23:05:46Z varjag: didi: if there are no other actions, straight make-instance 2017-03-15T23:06:03Z varjag: if there is, e.g. registering it somewhere, then a wrapper 2017-03-15T23:08:01Z didi: varjag: Thanks. 2017-03-15T23:13:04Z NeverDie quit (Quit: http://radiux.io/) 2017-03-15T23:13:36Z varjag quit (Ping timeout: 256 seconds) 2017-03-15T23:16:30Z MoALTz quit (Quit: Leaving) 2017-03-15T23:20:28Z jleija joined #lisp 2017-03-15T23:26:37Z jleija quit (Quit: leaving) 2017-03-15T23:26:51Z jleija joined #lisp 2017-03-15T23:27:58Z quazimodo joined #lisp 2017-03-15T23:28:52Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-15T23:30:08Z BlueRavenGT quit (Ping timeout: 268 seconds) 2017-03-15T23:31:02Z slarti joined #lisp 2017-03-15T23:38:19Z slarti is now known as dreamcompiler 2017-03-15T23:40:27Z wtetzner joined #lisp 2017-03-15T23:42:52Z sellout- joined #lisp 2017-03-15T23:43:45Z Baggers quit (Remote host closed the connection) 2017-03-15T23:43:58Z emaczen: can someone enlighten me on how to build the documentation for SBCL on Mac? 2017-03-15T23:45:14Z jasom: didi: if you have actions that you want classes which inherit it to also take, then putting them in initialize-instance makes sense over a make-my-class. 2017-03-15T23:45:51Z fourier quit (Ping timeout: 240 seconds) 2017-03-15T23:47:08Z wtetzner quit (Ping timeout: 260 seconds) 2017-03-15T23:54:18Z dpg joined #lisp 2017-03-15T23:54:19Z TCZ joined #lisp 2017-03-15T23:57:30Z didi: jasom: Thanks. 2017-03-16T00:01:05Z dpg quit (Quit: Leaving) 2017-03-16T00:01:15Z tmtwd joined #lisp 2017-03-16T00:02:53Z cibs quit (Ping timeout: 260 seconds) 2017-03-16T00:03:08Z wheelsucker joined #lisp 2017-03-16T00:04:01Z ChrisOei joined #lisp 2017-03-16T00:04:34Z TCZ quit (Quit: Leaving) 2017-03-16T00:04:48Z cibs joined #lisp 2017-03-16T00:06:08Z TruePika: meh, I'm not sure cl-dbi likes sqlite3 a lot 2017-03-16T00:07:15Z TruePika: the DB is being held in a read lock, and I can break foreign key constraints without them getting caught until the next attempt 2017-03-16T00:07:41Z foojin quit (Quit: leaving) 2017-03-16T00:08:30Z TruePika: yeah, if I violate a FOREIGN KEY constraint, I get the error from the next INSERT...but only through cl-dbi 2017-03-16T00:10:23Z jason_m joined #lisp 2017-03-16T00:10:44Z Kaisyu joined #lisp 2017-03-16T00:13:25Z jason_m: Anybody try to run a recent ccl build on a raspberry pi? With version 1.11 I get a seg fault when I try to execute the kernel (armcl) 2017-03-16T00:13:52Z jason_m: I have a first generation B model pi 2017-03-16T00:14:21Z jason_m: sbcl runs, but doesn't have native thread support 2017-03-16T00:16:50Z TruePika: wow, and now I'm issuing `INSERT OR ABORT` queries with a duplicate primary key, and cl-dbi isn't finding any errors 2017-03-16T00:17:01Z jason_m: at some time in the past, ccl worked, http://raspberrypi.stackexchange.com/a/9238 2017-03-16T00:17:46Z karswell quit (Ping timeout: 264 seconds) 2017-03-16T00:17:52Z pillton: jason_m: Have you checked the tickets at trac.clozure.com? 2017-03-16T00:18:06Z Harag quit (Remote host closed the connection) 2017-03-16T00:18:13Z jason_m: pillton: I have not, i'll take a look 2017-03-16T00:18:17Z Harag joined #lisp 2017-03-16T00:20:28Z cromachina quit (Read error: Connection reset by peer) 2017-03-16T00:20:57Z desku joined #lisp 2017-03-16T00:22:49Z didi quit (Ping timeout: 246 seconds) 2017-03-16T00:23:12Z TruePika: wow, it appears as if dbd-sqlite3 has very little error checking 2017-03-16T00:23:13Z jason_m: oh bummer, looks like they dropped armv6 support? http://trac.clozure.com/ccl/ticket/1367 http://trac.clozure.com/ccl/changeset/16718 2017-03-16T00:24:47Z jason_m: well, armv6 is still a supported platform in the 1.11 release notes 2017-03-16T00:25:34Z jason_m: that change must only be to the trunk, 1.11 looks to pre-date that change 2017-03-16T00:26:15Z TruePika: okay, now I get to focus attention at SQLITE (Quicklisp package) 2017-03-16T00:31:56Z TruePika: and now to check sqlite (library) documentation 2017-03-16T00:35:36Z Karl_Dscc quit (Remote host closed the connection) 2017-03-16T00:37:22Z TruePika: ... 2017-03-16T00:37:25Z TruePika: okay what 2017-03-16T00:37:47Z whiteline quit (Remote host closed the connection) 2017-03-16T00:38:25Z TruePika: When a query is executed: (handler-case (step-statement prepared) (sqlite-error (e) @ignore e nil)) 2017-03-16T00:38:48Z TruePika: I presume `@ignore e` becomes (declare (ignore e)), though it doesn't matter 2017-03-16T00:39:10Z whiteline joined #lisp 2017-03-16T00:39:17Z TruePika: SQLITE:STEP-STATEMENT is supposed to throw an ERROR if the query execution results in an error 2017-03-16T00:39:24Z cromachina joined #lisp 2017-03-16T00:39:37Z TruePika: and DBD-SQLITE3 is specifically ignoring those errors...what? 2017-03-16T00:41:59Z TruePika: lol issue in the Github tracker 27 days ago 2017-03-16T00:43:20Z wheelsucker quit (Remote host closed the connection) 2017-03-16T00:45:55Z wtetzner joined #lisp 2017-03-16T00:49:24Z jason_m: Found a fix! http://trac.clozure.com/ccl/ticket/1351 2017-03-16T00:49:38Z jason_m: ccl runs on my pi :) 2017-03-16T00:50:09Z jason_m: just in time! I gotta run 2017-03-16T00:56:41Z yrdz` quit (Remote host closed the connection) 2017-03-16T01:02:58Z salva quit (Ping timeout: 260 seconds) 2017-03-16T01:03:26Z salva joined #lisp 2017-03-16T01:11:56Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-16T01:21:53Z krwq joined #lisp 2017-03-16T01:22:46Z atheris joined #lisp 2017-03-16T01:24:54Z TruePika: hm, this also seems to have (somehow) resulted in the lock being released 2017-03-16T01:25:19Z TruePika: oh, workaround from github 2017-03-16T01:30:03Z FreeBirdLjj joined #lisp 2017-03-16T01:34:21Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-16T01:34:34Z jleija quit (Ping timeout: 246 seconds) 2017-03-16T01:36:44Z jleija joined #lisp 2017-03-16T01:37:21Z lnostdal quit (Ping timeout: 240 seconds) 2017-03-16T01:41:46Z mishoo quit (Ping timeout: 264 seconds) 2017-03-16T01:45:27Z yrdz joined #lisp 2017-03-16T01:45:55Z xuxuru quit (Quit: xuxuru) 2017-03-16T01:50:19Z atheris quit (Ping timeout: 246 seconds) 2017-03-16T01:53:37Z shdeng joined #lisp 2017-03-16T01:55:13Z cibs quit (Ping timeout: 246 seconds) 2017-03-16T01:55:21Z dreamcompiler quit (Quit: dreamcompiler) 2017-03-16T01:55:30Z FreeBirdLjj joined #lisp 2017-03-16T01:57:19Z cibs joined #lisp 2017-03-16T01:59:27Z terpri quit (Ping timeout: 240 seconds) 2017-03-16T01:59:55Z atheris joined #lisp 2017-03-16T02:01:02Z yrk quit (Read error: Connection reset by peer) 2017-03-16T02:03:07Z unbalancedparen joined #lisp 2017-03-16T02:04:08Z pjb quit (Ping timeout: 240 seconds) 2017-03-16T02:12:43Z terpri joined #lisp 2017-03-16T02:17:44Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-16T02:18:20Z marcoecc quit (Ping timeout: 260 seconds) 2017-03-16T02:21:23Z warweasle joined #lisp 2017-03-16T02:23:34Z marcoecc joined #lisp 2017-03-16T02:24:51Z jleija quit (Ping timeout: 240 seconds) 2017-03-16T02:26:19Z dreamcompiler joined #lisp 2017-03-16T02:26:44Z jleija joined #lisp 2017-03-16T02:30:12Z [X-Scale] joined #lisp 2017-03-16T02:30:55Z Harag1 joined #lisp 2017-03-16T02:31:24Z X-Scale quit (Ping timeout: 260 seconds) 2017-03-16T02:31:25Z [X-Scale] is now known as X-Scale 2017-03-16T02:32:08Z Harag quit (Read error: Connection reset by peer) 2017-03-16T02:32:09Z Harag1 is now known as Harag 2017-03-16T02:33:37Z unbalancedparen quit (Quit: WeeChat 1.6) 2017-03-16T02:34:10Z bigos joined #lisp 2017-03-16T02:35:51Z rumbler31 joined #lisp 2017-03-16T02:38:00Z bigos quit (Client Quit) 2017-03-16T02:42:32Z neoncont_ joined #lisp 2017-03-16T02:44:35Z cibs quit (Ping timeout: 240 seconds) 2017-03-16T02:45:00Z neoncontrails quit (Ping timeout: 268 seconds) 2017-03-16T02:46:45Z cibs joined #lisp 2017-03-16T02:46:56Z whiteline quit (Read error: Connection reset by peer) 2017-03-16T02:47:12Z smokeink joined #lisp 2017-03-16T02:47:28Z whiteline joined #lisp 2017-03-16T02:48:09Z warweasle quit (Remote host closed the connection) 2017-03-16T02:52:30Z Harag quit (Read error: Connection reset by peer) 2017-03-16T02:52:32Z Harag1 joined #lisp 2017-03-16T02:54:53Z Harag1 is now known as Harag 2017-03-16T02:57:04Z arescorpio joined #lisp 2017-03-16T02:57:26Z Jesin quit (Ping timeout: 256 seconds) 2017-03-16T03:01:04Z wtetzner quit (Remote host closed the connection) 2017-03-16T03:01:09Z krwq: is there a reverse operation to (use-package )? 2017-03-16T03:01:35Z Bike: unuse-package, yeah. 2017-03-16T03:02:12Z krwq: lol, didn't expect the easy name - nice, thank you Bike! 2017-03-16T03:03:28Z mathrick quit (Ping timeout: 240 seconds) 2017-03-16T03:04:52Z libreman quit (Ping timeout: 246 seconds) 2017-03-16T03:06:05Z rumbler31 quit (Remote host closed the connection) 2017-03-16T03:07:13Z marcoecc quit (Ping timeout: 260 seconds) 2017-03-16T03:10:08Z dreamcompiler quit (Ping timeout: 260 seconds) 2017-03-16T03:11:03Z wooden_ joined #lisp 2017-03-16T03:13:44Z unbalancedparen joined #lisp 2017-03-16T03:14:39Z unbalancedparen quit (Client Quit) 2017-03-16T03:19:34Z libreman joined #lisp 2017-03-16T03:21:27Z dreamcompiler joined #lisp 2017-03-16T03:22:58Z gmareske joined #lisp 2017-03-16T03:24:10Z gmareske quit (Client Quit) 2017-03-16T03:29:07Z pmc joined #lisp 2017-03-16T03:29:54Z pmc: what other symbols can you specify as the third argument of the documentation operator besides 'function ? 2017-03-16T03:31:04Z pillton: clhs documentation 2017-03-16T03:31:04Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_docume.htm 2017-03-16T03:31:32Z pillton: pmc: See the method signatures section. 2017-03-16T03:31:33Z Bike: also it's a generic function, so you can define method with whateve ryou like (but not cl: symbols) 2017-03-16T03:31:35Z nyef joined #lisp 2017-03-16T03:32:45Z pmc: ok, thanks! 2017-03-16T03:35:37Z decuser joined #lisp 2017-03-16T03:35:51Z pmc quit (Quit: Leaving) 2017-03-16T03:36:11Z decuser: given: (defun elem (obj) 2017-03-16T03:36:12Z decuser: "Return T if obj is testable with eql, NIL otherwise" 2017-03-16T03:36:12Z decuser: (if (eql obj obj) T NIL)) 2017-03-16T03:36:25Z decuser: why does (elem "a") return T? 2017-03-16T03:36:34Z Bike: because objects always eql themselves. 2017-03-16T03:36:38Z decuser: (eql "a" "a") is false 2017-03-16T03:36:48Z Bike: because those are two different strings (apparently) 2017-03-16T03:36:52Z nyef: (eql #1="a" #1#) is true, though. 2017-03-16T03:37:22Z nyef: And (eql "a" "a") isn't always false if compiled: The compiler is permitted to coalesce immediates and constants. 2017-03-16T03:38:03Z decuser: so, will eql compare any two objects that can be created in lisp? 2017-03-16T03:38:19Z nyef: clhs eql 2017-03-16T03:38:19Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_eql.htm 2017-03-16T03:39:19Z decuser: got it, thx 2017-03-16T03:39:38Z jleija quit (Remote host closed the connection) 2017-03-16T03:39:41Z nyef: You might look up "equal rights (and wrongs) in lisp". 2017-03-16T03:39:43Z Bike: yes, but your teacher or whatever might mean that some objects have behavior like this. 2017-03-16T03:40:00Z nyef: (A KMP article, IIRC.) 2017-03-16T03:40:04Z Bike: (eql 347 347) is always true but (eql "a" "a") could go either way, so you might say strings are "not comparable with eql". 2017-03-16T03:41:31Z jason_m quit (Remote host closed the connection) 2017-03-16T03:41:48Z decuser: nyef- thx for xref to article 2017-03-16T03:41:59Z decuser: Bike - teacher is me :). 2017-03-16T03:42:10Z Bike: oh. it sounded like an assignment 2017-03-16T03:42:35Z desku quit (Remote host closed the connection) 2017-03-16T03:42:44Z decuser: it's self study with books (it was an exercise from book to go write the function). 2017-03-16T03:42:48Z smokeink quit (Ping timeout: 260 seconds) 2017-03-16T03:43:15Z Bike: still, then 2017-03-16T03:44:21Z decuser: I'm a newbie to lisp, but longtime programmer. It's an uhmazing language. 2017-03-16T03:44:45Z decuser: It had features in 1970, that only recently came into vogue. 2017-03-16T03:46:58Z decuser left #lisp 2017-03-16T03:47:00Z loke joined #lisp 2017-03-16T03:50:22Z beach: Good morning everyone! 2017-03-16T03:50:37Z Bike: morning. 2017-03-16T03:51:07Z beach: Hello Bike! Any problems with updating SICL for Clasp use? 2017-03-16T03:51:11Z beach: Hello nyef! Welcome back! 2017-03-16T03:51:22Z Harag quit (Ping timeout: 264 seconds) 2017-03-16T03:51:51Z Bike: yeah, i've been blathering in #clasp. i'll send you a PR with all the sicl problems once i get it working. so far it's just a few little things 2017-03-16T03:52:13Z beach: OK. I'll read #clasp while waking up. 2017-03-16T03:52:50Z compro joined #lisp 2017-03-16T03:56:04Z Harag joined #lisp 2017-03-16T04:02:28Z cibs quit (Ping timeout: 240 seconds) 2017-03-16T04:04:23Z pjb joined #lisp 2017-03-16T04:04:44Z cibs joined #lisp 2017-03-16T04:09:47Z marusich joined #lisp 2017-03-16T04:13:13Z BusFactor1 joined #lisp 2017-03-16T04:16:46Z jason_m joined #lisp 2017-03-16T04:18:17Z safe joined #lisp 2017-03-16T04:19:21Z BlueRavenGT joined #lisp 2017-03-16T04:19:48Z BusFactor1: Has anybody here registered for the European Lisp Symposium yet? 2017-03-16T04:19:59Z beach: I have. 2017-03-16T04:20:05Z beach: And many others. 2017-03-16T04:20:17Z BusFactor1: I'm trying to figure out if the 'Workshops Only' ticket is enough to go to just the ELS 2017-03-16T04:20:20Z nyef: Hello beach. 2017-03-16T04:20:27Z Bike: it is 2017-03-16T04:20:36Z Bike: you'll see more in the later dialogues 2017-03-16T04:20:39Z beach: BusFactor1: It is. On the next page, it says Workshops and Symposiums. 2017-03-16T04:20:49Z BusFactor1: Ok, thanks 2017-03-16T04:21:00Z bmilk joined #lisp 2017-03-16T04:22:26Z beach: nyef: Did you see the image of my working incremental parser for Common Lisp in Second Climacs? http://metamodular.com/second-climacs.png 2017-03-16T04:22:35Z BusFactor1: Any suggested hotels? 2017-03-16T04:22:54Z beach: BusFactor1: A lot of messages suggest the Jam hotel. I am not staying there, though. 2017-03-16T04:23:16Z arescorpio quit (Quit: Leaving.) 2017-03-16T04:23:17Z beach: nyef: It is just an example application of it. It won't work like that when I am done. Right now I just highlight symbols from the CL package. 2017-03-16T04:23:42Z nyef: Looks like a good start, at least! 2017-03-16T04:24:03Z beach: And before I get requests for improvements: The incremental parser is basically all that works at the moment. Nothing else is in place. 2017-03-16T04:24:19Z nyef: ... I still need to get back to working on NQ-CLIM at some point. 2017-03-16T04:24:23Z beach: nyef: Yes, I am pleased with performance so far. 2017-03-16T04:24:32Z beach: nyef: You definitely do! :) 2017-03-16T04:25:18Z loke: beach: For this stuff to be widely useful, a CL is needed that has the ability to provide some separation or compartementalisaion. 2017-03-16T04:25:34Z loke: beach: Which CL did you intend to use, or will you write a new one? 2017-03-16T04:25:52Z beach: I think SBCL will be good enough. 2017-03-16T04:26:06Z beach: But, ultimately, I want to use SICL of course. 2017-03-16T04:26:16Z beach: It has things like first-class global environments. 2017-03-16T04:26:17Z loke has to board my flight now 2017-03-16T04:26:20Z loke: see you later 2017-03-16T04:26:27Z beach: Have a good trip. 2017-03-16T04:30:30Z beach: loke: [for when you come back] Some people, like Shinmera, already said something like "I will never use an editor that runs in the same process as my Common Lisp implementation". 2017-03-16T04:30:35Z loke quit (Ping timeout: 240 seconds) 2017-03-16T04:31:40Z safe quit (Read error: Connection reset by peer) 2017-03-16T04:31:44Z parjanya joined #lisp 2017-03-16T04:33:21Z nyef: Given some of what Shinmera does, I absolutely do not blame him for that stance. 2017-03-16T04:33:26Z krwq: beach: good work on the parser - nice 2017-03-16T04:33:32Z beach: krwq: Thanks. 2017-03-16T04:33:46Z krwq: i can't wait until climacs replaces my emacs 2017-03-16T04:33:49Z beach: nyef: What are you referring to? 2017-03-16T04:33:57Z beach: krwq: It will take some time. 2017-03-16T04:34:08Z krwq: beach: what are the priorities 2017-03-16T04:34:30Z nyef: Doesn't he do Qt integration and whatnot? 2017-03-16T04:34:44Z beach: krwq: I want to make it way much better than Emacs and (first) Climacs for Common Lisp programming, so more work on the parser and such. 2017-03-16T04:34:57Z beach: nyef: Ah, yes, I see. FFI stuff. 2017-03-16T04:35:20Z nyef: Anything FFI, yeah, is a risk factor in terms of keeping the process up and running. 2017-03-16T04:35:22Z krwq: beach: are there some particular things you want to make work? 2017-03-16T04:35:39Z krwq: isorry 2017-03-16T04:35:41Z HoloIRCUser joined #lisp 2017-03-16T04:35:46Z krwq: s/particular/specific 2017-03-16T04:35:52Z atheris quit (Ping timeout: 246 seconds) 2017-03-16T04:36:27Z beach: krwq: Yes. Indentation is one. But also determining the role of each symbol, so that I can distinguish between LET as a Common Lisp special operator and LET as a lexical variable in things like (let ((let 123)) ...) 2017-03-16T04:36:27Z HoloIRCUser quit (Remote host closed the connection) 2017-03-16T04:36:37Z nyef: Another risk factor that I found back when I was just getting started is that redefining DEFSTRUCT structures can completely break your process image. 2017-03-16T04:37:08Z beach: nyef: Yes, I see. 2017-03-16T04:37:39Z beach: nyef: There must be some subconscious reason that I have avoided implementing structures in SICL. :) 2017-03-16T04:38:07Z beach: nyef: Actually, I was planning to make them possible to redefine, just like standard classes. 2017-03-16T04:38:58Z nyef: There you go. 2017-03-16T04:39:34Z nyef: Redefinition in CMUCL and SBCL (at the time, don't know if the situation has improved since) was possible, but spectacularly unsafe. 2017-03-16T04:41:01Z beach: I see, yes. I definitely plan to make SICL safe. I think this is where Common Lisp has an advantage over other languages. And I think this aspect is important in this day and age of viruses and other attacks. 2017-03-16T04:41:16Z beach: But I am pretty alone in thinking that, it seems. 2017-03-16T04:41:44Z beach: A lot of people work very hard to turn their Common Lisp implementation into something as unsafe as C or C++. 2017-03-16T04:42:28Z krwq: beach: unsafe in a sense of pointer arithmetics and thus bffer overflows etc? 2017-03-16T04:42:34Z beach: Yes. 2017-03-16T04:46:11Z nyef: I like the attitude of "here's how to do it, now don't." 2017-03-16T04:46:15Z beach: But then, some people told me the equivalent of "I will never use a Common Lisp implementation that can not load arbitrary foreign code". So I guess I will be pretty much alone in using SICL and Second Climacs. 2017-03-16T04:46:38Z beach: Not that I care. 2017-03-16T04:46:44Z nyef: I will absolutely use a CL implementation that can't load arbitrary foreign code. 2017-03-16T04:46:53Z nyef: Not for everything, but for some things. 2017-03-16T04:47:02Z beach: nyef: Great! Then there are two of us. :) 2017-03-16T04:47:45Z krwq: im not sure what will not work and what will 2017-03-16T04:48:00Z nyef: Does Genera count as not being able to load arbitrary foreign code? 2017-03-16T04:48:09Z aeth: How will you I/O if you can't load arbitrary foreign code? 2017-03-16T04:48:22Z nyef: aeth: 2017-03-16T04:48:39Z nyef: aeth: Same way my Forth system does I/O: It has direct syscall bindings. 2017-03-16T04:49:01Z aeth: I was actually thinking about that for syscalls. 2017-03-16T04:49:13Z aeth: I'm not sure how that would work with windowing and 3D acceleration, though. 2017-03-16T04:49:24Z jack_rabbit joined #lisp 2017-03-16T04:49:27Z nyef: Or there's also the option of running on bare metal. 2017-03-16T04:49:58Z NeverDie joined #lisp 2017-03-16T04:50:03Z aeth: Drivers and third party support. 2017-03-16T04:50:03Z beach` joined #lisp 2017-03-16T04:50:13Z beach`: *sigh* 2017-03-16T04:50:26Z aeth: Imo, you want to have a CL userspace on top of the Linux kernel, sort of like how Android does it. 2017-03-16T04:50:31Z nyef: 3D acceleration in the modern world doesn't usually play well unless you can load the host opengl drivers, true, but the X11 wire protocol already has an implementation. 2017-03-16T04:50:32Z aeth: The kernel isn't *that* important. 2017-03-16T04:50:49Z aeth: If you write your own kernel, you're forever stuck in a VM imo. 2017-03-16T04:51:24Z pjb: Let's define the conditions where writing your own kernel in CL becomes important. 2017-03-16T04:51:26Z beach`: nyef: I don't think Genera was particularly safe. 2017-03-16T04:51:50Z beach quit (Disconnected by services) 2017-03-16T04:51:54Z beach` is now known as beach 2017-03-16T04:51:56Z nyef: Didn't say that it was. Said that it wasn't likely to be able to load arbitrary foreign code. d-: 2017-03-16T04:52:19Z aeth: Didn't Genera have a C compiler? 2017-03-16T04:52:26Z beach: nyef: Right. 2017-03-16T04:52:34Z pjb: It wasn't a time where security was particularly problematic: most computers weren't connected to the Internet, and the Internet wasn't populated by commercial and political interests for hacking. 2017-03-16T04:52:51Z pjb: aeth: it would be funny to run a fuzzer in Genera… 2017-03-16T04:53:56Z pjb: I predict crash times measured in milli-seconds (and actually same as with the current CL implementations, assuming no implementers tried fuzzers on their implementation). 2017-03-16T04:55:55Z nyef: Isn't the random-tester that is used to find some SBCL compiler bugs a fuzzer? 2017-03-16T04:56:58Z pjb: https://erikbern.com/2017/03/15/the-eigenvector-of-why-we-moved-from-language-x-to-language-y.html 2017-03-16T04:58:37Z pjb: nyef: perhaps. Fuzzers generate sequences of random input or API calls. I guess that's what the random-tester does, so it may qualify as a fuzzer. 2017-03-16T04:59:10Z pjb: What happens if we generate random VOPs? 2017-03-16T04:59:38Z nyef: Pretty much, yeah. Generates a random function, compiles it under two (or more?) debug policies, runs with whatever inputs, and compares the results. 2017-03-16T05:00:15Z green``` joined #lisp 2017-03-16T05:00:42Z jdtest quit (Read error: Connection reset by peer) 2017-03-16T05:02:09Z pjb: Then I assume sbcl may withstand longer. But probably not once we start generating random VOP. I assume VOPs are not checked/validated or controlled in any way, so eventually it'll crash or compromize the image. 2017-03-16T05:03:31Z jdtest joined #lisp 2017-03-16T05:04:24Z aeth: no 2017-03-16T05:04:27Z aeth: it's easier than that 2017-03-16T05:04:28Z green`` quit (Ping timeout: 260 seconds) 2017-03-16T05:04:43Z aeth: once you play around with (speed 3) (safety 0) you can easily get the "the integrity of this image has been compromised" error 2017-03-16T05:04:56Z aeth: I got it at least half a dozen times when doing Project Euler exercises a while back 2017-03-16T05:05:09Z aeth: I was stupid, I should have written it on normal settings and *then* turned back on the optimizations :-p 2017-03-16T05:05:18Z nyef: Defining custom VOPs (or stringing together sequences of VOPs outside of the usual compilation machinery) is not officially supported in SBCL. It's another case of "we'll explain how to do it, since it's occasionally an important enabling technique, but if you screw things up it's your own problem." 2017-03-16T05:09:56Z aeth: oh god 2017-03-16T05:10:00Z aeth: I got it to explode 2017-03-16T05:10:02Z aeth: I'm scared 2017-03-16T05:10:15Z aeth: 11 nested errors 2017-03-16T05:10:55Z aeth: (defun foo (x) (declare ((simple-array904 single-float (3)) x)) (declare (optimize (speed 3) (safety 0))) (setf (aref x 2) 42f0)) (foo) 2017-03-16T05:10:58Z aeth: This is all it took 2017-03-16T05:11:02Z aeth: oh god it corrupted emacs 2017-03-16T05:11:23Z aeth: how did 904 get in there 2017-03-16T05:11:38Z aeth: basically all I did was tell it that it's getting some optimized array, and to set a value to some other value 2017-03-16T05:11:42Z aeth: Then I passed in nothing. 2017-03-16T05:12:06Z aeth: If it doesn't work just keep calling (foo) 2017-03-16T05:12:37Z aeth: You'll get an unhandled memory fault and the debugger will go crazy when you press options 2017-03-16T05:13:00Z pjb: Yes, quite some fun. 2017-03-16T05:13:27Z aeth: remember to delete the 904 that somehow got inserted by everything collapsing and the world falling apart 2017-03-16T05:13:47Z aeth: I hope nothing serious happened 2017-03-16T05:16:48Z compro quit (Ping timeout: 240 seconds) 2017-03-16T05:17:48Z pjb quit (Ping timeout: 240 seconds) 2017-03-16T05:26:05Z Harag quit (Read error: Connection reset by peer) 2017-03-16T05:28:10Z marusich quit (Ping timeout: 256 seconds) 2017-03-16T05:28:36Z Harag joined #lisp 2017-03-16T05:28:38Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-16T05:30:36Z gen93 quit (Ping timeout: 260 seconds) 2017-03-16T05:31:30Z libreman quit (Ping timeout: 268 seconds) 2017-03-16T05:31:55Z libreman joined #lisp 2017-03-16T05:36:24Z beach: The way I plan to handle the "custom VOP" problem (i.e., how to prevent any old application programmer or a virus from installing adding a VOP that will make the system unsafe) in SICL is to put the compiler in a separate first-class global environment, and requiring the programmer to become "administrator" first. Probably requiring some password as well. 2017-03-16T05:37:06Z gen93 joined #lisp 2017-03-16T05:40:53Z jdtest quit (Quit: Yaaic - Yet another Android IRC client - http://www.yaaic.org) 2017-03-16T05:41:08Z jdtest joined #lisp 2017-03-16T05:41:25Z trig-ger_ is now known as trig-ger 2017-03-16T05:42:25Z beach: s/installing// 2017-03-16T05:43:23Z aeth: beach: If you don't allow that, and you don't allow foreign code (if I'm remembering correctly?), then how do you deal with things that someone might need to be fast, like vector arithmetic? Does the implementation need to add support in the implementation itself for that kind of thing? 2017-03-16T05:44:44Z vlatkoB joined #lisp 2017-03-16T05:45:05Z gen93 quit (Ping timeout: 240 seconds) 2017-03-16T05:48:48Z beach: Now, the person installing the system is of course the administrator, so he or she can set the password, thereby being able to do anything he or she wants, just like a user of a personal Unix system would. 2017-03-16T05:48:49Z beach: The additional protection comes from not being able to do harm accidentally. Obviously, just like anyone has the right to create a new Common Lisp system, that anyone should have the right to modify an existing one by becoming administrator. 2017-03-16T05:49:49Z beach: I am saying that, because the other day, someone here interpreted this additional protection as my somehow preventing the user of SICL to do whatever he or she wants. 2017-03-16T05:50:22Z beach: Attempting to prevent such things would obviously be absurd. 2017-03-16T05:52:27Z beach: Sometimes when I talk about SICL as the basis of LispOS, I use the term "multi-user system" which I get attacked for, because obviously most systems are used by a single user. Maybe I should call it a "multi-role system" instead, so as to make it clear that it is important to separate the different roles of a user, i.e. user of an application, application programmer, system administrator, etc. 2017-03-16T05:53:40Z pillton: Lisp on jails :) 2017-03-16T05:54:58Z aeth: I'd say the main problem with that is that if the user has to allow unsafe things to do almost anything useful, the user will let their guard down and maybe even be annoyed at the whole thing, like with Vista's security pop up. 2017-03-16T05:55:04Z pillton: I'd argue for different roles of an application. 2017-03-16T05:55:12Z aeth: So the success of the setup would have to depend on the majority of common uses being safe imo 2017-03-16T05:56:01Z aeth: s/common uses/commonly used things/ 2017-03-16T05:56:23Z BlueRavenGT quit (Ping timeout: 260 seconds) 2017-03-16T06:00:46Z jasom: If anybody is feeling adventurous: https://github.com/jasom/geany-lisp 2017-03-16T06:02:06Z gen93 joined #lisp 2017-03-16T06:03:48Z enzuru quit (Ping timeout: 240 seconds) 2017-03-16T06:08:55Z dec0n joined #lisp 2017-03-16T06:09:43Z shka_ joined #lisp 2017-03-16T06:10:19Z FreeBirdLjj joined #lisp 2017-03-16T06:11:17Z psacrifice joined #lisp 2017-03-16T06:21:11Z mathrick joined #lisp 2017-03-16T06:28:14Z oleo quit (Quit: Leaving) 2017-03-16T06:43:23Z lambda-smith joined #lisp 2017-03-16T06:45:35Z defaultxr quit (Ping timeout: 240 seconds) 2017-03-16T06:52:13Z rodenm joined #lisp 2017-03-16T06:52:29Z rodenm: who 2017-03-16T06:52:48Z rodenm quit (Quit: WeeChat 1.0.1) 2017-03-16T06:52:50Z Intensity joined #lisp 2017-03-16T06:55:34Z shka_ quit (Ping timeout: 264 seconds) 2017-03-16T07:00:59Z mishoo joined #lisp 2017-03-16T07:08:25Z vlatkoB_ joined #lisp 2017-03-16T07:08:28Z gbyers quit (Ping timeout: 240 seconds) 2017-03-16T07:08:48Z gbyers joined #lisp 2017-03-16T07:12:48Z vlatkoB quit (Ping timeout: 260 seconds) 2017-03-16T07:14:21Z angavrilov joined #lisp 2017-03-16T07:15:27Z flamebeard joined #lisp 2017-03-16T07:21:28Z iagorubio quit (Quit: Leaving) 2017-03-16T07:21:43Z iago joined #lisp 2017-03-16T07:25:56Z tmtwd quit (Remote host closed the connection) 2017-03-16T07:29:34Z ryanwatkins joined #lisp 2017-03-16T07:38:22Z Bike quit (Quit: sleep tho) 2017-03-16T07:38:58Z shdeng quit (Excess Flood) 2017-03-16T07:40:39Z shdeng joined #lisp 2017-03-16T07:44:42Z ryanwatkins quit (Remote host closed the connection) 2017-03-16T07:46:14Z ryanwatkins joined #lisp 2017-03-16T07:48:55Z justicefries joined #lisp 2017-03-16T07:52:43Z krwq quit (Remote host closed the connection) 2017-03-16T07:59:38Z psacrifi_ joined #lisp 2017-03-16T07:59:38Z psacrifice quit (Read error: Connection reset by peer) 2017-03-16T08:00:59Z o1e9 joined #lisp 2017-03-16T08:03:33Z varjag joined #lisp 2017-03-16T08:11:19Z keviv joined #lisp 2017-03-16T08:11:59Z keviv_ joined #lisp 2017-03-16T08:11:59Z keviv is now known as Guest32044 2017-03-16T08:11:59Z keviv_ is now known as keviv 2017-03-16T08:12:52Z Guest32044 quit (Quit: Leaving) 2017-03-16T08:13:21Z keviv quit (Client Quit) 2017-03-16T08:21:48Z psacrifi_ quit (Remote host closed the connection) 2017-03-16T08:29:40Z gingerale joined #lisp 2017-03-16T08:38:05Z jibanes quit (Ping timeout: 240 seconds) 2017-03-16T08:39:37Z pve joined #lisp 2017-03-16T08:40:01Z jibanes joined #lisp 2017-03-16T08:40:31Z emaczen quit (Ping timeout: 246 seconds) 2017-03-16T08:46:25Z ryanwatkins quit (Remote host closed the connection) 2017-03-16T08:46:36Z psacrifice joined #lisp 2017-03-16T08:47:42Z ryanwatkins joined #lisp 2017-03-16T08:48:06Z quazimodo quit (Ping timeout: 258 seconds) 2017-03-16T09:09:29Z jtza8 joined #lisp 2017-03-16T09:09:58Z whiteline quit (Ping timeout: 264 seconds) 2017-03-16T09:11:57Z Harag quit (Ping timeout: 240 seconds) 2017-03-16T09:13:02Z ryanwatkins quit (Remote host closed the connection) 2017-03-16T09:13:33Z justicefries left #lisp 2017-03-16T09:14:35Z seg quit (Ping timeout: 240 seconds) 2017-03-16T09:15:24Z ryanwatkins joined #lisp 2017-03-16T09:17:00Z mingus joined #lisp 2017-03-16T09:17:27Z cibs quit (Ping timeout: 240 seconds) 2017-03-16T09:19:44Z cibs joined #lisp 2017-03-16T09:20:14Z seg joined #lisp 2017-03-16T09:22:40Z gargaml joined #lisp 2017-03-16T09:26:58Z angavrilov quit (Ping timeout: 260 seconds) 2017-03-16T09:27:24Z hhdave joined #lisp 2017-03-16T09:28:39Z angavrilov joined #lisp 2017-03-16T09:42:26Z Karl_Dscc joined #lisp 2017-03-16T09:43:14Z whiteline joined #lisp 2017-03-16T09:48:39Z psacrifice quit (Remote host closed the connection) 2017-03-16T09:53:23Z Harag joined #lisp 2017-03-16T09:59:12Z pjb joined #lisp 2017-03-16T10:01:37Z psacrifice joined #lisp 2017-03-16T10:03:49Z nirved joined #lisp 2017-03-16T10:03:53Z brkr joined #lisp 2017-03-16T10:04:50Z okflo joined #lisp 2017-03-16T10:07:39Z angavrilov quit (Remote host closed the connection) 2017-03-16T10:08:02Z angavrilov joined #lisp 2017-03-16T10:09:53Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-16T10:11:28Z BusFactor1 quit (Ping timeout: 240 seconds) 2017-03-16T10:11:59Z ttt72 joined #lisp 2017-03-16T10:13:41Z neoncont_ quit (Remote host closed the connection) 2017-03-16T10:14:17Z neoncontrails joined #lisp 2017-03-16T10:16:44Z Karl_Dscc quit (Remote host closed the connection) 2017-03-16T10:16:50Z angavrilov quit (Ping timeout: 240 seconds) 2017-03-16T10:17:09Z angavrilov joined #lisp 2017-03-16T10:18:28Z neoncontrails quit (Ping timeout: 240 seconds) 2017-03-16T10:20:37Z ttt72 quit (Quit: ttt72) 2017-03-16T10:21:02Z ttt72 joined #lisp 2017-03-16T10:22:17Z sjl joined #lisp 2017-03-16T10:26:22Z ryanwatkins quit (Remote host closed the connection) 2017-03-16T10:28:25Z ttt72 quit (Quit: ttt72) 2017-03-16T10:28:51Z ttt72 joined #lisp 2017-03-16T10:31:02Z ryanwatkins joined #lisp 2017-03-16T10:37:21Z neoncontrails joined #lisp 2017-03-16T10:38:10Z ryanwatkins quit (Remote host closed the connection) 2017-03-16T10:39:45Z lnostdal joined #lisp 2017-03-16T10:44:49Z strelox joined #lisp 2017-03-16T10:46:34Z ttt72 quit (Quit: ttt72) 2017-03-16T10:46:59Z ttt72 joined #lisp 2017-03-16T10:48:06Z Karl_Dscc joined #lisp 2017-03-16T10:48:11Z attila_lendvai joined #lisp 2017-03-16T10:48:11Z attila_lendvai quit (Changing host) 2017-03-16T10:48:11Z attila_lendvai joined #lisp 2017-03-16T10:56:15Z ttt72 quit (Quit: ttt72) 2017-03-16T10:56:38Z ttt72 joined #lisp 2017-03-16T11:04:08Z dreamcompiler quit (Quit: dreamcompiler) 2017-03-16T11:09:46Z attila_lendvai quit (Quit: Leaving.) 2017-03-16T11:11:47Z ttt72 quit (Quit: ttt72) 2017-03-16T11:12:13Z ttt72 joined #lisp 2017-03-16T11:15:05Z Harag quit (Ping timeout: 240 seconds) 2017-03-16T11:16:20Z angavrilov quit (Ping timeout: 240 seconds) 2017-03-16T11:17:59Z lnostdal quit (Read error: Connection reset by peer) 2017-03-16T11:18:15Z lnostdal joined #lisp 2017-03-16T11:18:19Z angavrilov joined #lisp 2017-03-16T11:23:07Z ttt72 quit (Quit: ttt72) 2017-03-16T11:23:33Z ttt72 joined #lisp 2017-03-16T11:24:13Z shdeng quit (Quit: Leaving) 2017-03-16T11:29:54Z akotlarski joined #lisp 2017-03-16T11:32:50Z ryanwatkins joined #lisp 2017-03-16T11:33:50Z ttt72 quit (Ping timeout: 240 seconds) 2017-03-16T11:47:57Z ryanwatkins quit (Remote host closed the connection) 2017-03-16T11:48:45Z Einwq joined #lisp 2017-03-16T11:50:30Z Einwq quit (Read error: Connection reset by peer) 2017-03-16T11:53:27Z EvW joined #lisp 2017-03-16T11:56:49Z ivy1997 joined #lisp 2017-03-16T12:00:05Z ryanwatkins joined #lisp 2017-03-16T12:00:10Z ryanwatk` joined #lisp 2017-03-16T12:00:43Z ryanwatkins quit (Remote host closed the connection) 2017-03-16T12:00:43Z ryanwatk` quit (Remote host closed the connection) 2017-03-16T12:04:28Z raynold quit (Quit: Connection closed for inactivity) 2017-03-16T12:07:18Z ivy1997 quit 2017-03-16T12:09:08Z Karl_Dscc quit (Remote host closed the connection) 2017-03-16T12:10:11Z lvo joined #lisp 2017-03-16T12:10:20Z Einwq joined #lisp 2017-03-16T12:10:24Z bmilk quit (Remote host closed the connection) 2017-03-16T12:11:28Z neoncontrails quit (Remote host closed the connection) 2017-03-16T12:12:07Z neoncontrails joined #lisp 2017-03-16T12:13:14Z d4ryus2 joined #lisp 2017-03-16T12:16:43Z neoncontrails quit (Ping timeout: 260 seconds) 2017-03-16T12:16:43Z d4ryus1 quit (Ping timeout: 260 seconds) 2017-03-16T12:22:12Z ryanwatkins joined #lisp 2017-03-16T12:26:04Z Einwq quit (Read error: Connection reset by peer) 2017-03-16T12:28:46Z Karl_Dscc joined #lisp 2017-03-16T12:35:21Z daniel-s joined #lisp 2017-03-16T12:36:34Z EvW quit (Ping timeout: 256 seconds) 2017-03-16T12:43:57Z libreman quit (Ping timeout: 240 seconds) 2017-03-16T12:44:12Z foojin joined #lisp 2017-03-16T12:44:23Z lvo quit (Remote host closed the connection) 2017-03-16T12:44:26Z libreman joined #lisp 2017-03-16T12:45:31Z EvW1 joined #lisp 2017-03-16T12:45:38Z lvo joined #lisp 2017-03-16T12:46:17Z clintm joined #lisp 2017-03-16T12:47:30Z ryanwatkins quit (Remote host closed the connection) 2017-03-16T12:50:50Z edgar-rft quit (Quit: edgar-rft) 2017-03-16T12:54:03Z scymtym quit (Read error: Connection reset by peer) 2017-03-16T12:54:24Z ryanwatkins joined #lisp 2017-03-16T12:54:49Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-16T12:54:57Z sjl quit (Ping timeout: 240 seconds) 2017-03-16T12:55:09Z ryanwatkins quit (Remote host closed the connection) 2017-03-16T12:56:37Z smokeink joined #lisp 2017-03-16T13:00:37Z ryanwatkins joined #lisp 2017-03-16T13:02:24Z ryanwatkins quit (Remote host closed the connection) 2017-03-16T13:02:50Z ryanwatkins joined #lisp 2017-03-16T13:04:07Z Harag joined #lisp 2017-03-16T13:12:54Z scymtym joined #lisp 2017-03-16T13:13:18Z psacrifice quit (Remote host closed the connection) 2017-03-16T13:15:13Z psacrifice joined #lisp 2017-03-16T13:18:01Z d4ryus2: hi, iam using the usocket library and my problem is that read-sequence blocks once there are not enough bytes availble. Does someone know how i can check how many bytes are availble? (stream/tcp sockets) 2017-03-16T13:21:44Z Kaisyu joined #lisp 2017-03-16T13:27:52Z cromachina quit (Read error: Connection reset by peer) 2017-03-16T13:32:40Z Oladon quit (Read error: Connection reset by peer) 2017-03-16T13:33:08Z Oladon joined #lisp 2017-03-16T13:38:43Z LiamH joined #lisp 2017-03-16T13:42:19Z sjl joined #lisp 2017-03-16T13:42:24Z test1600 joined #lisp 2017-03-16T13:43:26Z psacrifice quit (Ping timeout: 256 seconds) 2017-03-16T13:44:40Z vaporatorius quit (Remote host closed the connection) 2017-03-16T13:55:03Z flamebeard quit (Quit: Leaving) 2017-03-16T13:58:53Z pjb: d4ryus2: you should be able to use LISTEN to know if there's at least one byte available. Or use read-char-no-hang (but there's no read-byte-no-hang). 2017-03-16T14:03:30Z lvo left #lisp 2017-03-16T14:08:22Z loke joined #lisp 2017-03-16T14:08:39Z rumbler31 joined #lisp 2017-03-16T14:09:11Z sellout- quit (Quit: Leaving.) 2017-03-16T14:09:12Z clintm quit (Remote host closed the connection) 2017-03-16T14:13:03Z Jesin joined #lisp 2017-03-16T14:15:15Z kobain joined #lisp 2017-03-16T14:16:20Z libreman quit (Ping timeout: 240 seconds) 2017-03-16T14:24:08Z snowcrshd joined #lisp 2017-03-16T14:25:35Z arbv quit (Ping timeout: 240 seconds) 2017-03-16T14:26:26Z arbv joined #lisp 2017-03-16T14:29:30Z papachan joined #lisp 2017-03-16T14:29:41Z rumbler31 quit (Remote host closed the connection) 2017-03-16T14:29:45Z libreman joined #lisp 2017-03-16T14:30:21Z al-damiri joined #lisp 2017-03-16T14:35:09Z d4ryus2: pjb: sadly reading byte by byte is not an option, iam writing a program to transfer files which might be multiple gigabytes in size 2017-03-16T14:38:47Z ryanwatkins quit (Remote host closed the connection) 2017-03-16T14:39:01Z flip214: d4ryus2: if it's about performance, you might want to use the POSIX interface anyway... sb-posix etc. 2017-03-16T14:43:05Z d4ryus2: flip214: i will look into that, thanks! 2017-03-16T14:44:13Z flip214: d4ryus2: http://www.cliki.net/cl-posix-generalities 2017-03-16T14:50:40Z yrk joined #lisp 2017-03-16T14:51:19Z yrk quit (Changing host) 2017-03-16T14:51:19Z yrk joined #lisp 2017-03-16T14:53:59Z dreamcompiler joined #lisp 2017-03-16T14:56:10Z dec0n quit (Read error: Connection reset by peer) 2017-03-16T14:57:37Z josh_2 joined #lisp 2017-03-16T15:00:48Z okflo` joined #lisp 2017-03-16T15:02:28Z rpg joined #lisp 2017-03-16T15:03:00Z ryanwatkins joined #lisp 2017-03-16T15:03:43Z rszeno joined #lisp 2017-03-16T15:04:20Z okflo quit (Ping timeout: 240 seconds) 2017-03-16T15:05:01Z stepnem joined #lisp 2017-03-16T15:08:22Z didi joined #lisp 2017-03-16T15:09:36Z didi: How should I export a class name so other packages can create a new instance of this class? 2017-03-16T15:09:41Z sellout- joined #lisp 2017-03-16T15:10:35Z vibs29 quit (Ping timeout: 240 seconds) 2017-03-16T15:10:43Z dreamcompiler quit (Quit: dreamcompiler) 2017-03-16T15:10:51Z Bike joined #lisp 2017-03-16T15:11:29Z didi: I am guessing by simply adding the class name to the (:export ...) list. 2017-03-16T15:11:45Z beach: Yes. 2017-03-16T15:12:09Z daniel-s quit (Quit: Konversation terminated!) 2017-03-16T15:12:59Z didi: Thanks. 2017-03-16T15:13:13Z beach: Anytime. 2017-03-16T15:13:52Z didi: But now, how does it know I am exporting the class name FOO and not the function FOO? 2017-03-16T15:14:01Z beach: It doesn't. 2017-03-16T15:14:07Z didi: I see. 2017-03-16T15:14:08Z beach: If you export one, you export the other. 2017-03-16T15:14:15Z didi: Understood. Thank you. 2017-03-16T15:14:28Z beach: ... which is why you may want to have different names for the class and the fucntion. 2017-03-16T15:14:53Z beach: This is also why you typically would want a different name for a slot and for its accessor. 2017-03-16T15:15:23Z didi: Hum. Interesting. 2017-03-16T15:15:26Z beach: Otherwise, you won't catch the use of SLOT-VALUE by client code, which is considered a breach of the defined protocol. 2017-03-16T15:15:51Z beach: So there are different ideas for inventing names for slot and accessors. 2017-03-16T15:16:08Z didi: Is there some common scheme? 2017-03-16T15:16:27Z beach: I personally consider the slot name to be used for only one thing, namely for the subclass mechanism to identify which slot is which. So I prefix slot names with %. 2017-03-16T15:16:33Z vibs29 joined #lisp 2017-03-16T15:16:55Z beach: The % character traditionally signals "internal" or "danger" which I find appropriate. 2017-03-16T15:17:03Z didi: Cool. Thank you. 2017-03-16T15:17:38Z beach: Client code would have to use package::%slot-name to access it directly, so two things indicate danger here, namely :: and %. 2017-03-16T15:18:23Z beach: Others use ordinary names for the slots and suffix the accessor by -of, so that the slot is called (say) ADDRESS and the accessor is called ADDRESS-OF. 2017-03-16T15:18:34Z beach: I personally don't like that second scheme at all. 2017-03-16T15:19:32Z didi: If one should use the accessors, it seems better to tax the slot name then the accessor. 2017-03-16T15:19:37Z didi: s/then/than 2017-03-16T15:19:46Z beach: One should always use accessors. 2017-03-16T15:20:13Z didi: Oh well, I have the bad habit of using SLOT-VALUE. 2017-03-16T15:20:36Z beach: I suggest you change that habit as soon as possible. 2017-03-16T15:20:47Z pebblexe: how do I find the size of primitive types? 2017-03-16T15:21:17Z beach: didi: You MIGHT use it internally in your module, but there is really no reason to. In fact SLOT-VALUE may have to do more work than the accessor. 2017-03-16T15:21:18Z yeticry_ joined #lisp 2017-03-16T15:21:35Z rumbler31 joined #lisp 2017-03-16T15:21:42Z beach: pebblexe: What do you consider the size of (say) a symbol to be? 2017-03-16T15:21:47Z ryanwatkins quit (Remote host closed the connection) 2017-03-16T15:22:00Z pebblexe: the bytes it takes up 2017-03-16T15:22:03Z d4ryus2: should i avoid using 'with-slots'? 2017-03-16T15:22:15Z beach: d4ryus2: I never use it. 2017-03-16T15:22:22Z beach: pebblexe: 8 2017-03-16T15:22:39Z d4ryus2: oh ok, thats intresting, i changed all my with-accesors to with-slots since they are shorter :/ 2017-03-16T15:22:48Z pebblexe: beach: how would I figure that out for myself? 2017-03-16T15:23:22Z beach: You look at your implementation. If it is a 64-bit implementation then the answer is 8. If it is a 32-bit implementation, the answer is 4. 2017-03-16T15:24:09Z beach: Also, SLOT-VALUE makes it essentially impossible to establish an internal protocol. You are basically circumventing all the mechanisms that make such a protocol possible. 2017-03-16T15:24:38Z beach: ... and you commit to the existence of the slot as opposed to committing only to how objects are manipulated (by which generic functions). 2017-03-16T15:24:40Z yeticry quit (Ping timeout: 260 seconds) 2017-03-16T15:24:51Z nyef: I tend to use SLOT-VALUE as part of an internal interface, typically not to be exported outside a file/package boundary. 2017-03-16T15:25:24Z nyef: "I don't need an accessor for this, it's only getting used from within this file, so just use SLOT-VALUE." 2017-03-16T15:25:45Z beach: The first thing you want to do when you create a module of some kind is to establish an external PROTOCOL for client code. That protocol should mention types (classes) and generic functions and how they are related to each other. 2017-03-16T15:25:52Z nyef: Right. 2017-03-16T15:26:22Z nyef: SLOT-VALUE should never show up in the external interface, but can be rather handy during implementation. 2017-03-16T15:26:26Z beach: nyef: Not meant for you. :) I know you know this stuff. 2017-03-16T15:27:16Z nyef: I also do one-package-per-file, and prefer short files. YMMV. 2017-03-16T15:27:57Z beach: pebblexe: Common Lisp uses what I call "uniform reference semantics". Basically that means that every object is manipulated indirectly through a reference (or a pointer if you prefer). 2017-03-16T15:29:45Z beach: pebblexe: So while it takes up space in memory for the object itself, a variable that holds an object, or an array element takes up the size of a pointer. Similarly the CAR of a CONS cell takes up a pointer, and so does the CDR. So together a CONS cell takes up two pointers, but when a CONS cell is the value of a variable, that variable holds a pointer to the CONS cell, so it is still the size of a pointer. 2017-03-16T15:31:20Z ryanwatkins joined #lisp 2017-03-16T15:32:31Z varjag quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2017-03-16T15:33:09Z pebblexe: beach: I was thinking of a 'real' project to work on, and I'm thinking about porting msgpack to cl. do you think it's possible to make one that's not implementation specific? 2017-03-16T15:33:11Z beach: pebblexe: This idea (uniform reference semantics) is the only sane semantics for a programming language. The opposite is what C++ does, which is why you have to specialize every data structure (using templates) according to the size of the objects contained in it. It is also why you need to be able to redefine assignment, etc. All of that is simple in a language like Common Lisp, and it makes it faster too. 2017-03-16T15:34:01Z beach: pebblexe: Serialization? 2017-03-16T15:34:09Z pebblexe: beach: yup 2017-03-16T15:34:14Z beach: For what purpose? 2017-03-16T15:34:21Z beach: Interchange between languages? 2017-03-16T15:34:35Z pebblexe: beach: no purpose, just something to do 2017-03-16T15:35:09Z pebblexe: beach: I found this https://github.com/conspack/cl-conspack and looking at this: https://github.com/edma2/clojure-msgpack/blob/master/src/msgpack/core.clj it doesn't seem too difficult 2017-03-16T15:35:22Z beach: I don't think I would have chosen that, but maybe that's just me. 2017-03-16T15:36:02Z pebblexe: beach: no, you're right it does look quite difficult 2017-03-16T15:36:37Z pebblexe: but I think I can 2017-03-16T15:36:40Z beach: I don't know about difficulty. It's just that Common Lisp already has built-in serialization (PRINT) and de-serialization (READ). 2017-03-16T15:37:15Z beach: And they are good too, because they can handle arbitrary circularity in the data structures. 2017-03-16T15:37:46Z pebblexe: beach: yeah, I guess there isn't a need for it, but I want to do it 2017-03-16T15:38:00Z beach: Sure, go ahead. 2017-03-16T15:38:16Z pebblexe: I want to implement the wamp protocol too, and that sometimes uses msgpack 2017-03-16T15:39:25Z splittist: pebblexe: seems like a fine idea to me, and not too tricky 2017-03-16T15:40:15Z pebblexe: splittist: it seems very tricky to me. I haven't really written code in a long time. 2017-03-16T15:40:43Z beach: pebblexe: I am not the one to ask advice about what to work on. My interests in that respect are usually a bit different from the mainstream, or that's the feeling I get at least. 2017-03-16T15:42:24Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-16T15:45:04Z splittist: pebblexe: me neither. But that's not going to stop me giving advice (: . msgpack is waaaay less ambitious than ConsPack, so don't be lead astray by all the automagical object encoding in conspack. 2017-03-16T15:45:10Z dlowe: beach: it sure blows memory everywhere on 64-bit implementations, though 2017-03-16T15:45:46Z beach: dlowe: What does? 2017-03-16T15:46:13Z dlowe: beach: using references to everything 2017-03-16T15:46:41Z dlowe: does sbcl (or any implementation) support 32-bit addresses while also supporting the amd64 instruction set? 2017-03-16T15:47:05Z beach: I think it uses way less that in typical C++ where you have to copy every object to make sure your reference count is 1, or else you have a memory leak. 2017-03-16T15:48:01Z wheelsucker joined #lisp 2017-03-16T15:48:14Z beach: "less than" 2017-03-16T15:54:03Z nyef: dlowe: Are you looking for x32, or something else? 2017-03-16T15:59:58Z `JRG joined #lisp 2017-03-16T16:02:52Z o1e9 quit (Quit: Ex-Chat) 2017-03-16T16:02:58Z shka quit (Remote host closed the connection) 2017-03-16T16:07:42Z rszeno quit (Quit: Leaving.) 2017-03-16T16:08:04Z okflo` quit (Remote host closed the connection) 2017-03-16T16:08:12Z shka joined #lisp 2017-03-16T16:10:20Z bpanthi joined #lisp 2017-03-16T16:11:00Z tharugrim joined #lisp 2017-03-16T16:15:23Z jasom: dlowe: I would imagine clisp would work with few, if any, modifications on x32... 2017-03-16T16:15:54Z jasom: dlowe: I'm not aware of any native-code compiling implementations that support x32 though. 2017-03-16T16:16:55Z test1600 quit (Quit: Leaving) 2017-03-16T16:17:48Z jasom: "My interests in that respect are usually a bit different from the mainstream" <-- sane people don't try to write new lisp implementations from scratch. They just benefit from the work of the insane ones :) 2017-03-16T16:18:38Z beach: Sounds right. 2017-03-16T16:19:25Z jasom: I feel a similar way about portacle; I looked into making a portable install of slime+sbcl for linux and decided it was too much work because of all these reasons: https://reader.tymoon.eu/article/350 shinmera has more patience than I. 2017-03-16T16:20:59Z beach: Yes, I see. 2017-03-16T16:21:53Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-16T16:22:02Z tharugrim joined #lisp 2017-03-16T16:22:30Z BusFactor1 joined #lisp 2017-03-16T16:22:44Z BusFactor1: I've heard that the Jam hotel is a decent place for staying at during the ELS. Anybody else staying there? 2017-03-16T16:23:01Z jasom: https://github.com/jasom/lispstick-automate <-- I wrote this in basically one sitting which gives you slime+quicklisp+sbcl for windows. I think I spent more time determining that it would be really hard to do the same for linux than I did on a complete implementation for windows. 2017-03-16T16:23:13Z dreamcompiler joined #lisp 2017-03-16T16:23:46Z beach: BusFactor1: I didn't say it was decent. I know nothing about it. But I know a lot of people staying there. I got email about it. 2017-03-16T16:24:13Z BusFactor1: Seems ok to me :) Just want to be somewhere where others are staying. 2017-03-16T16:24:45Z BusFactor1: Combining it with a business trip to Sweden along the way. 2017-03-16T16:24:49Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-16T16:27:20Z BusFactor1: beach: is there an email list for conference goers? 2017-03-16T16:27:37Z beach: Yes. 2017-03-16T16:27:53Z BusFactor1: got a url? 2017-03-16T16:27:59Z beach: In the past, it was automatic after registration, but the registration has changed this year. 2017-03-16T16:28:10Z beach: ... so I don't know how to subscribe. 2017-03-16T16:28:22Z BusFactor1: Ah, ok. I still have to get approval for the trip...will register in a bit. 2017-03-16T16:28:42Z beach: Ah. Yes, I think you need to register. 2017-03-16T16:29:14Z impulse joined #lisp 2017-03-16T16:29:51Z beach: BusFactor1: elsconf@lrde.epita.fr 2017-03-16T16:29:57Z BusFactor1: Thanks. 2017-03-16T16:30:02Z beach: That's the address they use. 2017-03-16T16:30:50Z beach: You have Shinmera, phoe, and 5 more people that have rooms there. 2017-03-16T16:31:08Z BusFactor1: Cool. 2017-03-16T16:35:43Z `JRG quit (Quit: Page closed) 2017-03-16T16:38:06Z sjl got a dirt-cheap airbnb that's like 5m walking distance from the venue 2017-03-16T16:39:06Z oleo joined #lisp 2017-03-16T16:39:21Z stepnem quit (Ping timeout: 268 seconds) 2017-03-16T16:41:26Z BusFactor1: nice 2017-03-16T16:42:50Z shifty quit (Ping timeout: 240 seconds) 2017-03-16T16:43:43Z stepnem joined #lisp 2017-03-16T16:45:36Z BusFactor1: Offtopic: anybody else having problems joining #emacs today? 2017-03-16T16:45:44Z EvW1 quit (Ping timeout: 258 seconds) 2017-03-16T16:47:57Z loke: BusFactor1: Wors for me 2017-03-16T16:48:22Z BusFactor1: :-/ 2017-03-16T16:51:47Z malice joined #lisp 2017-03-16T16:54:33Z gargaml quit (Quit: WeeChat 1.7) 2017-03-16T16:55:07Z jdtest2 joined #lisp 2017-03-16T16:55:42Z stepnem quit (Ping timeout: 258 seconds) 2017-03-16T16:56:22Z smokeink quit (Remote host closed the connection) 2017-03-16T16:57:50Z jdtest quit (Ping timeout: 240 seconds) 2017-03-16T16:57:55Z TMA: BusFactor1: you need to be identified to nickserv 2017-03-16T16:58:36Z BusFactor1: recent change? 2017-03-16T16:58:57Z loke quit (Ping timeout: 240 seconds) 2017-03-16T17:01:15Z stepnem joined #lisp 2017-03-16T17:01:36Z wildlander joined #lisp 2017-03-16T17:01:50Z TMA: BusFactor1: I do not know for sure, but +r has been on for several weeks at least 2017-03-16T17:02:12Z LiamH quit (Ping timeout: 260 seconds) 2017-03-16T17:02:32Z BusFactor1: Registering wasn't hard, thanks for the info...I just keep forgetting to do it 2017-03-16T17:02:36Z rumbler31 quit (Remote host closed the connection) 2017-03-16T17:07:12Z LiamH joined #lisp 2017-03-16T17:11:28Z LiamH quit (Ping timeout: 240 seconds) 2017-03-16T17:15:46Z vap1 joined #lisp 2017-03-16T17:15:47Z vaporatorius joined #lisp 2017-03-16T17:15:56Z jdtest2 quit (Ping timeout: 256 seconds) 2017-03-16T17:16:04Z jdtest joined #lisp 2017-03-16T17:16:34Z vaporatorius quit (Client Quit) 2017-03-16T17:16:58Z LiamH joined #lisp 2017-03-16T17:20:30Z prole joined #lisp 2017-03-16T17:25:02Z krasnal joined #lisp 2017-03-16T17:30:30Z gargaml joined #lisp 2017-03-16T17:34:26Z shka_ joined #lisp 2017-03-16T17:36:28Z hvxgr__ quit (Ping timeout: 240 seconds) 2017-03-16T17:39:32Z shka_ quit (Ping timeout: 260 seconds) 2017-03-16T17:39:38Z papachan quit (Quit: Saliendo) 2017-03-16T17:40:00Z MetaHertz quit (Ping timeout: 260 seconds) 2017-03-16T17:40:43Z shka_ joined #lisp 2017-03-16T17:41:21Z MetaHertz joined #lisp 2017-03-16T17:41:52Z hhdave quit (Ping timeout: 260 seconds) 2017-03-16T17:42:07Z rippa joined #lisp 2017-03-16T17:43:48Z hvxgr_ joined #lisp 2017-03-16T17:46:35Z jdtest2 joined #lisp 2017-03-16T17:46:36Z jdtest quit (Read error: Connection reset by peer) 2017-03-16T17:48:23Z shka_ quit (Read error: Connection reset by peer) 2017-03-16T17:48:46Z shka_ joined #lisp 2017-03-16T17:51:56Z mcrist_ joined #lisp 2017-03-16T17:53:42Z warweasle joined #lisp 2017-03-16T17:54:42Z edgar-rft joined #lisp 2017-03-16T17:54:42Z shka_ quit (Read error: Connection reset by peer) 2017-03-16T17:57:28Z Einwq joined #lisp 2017-03-16T17:57:58Z jtza8 quit (Ping timeout: 260 seconds) 2017-03-16T17:58:32Z neoncontrails joined #lisp 2017-03-16T17:58:40Z shka_ joined #lisp 2017-03-16T18:02:05Z akotlarski quit (Remote host closed the connection) 2017-03-16T18:06:18Z varjag joined #lisp 2017-03-16T18:07:31Z fourier joined #lisp 2017-03-16T18:08:32Z bpanthi quit (Quit: bpanthi) 2017-03-16T18:23:18Z jmarciano joined #lisp 2017-03-16T18:24:20Z cibs quit (Ping timeout: 240 seconds) 2017-03-16T18:26:17Z cibs joined #lisp 2017-03-16T18:28:36Z bocaneri quit (Read error: Connection reset by peer) 2017-03-16T18:29:10Z terpri quit (Remote host closed the connection) 2017-03-16T18:29:17Z sebboh` is now known as sebboh 2017-03-16T18:29:26Z sebboh quit (Changing host) 2017-03-16T18:29:26Z sebboh joined #lisp 2017-03-16T18:42:06Z BlueRavenGT joined #lisp 2017-03-16T18:45:22Z LiamH quit (Ping timeout: 264 seconds) 2017-03-16T18:46:35Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-16T18:51:22Z gargaml quit (Ping timeout: 264 seconds) 2017-03-16T18:54:51Z jmarciano quit (Quit: ERC (IRC client for Emacs 26.0.50.1)) 2017-03-16T19:03:39Z afidegnum joined #lisp 2017-03-16T19:05:06Z Jesin quit (Quit: brb) 2017-03-16T19:07:08Z neoncontrails quit (Remote host closed the connection) 2017-03-16T19:07:44Z neoncontrails joined #lisp 2017-03-16T19:12:17Z neoncontrails quit (Ping timeout: 268 seconds) 2017-03-16T19:13:02Z Jesin joined #lisp 2017-03-16T19:13:19Z mishoo quit (Ping timeout: 246 seconds) 2017-03-16T19:25:05Z emacsomancer joined #lisp 2017-03-16T19:29:03Z salv0 quit (Remote host closed the connection) 2017-03-16T19:38:16Z attila_lendvai joined #lisp 2017-03-16T19:41:42Z lambda-smith quit (Quit: Konversation terminated!) 2017-03-16T19:42:21Z malice quit (Remote host closed the connection) 2017-03-16T19:45:54Z ZabaQ quit (Read error: Connection reset by peer) 2017-03-16T19:46:16Z defaultxr joined #lisp 2017-03-16T19:46:23Z terpri joined #lisp 2017-03-16T19:50:51Z knicklux joined #lisp 2017-03-16T19:54:50Z fourier quit (Ping timeout: 268 seconds) 2017-03-16T19:57:01Z josh_2 quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-16T19:57:41Z LiamH joined #lisp 2017-03-16T19:59:34Z fourier joined #lisp 2017-03-16T20:00:49Z nirved quit (Quit: Leaving) 2017-03-16T20:01:56Z b5decdebc1b26d3 joined #lisp 2017-03-16T20:04:32Z fourier quit (Ping timeout: 260 seconds) 2017-03-16T20:07:05Z ChrisOei quit (Quit: ChrisOei) 2017-03-16T20:10:43Z sellout- quit (Ping timeout: 246 seconds) 2017-03-16T20:11:12Z afidegnum quit (Ping timeout: 260 seconds) 2017-03-16T20:12:05Z afidegnum joined #lisp 2017-03-16T20:13:25Z fourier joined #lisp 2017-03-16T20:14:11Z dreamcompiler quit (Quit: dreamcompiler) 2017-03-16T20:14:52Z dreamcompiler joined #lisp 2017-03-16T20:17:18Z jtza8 joined #lisp 2017-03-16T20:17:57Z impulse quit (Ping timeout: 240 seconds) 2017-03-16T20:18:19Z mcrist_ quit (Quit: Page closed) 2017-03-16T20:20:00Z green```` joined #lisp 2017-03-16T20:20:08Z jtza8 quit (Remote host closed the connection) 2017-03-16T20:22:20Z TDT joined #lisp 2017-03-16T20:24:04Z green``` quit (Ping timeout: 256 seconds) 2017-03-16T20:26:43Z eschatologist quit (Quit: ZNC 1.6.3+deb2 - http://znc.in) 2017-03-16T20:27:27Z sellout- joined #lisp 2017-03-16T20:27:29Z Karl_Dscc quit (Remote host closed the connection) 2017-03-16T20:27:54Z eschatologist joined #lisp 2017-03-16T20:28:52Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-16T20:30:22Z kushal quit (Ping timeout: 264 seconds) 2017-03-16T20:31:52Z kushal joined #lisp 2017-03-16T20:32:16Z kushal is now known as Guest29399 2017-03-16T20:32:57Z Devon joined #lisp 2017-03-16T20:36:44Z rumbler31 joined #lisp 2017-03-16T20:37:40Z Devon quit (Ping timeout: 246 seconds) 2017-03-16T20:39:29Z rumbler31 quit (Remote host closed the connection) 2017-03-16T20:39:45Z rumbler31 joined #lisp 2017-03-16T20:42:22Z b5decdebc1b26d3 quit (Remote host closed the connection) 2017-03-16T20:42:46Z Harag quit (Ping timeout: 256 seconds) 2017-03-16T20:43:02Z shka_ quit (Ping timeout: 260 seconds) 2017-03-16T20:45:02Z scymtym quit (Read error: Connection reset by peer) 2017-03-16T20:51:46Z Josh_2 joined #lisp 2017-03-16T20:55:12Z mishoo joined #lisp 2017-03-16T20:57:33Z snowcrshd quit (Remote host closed the connection) 2017-03-16T20:58:39Z neuronsong joined #lisp 2017-03-16T21:00:04Z EvW joined #lisp 2017-03-16T21:00:12Z Baggers joined #lisp 2017-03-16T21:03:27Z vlatkoB_ quit (Remote host closed the connection) 2017-03-16T21:06:18Z shka_ joined #lisp 2017-03-16T21:11:49Z ttt72 joined #lisp 2017-03-16T21:17:46Z vydd joined #lisp 2017-03-16T21:17:46Z vydd quit (Changing host) 2017-03-16T21:17:47Z vydd joined #lisp 2017-03-16T21:20:55Z angavrilov quit (Remote host closed the connection) 2017-03-16T21:22:11Z okflo joined #lisp 2017-03-16T21:23:35Z failproofshark quit (Ping timeout: 240 seconds) 2017-03-16T21:25:34Z seg quit (Ping timeout: 258 seconds) 2017-03-16T21:26:58Z stepnem quit (Ping timeout: 256 seconds) 2017-03-16T21:27:47Z okflo quit (Remote host closed the connection) 2017-03-16T21:28:12Z neoncontrails joined #lisp 2017-03-16T21:29:02Z ttt72 quit (Quit: ttt72) 2017-03-16T21:29:27Z ttt72 joined #lisp 2017-03-16T21:30:13Z seg joined #lisp 2017-03-16T21:32:15Z stepnem joined #lisp 2017-03-16T21:34:01Z ttt72 quit (Client Quit) 2017-03-16T21:34:26Z ttt72 joined #lisp 2017-03-16T21:35:35Z shka_ quit (Ping timeout: 240 seconds) 2017-03-16T21:36:42Z troydm quit (Ping timeout: 260 seconds) 2017-03-16T21:39:04Z RedEight joined #lisp 2017-03-16T21:39:51Z wtetzner joined #lisp 2017-03-16T21:40:20Z wheelsucker quit (Remote host closed the connection) 2017-03-16T21:44:47Z Einwq quit (Quit: Leaving) 2017-03-16T21:51:09Z Lord_of_Life quit (Excess Flood) 2017-03-16T21:51:27Z defaultxr quit (Ping timeout: 240 seconds) 2017-03-16T21:51:28Z Lord_of_Life joined #lisp 2017-03-16T21:53:43Z ttt72 quit (Quit: ttt72) 2017-03-16T21:54:10Z ttt72 joined #lisp 2017-03-16T21:56:19Z warweasle` joined #lisp 2017-03-16T21:56:48Z pmc joined #lisp 2017-03-16T21:57:30Z gargaml joined #lisp 2017-03-16T21:58:04Z pmc: What is wrong with this? I get #'equal is not a function name: (apply #'adjoin '(a) '(b c) '(:test #'equal)) 2017-03-16T21:58:23Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2017-03-16T21:58:51Z warweasle` is now known as warweasle 2017-03-16T21:59:52Z _death: #'equal is just a shorthand for (function equal) 2017-03-16T22:00:31Z pmc: oh, ok, thanks. 2017-03-16T22:01:09Z ttt72 quit (Quit: ttt72) 2017-03-16T22:01:19Z mathrick quit (Ping timeout: 246 seconds) 2017-03-16T22:01:20Z afidegnum quit (Ping timeout: 260 seconds) 2017-03-16T22:01:36Z ttt72 joined #lisp 2017-03-16T22:02:05Z afidegnum joined #lisp 2017-03-16T22:03:47Z phoe: pmc: if anything, you might perhaps want (apply #'adjoin '(a) '(b c) `(:test ,#'equal)) 2017-03-16T22:03:58Z phoe: either that, so you get the function object 2017-03-16T22:04:11Z phoe: or, so you get the function name: 2017-03-16T22:04:23Z phoe: (apply #'adjoin '(a) '(b c) '(:test equal)) 2017-03-16T22:04:26Z vydd quit (Remote host closed the connection) 2017-03-16T22:04:38Z phoe: although this feels somewhat unnatural to write. 2017-03-16T22:04:59Z _death: could also use LIST 2017-03-16T22:05:01Z vydd joined #lisp 2017-03-16T22:05:01Z vydd quit (Changing host) 2017-03-16T22:05:01Z vydd joined #lisp 2017-03-16T22:05:09Z phoe: first, you know all arguments, so there's a redundant #'APPLY in this case - and second, I'm not quoting EQUAL, I'm quoting '(:TEST EQUAL). 2017-03-16T22:05:33Z phoe: _death: oh yes, right - backtick will expand into something equivalent anyway 2017-03-16T22:07:17Z sellout- quit (Quit: Leaving.) 2017-03-16T22:07:34Z strelox quit (Remote host closed the connection) 2017-03-16T22:09:22Z vydd quit (Ping timeout: 260 seconds) 2017-03-16T22:09:58Z knicklux quit (Ping timeout: 264 seconds) 2017-03-16T22:10:10Z klltkr joined #lisp 2017-03-16T22:10:52Z water joined #lisp 2017-03-16T22:11:28Z water is now known as Guest44009 2017-03-16T22:13:20Z lemon quit (Ping timeout: 240 seconds) 2017-03-16T22:14:13Z ttt72 quit (Quit: ttt72) 2017-03-16T22:14:39Z ttt72 joined #lisp 2017-03-16T22:14:50Z phoe quit (Ping timeout: 240 seconds) 2017-03-16T22:17:20Z knicklux joined #lisp 2017-03-16T22:20:14Z EvW quit (Ping timeout: 256 seconds) 2017-03-16T22:20:46Z gargaml quit (Quit: WeeChat 1.7) 2017-03-16T22:22:24Z phoe joined #lisp 2017-03-16T22:22:26Z EvW1 joined #lisp 2017-03-16T22:23:01Z gingerale quit (Remote host closed the connection) 2017-03-16T22:23:43Z defaultxr joined #lisp 2017-03-16T22:25:26Z prole quit (Remote host closed the connection) 2017-03-16T22:27:25Z ttt72 quit (Quit: ttt72) 2017-03-16T22:27:50Z ttt72 joined #lisp 2017-03-16T22:32:35Z BusFactor1 quit (Ping timeout: 240 seconds) 2017-03-16T22:32:42Z libreman quit (Ping timeout: 268 seconds) 2017-03-16T22:33:08Z libreman joined #lisp 2017-03-16T22:34:00Z defaultxr quit (Ping timeout: 260 seconds) 2017-03-16T22:35:14Z ttt72 quit (Quit: ttt72) 2017-03-16T22:35:39Z ttt72 joined #lisp 2017-03-16T22:36:05Z pmc: (member '(a) '(b c) :test equal) 2017-03-16T22:36:09Z pmc: oops 2017-03-16T22:37:28Z cromachina joined #lisp 2017-03-16T22:42:09Z Josh_2 quit (Remote host closed the connection) 2017-03-16T22:44:38Z knicklux quit (Remote host closed the connection) 2017-03-16T22:44:57Z mishoo quit (Ping timeout: 260 seconds) 2017-03-16T22:48:16Z dyelar quit (Quit: Leaving.) 2017-03-16T22:50:46Z cibs quit (Ping timeout: 264 seconds) 2017-03-16T22:52:18Z cibs joined #lisp 2017-03-16T22:53:00Z ttt72 quit (Quit: ttt72) 2017-03-16T22:56:10Z libreman quit (Ping timeout: 264 seconds) 2017-03-16T22:56:38Z libreman joined #lisp 2017-03-16T23:02:48Z LiamH quit (Quit: Leaving.) 2017-03-16T23:05:37Z phoe quit (Ping timeout: 258 seconds) 2017-03-16T23:07:29Z phoe joined #lisp 2017-03-16T23:12:43Z didi quit (Ping timeout: 246 seconds) 2017-03-16T23:15:13Z vydd joined #lisp 2017-03-16T23:15:42Z vydd quit (Remote host closed the connection) 2017-03-16T23:16:14Z vydd joined #lisp 2017-03-16T23:20:46Z vydd quit (Ping timeout: 264 seconds) 2017-03-16T23:21:30Z Baggers quit (Remote host closed the connection) 2017-03-16T23:24:44Z ebrasca joined #lisp 2017-03-16T23:25:15Z megalography quit (Quit: Leaving.) 2017-03-16T23:25:28Z defaultxr joined #lisp 2017-03-16T23:26:25Z eSVG joined #lisp 2017-03-16T23:28:58Z foojin quit (Quit: leaving) 2017-03-16T23:29:52Z svgDelux quit (Ping timeout: 246 seconds) 2017-03-16T23:34:16Z quazimodo joined #lisp 2017-03-16T23:35:35Z pve quit (Ping timeout: 240 seconds) 2017-03-16T23:44:14Z wildlander quit (Quit: Saliendo) 2017-03-16T23:44:55Z cibs quit (Ping timeout: 246 seconds) 2017-03-16T23:46:50Z cibs joined #lisp 2017-03-16T23:48:32Z varjag quit (Ping timeout: 260 seconds) 2017-03-16T23:49:46Z Kaisyu joined #lisp 2017-03-16T23:52:38Z kobain quit (Ping timeout: 252 seconds) 2017-03-16T23:52:57Z fourier quit (Ping timeout: 240 seconds) 2017-03-16T23:53:54Z wtetzner quit (Remote host closed the connection) 2017-03-16T23:55:04Z ebrasca is now known as ebrasca-afk 2017-03-16T23:55:31Z tharugrim joined #lisp 2017-03-16T23:58:53Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-17T00:01:47Z ebrasca-afk quit (Remote host closed the connection) 2017-03-17T00:02:14Z TDT quit (Ping timeout: 256 seconds) 2017-03-17T00:03:39Z sjl quit (Read error: Connection reset by peer) 2017-03-17T00:04:00Z afidegnum: hi, anyone online? 2017-03-17T00:04:39Z BlueRavenGT quit (Ping timeout: 258 seconds) 2017-03-17T00:04:44Z pjb: This question is not on-topic here. 2017-03-17T00:05:12Z Xach: hi afidegnum 2017-03-17T00:05:46Z pjb: afidegnum: try /join #isanybodyinthere 2017-03-17T00:05:53Z afidegnum: :) 2017-03-17T00:06:08Z afidegnum: i have installed sbcl, emacs and slime 2017-03-17T00:06:16Z Xach: that is a good start 2017-03-17T00:06:22Z afidegnum: but how do i configure slime to automatically close the brackets? 2017-03-17T00:06:35Z pjb: afidegnum: by installing paredit.el 2017-03-17T00:06:46Z pjb: https://www.emacswiki.org/emacs/ParEdit 2017-03-17T00:06:51Z Xach: afidegnum: i use an emacs program called paredit for that 2017-03-17T00:06:57Z afidegnum: apt-get install paredit.el ? 2017-03-17T00:07:01Z Xach: afidegnum: do you know how package-install works? that's how i get paredit. 2017-03-17T00:07:08Z Xach: it is another emacs program. 2017-03-17T00:07:17Z afidegnum: ok 2017-03-17T00:07:27Z Xach: Then I think I add a hook to lisp-mode-hook that enables paredit-mode. 2017-03-17T00:07:32Z afidegnum: so i need to type package-install in emacs right? 2017-03-17T00:07:50Z pjb: M-x package-install RET paredit RET 2017-03-17T00:08:13Z afidegnum: ok 2017-03-17T00:08:48Z thodg joined #lisp 2017-03-17T00:09:07Z Xach: afidegnum: I don't know the best way, but I use http://paste.lisp.org/display/341562 in my .emacs to make package-install work 2017-03-17T00:10:30Z afidegnum: ok, 2017-03-17T00:10:50Z kobain joined #lisp 2017-03-17T00:10:57Z kobain quit (Changing host) 2017-03-17T00:10:57Z kobain joined #lisp 2017-03-17T00:11:13Z afidegnum: ok, i m somehownew in emacs, not too much familiar 2017-03-17T00:11:19Z afidegnum: the screen split into 2 2017-03-17T00:11:25Z afidegnum: how do i close 1? 2017-03-17T00:11:32Z Xach: afidegnum: C-x 1 2017-03-17T00:11:56Z Xach: this is not a great channel for introductory emacs help though. 2017-03-17T00:12:06Z pillton: Try C-h t 2017-03-17T00:15:05Z afidegnum: Xach sorry for disturbing again, where do i apply the settings at http://paste.lisp.org/display/341562 ? 2017-03-17T00:15:58Z Xach: afidegnum: I put the lines in my .emacs, then the next time I start I can use M-x list-packages to choose which to install. 2017-03-17T00:16:47Z afidegnum: ok, but as suggested earlier, does paredit automatically sets emacs or i need to configure it again? 2017-03-17T00:17:34Z Xach: afidegnum: I have a thing in my lisp-mode-hook that calls (paredit-mode 1) 2017-03-17T00:19:32Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-17T00:20:50Z thodg quit (Ping timeout: 240 seconds) 2017-03-17T00:21:28Z afidegnum: i have typed lisp-mode-hook in emacs and no effect 2017-03-17T00:23:00Z thodg joined #lisp 2017-03-17T00:26:44Z pmc quit (Quit: Leaving) 2017-03-17T00:27:03Z scymtym joined #lisp 2017-03-17T00:28:52Z EvW1 quit (Ping timeout: 256 seconds) 2017-03-17T00:34:52Z stepnem quit (Ping timeout: 260 seconds) 2017-03-17T00:39:20Z sz0 joined #lisp 2017-03-17T00:43:40Z Xach: lisp-mode-hook is a thing that has functions to run when you enter lisp-mode 2017-03-17T00:49:14Z RedEight quit (Quit: leaving) 2017-03-17T00:57:02Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-17T00:58:59Z shdeng joined #lisp 2017-03-17T01:00:23Z shdeng quit (Max SendQ exceeded) 2017-03-17T01:00:50Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-17T01:01:32Z wtetzner joined #lisp 2017-03-17T01:02:35Z shdeng joined #lisp 2017-03-17T01:20:57Z daviid joined #lisp 2017-03-17T01:22:43Z loke joined #lisp 2017-03-17T01:23:24Z daviid: hello! playing with clos, I wrote a tiny example for myself, here http://paste.lisp.org/+7BJX but i do not have what i expect, anyone can kindly help me ? 2017-03-17T01:23:47Z daviid: when i use the above paste caode (using sbcl) i get this: 2017-03-17T01:24:26Z daviid: * (setf (width a1) 10) 2017-03-17T01:24:26Z daviid: 2017-03-17T01:24:26Z daviid: 10 2017-03-17T01:25:03Z daviid: so it's not calling my (setf width) method, why? 2017-03-17T01:26:13Z FreeBirdLjj joined #lisp 2017-03-17T01:27:56Z wtetzner quit (Remote host closed the connection) 2017-03-17T01:28:30Z Bike: setf functions take the new value as their first argument. 2017-03-17T01:29:37Z daviid: Bike: is my defmethod definition correct, then the call wrong or everything is wrong? 2017-03-17T01:30:18Z Bike: your definition is incorrect, because the first argument (which you specialize on) will be 10, not an 2017-03-17T01:30:37Z Bike: and even if you fixed that, the defclass defines a setf method (with :accessor) so it would be a redefinition and that's a little odd 2017-03-17T01:30:55Z Xach: it is very very odd to return something other than the new value, too 2017-03-17T01:30:55Z afidegnum: while looking at https://www.emacswiki.org/emacs/ParEdit and in the portion ParEdit and "Electric RETURN" do i add the associated expressions in .emacs ? 2017-03-17T01:31:24Z nyef: It is, in point of fact, a spec violation to return anything other than the new value. 2017-03-17T01:31:28Z daviid: Bike: i don't understand, i don't specialize on 10, i specialize on self 2017-03-17T01:31:34Z FreeBirdLjj quit (Ping timeout: 264 seconds) 2017-03-17T01:31:43Z Bike: daviid: yes, but self will be the first argument the function gets 2017-03-17T01:31:49Z nyef: daviid: It should be (val (self )), not ((self ) val). 2017-03-17T01:31:56Z Bike: daviid: (setf (width a1) 10) macroexpands into something like (funcall #'(setf width) 10 a1) 2017-03-17T01:32:08Z daviid: Bike: ah thanks, let me try 2017-03-17T01:32:22Z cibs quit (Ping timeout: 260 seconds) 2017-03-17T01:32:31Z Xach: nyef: i was trying to look it up, but failed. do you know the right place to check? 2017-03-17T01:33:07Z arescorpio joined #lisp 2017-03-17T01:33:18Z daviid: Bike: it works thanks 2017-03-17T01:34:18Z cibs joined #lisp 2017-03-17T01:34:58Z afidegnum: any answer ? 2017-03-17T01:35:00Z nyef: clhs 5.1.2.9 2017-03-17T01:35:00Z specbot: Other Compound Forms as Places: http://www.lispworks.com/reference/HyperSpec/Body/05_abi.htm 2017-03-17T01:35:24Z nyef: Last sentence, provides the restriction and a justification for it. 2017-03-17T01:35:28Z atheris joined #lisp 2017-03-17T01:37:52Z jibanes quit (Ping timeout: 260 seconds) 2017-03-17T01:37:55Z daviid: Xach: this is an example, I did change the value on purpose, to test and learn, it is not e 'real thing' 2017-03-17T01:38:14Z nyef: Note that this section also means that if you define your setf functions to return something other than the new value, a conforming implementation is required to return the return value from your function, and not to override it. 2017-03-17T01:38:31Z Xach: daviid: now you have learned not to return a different value, too! 2017-03-17T01:39:29Z daviid: Bike: I beleive using :accessor, then when I need it, for some classes, redefineing the setf method is not 'bad style' 2017-03-17T01:39:43Z jibanes joined #lisp 2017-03-17T01:39:57Z Bike: daviid: you use setf slot value anyway, so you can just have :reader 2017-03-17T01:40:06Z daviid: Xach: actually, I disagree, but thanks for your input 2017-03-17T01:40:19Z Bike: disagree? it's how setf is defined 2017-03-17T01:40:22Z Xach: you did not learn it? 2017-03-17T01:40:23Z nyef: I believe that it's bad style because you look at the slot definition, see :accessor, and stop looking for further setf functions. 2017-03-17T01:42:25Z afidegnum: i have aplied the settings with no result, any hand? 2017-03-17T01:45:48Z shdeng quit (Ping timeout: 260 seconds) 2017-03-17T01:46:48Z ryanwatkins quit (Remote host closed the connection) 2017-03-17T01:49:42Z fourier joined #lisp 2017-03-17T01:53:16Z pjb: Lisping on the GPU [video] 2017-03-17T01:53:23Z FreeBirdLjj joined #lisp 2017-03-17T01:54:52Z daviid: I don't beleive method redefinition is bad style, i beleive it is at th heart of clos. for info, in scheme (I'm a schemer actually :)), set! on location vriable returned value is unspecified, which I think is better. I have no problem with a specific class redefining the setf method for some of its slots, and the value precisely being the resly of a computation upon 'val' ... but hey, thanks all for the help! 2017-03-17T01:55:07Z fourier quit (Ping timeout: 260 seconds) 2017-03-17T01:57:47Z afidegnum: I have style warnings when i press enter before end bracket, what's the best way to sort this? 2017-03-17T01:57:48Z Bike: but you don't have to redefine it anyway 2017-03-17T01:57:58Z nyef: Function (and thus method) redefinition is at the heart of interactive programming. That doesn't mean that it's good style for a finished program, just that it's useful while developing and debugging a program so that you don't have to restart your process from scratch each time you make a change. 2017-03-17T01:57:59Z Bike: you can just define it, by doing what you did but with :reader instead of :accessor 2017-03-17T01:58:15Z shifty joined #lisp 2017-03-17T02:00:06Z libreman quit (Ping timeout: 256 seconds) 2017-03-17T02:00:18Z warweasle quit (Quit: night all) 2017-03-17T02:00:36Z libreman joined #lisp 2017-03-17T02:04:19Z shdeng joined #lisp 2017-03-17T02:06:03Z daviid: Bike: I'm playing... in real cases, the redefinition wouldoccur at sybclass level 2017-03-17T02:07:17Z warweasle joined #lisp 2017-03-17T02:07:40Z Bike: if the superclass defines it with :accessor and a subclass defines its own more specific method that's not a redefinition 2017-03-17T02:09:56Z nyef: Though, in the case of a subclass override, it will typically be a :BEFORE or :AFTER method, or an :AROUND that uses CALL-NEXT-METHOD... 2017-03-17T02:16:17Z jack_rabbit joined #lisp 2017-03-17T02:19:28Z shdeng quit (Excess Flood) 2017-03-17T02:19:54Z shdeng joined #lisp 2017-03-17T02:21:11Z krwq joined #lisp 2017-03-17T02:21:16Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-17T02:22:10Z D310S joined #lisp 2017-03-17T02:25:08Z pjb quit (Ping timeout: 240 seconds) 2017-03-17T02:31:42Z Karl_Dscc joined #lisp 2017-03-17T02:32:28Z shdeng quit (Quit: Leaving) 2017-03-17T02:32:43Z Harag joined #lisp 2017-03-17T02:41:30Z warweasle quit (Read error: Connection reset by peer) 2017-03-17T02:44:22Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-17T02:46:07Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-03-17T02:46:34Z D310S quit (Quit: D310S) 2017-03-17T02:49:19Z shdeng joined #lisp 2017-03-17T02:49:52Z wtetzner joined #lisp 2017-03-17T02:53:44Z warweasle joined #lisp 2017-03-17T02:58:55Z Karl_Dscc quit (Remote host closed the connection) 2017-03-17T03:00:46Z atheris quit (Quit: Ex-Chat) 2017-03-17T03:00:57Z atheris joined #lisp 2017-03-17T03:01:19Z warweasle quit (Remote host closed the connection) 2017-03-17T03:03:22Z libreman quit (Ping timeout: 264 seconds) 2017-03-17T03:03:48Z libreman joined #lisp 2017-03-17T03:05:28Z daviid quit (Ping timeout: 246 seconds) 2017-03-17T03:11:28Z rumbler31 quit (Remote host closed the connection) 2017-03-17T03:16:19Z filwisher quit (Ping timeout: 240 seconds) 2017-03-17T03:16:26Z filwisher joined #lisp 2017-03-17T03:16:39Z smokeink joined #lisp 2017-03-17T03:29:52Z green```` quit (Ping timeout: 260 seconds) 2017-03-17T03:32:04Z rumbler31 joined #lisp 2017-03-17T03:34:26Z sellout- joined #lisp 2017-03-17T03:36:19Z rumbler31 quit (Ping timeout: 240 seconds) 2017-03-17T03:40:41Z jleija joined #lisp 2017-03-17T03:47:24Z lnostdal quit (Read error: Connection reset by peer) 2017-03-17T03:47:42Z lnostdal joined #lisp 2017-03-17T03:52:08Z daviid joined #lisp 2017-03-17T03:57:38Z wtetzner quit (Remote host closed the connection) 2017-03-17T03:59:33Z bmilk joined #lisp 2017-03-17T04:01:45Z safe joined #lisp 2017-03-17T04:13:48Z rumbler31 joined #lisp 2017-03-17T04:18:05Z rumbler31 quit (Ping timeout: 240 seconds) 2017-03-17T04:20:00Z neuronsong quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-17T04:23:00Z CEnnis91 quit (Quit: Connection closed for inactivity) 2017-03-17T04:23:52Z atheris quit (Ping timeout: 246 seconds) 2017-03-17T04:24:27Z daviid quit (Ping timeout: 260 seconds) 2017-03-17T04:28:00Z bmilk quit (Remote host closed the connection) 2017-03-17T04:33:57Z Harag quit (Ping timeout: 240 seconds) 2017-03-17T04:34:42Z rumbler31 joined #lisp 2017-03-17T04:35:28Z mathrick joined #lisp 2017-03-17T04:36:52Z beach: Good morning everyone! 2017-03-17T04:39:24Z rumbler31 quit (Ping timeout: 260 seconds) 2017-03-17T04:40:21Z beach: It is strange to me to see people come here for help with simple Common Lisp questions and then reject the advice given. 2017-03-17T04:41:32Z scottj joined #lisp 2017-03-17T04:42:14Z neuronsong joined #lisp 2017-03-17T04:42:48Z safe quit (Read error: Connection reset by peer) 2017-03-17T04:48:38Z jleija quit (Quit: leaving) 2017-03-17T04:52:07Z phoe: beach: such is life. 2017-03-17T04:52:12Z phoe: Also, good morning! 2017-03-17T04:52:22Z axion: nyef: The next jam will be on April 15th, if you want to retry 2017-03-17T04:52:27Z nydel: beach: it doesn't go to waste at least. i can't be the only lurker hat reads & takes it all to heart 2017-03-17T04:52:42Z beach: nydel: Very good point. 2017-03-17T04:54:11Z aeth: There's probably 10 people reading for everyone commenting, especially on a logged channel. 2017-03-17T05:01:14Z nyef: axion: I'll consider it. Thank you for the heads-up. 2017-03-17T05:04:19Z beach: Would it be possible to implement the reader macros #n= and #n# in a portable way using closer-mop? Maybe the answer is "no" because if structs? 2017-03-17T05:07:16Z beach: I think we (i.e. Lispers) are very lucky in that we have many excellent implementations with different characteristics, but then the language makes it possible to create these "compatibility libraries" like closer-mop, Bordeaux threads, etc. 2017-03-17T05:09:37Z phoe: beach: because of structs? Can you provide an example? 2017-03-17T05:10:12Z phoe: beach: and we're lucky to have a specification that's so full of flaws and quirks but nonetheless provides for a very good, versatile and solid base language. 2017-03-17T05:10:24Z beach: What I mean is that clos-mop allows you to access slots in standard objects, but (as I recall) there is no such thing for structure objects. 2017-03-17T05:10:42Z phoe: Correct, the only way to access slots of structure objects is through accessors. 2017-03-17T05:10:46Z cibs quit (Ping timeout: 246 seconds) 2017-03-17T05:11:09Z phoe: So you would actually need to override DEFSTRUCT in order to memorize all the created accessors somewhere and then use them for slot access. 2017-03-17T05:11:35Z aeth: That's another thing that needs to be improved in a future spec: structs. 2017-03-17T05:11:48Z phoe: Like - implement your own version of it that 1) finds and memorizes the accessors, 2) calls CL:DEFSTRUCT. 2017-03-17T05:11:49Z beach: phoe: People happily use languages that not only have no specification, but with a behavior that can change according to the whims of a single person at any time. 2017-03-17T05:12:00Z phoe: beach: well, they reap what they sow. 2017-03-17T05:12:44Z cibs joined #lisp 2017-03-17T05:13:12Z phoe: aeth: yes, in a way. While I can see that structs are there because they are "fast", I have no idea why an average Lisp image cannot store information that allows one to use SLOT-VALUE on them. 2017-03-17T05:13:54Z rpg quit (Ping timeout: 256 seconds) 2017-03-17T05:14:11Z beach: What I meant to say was that the Common Lisp specification is an excellent piece of work. People who complain (and I don't mean you) about it are often the same people that I referred to, i.e., they happily use languages without any sort of specification. 2017-03-17T05:14:21Z phoe: For example, if we have a structure of A, B, C, D, where A, B, D are (vector base-char 8) and C is fixnum - this should pack well in memory. 2017-03-17T05:14:24Z phoe: BUT 2017-03-17T05:14:30Z bocaneri joined #lisp 2017-03-17T05:14:31Z aeth: phoe: I like structs, the data structure. They're simple, they have typed slots, they're fast (because afaik the typecheck is only on assignment). I *hate* working with structs. 2017-03-17T05:14:44Z phoe: The Lisp image can actually memorize that slot A refers to that bit of memory of that type. 2017-03-17T05:15:03Z phoe: I see no reason why (slot-value slot-instance 'a) should NOT be able to always refer to this bit of memory. 2017-03-17T05:15:43Z Harag joined #lisp 2017-03-17T05:15:47Z arescorpio quit (Quit: Leaving.) 2017-03-17T05:15:59Z phoe: If Lisp knows where to look for, what type is the value and therefore how long is the value, then this would be the only bit of CLOS that needs to be implementation-defined. 2017-03-17T05:16:04Z rumbler31 joined #lisp 2017-03-17T05:16:37Z phoe: Same thing with condition objects. 2017-03-17T05:16:50Z phoe: beach: I know what you mean. 2017-03-17T05:17:13Z beach: phoe: Are you saying that a particular slot should always have the same offset in every object in which the slot exists? 2017-03-17T05:17:21Z phoe: aeth: the rationale for the condition system *NOT* being merged into CLOS was, the X3J13 wanted to be able to ship CLOSless versions of Lisp at some point in time. 2017-03-17T05:17:25Z phoe: beach: not really. 2017-03-17T05:17:55Z beach: phoe: So I don't understand what you mean by "refer to that bit of memory". 2017-03-17T05:18:09Z aeth: phoe: I agree with what you said, and I'd also love to be able to declare "this array will only store this type of struct" and then Lisp is the perfect language and there's never any reason to use any other language. 2017-03-17T05:18:10Z phoe: You have two structures, FOO which has slots A B C D E and BAR which has slots C D E F G. Obviously, the slots C D E have different offsets. 2017-03-17T05:18:26Z beach: Right. 2017-03-17T05:18:33Z phoe: Now let's say (SLOT-VALUE SOME-STRUCT 'C). 2017-03-17T05:18:41Z phoe: What does the compiler see here? 2017-03-17T05:18:50Z beach: Er, is SLOT-VALUE even defined for structs? 2017-03-17T05:18:55Z phoe: Nope. 2017-03-17T05:19:02Z phoe: I'm talking about a hypothetic situation here. 2017-03-17T05:19:08Z beach: OK, Sorry. 2017-03-17T05:19:10Z phoe: No problem. 2017-03-17T05:19:21Z phoe: The compiler sees that we'll be accessing the slot C in some structure. 2017-03-17T05:19:31Z phoe: It knows that for FOO, it's the third slot, for BAR, it's the first one. 2017-03-17T05:19:51Z phoe: It can runtime-check the type and it'll know the offset of the slot and its type. 2017-03-17T05:19:54Z phoe: So it can access it. 2017-03-17T05:20:16Z phoe: Further, if we declare the type of the structure, the compiler will be able to skip the dispatch and go straight for the access. 2017-03-17T05:20:31Z rumbler31 quit (Ping timeout: 258 seconds) 2017-03-17T05:20:46Z phoe: With (optimize (speed 3) (safety 0) (debug 0)), it'll probably trust the programmer enough to skip the type check as well. 2017-03-17T05:20:48Z beach: Provided the implementation does not allow for the structure definition to change later. 2017-03-17T05:21:00Z phoe: Well, that's undefined anyway. 2017-03-17T05:21:10Z beach: Indeed. 2017-03-17T05:21:37Z phoe: But - I bet an implementation can make its way out of this trouble, too. 2017-03-17T05:21:59Z phoe: I'm just saying that SLOT-VALUE *can* be extended to structs *without* turning the structs into full CLOS objects. 2017-03-17T05:22:20Z phoe: Pros? Usability and natural access for structures. 2017-03-17T05:22:37Z beach: By "CLOS object" I assume you mean "standard object". Every object is a CLOS object. 2017-03-17T05:22:41Z phoe: Cons? This is a part of CLOS that needs to be either implementation-dependent or tied to DEFSTRUCT in form of a wrapper. 2017-03-17T05:22:46Z phoe: beach: correct, standard object. 2017-03-17T05:24:06Z phoe: ... 2017-03-17T05:24:10Z phoe: I actually wonder. 2017-03-17T05:24:31Z beach: Well, in SICL, I plan to make it possible to redefine structure classes, so they will basically be the same as standard classes. 2017-03-17T05:24:39Z phoe: beach: I think it is possible to create a compatibility library that will allow one to portably use SLOT-VALUE on structure-objects. 2017-03-17T05:24:56Z beach: Sounds reasonable. 2017-03-17T05:25:30Z phoe: Such a library will shadow DEFSTRUCT. 2017-03-17T05:25:47Z phoe: Read and parse it, generate a list of accessors and store them somewhere. 2017-03-17T05:25:58Z beach: I think what people worry about with standard classes compared to structure classes is performance, but with my generic dispatch technique makes that much less of a problem, if any at all. 2017-03-17T05:26:01Z phoe: Then call whatever DEFSTRUCT the implementation provides. 2017-03-17T05:26:03Z aeth: phoe: will it affect performance? 2017-03-17T05:26:34Z phoe: aeth: if you declare types well enough, I hope it won't. 2017-03-17T05:26:55Z aeth: If it doesn't affect performance, I'd love to use it in my game engine. 2017-03-17T05:27:01Z phoe: I hope the compiler's type inference will be smart enough for this. 2017-03-17T05:27:03Z aeth: I have to use structs a lot where I would rather use classes. 2017-03-17T05:27:29Z aeth: Structs are the perfect fit for quite a lot of a traditional game engine. 2017-03-17T05:27:29Z phoe: Because I want to somehow - I don't exactly know how yet - utilize compiler macros to let the compiler know. 2017-03-17T05:28:56Z phoe: I want to tell the compiler: if, in (slot-value a 'b), A is of type FOO, then you can safely replace the call to SLOT-VALUE with the call to an accessor stored back when we called the wrapped DEFSTRUCT. 2017-03-17T05:29:14Z phoe: The accessor for slot B, that is. 2017-03-17T05:29:37Z phoe: Except - can I define such strongly typed compiler macros portably/with MOP? 2017-03-17T05:30:37Z Bike: environment information isn't standardly accessible from environments and even if it was it would be only lexical yada yada yada 2017-03-17T05:31:32Z phoe: Haha, yes. 2017-03-17T05:31:43Z phoe: So we need to go down the implementation-defined way. 2017-03-17T05:31:55Z phoe: Good enough I think. 2017-03-17T05:32:03Z Bike: eh. maybe. 2017-03-17T05:32:21Z phoe: Although it would be fun to have it in a specification - access to compile-time information about types. 2017-03-17T05:32:25Z aeth: The solution is clearly (1) create a much better website to present the CL spec. (2) subtly fix the issues in the spec. (3) hope no one notices. 2017-03-17T05:32:35Z phoe: aeth: haha. 2017-03-17T05:32:41Z aeth: once everyone goes to the new authoritative website... 2017-03-17T05:33:12Z phoe: (define-typed-compiler-macro (slot-value (object foo-struct) (slot (eq 'a))) ...) 2017-03-17T05:33:17Z phoe: I'd imagine it like that. 2017-03-17T05:33:30Z phoe: Or differently, that's just an idea. 2017-03-17T05:33:47Z aeth: I guess you could sum up all the flaws in CL with one word: "types" 2017-03-17T05:33:48Z aeth: :p 2017-03-17T05:35:06Z phoe: Or perhaps (define-compiler-macro (...) (if (and (the-p object 'foo-struct) (the-p slot (eq 'a))) ... ...)) 2017-03-17T05:35:32Z phoe: Bike: beach: isn't this the TYPEQ stuff you've been working on in Cleavir/Clasp IIRC? 2017-03-17T05:36:37Z Bike quit (Ping timeout: 258 seconds) 2017-03-17T05:39:42Z pillton: beach: There is also the possibility that people use defstruct precisely because it defines functions rather than generic functions. 2017-03-17T05:40:41Z Bike joined #lisp 2017-03-17T05:40:58Z beach: pillton: Indeed. But why would they care? 2017-03-17T05:41:35Z phoe: pillton: that's more or less congruent with what we said. The accessors it defined aren't accessors for some subclass of STANDARD-OBJECT, they're accessors for STRUCTURE-OBJECTS. 2017-03-17T05:41:45Z phoe: But this fact alone doesn't yet say anything about speed. 2017-03-17T05:41:48Z pillton: beach: Well, as a user you wonder if you are supposed to implement it. 2017-03-17T05:42:09Z phoe: It's the fact that you have dispatch on STANDARD-OBJECTs and not on STRUCTURE-OBJECTs. 2017-03-17T05:42:10Z beach: phoe: TYPEQ is just TYPEP with a type argument that is not evaluated. 2017-03-17T05:42:16Z pillton: beach: As an implementor, you worry if someone extends the function with a method. 2017-03-17T05:42:18Z phoe: beach: oh. Um. 2017-03-17T05:42:47Z Bike: phoe: compile-time information about types is #problematic because no serious type inference is going to operate on source forms 2017-03-17T05:43:11Z Bike: it's easy to extend things to have explicitly declared type information, of course, but that's boring 2017-03-17T05:43:28Z phoe: Bike: I'm talking about such a case, with explicitly declared types. 2017-03-17T05:43:43Z Bike: yeah i'm just sayin 2017-03-17T05:44:10Z phoe: I think aeth would actually like to have (declare (type foo-struct foo bar baz)) and then go all the way with SLOT-VALUE 2017-03-17T05:45:05Z vlatkoB joined #lisp 2017-03-17T05:45:06Z neuronsong quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-17T05:46:25Z beach: Bike: Remind me, do we have a complete implementation of Baker's SUBTYPEP? 2017-03-17T05:46:55Z phoe: because if we (declare (type foo-struct ...)), then the compiler will know the type of ...ed variables, and will be able to properly replace the call to SLOT-VALUE with an optimized call to a structure accesssor. 2017-03-17T05:47:15Z Bike: i have been avoiding implementing subtypep in cleavir, because it relies on a lot of implementation things (so does type inference, but i wish it didn't) 2017-03-17T05:47:18Z phoe: But indeed - this will require some &environment massaging, and will therefore be implementation-dependent. 2017-03-17T05:47:19Z Bike: it would be more sicl than cleavir 2017-03-17T05:47:38Z beach: Bike: OK, thanks. 2017-03-17T05:50:48Z smokeink quit (Ping timeout: 260 seconds) 2017-03-17T05:51:08Z pillton: phoe: An easier way might be to have defstruct define a my-struct-value function. 2017-03-17T05:54:00Z shka_ joined #lisp 2017-03-17T05:57:43Z rumbler31 joined #lisp 2017-03-17T05:59:22Z neoncontrails quit (Remote host closed the connection) 2017-03-17T05:59:59Z neoncontrails joined #lisp 2017-03-17T06:00:14Z aeth: phoe: Yes, generally when I use specialized arrays and structs (and structs containing specialized arrays)!, I declare the type or use a macro that ultimately expands to a form that declares the type. 2017-03-17T06:01:20Z pebblexe quit (Ping timeout: 260 seconds) 2017-03-17T06:01:45Z aeth: It actually doesn't matter if CLOS stuff is used or if, as pillton said, similarly-behaving macros and functions are defined. 2017-03-17T06:01:52Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-17T06:02:03Z aeth: What really matters is... structs are annoying to work with a lot of the time, even when they're the right data structure to use. 2017-03-17T06:02:14Z phoe: pillton: hm? 2017-03-17T06:02:22Z phoe: my-struct-value function? 2017-03-17T06:03:10Z aeth: phoe: I think pillton was suggesting essentially recreating parts of CLOS, but for use with structs. I could have read that wrong. 2017-03-17T06:03:17Z pillton: (compiler-macroexpand '(my-struct-value obj 'foo)) => '(my-struct-foo obj) 2017-03-17T06:04:03Z aeth: pillton: ah, but the accessor is sometimes foo and not my-struct-foo because of (:conc-name nil) 2017-03-17T06:04:19Z neoncontrails quit (Ping timeout: 240 seconds) 2017-03-17T06:04:45Z ryanwatkins joined #lisp 2017-03-17T06:04:47Z pillton: Sure. The macro my-special-defstruct handles all of that. 2017-03-17T06:04:49Z aeth: (and the accessor is also sometimes someone-elses-package::my-struct-foo (i.e. not exported!)) 2017-03-17T06:05:01Z pillton: What difference does that make? 2017-03-17T06:05:30Z aeth: pillton: the difference is that it's no longer as trivial 2017-03-17T06:06:32Z phoe: pillton: sure thing 2017-03-17T06:06:43Z phoe: except you no longer have a single API in form of SLOT-VALUE 2017-03-17T06:06:58Z phoe: you're essentially creating more accessors 2017-03-17T06:07:13Z dec0n joined #lisp 2017-03-17T06:09:28Z pillton: Yeah I don't know. Experience tells me that single APIs are very hard to get right and create a single point of failure. 2017-03-17T06:09:53Z phoe: I prefer a single point of failure instead of multiple ones. 2017-03-17T06:11:46Z pillton: I disagree. If you break the API you have to check that the API is valid in all cases where it is used. 2017-03-17T06:13:05Z aeth: Someone should take single API to an extreme, and create a dialect of Lisp where everything is done through setf. 2017-03-17T06:13:59Z phoe: (defvar *foo*) 2017-03-17T06:14:01Z aeth: Is setf as it is turing complete? 2017-03-17T06:14:20Z phoe: (setf *foo* (+ (setf *foo* 2) (setf *foo* 2))) 2017-03-17T06:14:40Z phoe: ;=> 4 2017-03-17T06:14:49Z neuronsong joined #lisp 2017-03-17T06:14:54Z aeth: oh, right it needs at least one variable to work with 2017-03-17T06:15:08Z phoe: uh 2017-03-17T06:15:16Z phoe: (defvar *internal-setf-variable*) 2017-03-17T06:15:37Z aeth: no, no, you have to find an existing varaible that's safe to use as your variable imo :-p 2017-03-17T06:15:46Z phoe: haha 2017-03-17T06:16:24Z aeth: *modules* is deprecated, would it be useful? 2017-03-17T06:18:03Z aeth: It's probably better working on a list, anyway. 2017-03-17T06:19:36Z angavrilov joined #lisp 2017-03-17T06:20:05Z phoe: aeth: we can abuse the repl variables, they're rarely used 2017-03-17T06:20:20Z phoe: (setf - 2) 2017-03-17T06:24:05Z scottj left #lisp 2017-03-17T06:27:16Z aeth: you win 2017-03-17T06:27:32Z aeth: in case anyone needs to look it up (it is hard to search for "-" in Lisp): http://www.lispworks.com/documentation/HyperSpec/Body/v__.htm 2017-03-17T06:27:47Z neuronsong quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-17T06:28:25Z phoe: clhs - 2017-03-17T06:28:25Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a__.htm 2017-03-17T06:28:35Z phoe: aeth: uh' 2017-03-17T06:31:09Z mishoo joined #lisp 2017-03-17T06:31:10Z aeth: clus - 2017-03-17T06:31:42Z aeth: phoe: well - breaks l1sp, which is what I like to use... http://l1sp.org/search?q=%2D 2017-03-17T06:32:11Z aeth: phoe: it searches for all -s and doesn't even get down to the clhs before cutting off 2017-03-17T06:32:18Z aeth: it's probably not the only thing that breaks 2017-03-17T06:32:36Z phoe: haha, I see 2017-03-17T06:32:42Z aeth: It looks like it doesn't break lispdoc, though. So maybe it *is* the only thing that breaks. http://lispdoc.com/?q=%2D&search=Basic+search 2017-03-17T06:33:37Z neoncontrails joined #lisp 2017-03-17T06:39:05Z rumbler31 joined #lisp 2017-03-17T06:42:18Z loke` quit (Ping timeout: 256 seconds) 2017-03-17T06:43:31Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-17T06:43:32Z afidegnum quit (Ping timeout: 260 seconds) 2017-03-17T06:44:51Z shka_ quit (Quit: Konversation terminated!) 2017-03-17T06:45:05Z shka_ joined #lisp 2017-03-17T06:53:08Z grublet joined #lisp 2017-03-17T06:54:03Z oleo quit (Quit: Leaving) 2017-03-17T06:55:05Z mishoo quit (Ping timeout: 240 seconds) 2017-03-17T07:08:29Z vlatkoB_ joined #lisp 2017-03-17T07:12:20Z vlatkoB quit (Ping timeout: 256 seconds) 2017-03-17T07:13:20Z flamebeard joined #lisp 2017-03-17T07:14:02Z mishoo joined #lisp 2017-03-17T07:14:26Z schjetne quit (Read error: Connection reset by peer) 2017-03-17T07:15:44Z schjetne joined #lisp 2017-03-17T07:15:58Z fourier joined #lisp 2017-03-17T07:16:16Z SlashLife quit (Ping timeout: 255 seconds) 2017-03-17T07:17:26Z krwq: got question, how do you set reader macro character so that it won't run it in the middle of reading the symbol? 2017-03-17T07:18:07Z krwq: i wrote a simple function for reading regex in a format known in many languages /foo|bar/ and trying to dispatch it on #\/ 2017-03-17T07:18:22Z krwq: here is how i set it: (set-macro-character #\/ #'regex-reader) 2017-03-17T07:18:40Z krwq: it works for simple cases but breaks when i do i.e. 'foo/bar 2017-03-17T07:20:10Z eazar001 quit (Ping timeout: 264 seconds) 2017-03-17T07:20:53Z loke: krwq: copy the class from #\. 2017-03-17T07:21:17Z shka_ quit (Quit: Konversation terminated!) 2017-03-17T07:21:19Z krwq: loke: i do not understand 2017-03-17T07:21:27Z krwq: loke: that's my first reader macro 2017-03-17T07:21:35Z krwq: im gonna share what i'm doing 2017-03-17T07:21:52Z loke: (SET-SYNTAX-FROM-CHAR #\.) 2017-03-17T07:22:16Z Oladon quit (Ping timeout: 260 seconds) 2017-03-17T07:22:23Z krwq: http://paste.lisp.org/display/341579 2017-03-17T07:24:31Z loke: krwq: You want to make the syntax type for / to be ‘constituent’. You do that by copying the syntax type from a character who is already that. 2017-03-17T07:24:34Z loke: (for example #\.) 2017-03-17T07:25:31Z krwq: i do not understand what you just said 2017-03-17T07:25:49Z loke: Sorry. Not consituent. 2017-03-17T07:25:54Z loke: http://www.lispworks.com/documentation/HyperSpec/Body/26_glo_c.htm#constituent 2017-03-17T07:26:21Z krwq: is that english? 2017-03-17T07:26:55Z loke: Seems like the default syntax class for #\/ is already constituent. Thus, I'd need to look at you rcode. 2017-03-17T07:27:09Z Oladon joined #lisp 2017-03-17T07:27:09Z krwq: loke: syntax class? 2017-03-17T07:27:25Z loke: krwq: Yes. 2017-03-17T07:27:35Z loke: http://www.lispworks.com/documentation/HyperSpec/Body/02_ad.htm 2017-03-17T07:28:46Z beach: krwq: I think you have to make / a "non-terminating macro character". 2017-03-17T07:29:22Z beach: ... just like #. 2017-03-17T07:30:03Z krwq: how do i do that? 2017-03-17T07:30:09Z krwq: i do not know what that means 2017-03-17T07:30:10Z beach: (set-macro-character #\/ #'regex-reader t) 2017-03-17T07:30:19Z beach: clhs set-macro-character 2017-03-17T07:30:20Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_set_ma.htm 2017-03-17T07:30:32Z beach: see that &optional non-terminating-p? 2017-03-17T07:31:13Z krwq: nice, i think it works :P Thank you 2017-03-17T07:31:18Z beach: Anytime. 2017-03-17T07:31:24Z krwq: i still got no clue what constituent means 2017-03-17T07:31:57Z beach: krwq: Basically that the character can be part of a token. 2017-03-17T07:32:27Z krwq: in what context would you want that? 2017-03-17T07:32:28Z beach: clhs 2.1.4.1 2017-03-17T07:32:28Z specbot: Constituent Characters: http://www.lispworks.com/reference/HyperSpec/Body/02_ada.htm 2017-03-17T07:32:47Z eazar001 joined #lisp 2017-03-17T07:32:49Z krwq: i cant see when i'd ever want that 2017-03-17T07:33:17Z krwq: unless i was trying to add some malicious code 2017-03-17T07:33:25Z beach: krwq: It is nothing that "you want". It is something that most characters are by default, so that you can read symbols and numbers and such. 2017-03-17T07:34:27Z krwq: so when i do that constituent thing and i read something like foo/bar 2017-03-17T07:34:31Z beach: krwq: So for you `/' is constituent by default, until you change it to become a macro character. 2017-03-17T07:34:37Z krwq: how would it behave when i return something 2017-03-17T07:34:47Z krwq: will it split the symbol into 3? 2017-03-17T07:35:05Z beach: You don't want to "do the constituent thing". 2017-03-17T07:35:20Z beach: All you need is to turn `/' into a non-terminating macro character. 2017-03-17T07:35:26Z beach: Forget about constituent. 2017-03-17T07:36:12Z SlashLife joined #lisp 2017-03-17T07:36:27Z fourier quit (Ping timeout: 240 seconds) 2017-03-17T07:36:51Z beach: clhs 2.1.4.4 2017-03-17T07:36:51Z specbot: Macro Characters: http://www.lispworks.com/reference/HyperSpec/Body/02_add.htm 2017-03-17T07:37:26Z beach: Fourth paragraph: A macro character is either terminating or non-terminating... 2017-03-17T07:42:06Z beach: krwq: Did you faint? 2017-03-17T07:43:37Z krwq: beach: no, trying to fix error with division i.e. (/ 2 3) i'm checking if the stream has ended and return from function return symbol '/ when this happens but getting some weird errors 2017-03-17T07:44:32Z Oladon quit (Ping timeout: 260 seconds) 2017-03-17T07:44:51Z beach: krwq: It would be useful if you would acknowledge that you received the information you were provided. 2017-03-17T07:47:09Z krwq: beach: i'm not sure what to say here - i feel like try&fail than reading the spec with recursive explanation 2017-03-17T07:47:39Z beach: That would be useful information to me. Then I don't have to try to hard to make you read the spec. It would save a lot of effort on my part. 2017-03-17T07:48:18Z krwq: sorry :( trying to learn here but i can't read that fast and that much to learn a simple thing 2017-03-17T07:50:52Z Oladon joined #lisp 2017-03-17T07:51:17Z flamebeard quit (Read error: Connection reset by peer) 2017-03-17T07:55:38Z marusich joined #lisp 2017-03-17T07:56:23Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-17T07:56:44Z flamebeard joined #lisp 2017-03-17T08:02:07Z krwq quit (Remote host closed the connection) 2017-03-17T08:10:06Z Beetny joined #lisp 2017-03-17T08:12:58Z marusich quit (Ping timeout: 264 seconds) 2017-03-17T08:13:23Z marusich joined #lisp 2017-03-17T08:15:42Z foojin joined #lisp 2017-03-17T08:15:45Z varjag joined #lisp 2017-03-17T08:23:24Z i5um41ru joined #lisp 2017-03-17T08:25:02Z i5um41ru: halo 2017-03-17T08:26:58Z stepnem joined #lisp 2017-03-17T08:27:33Z beach: Hello i5um41ru. 2017-03-17T08:29:54Z i5um41ru: beach: i'm interested in learning lisp 2017-03-17T08:30:08Z beach: Good. 2017-03-17T08:30:46Z i5um41ru: i'm currently trying sbcl 2017-03-17T08:31:00Z beach: That's the system that most people here are using. 2017-03-17T08:32:51Z vydd joined #lisp 2017-03-17T08:32:51Z vydd quit (Changing host) 2017-03-17T08:32:51Z vydd joined #lisp 2017-03-17T08:35:14Z beach: i5um41ru: You will need to install Quicklisp and then use Quicklisp to install SLIME, which is a subsystem that turns Emacs into a fairly good IDE for Common Lisp development. 2017-03-17T08:38:12Z i5um41ru: i'm not currently using emacs, but I love it and that's one of my vaforite editor beside vim. I'm currently using Ubuntu 2017-03-17T08:38:51Z beach: Ubuntu is a good choice. And unless you have big problems changing to Emacs, it is highly recommended because of SLIME. 2017-03-17T08:43:43Z Einwq joined #lisp 2017-03-17T08:49:34Z jackdaniel: minion: tell i5um41ru about pcl 2017-03-17T08:49:35Z minion: i5um41ru: direct your attention towards pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 2017-03-17T08:53:12Z pjb joined #lisp 2017-03-17T08:59:22Z jack_rabbit joined #lisp 2017-03-17T09:02:16Z lambda-smith joined #lisp 2017-03-17T09:03:52Z rumbler31 joined #lisp 2017-03-17T09:04:13Z eSVG quit (Ping timeout: 246 seconds) 2017-03-17T09:04:36Z vydd quit 2017-03-17T09:05:04Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-17T09:05:36Z FreeBirdLjj joined #lisp 2017-03-17T09:05:37Z defaultxr quit (Ping timeout: 246 seconds) 2017-03-17T09:08:17Z hhdave joined #lisp 2017-03-17T09:08:25Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-17T09:14:35Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-17T09:18:28Z marusich quit (Quit: Leaving) 2017-03-17T09:20:07Z mathi_aihtam joined #lisp 2017-03-17T09:20:15Z mathi_aihtam quit (Client Quit) 2017-03-17T09:21:59Z dec0n quit (Read error: Connection reset by peer) 2017-03-17T09:23:16Z gingerale joined #lisp 2017-03-17T09:24:32Z dec0n joined #lisp 2017-03-17T09:30:59Z bezirg joined #lisp 2017-03-17T09:36:53Z Karl_Dscc joined #lisp 2017-03-17T09:37:33Z Bike quit (Quit: slerp) 2017-03-17T09:43:45Z knicklux joined #lisp 2017-03-17T09:45:28Z rumbler31 joined #lisp 2017-03-17T09:47:36Z otjura joined #lisp 2017-03-17T09:49:43Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-17T09:50:20Z compro joined #lisp 2017-03-17T09:50:41Z mateuszb quit (Read error: Connection reset by peer) 2017-03-17T09:51:08Z mateuszb joined #lisp 2017-03-17T09:51:39Z Lord_of_Life quit (Excess Flood) 2017-03-17T09:52:08Z cibs quit (Ping timeout: 256 seconds) 2017-03-17T09:53:27Z i5um41ru quit (Ping timeout: 260 seconds) 2017-03-17T09:53:57Z cibs joined #lisp 2017-03-17T09:54:58Z Lord_of_Life joined #lisp 2017-03-17T10:03:09Z neoncontrails quit (Read error: Connection reset by peer) 2017-03-17T10:03:22Z [0x8b30cc] joined #lisp 2017-03-17T10:04:34Z bezirg quit (Read error: Connection reset by peer) 2017-03-17T10:06:30Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-17T10:06:30Z rumbler31 joined #lisp 2017-03-17T10:07:54Z [0x8b30cc] quit (Client Quit) 2017-03-17T10:10:43Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-17T10:11:04Z nirved joined #lisp 2017-03-17T10:11:34Z Karl_Dscc quit (Remote host closed the connection) 2017-03-17T10:14:28Z dmiles quit (Ping timeout: 260 seconds) 2017-03-17T10:17:06Z dmiles joined #lisp 2017-03-17T10:22:29Z libreman quit (Ping timeout: 268 seconds) 2017-03-17T10:22:57Z libreman joined #lisp 2017-03-17T10:24:49Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-17T10:27:05Z rumbler31 joined #lisp 2017-03-17T10:27:48Z quazimodo joined #lisp 2017-03-17T10:29:20Z neoncontrails joined #lisp 2017-03-17T10:31:22Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-17T10:34:08Z pve joined #lisp 2017-03-17T10:37:00Z shdeng quit (Quit: Leaving) 2017-03-17T10:39:44Z antgreen joined #lisp 2017-03-17T10:41:40Z Karl_Dscc joined #lisp 2017-03-17T10:47:58Z rumbler31 joined #lisp 2017-03-17T10:52:22Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-17T10:56:50Z xhe joined #lisp 2017-03-17T11:07:02Z FreeBirdLjj joined #lisp 2017-03-17T11:08:11Z jamtho joined #lisp 2017-03-17T11:08:50Z rumbler31 joined #lisp 2017-03-17T11:11:47Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-17T11:12:21Z FreeBirdLjj joined #lisp 2017-03-17T11:13:01Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-17T11:19:29Z bgg_ joined #lisp 2017-03-17T11:21:43Z schjetne quit (Read error: Connection reset by peer) 2017-03-17T11:23:07Z schjetne joined #lisp 2017-03-17T11:23:14Z bgg_ quit (Client Quit) 2017-03-17T11:23:46Z phoe quit (Ping timeout: 264 seconds) 2017-03-17T11:28:54Z compro quit (Remote host closed the connection) 2017-03-17T11:29:23Z rumbler31 joined #lisp 2017-03-17T11:33:29Z dmiles quit (Read error: Connection reset by peer) 2017-03-17T11:33:40Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-17T11:33:53Z wut joined #lisp 2017-03-17T11:34:17Z wut is now known as Guest8720 2017-03-17T11:34:28Z m00natic joined #lisp 2017-03-17T11:37:49Z dmiles joined #lisp 2017-03-17T11:39:35Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-17T11:39:40Z Guest8720 quit (Ping timeout: 260 seconds) 2017-03-17T11:42:05Z sjl joined #lisp 2017-03-17T11:43:21Z quazimodo joined #lisp 2017-03-17T11:45:03Z logicmoo joined #lisp 2017-03-17T11:46:18Z d4ryus2 quit (Quit: WeeChat 1.7) 2017-03-17T11:47:48Z dmiles quit (Ping timeout: 260 seconds) 2017-03-17T11:50:17Z rumbler31 joined #lisp 2017-03-17T11:54:19Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-17T11:59:34Z jameser joined #lisp 2017-03-17T12:00:22Z bariscant joined #lisp 2017-03-17T12:04:04Z Karl_Dscc quit (Remote host closed the connection) 2017-03-17T12:12:16Z bariscant quit (Quit: Leaving) 2017-03-17T12:13:25Z bariscant joined #lisp 2017-03-17T12:13:32Z vap1 quit (Quit: Leaving) 2017-03-17T12:17:12Z lambda-smith quit (Ping timeout: 260 seconds) 2017-03-17T12:19:04Z bariscant quit (Quit: Leaving) 2017-03-17T12:20:02Z bariscant joined #lisp 2017-03-17T12:26:41Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-17T12:28:20Z rpg joined #lisp 2017-03-17T12:29:05Z libreman quit (Ping timeout: 240 seconds) 2017-03-17T12:29:31Z libreman joined #lisp 2017-03-17T12:31:32Z Karl_Dscc joined #lisp 2017-03-17T12:31:33Z EvW joined #lisp 2017-03-17T12:33:56Z jamtho quit (Remote host closed the connection) 2017-03-17T12:34:31Z jamtho joined #lisp 2017-03-17T12:39:43Z phoe joined #lisp 2017-03-17T12:42:45Z bariscant quit (Quit: Leaving) 2017-03-17T12:43:02Z bariscant joined #lisp 2017-03-17T12:45:24Z bariscant quit (Client Quit) 2017-03-17T12:45:43Z bariscant joined #lisp 2017-03-17T12:47:20Z snowcrshd joined #lisp 2017-03-17T12:52:15Z vaporatorius joined #lisp 2017-03-17T12:53:04Z vap1 joined #lisp 2017-03-17T12:58:42Z tharugrim joined #lisp 2017-03-17T13:00:14Z vap1 quit (Quit: Leaving) 2017-03-17T13:09:28Z jamtho quit (Ping timeout: 260 seconds) 2017-03-17T13:11:08Z loke___ joined #lisp 2017-03-17T13:12:56Z d4ryus joined #lisp 2017-03-17T13:13:46Z mathi_aihtam joined #lisp 2017-03-17T13:15:55Z malice` joined #lisp 2017-03-17T13:16:31Z malice`: Hi, I'm using with-open-file. It's fine, but if I interrupt it for some reason, the file gets closed, which is kinda annoying. 2017-03-17T13:16:36Z loke___: join #emacs 2017-03-17T13:16:46Z malice`: How can I prevent CL from removing these files on exception and just close them? 2017-03-17T13:17:06Z malice`: (or is it because I'm using :supersede?) 2017-03-17T13:17:56Z loke___: malice`: there is a property you can use 2017-03-17T13:18:08Z malice`: loke___: yes? 2017-03-17T13:18:50Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-17T13:18:50Z yrk quit (Read error: Connection reset by peer) 2017-03-17T13:20:45Z loke___: malice`: Were you using WITH-OPEN-FILE? 2017-03-17T13:20:53Z malice`: yes 2017-03-17T13:22:47Z loke___: The CLHS says: “When control leaves the body, either normally or abnormally (such as by use of throw), the file is automatically closed. If a new output file is being written, and control leaves abnormally, the file is aborted and the file system is left, so far as possible, as if the file had never been opened.” 2017-03-17T13:23:21Z loke___: You need to use OPEN in conjunection with UNWIND-PROTECT to have more control over what happens on error. 2017-03-17T13:24:39Z LiamH joined #lisp 2017-03-17T13:24:58Z sellout- quit (Ping timeout: 264 seconds) 2017-03-17T13:25:18Z pjb: malice`: you can use a handler to go to the debugger. 2017-03-17T13:25:46Z malice`: :( 2017-03-17T13:25:59Z malice`: why is there no :on-error :save 2017-03-17T13:27:13Z CEnnis91 joined #lisp 2017-03-17T13:28:08Z pjb: malice`: my guess is that you forgot to call force-output 2017-03-17T13:28:33Z pjb: Do you want to prevent the closing of the file or the removing of the file? 2017-03-17T13:28:44Z eSVG joined #lisp 2017-03-17T13:29:22Z loke___: pjb: SBCL will delete the file explicitly, if I'm not mistaken. 2017-03-17T13:29:43Z loke___: If it was just the lack of FORCE-OUTPUR, you'd still end up with an empty file. 2017-03-17T13:30:14Z pjb: Yes. 2017-03-17T13:32:09Z |3b|: (with-open-stream (s (open ...)) ...)? 2017-03-17T13:33:01Z rumbler31 joined #lisp 2017-03-17T13:33:11Z didi joined #lisp 2017-03-17T13:33:44Z tharugrim joined #lisp 2017-03-17T13:34:16Z warweasle joined #lisp 2017-03-17T13:34:43Z didi: Somethings are printed as a comment, others are not. What is the rationale behind deciding between (format t "; ...) and (format t "...)? 2017-03-17T13:34:55Z gargaml joined #lisp 2017-03-17T13:35:16Z loke___: didi: In what context? Did I miss some previous discussion? 2017-03-17T13:35:30Z malice`: pjb: removing the file 2017-03-17T13:35:53Z flip214: didi: that triggers highlightning in the editor and so makes them easy to see. 2017-03-17T13:36:20Z didi: loke___: No, you didn't. Sorry. For example, when I compile something with SBCL and SLIME, it prints "; compiling ...". Why not "compiling ...", without the comment character? 2017-03-17T13:37:04Z pjb: didi: I use comments when the rest of the output is intended to be readable. 2017-03-17T13:37:08Z loke___: malice`: I just checked the SBCL source. You can't avoid the deleting when using WITH-OPEN-FILE. 2017-03-17T13:37:08Z rumbler31 quit (Ping timeout: 240 seconds) 2017-03-17T13:37:22Z pjb: If you use *print-readably* = t, then use ; for non readable output. 2017-03-17T13:37:38Z malice`: loke___: Thanks. Too bad standard didn't think of that. 2017-03-17T13:37:47Z loke___: malice`: It did think of that. 2017-03-17T13:37:51Z didi: Hum. What about printing some data? Like statistics about a file? 2017-03-17T13:38:01Z malice`: how? 2017-03-17T13:38:07Z loke___: malice`: It provides OPEN and CLOSE, along with UNWIND-PROTECT and a bunch of other things. 2017-03-17T13:38:41Z pjb: didi: if you're not printing readably, then you're printing with your own syntax. Use semi-colons if that syntax call for it. 2017-03-17T13:38:45Z malice`: Yes, but that requires me to write something equivalent to with-open-file, but without deleting the file; something that standard didn't think could be useful with with-open-file. 2017-03-17T13:38:58Z rumbler31 joined #lisp 2017-03-17T13:39:00Z didi: pjb: I see. Thank you. 2017-03-17T13:39:08Z malice`: I understand that I can implement it myself, but that's not "thinking about something" in my book. 2017-03-17T13:40:08Z didi: flip214: Ah, interesting. 2017-03-17T13:40:10Z loke___: malice`: You have to keep in mind that the standard addresses a very wide range of platforms. Even today, the spec merely says that the implementation “has to make an attempt” to restore the filesystem content. 2017-03-17T13:40:40Z pjb: You can avoid leaving with-open-file abnormally. 2017-03-17T13:40:42Z malice`: I'm aware of it. I know what they tried to cover and it's fine by me. Doesn't change the fact it would be nice if I had it :) 2017-03-17T13:40:46Z loke___: malice`: WITH-OPEN-FILE is a convenience function to cover the most common use-case. The spec provides for alternative needs as well. 2017-03-17T13:41:05Z didi has a macro for temporary files 2017-03-17T13:41:07Z pjb: (with-open-file (…) (handler-case (…) (:no-error :success) (condition () :failure))) 2017-03-17T13:41:24Z pjb: then the file will always be kept. 2017-03-17T13:41:31Z loke___: malice`: Well, sure. But there are literally thousands of things that would be “nice to have”. Like, for example, a pathname interface that doesn't suck, or generalised sequences. 2017-03-17T13:41:32Z malice`: that's nice hack. 2017-03-17T13:41:34Z malice`: thanks 2017-03-17T13:41:41Z malice`: yup 2017-03-17T13:42:03Z didi: Speaking of generalized sequences, I am yet to use SBCL's. 2017-03-17T13:42:03Z pjb: s/:no-error/:no-error (&rest results) :success/ 2017-03-17T13:42:22Z loke___: didi: They're nice, and also available in ABCL if I'm not mistaken. 2017-03-17T13:42:32Z didi: loke___: Nice. 2017-03-17T13:43:14Z |3b|: with-open-stream + open doesn't delete, and is shorter than manually handling errors 2017-03-17T13:43:32Z |3b|: (and works with THROW, RETURN-FROM, etc in addition to conditions 2017-03-17T13:43:48Z pjb: And with-open-stream + open is safer since it doesn't mess with implementation dependent conditions. 2017-03-17T13:44:03Z didi: This readable talk gave me an idea. I have an implementation of graphs that use CLOS. I wonder if I could make it readable somehow. 2017-03-17T13:44:32Z didi: Using my own syntax. 2017-03-17T13:44:40Z didi: Not necessarily printing CLOS bytes. 2017-03-17T13:44:56Z pjb: didi: yes, you can also provide your own reader macros and syntax. 2017-03-17T13:45:03Z didi: pjb: Sounds fun. 2017-03-17T13:45:15Z pjb: didi: for a good example, see Gsharp. 2017-03-17T13:45:22Z didi: pjb: Linky 2017-03-17T13:45:23Z didi: ? 2017-03-17T13:45:24Z _cosmonaut_ joined #lisp 2017-03-17T13:45:35Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-17T13:45:43Z pjb: https://gitlab.common-lisp.net/gsharp/gsharp 2017-03-17T13:45:48Z didi: Thank you. 2017-03-17T13:45:48Z Beetny quit (Ping timeout: 240 seconds) 2017-03-17T13:46:13Z didi: Uh, common-lisp.net is running its own instance of gitlab. 2017-03-17T13:46:55Z jdz: didi: what's wrong with that? 2017-03-17T13:47:16Z stepnem quit (Ping timeout: 260 seconds) 2017-03-17T13:47:24Z didi: jdz: Er.. nothing? 2017-03-17T13:47:26Z jdz: Also, no user data has been lost in the recent gitlab incident. 2017-03-17T13:47:29Z loke___ 's office is also running our own instance. 2017-03-17T13:49:45Z quazimodo joined #lisp 2017-03-17T13:50:04Z lnostdal quit (Read error: Connection reset by peer) 2017-03-17T13:50:18Z lnostdal joined #lisp 2017-03-17T13:54:29Z oleo joined #lisp 2017-03-17T14:00:50Z o1e9 joined #lisp 2017-03-17T14:02:36Z EvW quit (Ping timeout: 256 seconds) 2017-03-17T14:04:28Z stepnem joined #lisp 2017-03-17T14:08:25Z sellout- joined #lisp 2017-03-17T14:10:39Z EvW1 joined #lisp 2017-03-17T14:14:13Z drmeister: If I compile-file code that has (defvar *x*) (defun foo () *x*) I shouldn't get a compiler warning. 2017-03-17T14:14:32Z drmeister: But if I compile-file (defun foo () *x*) (defvar *x*), I should - correct? 2017-03-17T14:15:57Z drmeister: That's what sbcl does. 2017-03-17T14:16:12Z Einwq quit (Ping timeout: 260 seconds) 2017-03-17T14:16:13Z oleo quit (Quit: Leaving) 2017-03-17T14:17:10Z oleo joined #lisp 2017-03-17T14:19:09Z phoe: IMO not really. 2017-03-17T14:19:21Z phoe: All warnings should be deferred until the end of the compilation unit, if still applicable. 2017-03-17T14:20:00Z phoe: And in this case it's obviously incorrect, the unbound-variable warning from DEFUN will be rendered invalid by DEFVAR. 2017-03-17T14:20:36Z phoe: s/unbound/undefined/ 2017-03-17T14:20:37Z foom quit (Ping timeout: 246 seconds) 2017-03-17T14:20:42Z jameser joined #lisp 2017-03-17T14:21:42Z jameser quit (Client Quit) 2017-03-17T14:22:07Z phoe: ...but I might be wrong. 2017-03-17T14:22:16Z phoe: SBCL, CCL, ECL, CMUCL all warn on this. 2017-03-17T14:22:18Z phoe: Weird. 2017-03-17T14:23:28Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-17T14:23:28Z malice`: hmm 2017-03-17T14:23:35Z malice`: shouldn't you (declare (special *x*))? 2017-03-17T14:23:49Z malice`: it muffles the warning on my sbcl 2017-03-17T14:24:49Z bariscant quit (Ping timeout: 246 seconds) 2017-03-17T14:25:06Z phoe: malice`: where do you put the declare? 2017-03-17T14:25:22Z malice`: (defun w (x) (declare (special *x*)) *x*) 2017-03-17T14:25:27Z malice`: oop 2017-03-17T14:25:28Z malice`: s 2017-03-17T14:25:37Z malice`: (defun w () (declare (special *x*)) *x*) 2017-03-17T14:25:38Z phoe: hm 2017-03-17T14:25:40Z malice`: no argument there 2017-03-17T14:26:53Z BusFactor1 joined #lisp 2017-03-17T14:27:13Z pjb: phoe: it's because the code to be generated for lexical bindings and dynamic bindings is different. Warnings are defered, but not code generation. 2017-03-17T14:27:32Z pjb: phoe: malice` is right. 2017-03-17T14:27:49Z malice`: Yay! My CL beard is growing. 2017-03-17T14:27:57Z phoe: pjb: I see. 2017-03-17T14:28:29Z phoe: drmeister: ^ 2017-03-17T14:30:54Z ryanbw quit (Quit: WeeChat 1.7) 2017-03-17T14:31:08Z rpg quit (Ping timeout: 260 seconds) 2017-03-17T14:31:09Z neoncontrails quit (Remote host closed the connection) 2017-03-17T14:31:46Z neoncontrails joined #lisp 2017-03-17T14:32:57Z foom joined #lisp 2017-03-17T14:35:33Z al-damiri joined #lisp 2017-03-17T14:35:57Z neoncontrails quit (Ping timeout: 240 seconds) 2017-03-17T14:37:53Z _cosmonaut_: щщдшуМфш9Ауу№ 2017-03-17T14:38:48Z _cosmonaut_: sorry, wrong window =) 2017-03-17T14:39:11Z dyelar joined #lisp 2017-03-17T14:39:20Z BusFactor1: time to change your password? 2017-03-17T14:40:21Z drmeister: Yeah - no warnings in Clasp with: (defun foo (x y) (declare (special *aaa*)) (+ x y *aaa*)) (defvar *aaa*) 2017-03-17T14:46:27Z |3b|: don't even need the DEFVAR if you declare it special 2017-03-17T14:46:35Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-03-17T14:48:41Z pliniker joined #lisp 2017-03-17T14:50:19Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-17T14:51:44Z rumbler31 quit (Quit: Leaving...) 2017-03-17T14:51:58Z TDT joined #lisp 2017-03-17T14:52:00Z rumbler31 joined #lisp 2017-03-17T14:58:48Z dec0n quit (Read error: Connection reset by peer) 2017-03-17T15:00:37Z bariscant joined #lisp 2017-03-17T15:04:12Z rumbler31: this might sound silly, but I am looking into the idea of writing another interface to swank. Is there an easy way to grok the swank side of the protocol? With lisp on both sides of swank and slime, i'm finding it hard to figure out which things are the rpc and which things are the payloads to be run in emacs/cl 2017-03-17T15:04:18Z galiley joined #lisp 2017-03-17T15:05:14Z phoe: rumbler31: there's a swank client written in CL if it helps you 2017-03-17T15:05:34Z phoe: https://github.com/brown/swank-client 2017-03-17T15:05:35Z rumbler31: so... control a lisp from another lisp? 2017-03-17T15:05:43Z phoe: https://github.com/eudoxia0/swank-protocol two, actually, now that I google 2017-03-17T15:05:47Z phoe: rumbler31: yes 2017-03-17T15:06:01Z rumbler31: whaat. of course there is, why didn't I think of that 2017-03-17T15:06:08Z rumbler31: lol, thanks 2017-03-17T15:06:11Z phoe: haha 2017-03-17T15:06:13Z phoe: don't worry 2017-03-17T15:08:44Z ryanbw joined #lisp 2017-03-17T15:10:07Z rpg joined #lisp 2017-03-17T15:14:10Z ryanbw quit (Ping timeout: 268 seconds) 2017-03-17T15:17:45Z Ven joined #lisp 2017-03-17T15:17:57Z ryanbw joined #lisp 2017-03-17T15:18:09Z Ven is now known as Guest64566 2017-03-17T15:21:59Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-17T15:26:57Z Bike joined #lisp 2017-03-17T15:33:21Z yrk joined #lisp 2017-03-17T15:34:00Z yrk quit (Changing host) 2017-03-17T15:34:00Z yrk joined #lisp 2017-03-17T15:38:38Z rpg joined #lisp 2017-03-17T15:40:09Z nowhere_man quit (Remote host closed the connection) 2017-03-17T15:40:15Z oleo quit (Remote host closed the connection) 2017-03-17T15:41:21Z nowhere_man joined #lisp 2017-03-17T15:44:41Z malice` quit (Quit: Page closed) 2017-03-17T15:48:28Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2017-03-17T15:48:48Z milanj joined #lisp 2017-03-17T15:50:32Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-17T15:52:14Z rpg joined #lisp 2017-03-17T15:52:34Z NeverDie quit (Quit: http://radiux.io/) 2017-03-17T16:03:02Z _cosmonaut_ joined #lisp 2017-03-17T16:04:08Z vlnx quit (Ping timeout: 240 seconds) 2017-03-17T16:05:15Z pebblexe joined #lisp 2017-03-17T16:05:30Z pebblexe: when I try and compile this function: (defun msgpack-write-value-nil () (write-hex #c0)) I get 2017-03-17T16:05:39Z pebblexe: Read error between positions 797 and 849 in /home/k/src/lisp/cl-msgpack/cl-msgpack.lisp.; Evaluation aborted on #. 2017-03-17T16:06:00Z jackdaniel: pebblexe: try #xc0 2017-03-17T16:06:18Z pebblexe: jackdaniel: that was it! thank you 2017-03-17T16:06:34Z jackdaniel: # is a dispatch character having various second ones, like #*, #P etc 2017-03-17T16:06:42Z jackdaniel: #x is for hex 2017-03-17T16:06:51Z jackdaniel: sure 2017-03-17T16:07:07Z jackdaniel: #c(1 1) will give you complex number 2017-03-17T16:08:05Z pebblexe: cool, didn't know that 2017-03-17T16:09:31Z jackdaniel: see http://www.lispworks.com/documentation/HyperSpec/Body/02_dh.htm 2017-03-17T16:09:40Z BitPuffin|osx quit (Ping timeout: 268 seconds) 2017-03-17T16:10:21Z pebblexe: can I specify the types accepted for a function? like (defun write-value (string s) ...) (defun write-value (boolean b) ...) 2017-03-17T16:10:54Z Bike: you can declaim the ftype 2017-03-17T16:11:23Z jackdaniel: pebblexe: you may create generic function and specialize its methods 2017-03-17T16:11:26Z sellout- quit (Quit: Leaving.) 2017-03-17T16:11:39Z sellout- joined #lisp 2017-03-17T16:12:53Z jackdaniel: pebblexe: try http://paste.lisp.org/display/341614 2017-03-17T16:12:57Z didi: Bike: Is it better to use DECLAIM rather then (declare (type ...)) inside the function? 2017-03-17T16:13:02Z didi: s/then/than 2017-03-17T16:13:13Z pebblexe: jackdaniel: thank you! 2017-03-17T16:13:16Z didi uses DECLARE 2017-03-17T16:13:36Z jackdaniel: np 2017-03-17T16:13:56Z jackdaniel: minion: tell pebblexe about pcl 2017-03-17T16:13:57Z minion: pebblexe: look at pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 2017-03-17T16:16:20Z _cosmonaut_ quit (Ping timeout: 256 seconds) 2017-03-17T16:16:34Z sellout- quit (Ping timeout: 264 seconds) 2017-03-17T16:16:36Z pebblexe: but it doesn't seem like it works for nil... (defmethod write-value ((s nil)) (write-hex #xc0)) -> Illegal arg NIL 2017-03-17T16:16:51Z Bike: the type of nil is NULL 2017-03-17T16:16:59Z pebblexe: Bike: ah, right, my mistake 2017-03-17T16:17:09Z Bike: also, if you don't want other methods, defmethod is not really what you want 2017-03-17T16:17:47Z jackdaniel: I think he has suggested that he wants different methods (string, boolean) in his example 2017-03-17T16:18:20Z dwrngr: If I have a stream that I'm monitoring for some process's output and have a loop where I call "listen" on it repeatedly, is it advisable to put a "sleep" in the loop? 2017-03-17T16:18:24Z pebblexe: and for my boolean one I am getting: (defmethod write-value ((v boolean)) (if (boolean) (write-hex #xc2) (write-hex #xc3))) -> Class named BOOLEAN not found. 2017-03-17T16:18:43Z didi: dwrngr: I try to never use sleep. 2017-03-17T16:18:55Z dwrngr: That was my thinking but I don't really need to check it a billion times a minute either 2017-03-17T16:19:08Z jackdaniel: pebblexe: there is concept of generalized-boolean in CL, that is everything what isn't NULL is true 2017-03-17T16:19:12Z didi: dwrngr: Ah, I don't do a busy loop either. 2017-03-17T16:19:28Z dwrngr: Well I am sending a command to the subordinate process then waiting for it to finish 2017-03-17T16:19:30Z didi: dwrngr: Maybe your problem needs a sleep. I don't know. 2017-03-17T16:19:38Z pebblexe: http://clhs.lisp.se/Body/t_ban.htm makes it look like a type that can be specified 2017-03-17T16:19:39Z didi: dwrngr: Can't you block on read? 2017-03-17T16:20:04Z dwrngr: Yes but I was using non-blocking functions that I set up previously, that is something I guess I overlooked as a result heh 2017-03-17T16:20:11Z didi: :-) 2017-03-17T16:20:16Z o1e9 quit (Quit: Ex-Chat) 2017-03-17T16:20:28Z dwrngr: Thanks for turning me around to the right direction 2017-03-17T16:20:29Z jackdaniel: pebblexe: CL has (imho unfortunate) distinction between types and classes – not all types may be specialized 2017-03-17T16:20:37Z jackdaniel: methods specialize on classes 2017-03-17T16:20:45Z didi: dwrngr: I hope it works. 2017-03-17T16:21:01Z dwrngr: Probably a better idea than some hackish workaround I would come up with 2017-03-17T16:21:02Z jackdaniel: (each class denotes the type, but it's not always the case the other way around) 2017-03-17T16:21:22Z _cosmonaut_ joined #lisp 2017-03-17T16:21:42Z jackdaniel: I've got to go, gl \o 2017-03-17T16:23:29Z flamebeard quit (Quit: Leaving) 2017-03-17T16:26:50Z compro joined #lisp 2017-03-17T16:26:54Z compro quit (Read error: Connection reset by peer) 2017-03-17T16:28:56Z sjl quit (Ping timeout: 260 seconds) 2017-03-17T16:29:36Z compro joined #lisp 2017-03-17T16:29:36Z compro quit (Read error: Connection reset by peer) 2017-03-17T16:30:58Z travv0 quit (Ping timeout: 264 seconds) 2017-03-17T16:31:05Z loke___ quit (Quit: Leaving) 2017-03-17T16:31:49Z rippa joined #lisp 2017-03-17T16:32:22Z NeverDie joined #lisp 2017-03-17T16:32:22Z compro joined #lisp 2017-03-17T16:32:22Z compro quit (Read error: Connection reset by peer) 2017-03-17T16:32:45Z mathi_aihtam quit (Quit: mathi_aihtam) 2017-03-17T16:33:40Z drmeister: Is there an earmuff convention for symbol macros? 2017-03-17T16:33:52Z drmeister: (define-symbol-macro %buzz% ...) ? 2017-03-17T16:34:15Z kjeldahl quit (Ping timeout: 240 seconds) 2017-03-17T16:36:12Z TMA: drmeister: percents are historically used for "dangerous, internal" IIRC 2017-03-17T16:36:45Z TMA: drmeister: I have not seen any convention for symbol macros 2017-03-17T16:37:50Z compro joined #lisp 2017-03-17T16:37:55Z compro quit (Read error: Connection reset by peer) 2017-03-17T16:38:07Z S1 joined #lisp 2017-03-17T16:40:37Z compro joined #lisp 2017-03-17T16:40:41Z compro quit (Read error: Connection reset by peer) 2017-03-17T16:43:45Z compro joined #lisp 2017-03-17T16:43:49Z compro quit (Read error: Connection reset by peer) 2017-03-17T16:44:19Z s1feha joined #lisp 2017-03-17T16:44:25Z s1feha quit (Remote host closed the connection) 2017-03-17T16:45:55Z compro joined #lisp 2017-03-17T16:45:59Z compro quit (Read error: Connection reset by peer) 2017-03-17T16:48:04Z compro joined #lisp 2017-03-17T16:48:07Z compro quit (Read error: Connection reset by peer) 2017-03-17T16:48:53Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-17T16:51:16Z _rumbler31 joined #lisp 2017-03-17T16:51:28Z compro joined #lisp 2017-03-17T16:51:32Z compro quit (Read error: Connection reset by peer) 2017-03-17T16:52:27Z tharugrim joined #lisp 2017-03-17T16:52:51Z stepnem quit (Ping timeout: 260 seconds) 2017-03-17T16:53:18Z NeverDie_ joined #lisp 2017-03-17T16:54:12Z pebblexe: why doesn't this work?: http://paste.lisp.org/display/341623 2017-03-17T16:54:25Z pebblexe: for some reason it's skipping a 0 and writing a #*1 2017-03-17T16:54:41Z rumbler31 quit (Ping timeout: 268 seconds) 2017-03-17T16:54:44Z pebblexe: also should #*0 or #\0 for storing an array of bits? 2017-03-17T16:55:19Z daviid joined #lisp 2017-03-17T16:55:35Z NeverDie quit (Ping timeout: 240 seconds) 2017-03-17T16:55:40Z beach: pebblexe: Integers in Common Lisp have infinite precision, so there is an infinite number of 0s preceding. Common Lisp can't guess how many you want, so it gives you none. 2017-03-17T16:56:17Z pebblexe: beach: but when I give it 23, it writes out binary: (#*1 #*1 #*1 #*1 #*1) but the binary correctly is: string: 10111 2017-03-17T16:57:00Z pebblexe: also what should I be storing it as if I plan to use write-byte on it? 2017-03-17T16:57:10Z prole joined #lisp 2017-03-17T16:58:05Z Einwq joined #lisp 2017-03-17T16:58:11Z NeverDie_ is now known as NeverDie 2017-03-17T16:58:50Z beach: pebblexe: It looks to me like you are testing for "0" as a member of the string, right? 2017-03-17T16:59:27Z pebblexe: beach: right, because (write-to-string num :base 2) returns a string 2017-03-17T16:59:27Z kjeldahl joined #lisp 2017-03-17T16:59:31Z beach: But members of strings are characters and "0" is not a character. It is itself a string. 2017-03-17T16:59:38Z pebblexe: beach: ah 2017-03-17T16:59:42Z didi: Something occurred to me. If I want to allow other packages to define new generic functions and methods on my class, I must export the class name. 2017-03-17T16:59:46Z otjura quit (Quit: Konversation terminated!) 2017-03-17T16:59:54Z beach: pebblexe: Try (eql x #\0) 2017-03-17T17:00:19Z pebblexe: beach: thank you! 2017-03-17T17:00:26Z beach: pebblexe: Sure. 2017-03-17T17:00:37Z shka quit (Remote host closed the connection) 2017-03-17T17:00:42Z fourier joined #lisp 2017-03-17T17:00:49Z phoe: didi: either that, or package::unexported-symbol 2017-03-17T17:01:07Z beach: didi: Yes, and if you want them to be able to subclass your class and define methods on your generic functions specialized to those subclasses. 2017-03-17T17:01:22Z nyef: didi: Exporting the class name is probably a good idea anyway. 2017-03-17T17:01:31Z didi: Oh well. Time to add a line to my package definition. 2017-03-17T17:01:31Z oleo joined #lisp 2017-03-17T17:01:40Z phoe: or am I wrong here? does the symbol *absolutely* need to be exported in this case? 2017-03-17T17:02:17Z nyef: Doesn't absolutely need export, as you can still use the :: prefix or IMPORT-FROM. 2017-03-17T17:02:19Z beach: phoe: Using :: is never a good idea. 2017-03-17T17:02:35Z nyef: But, yeah, not usually a good idea. 2017-03-17T17:02:52Z beach: phoe: You run the risk of using features that may change or disappear in the future. 2017-03-17T17:03:15Z phoe: beach: got it. 2017-03-17T17:03:28Z phoe: So it's not a limitation of the language - it's simply common sense. 2017-03-17T17:03:37Z nyef: There's the angle of exporting a "protocol class" that defines the interface, but having the implementation being an unexported class with an exported constructor that subclasses the "protocol class". 2017-03-17T17:03:53Z phoe: For a moment I thought that Lisp prohibited defclassing with unexported symbols in it, at which point I was like, "wat". 2017-03-17T17:04:34Z beach: phoe: Luckily, Common Lisp does not forbid such access, because things like debuggers and inspectors depend on it, but it is a convention used in communication between the author of a library and the user of that library. 2017-03-17T17:04:38Z otjura joined #lisp 2017-03-17T17:05:38Z didi: nyef: Interesting. Tho it is getting awkward seen an unexported symbol being printed as I defined a print functions with (print-unreadable-object (g stream :type t :identity t) ...). 2017-03-17T17:06:37Z didi: Well, I guess it wouldn't print an unexported symbol your way. 2017-03-17T17:07:39Z phoe: beach: yes, I know. 2017-03-17T17:09:10Z Guest64566 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-17T17:09:50Z pjb: pebblexe: (defgeneric write-value (v) (:method ((o (eql t))) (write-hex #xc2)) (:method ((o null)) (write-hex #xc3))) 2017-03-17T17:10:38Z vlatkoB_ quit (Remote host closed the connection) 2017-03-17T17:10:42Z pebblexe: pjb: thanks! 2017-03-17T17:10:47Z pjb: pebblexe: boolean is a type: (deftype boolean () '(member nil t)) ; not a class. 2017-03-17T17:11:02Z pjb: On the other hand, NULL is a class containing only NIL as "instance". 2017-03-17T17:11:17Z pjb: a system class, precisely. 2017-03-17T17:11:41Z nyef: Programs should be written primarily for people to read, and only secondarily for computers to execute. And for pragmatic, not abstract ethical reasons, too: A program that can be understood is a program that has a better chance of being maintained, and a program that can be easily maintained has a better chance of survival than one which can't. 2017-03-17T17:11:45Z pjb: pebblexe: notice that this method set defines the methods only for boolean, not for generalized booleans. 2017-03-17T17:12:01Z pjb: for generalized booleans, you would write: (defgeneric write-value (v) (:method ((o t)) (write-hex #xc2)) (:method ((o null)) (write-hex #xc3))) 2017-03-17T17:12:03Z vlatkoB joined #lisp 2017-03-17T17:12:21Z pjb: T is also a system class, which covers all the lisp objects. 2017-03-17T17:12:58Z nyef: T is also the implicit specializer when you write a bare parameter name instead of an explicit specialization. 2017-03-17T17:14:56Z mathi_aihtam joined #lisp 2017-03-17T17:15:41Z pebblexe: how do I save the output from format? http://paste.lisp.org/display/341624 2017-03-17T17:16:42Z phoe: pebblexe: format nil? 2017-03-17T17:17:13Z phoe: or you may (princ (format nil ...)) - it will both print the string to standard-output and return it as a value. 2017-03-17T17:18:43Z Ven joined #lisp 2017-03-17T17:19:06Z Ven is now known as Guest36584 2017-03-17T17:19:37Z _death: you don't need to create a format string.. use ~V,'0B 2017-03-17T17:19:59Z pjb: Instead of format format, you can use format ~? 2017-03-17T17:20:37Z pjb: (format nil "~V,'0B" 16 #xbabe) #| --> "1011101010111110" |# 2017-03-17T17:20:46Z vydd joined #lisp 2017-03-17T17:20:53Z pjb: (format nil "~V,'0B" 16 #xbab) #| --> "0000101110101011" |# 2017-03-17T17:25:25Z Guest36584 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-17T17:26:42Z pebblexe: what does write-byte accept for writing? I mean if I want to turn "23" into 10111, how should I store it? as a list? 2017-03-17T17:26:51Z pebblexe: I'm planning on using write-byte with the result 2017-03-17T17:27:02Z jamtho joined #lisp 2017-03-17T17:27:10Z pebblexe: pjb: thanks for that help with format bte 2017-03-17T17:27:12Z pebblexe: btw* 2017-03-17T17:27:46Z phoe: clhs write-byte 2017-03-17T17:27:46Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_wr_by.htm 2017-03-17T17:28:01Z mathi_aihtam quit (Quit: mathi_aihtam) 2017-03-17T17:28:34Z phoe: if your stream is of character type (unsigned-byte 8), then you should give it an (unsigned-byte 8). 2017-03-17T17:28:45Z pebblexe: err I guess I am wondering how to construct something like #*00010111 2017-03-17T17:29:00Z phoe: pebblexe: no need to add the trailing zeroes 2017-03-17T17:29:15Z pebblexe: phoe: for msgpack I need the extra zeroes 2017-03-17T17:29:30Z phoe: no - if you have a stream of type (u-b 8), write-byte will automatically convert 23 into 0x00010111 2017-03-17T17:29:44Z phoe: write-byte writes one full byte at a time. 2017-03-17T17:30:11Z phoe: and what size and type that byte is - that's what you define when creating the byte stream. 2017-03-17T17:30:55Z phoe: also, write-byte does not accept bit vectors, it accepts integers. 2017-03-17T17:31:35Z jackdaniel: pebblexe: 2017-03-17T17:31:42Z EvW1 quit (Ping timeout: 256 seconds) 2017-03-17T17:31:52Z jackdaniel: (please ignore, wrong window + tab completion) 2017-03-17T17:33:10Z pebblexe: phoe: well I need to write the zeroes. how do I know write-byte writes the zeroes? 2017-03-17T17:33:19Z pebblexe: here is what I am translating btw: https://github.com/edma2/clojure-msgpack/blob/master/src/msgpack/core.clj 2017-03-17T17:33:49Z pebblexe: the pack-int function specifically 2017-03-17T17:37:57Z pebblexe: conspack https://github.com/conspack/cl-conspack/blob/master/src/encode.lisp uses write8 and functions like that, but I can't find the definitions anywhere 2017-03-17T17:38:31Z beach: pebblexe: If your file has element-type (unsigned-byte 8) then there is no way that the leading zeros will not be written. 2017-03-17T17:38:34Z pjb: pebblexe: write-byte writes integers. bytes are integers. 2017-03-17T17:38:55Z pjb: pebblexe: what integers can be written depend on the element-type of the stream. 2017-03-17T17:39:00Z wildlander joined #lisp 2017-03-17T17:39:01Z wildlander quit (Max SendQ exceeded) 2017-03-17T17:39:36Z pjb: pebblexe: you cannot really know wgat write-bytes does: it's implementation dependent. 2017-03-17T17:39:40Z gargaml quit (Quit: WeeChat 1.7) 2017-03-17T17:39:45Z wildlander joined #lisp 2017-03-17T17:40:16Z pjb: pebblexe: however, if you use (unsigned-byte 8) on common POSIX systems with common CL implementations, they all do what you'd expect, and write the octet to the file. 2017-03-17T17:40:25Z pjb: or send them to the socket.3 2017-03-17T17:41:29Z pjb: pebblexe: but in theory, an implementation could write the complement or could encode the data in some way, or could generate another holographic mask to store. 2017-03-17T17:41:37Z pebblexe: pjb: yeah, I know that I was going to have some issues with implemtation specifics. I need to encode it as big-endian and I don't know how CL deals with endianness 2017-03-17T17:42:05Z pebblexe: pjb: holographic mask is the coolest term I've heard in a while. what does it mean? 2017-03-17T17:42:16Z impulse joined #lisp 2017-03-17T17:42:20Z pjb: pebblexe: normally, it's documented. eg. clisp only store multi-octet bytes in little-endian (on all platforms, so the files generated by clisp can be read again by clisp on different platforms). 2017-03-17T17:42:45Z pjb: pebblexe: you spread the bits all over the file, so if you damage the file partially, you can still recover the data. 2017-03-17T17:42:51Z pjb: cf. holographic storage. 2017-03-17T17:43:07Z pebblexe: oh crc 2017-03-17T17:43:26Z pjb: well, it's quite different from simple CRC. 2017-03-17T17:43:30Z fridim_ joined #lisp 2017-03-17T17:43:46Z pebblexe: yeah if it can recover it... wow that's cool 2017-03-17T17:43:49Z pjb: More like AES, but with redundancy. 2017-03-17T17:44:33Z pjb: Anyways, if you want to ensure a proper file format, you have to use this (unsigned-byte 8) element-type, and write the octets in the order you explicitely want. 2017-03-17T17:44:44Z jamtho quit (Ping timeout: 256 seconds) 2017-03-17T17:44:44Z fourier quit (Ping timeout: 256 seconds) 2017-03-17T17:44:55Z fridim_ quit (Client Quit) 2017-03-17T17:45:10Z pebblexe: but how do I turn a string into the equivalent binary form? e.g. 101 -> #*101 2017-03-17T17:45:18Z pebblexe: I mean "101" -> #*101 2017-03-17T17:45:27Z pjb: Why do you have a string? 2017-03-17T17:45:54Z pebblexe: (format nil "~V,'0B" size n) is what I am using to get the binary representation 2017-03-17T17:46:02Z pjb: you're wrong. 2017-03-17T17:46:02Z fridim_ joined #lisp 2017-03-17T17:46:02Z pebblexe: which outputs a string 2017-03-17T17:46:05Z jackdaniel: pebblexe: (read-from-string (concatenate 'string "#*" "101")) 2017-03-17T17:46:12Z fridim_ quit (Read error: Connection reset by peer) 2017-03-17T17:46:23Z pjb: Does you file format require binary representation of numbers? 2017-03-17T17:46:33Z beach: (let ((*read-base* 2)) (read-from-string "101")) 2017-03-17T17:46:44Z pebblexe: jackdaniel: I am trying to construct a simple-bit-vector I think 2017-03-17T17:46:49Z pjb: pebblexe: fundamentally, you're making the big mistake of not understanding what a number is. 2017-03-17T17:47:04Z pjb: pebblexe: a number is a number. It's not its representations. 2017-03-17T17:47:39Z pjb: pebblexe: the difference is that a number has its own value (is itself) whatever the context. While a representation represents a different numbers, depending on the context. 2017-03-17T17:47:47Z beach: pebblexe: I agree with pjb. Your questions are becoming more and more about fundamental knowledge of representation of numbers in computers, and less and less about Common Lisp. 2017-03-17T17:48:16Z pjb: pebblexe: for example, "101" can represent all those numbers and more: (loop for b from 2 to 36 collect (parse-integer "101" :radix b)) #| --> (5 10 17 26 37 50 65 82 101 122 145 170 197 226 257 290 325 362 401 442 485 530 577 626 677 730 785 842 901 962 1025 1090 1157 1226 1297) |# 2017-03-17T17:48:33Z beach: pebblexe: If you are trying to construct a simple-bit-vector, you have been doing ti all wrong, because you have been dealing with numbers. 2017-03-17T17:48:41Z pjb: pebblexe: now, the question is which of those numbers you want to write in the file? 2017-03-17T17:50:15Z pebblexe: well I have to conform to msgpack, and that means that for example if (<= 0 n 127) holds I need to write a value that fits in #*0XXXXXXX 2017-03-17T17:50:26Z pjb: pebblexe: when you have a binary file (one with an element type which is a subtype of signed-byte), you don't need representation: the hardware can copy the numbers from the memory cells to the disk directly by way of hardware magics. 2017-03-17T17:51:30Z m00natic quit (Remote host closed the connection) 2017-03-17T17:51:31Z pebblexe: pebblexe: msgpack is a standardized representation, just like how common lisp is a standardized implementation 2017-03-17T17:51:40Z pebblexe: I mean't pjb (d'oh) 2017-03-17T17:51:45Z pjb: pebblexe: more precisely, when you use a binary file with :element-type '(unsigned-byte 8) or (signed-byte 8). 2017-03-17T17:51:48Z hhdave quit (Ping timeout: 240 seconds) 2017-03-17T17:52:18Z pjb: pebblexe: the question is whether msgpack is a binary representation or a textual representation? 2017-03-17T17:52:22Z pebblexe: binary 2017-03-17T17:52:34Z pjb: So you should let the hardware do its job. 2017-03-17T17:52:34Z thodg quit (Ping timeout: 264 seconds) 2017-03-17T17:52:40Z raynold joined #lisp 2017-03-17T17:53:09Z fourier joined #lisp 2017-03-17T17:53:33Z pjb: you use :element-type '(unsigned-byte 8) and despite not being specified, all common CL implementations on common POSIX systems using common hardware (which are all octet-based (8-bit)), will transfer your numbers between 0 and 255 correctly to the hardware storage. 2017-03-17T17:54:03Z beach: pebblexe: What pjb says. And you have been told this several times. 2017-03-17T17:54:34Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-17T17:54:48Z pjb: pebblexe: representations are needed when you want to read the binary data. When you represent the numbers, you convert them into a textual representation so that you can read it. 2017-03-17T17:55:05Z jackdaniel: pebblexe: if you want to have control over bigger binary structures, look for binary-types library 2017-03-17T17:55:09Z beach: pebblexe: For example, I said: "If your file has element-type (unsigned-byte 8) then there is no way that the leading zeros will not be written." 2017-03-17T17:55:58Z pjb: for example, (let ((n (+ 1 1 1 1 1))) n) #| --> 5 |# n is the number _five_. It is represented with the string "5", which is printed by the REPL. 2017-03-17T17:57:02Z neoncontrails joined #lisp 2017-03-17T17:57:08Z pjb: but as I said, it depends on the context: (setf *print-base* 2.) (let ((n (+ 1 1 1 1 1))) n) #| --> 101 |# in base _two_, _five_ is represented with the string "101". 2017-03-17T17:58:49Z rumbler31 joined #lisp 2017-03-17T17:59:08Z pjb: Notice that those representations are what we often use, they are base-representation. We decompose a number in a sum of an exponentiated base: n = a_p b^p + a_(p-1) b^(b-1) + … + a_1 b^1 + a_0 b^0 2017-03-17T18:00:39Z pebblexe: pjb: you lost with that formula. 2017-03-17T18:00:42Z pjb: pebblexe: assuming the base b (we put it in the context with (setf *print-base* b *read-base* b)), we can just collect the "digits" in order: a_p a_(p-1) … a_1 a_0, chosing one different character for each possible values (between 0 and b-1), and this gives a base-b representation of the number n. 2017-03-17T18:00:42Z pebblexe: lost me* 2017-03-17T18:01:27Z pjb: _five_ = 1 * _two_ * _two_ + 0 * _two_ + 1 * _one_ 2017-03-17T18:01:38Z pjb: _one_ = _two_ ^ 0 2017-03-17T18:01:44Z _rumbler31 quit (Ping timeout: 256 seconds) 2017-03-17T18:01:53Z pjb: so we can keep 1 0 1 to represent _five_ in base _two_. 2017-03-17T18:02:09Z pebblexe: right now I am opening a stream with (with-open-file (s "temp-bytes" :direction :output :element-type 'unsigned-byte) ...) should I be using unsigned-byte if I plan on writing two's complement notation? 2017-03-17T18:02:19Z pjb: Not unsigned-byte. 2017-03-17T18:02:26Z pjb: (unsigned-byte 8) 2017-03-17T18:02:45Z pjb: otherwise you don't know how the implementation will map the numbers to the octets in the file on the hard disk. 2017-03-17T18:03:31Z pebblexe: pjb: but I want to use unsigned-byte if I am writing down two's notation? 2017-03-17T18:03:50Z pjb: Nope. 2017-03-17T18:04:17Z pjb: Assuming your 2-complement binary representation is over multiple-bytes, you will have to compute the octets yourself. 2017-03-17T18:04:43Z pjb: Otherwise it'll be purely implementation dependant, and you won't be able to ensure your msgpack format. 2017-03-17T18:04:56Z pebblexe: pjb: okay, I guess I'll try that 2017-03-17T18:11:33Z dreamcompiler quit (Quit: dreamcompiler) 2017-03-17T18:13:32Z BitPuffin|osx joined #lisp 2017-03-17T18:14:05Z cibs quit (Ping timeout: 258 seconds) 2017-03-17T18:14:36Z BitPuffin|osx quit (Remote host closed the connection) 2017-03-17T18:15:50Z cibs joined #lisp 2017-03-17T18:18:15Z pjb: pebblexe: notice that to store a number that is bigger than 255 in multiple octets, you just compute a representation of this number in base 256, and store each of the a_i (which are therefore between 0 and 255) directly in an octet, in the order you want (there are also other orders than big-endian and little-endian). 2017-03-17T18:19:21Z impulse quit (Ping timeout: 260 seconds) 2017-03-17T18:19:38Z pjb: pebblexe: also, the algorithm to compute the a_i involves integer divisions with remainder, but when b is a power of 2, we can use ldb to extract directly the a_i from the number. 2017-03-17T18:19:58Z nyef: There are two "middle-endian" orders for 32-bit octet-addressed machines, for example, and the situation only gets worse for larger integers. 2017-03-17T18:20:23Z pebblexe: pjb: msgpack a big-endian binary format 2017-03-17T18:20:39Z pjb: (ldb (byte size position) n) = (mod (truncate n (expt 2 position)) (expt 2 size)) 2017-03-17T18:23:03Z manualcrank joined #lisp 2017-03-17T18:26:36Z DeadTrickster joined #lisp 2017-03-17T18:26:57Z bocaneri quit (Read error: Connection reset by peer) 2017-03-17T18:27:24Z milanj quit (Quit: This computer has gone to sleep) 2017-03-17T18:31:41Z josh_2 joined #lisp 2017-03-17T18:32:31Z klltkr joined #lisp 2017-03-17T18:34:20Z ebrasca joined #lisp 2017-03-17T18:34:54Z dilated_dinosaur joined #lisp 2017-03-17T18:40:10Z xhe quit (Quit: leaving) 2017-03-17T18:42:35Z ryanbw quit (Ping timeout: 240 seconds) 2017-03-17T18:46:34Z zooey quit (Remote host closed the connection) 2017-03-17T18:46:59Z varjag quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2017-03-17T18:47:20Z zooey joined #lisp 2017-03-17T18:55:19Z ryanbw joined #lisp 2017-03-17T18:56:17Z warweasle quit (Quit: later) 2017-03-17T18:56:25Z defaultxr joined #lisp 2017-03-17T18:56:32Z pebblexe: okay I'm stuck; for some reason I can't write certain values now that I am using a '(signed-byte 8) https://gist.github.com/pebblexe/074d94be0f88286f1da33c3afcbab01c 2017-03-17T18:56:51Z pebblexe: (pack nil) throws The value 195 is not of the expected type (SIGNED-BYTE 8). 2017-03-17T18:57:18Z mathi_aihtam joined #lisp 2017-03-17T18:57:20Z beach: pebblexe: ???? 2017-03-17T18:57:28Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-17T18:57:30Z pebblexe: beach: yeah I'm an idiot, just don't know how yet 2017-03-17T18:57:36Z |3b|: right, 195 is more than 127 2017-03-17T18:57:47Z beach: Indeed. 2017-03-17T18:57:50Z pebblexe: ah... didn't think of that 2017-03-17T18:58:24Z |3b|: (unsigned-byte 8) is usually used for "raw octets" when dealing with binary data 2017-03-17T18:58:57Z mathi_aihtam quit (Client Quit) 2017-03-17T18:59:16Z pebblexe: |3b|: I have to store negative numbers 2017-03-17T18:59:36Z pjb: pebblexe: I told you to use (unsigned-byte 8) for a reason. 2017-03-17T18:59:51Z pjb: pebblexe: and I told you to deal with the 2-complement thing yourself. 2017-03-17T18:59:56Z |3b|: you presumably have to store 32bit values too, and they don't fit in 8bits either 2017-03-17T19:00:16Z pjb: pebblexe: basically you just need to extract the octets from the number using ldb, this is the magic of 2-complement. 2017-03-17T19:00:19Z wtetzner joined #lisp 2017-03-17T19:00:54Z IRCFReAK joined #lisp 2017-03-17T19:01:58Z IRCFReAK quit (K-Lined) 2017-03-17T19:02:28Z edgar-rft: also #xc3 = 195 is clearly not in (signed-byte 8) range of -128..+127 2017-03-17T19:02:29Z pjb: (defun integer-to-int32-octets/big-endian (n) (list (ldb (byte 8 24) n) (ldb (byte 8 16) n) (ldb (byte 8 8) n) (ldb (byte 8 0) n))) (loop for n in '(0 -1 1 -2 2 -1000 1000 -1000000 1000000) collect (list n (integer-to-int32-octets/big-endian n))) #| --> ((0 (0 0 0 0)) (-1 (255 255 255 255)) (1 (0 0 0 1)) (-2 (255 255 255 254)) (2 (0 0 0 2)) (-1000 (255 255 252 24)) (1000 (0 0 3 232)) (-1000000 (255 240 189 192)) (1000000 (0 15 66 2017-03-17T19:02:29Z pjb: |# 2017-03-17T19:03:24Z ryanbw quit (Quit: WeeChat 1.7) 2017-03-17T19:04:10Z Baggers joined #lisp 2017-03-17T19:06:11Z aeth: pjb: your line cuts off at (0 15 66 2017-03-17T19:06:25Z pjb: 64))) |# 2017-03-17T19:06:26Z aeth: paste.lisp.org might be better for that 2017-03-17T19:06:32Z aeth: wow lol 2017-03-17T19:06:53Z aeth: So your client got that it was too long, placed the |# but ate the 64))), strange 2017-03-17T19:07:23Z pjb: Yes, it didn't compute the message length correctly, it seems. 2017-03-17T19:07:37Z aeth: It probably hardcode's some IRC network's server software 2017-03-17T19:07:56Z aeth: Freenode's software is fairly uncommon, at least iirc. It has been ages since I frequented multiple IRC networks. 2017-03-17T19:08:23Z oleo quit (Quit: Leaving) 2017-03-17T19:08:38Z aeth: Most non-technical people moved over to the proprietary group chat app of the year a long time ago. 2017-03-17T19:09:00Z aeth: (Okay, the apps probably live for like 4 years) 2017-03-17T19:09:29Z |3b|: IRC protocol doesn't have a message length, so clients just have to guess 2017-03-17T19:09:54Z aeth: Right, and it's hardcoding some IRCd's length, which is apparently a bit longer than Freenode's 2017-03-17T19:10:02Z |3b|: (or rather it does, but it may tack random extra stuff at front pf message so you don't know how much of it us left for you) 2017-03-17T19:10:09Z |3b|: *is 2017-03-17T19:10:26Z rumbler31 quit (Ping timeout: 258 seconds) 2017-03-17T19:10:27Z aeth: right, iirc, it's all included, including nick length? 2017-03-17T19:10:34Z aeth: so pjb is the smartest one here, followed by us 2017-03-17T19:10:56Z aeth: long-descriptive-nick-names mean you have less space to actually speak on IRC, going against the Lispy intuition 2017-03-17T19:11:10Z scymtym quit (Ping timeout: 264 seconds) 2017-03-17T19:11:29Z pjb: I should have separated the definition from the example. 2017-03-17T19:12:09Z pebblexe: pjb: thank you! 2017-03-17T19:13:08Z aeth: Common Lisp, of course, is home of least-negative-normalized-double-float and load-logical-pathname-translations 2017-03-17T19:13:39Z aeth: ldb is actually a poorly named name, because it doesn't say what it does 2017-03-17T19:14:01Z aeth: (unless you are a PDP-10 assembly language programmer) 2017-03-17T19:15:06Z pjb: In my image, the longuest symbol name length is: nextstep-functions:|initWithBitmapDataPlanes:pixelsWide:pixelsHigh:bitsPerSample:samplesPerPixel:hasAlpha:isPlanar:colorSpaceName:bitmapFormat:bytesPerRow:bitsPerPixel:| 2017-03-17T19:15:29Z pjb: Of course, Objective-C Cocoa method names are not short either :-) 2017-03-17T19:15:31Z foom: I think irc always uses a 512 byte message limit, but the limit is for the whole message "!@ PRIVMSG # :\r\n" 2017-03-17T19:15:52Z aeth: oh, good, so #lisp encourages longer messages, too 2017-03-17T19:16:18Z foom: so, you want to have a short hostname for irc. :) 2017-03-17T19:16:51Z aeth: pjb: the difference is that kebab-case is more readable than camelCase imo, especially when you start throwing in one-letter or acronym stuff like do-foo-with-xml-soon vs doFooWithXMLSoon 2017-03-17T19:16:56Z IRCFReAK joined #lisp 2017-03-17T19:17:00Z lambda-smith joined #lisp 2017-03-17T19:17:08Z emacsomancer quit (Ping timeout: 268 seconds) 2017-03-17T19:17:28Z pjb: doFooWithExtendedMarkupLanguageSoon ;-) 2017-03-17T19:17:49Z aeth: Java, the language that most loves long names, also loves acronyms, especially XML :-p 2017-03-17T19:18:24Z IRCFReAK quit (K-Lined) 2017-03-17T19:19:11Z aeth: and unfortunately camelCase is lossy compression unless you know all the special things 2017-03-17T19:20:05Z aeth: CFFI's translate-camelcase-name calls them "special-words" 2017-03-17T19:20:32Z aeth: So I think camelcase wrongly gives long variable names a bad reputation. 2017-03-17T19:21:40Z IRCFReAK joined #lisp 2017-03-17T19:21:41Z IRCFReAK quit (K-Lined) 2017-03-17T19:21:52Z aeth: (Also, long variable names are awkward to use when they're mixed in with very poorly designed OOP APIs.) 2017-03-17T19:22:05Z ryanbw joined #lisp 2017-03-17T19:22:49Z rumbler31 joined #lisp 2017-03-17T19:24:12Z edgar-rft: Everything gets more awkward when it's mixed up with even more awkward stuff. 2017-03-17T19:26:04Z klltkr joined #lisp 2017-03-17T19:26:55Z ryanbw quit (Ping timeout: 258 seconds) 2017-03-17T19:27:42Z aeth: The longest names I've written are quaternion-rotation-of-vector-into! (35) and input-action-state-mouse-sensitivity (36), but the latter is a struct accessor so it sort of doesn't count. 2017-03-17T19:28:28Z ryanbw joined #lisp 2017-03-17T19:28:32Z aeth: It looks like the CLHS has update-instance-for-redefined-class (35) and least-negative-normalized-double-float (38) 2017-03-17T19:29:17Z aeth: If standard CL was updated to match modern naming conventions, though, it would be +least-negative-normalized-double-float+ (40) 2017-03-17T19:29:54Z fourier: in emacs you just turn on the glasses-mode and read all stuff like doFooWithExtendedMarkupLanguageSoon normally 2017-03-17T19:31:00Z ogkloo: in non-lisp languages I like camelCase 2017-03-17T19:31:18Z ogkloo: in lisps dashes 2017-03-17T19:31:43Z nyef: ogkloo: What about in Forth? 2017-03-17T19:31:54Z fourier: ogkloo: try glasse-mode in emacs 2017-03-17T19:31:59Z ogkloo: or just remove every vowel and refuse to use the shift key 2017-03-17T19:32:05Z aeth: fourier: if the camelCase plays by the rules 2017-03-17T19:32:14Z aeth: fourier: I've seen foo_BarBaz before 2017-03-17T19:32:27Z aeth: I'm not sure if automated tools can handle that 2017-03-17T19:32:37Z nyef: minion: Advice on automated? 2017-03-17T19:32:39Z minion: You can't expect automated advice for everything. 2017-03-17T19:33:01Z Baggers left #lisp 2017-03-17T19:33:44Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-17T19:34:31Z aeth: (GLSL's API is what uses gl_FooBar, perhaps to distinguish from the OpenGL API's glFooBar) 2017-03-17T19:34:38Z pjb: Nah! Just use gentemp to name all your objects! 2017-03-17T19:35:04Z varjag joined #lisp 2017-03-17T19:35:11Z pjb: (defun t0 (t1 t2 t3) (if (t4 t1) (t5 t2) (1+ (t5 t3)))) 2017-03-17T19:35:40Z aeth: good idea 2017-03-17T19:35:47Z aeth: I should add that to my obfuscator 2017-03-17T19:36:12Z fourier: better write like this guy: https://github.com/arcfide/Co-dfns/blob/master/e.cd 2017-03-17T19:36:13Z nyef: Better that then tempnam_r(3). (-: 2017-03-17T19:36:48Z aeth: nyef: (gentemp "tempnam_r") 2017-03-17T19:37:01Z aeth: unfortunately, you can only prefix 2017-03-17T19:37:18Z aeth: but nothing stops you from using "tempnam_r(3" 2017-03-17T19:37:28Z eazar001 quit (Quit: WeeChat 1.7) 2017-03-17T19:38:01Z aeth: (gentemp "tempnam_r(") => |tempnam_r(6| (at least for me, because I ran it 6 times now) 2017-03-17T19:38:39Z nyef: It's also too bad, in a way, that you can't guarantee that macros will only be singly expanded and have a particular evaluation order when compiled, otherwise you could have a macro that walks down a list of different forms to expand to. 2017-03-17T19:41:45Z aeth: Brainfuck is Turing complete. That means that you can just compile the Lisp expressions you want to obfuscate to Brainfuck and then embed a Brainfuck-to-Lisp transpiler. You'll wind up with Lisp source that is just a bunch of incfs/decfs working around a signed-byte array. 2017-03-17T19:42:40Z aeth: Also, with some kind of while loop form. I use (do () ((zerop (aref tape tape-position))) ...) 2017-03-17T19:43:13Z nyef: Not using intercal? 2017-03-17T19:43:32Z aeth: Brainfuck is actually incredibly easy compared to something like Intercal (with its comefroms) 2017-03-17T19:43:48Z aeth: Comefroms aren't that different from goto, but Brainfuck doesn't need gotos! It's a structured programming language! All it has is a while loop! 2017-03-17T19:44:08Z aeth: I originally, in error, was using gensyms on a tagbody until I realized my mistake. 2017-03-17T19:44:40Z aeth: (Technically, Brainfuck in Common Lisp probably uses gotos, but it doesn't have to... you can non-portably use tail recursion, see: Scheme, where it can be done portably) 2017-03-17T19:45:35Z luis quit (Ping timeout: 252 seconds) 2017-03-17T19:45:54Z lerax joined #lisp 2017-03-17T19:45:56Z aeth: Also, a Brainfuck reader only works on a per-character basis. This is it, you just need to read characters from a stream and act based on one: http://paste.lisp.org/display/341453 2017-03-17T19:48:09Z aeth: (I need to rename brainfuck-main to read-brainfuck, it was originally unclear that what I was doing was just writing a reader.) 2017-03-17T19:48:37Z luis joined #lisp 2017-03-17T19:52:58Z _death: aeth: http://paste.lisp.org/display/341453#1 this was my attempt many years ago 2017-03-17T19:53:05Z dreamcompiler joined #lisp 2017-03-17T19:53:47Z NeverDie quit (Quit: http://radiux.io/) 2017-03-17T19:56:02Z p_l: aeth: wasn't malbolge considered at least once to be useful for that kind of crap? 2017-03-17T19:56:44Z aeth: _death: our approaches are similar, but it's insufficient 2017-03-17T19:57:31Z aeth: _death: After I released my code, one thing I realized is that there needs to be an optimizing step as the final stage. 2017-03-17T19:58:22Z aeth: real brainfuck code is full of things like ++++++++++++++ and ---------. Reading the disassembly, I realized that simple increments in the produced Lisp is not going to produce good Lisp 2017-03-17T19:59:38Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-17T20:00:30Z _death: aeth: sure.. I think I wrote it in my first year of learning Lisp.. before 2008 for sure 2017-03-17T20:01:00Z aeth: The problem is that the wrapping check and the increments don't go well together. I *think* wrapping increments of more than one is more efficient, because then you only do the wrapping check once in large sequences of +++++s, ----s, <<<>>>s, etc. 2017-03-17T20:01:40Z aeth: and you'll see that a lot in real world brainfuck: http://www.hevanet.com/cristofd/brainfuck/ 2017-03-17T20:04:54Z oleo joined #lisp 2017-03-17T20:07:09Z AKifer joined #lisp 2017-03-17T20:07:59Z Bike: https://esolangs.org/wiki/Brainfuck_implementations#Optimizing_implementations 2017-03-17T20:08:20Z aeth: Interestingly, Brainfuck is simple enough that the reader itself could do the optimization, peeking forward to see if the character is the same as the current character. Hmm... 2017-03-17T20:09:05Z S1 quit (Ping timeout: 240 seconds) 2017-03-17T20:09:10Z aeth: Bike: But why write an optimizing implementation when you can just produce Lisp code that ideally SBCL, CCL, etc., knows how to optimize? 2017-03-17T20:09:23Z aeth: This logic applies to imo all programming languages that can decently map to CL, not just Brainfuck. 2017-03-17T20:10:50Z IRCFReAK joined #lisp 2017-03-17T20:12:24Z _death: aeth: for example, if you want to learn how to write an optimizing compiler 2017-03-17T20:12:45Z sjl joined #lisp 2017-03-17T20:12:52Z aeth: _death: then write an optimizing CL compiler, and use that as your target! 2017-03-17T20:12:58Z NeverDie_ joined #lisp 2017-03-17T20:13:10Z IRCFReAK quit (K-Lined) 2017-03-17T20:13:24Z _death: sure.. if you can do that 2017-03-17T20:13:46Z aeth: Fork off of SICL? 2017-03-17T20:13:52Z aeth: It's BSD-licensed. 2017-03-17T20:14:05Z Bike: that's a bit more involved than "oh, i can collapse + signs together" 2017-03-17T20:14:08Z _death: why fork anything and not just write it from scratch 2017-03-17T20:14:29Z aeth: oh wow, Github actually (1) detects licenses, even with unusual names and (2) summarizes them. https://github.com/robert-strandh/SICL/blob/master/LICENSE-BSD 2017-03-17T20:15:10Z aeth: I wish Gitlab did that, they just rename "License" to the name of the license (e.g. "MIT License") in the project's home page. 2017-03-17T20:15:14Z attila_lendvai joined #lisp 2017-03-17T20:15:14Z attila_lendvai quit (Changing host) 2017-03-17T20:15:14Z attila_lendvai joined #lisp 2017-03-17T20:15:48Z aeth: Bike: Start simple and work your way up. 2017-03-17T20:15:58Z puchka joined #lisp 2017-03-17T20:15:59Z Bike: like with a brainfuck compiler, say? 2017-03-17T20:16:58Z BitPuffin|osx joined #lisp 2017-03-17T20:17:26Z aeth: Bike: think smaller. https://esolangs.org/wiki/Smallfuck 2017-03-17T20:17:52Z S1 joined #lisp 2017-03-17T20:18:19Z impulse joined #lisp 2017-03-17T20:18:19Z aeth: Bike: But it's not quite true that you can't start with Lisp. You can start simple and work your way up, within Lisp, by starting with a simple subset of Lisp. 2017-03-17T20:18:32Z aeth: Both Lisp and Forth are quite easy to write, in different ways. 2017-03-17T20:18:52Z nyef: Mmm. But Lisp tends to have a more complicated runtime requirement. 2017-03-17T20:18:53Z aeth: Afaik, the main issue with working with a from-scratch Lisp would be finding a way to GC. 2017-03-17T20:19:10Z mathi_aihtam joined #lisp 2017-03-17T20:19:12Z aeth: If you even support GC at first. 2017-03-17T20:19:44Z nyef: The simplest GC is to restart the system from scratch once it runs out of memory. 2017-03-17T20:19:53Z aeth: yeah 2017-03-17T20:20:06Z nyef: A time-honored implementation strategy. 2017-03-17T20:20:22Z aeth: Now with 8 GB (hah, underpowered), 16 GB, 32 GB, etc., being normal, GC isn't really a priority when you're starting, probably. 2017-03-17T20:20:32Z aeth: s/being normal/being normal for RAM/ 2017-03-17T20:21:06Z aeth: Unless you're using your Lisp subset to wokr with multimedia or something. 2017-03-17T20:21:07Z mathi_aihtam quit (Client Quit) 2017-03-17T20:21:09Z aeth: *work 2017-03-17T20:21:12Z nyef: I should be getting a 4 GB disk tomorrow. Not RAM, hard disk. 2017-03-17T20:21:22Z aeth: two typing mistakes, time for coffee, brb 2017-03-17T20:21:31Z aeth: nyef: ? 2017-03-17T20:21:39Z _death: nyef: use dblspace or stacker :) 2017-03-17T20:21:48Z Harag quit (Ping timeout: 240 seconds) 2017-03-17T20:22:19Z nyef: _death: Mac disk. Planning to image it and load the software onto an SCSI2SD. 2017-03-17T20:22:19Z puchka quit (Ping timeout: 240 seconds) 2017-03-17T20:22:20Z aeth: nyef: On the one hand, I definitely remember when 1 GB HDDs were cool and huge (around the turn of the century, right?). On the other hand, hard disk? 2017-03-17T20:22:57Z nyef: I used to use a 20 MB HDD. 2017-03-17T20:23:30Z puchka joined #lisp 2017-03-17T20:23:59Z foom: I got a 100MB hard drive. It was so big it was basically impossible to conceive of ever filling it. 2017-03-17T20:24:16Z foom: (the 20MB HD was full already at that point) 2017-03-17T20:24:48Z al-damiri joined #lisp 2017-03-17T20:25:56Z aeth: Pictures (high quality and/or high quantity), gigantic audio libraries, videos, and (non-trivial) games. 2017-03-17T20:26:09Z aeth: Afaik those are generally the main reasons why we couldn't live on < 1 GB. 2017-03-17T20:26:19Z _death: videos? maybe some gifs 2017-03-17T20:26:38Z aeth: well, some modern gifs, yes 2017-03-17T20:26:45Z aeth: Some of those are larger than the "gifv" video equivalent 2017-03-17T20:27:17Z foom: if everyone would just go back to black and white 72dpi images, they'd sure take a lot less space. 2017-03-17T20:27:59Z didi: So... if I indent to design a readable format, should I prefix it with a tailored character? I can see how I can transform my object into a list structure so should I read it like a list and then convert it? 2017-03-17T20:28:00Z aeth: Go ahead and look at your disk usage split into directories, and it's probably multimedia (e.g. screenshots, videos, audio, etc.) or git repos that store multimedia. 2017-03-17T20:28:02Z _death: just use ascii animation 2017-03-17T20:28:09Z didi: s/indent/intent 2017-03-17T20:28:19Z aeth: foom: no, people should switch to procedural generation 2017-03-17T20:28:26Z aeth: Essentially, really, really good compression. 2017-03-17T20:28:45Z nyef: Okay, scared up *two* PCI SCSI cards. With a bit of luck, I can get one of them going. 2017-03-17T20:29:33Z didi: I guess I will have to get into readtables, but I am scared. 2017-03-17T20:29:33Z nyef: My disk usage by directories? Mostly audio, video, ROM images, and disk images, I think. 2017-03-17T20:29:35Z DGASAU quit (Ping timeout: 240 seconds) 2017-03-17T20:30:03Z aeth: oh, right, VMs... they eat RAM too 2017-03-17T20:31:17Z IRCFReAK joined #lisp 2017-03-17T20:31:19Z puchka quit (Quit: leaving) 2017-03-17T20:32:41Z IRCFReAK quit (K-Lined) 2017-03-17T20:33:06Z aeth: didi: I think you need to provide more context 2017-03-17T20:33:52Z AKifer quit (Quit: Page closed) 2017-03-17T20:36:21Z didi: Sure. I have a CLOS class, hence instances. I want to save these instances to disk. I can see how I can transform an instance into a list. 2017-03-17T20:37:56Z didi: Should I read a list and then transform it to an object, or should I provide some kind of readable format which a direct call to READ would result in an object? 2017-03-17T20:39:04Z aeth: You could probably just create a make-foo that works on plists and then apply make-foo 2017-03-17T20:39:13Z didi: Indeed. 2017-03-17T20:39:22Z aeth: e.g. (apply #'make-array 42 (list :element-type 'bit :initial-element 1)) 2017-03-17T20:39:24Z Bike: depends on hwo you want to save to disc, i'd say 2017-03-17T20:39:29Z Bike: there are more efficient ways to serialize 2017-03-17T20:39:42Z didi: Bike: Hum. 2017-03-17T20:40:38Z didi: Interesting. While playing with the debugger, I saw an alist full of #N#. It seemed like an efficient way to save memory. 2017-03-17T20:41:34Z pebblexe quit (Ping timeout: 260 seconds) 2017-03-17T20:42:17Z aeth: Oh sorry, I phrased it wrong. make-foo would work on keyword arguments (as they generally do), which are the same thing as one plist at the end of a call to apply #'make-foo 2017-03-17T20:43:06Z aeth: This is if you want to serialize it to disk in a human-readable s-expression format (as a plist) 2017-03-17T20:43:17Z aeth: If human-readable isn't a requirement, yes, there are more efficient ways. 2017-03-17T20:43:27Z vlatkoB quit (Remote host closed the connection) 2017-03-17T20:44:28Z IRCFReAK joined #lisp 2017-03-17T20:44:38Z _death: all this talk made me run http://www.pouet.net/prod.php?which=17201 2017-03-17T20:45:51Z IRCFReAK quit (K-Lined) 2017-03-17T20:47:12Z warweasle joined #lisp 2017-03-17T20:47:14Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-17T20:47:51Z snowcrshd quit (Remote host closed the connection) 2017-03-17T20:49:04Z bariscant quit (Quit: Leaving) 2017-03-17T20:49:31Z IRCFReAK joined #lisp 2017-03-17T20:49:52Z bariscant joined #lisp 2017-03-17T20:49:56Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-17T20:50:01Z attila_lendvai1 joined #lisp 2017-03-17T20:50:01Z attila_lendvai1 is now known as attila_lendvai 2017-03-17T20:50:01Z attila_lendvai quit (Changing host) 2017-03-17T20:50:01Z attila_lendvai joined #lisp 2017-03-17T20:50:34Z bariscant quit (Remote host closed the connection) 2017-03-17T20:50:42Z IRCFReAK quit (K-Lined) 2017-03-17T20:50:56Z bariscant joined #lisp 2017-03-17T20:53:27Z Karl_Dscc quit (Remote host closed the connection) 2017-03-17T20:54:34Z impulse quit (Ping timeout: 256 seconds) 2017-03-17T20:54:46Z attila_lendvai quit (Read error: Connection reset by peer) 2017-03-17T20:55:20Z attila_lendvai joined #lisp 2017-03-17T20:55:20Z attila_lendvai quit (Changing host) 2017-03-17T20:55:20Z attila_lendvai joined #lisp 2017-03-17T20:56:15Z rumbler31 quit (Remote host closed the connection) 2017-03-17T20:58:08Z rumbler31 joined #lisp 2017-03-17T20:58:54Z attila_lendvai quit (Client Quit) 2017-03-17T20:58:59Z attila_lendvai1 joined #lisp 2017-03-17T20:58:59Z attila_lendvai1 is now known as attila_lendvai 2017-03-17T20:58:59Z attila_lendvai quit (Changing host) 2017-03-17T20:58:59Z attila_lendvai joined #lisp 2017-03-17T20:59:12Z snowcrshd joined #lisp 2017-03-17T21:00:12Z milanj joined #lisp 2017-03-17T21:00:27Z fourier quit (Ping timeout: 240 seconds) 2017-03-17T21:02:46Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-17T21:03:30Z neoncontrails quit (Remote host closed the connection) 2017-03-17T21:04:05Z neoncontrails joined #lisp 2017-03-17T21:06:03Z neoncontrails quit (Remote host closed the connection) 2017-03-17T21:06:13Z nirved quit (Quit: Leaving) 2017-03-17T21:06:18Z neoncontrails joined #lisp 2017-03-17T21:07:45Z impulse joined #lisp 2017-03-17T21:08:20Z rumbler31 joined #lisp 2017-03-17T21:08:43Z ebrasca quit (Remote host closed the connection) 2017-03-17T21:10:01Z warweasle quit (Quit: gotta go) 2017-03-17T21:13:16Z mathrick quit (Ping timeout: 246 seconds) 2017-03-17T21:13:36Z rumbler31 quit (Ping timeout: 260 seconds) 2017-03-17T21:18:34Z didi: aeth: I think I got it. You meant `make-foo' as in (define make-foo (&key initial-contents ...)), like the :initial-contents of `make-array'. 2017-03-17T21:18:39Z NeverDie_ is now known as NeverDie 2017-03-17T21:18:49Z didi: That's interesting. 2017-03-17T21:18:59Z didi: I already have a `make-foo' function. 2017-03-17T21:19:15Z aeth: didi: oh, no, but that also works 2017-03-17T21:19:22Z didi: Oh. :-P 2017-03-17T21:19:28Z phoe: didi: did you make a FOO structure? 2017-03-17T21:19:45Z didi: I have a FOO object. An instance of a FOO class. 2017-03-17T21:19:51Z aeth: didi: I was thinking about doing it like this (define make-foo (&key some-slot some-other-slot and-so-on) ...) 2017-03-17T21:20:02Z didi: aeth: oic 2017-03-17T21:20:18Z aeth: And then if you need it to be serialized in a human-readable way, you can just serialize it as a direct plist, assuming that the slots aren't storing particularly complicated things 2017-03-17T21:20:29Z aeth: it should be < 100 lines to do this. 2017-03-17T21:20:43Z bocaneri joined #lisp 2017-03-17T21:20:44Z bocaneri quit (Max SendQ exceeded) 2017-03-17T21:20:52Z givemeparttt2000 joined #lisp 2017-03-17T21:20:54Z givemeparttt2000 left #lisp 2017-03-17T21:20:59Z didi: The numbers of line is enticing. 2017-03-17T21:21:13Z didi: Er, "number of lines" 2017-03-17T21:21:51Z didi: My object is basically a hash table with lists as values. 2017-03-17T21:21:53Z aeth: didi: because if you store it as a file of plists, all you need is this: https://gitlab.com/zombie-raptor/zombie-raptor/blob/f1d95fc986ac61d0b860f6a172b7213e086ff5ab/data/game-data.lisp#L24-33 2017-03-17T21:22:01Z aeth: and the rest of the lines is finding ways to write it that you like 2017-03-17T21:22:21Z didi: aeth: Thank you. 2017-03-17T21:22:30Z aeth: this is if you want it to be human readable, though! 2017-03-17T21:22:35Z S1 quit (Ping timeout: 240 seconds) 2017-03-17T21:22:44Z aeth: So e.g. configuration files 2017-03-17T21:23:06Z aeth: If you just need to write it to disk, you should be using a byte stream instead, and it'll be more complicated 2017-03-17T21:23:26Z didi: I see. 2017-03-17T21:23:57Z bocaneri joined #lisp 2017-03-17T21:24:36Z defaultxr quit (Ping timeout: 256 seconds) 2017-03-17T21:24:59Z aeth: (alists would also work, but they don't map cleanly to keyword arguments, so there would be more work needed in processing them) 2017-03-17T21:25:27Z didi: Hum. Why is the function you linked concatenating parens? 2017-03-17T21:25:45Z defaultxr joined #lisp 2017-03-17T21:25:50Z aeth: It creates a list of every list in that file. pjb came up with that hack iirc. 2017-03-17T21:26:03Z didi: oic 2017-03-17T21:26:08Z aeth: That way you can store more than one plist/alist/etc. there and read it into one big list to process 2017-03-17T21:26:22Z didi: Cool. 2017-03-17T21:27:36Z aeth: The only other thing that's special there is that if *read-eval* is on, then (:foo #.(+ 1 1)) will be 2, because the reader can actually evaluate things. It's on by default, so I disable it by default. 2017-03-17T21:28:06Z aeth: s/will be 2/will be (:foo 2)/ 2017-03-17T21:32:31Z lerax is now known as leraxNeverDie 2017-03-17T21:32:33Z aeth: Also, nothing stops the list from only containing lists. There is no structure. You have to do any checks on the data yourself that the reader doesn't catch. And if you need it to be very fast, you probably should cache it as some intermediate form, anyway. 2017-03-17T21:32:41Z leraxNeverDie is now known as leraxIsDead 2017-03-17T21:33:48Z beaky quit (Ping timeout: 240 seconds) 2017-03-17T21:34:07Z Einwq quit (Quit: Leaving) 2017-03-17T21:34:53Z aeth: (Well, there is exactly one structure that's always going to be there... whatever it reads is going to be read into a list, unless the reader fails to read.) 2017-03-17T21:35:20Z beaky joined #lisp 2017-03-17T21:36:20Z aeth: There is exactly one poorly formed file that this method won't catch, actually: "Hi" ) "Hello!" 2017-03-17T21:36:28Z aeth: That will only read in ("Hi") 2017-03-17T21:39:13Z aeth: (It should check for EOF) 2017-03-17T21:43:41Z LiamH quit (Quit: Leaving.) 2017-03-17T21:44:24Z DGASAU joined #lisp 2017-03-17T21:47:08Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-17T21:48:45Z knicklux quit (Quit: Leaving) 2017-03-17T21:52:11Z Lord_of_Life quit (Excess Flood) 2017-03-17T21:53:45Z josh_2 quit (Remote host closed the connection) 2017-03-17T21:53:58Z Lord_of_Life joined #lisp 2017-03-17T21:54:22Z leraxIsDead is now known as lerax 2017-03-17T21:54:28Z fourier joined #lisp 2017-03-17T21:57:00Z warweasle joined #lisp 2017-03-17T22:00:39Z angavrilov quit (Remote host closed the connection) 2017-03-17T22:06:01Z prole quit (Remote host closed the connection) 2017-03-17T22:10:25Z phoe quit (Ping timeout: 268 seconds) 2017-03-17T22:10:56Z gingerale quit (Remote host closed the connection) 2017-03-17T22:11:22Z milanj quit (Quit: Leaving) 2017-03-17T22:13:20Z bariscant quit (Ping timeout: 256 seconds) 2017-03-17T22:17:04Z BusFactor1 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-17T22:20:17Z scottj joined #lisp 2017-03-17T22:22:44Z warweasle quit (Read error: Connection reset by peer) 2017-03-17T22:26:54Z phoe joined #lisp 2017-03-17T22:29:27Z impulse quit (Ping timeout: 240 seconds) 2017-03-17T22:30:08Z k-stz joined #lisp 2017-03-17T22:31:12Z prxq joined #lisp 2017-03-17T22:36:07Z Mon_Ouie joined #lisp 2017-03-17T22:37:15Z galiley quit (Remote host closed the connection) 2017-03-17T22:37:26Z phoe quit (Ping timeout: 258 seconds) 2017-03-17T22:44:50Z phoe joined #lisp 2017-03-17T22:45:17Z prxq quit (Remote host closed the connection) 2017-03-17T22:45:30Z jdtest2 quit (Read error: Connection reset by peer) 2017-03-17T22:47:01Z jdtest joined #lisp 2017-03-17T22:48:28Z Guest44009 quit (Ping timeout: 246 seconds) 2017-03-17T22:49:01Z phoe_ joined #lisp 2017-03-17T22:52:28Z dyelar quit (Quit: Leaving.) 2017-03-17T22:53:21Z __main__ quit (Read error: Connection reset by peer) 2017-03-17T22:54:19Z __main__ joined #lisp 2017-03-17T22:55:45Z Guest44009 joined #lisp 2017-03-17T22:57:37Z foojin quit (Quit: leaving) 2017-03-17T22:58:06Z __main__ quit (Read error: Connection reset by peer) 2017-03-17T22:59:15Z __main__ joined #lisp 2017-03-17T22:59:20Z cibs quit (Ping timeout: 260 seconds) 2017-03-17T23:01:19Z cibs joined #lisp 2017-03-17T23:03:48Z X-Scale quit (Ping timeout: 240 seconds) 2017-03-17T23:06:24Z ChrisOei joined #lisp 2017-03-17T23:12:48Z X-Scale joined #lisp 2017-03-17T23:20:29Z i5um41ru joined #lisp 2017-03-17T23:22:06Z BlueRavenGT joined #lisp 2017-03-17T23:28:53Z impulse joined #lisp 2017-03-17T23:36:28Z vlnx joined #lisp 2017-03-17T23:37:30Z yeticry_ quit (Quit: leaving) 2017-03-17T23:38:05Z Mon_Ouie quit (Ping timeout: 240 seconds) 2017-03-17T23:43:00Z CEnnis91 quit (Quit: Connection closed for inactivity) 2017-03-17T23:44:31Z X-Scale quit (Ping timeout: 258 seconds) 2017-03-17T23:47:18Z impulse quit (Quit: leaving) 2017-03-17T23:47:52Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-17T23:50:52Z snowcrshd quit (Remote host closed the connection) 2017-03-17T23:52:43Z tharugrim joined #lisp 2017-03-17T23:52:58Z phoe: no 2017-03-17T23:53:00Z phoe: to dobranoc 2017-03-17T23:53:08Z phoe: ...that face when you're not on #lisp-pl 2017-03-17T23:53:11Z phoe: Anyway - good night! 2017-03-17T23:53:56Z mishoo quit (Ping timeout: 260 seconds) 2017-03-17T23:55:40Z yeticry joined #lisp 2017-03-17T23:57:03Z klltkr joined #lisp 2017-03-17T23:58:47Z X-Scale joined #lisp 2017-03-17T23:59:59Z NeverDie quit (Quit: http://radiux.io/) 2017-03-18T00:14:40Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-18T00:14:44Z scymtym joined #lisp 2017-03-18T00:17:29Z rumbler31 joined #lisp 2017-03-18T00:17:46Z didi: I can change the comma that separates groups of digits in format by setting the commachar. But can I change it to more then one character? 2017-03-18T00:18:26Z didi: s/then/than 2017-03-18T00:18:35Z krwq joined #lisp 2017-03-18T00:20:22Z Bike: I don't think so 2017-03-18T00:21:06Z didi: Oh well. 2017-03-18T00:21:36Z i5um41ru_ joined #lisp 2017-03-18T00:23:29Z Beetny joined #lisp 2017-03-18T00:23:34Z didi: I am printing TeX tables and I want to use the `\,' "almost full space" sequence. 2017-03-18T00:24:01Z didi: I'll think of something. 2017-03-18T00:24:28Z i5um41ru quit (Ping timeout: 240 seconds) 2017-03-18T00:25:47Z didi: Maybe it is time to finally use ~/. 2017-03-18T00:26:05Z i5um41ru_ quit (Ping timeout: 240 seconds) 2017-03-18T00:26:11Z rumbler31 quit 2017-03-18T00:27:11Z rumbler31 joined #lisp 2017-03-18T00:27:15Z i5um41ru joined #lisp 2017-03-18T00:28:41Z Mon_Ouie joined #lisp 2017-03-18T00:31:29Z klltkr joined #lisp 2017-03-18T00:32:33Z defaultxr quit (Quit: WeeChat 1.7) 2017-03-18T00:33:17Z defaultxr joined #lisp 2017-03-18T00:34:14Z pjb: (string-replace (format nil "~,,',:D" 123456780) "," "\\,") #| --> "123\\,456\\,780" |# 2017-03-18T00:34:56Z didi: pjb: Thank you. Easier than my idea. 2017-03-18T00:35:20Z pjb: (symbol-package 'string-replace) #| --> # |# 2017-03-18T00:35:34Z pjb: But you can do it with cl-ppcre too. 2017-03-18T00:35:49Z didi: Thanks. 2017-03-18T00:37:40Z defaultxr quit (Ping timeout: 246 seconds) 2017-03-18T00:38:35Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-18T00:39:38Z yrdz quit (Remote host closed the connection) 2017-03-18T00:40:30Z krwq: is there a simpler way to check if character is a whitespace than regex? 2017-03-18T00:41:09Z pjb: krwq: nope. There are a lot of whitespaces characters in unicode. Some ASCII control codes may be considered whitespaces or not, depending on the cases. 2017-03-18T00:41:37Z krwq: pjb: anything which works 90% of the 'cases? 2017-03-18T00:42:09Z pjb: (find ch #(#\space #\tab #\return #\linefeed #\page)) 2017-03-18T00:42:11Z krwq: like: space,tab,cr,lf, etc no fancy code points 2017-03-18T00:42:20Z klltkr joined #lisp 2017-03-18T00:42:27Z krwq: hmm, could work I think 2017-03-18T00:42:29Z pjb: Using a vector is easier than a string. 2017-03-18T00:42:43Z klltkr quit (Client Quit) 2017-03-18T00:42:58Z pjb: err, add #\newline, it may be different than either #\return or #\linefeed. 2017-03-18T00:43:26Z krwq: pjb: seriously? what kind of weird platform would have that? :P 2017-03-18T00:43:33Z krwq: thanks pjb 2017-03-18T00:44:09Z pjb: one that has ebcdic for example. Or one that uses one of the unicode newline/line-terminator instead of CR-LF. 2017-03-18T00:44:32Z yrdz joined #lisp 2017-03-18T00:45:21Z krwq: pjb: i bet people who use that have special libraries for comparing strings 2017-03-18T00:46:05Z krwq: likely half of the things on the internet is doing it wrong then 2017-03-18T00:46:43Z pjb: The most problematic part is if you want to use those semi-standard character names in case clauses. Eg. since on some implementations (eql #\newline #\linefeed), clauses with those occurences will be redudant. 2017-03-18T00:46:57Z pjb: Similar problem with float subtypes. 2017-03-18T00:48:12Z pjb: So I have a bunch of *features* (:has-rubout :has-page :has-tab :has-backspace :has-return :has-linefeed :has-escape :has-bell :has-vt :has-null :has-ascii-code) to conditionalize their use. 2017-03-18T00:48:57Z krwq: what did you do that you encountered such weird problems and platforms? 2017-03-18T00:49:04Z yrdz` joined #lisp 2017-03-18T00:49:08Z pjb: I read clhs. 2017-03-18T00:49:51Z didi: Just because: https://paste.debian.net/hidden/9523c90a 2017-03-18T00:50:18Z yrdz quit (Ping timeout: 256 seconds) 2017-03-18T00:51:36Z i5um41ru_ joined #lisp 2017-03-18T00:52:08Z varjag quit (Ping timeout: 240 seconds) 2017-03-18T00:52:16Z pjb: didi: I would write it as: (defun cl-user::print-tex-integer …) since this is the package where ~/ functions names are looked up. 2017-03-18T00:52:36Z didi: pjb: Thank you. 2017-03-18T00:53:38Z wildlander quit (Quit: Saliendo) 2017-03-18T00:54:33Z rumbler31 quit (Remote host closed the connection) 2017-03-18T00:54:37Z pjb: err, sorry, this is the default package if there is no colon in /…/ but you can write the package name there too. (format t "~/tex:print-tex-integer/" 42) 2017-03-18T00:54:41Z i5um41ru quit (Ping timeout: 260 seconds) 2017-03-18T00:54:54Z didi: oic 2017-03-18T00:55:20Z pjb: If you use a lot of ~/ you could define a short package name and short and smart function names. 2017-03-18T00:55:36Z pjb: ~/tex:int/ ~/tex:para/ … 2017-03-18T00:55:50Z didi: Ah, true. Good idea. Tho this is my first ~/ ever. 2017-03-18T00:56:46Z didi: ~/ doesn't seem to accept more arguments, so the 3 is fixed. I might be able to use a global variable to control it, Emacs' style. 2017-03-18T00:57:21Z pjb: Why do you say that? The remaining arguments consist of any parameters specified with the directive. 2017-03-18T00:57:24Z pjb: It does. 2017-03-18T00:57:34Z didi: Uuuh... 2017-03-18T00:57:37Z pve quit (Ping timeout: 246 seconds) 2017-03-18T00:57:40Z didi: Tell me more. 2017-03-18T00:57:44Z pjb: &rest 2017-03-18T00:57:48Z didi: Nice. 2017-03-18T00:58:06Z yaewa joined #lisp 2017-03-18T00:59:01Z moei quit (Ping timeout: 246 seconds) 2017-03-18T00:59:07Z nyef: When I'm passing a bag of bytes (or two) through nvif, should I be padding out to a 32-bit boundary? 2017-03-18T00:59:46Z nyef: Oh, damnit. Wrong window. /-: 2017-03-18T01:00:40Z pjb: cf. eg. http://paste.lisp.org/display/163695 2017-03-18T01:00:44Z pjb: didi ^ 2017-03-18T01:01:15Z didi: pjb: Thank you. 2017-03-18T01:01:20Z pjb: and google is a cow, since it's unable to find this page even when using unique keywords. 2017-03-18T01:02:10Z didi: Keywords instead of symbols inside loop. So careful. 2017-03-18T01:04:03Z pjb: The last example is nice, isn't it? 2017-03-18T01:04:25Z didi: It is. 2017-03-18T01:04:51Z didi: It gives me inspiration to prettify my outputs more. 2017-03-18T01:06:01Z didi: And the code gives me peace I am not the only one defining functions inside LET blocks. 2017-03-18T01:06:05Z pjb: Perhaps it's overdoing it a little. You could get the same output with lisp code simplier to understand. 2017-03-18T01:07:44Z pjb: Imagine a formatter that implements a processor, and that takes a list argument containing opcodes to compute the output :-) 2017-03-18T01:08:45Z pjb: Kind of: (format t "~/eval/" '(loop for i below 10 do (princ " ") (princ i) (terpri))) but more cryptic. 2017-03-18T01:09:00Z didi: The format string is indeed crypt. 2017-03-18T01:10:51Z mathi_aihtam joined #lisp 2017-03-18T01:11:55Z fourier quit (Ping timeout: 258 seconds) 2017-03-18T01:14:28Z mathi_aihtam quit (Client Quit) 2017-03-18T01:17:25Z vydd quit (Remote host closed the connection) 2017-03-18T01:17:59Z vydd joined #lisp 2017-03-18T01:18:07Z quazimodo joined #lisp 2017-03-18T01:20:46Z CEnnis91 joined #lisp 2017-03-18T01:22:27Z didi: Now with arguments: https://paste.debian.net/hidden/12243ff2 2017-03-18T01:22:36Z vydd quit (Ping timeout: 256 seconds) 2017-03-18T01:23:52Z pjb: You can move the &optional in place of &rest. Then you will get compilation errors when adding too many arguments. 2017-03-18T01:24:00Z pjb: Or not, as you wish. 2017-03-18T01:24:19Z didi: Compilation errors sounds appropriate. Thank you. 2017-03-18T01:25:10Z didi: And it got simpler. Cool. 2017-03-18T01:25:18Z pjb: and you can specify default values in &optional (n 3) instead of (or n 3), unless you explicitely want to use 3 when passed nil with V. 2017-03-18T01:25:53Z didi: Ah, true. Thank you. 2017-03-18T01:25:53Z pjb: (format nil "~V/print-tex-integer/" NIL 424242) 2017-03-18T01:26:26Z pjb: Again, both options are possible, only they have slightly different meaning, which you may want or not. 2017-03-18T01:27:06Z didi: I prefer the `&optional (n 3)' option. 2017-03-18T01:27:06Z pjb: You're missing a comma before v: "~,,',,V:D" 2017-03-18T01:27:18Z didi: pjb: True. But it worked without it. Odd. 2017-03-18T01:28:34Z pjb: The standard format specifiers seem to accept NIL thru V and fall-back to the default parameter. 2017-03-18T01:28:47Z didi: Ah, heh. 2017-03-18T01:29:01Z pjb: So (or n 3) may be more consistent. 2017-03-18T01:29:13Z didi: I have to go. Thank you for the help and tips. 2017-03-18T01:29:16Z didi: See ya. 2017-03-18T01:29:19Z didi quit (Quit: you can't /fire me, I /quit) 2017-03-18T01:30:48Z wtetzner quit (Remote host closed the connection) 2017-03-18T01:36:32Z jamtho joined #lisp 2017-03-18T01:39:58Z Guest44009 quit (Ping timeout: 246 seconds) 2017-03-18T01:40:57Z jamtho quit (Ping timeout: 240 seconds) 2017-03-18T01:45:20Z jamtho joined #lisp 2017-03-18T01:49:57Z libreman quit (Ping timeout: 268 seconds) 2017-03-18T01:50:22Z libreman joined #lisp 2017-03-18T01:50:54Z warweasle joined #lisp 2017-03-18T01:52:07Z FreeBirdLjj joined #lisp 2017-03-18T01:52:54Z atheris joined #lisp 2017-03-18T01:53:24Z quazimodo quit (Ping timeout: 260 seconds) 2017-03-18T02:05:54Z krwq quit (Remote host closed the connection) 2017-03-18T02:05:55Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-18T02:08:36Z fourier joined #lisp 2017-03-18T02:13:05Z fourier quit (Ping timeout: 240 seconds) 2017-03-18T02:17:12Z mathi_aihtam joined #lisp 2017-03-18T02:20:27Z k-stz quit (Remote host closed the connection) 2017-03-18T02:21:28Z jamtho quit (Ping timeout: 240 seconds) 2017-03-18T02:28:28Z TDT quit (Quit: TDT) 2017-03-18T02:30:00Z tmtwd joined #lisp 2017-03-18T02:35:31Z ahungry joined #lisp 2017-03-18T02:41:45Z borei joined #lisp 2017-03-18T02:41:56Z borei: hi all 2017-03-18T02:42:22Z borei: making my first stpeps with lisp (sbcl), trying to use asdf 2017-03-18T02:42:34Z borei: hitting the wall, need some help 2017-03-18T02:42:43Z Bike: describe the wall 2017-03-18T02:42:47Z mathi_aihtam quit (Quit: mathi_aihtam) 2017-03-18T02:42:48Z borei: (asdf:load-system "hello-world") 2017-03-18T02:42:58Z borei: Invalid source registry (:DIRECTORY "/home/dan/work/lisp/") 2017-03-18T02:43:24Z borei: was trying (:tree "/home/dan/work/lisp/") - the same result 2017-03-18T02:43:28Z nyef: ... I'm not too-too familiar with ASDF configuration, but shouldn't there be an extra layer of parens there? 2017-03-18T02:43:53Z borei: i was following docs 2017-03-18T02:44:33Z borei: registry file is - "/home/dan/.config/common-lisp/source-registry.conf" 2017-03-18T02:44:39Z borei: it's detected properly 2017-03-18T02:44:45Z NeverDie joined #lisp 2017-03-18T02:45:15Z nyef: Okay, some quick poking in my local sbcl shows that I have no clue what's what with the source registry. 2017-03-18T02:46:54Z pjb: There's always the quick-and-dirty but proven way, pushing the directory where your system is on asdf:*central-registry* 2017-03-18T02:47:32Z nyef: Totally old-school ASDF configuration... But it's also what I do, those rare times that I use ASDF in the first place. 2017-03-18T02:47:43Z nyef: ... does ASDF work on genera, btw? 2017-03-18T02:47:55Z pjb: (setf asdf:*central-registry* (append (delete-duplicates (mapcar (lambda (d) (make-pathname :name nil :type nil :version nil :defaults d)) (directory "/home/dan/work/lisp/**/*.asd")) :test (function equalp)) asdf:*central-registry* )) 2017-03-18T02:48:11Z pjb: nyef: I believe it does. 2017-03-18T02:48:24Z pjb: At least some versions of it. 2017-03-18T02:48:28Z borei: that is rocket science for now 2017-03-18T02:48:51Z borei: it's first day with lisp ;-) 2017-03-18T02:49:30Z pjb: borei: the call to directory finds all the .asd file in that directory and recursively. the mapcar removes the file name, type and version to keep only the directory path. Delete-duplicates remove duplicate directory paths, and append appends the obtained list to *central-registry*. 2017-03-18T02:49:54Z nyef: (push #p"/home/nyef/src/lisp/nq-clim/" asdf:*central-registry*) 2017-03-18T02:50:01Z pjb: Well, on day one you should not be using asdf and libraries. You should be learning basic stuff like this form. 2017-03-18T02:50:04Z nyef: Because sometimes the simple things are best. 2017-03-18T02:50:23Z pjb: You should definitely not play wiht nq-clim. 2017-03-18T02:50:40Z pjb: Or loading hello world systems. 2017-03-18T02:50:46Z borei: what is nq-clim ? 2017-03-18T02:51:05Z pjb: You should run hello-world functions you've edited in a file with (load "hw.lisp") 2017-03-18T02:51:15Z nyef: borei: One of my many unfinished projects. 2017-03-18T02:51:21Z borei: that i did and it works ! 2017-03-18T02:51:23Z pjb: or (load (compile-file "hw.lisp")) 2017-03-18T02:51:34Z nyef: And one of my few direct uses of ASDF these days. 2017-03-18T02:52:15Z pjb: IMO, programmers should be forbidden the use of libraries they couldn't write themselves. 2017-03-18T02:52:17Z i5um41ru_ quit (Read error: Connection reset by peer) 2017-03-18T02:53:20Z aeth: no, no, no 2017-03-18T02:53:24Z i5um41ru joined #lisp 2017-03-18T02:53:31Z aeth: First, that would stop most people from using Common Lisp! 2017-03-18T02:54:16Z micro_ quit (Ping timeout: 260 seconds) 2017-03-18T02:54:21Z aeth: Second, if you exclude standard libraries, that would stop almost anyone from using the stuff I'm writing. It's not that I'm doing anything difficult, it's just that I'm doing things that often require unusual styles. 2017-03-18T02:54:28Z Karl_Dscc joined #lisp 2017-03-18T02:54:44Z pjb: Yeah, perhaps it's a little too harsh. 2017-03-18T02:54:48Z cross quit (Ping timeout: 240 seconds) 2017-03-18T02:55:04Z rumbler31 joined #lisp 2017-03-18T02:55:18Z chu quit (Ping timeout: 240 seconds) 2017-03-18T02:55:26Z pjb: But the idea would rather be that programmers should be able to write all those libraries, not that they would remain idiots and that those libraries would be actually forbidden to them. 2017-03-18T02:56:01Z phadthai quit (Ping timeout: 260 seconds) 2017-03-18T02:56:04Z micro_ joined #lisp 2017-03-18T02:56:12Z aeth: Most programmers just script someone else's huge programs. Even, apparently, programmers who graduate from MIT, because that was their justification to switching their SICP course to Python. 2017-03-18T02:56:25Z phadthai joined #lisp 2017-03-18T02:56:29Z micro_ is now known as Guest84955 2017-03-18T02:56:31Z aeth: Industry pressure: forever ruining computer science. 2017-03-18T02:56:59Z aeth: (And yet, without a thriving industry, computer science departments would probably be as tiny and underfunded as humanities departments.) 2017-03-18T02:57:00Z nyef: ... Forbidden the use of OpenGL if they couldn't write their own OpenGL implementation? 2017-03-18T02:57:15Z nyef: Did I parse that right? 2017-03-18T02:57:23Z lambda-smith quit (Quit: Konversation terminated!) 2017-03-18T02:58:18Z aeth: I wouldn't know the first place to start with writing a filesystem. I could learn, but I have so many larger priorities. I would like to use filesystems, though. 2017-03-18T02:59:38Z rumbler31 quit (Ping timeout: 268 seconds) 2017-03-18T03:00:54Z borei: ok, if i push directory to *central-registry* it works 2017-03-18T03:01:08Z nyef: I could write a filesystem. I'm not so sure about an OpenGL implementation of any sort (let alone a modern, hardware-accelerated, shader-based OpenGL implementation). 2017-03-18T03:01:18Z aeth: You can also link from an existing valid location where ASDF will look. 2017-03-18T03:01:18Z borei: then i can do (asdf:load-system "hello-world") 2017-03-18T03:01:48Z borei: and it's pickingup function(s) defined in my hello-world file 2017-03-18T03:02:26Z cross joined #lisp 2017-03-18T03:02:39Z aeth: nyef: Well, I'm betting a filesystem is *exactly* like a graphics API. You could do it naively and get something, but it wouldn't be anywhere near as fast or featureful as the actual things that people use in production. 2017-03-18T03:03:26Z aeth: It's probably easy to write anything as long as you're not concerned about performance and robustness around edge cases and extra features that someone will find useful. 2017-03-18T03:04:13Z borei: btw, speaking about OGL, can somebody point me to the "wrapper" 2017-03-18T03:04:42Z aeth: cl-opengl 2017-03-18T03:04:50Z ryanwatk` joined #lisp 2017-03-18T03:04:52Z borei: cffi ? 2017-03-18T03:05:04Z aeth: It uses cffi 2017-03-18T03:05:13Z White_Flame: there's also cepl, which makes the interface more lispy 2017-03-18T03:05:19Z White_Flame: instead of just like the raw C API 2017-03-18T03:05:22Z aeth: There are several. 2017-03-18T03:05:30Z aeth: The most mature are afaik sketch (2D only), CEPL, and Clinch. 2017-03-18T03:06:14Z aeth: You do not want to use OpenGL and SDL2 directly through CL unless you want to take at least a year before you have anything. 2017-03-18T03:06:54Z nyef doesn't want to use SDL2 directly, period, end of story. 2017-03-18T03:06:55Z ryanwatkins quit (Ping timeout: 258 seconds) 2017-03-18T03:07:02Z Karl_Dscc quit (Remote host closed the connection) 2017-03-18T03:07:21Z aeth: OpenGL is actually harder to work with than SDL. SDL is pretty easy to contain. 2017-03-18T03:07:55Z aeth: I am almost done with directly using cl-sdl2 directly. I am far, far from having an acceptable renderer, necessitating diving into cl-opengl a lot more at some point. 2017-03-18T03:08:05Z jleija joined #lisp 2017-03-18T03:08:08Z tmtwd quit (Remote host closed the connection) 2017-03-18T03:09:12Z aeth: https://gitlab.com/zombie-raptor/zombie-raptor/blob/ad0d44c6eddc45429c9ae0816502af159449bcd5/core/input.lisp and https://gitlab.com/zombie-raptor/zombie-raptor/blob/ad0d44c6eddc45429c9ae0816502af159449bcd5/core/sdl2.lisp 2017-03-18T03:09:30Z sjl quit (Ping timeout: 268 seconds) 2017-03-18T03:09:38Z aeth: That's most of what you'd need to do to interface directly with SDL2. 2017-03-18T03:10:01Z aeth: (I am still missing a few core features.) 2017-03-18T03:11:32Z aeth: On the other hand, I will probably never get to a point where I can say "I don't have to directly interface with OpenGL anymore" unless I switch from OpenGL to another API (Vulkan?) 2017-03-18T03:12:37Z Guest56954 quit (Quit: WeeChat 1.5) 2017-03-18T03:12:38Z nyef: ... And I'll probably end up at the point of talking to the hardware directly instead. /-: 2017-03-18T03:13:00Z fluter joined #lisp 2017-03-18T03:13:15Z aeth: Vulkan's as close as you can get to talking to the graphics hardware directly afaik. 2017-03-18T03:13:51Z nyef: I have a set of kernel headers, and the ability to mmap() PCI resources, and I'm not afraid to use them. 2017-03-18T03:14:39Z nyef: I've directly poked nvidia video card registers from SBCL within the past week. 2017-03-18T03:14:43Z aeth: You're going to try to write your own replacement for libmesa? Good luck, especially with nvidia. 2017-03-18T03:15:11Z nyef: I hope that I'm not, but I know me. 2017-03-18T03:15:27Z aeth: Just implement vulkan in it and beat cl-vulkan to the punch! 2017-03-18T03:16:05Z libreman quit (Ping timeout: 240 seconds) 2017-03-18T03:16:32Z libreman joined #lisp 2017-03-18T03:16:53Z White_Flame: I still love that people talk about "poke"ing registers ;) 2017-03-18T03:17:18Z nyef: My first programming language *was* BASIC. 2017-03-18T03:17:36Z nyef: Might have been CBM BASIC of some stripe, but the first one that I remember was Applesoft BASIC. 2017-03-18T03:17:51Z nyef: ... Both of which, IIRC, were licensed from Microsoft. 2017-03-18T03:17:56Z White_Flame: yep 2017-03-18T03:19:16Z vydd joined #lisp 2017-03-18T03:22:51Z yrdz` quit (Ping timeout: 260 seconds) 2017-03-18T03:23:28Z vydd quit (Ping timeout: 240 seconds) 2017-03-18T03:23:35Z xhe joined #lisp 2017-03-18T03:26:27Z chu joined #lisp 2017-03-18T03:27:13Z warweasle quit (Quit: goodnight.) 2017-03-18T03:32:56Z quazimodo joined #lisp 2017-03-18T03:34:08Z pjb quit (Ping timeout: 240 seconds) 2017-03-18T03:36:05Z ebzzry joined #lisp 2017-03-18T03:52:48Z i5um41ru_ joined #lisp 2017-03-18T03:54:23Z i5um41ru quit (Read error: Connection reset by peer) 2017-03-18T03:57:08Z ebzzry quit (Ping timeout: 258 seconds) 2017-03-18T04:00:57Z i5um41ru_ quit (Ping timeout: 240 seconds) 2017-03-18T04:01:54Z i5um41ru joined #lisp 2017-03-18T04:02:28Z daviid quit (Ping timeout: 240 seconds) 2017-03-18T04:04:36Z fuzer joined #lisp 2017-03-18T04:05:27Z failproofshark joined #lisp 2017-03-18T04:20:13Z vydd joined #lisp 2017-03-18T04:23:54Z fuzer quit (Quit: leaving) 2017-03-18T04:24:22Z fuzer joined #lisp 2017-03-18T04:25:21Z vydd quit (Ping timeout: 268 seconds) 2017-03-18T04:25:50Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-18T04:26:22Z bpanthi joined #lisp 2017-03-18T04:26:41Z aeth: Whatever happened to Microsoft? Are they still making Basics? 2017-03-18T04:30:16Z bpanthi quit (Client Quit) 2017-03-18T04:42:21Z jleija quit (Quit: leaving) 2017-03-18T04:48:53Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-18T04:49:37Z bungoman joined #lisp 2017-03-18T04:50:35Z i5um41ru quit (Ping timeout: 240 seconds) 2017-03-18T04:50:53Z i5um41ru joined #lisp 2017-03-18T04:51:14Z fuzer left #lisp 2017-03-18T04:51:16Z rszeno joined #lisp 2017-03-18T04:51:25Z bungoman_ quit (Ping timeout: 246 seconds) 2017-03-18T04:53:59Z rszeno quit (Client Quit) 2017-03-18T04:59:53Z libreman quit (Ping timeout: 268 seconds) 2017-03-18T05:00:19Z libreman joined #lisp 2017-03-18T05:03:00Z CEnnis91 quit (Quit: Connection closed for inactivity) 2017-03-18T05:03:19Z i5um41ru quit (Ping timeout: 246 seconds) 2017-03-18T05:04:29Z i5um41ru joined #lisp 2017-03-18T05:09:59Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-18T05:12:13Z jason_m quit (Ping timeout: 268 seconds) 2017-03-18T05:13:48Z BlueRavenGT quit (Ping timeout: 256 seconds) 2017-03-18T05:15:10Z drmeister: They had that DOS thing and then something called Windows 2017-03-18T05:15:46Z drmeister can't keep track 2017-03-18T05:16:36Z quazimodo quit (Ping timeout: 260 seconds) 2017-03-18T05:17:21Z drmeister: Does anyone use slime remotely? 2017-03-18T05:17:49Z drmeister: Does M-. work and can you edit source on the remote machine? 2017-03-18T05:18:14Z Bike: you need tramp, but yeah it works i think. haven't done it in a while. 2017-03-18T05:18:36Z drmeister: tramp? is that an emacs thing? 2017-03-18T05:18:46Z Bike: yeah, for remote files. slime manual talks about it ab it. 2017-03-18T05:19:00Z drmeister: Got it 2017-03-18T05:19:00Z Harag joined #lisp 2017-03-18T05:20:18Z drmeister: I want Clasp/Cando running in a docker container, running cl-jupyter and talking to a browser and running slime so I can connect into it and develop code. 2017-03-18T05:20:44Z drmeister: This may be overkill. I'll probably run everything locally for development. 2017-03-18T05:21:47Z drmeister: Slime seems to run fine in Clasp in :SPAWN mode. I like multithreading now. 2017-03-18T05:23:37Z libreman quit (Ping timeout: 246 seconds) 2017-03-18T05:23:59Z drmeister: Although it seems to run a little hot. 400% cpu 2017-03-18T05:24:07Z libreman joined #lisp 2017-03-18T05:25:44Z drmeister: Ugh, it's spending 10% of its time in gettimeofday 2017-03-18T05:29:27Z drmeister: pthread_cond_wait is calling gettimeofday and spending 10% of the process time in there. 2017-03-18T05:31:28Z drmeister: All this new stuff - I don't know what to expect. 2017-03-18T05:31:34Z i5um41ru quit (Ping timeout: 264 seconds) 2017-03-18T05:31:45Z scottj quit (Quit: leaving) 2017-03-18T05:32:15Z i5um41ru joined #lisp 2017-03-18T05:34:05Z FreeBirdLjj joined #lisp 2017-03-18T05:34:27Z drmeister: Certainly not 400% cpu when it's sitting there metaphorically twiddling its thumbs 2017-03-18T05:34:45Z drmeister: sbcl doesn't use 400%cpu idle in slime 2017-03-18T05:37:51Z vlatkoB joined #lisp 2017-03-18T05:43:24Z i5um41ru quit (Quit: leaving) 2017-03-18T05:44:03Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-18T05:52:25Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-18T05:54:48Z DGASAU quit (Ping timeout: 240 seconds) 2017-03-18T06:05:33Z mathrick joined #lisp 2017-03-18T06:10:15Z i5um41ru joined #lisp 2017-03-18T06:23:39Z i5um41ru quit (Read error: Connection reset by peer) 2017-03-18T06:26:56Z i5um41ru joined #lisp 2017-03-18T06:28:13Z beach: Good morning everyone! 2017-03-18T06:32:49Z angavrilov joined #lisp 2017-03-18T06:33:35Z FreeBirdLjj joined #lisp 2017-03-18T06:40:52Z froggey quit (Ping timeout: 260 seconds) 2017-03-18T06:42:12Z BitPuffin|osx quit (Ping timeout: 256 seconds) 2017-03-18T06:42:44Z vydd joined #lisp 2017-03-18T06:43:13Z vydd quit (Remote host closed the connection) 2017-03-18T06:45:45Z i5um41ru quit (Remote host closed the connection) 2017-03-18T06:51:47Z i5um41ru joined #lisp 2017-03-18T07:02:25Z neoncontrails quit (Remote host closed the connection) 2017-03-18T07:08:37Z vlatkoB_ joined #lisp 2017-03-18T07:12:18Z vlatkoB quit (Ping timeout: 240 seconds) 2017-03-18T07:12:30Z nowhere_man quit (Remote host closed the connection) 2017-03-18T07:13:16Z jdtest quit (Ping timeout: 260 seconds) 2017-03-18T07:13:18Z nowhere_man joined #lisp 2017-03-18T07:13:22Z jdtest joined #lisp 2017-03-18T07:14:06Z gingerale joined #lisp 2017-03-18T07:14:15Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-18T07:14:47Z FreeBirdLjj joined #lisp 2017-03-18T07:17:19Z i5um41ru quit (Remote host closed the connection) 2017-03-18T07:18:00Z i5um41ru joined #lisp 2017-03-18T07:20:26Z i5um41ru quit (Remote host closed the connection) 2017-03-18T07:27:57Z jdtest quit (Read error: Connection reset by peer) 2017-03-18T07:29:55Z jdtest joined #lisp 2017-03-18T07:31:45Z rippa joined #lisp 2017-03-18T07:33:39Z mishoo joined #lisp 2017-03-18T07:36:52Z vibs29 quit (Ping timeout: 260 seconds) 2017-03-18T07:41:46Z vibs29 joined #lisp 2017-03-18T07:45:57Z jdtest2 joined #lisp 2017-03-18T07:45:58Z jdtest quit (Read error: Connection reset by peer) 2017-03-18T07:51:14Z attila_lendvai joined #lisp 2017-03-18T07:51:14Z attila_lendvai quit (Changing host) 2017-03-18T07:51:14Z attila_lendvai joined #lisp 2017-03-18T07:51:36Z neoncontrails joined #lisp 2017-03-18T07:52:56Z FreeBird_ joined #lisp 2017-03-18T07:55:57Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-18T08:05:44Z ebzzry joined #lisp 2017-03-18T08:08:21Z S1 joined #lisp 2017-03-18T08:10:29Z NeverDie_ joined #lisp 2017-03-18T08:11:05Z NeverDie quit (Ping timeout: 240 seconds) 2017-03-18T08:12:14Z Harag1 joined #lisp 2017-03-18T08:12:20Z Harag quit (Ping timeout: 260 seconds) 2017-03-18T08:12:21Z Harag1 is now known as Harag 2017-03-18T08:19:18Z mishoo quit (Ping timeout: 240 seconds) 2017-03-18T08:35:45Z shrdlu68 joined #lisp 2017-03-18T08:36:22Z shrdlu68: For about 20 elements, would a hash table be more efficient than a plist? 2017-03-18T08:36:40Z shrdlu68: Or vice versa? 2017-03-18T08:37:38Z beach: It probably doesn't matter much. But why plist rather than alist? 2017-03-18T08:38:35Z shrdlu68: I prefer the plist because look-up return the value rather than the key-value pair. 2017-03-18T08:39:19Z shrdlu68: Does that make sense? 2017-03-18T08:39:45Z jackdaniel: shrdlu68: yes, on the other hand alexandria has assoc-value 2017-03-18T08:40:20Z shrdlu68: But why alists rather than plists? 2017-03-18T08:40:24Z jackdaniel: in a matter of fact, writing aval function makes 2 lines 2017-03-18T08:41:06Z shrdlu68: I've written one myself :) 2017-03-18T08:41:21Z jackdaniel: shrdlu68: I find personally easier to read assoc lists, but I don't know if there is any technical reason for that 2017-03-18T08:44:36Z shrdlu68: I don't how how valid, but there's an argument for plists here: https://www.reddit.com/r/lisp/comments/2wancz/why_property_lists/ 2017-03-18T08:44:50Z mishoo joined #lisp 2017-03-18T08:45:03Z vydd joined #lisp 2017-03-18T08:45:20Z S1 quit (Read error: Connection reset by peer) 2017-03-18T08:46:09Z shrdlu68: I especially like the fact that plists "can be passed to apply so it will be interpreted as keyword arguments" 2017-03-18T08:50:23Z Bike quit (Quit: leaving) 2017-03-18T08:51:05Z loke` joined #lisp 2017-03-18T08:51:10Z vydd quit (Ping timeout: 246 seconds) 2017-03-18T08:56:25Z rumbler31 joined #lisp 2017-03-18T08:57:52Z xhe quit (Quit: leaving) 2017-03-18T08:58:10Z Einwq joined #lisp 2017-03-18T08:59:08Z jack_rabbit joined #lisp 2017-03-18T09:00:01Z Karl_Dscc joined #lisp 2017-03-18T09:00:37Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-18T09:02:53Z DGASAU joined #lisp 2017-03-18T09:06:10Z FreeBird_ quit (Remote host closed the connection) 2017-03-18T09:09:41Z jdtest joined #lisp 2017-03-18T09:12:06Z jdtest2 quit (Ping timeout: 268 seconds) 2017-03-18T09:17:53Z jdtest quit (Read error: Connection reset by peer) 2017-03-18T09:20:29Z jdtest joined #lisp 2017-03-18T09:21:49Z pjb joined #lisp 2017-03-18T09:23:53Z neoncontrails quit (Remote host closed the connection) 2017-03-18T09:24:28Z neoncontrails joined #lisp 2017-03-18T09:24:31Z xhe joined #lisp 2017-03-18T09:28:19Z marcoecc joined #lisp 2017-03-18T09:29:05Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-18T09:29:22Z neoncontrails quit (Ping timeout: 268 seconds) 2017-03-18T09:32:47Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-18T09:34:29Z raynold quit (Quit: Connection closed for inactivity) 2017-03-18T09:36:08Z daviid joined #lisp 2017-03-18T09:37:48Z marcoecc quit (Ping timeout: 240 seconds) 2017-03-18T09:38:41Z lambda-smith joined #lisp 2017-03-18T09:47:48Z jdtest quit (Ping timeout: 240 seconds) 2017-03-18T09:47:55Z jdtest2 joined #lisp 2017-03-18T09:49:35Z jdtest joined #lisp 2017-03-18T09:49:35Z jdtest2 quit (Read error: Connection reset by peer) 2017-03-18T09:49:52Z ryanwatk` quit (Ping timeout: 260 seconds) 2017-03-18T09:53:09Z vydd joined #lisp 2017-03-18T09:53:09Z vydd quit (Changing host) 2017-03-18T09:53:09Z vydd joined #lisp 2017-03-18T09:53:48Z jdtest quit (Ping timeout: 240 seconds) 2017-03-18T09:54:15Z jdtest joined #lisp 2017-03-18T09:55:29Z Guest45097 joined #lisp 2017-03-18T09:55:53Z jdtest2 joined #lisp 2017-03-18T09:58:22Z jdtest quit (Ping timeout: 246 seconds) 2017-03-18T09:58:48Z Guest45097 quit (Read error: Connection reset by peer) 2017-03-18T09:59:00Z Guest45097 joined #lisp 2017-03-18T10:01:21Z compro joined #lisp 2017-03-18T10:02:04Z varjag joined #lisp 2017-03-18T10:03:16Z pve joined #lisp 2017-03-18T10:04:34Z schjetne quit (Ping timeout: 264 seconds) 2017-03-18T10:13:29Z nirved joined #lisp 2017-03-18T10:16:25Z shrdlu68 quit (Remote host closed the connection) 2017-03-18T10:28:42Z agaric joined #lisp 2017-03-18T10:29:05Z tharugrim joined #lisp 2017-03-18T10:33:41Z troydm joined #lisp 2017-03-18T10:38:39Z prole joined #lisp 2017-03-18T10:40:01Z anaumov quit (Ping timeout: 246 seconds) 2017-03-18T10:41:02Z MoALTz joined #lisp 2017-03-18T10:45:14Z logicmoo is now known as dmiles 2017-03-18T10:50:55Z bariscant joined #lisp 2017-03-18T11:00:31Z froggey joined #lisp 2017-03-18T11:00:51Z FakePedro joined #lisp 2017-03-18T11:09:06Z froggey quit (Ping timeout: 256 seconds) 2017-03-18T11:10:09Z al-damiri joined #lisp 2017-03-18T11:14:33Z schjetne joined #lisp 2017-03-18T11:17:59Z jamtho joined #lisp 2017-03-18T11:21:08Z schjetne quit (Ping timeout: 240 seconds) 2017-03-18T11:21:42Z wildlander joined #lisp 2017-03-18T11:22:43Z jamtho quit (Ping timeout: 246 seconds) 2017-03-18T11:25:08Z schjetne joined #lisp 2017-03-18T11:25:34Z peterhil quit (Ping timeout: 264 seconds) 2017-03-18T11:25:49Z froggey joined #lisp 2017-03-18T11:25:58Z froggey quit (Changing host) 2017-03-18T11:25:58Z froggey joined #lisp 2017-03-18T11:37:23Z peterhil joined #lisp 2017-03-18T11:42:17Z triggered joined #lisp 2017-03-18T11:43:24Z mingus1 joined #lisp 2017-03-18T11:43:46Z S1 joined #lisp 2017-03-18T11:45:03Z triggered: noob to lisp here. I want to make a package that uses 2 other packages but the two packages has a few name conflicts. How do I solve this? 2017-03-18T11:47:10Z mingus quit (Ping timeout: 264 seconds) 2017-03-18T11:47:10Z mingus1 is now known as mingus 2017-03-18T11:48:25Z clintm joined #lisp 2017-03-18T11:49:52Z S1 quit (Quit: Leaving) 2017-03-18T11:50:10Z s1feha joined #lisp 2017-03-18T11:52:13Z agaric left #lisp 2017-03-18T11:59:43Z oleo quit (Remote host closed the connection) 2017-03-18T12:01:47Z rpg joined #lisp 2017-03-18T12:07:48Z shaftoe quit (Ping timeout: 240 seconds) 2017-03-18T12:09:39Z beach: triggered: Don't :USE those packages. Instead use explicit package prefixes. 2017-03-18T12:10:30Z beach: triggered: Lately, I have started to :USE only the COMMON-LISP package. The code becomes much clearer that way, I find. 2017-03-18T12:13:03Z beach: triggered: When you :USE an external package, you make a big commitment. If the maintainer of the external package adds more functionality later, it may break your code because of name conflicts that you didn't have initially. 2017-03-18T12:13:09Z d4ryus1 joined #lisp 2017-03-18T12:14:00Z triggered: So just use explicit package prefixes that are when calling a function from the package 2017-03-18T12:14:24Z beach: For every symbol. Class names, function names, types, anything. 2017-03-18T12:14:47Z beach: (make-instance 'package:class-name ...) 2017-03-18T12:14:47Z triggered: like fucntion "ppcre:split" from package cl-ppcre 2017-03-18T12:14:56Z beach: Right. 2017-03-18T12:16:04Z Amplituhedron joined #lisp 2017-03-18T12:16:05Z mishoo quit (Ping timeout: 240 seconds) 2017-03-18T12:16:32Z d4ryus quit (Ping timeout: 256 seconds) 2017-03-18T12:16:51Z thodg joined #lisp 2017-03-18T12:21:42Z xhe quit (Quit: leaving) 2017-03-18T12:22:15Z xhe joined #lisp 2017-03-18T12:25:50Z M-Illandan quit (Remote host closed the connection) 2017-03-18T12:25:51Z thorondor[m] quit (Read error: Connection reset by peer) 2017-03-18T12:25:51Z zzkt[m] quit (Read error: Connection reset by peer) 2017-03-18T12:25:52Z harlequin78[m] quit (Remote host closed the connection) 2017-03-18T12:25:53Z RichardPaulBck[m quit (Remote host closed the connection) 2017-03-18T12:28:24Z EvW joined #lisp 2017-03-18T12:29:26Z rpg quit (Ping timeout: 260 seconds) 2017-03-18T12:29:40Z GuiLoooo joined #lisp 2017-03-18T12:35:27Z ebzzry quit (Ping timeout: 240 seconds) 2017-03-18T12:37:24Z anaumov joined #lisp 2017-03-18T12:40:54Z zzkt[m] joined #lisp 2017-03-18T12:41:03Z sjl joined #lisp 2017-03-18T12:41:27Z rumbler31 joined #lisp 2017-03-18T12:45:40Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-18T12:49:24Z EvW quit (Ping timeout: 256 seconds) 2017-03-18T12:51:09Z EvW1 joined #lisp 2017-03-18T12:52:30Z Mon_Ouie quit (Quit: WeeChat 1.7) 2017-03-18T12:57:45Z oleo joined #lisp 2017-03-18T12:57:55Z atheris quit (Ping timeout: 246 seconds) 2017-03-18T12:58:08Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-18T13:02:21Z phoe: I'm thinking of using LFARM to administer a cluster of nodes. 2017-03-18T13:02:25Z Lord_of_Life quit (Excess Flood) 2017-03-18T13:02:50Z fuzer joined #lisp 2017-03-18T13:02:52Z phoe: A single node will boot into a fresh Debian system, run SBCL and attempt to connect to the clustermaster server. 2017-03-18T13:03:02Z tharugrim joined #lisp 2017-03-18T13:03:26Z fuzer: hi. how open binary file as simple-array? 2017-03-18T13:03:42Z phoe: And then, I expect that it will need to load some packages - these nodes are diskless and will need to download files into RAM and compile them. 2017-03-18T13:04:28Z Lord_of_Life joined #lisp 2017-03-18T13:04:37Z phoe: fuzer: http://www.codecodex.com/wiki/Read_a_file_into_a_byte_array#Common_Lisp ? 2017-03-18T13:04:40Z phoe: does this work for you? 2017-03-18T13:05:12Z phoe: The question is - I will need to load some packages, most likely utilities like alexandria, bordeaux-threads and so on and possibly some custom package of mine. 2017-03-18T13:05:20Z Trystam joined #lisp 2017-03-18T13:05:38Z phoe: And I don't want them to stress the main Quicklisp repo every time a node boots up. 2017-03-18T13:06:03Z fuzer: thanks 2017-03-18T13:06:12Z White_Flame: can't you populate the quicklisp dir when the node starts? 2017-03-18T13:06:41Z phoe: White_Flame: that's a good idea. 2017-03-18T13:07:16Z phoe: So I basically precreate the ~/quicklisp/ directory and stuff it with all the systems they will need. 2017-03-18T13:07:40Z phoe: This can exist on the networked file system because I don't intend on modifying it. 2017-03-18T13:08:01Z phoe: I can perhaps create a single NFS and mount it read-only on each node. 2017-03-18T13:08:05Z thodg quit (Ping timeout: 240 seconds) 2017-03-18T13:08:17Z Tristam quit (Ping timeout: 268 seconds) 2017-03-18T13:08:26Z phoe: White_Flame: this is good, thanks! Especially because I don't want the nodes connected to the Internet. 2017-03-18T13:08:44Z Trystam is now known as Tristam 2017-03-18T13:13:05Z RichardPaulBck[m joined #lisp 2017-03-18T13:13:05Z M-Illandan joined #lisp 2017-03-18T13:13:05Z harlequin78[m] joined #lisp 2017-03-18T13:13:13Z thorondor[m] joined #lisp 2017-03-18T13:13:49Z mishoo joined #lisp 2017-03-18T13:14:05Z yeticry quit (Ping timeout: 240 seconds) 2017-03-18T13:15:23Z pjb: triggered: you can use :shadowing-import-from to select a colliding symbol name from one specific package. 2017-03-18T13:15:32Z yeticry joined #lisp 2017-03-18T13:20:33Z beach: pjb: I think triggered must have fainted because he/she did not acknowledge the help I have. 2017-03-18T13:25:33Z yeticry quit (Ping timeout: 268 seconds) 2017-03-18T13:26:26Z yeticry joined #lisp 2017-03-18T13:27:38Z lambda-smith quit (Quit: Konversation terminated!) 2017-03-18T13:33:18Z s1feha quit (Ping timeout: 240 seconds) 2017-03-18T13:35:33Z fuzer left #lisp 2017-03-18T13:36:27Z yeticry quit (Ping timeout: 240 seconds) 2017-03-18T13:38:02Z yeticry joined #lisp 2017-03-18T13:38:55Z triggered quit (Ping timeout: 260 seconds) 2017-03-18T13:40:51Z TETOFILO joined #lisp 2017-03-18T13:43:27Z xhe quit (Quit: leaving) 2017-03-18T13:47:01Z jason_m joined #lisp 2017-03-18T13:50:35Z Beetny quit (Ping timeout: 240 seconds) 2017-03-18T13:51:49Z FakePedro quit (Ping timeout: 246 seconds) 2017-03-18T13:52:00Z xhe joined #lisp 2017-03-18T13:54:37Z ebzzry joined #lisp 2017-03-18T13:55:34Z libreman quit (Ping timeout: 264 seconds) 2017-03-18T13:56:06Z libreman joined #lisp 2017-03-18T13:56:57Z yeticry quit (Ping timeout: 240 seconds) 2017-03-18T13:58:09Z yeticry joined #lisp 2017-03-18T13:59:27Z ebzzry quit (Client Quit) 2017-03-18T13:59:46Z ebzzry joined #lisp 2017-03-18T14:03:28Z Mon_Ouie joined #lisp 2017-03-18T14:05:42Z FakePedro joined #lisp 2017-03-18T14:09:47Z andyunqique joined #lisp 2017-03-18T14:10:49Z andyunqique: Hi is it possible for a macro to expand to something like (push `(,parameter ,value) *unspecified-inputs*)? 2017-03-18T14:11:35Z phoe: andyunqique: why do you want a macro to expand to backquotes? 2017-03-18T14:11:37Z andyunqique: I'd almost like to escape the effect of backquote/comma inside the macro definition 2017-03-18T14:12:17Z White_Flame: you mean parameter and value are defined in the lexical scope outside the macro use site? 2017-03-18T14:12:47Z andyunqique: value is 2017-03-18T14:13:40Z phoe: (let ((cell '`(,parameter value))) `(push ,cell *unspecified-inputs*)) 2017-03-18T14:13:44Z phoe: something like that? 2017-03-18T14:13:49Z phoe: uh, s/value/,value/ 2017-03-18T14:13:59Z andyunqique: in fact sorry, I want the normal effect of ,parameter. But I want ",value" in the expansion, not evaluated value. 2017-03-18T14:16:38Z nyef: Is this a call for nested backquote? 2017-03-18T14:19:16Z andyunqique: (macro x v1) -> (push `(x ,v1) *list*) 2017-03-18T14:19:40Z libreman quit (Ping timeout: 259 seconds) 2017-03-18T14:19:44Z andyunqique: is the outcome I want, where x and v1 are param/value. v1 is defined outside of the macro im defining 2017-03-18T14:20:04Z libreman joined #lisp 2017-03-18T14:20:21Z phoe: andyunqique: is what I wrote acceptable? 2017-03-18T14:20:31Z White_Flame: can you give an example of where x and v1 are both visibly defined? 2017-03-18T14:20:33Z phoe: (let ((cell '`(,parameter ,value))) `(push ,cell *unspecified-inputs*)) 2017-03-18T14:21:45Z nyef: (defmacro macro (x v1) `(push `(,',x ,v1) *list*)) maybe? 2017-03-18T14:24:01Z White_Flame: btw, if this is inside a macro-calling macro, then you might want to shift some of the inner guts to functions which work on forms as data; it can in some instances be easier to grok 2017-03-18T14:24:55Z andyunqique: I'm just trying some of these ideas 2017-03-18T14:25:05Z nyef: I very rarely need double backquote. Most of the time that it appears to be called for, it can be broken up with a suitable function. 2017-03-18T14:28:07Z andyunqique: (defmacro m (param value) ..) such that (m 'x v1) -> (push `('x ,v1) *lst*) 2017-03-18T14:30:18Z phoe: andyunqique: is what I wrote acceptable? 2017-03-18T14:32:16Z nyef: I... am about as lost as I get whenever I deal with double-backquote. 2017-03-18T14:33:36Z nyef: Basically, your weapons when working with double-backquote are ,, and ,', 2017-03-18T14:34:01Z nyef: ... I think. 2017-03-18T14:34:45Z nyef: Ugh. Going back to doing something easier, like hacking graphics drivers. 2017-03-18T14:35:46Z EvW1 quit (Ping timeout: 258 seconds) 2017-03-18T14:36:45Z andyunqique: phoe: I couldn't get it to work no 2017-03-18T14:40:13Z nowhere_man joined #lisp 2017-03-18T14:41:22Z andyunqique: nyef: thanks. Hacking gfx drivers is a lot harder than what I'm doing. I just suck at lisp. 2017-03-18T14:42:26Z nyef: Eh, hacking gfx drivers is of varying difficulty. I'm at one of the easier bits right now. Double-backquote tends to sprain my brain. 2017-03-18T14:46:57Z varjag: just say no to double backquote 2017-03-18T14:47:30Z nikivi joined #lisp 2017-03-18T14:47:40Z tharugrim quit (Ping timeout: 260 seconds) 2017-03-18T14:48:07Z EvW joined #lisp 2017-03-18T14:48:25Z _death: (defmacro m (x y) `(push `(,',x ,,y) *lst*)) 2017-03-18T14:48:33Z nyef: That looks plausible. 2017-03-18T14:51:12Z _death: you can start by writing M as a function returning a form so there's no need to macroexpand-1 to test it.. also, in this case you can just use `(push (list ',x ,y) *lst*) 2017-03-18T14:51:21Z FreeBirdLjj joined #lisp 2017-03-18T14:52:20Z hhdave joined #lisp 2017-03-18T14:53:04Z mathrick quit (Ping timeout: 246 seconds) 2017-03-18T14:54:35Z cibs quit (Ping timeout: 240 seconds) 2017-03-18T14:56:43Z cibs joined #lisp 2017-03-18T14:57:27Z mathrick joined #lisp 2017-03-18T14:57:31Z s1feha joined #lisp 2017-03-18T14:58:53Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-18T14:59:04Z wheelsucker joined #lisp 2017-03-18T14:59:47Z nowhere_man quit (Remote host closed the connection) 2017-03-18T15:01:37Z nowhere_man joined #lisp 2017-03-18T15:01:49Z mathrick quit (Ping timeout: 246 seconds) 2017-03-18T15:02:28Z andyunqique: (defm (p v) `(push `(,,p ,,v) *list*)) is working for me as long as I quote p 2017-03-18T15:02:39Z andyunqique: I'm happy for now 2017-03-18T15:03:12Z nyef: andyunqique: Which would be the difference between ,, and ,', 2017-03-18T15:04:13Z andyunqique: you're right, that works perfectly 2017-03-18T15:05:16Z Vampire0 joined #lisp 2017-03-18T15:05:29Z andyunqique: I just noticed death posted that solution 2017-03-18T15:07:45Z Vampire0 left #lisp 2017-03-18T15:08:34Z nowhere_man quit (Remote host closed the connection) 2017-03-18T15:11:37Z yeticry_ joined #lisp 2017-03-18T15:14:29Z yeticry quit (Ping timeout: 258 seconds) 2017-03-18T15:18:41Z PinealGlandOptic joined #lisp 2017-03-18T15:19:14Z oleo quit (Quit: Leaving) 2017-03-18T15:25:34Z ebzzry quit (Ping timeout: 264 seconds) 2017-03-18T15:34:34Z bariscant left #lisp 2017-03-18T15:34:47Z bariscant joined #lisp 2017-03-18T15:37:05Z TDT joined #lisp 2017-03-18T15:38:20Z damke joined #lisp 2017-03-18T15:41:20Z GuiLoooo is now known as GuilOooo 2017-03-18T15:42:48Z warweasle joined #lisp 2017-03-18T15:47:21Z manualcrank joined #lisp 2017-03-18T15:47:56Z BitPuffin|osx joined #lisp 2017-03-18T15:48:23Z wtetzner joined #lisp 2017-03-18T15:51:26Z smokeink joined #lisp 2017-03-18T15:52:39Z prole quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2017-03-18T15:53:01Z prole joined #lisp 2017-03-18T15:54:10Z malcom2073: I'm trying to use CFFI with CCL on Windowsx64. I can load a dll with define-foreign-library and load-foreign-library using the example in the documentation (with the caveat that I have to use an absolute path to the library). However, when I try to load a dll that depends on another dll, it fails to find that second library (Which is in the same folder as the first). How do I set cffi's dependancy search path to search locally? *foreign-library- 2017-03-18T15:54:10Z malcom2073: directories* seems to only affect the search that load-foreign-library does for the main library, not dependancies. 2017-03-18T15:54:51Z jdtest joined #lisp 2017-03-18T15:55:05Z jdtest2 quit (Ping timeout: 240 seconds) 2017-03-18T15:57:48Z smokeink quit (Ping timeout: 258 seconds) 2017-03-18T15:58:57Z jdtest quit (Ping timeout: 240 seconds) 2017-03-18T15:59:15Z jdtest joined #lisp 2017-03-18T15:59:16Z |3b|: malcom2073: i think windows searches PATH, so might try either putting the .dlls in PATH somewhere or adding the dir before loading them 2017-03-18T15:59:36Z |3b|: possibly also checks the dir containing the program 2017-03-18T15:59:54Z malcom2073: How do I tell what folder the program is actively running out of? 2017-03-18T16:00:51Z malcom2073: That makes sense, it should be running out of the same folder as the dlls (as is expected on windows), but I'll bet it isn't 2017-03-18T16:01:57Z phoe: malcom2073: UIOP:CHDIR 2017-03-18T16:02:04Z Khisanth quit (Ping timeout: 256 seconds) 2017-03-18T16:02:04Z phoe: see if this works 2017-03-18T16:02:18Z phoe: basically: specify the working directory 2017-03-18T16:02:25Z jdtest2 joined #lisp 2017-03-18T16:03:31Z bariscant quit (Quit: Leaving) 2017-03-18T16:03:40Z jdtest quit (Ping timeout: 260 seconds) 2017-03-18T16:03:57Z malcom2073: Bingo, thanks phoe, that was indeed it 2017-03-18T16:05:14Z jdtest joined #lisp 2017-03-18T16:06:58Z jdtest2 quit (Ping timeout: 264 seconds) 2017-03-18T16:09:52Z phoe: malcom2073: that's not just Lisp 2017-03-18T16:09:55Z jdtest quit (Ping timeout: 260 seconds) 2017-03-18T16:10:02Z hhdave quit (Quit: hhdave) 2017-03-18T16:10:07Z phoe: it's more or less Windows and every unixlike operating system I know of 2017-03-18T16:10:14Z jdtest joined #lisp 2017-03-18T16:10:14Z phoe: the working directory's pretty damn important. 2017-03-18T16:10:17Z malcom2073: Right 2017-03-18T16:10:44Z malcom2073: It didn't occur to me that it wouldn't be running in the folder with the source+binary fiels heh 2017-03-18T16:10:45Z malcom2073: files* 2017-03-18T16:10:57Z malcom2073: Brainfart moment on my part 2017-03-18T16:12:30Z wtetzner quit (Remote host closed the connection) 2017-03-18T16:13:56Z jdtest2 joined #lisp 2017-03-18T16:14:18Z jdtest quit (Ping timeout: 240 seconds) 2017-03-18T16:14:28Z Khisanth joined #lisp 2017-03-18T16:16:07Z jdtest joined #lisp 2017-03-18T16:18:30Z jdtest2 quit (Ping timeout: 258 seconds) 2017-03-18T16:18:31Z jdtest quit (Read error: Connection reset by peer) 2017-03-18T16:18:41Z jdtest3 joined #lisp 2017-03-18T16:21:50Z wtetzner joined #lisp 2017-03-18T16:22:45Z TETOFILO quit (Ping timeout: 260 seconds) 2017-03-18T16:26:24Z xhe quit (Quit: leaving) 2017-03-18T16:26:28Z BitPuffin|osx quit (Ping timeout: 240 seconds) 2017-03-18T16:29:48Z oleo joined #lisp 2017-03-18T16:31:00Z Amplituhedron quit (Quit: Konversation terminated!) 2017-03-18T16:31:48Z andyunqique quit (Ping timeout: 240 seconds) 2017-03-18T16:32:05Z libreman quit (Ping timeout: 260 seconds) 2017-03-18T16:35:31Z mabynogy joined #lisp 2017-03-18T16:42:16Z EvW quit (Ping timeout: 258 seconds) 2017-03-18T16:42:39Z strelox joined #lisp 2017-03-18T16:42:52Z shifty quit (Ping timeout: 260 seconds) 2017-03-18T16:44:55Z dreamcompiler quit (Quit: dreamcompiler) 2017-03-18T16:45:36Z libreman joined #lisp 2017-03-18T16:46:44Z Bike joined #lisp 2017-03-18T16:47:21Z dreamcompiler joined #lisp 2017-03-18T16:50:08Z mabynogy: hello 2017-03-18T16:53:46Z phoe: mabynogy: hello 2017-03-18T16:53:51Z dreamcompiler quit (Quit: dreamcompiler) 2017-03-18T16:54:41Z mabynogy: hy phoe ! 2017-03-18T16:56:33Z orivej joined #lisp 2017-03-18T16:57:19Z boboc joined #lisp 2017-03-18T16:57:42Z neoncontrails joined #lisp 2017-03-18T16:57:48Z boboc left #lisp 2017-03-18T16:59:01Z boboc_ joined #lisp 2017-03-18T17:02:31Z boboc_ left #lisp 2017-03-18T17:04:09Z atheris joined #lisp 2017-03-18T17:16:56Z Sikander joined #lisp 2017-03-18T17:17:36Z Sikander: Hi guys 2017-03-18T17:18:18Z mabynogy: hello Sikander 2017-03-18T17:18:22Z Sikander: Question: I'm using cffi to call a c function. This function is variadic, so I'm using defcfun with &rest. 2017-03-18T17:18:48Z Sikander: The issue, however, is that I'd like to use this function with a programmatically generated list of arguments. 2017-03-18T17:19:25Z Sikander: I would use (apply #'c-func args) where args is a list of generated arguments. 2017-03-18T17:19:49Z Sikander: But defcfun creates macros, and so I cannot use apply. 2017-03-18T17:19:58Z Sikander: Any ideas? 2017-03-18T17:24:22Z nyef: First thing that comes to mind is looking in the manual. 2017-03-18T17:24:41Z nyef: Second thing that comes to mind is trying to find an example. 2017-03-18T17:25:12Z fortitude joined #lisp 2017-03-18T17:27:09Z strelox quit (Remote host closed the connection) 2017-03-18T17:28:54Z Sikander: I've looked in the manual. The only examples I could find was where such a function was directly used and arguments written out. 2017-03-18T17:29:55Z Sikander: From the manual: (sprintf s "%c %d %.2f %s" :char 90 :short 42 :float pi :string "super-locrian") 2017-03-18T17:30:18Z fortitude_ joined #lisp 2017-03-18T17:30:20Z ryanbw quit (Quit: WeeChat 1.7) 2017-03-18T17:30:42Z Bike: looking through the manual it kind of seems like cffi isn't prepared for this 2017-03-18T17:30:55Z Sikander: In that example, I would want to write (sprintf s "%c %d %.2f %s" args) where args is (list :char 90 :short 42 ...) 2017-03-18T17:31:31Z Sikander: Bike: Yeah, that's what I thought as well. But I was hoping that I was missing something 2017-03-18T17:32:34Z Sikander: That sort of makes the possibility to call variadic functions very limited... 2017-03-18T17:32:40Z fortitude quit (Ping timeout: 246 seconds) 2017-03-18T17:33:00Z eazar001 joined #lisp 2017-03-18T17:33:27Z atheris quit (Quit: Ex-Chat) 2017-03-18T17:37:06Z TETOFILO joined #lisp 2017-03-18T17:37:33Z EvW1 joined #lisp 2017-03-18T17:37:50Z strelox joined #lisp 2017-03-18T17:39:47Z fourier joined #lisp 2017-03-18T17:40:39Z Younder joined #lisp 2017-03-18T17:41:35Z libreman quit (Ping timeout: 240 seconds) 2017-03-18T17:42:01Z libreman joined #lisp 2017-03-18T17:44:42Z Sikander left #lisp 2017-03-18T17:45:04Z phoe: Sikander: aw shucks, you've left. 2017-03-18T17:45:47Z cibs quit (Ping timeout: 268 seconds) 2017-03-18T17:45:50Z phoe: minion: memo for Sikander: (funcall (compile nil `(lambda () (variadic-function ,@args))) 2017-03-18T17:45:53Z minion: Remembered. I'll tell Sikander when he/she/it next speaks. 2017-03-18T17:46:23Z phoe: minion: memo for Sikander: wrap the macro in a lambda to make it funcallable 2017-03-18T17:46:24Z minion: Remembered. I'll tell Sikander when he/she/it next speaks. 2017-03-18T17:47:11Z cibs joined #lisp 2017-03-18T17:49:52Z tharugrim joined #lisp 2017-03-18T17:50:26Z nyef: New toy arrived. Been taking photos of the unboxing. (-: 2017-03-18T17:52:32Z varjag: anything resembling macivory board? 2017-03-18T17:53:27Z nyef: A very close resemblence, yes. 2017-03-18T17:53:45Z gabnet joined #lisp 2017-03-18T17:54:44Z sjl quit (Ping timeout: 260 seconds) 2017-03-18T17:55:18Z varjag: congrats then! 2017-03-18T17:55:26Z varjag: was eyeing that myself :p 2017-03-18T17:55:52Z fourier quit (Ping timeout: 258 seconds) 2017-03-18T17:58:59Z nyef: It's not the LispM that I wanted (and still want), but it's the one that I could get. 2017-03-18T18:03:16Z nyef: Imaging the hard drive now. 2017-03-18T18:03:35Z bariscant joined #lisp 2017-03-18T18:04:00Z fourier joined #lisp 2017-03-18T18:04:08Z libreman quit (Ping timeout: 240 seconds) 2017-03-18T18:04:48Z nelder quit (Quit: Leaving) 2017-03-18T18:06:05Z libreman joined #lisp 2017-03-18T18:08:29Z phoe: nyef: congrats! 2017-03-18T18:09:10Z nyef: Man, it takes a while to copy 4 GB over old-school narrow SCSI. 2017-03-18T18:10:02Z vydd quit (Read error: No route to host) 2017-03-18T18:10:25Z vydd joined #lisp 2017-03-18T18:10:27Z vydd quit (Changing host) 2017-03-18T18:10:27Z vydd joined #lisp 2017-03-18T18:10:32Z phoe: What kind of filesystem is used on these, nyef? 2017-03-18T18:11:34Z varjag: pathnamefs! 2017-03-18T18:12:08Z wtetzner quit (Remote host closed the connection) 2017-03-18T18:12:42Z phoe: varjag: I don't know anything about this 2017-03-18T18:12:46Z nyef: Well, AIUI, this drive is formatted at least partly as HFS. Supposedly there's either an LMFS partition or two, or the LMFS images are in files in the HFS partition. 2017-03-18T18:19:35Z neoncontrails quit (Remote host closed the connection) 2017-03-18T18:20:10Z neoncontrails joined #lisp 2017-03-18T18:20:35Z nyef: ... Writing drive image out to microSD card. And copying it to my local machine. 2017-03-18T18:20:54Z Harag quit (Ping timeout: 256 seconds) 2017-03-18T18:21:28Z vydd quit 2017-03-18T18:22:02Z cibs quit (Ping timeout: 256 seconds) 2017-03-18T18:22:59Z josemanuel joined #lisp 2017-03-18T18:23:30Z cibs joined #lisp 2017-03-18T18:24:37Z neoncontrails quit (Ping timeout: 258 seconds) 2017-03-18T18:26:18Z ryanbw joined #lisp 2017-03-18T18:26:56Z omilu quit (Ping timeout: 260 seconds) 2017-03-18T18:27:12Z nyef: The 4 gig drive image compressed to 131 megs. 2017-03-18T18:27:35Z phoe: nyef: not all that much entropy in there. 2017-03-18T18:33:08Z Mon_Ouie quit (Quit: WeeChat 1.7) 2017-03-18T18:37:50Z krwq joined #lisp 2017-03-18T18:39:04Z BlueRavenGT joined #lisp 2017-03-18T18:40:53Z mabynogy quit (Quit: Leaving) 2017-03-18T18:41:20Z krwq quit (Remote host closed the connection) 2017-03-18T18:42:57Z fourier quit (Ping timeout: 240 seconds) 2017-03-18T18:45:49Z krwq joined #lisp 2017-03-18T18:52:51Z warweasle quit (Remote host closed the connection) 2017-03-18T19:00:41Z krwq: does emacs save some precompiled files like *.fasl? I'm trying to update slime - I pulled but the date it displays is still the old one - I'm wondering if I didn't forget about something simple 2017-03-18T19:04:13Z krwq: should the date in slime increase? is it sbcl, swank or slime date? 2017-03-18T19:08:55Z phoe: krwq: haha, slime issues. 2017-03-18T19:09:00Z phoe: where did you install slime from? 2017-03-18T19:09:07Z phoe: and where did you *previously* install slime from? 2017-03-18T19:10:02Z krwq: phoe: i always pulled from repo 2017-03-18T19:10:12Z krwq: i can check exact commits 2017-03-18T19:10:22Z krwq: current version is as of today 2017-03-18T19:10:55Z krwq: it keeps show 2016-04-19 2017-03-18T19:11:01Z krwq: keeps showing* 2017-03-18T19:11:38Z krwq: i cleaned .cache/common-lisp in case there was some part implemented in cl but nothing changed 2017-03-18T19:12:05Z krwq: would be nice to have slime-commit-hash 2017-03-18T19:12:17Z krwq: perhaps i got second copy somewhere lol 2017-03-18T19:14:23Z krwq: yeah, i think i got some files in ./quicklisp/dists/quicklisp/software/slime-v2.18/contrib/ 2017-03-18T19:14:44Z krwq: im not sure if i can safely remove those 2017-03-18T19:14:45Z papachan joined #lisp 2017-03-18T19:15:30Z jackdaniel: krwq: you probably use slime-helper.el from ~/quicklisp/slime-helper.el, which points to this directory 2017-03-18T19:16:43Z krwq: jackdaniel: that's actually correct - i just checked my .emacs - not sure why i got it this way lol 2017-03-18T19:16:45Z jackdaniel: if you want to use custom slime, you need to install it separately and load different file. to force recompilation of slime fasl, you may need to remove ~/.slime, but I'm sure there is some autodetection mechanism and you won't have to delete it 2017-03-18T19:17:33Z jackdaniel: well, you did it because it's the simplest way to install slime (and is recommended in a few "quick start" tutorials 2017-03-18T19:17:42Z jackdaniel: ) 2017-03-18T19:18:00Z jackdaniel: that's all I know, don't shoot! 2017-03-18T19:18:04Z jackdaniel: bbl :) 2017-03-18T19:21:03Z krwq: jackdaniel: I replaced path to swank-loader, removed ~/.slime and my emacs show this during initialization: Symbol's function definition is void: cl:defpackage 2017-03-18T19:21:11Z gabnet quit (Quit: Ex-Chat) 2017-03-18T19:21:24Z krwq: ill be afk for ~30min - will try to fix it after 2017-03-18T19:27:17Z angavrilov quit (Remote host closed the connection) 2017-03-18T19:30:31Z jdtest joined #lisp 2017-03-18T19:31:46Z nirved quit (Quit: Leaving) 2017-03-18T19:32:16Z jdtest3 quit (Ping timeout: 260 seconds) 2017-03-18T19:34:16Z Ven joined #lisp 2017-03-18T19:34:41Z Ven is now known as Guest27220 2017-03-18T19:35:04Z jdtest2 joined #lisp 2017-03-18T19:35:05Z jdtest quit (Read error: Connection reset by peer) 2017-03-18T19:36:57Z tharugrim quit (Ping timeout: 240 seconds) 2017-03-18T19:38:40Z bariscant quit (Quit: Leaving) 2017-03-18T19:39:08Z s1feha quit (Quit: Leaving) 2017-03-18T19:40:25Z lambda-smith joined #lisp 2017-03-18T19:42:03Z EvW1 quit (Ping timeout: 258 seconds) 2017-03-18T19:43:41Z wtetzner joined #lisp 2017-03-18T19:43:49Z neoncontrails joined #lisp 2017-03-18T19:52:38Z tharugrim joined #lisp 2017-03-18T20:04:59Z fourier` joined #lisp 2017-03-18T20:05:07Z JuanDaugherty joined #lisp 2017-03-18T20:07:14Z josemanuel quit (Quit: Leaving) 2017-03-18T20:11:03Z sjl joined #lisp 2017-03-18T20:11:48Z bariscant joined #lisp 2017-03-18T20:14:35Z nyef: So, all disks backed up, and the microSD card prepped. Various cabling and adaptors found. 2017-03-18T20:15:23Z nyef: And then it turns out that *none* of the displays that I currently have set up (taking up basically all of my available desk space) accept an analog video input with sync-on-green. 2017-03-18T20:15:46Z oleo quit (Quit: Leaving) 2017-03-18T20:21:16Z oleo joined #lisp 2017-03-18T20:21:17Z krwq: jackdaniel: phoe: i think my slime updated after I followed: http://stackoverflow.com/a/8662236 For some reason the swank did not: Versions differ: 2.19 (slime) vs. 2016-04-19 (swank). Here is what I got now: http://paste.lisp.org/display/341738 2017-03-18T20:21:59Z bariscant quit (Quit: Leaving) 2017-03-18T20:22:29Z nyef: It's amazing how forward and backward compatible a versioned protocol can be, isn't it? /-: 2017-03-18T20:23:09Z krwq: nyef: it does start though 2017-03-18T20:23:11Z JuanDaugherty: http://www.raphnet.net/electronique/sync-on-green/sync-on-green_en.php 2017-03-18T20:23:27Z krwq: but prompts me every ti,e 2017-03-18T20:24:36Z nyef: JuanDaugherty: Cute, but backwards. I have an SoG output. 2017-03-18T20:24:49Z JuanDaugherty: ah 2017-03-18T20:25:49Z nyef: Just means that I need to dig up enough space to put another screen. 2017-03-18T20:27:12Z Younder quit (Quit: Leaving) 2017-03-18T20:27:31Z Younder joined #lisp 2017-03-18T20:29:17Z varjag: nyef: but when do we see the unpacking video?! 2017-03-18T20:29:37Z nyef: Didn't take video, took a series of stills. 2017-03-18T20:30:36Z varjag: do people make or port anything new to genera still 2017-03-18T20:30:42Z varjag: like, quicklisp 2017-03-18T20:31:16Z varjag: guess that would be fairly challenging 2017-03-18T20:31:23Z attila_lendvai joined #lisp 2017-03-18T20:31:52Z varjag: nyef: is it a 2 megaword board? 2017-03-18T20:32:08Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-18T20:37:50Z defaultxr joined #lisp 2017-03-18T20:38:16Z nyef: 2.6, apparently. 2017-03-18T20:40:24Z Xach: varjag: yes, they do 2017-03-18T20:40:24Z fourier` quit (Remote host closed the connection) 2017-03-18T20:40:32Z Xach: varjag: at least as of a year or two ago 2017-03-18T20:41:06Z fourier` joined #lisp 2017-03-18T20:42:20Z daviid quit (Ping timeout: 260 seconds) 2017-03-18T20:42:46Z schjetne quit (Remote host closed the connection) 2017-03-18T20:43:26Z varjag: Xach: cool 2017-03-18T20:46:02Z remote1 joined #lisp 2017-03-18T20:49:56Z hhdave joined #lisp 2017-03-18T20:50:28Z tmtwd joined #lisp 2017-03-18T20:51:39Z krwq: phoe: jackdaniel: ok i was able to fix my slime problems - thank you a lot for help! the problem was that I thought that asd file for swank is under slime/swank and it appeared to be directly under slime/ 2017-03-18T20:52:02Z krwq: phoe: jackdaniel: because of that it was picking up the ql version 2017-03-18T20:52:06Z mejja joined #lisp 2017-03-18T20:52:47Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-18T20:53:14Z phoe: krwq: good, that's part one. 2017-03-18T20:53:31Z phoe: part two: *KILL* the old version with fire now that you have the new one running. 2017-03-18T20:54:21Z krwq: phoe: how do i do that? just delete directory or anything else i need to know? 2017-03-18T20:55:41Z phoe: krwq: depends; where is your new slime located and where is your old slime located? 2017-03-18T20:55:50Z phoe: also, do you have any slime packages installed with your OS's package manager? 2017-03-18T20:56:09Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-18T20:56:24Z krwq: phoe: i think i installed it throough quicklisp 2017-03-18T20:56:40Z FreeBirdLjj joined #lisp 2017-03-18T20:56:44Z krwq: phoe: slime-helpers or something like that 2017-03-18T20:57:00Z phoe: quicklisp-slime-helper, yes. 2017-03-18T20:57:02Z krwq: quicklisp-slime-helper 2017-03-18T20:57:22Z phoe: but - where are they on your filesystem? more or less 2017-03-18T20:57:36Z vlatkoB_ quit (Remote host closed the connection) 2017-03-18T20:57:49Z krwq: no clue, whatever the default is - ~/quicklisp/... ? 2017-03-18T20:58:07Z warweasle joined #lisp 2017-03-18T20:58:15Z FreeBird_ joined #lisp 2017-03-18T20:58:16Z krwq: ~/quicklisp/dists/quicklisp/software/slime-v2.18/swank looks like 2017-03-18T20:58:39Z neoncontrails quit (Remote host closed the connection) 2017-03-18T20:59:07Z krwq: can i just remove slime-v2.18? i'm not sure what's gonna happen 2017-03-18T20:59:14Z neoncontrails joined #lisp 2017-03-18T21:00:01Z neoncontrails quit (Remote host closed the connection) 2017-03-18T21:00:33Z phoe: I think you can 2017-03-18T21:00:39Z phoe: if your new version is pulled from elsewhere 2017-03-18T21:00:39Z neoncontrails joined #lisp 2017-03-18T21:00:49Z krwq: nvm i'm just gonna leave it as is - i changed my installation script to not install quicklisp slime helpers next time i reinstall os 2017-03-18T21:00:57Z pjb: varjag: any conforming Common Lisp library should work on Genera Common Lisp. 2017-03-18T21:01:33Z krwq: how does genera look like from security perspective? is it vm only os? 2017-03-18T21:02:05Z phoe: It's an open box. 2017-03-18T21:02:12Z phoe: A single superuser operating system. 2017-03-18T21:02:28Z phoe: Made back when the default was to trust other people. 2017-03-18T21:02:30Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2017-03-18T21:02:39Z varjag: pjb: i know that it should in theory 2017-03-18T21:03:03Z schjetne joined #lisp 2017-03-18T21:03:14Z varjag: just never ran any of my code on 2.6MW lisp 2017-03-18T21:03:32Z varjag: it probably can swap, but still 2017-03-18T21:05:28Z mishoo quit (Ping timeout: 240 seconds) 2017-03-18T21:10:03Z josh_2 joined #lisp 2017-03-18T21:12:58Z pjb: 2.6MW is about 10.4 MB on 32-bit, and 20.8 MB on 64-bit. ( ulimit -v $((32 * 1024)) -m $((208 * 102)) ; clisp ) 2017-03-18T21:13:15Z pjb: then (room) reports: 2017-03-18T21:13:15Z pjb: Bytes currently in use: 19,334,040 2017-03-18T21:13:15Z pjb: Bytes available until next GC: 2,892,604 2017-03-18T21:13:15Z pjb: 2017-03-18T21:14:55Z pjb: after loading almost all com.informatimago. 2017-03-18T21:15:22Z libreman quit (Ping timeout: 264 seconds) 2017-03-18T21:15:31Z phoe: it sucks that Lisp stopped being widely used just about the time machines got enough RAM to run Lisps comfortably 2017-03-18T21:15:55Z libreman joined #lisp 2017-03-18T21:15:56Z varjag: pjb: lisp machines that we are talking about have 36 bit word iirc 2017-03-18T21:16:20Z pjb: yes, that's why I mapped it to 32-bit words for a 32-bit machine. 2017-03-18T21:16:42Z varjag: my sbcl image at 117mb now 2017-03-18T21:16:46Z varjag: rss 2017-03-18T21:16:53Z pjb: Well, you choose it. 2017-03-18T21:16:54Z phoe: varjag: (gc :full t) 2017-03-18T21:17:35Z aeth: phoe: Lisps have probably never been more widely used than now. 2017-03-18T21:17:56Z aeth: By percentage? Yeah, tiny. By absolute numbers? Probably at an all time high. 2017-03-18T21:18:14Z pjb: That said, ulimit -m and -v don't seem to be respected on macOS; try it on Linux. 2017-03-18T21:18:24Z lambda-smith quit (Quit: Konversation terminated!) 2017-03-18T21:18:37Z varjag: phoe: brings it down to 100 or so 2017-03-18T21:18:50Z varjag: phoe: obviously it'll never be 10mb 2017-03-18T21:19:28Z Lord_of_Life quit (Excess Flood) 2017-03-18T21:19:51Z varjag: anyway i'm happy people still do things with genera 2017-03-18T21:20:15Z varjag: should give it a try someday! 2017-03-18T21:20:58Z Lord_of_Life joined #lisp 2017-03-18T21:22:29Z aeth: phoe: When I think about popular programming in the 80s I think about C, Pascal, BASIC, COBOL, various assembly languages, etc. And this was before the AI Winter. 2017-03-18T21:23:48Z FakePedro quit (Ping timeout: 240 seconds) 2017-03-18T21:23:48Z papachan quit (Ping timeout: 260 seconds) 2017-03-18T21:25:02Z varjag: cobol was already antiquated though 2017-03-18T21:25:50Z aeth: My mom worked in COBOL. Perhaps that skews my view of its popularity. 2017-03-18T21:25:55Z varjag: heh 2017-03-18T21:26:15Z PinealGlandOptic quit (Quit: leaving) 2017-03-18T21:28:45Z phoe: now I wonder 2017-03-18T21:29:11Z phoe: I want to write #1=a lambda which, when funcalled, returns #1# 2017-03-18T21:29:20Z phoe: so not really itself 2017-03-18T21:29:24Z aeth: Arguably, though, just about all of the languages of the 1980s were obsoleted before the 1980s. :-p 2017-03-18T21:29:31Z phoe: but another equivalent lambda 2017-03-18T21:29:48Z phoe: and I want to avoid writing an infinite chain like (lambda () (lambda () (lambda () ...))) 2017-03-18T21:30:04Z varjag: aeth: pascal was the new kid 2017-03-18T21:30:13Z varjag: and c was fresher than ruby is now 2017-03-18T21:30:23Z aeth: Pascal predates C. 2017-03-18T21:30:31Z varjag: wasn't that algol 2017-03-18T21:30:36Z aeth: https://en.wikipedia.org/wiki/Pascal_(programming_language) 2017-03-18T21:30:37Z aeth: 1970 2017-03-18T21:30:45Z varjag: oh 2017-03-18T21:30:56Z aeth: The C implementers have no excuse for their terrible string representation. 2017-03-18T21:31:11Z aeth: s/The C implementers/The original C implementers/ 2017-03-18T21:31:52Z phoe: How do I write such a thing? 2017-03-18T21:32:09Z varjag: perhaps i mixed with ucsd pascal specifically 2017-03-18T21:32:45Z phoe: #1=(lambda () #1#) blows the stack 2017-03-18T21:33:05Z aeth: The core of modern programming language design was basically there by 1980, e.g. http://library.readscheme.org/page1.html 2017-03-18T21:33:45Z pjb: Well, Pascal was designed, and implemented on a mainframe. C was evolved from B (which was a stripped down version of BCPL), on a PDP-7. 2017-03-18T21:33:48Z aeth: Of course, it then took until 1984 to mostly fix Lisp itself after Scheme appeared, so I guess theory takes time to apply. 2017-03-18T21:34:36Z varjag: lot of things about c clear up when you look at the pdp assembly language 2017-03-18T21:34:56Z pjb: and the original unix written in assembly. 2017-03-18T21:35:11Z varjag: like c's obsession with autoincrements/decrements 2017-03-18T21:35:13Z phoe: (let (foo bar) (setf foo (lambda () (lambda () (funcall bar))) bar (lambda () (lambda () (funcall foo)))) foo) 2017-03-18T21:35:21Z phoe: this is the most amusing thing of today 2017-03-18T21:35:42Z papachan joined #lisp 2017-03-18T21:35:47Z aeth: That looks like a parody of Lisp 2017-03-18T21:36:12Z phoe: aeth: it's not 2017-03-18T21:36:26Z phoe: ...actually wait a moment 2017-03-18T21:37:02Z aeth: labels wouldn't work? Is it because they're calling each other instead of just one function calling itself? 2017-03-18T21:37:03Z phoe: (let (foo) (setf foo (lambda () (lambda () (funcall foo)))) foo) 2017-03-18T21:37:08Z phoe: aeth: you're right 2017-03-18T21:37:14Z phoe: one function is enough 2017-03-18T21:37:29Z phoe: and I can funcall it into infinity this way 2017-03-18T21:37:43Z phoe: it returns a new function which returns a new function which returns a new function 2017-03-18T21:37:46Z phoe: and so on 2017-03-18T21:39:32Z tmtwd quit (Remote host closed the connection) 2017-03-18T21:39:52Z aeth: phoe: is that equivalent with this? (labels ((foo () (lambda () (foo)))) #'foo) 2017-03-18T21:43:44Z aeth: varjag: so what you're saying is that we need to go back in time and stop the PDP-11? Or at least stop Bell Labs from getting one... 2017-03-18T21:44:10Z arbv quit (Ping timeout: 264 seconds) 2017-03-18T21:47:02Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-18T21:47:44Z varjag: aeth: i actually like c 2017-03-18T21:48:15Z lerax quit (Quit: Leaving) 2017-03-18T21:48:35Z varjag: (also, got me a piece of pdp-11 compatible hw) 2017-03-18T21:48:46Z aeth: varjag: what about C++? 2017-03-18T21:49:09Z varjag: nope 2017-03-18T21:49:17Z lerax joined #lisp 2017-03-18T21:49:27Z aeth: would you be willing to sacrifice C from history to get rid of C++? :-p 2017-03-18T21:49:50Z phoe: aeth: oh yes 2017-03-18T21:49:51Z phoe: um 2017-03-18T21:50:19Z phoe: oh right, labels can create self-referential functions 2017-03-18T21:50:20Z phoe: silly me 2017-03-18T21:50:34Z Einwq quit (Quit: Leaving) 2017-03-18T21:50:51Z Bike: learning that you can implement labels with flet and setf is nice, though. 2017-03-18T21:51:20Z Lord_of_Life quit (Excess Flood) 2017-03-18T21:51:58Z Lord_of_Life joined #lisp 2017-03-18T21:52:35Z phoe: Bike: i'm using let there 2017-03-18T21:52:36Z phoe: not flet 2017-03-18T21:52:37Z aeth: phoe: also if you stick with the setf approach, it'll already return the new value of foo, so no need for that last foo 2017-03-18T21:52:46Z phoe: aeth: right, thanks 2017-03-18T21:53:03Z Bike: phoe: i assume you're smart enough to realize how to do it in a function namespace, yeah 2017-03-18T21:53:17Z Lord_of_Life quit (Excess Flood) 2017-03-18T21:53:43Z phoe: Bike: oh yes, setf fdefinition 2017-03-18T21:54:01Z Bike: that's global 2017-03-18T21:54:07Z phoe: ...right 2017-03-18T21:54:34Z phoe: ...how can one replace the lexical function definition? 2017-03-18T21:54:48Z aeth: why doesn't setf #'foo work? 2017-03-18T21:54:57Z aeth: (I know it doesn't work) 2017-03-18T21:54:58Z Lord_of_Life joined #lisp 2017-03-18T21:55:14Z phoe: aeth: #'foo expands to SETF FUNCTION 2017-03-18T21:55:23Z phoe: and I think (SETF FUNCTION) is undefined 2017-03-18T21:55:30Z phoe: because FUNCTION is a special operator 2017-03-18T21:55:36Z Bike: phoe: you can't, you'd be using let with a gensym and then (flet ((foo (...) (funcall foo ...))) ...) and yada, yada yada 2017-03-18T21:55:43Z phoe: ...but I can be wrong here 2017-03-18T21:55:48Z Bike: setf function is undefined just coz. 2017-03-18T21:55:51Z aeth: phoe: but it could be defined because there's already setf (values x y z) 2017-03-18T21:55:54Z aeth: which I think is similar 2017-03-18T21:56:04Z phoe: aeth: values is a function 2017-03-18T21:56:15Z Bike: setf function could be defined. 2017-03-18T21:56:21Z phoe: ...but I don't think it actually matters here 2017-03-18T21:56:23Z phoe: yes 2017-03-18T21:56:26Z Bike: but it aint' 2017-03-18T21:56:31Z aeth: you can (setf foo) whatever you want and give it different, but similar enough, semantics, is my point 2017-03-18T21:56:38Z aeth: afaik 2017-03-18T21:56:45Z aeth: so (setf function) could have existed afaik 2017-03-18T21:58:31Z aeth: (Similarly, there could have been a let (((values x y z) (some-multiple-value-function))) and then we wouldn't have needed multiple-value-bind at all, which is awkward when using multiple multiple-value-binds 2017-03-18T21:58:40Z aeth: ) 2017-03-18T21:59:18Z papachan quit (Ping timeout: 240 seconds) 2017-03-18T22:05:46Z tax joined #lisp 2017-03-18T22:11:40Z triggered joined #lisp 2017-03-18T22:14:45Z sz0 joined #lisp 2017-03-18T22:15:53Z pve quit (Ping timeout: 268 seconds) 2017-03-18T22:16:31Z FreeBird_ quit (Remote host closed the connection) 2017-03-18T22:19:02Z FakePedro joined #lisp 2017-03-18T22:23:52Z eulenspiegel joined #lisp 2017-03-18T22:24:27Z tax quit (Quit: Leaving) 2017-03-18T22:25:12Z lerax quit (Quit: Leaving) 2017-03-18T22:26:21Z triggered: When loading asdf system in slime, the output is"failed to find TRUENAME" how can i get asdf to find my package? 2017-03-18T22:32:29Z oleo: system != package 2017-03-18T22:33:38Z krwq: triggered: put your project in the ~/common-lisp/ folder 2017-03-18T22:33:52Z krwq: triggered: or symbolic link to your project 2017-03-18T22:34:27Z krwq: and use (ql:quickload :projectname) 2017-03-18T22:34:42Z krwq: i hope you already got quicklisp 2017-03-18T22:38:38Z triggered: I have quicklisp yes 2017-03-18T22:38:40Z phoe: triggered: why do you load ASDF? Your implementation should pull it automatically. 2017-03-18T22:39:15Z triggered: Sorry i meant to say load my custom system with asdf 2017-03-18T22:39:38Z triggered: And i cant find ~common-lisp in my home directory 2017-03-18T22:39:45Z triggered: Where did you guys put it? 2017-03-18T22:41:10Z krwq: triggered: create it 2017-03-18T22:41:13Z krwq: ~/common-lisp 2017-03-18T22:41:18Z krwq: not ~common-lisp 2017-03-18T22:41:38Z krwq: if you are on windows make sure to set HOME env variable 2017-03-18T22:41:40Z triggered: That was my bad im on mobile yeah i meant this ~/ 2017-03-18T22:41:52Z triggered: Im on linux 2017-03-18T22:43:24Z krwq: try it out, never got any problems since i started creating symlinks in ~/common-lisp 2017-03-18T22:47:05Z triggered: So i moved my project 2017-03-18T22:47:48Z libreman quit (Ping timeout: 256 seconds) 2017-03-18T22:48:20Z libreman joined #lisp 2017-03-18T22:48:27Z triggered: In the common lisp folder. But when using quickload do i specify the asd file or the project directory?? 2017-03-18T22:50:05Z varjag: quicklisp looks up the projects among the directories listed in ql:*local-project-directories* 2017-03-18T22:50:48Z varjag: you may want to do (ql:register-local-projects) if you just moved your project in there 2017-03-18T22:51:57Z krwq: triggered: have you restarted your lisp implementation? slime-restart-inferior-lisp 2017-03-18T22:52:09Z triggered: Ill try noe 2017-03-18T22:52:10Z triggered: Now 2017-03-18T22:52:14Z krwq: ~/common-lisp/ should be a default 2017-03-18T22:52:27Z krwq: basically no setup except for quicklisp 2017-03-18T22:52:49Z krwq: but i need to restart to pick up new stuff 2017-03-18T22:54:22Z gingerale quit (Remote host closed the connection) 2017-03-18T22:54:57Z triggered: Even when i restart it i get the same error and when i tried ql:register-local-projects it returned nil 2017-03-18T22:55:41Z triggered: What i mean is when i quickload the name of my project directory it just says it doesnt exist 2017-03-18T22:55:46Z krwq: triggered: how did you create a project? 2017-03-18T22:56:23Z krwq: did you use (ql:quickload :quickproject) + (quickproject:make-project "~/common-lisp/my-proj/") 2017-03-18T22:56:42Z krwq: if you do it this way this should work 2017-03-18T22:56:47Z krwq: you should have asd file 2017-03-18T22:57:02Z krwq: which includes a file which defines a package 2017-03-18T22:57:23Z triggered: Oh i had no idea about this. I just simply movex my project to the common lisp directory 2017-03-18T22:57:28Z triggered: Ill try it now then 2017-03-18T22:58:36Z krwq: check out the layout - the important piece is an asd file which includes packages.lisp 2017-03-18T22:58:41Z krwq: package* 2017-03-18T22:59:38Z triggered: So first inuse (ql:quickload :quickproject)? 2017-03-18T22:59:56Z triggered: I use* 2017-03-18T23:00:08Z krwq: first you load quickproject which is a library for creating projects 2017-03-18T23:00:17Z krwq: and then use it to create a project 2017-03-18T23:00:48Z triggered: I get an error 2017-03-18T23:01:09Z triggered: Says "getaddrinfo" service is unknown 2017-03-18T23:01:24Z triggered: When i load the quickproject 2017-03-18T23:01:34Z varjag: what os are you on again 2017-03-18T23:01:34Z krwq: oO 2017-03-18T23:01:41Z triggered: Arch linux 2017-03-18T23:02:56Z krwq: ok, im not capable of helping with that - my bet would be something wrong with installation of you lisp implementation or quicklisp but you could be missing a lib - never used arch before. ill be afk now - good luck! 2017-03-18T23:03:24Z triggered: Ok thanks! 2017-03-18T23:05:39Z triggered: My bad 2017-03-18T23:05:45Z triggered: I made a very silly mistake 2017-03-18T23:06:38Z triggered: But i got quickproject to load 2017-03-18T23:06:57Z neoncontrails quit (Remote host closed the connection) 2017-03-18T23:07:34Z neoncontrails joined #lisp 2017-03-18T23:09:26Z xrash joined #lisp 2017-03-18T23:11:35Z neoncontrails quit (Ping timeout: 240 seconds) 2017-03-18T23:12:48Z FakePedro quit (Ping timeout: 240 seconds) 2017-03-18T23:12:56Z daviid joined #lisp 2017-03-18T23:14:11Z prole quit (Remote host closed the connection) 2017-03-18T23:21:00Z nyef: So, putting a long-disassembled PS3 Slim back together, in order to clear up the space that it was taking up, and I have a screw left over. And I don't know if it's even *from* the PS3, or if it's a stray that ended up in the same box. 2017-03-18T23:23:28Z fourier`: triggered: I would recommend to try cl-project though, it creates a nice skeleton together with tests 2017-03-18T23:24:59Z NeverDie_ is now known as NeverDie 2017-03-18T23:28:04Z Jesin quit (Quit: Leaving) 2017-03-18T23:31:37Z Jesin joined #lisp 2017-03-18T23:33:55Z TETOFILO quit (Quit: Leaving) 2017-03-18T23:36:35Z neoncontrails joined #lisp 2017-03-18T23:37:08Z marusich joined #lisp 2017-03-18T23:39:00Z neoncontrails quit (Client Quit) 2017-03-18T23:47:22Z strykerkkd joined #lisp 2017-03-18T23:49:34Z fourier` quit (Ping timeout: 264 seconds) 2017-03-18T23:49:42Z neoncontrails joined #lisp 2017-03-18T23:50:42Z libreman quit (Ping timeout: 256 seconds) 2017-03-18T23:51:12Z libreman joined #lisp 2017-03-18T23:56:07Z warweasle quit (Quit: life...gah!) 2017-03-18T23:57:28Z remote1 quit (Quit: Leaving.) 2017-03-18T23:58:09Z learning joined #lisp 2017-03-19T00:00:00Z learning: given: (dolist (func (list #'denominator #'numerator)) (print func)) => # 2017-03-19T00:00:06Z learning: i want: (dolist (func (list #'denominator #'numerator)) (print func)) => denominator OR #'denominator 2017-03-19T00:00:45Z learning: is there a built in macro or function i can call on on #'function that returns its symbol or name? 2017-03-19T00:01:05Z phoe: learning: there's no implementation-defined function that will let you accomplish that. 2017-03-19T00:01:14Z phoe: You could utilize DO-ALL-SYMBOLS to create your own. 2017-03-19T00:01:22Z learning: ok cool. just didnt want to waste too much time googling. 2017-03-19T00:01:32Z varjag quit (Ping timeout: 260 seconds) 2017-03-19T00:01:35Z phoe: Iterate through all symbols of a package. If it's fbound, you can compare its FDEFINITION to the function object. 2017-03-19T00:01:48Z phoe: If it's EQ, then you can return the symbol. If nothing matches, return NIL. 2017-03-19T00:02:07Z phoe: (Which is safe, since CL:NIL cannot be fbound in conformant code.) 2017-03-19T00:02:23Z learning: wouldn't it be easier to just create a macro 2017-03-19T00:03:02Z phoe: learning: what kind of macro? 2017-03-19T00:03:49Z phoe: you'll be able to do something like (function-name #'foo) that will luckily return the symbol FOO if it's fbound. 2017-03-19T00:04:01Z phoe: it won't work for lexical definitions like FLET/LABELS/MACROLET. 2017-03-19T00:04:50Z phoe: Oh, and also make sure - if it's fbound, that it's not a macro function or a special operator. 2017-03-19T00:05:03Z phoe: since (function foo) is an error for macros or special operators methinks. 2017-03-19T00:05:17Z phoe: despite the implementations being permitted not to signal that error for performance reasons. 2017-03-19T00:06:11Z wildlander quit (Quit: Saliendo) 2017-03-19T00:07:31Z learning: ah i figured out what i needed to do 2017-03-19T00:08:14Z learning: i mean the desired output (printing the name of the function) is what i want. i dont care about the implementation. so all i needed to do was (list 'denominator 'numerator) instead of #' 2017-03-19T00:08:50Z phoe: haha, I see 2017-03-19T00:09:05Z learning: i love lisp because the answer to "what do i need to do to do what i want?" always ends up being so face palming simple 2017-03-19T00:18:32Z nyef: learning: Lucky you! 2017-03-19T00:18:56Z learning: the benefits of being a newb! 2017-03-19T00:18:58Z Guest27220 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-19T00:20:28Z Ven joined #lisp 2017-03-19T00:20:49Z Ven quit (Client Quit) 2017-03-19T00:24:05Z EvW joined #lisp 2017-03-19T00:26:59Z MoALTz quit (Quit: Leaving) 2017-03-19T00:27:12Z Mon_Ouie joined #lisp 2017-03-19T00:29:31Z terpri quit (Ping timeout: 246 seconds) 2017-03-19T00:30:25Z hhdave quit (Quit: hhdave) 2017-03-19T00:32:57Z jamtho joined #lisp 2017-03-19T00:33:07Z strelox quit (Remote host closed the connection) 2017-03-19T00:34:03Z jamtho quit (Read error: Connection reset by peer) 2017-03-19T00:34:10Z triggered quit (Read error: No route to host) 2017-03-19T00:40:34Z strykerkkd quit (Quit: Leaving) 2017-03-19T00:40:51Z pjb: learning: (dolist (fname '(denominator numerator)) (prin1 (list fname (funcall fname 42/33))) (princ " ")) #| (denominator 11) (numerator 14) --> nil |# 2017-03-19T00:42:17Z learning: oh cool 2017-03-19T00:43:50Z pjb: learning: now, the thing is that for all fbound symbols s in the CL package, `(eq (symbol-function ',s) (function ,s)) evaluates to true. 2017-03-19T00:44:10Z pjb: But this may be different for your own symbols, locally in a flet or labels form. 2017-03-19T00:45:49Z pjb: (defun f (x) (list 'global x)) (flet ((f (x) (list 'local x))) (dolist (fun (list (function f) (quote f))) (prin1 (list fun (funcall fun 42/33))) (princ " "))) #| (# (local 14/11)) (f (global 14/11)) --> nil |# 2017-03-19T00:46:25Z pjb: so if you are in this situation, you could keep an designator to your function along with the function object. 2017-03-19T00:47:16Z pjb: (flet ((f (x) (list 'local x))) (dolist (fun (list (list '(local f) (function f)) (list '(global f) (quote f)))) (prin1 (list (first fun) (funcall (second fun) 42/33))) (princ " "))) #| ((local f) (local 14/11)) ((global f) (global 14/11)) --> nil |# 2017-03-19T00:47:22Z k-stz joined #lisp 2017-03-19T00:52:56Z Karl_Dscc quit (Remote host closed the connection) 2017-03-19T00:56:04Z eazar001 quit (Quit: WeeChat 1.7) 2017-03-19T00:57:19Z ryanbw quit (Quit: WeeChat 1.7) 2017-03-19T01:03:37Z borei quit (Quit: Leaving.) 2017-03-19T01:07:35Z payphone quit (Read error: Connection reset by peer) 2017-03-19T01:08:02Z payphone joined #lisp 2017-03-19T01:10:12Z warweasle joined #lisp 2017-03-19T01:11:01Z xrash quit (Ping timeout: 268 seconds) 2017-03-19T01:12:26Z payphone quit (Read error: Connection reset by peer) 2017-03-19T01:12:50Z payphone joined #lisp 2017-03-19T01:15:48Z xrash joined #lisp 2017-03-19T01:16:15Z learning quit (Remote host closed the connection) 2017-03-19T01:17:19Z ebzzry joined #lisp 2017-03-19T01:18:45Z payphone quit (Read error: Connection reset by peer) 2017-03-19T01:19:10Z payphone joined #lisp 2017-03-19T01:21:48Z Tarap joined #lisp 2017-03-19T01:29:15Z marusich quit (Quit: Leaving) 2017-03-19T01:30:35Z yaewa quit (Ping timeout: 240 seconds) 2017-03-19T01:31:01Z moei joined #lisp 2017-03-19T01:35:57Z xrash quit (Ping timeout: 240 seconds) 2017-03-19T01:37:40Z sjl quit (Ping timeout: 260 seconds) 2017-03-19T01:38:41Z xrash joined #lisp 2017-03-19T01:45:48Z ebzzry quit (Ping timeout: 240 seconds) 2017-03-19T01:46:15Z warweasle is now known as warweasle_afk 2017-03-19T01:50:06Z DataLinkDroid joined #lisp 2017-03-19T01:56:30Z EvW quit (Ping timeout: 256 seconds) 2017-03-19T01:58:29Z ryanbw joined #lisp 2017-03-19T01:59:40Z DataLinkDroid1 joined #lisp 2017-03-19T02:01:30Z warweasle_afk quit (Quit: bbib) 2017-03-19T02:04:31Z DataLinkDroid2 joined #lisp 2017-03-19T02:07:04Z DataLinkDroid1 quit (Ping timeout: 260 seconds) 2017-03-19T02:07:48Z DataLinkDroid quit (Ping timeout: 252 seconds) 2017-03-19T02:10:18Z DataLinkDroid2 quit (Remote host closed the connection) 2017-03-19T02:12:27Z TDT quit (Quit: TDT) 2017-03-19T02:13:04Z DataLinkDroid joined #lisp 2017-03-19T02:15:33Z DataLinkDroid quit (Remote host closed the connection) 2017-03-19T02:21:05Z wtetzner quit (Remote host closed the connection) 2017-03-19T02:22:00Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-19T02:25:41Z mejja quit (Quit: \ No newline at end of file) 2017-03-19T02:32:16Z warweasle joined #lisp 2017-03-19T02:37:07Z k-stz quit (Remote host closed the connection) 2017-03-19T02:43:28Z daviid quit (Ping timeout: 260 seconds) 2017-03-19T02:44:19Z warweasle quit (Read error: Connection reset by peer) 2017-03-19T02:44:23Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-19T02:45:38Z GuilOooo quit (Quit: Lost terminal) 2017-03-19T02:54:57Z warweasle joined #lisp 2017-03-19T02:56:29Z nyef: Fun and games, of a sort: I have two video cards for my IIfx. One of which only does 640x480, and the other of which doesn't appear to work. 2017-03-19T03:00:32Z DataLinkDroid joined #lisp 2017-03-19T03:01:52Z quazimodo joined #lisp 2017-03-19T03:06:45Z learning joined #lisp 2017-03-19T03:08:15Z DataLinkDroid quit (Ping timeout: 258 seconds) 2017-03-19T03:13:07Z libreman quit (Ping timeout: 268 seconds) 2017-03-19T03:13:45Z libreman joined #lisp 2017-03-19T03:17:06Z krwq quit (Remote host closed the connection) 2017-03-19T03:21:48Z pjb quit (Ping timeout: 240 seconds) 2017-03-19T03:26:52Z xrash quit (Ping timeout: 260 seconds) 2017-03-19T03:29:44Z xrash joined #lisp 2017-03-19T03:31:31Z DataLinkDroid joined #lisp 2017-03-19T03:35:44Z libreman quit (Ping timeout: 260 seconds) 2017-03-19T03:35:46Z orivej quit (Ping timeout: 264 seconds) 2017-03-19T03:36:13Z libreman joined #lisp 2017-03-19T03:38:26Z payphone quit (Read error: Connection reset by peer) 2017-03-19T03:38:53Z payphone joined #lisp 2017-03-19T03:46:40Z ebzzry joined #lisp 2017-03-19T03:47:49Z tax joined #lisp 2017-03-19T03:49:17Z dra_ joined #lisp 2017-03-19T03:52:52Z DataLinkDroid quit (Ping timeout: 246 seconds) 2017-03-19T03:55:28Z warweasle quit (Quit: exit) 2017-03-19T03:56:05Z dra_ quit (Ping timeout: 240 seconds) 2017-03-19T03:56:08Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-19T04:01:30Z learning quit (Remote host closed the connection) 2017-03-19T04:04:28Z learning joined #lisp 2017-03-19T04:07:20Z safe joined #lisp 2017-03-19T04:10:16Z xrash quit (Ping timeout: 260 seconds) 2017-03-19T04:12:36Z ebzzry quit (Ping timeout: 260 seconds) 2017-03-19T04:13:15Z xrash joined #lisp 2017-03-19T04:19:59Z xrash quit (Remote host closed the connection) 2017-03-19T04:21:58Z libreman quit (Ping timeout: 264 seconds) 2017-03-19T04:22:15Z arescorpio joined #lisp 2017-03-19T04:22:28Z libreman joined #lisp 2017-03-19T04:25:16Z beach: Good morning everyone! 2017-03-19T04:25:35Z nyef: Hello beach. 2017-03-19T04:31:36Z ebzzry joined #lisp 2017-03-19T04:34:14Z mathrick joined #lisp 2017-03-19T04:37:13Z smokeink joined #lisp 2017-03-19T04:47:07Z ebzzry quit (Read error: Connection reset by peer) 2017-03-19T04:51:05Z ebzzry joined #lisp 2017-03-19T04:51:45Z DataLinkDroid joined #lisp 2017-03-19T04:54:41Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-19T04:55:15Z FreeBirdLjj joined #lisp 2017-03-19T04:57:44Z neoncontrails quit (Remote host closed the connection) 2017-03-19T04:59:42Z learning quit (Remote host closed the connection) 2017-03-19T04:59:57Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-19T05:01:20Z josh_2 quit (Remote host closed the connection) 2017-03-19T05:03:26Z learning joined #lisp 2017-03-19T05:16:15Z ebzzry quit (Ping timeout: 260 seconds) 2017-03-19T05:18:52Z smokeink quit (Ping timeout: 260 seconds) 2017-03-19T05:19:24Z tax quit (Quit: Leaving) 2017-03-19T05:36:36Z BlueRavenGT quit (Read error: Connection reset by peer) 2017-03-19T05:37:02Z BlueRavenGT joined #lisp 2017-03-19T05:43:56Z arescorpio quit (Excess Flood) 2017-03-19T05:49:32Z neoncontrails joined #lisp 2017-03-19T05:50:37Z edgar-rft quit (Quit: edgar-rft) 2017-03-19T05:50:57Z neoncontrails quit (Read error: Connection reset by peer) 2017-03-19T05:55:25Z DataLinkDroid quit (Quit: Bye) 2017-03-19T05:57:37Z vlatkoB joined #lisp 2017-03-19T05:58:13Z neoncontrails joined #lisp 2017-03-19T06:06:48Z krwq joined #lisp 2017-03-19T06:07:06Z ebzzry joined #lisp 2017-03-19T06:10:57Z BlueRavenGT quit (Ping timeout: 240 seconds) 2017-03-19T06:16:20Z learning quit (Remote host closed the connection) 2017-03-19T06:28:25Z beach: Here is a project for someone to work on (or tell me that it already exists): I need a spell checker for English that works like this: Given a string, I should be able to ask whether it is a word in the dictionary, and if so what possible words it can be, like "flies" could be a noun in plural form or a verb in third person singular form. 2017-03-19T06:28:27Z beach: Whether the string is a word or not, I should also be able to ask whether it is a proper prefix of one or more words in the dictionary. If it is, I should be able to ask how many words the string is a proper prefix of, and I should be able to ask for all the words that this string is a proper prefix of. A word should be represented as a standard object that includes information about it, such as the category. 2017-03-19T06:31:22Z beach: If the string is NOT a word in the dictionary, I would like to be able to ask for a list of words for which the string is a "near miss". 2017-03-19T06:31:59Z orivej joined #lisp 2017-03-19T06:32:23Z beach: Because of the prefix requirement, a hash table is not well adapted for representing the dictionary. 2017-03-19T06:33:56Z beach: A trie would probably be the best, I would think. 2017-03-19T06:39:44Z beach: There is no need to invent an external (serialized) format for the dictionary. I am willing to use the very simple format I often use, i.e., [class-name :initarg value :initarg value ...] and use a very simple CLIM-based editor (or just Emacs for the brave ones) to edit the dictionary in memory. 2017-03-19T06:39:57Z DataLinkDroid joined #lisp 2017-03-19T06:42:08Z beach: Exercise: Determine how much memory this data structure will consume, and for extra credit, how much money that represents if it resides on disk ("swap space") and if it resides in RAM (the hypothesis here is that the OS is really stupid and doesn't have a decent virtual-memory system). 2017-03-19T06:44:54Z NeverDie quit (Quit: http://radiux.io/) 2017-03-19T06:49:20Z abel-abel joined #lisp 2017-03-19T06:52:12Z defaultxr quit (Ping timeout: 260 seconds) 2017-03-19T06:52:18Z libreman quit (Ping timeout: 256 seconds) 2017-03-19T06:52:46Z libreman joined #lisp 2017-03-19T07:03:37Z safe quit (Read error: Connection reset by peer) 2017-03-19T07:04:46Z wheelsucker quit (Ping timeout: 256 seconds) 2017-03-19T07:08:44Z vlatkoB_ joined #lisp 2017-03-19T07:12:44Z vlatkoB quit (Ping timeout: 260 seconds) 2017-03-19T07:13:52Z rippa joined #lisp 2017-03-19T07:15:28Z libreman quit (Ping timeout: 268 seconds) 2017-03-19T07:15:59Z libreman joined #lisp 2017-03-19T07:17:16Z Einwq joined #lisp 2017-03-19T07:17:46Z orivej quit (Ping timeout: 264 seconds) 2017-03-19T07:19:11Z oleo quit (Quit: Leaving) 2017-03-19T07:23:06Z angavrilov joined #lisp 2017-03-19T07:24:12Z oleo joined #lisp 2017-03-19T07:26:58Z grublet quit (Quit: Leaving) 2017-03-19T07:30:47Z compro quit (Ping timeout: 240 seconds) 2017-03-19T07:34:34Z gingerale joined #lisp 2017-03-19T07:37:38Z libreman quit (Ping timeout: 256 seconds) 2017-03-19T07:37:59Z DataLinkDroid quit (Quit: Bye) 2017-03-19T07:39:18Z libreman joined #lisp 2017-03-19T07:42:02Z krwq quit (Remote host closed the connection) 2017-03-19T07:43:27Z compro joined #lisp 2017-03-19T07:50:23Z bariscant joined #lisp 2017-03-19T07:50:41Z bariscant quit (Client Quit) 2017-03-19T07:51:29Z bariscant joined #lisp 2017-03-19T07:52:57Z bariscant quit (Client Quit) 2017-03-19T07:54:01Z fourier` joined #lisp 2017-03-19T08:00:18Z ebzzry quit (Quit: leaving) 2017-03-19T08:01:16Z libreman quit (Ping timeout: 260 seconds) 2017-03-19T08:01:16Z yrk quit (Read error: Connection reset by peer) 2017-03-19T08:09:03Z abel-abel quit (Quit: Leaving) 2017-03-19T08:14:03Z libreman joined #lisp 2017-03-19T08:16:39Z thinkpad joined #lisp 2017-03-19T08:25:41Z mishoo joined #lisp 2017-03-19T08:27:02Z tharugrim joined #lisp 2017-03-19T08:35:32Z smokeink joined #lisp 2017-03-19T08:38:27Z Karl_Dscc joined #lisp 2017-03-19T08:42:31Z smokeink quit (Ping timeout: 258 seconds) 2017-03-19T08:43:29Z learning joined #lisp 2017-03-19T08:44:23Z NeverDie joined #lisp 2017-03-19T08:49:35Z smokeink joined #lisp 2017-03-19T08:52:40Z fourier` quit (Ping timeout: 260 seconds) 2017-03-19T08:52:52Z Bike quit (Quit: leaving) 2017-03-19T08:54:22Z smokeink quit (Ping timeout: 264 seconds) 2017-03-19T08:56:37Z Mon_Ouie quit (Read error: No route to host) 2017-03-19T08:59:33Z Mon_Ouie joined #lisp 2017-03-19T09:00:17Z Harag joined #lisp 2017-03-19T09:03:07Z Harag1 joined #lisp 2017-03-19T09:04:45Z Harag quit (Ping timeout: 258 seconds) 2017-03-19T09:04:45Z Harag1 is now known as Harag 2017-03-19T09:08:05Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-19T09:08:20Z rippa joined #lisp 2017-03-19T09:11:35Z neoncontrails quit (Remote host closed the connection) 2017-03-19T09:13:43Z neoncontrails joined #lisp 2017-03-19T09:16:48Z jdtest joined #lisp 2017-03-19T09:18:27Z jdtest2 quit (Ping timeout: 240 seconds) 2017-03-19T09:30:58Z Tarap quit (Ping timeout: 256 seconds) 2017-03-19T09:31:58Z mateuszb quit (Ping timeout: 258 seconds) 2017-03-19T09:33:28Z mateuszb joined #lisp 2017-03-19T09:35:10Z prole joined #lisp 2017-03-19T09:38:38Z Karl_Dscc quit (Remote host closed the connection) 2017-03-19T09:38:52Z vlatkoB_ quit (Remote host closed the connection) 2017-03-19T09:46:00Z ebrasca joined #lisp 2017-03-19T09:46:15Z vlatkoB joined #lisp 2017-03-19T09:47:10Z fourier` joined #lisp 2017-03-19T09:47:28Z varjag joined #lisp 2017-03-19T09:49:28Z MoALTz joined #lisp 2017-03-19T09:51:03Z nelder joined #lisp 2017-03-19T09:52:48Z fourier` quit (Ping timeout: 260 seconds) 2017-03-19T09:54:48Z learning quit (Remote host closed the connection) 2017-03-19T09:58:01Z FakePedro joined #lisp 2017-03-19T10:00:14Z bariscant joined #lisp 2017-03-19T10:03:24Z Oladon quit (Read error: Connection reset by peer) 2017-03-19T10:04:07Z Oladon joined #lisp 2017-03-19T10:05:03Z varjag quit (Ping timeout: 268 seconds) 2017-03-19T10:09:18Z okflo joined #lisp 2017-03-19T10:10:20Z jmarciano joined #lisp 2017-03-19T10:12:33Z fourier` joined #lisp 2017-03-19T10:13:28Z jmarciano: What is that comment for large chunks of code? something like :| |: ?? 2017-03-19T10:14:52Z phoe: #| foo |# jmarciano: 2017-03-19T10:15:08Z jmarciano: aha yes, yes, thank you 2017-03-19T10:15:40Z phoe: beach: the near miss is going to be the hardest. 2017-03-19T10:16:32Z phoe: the list of definitions for a word is triival with any data structure, a proper prefix is pretty trivial with a trie, but word similarity - that's something that I don't know how to solve. 2017-03-19T10:17:26Z phoe: Especially since we don't want to input two words and get some "percentage", we want to input a word and some "percentage" threshold and get all the words which are within that threshold of similarity. 2017-03-19T10:20:54Z okflo quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2017-03-19T10:21:58Z phoe: It looks like https://en.wikipedia.org/wiki/Approximate_string_matching will help us here. 2017-03-19T10:22:49Z Jonsky joined #lisp 2017-03-19T10:22:59Z GuiLoooo joined #lisp 2017-03-19T10:23:54Z shka joined #lisp 2017-03-19T10:23:57Z tharugrim quit (Ping timeout: 240 seconds) 2017-03-19T10:24:31Z phoe: beach: https://github.com/mikaelj/snippets/blob/master/lisp/spellcheck/spellcheck.lisp also, that's what Google tells me. 2017-03-19T10:24:33Z shifty joined #lisp 2017-03-19T10:24:45Z pve joined #lisp 2017-03-19T10:29:07Z bariscant quit (Quit: Leaving) 2017-03-19T10:32:52Z jmarciano quit (Read error: Connection reset by peer) 2017-03-19T10:36:46Z mishoo quit (Ping timeout: 246 seconds) 2017-03-19T10:36:47Z Jonsky: C-c C-v in slime mode is bound to lisp-show-variable-documentation. I want to unbind it so as to use C-c C-v TAB for inspecting representations. Tried "local-unbind-key" but it didn't work. What should I do? 2017-03-19T10:37:03Z jdz: phoe: I've recently come across this: http://gbbopen.org/hyperdoc/ref-double-metaphone-entities.html 2017-03-19T10:37:05Z tharugrim joined #lisp 2017-03-19T10:38:03Z phoe: jdz: thanks! beach should find that useful, too. 2017-03-19T10:38:17Z jdz: That might be English-specific, though. 2017-03-19T10:38:48Z nowhere_man joined #lisp 2017-03-19T10:39:47Z jdz: Oh, just read what beach wrote, and English is exactly what he's after. 2017-03-19T10:45:33Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-19T10:46:37Z gargaml joined #lisp 2017-03-19T10:52:42Z learning joined #lisp 2017-03-19T10:53:05Z Harag quit (Ping timeout: 240 seconds) 2017-03-19T10:53:57Z Harag joined #lisp 2017-03-19T10:55:59Z loke___ joined #lisp 2017-03-19T11:01:58Z eSVG quit (Ping timeout: 246 seconds) 2017-03-19T11:03:59Z Ven joined #lisp 2017-03-19T11:04:23Z Ven is now known as Guest61044 2017-03-19T11:05:57Z fourier` quit (Ping timeout: 240 seconds) 2017-03-19T11:08:10Z splittist: I can see a trie being useful for autocomplete, but when I misspell things it's not usually at the end. 2017-03-19T11:10:36Z loke___: splittist: autocomplete isn't for fixing typos though... 2017-03-19T11:11:40Z vydd joined #lisp 2017-03-19T11:11:40Z vydd quit (Changing host) 2017-03-19T11:11:40Z vydd joined #lisp 2017-03-19T11:11:50Z smokeink joined #lisp 2017-03-19T11:12:55Z wildlander joined #lisp 2017-03-19T11:12:58Z Guest61044 quit (Read error: Connection reset by peer) 2017-03-19T11:13:44Z Ven_ joined #lisp 2017-03-19T11:18:12Z Ven_ quit (Ping timeout: 260 seconds) 2017-03-19T11:19:10Z Jonsky quit (Quit: Gotta have ice-cream now) 2017-03-19T11:19:15Z pjb joined #lisp 2017-03-19T11:22:35Z beach: phoe: The algorithms for near-misses are well known. 2017-03-19T11:24:08Z beach: phoe: what is missing from most existing projects is the part about word category. I want this so that the spell checker can ultimately be part of a grammar checker. 2017-03-19T11:26:06Z beach: jdz: Yes, very interesting. It would be great to suggest corrections that are related by similar pronunciation. 2017-03-19T11:27:28Z beach: splittist: My idea is to highlight the word with a different color when it is "complete", "complete but not unique", "prefix of a complete word", "not a prefix of a complete word". 2017-03-19T11:28:03Z beach thinks that now #lisp participants are going to say something like "I would NEVER use anything that annoying". 2017-03-19T11:29:08Z beach: Luckily, I don't care, though: https://www.youtube.com/watch?v=AFZGJA-0qAo 2017-03-19T11:31:11Z jurov: emacs is that annoying already, why improve it further? 2017-03-19T11:31:14Z phoe: beach: I would NEVER use anything tha--I mean, cough cough. 2017-03-19T11:31:15Z jurov hides 2017-03-19T11:31:15Z phoe: I see. 2017-03-19T11:32:24Z phoe: I can see valid uses for that. 2017-03-19T11:32:43Z phoe: What do you mean, "complete but not unique?" 2017-03-19T11:32:49Z phoe: complete and a prefix of another complete word? 2017-03-19T11:34:39Z beach: Yes. 2017-03-19T11:34:51Z phoe: so a 2x2 array. 2017-03-19T11:35:02Z beach: jurov: Who said anything about Emacs? 2017-03-19T11:35:10Z phoe: complete/incomplete, prefix/nonprefix. 2017-03-19T11:36:13Z beach takes a break, contemplating near-misses based on the representation of the word in the phonetic alphabet. 2017-03-19T11:40:05Z fourier` joined #lisp 2017-03-19T11:41:00Z jameser joined #lisp 2017-03-19T11:41:30Z jameser quit (Client Quit) 2017-03-19T11:44:10Z Guest50300 joined #lisp 2017-03-19T11:45:08Z fourier` quit (Ping timeout: 240 seconds) 2017-03-19T11:45:13Z jdtest2 joined #lisp 2017-03-19T11:45:16Z shka quit (Read error: No route to host) 2017-03-19T11:45:47Z jdtest quit (Ping timeout: 240 seconds) 2017-03-19T11:45:58Z shka joined #lisp 2017-03-19T11:47:36Z jameser joined #lisp 2017-03-19T11:48:41Z jdtest joined #lisp 2017-03-19T11:49:56Z jdtest2 quit (Ping timeout: 260 seconds) 2017-03-19T11:53:02Z jdtest quit (Ping timeout: 258 seconds) 2017-03-19T11:59:20Z jdtest joined #lisp 2017-03-19T11:59:29Z SCHAAP137 left #lisp 2017-03-19T12:00:47Z vibs29 quit (Ping timeout: 240 seconds) 2017-03-19T12:02:27Z rpg_ joined #lisp 2017-03-19T12:03:57Z jdtest quit (Read error: Connection reset by peer) 2017-03-19T12:05:22Z jdtest joined #lisp 2017-03-19T12:05:54Z vibs29 joined #lisp 2017-03-19T12:08:15Z sjl joined #lisp 2017-03-19T12:08:33Z jdtest2 joined #lisp 2017-03-19T12:08:49Z otjura: is there a simple list of types I can use in DECLARE? hyperspec is reeeeaaly confusing on that or I am reading wrong pages 2017-03-19T12:10:00Z jdtest quit (Ping timeout: 260 seconds) 2017-03-19T12:10:46Z jdtest joined #lisp 2017-03-19T12:12:57Z jdtest2 quit (Ping timeout: 240 seconds) 2017-03-19T12:13:26Z d4ryus2 joined #lisp 2017-03-19T12:15:05Z jdtest quit (Ping timeout: 240 seconds) 2017-03-19T12:16:05Z d4ryus1 quit (Ping timeout: 240 seconds) 2017-03-19T12:16:42Z jdtest joined #lisp 2017-03-19T12:18:25Z pjb: otjura: http://www.lispworks.com/documentation/HyperSpec/Body/04_bc.htm 2017-03-19T12:19:18Z jdtest2 joined #lisp 2017-03-19T12:20:47Z jdtest quit (Ping timeout: 240 seconds) 2017-03-19T12:24:38Z otjura: pjb: thanks, yep was browsing wrong pages. so they are called "system classes" in hyperspec. interesting. 2017-03-19T12:25:21Z sjl quit (Quit: WeeChat 1.3) 2017-03-19T12:27:39Z White_Flame: you can also declare types that you've created 2017-03-19T12:28:39Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-19T12:29:31Z otjura: I also just now noticed hyperspec lists some functions as simply "Function", while some are "Standard Generic Function", and I don't honestly understand practical implications of latter just by glossar 2017-03-19T12:31:11Z EvW joined #lisp 2017-03-19T12:31:14Z White_Flame: generic functions can be overloaded with new methods that dispatch on their parameters 2017-03-19T12:31:28Z jdtest2 quit (Ping timeout: 260 seconds) 2017-03-19T12:31:34Z rpg_ quit (Ping timeout: 264 seconds) 2017-03-19T12:31:56Z otjura: "dispatch on their parameters"? 2017-03-19T12:32:03Z White_Flame: lisp method dispatch doesn't dispatch on object type, because methods aren't on objects. They're toplevel functions that dispatch on the types of their parameters 2017-03-19T12:32:11Z wtetzner joined #lisp 2017-03-19T12:32:29Z White_Flame: as opposed to C++-style method dispatch, which has a singular "this" object 2017-03-19T12:32:32Z sjl joined #lisp 2017-03-19T12:32:50Z phoe: otjura: generic functions have different behaviour that depends on the classes of objects that are passed to them 2017-03-19T12:32:59Z phoe: (defgeneric foo (bar baz)) 2017-03-19T12:33:11Z phoe: (defmethod foo ((bar string) (baz string)) "string and string") 2017-03-19T12:33:16Z phoe: (defmethod foo ((bar string) (baz symbol)) "string and symbol") 2017-03-19T12:33:23Z phoe: (defmethod foo ((bar symbol) (baz symbol)) "symbol and symbol") 2017-03-19T12:33:32Z phoe: (defmethod foo ((bar symbol) (baz string)) "symbol and string") 2017-03-19T12:33:32Z otjura: aha, got it! 2017-03-19T12:33:34Z otjura: thanks! 2017-03-19T12:33:40Z phoe: (defmethod foo (bar baz) "other case") 2017-03-19T12:33:42Z White_Flame: in phoe's example, FOO is a "generic function" 2017-03-19T12:33:57Z phoe: and once we have a generic, we define concrete methods for it 2017-03-19T12:34:05Z otjura: can I also DEFUN after DEFGENERIC declaration? 2017-03-19T12:34:14Z phoe: otjura: yes, but it will replace the generic. 2017-03-19T12:34:17Z otjura: okay 2017-03-19T12:34:21Z phoe: or, uh 2017-03-19T12:34:24Z phoe: error 2017-03-19T12:34:29Z otjura: really good explanation, now I understand 2017-03-19T12:34:39Z phoe: oh wait, no, it'll replace. 2017-03-19T12:34:46Z phoe: (defgeneric foo ()) (defun foo ()) 2017-03-19T12:35:11Z phoe: basically - once you DEFGENERIC, then you can DEFMETHOD 2017-03-19T12:35:20Z phoe: but there's no need to DEFUN after DEFGENERIC 2017-03-19T12:37:51Z phoe: one more thing, otjura 2017-03-19T12:38:00Z phoe: while you can specialize* on classes, you cannot specialize on types 2017-03-19T12:38:26Z phoe: *specialize - this thing we did up there, where we also provided class names next to the function argument names 2017-03-19T12:38:49Z phoe: so (defmethod quux ((a symbol)) ...) is fine, since SYMBOL is a class 2017-03-19T12:39:02Z phoe: but (defmethod quux ((a keyword)) ...) is not okay, since KEYWORD is a type 2017-03-19T12:39:05Z phoe: clhs keyword 2017-03-19T12:39:06Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/t_kwd.htm 2017-03-19T12:39:42Z _cosmonaut_ quit (Quit: Leaving.) 2017-03-19T12:40:32Z otjura: and in CL lingo what I think is type (float) is a standard class, right? so I can specialize DEFMETHOD on it? 2017-03-19T12:41:04Z phoe: clhs float 2017-03-19T12:41:04Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/a_float.htm 2017-03-19T12:41:18Z phoe: sure thing, FLOAT is a system class, which is a class 2017-03-19T12:41:24Z _cosmonaut_ joined #lisp 2017-03-19T12:42:58Z otjura: interesting how in all other languages I know stuff like FLOAT and CHARACTER are known as types. in CL they are system classes. 2017-03-19T12:43:04Z wildlander quit (Ping timeout: 256 seconds) 2017-03-19T12:43:21Z pjb: otjura: no, you asked for types. It's called type specifiers. 2017-03-19T12:43:40Z papachan joined #lisp 2017-03-19T12:43:44Z pjb: otjura: now all classes have a correponding type and type specifier with the same name. 2017-03-19T12:44:09Z phoe: except not all types have their corresponding classes. 2017-03-19T12:44:19Z otjura: whew 2017-03-19T12:44:40Z pjb: White_Flame: generic function dispatching is not done on the type of the parameters, but on their classes! 2017-03-19T12:44:57Z White_Flame: yes, but you've explained that already, so I didn't have to :) 2017-03-19T12:45:11Z White_Flame: should have put "type" in quotes up there 2017-03-19T12:45:19Z pjb: Write class instead. 2017-03-19T12:45:31Z pjb: type is wrong. 2017-03-19T12:45:57Z White_Flame: actually yeah, I thought I tried to avoid etiher type or class, but used type since that's what was being discussed 2017-03-19T12:47:07Z pjb: otjura: and instead of declaring the type of parameters, I would advise you to rather use check-type. 2017-03-19T12:47:35Z pjb: (or you can use declare locally after check-type, but a compiler for which types would matter would infer that automatically. 2017-03-19T12:47:37Z pjb: ) 2017-03-19T12:49:00Z pjb: write: (defun f1 (x) (check-type x fixnum) (locally (declare (type fixnum x)) (the fixnum (truncate x 2)))) 2017-03-19T12:49:00Z pjb: instead of: (defun f2 (x) (declare (type fixnum x)) (the fixnum (truncate x 2))) 2017-03-19T12:49:51Z pjb: (f1 'foo) will signal an error with a restart to provide a correct value, while (f2 'foo) will have nasal daemons with (optimize (safety 0)). 2017-03-19T12:50:33Z pjb: if you wish, you can write: 2017-03-19T12:50:33Z pjb: (defun %f2 (x) (declare (type fixnum x)) (the fixnum (truncate x 2))) 2017-03-19T12:50:33Z pjb: (defun f1 (x) (check-type x fixnum) (%f2 x)) 2017-03-19T12:53:50Z zergut joined #lisp 2017-03-19T12:54:45Z zergut left #lisp 2017-03-19T12:56:16Z wildlander joined #lisp 2017-03-19T12:56:17Z wildlander quit (Max SendQ exceeded) 2017-03-19T12:57:25Z wildlander joined #lisp 2017-03-19T13:00:12Z gargaml: hi 2017-03-19T13:00:40Z gargaml: I'd like to convert network ordered 4 bytes integer 2017-03-19T13:00:50Z gargaml: into host ordered 4 bytes integer 2017-03-19T13:01:22Z gargaml: I went through usocket and uiop but didn't find functions to perform this 2017-03-19T13:01:37Z gargaml: I'm pretty sure that I missed something somewhere… 2017-03-19T13:02:03Z phoe: gargaml: network ordered? 2017-03-19T13:02:08Z gargaml: (I'm already using drakma in this project, so using usocket is fine) 2017-03-19T13:02:10Z libreman quit (Ping timeout: 264 seconds) 2017-03-19T13:02:12Z phoe: oh, I see 2017-03-19T13:02:19Z gargaml: from a socket point of view 2017-03-19T13:02:39Z libreman joined #lisp 2017-03-19T13:04:11Z klltkr joined #lisp 2017-03-19T13:04:39Z Lord_of_Life quit (Excess Flood) 2017-03-19T13:05:33Z bariscant joined #lisp 2017-03-19T13:06:03Z phoe: https://github.com/sionescu/swap-bytes/blob/master/network.lisp 2017-03-19T13:06:11Z phoe: this seems to do what you want 2017-03-19T13:07:03Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-19T13:07:54Z gargaml: phoe: thank you, I thought that there were some standard way to do this 2017-03-19T13:07:55Z gargaml: thank you! 2017-03-19T13:08:28Z Lord_of_Life joined #lisp 2017-03-19T13:08:55Z jameser joined #lisp 2017-03-19T13:13:07Z tharugrim joined #lisp 2017-03-19T13:13:18Z learning quit (Remote host closed the connection) 2017-03-19T13:15:28Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-19T13:16:16Z gargaml quit (Ping timeout: 260 seconds) 2017-03-19T13:18:48Z ebrasca quit (Remote host closed the connection) 2017-03-19T13:20:24Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-19T13:21:47Z jameser joined #lisp 2017-03-19T13:23:49Z learning joined #lisp 2017-03-19T13:27:05Z Harag quit (Ping timeout: 240 seconds) 2017-03-19T13:27:15Z dra_ joined #lisp 2017-03-19T13:28:36Z Harag joined #lisp 2017-03-19T13:28:49Z eSVG joined #lisp 2017-03-19T13:33:21Z learning quit (Remote host closed the connection) 2017-03-19T13:33:30Z lnostdal quit (Ping timeout: 256 seconds) 2017-03-19T13:39:07Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-19T13:39:27Z dra_ quit (Quit: Leaving) 2017-03-19T13:50:28Z thinkpad: is that a menorah on clisp repl? 2017-03-19T13:51:58Z Harag quit (Ping timeout: 264 seconds) 2017-03-19T13:54:45Z axion: yes 2017-03-19T13:56:55Z bariscant quit (Ping timeout: 268 seconds) 2017-03-19T14:01:22Z beach: thinkpad: CLISP is currently not one of the well maintained implementations of Common Lisp, so don't worry about it. 2017-03-19T14:01:47Z smokeink quit (Ping timeout: 240 seconds) 2017-03-19T14:07:21Z bariscant joined #lisp 2017-03-19T14:08:21Z EvW quit (Ping timeout: 258 seconds) 2017-03-19T14:09:20Z Harag joined #lisp 2017-03-19T14:11:27Z FakePedro quit (Ping timeout: 240 seconds) 2017-03-19T14:17:13Z CEnnis91 joined #lisp 2017-03-19T14:17:42Z wtetzner quit (Remote host closed the connection) 2017-03-19T14:18:26Z nirved joined #lisp 2017-03-19T14:20:58Z tharugrim quit (Ping timeout: 268 seconds) 2017-03-19T14:21:03Z warweasle joined #lisp 2017-03-19T14:21:48Z Harag quit (Ping timeout: 240 seconds) 2017-03-19T14:22:41Z Harag joined #lisp 2017-03-19T14:23:58Z fourier` joined #lisp 2017-03-19T14:24:05Z mathiasx_ joined #lisp 2017-03-19T14:24:18Z tharugrim joined #lisp 2017-03-19T14:29:30Z EvW1 joined #lisp 2017-03-19T14:30:56Z shifty quit (Ping timeout: 260 seconds) 2017-03-19T14:31:20Z FakePedro joined #lisp 2017-03-19T14:31:41Z BitPuffin|osx joined #lisp 2017-03-19T14:32:50Z knobo: til quux => Metasyntactic variable 2017-03-19T14:34:02Z pjb: beach: on the contrary, currently CLISP is one of the most maintained implementations of CL. 2017-03-19T14:34:27Z pjb: beach: instant maintainance is high on clisp at this time. 2017-03-19T14:34:27Z fourier` quit (Ping timeout: 240 seconds) 2017-03-19T14:36:00Z varjag joined #lisp 2017-03-19T14:36:03Z FakePedro quit (Client Quit) 2017-03-19T14:37:15Z FakePedro joined #lisp 2017-03-19T14:37:23Z wtetzner joined #lisp 2017-03-19T14:38:40Z beach: pjb: Oh? That's great. I must have missed it. Who is the maintainer? 2017-03-19T14:39:06Z d4ryus2: When i have a thread which transfers data from a file to a socket, would it be save to call file-position (on the file-stream) from another thread to check the progress? 2017-03-19T14:40:22Z Harag quit (Ping timeout: 256 seconds) 2017-03-19T14:41:36Z Kaisyu joined #lisp 2017-03-19T14:41:46Z pjb: beach: https://sourceforge.net/p/clisp/_members/ 2017-03-19T14:42:23Z beach: pjb: Thanks. 2017-03-19T14:42:33Z pjb: beach: you may follow activity on https://sourceforge.net/p/clisp/mailman/clisp-devel/ 2017-03-19T14:42:52Z pjb: jan: 13, feb: 44, mar: 134 2017-03-19T14:43:23Z loke___: pjb: Are you saying that CLISP development has been restarted? 2017-03-19T14:43:30Z beach: pjb: I can see that. That's great news! 2017-03-19T14:43:47Z pjb: loke___: "resumed" would be a more proper term. 2017-03-19T14:44:12Z mathiasx_ left #lisp 2017-03-19T14:44:12Z loke___: pjb: That's nice. 2017-03-19T14:44:20Z pjb: d4ryus2: I would say that it wouldn't be very portable. 2017-03-19T14:44:41Z pjb: d4ryus2: some implementations have an attribute on stream to allow or prevent sharing of streams amongst threads. 2017-03-19T14:44:58Z loke___: I'm looking at the Feb messages. I'd have hoped to see some kind of ananouncement... 2017-03-19T14:45:35Z libreman quit (Ping timeout: 240 seconds) 2017-03-19T14:45:48Z d4ryus2: pjb: ok, good to know, thanks 2017-03-19T14:45:52Z pjb: loke___: it never was stopped! Only CL development works more like pitch drops than water flow. 2017-03-19T14:46:49Z pjb: d4ryus2: perhaps other implementation specific semantics could be imagined for file-position with respect to "threads". 2017-03-19T14:47:22Z pjb: d4ryus2: However At the POSIX level, each file descriptor has its own file position. So assuming stream = file descriptor, then file-position could work, as long as the stream is accessible across threads. 2017-03-19T14:48:05Z pjb: d4ryus2: In any case you can easily report progress from the reading thread, by storing the file position in a global variable or using a callback. 2017-03-19T14:48:28Z pjb: loke___: https://www.youtube.com/watch?v=k7jXjn7mIao 2017-03-19T14:49:22Z loke___: pjb: Is there some release notes or something where I can see what has been done? 2017-03-19T14:49:32Z josh_2 joined #lisp 2017-03-19T14:49:46Z pjb: It's currently being done, so I'm not sure the release notes have been updated yet. 2017-03-19T14:49:52Z d4ryus2: pjb: ok, thank you 2017-03-19T14:49:56Z pjb: In anycase this would be in the mercurial repository. 2017-03-19T14:54:58Z warweasle: Quicklisp updates at the beginning of the month, correct? 2017-03-19T14:55:35Z pjb: Usually. 2017-03-19T14:58:57Z libreman joined #lisp 2017-03-19T14:59:01Z Harag joined #lisp 2017-03-19T15:00:37Z damke quit (Disconnected by services) 2017-03-19T15:00:38Z damke_ joined #lisp 2017-03-19T15:00:46Z damke_ is now known as damke 2017-03-19T15:01:00Z bungoman_ joined #lisp 2017-03-19T15:01:51Z enitiz joined #lisp 2017-03-19T15:02:25Z bungoman quit (Ping timeout: 246 seconds) 2017-03-19T15:03:20Z knobo: 2017-03-19T15:03:38Z Habens joined #lisp 2017-03-19T15:06:10Z Habens quit (Client Quit) 2017-03-19T15:07:00Z cibs quit (Ping timeout: 258 seconds) 2017-03-19T15:08:37Z cibs joined #lisp 2017-03-19T15:09:12Z thijso quit (Ping timeout: 260 seconds) 2017-03-19T15:11:20Z enitiz quit (Quit: Mutter: www.mutterirc.com) 2017-03-19T15:14:08Z nmg joined #lisp 2017-03-19T15:15:34Z mishoo joined #lisp 2017-03-19T15:19:19Z fourier` joined #lisp 2017-03-19T15:26:25Z kobain joined #lisp 2017-03-19T15:30:29Z nyef: Hunh. I think that the one NuBus card that I have that can (in theory) do more than 640x480 might be more-or-less working, just putting out a signal that the CRT doesn't like. 2017-03-19T15:30:45Z Bike joined #lisp 2017-03-19T15:31:35Z nyef: Alternately, it's broken, and putting out a signal that the CRT doesn't like. 2017-03-19T15:32:15Z msmith joined #lisp 2017-03-19T15:34:15Z beach: nyef: Do you have plans to open a computer museum with working equipment? 2017-03-19T15:34:54Z msmith: Any one know if there is a way to get the number bytes in a stream? I'm looking into the flexi streams library but was wondering if there was another way. 2017-03-19T15:37:58Z loke___: msmith: FILE-LENGTH 2017-03-19T15:38:51Z nyef: beach: Not really, no. 2017-03-19T15:39:33Z nyef: Does anyone know if a MacIvory 2 will work in a Quadra 800, or if it definitely won't? 2017-03-19T15:39:43Z warweasle: My brain is not working. How do you export a symbol from another package without using defpackage? 2017-03-19T15:39:55Z loke___: warweasle: EXPORT? 2017-03-19T15:40:06Z msmith: loke___ will that only work with streams associated with a file? what about socket streams? 2017-03-19T15:40:28Z loke___: msmith: There is now way to know how "long" a stream is. 2017-03-19T15:40:32Z beach: msmith: How would you know that in advance? 2017-03-19T15:40:55Z beach: msmith: What is it that you are trying to do? 2017-03-19T15:41:17Z msmith: beach: well, how many bytes are available to read 2017-03-19T15:41:29Z beach: msmith: That's different. 2017-03-19T15:41:38Z warweasle: loke___: I tried (shadow and (export but it fails. 2017-03-19T15:41:49Z loke___: msmith: That's not really possible either. Exactly what is it you're trying to achieve? 2017-03-19T15:42:03Z beach: warweasle: (export symbols package) 2017-03-19T15:42:22Z beach: clhs export 2017-03-19T15:42:22Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_export.htm 2017-03-19T15:42:42Z beach: warweasle: What did you do to try EXPORT that didn't work? 2017-03-19T15:42:54Z msmith: loke___: I'm trying to use read-sequence on a socket stream in a way that doesn't block 2017-03-19T15:43:03Z wheelsucker joined #lisp 2017-03-19T15:43:16Z attila_lendvai joined #lisp 2017-03-19T15:43:19Z loke___: msmith: As long as there is at least 1 byte available, it won't block. 2017-03-19T15:43:40Z nyef: Hrm. Physically fits in the case, but the MacIvory 2 board itself takes up a slot and a half of space, and collides the case plastic in the uppermost slot, so overall it uses up all of three slots. 2017-03-19T15:43:44Z warweasle: Here is an example: (in-package #:clinch) 2017-03-19T15:43:57Z warweasle: (export 'print-text 'pango) 2017-03-19T15:44:33Z beach: warweasle: And what happened? 2017-03-19T15:44:51Z msmith: loke___: It's been a while, but I thought that if I read to a sequence of a certain size, it will block until there is enough data to fill the sequence 2017-03-19T15:45:26Z warweasle: msmith: "These symbols are not available through clinch: (clinch:print-text) 2017-03-19T15:45:32Z warweasle: " 2017-03-19T15:45:47Z nyef: Upshot: No chance of having a second ethernet interface, and the onboard is unlikely to work with Genera. 2017-03-19T15:45:59Z warweasle feels dumb. This must be easy. 2017-03-19T15:47:20Z loke___: msmith: I'm checking the CLHS, and the text seems to agree with you. However, I was sure that it returns immediately and returns the index of the last byte 2017-03-19T15:47:22Z loke___: +1 2017-03-19T15:47:27Z loke___: index of the last byte + 1 2017-03-19T15:47:38Z warweasle: FYI: Clinch has plugins which add symbols after the package is defined. That's why I'm using the functions. 2017-03-19T15:49:21Z enitiz joined #lisp 2017-03-19T15:49:22Z msmith: loke___: I was looking a output-stream-sequence-length in the flexi-streams doc. Seems like my best bet 2017-03-19T15:50:01Z beach: warweasle: It appears you must give the symbol in the pango package 2017-03-19T15:50:15Z msmith: I think that, if implemented , a server using read-sequence instead of reading one byte at a time would be very fast 2017-03-19T15:50:17Z beach: warweasle: (export 'pango:print-text 'pango) 2017-03-19T15:51:05Z jdz: With two colons. 2017-03-19T15:51:14Z beach: Right. 2017-03-19T15:53:39Z damke quit (Disconnected by services) 2017-03-19T15:53:40Z damke_ joined #lisp 2017-03-19T15:53:48Z damke_ is now known as damke 2017-03-19T15:54:02Z beach: warweasle: So (export 'pango::print-text 'pango) 2017-03-19T15:54:12Z beach: warweasle: But that sounds like a very bad thing to do. 2017-03-19T15:54:30Z warweasle: beach: No errors on load but the clinch:print-text is undefined... 2017-03-19T15:54:44Z warweasle: beach: It's likely very wrong. But I don't know how else to do it. 2017-03-19T15:55:14Z beach: warweasle: You seem to want to access the symbol print-text in the pango package from some other package, right? 2017-03-19T15:56:07Z warweasle: beach: No, I just want clinch:print-text to call pango:print-text 2017-03-19T15:56:31Z msmith: warweasle pango::print-text 2017-03-19T15:56:35Z beach: But pango:print-text is not exported from pango as I understand, right? 2017-03-19T15:56:37Z enitiz quit (Quit: Mutter: www.mutterirc.com) 2017-03-19T15:57:03Z warweasle: beach: Yes, it is. 2017-03-19T15:57:14Z beach: So why on earth do you want to try to export it again? 2017-03-19T15:57:17Z warweasle: beach: I'm trying to hide cl-pango's involvement 2017-03-19T15:57:55Z beach: warweasle: If it is already exported, why did you ask how to export a symbol from a different package? 2017-03-19T15:58:29Z msmith: warweasle: what's wrong with just accessing it with two colons? You don't want the name pango to appear in your code? 2017-03-19T15:58:46Z beach: msmith: Why would he use two colons if it is already exported? 2017-03-19T15:58:54Z warweasle: beach: So I don't need the pango:print-text header and I can use cairo:print-text. 2017-03-19T15:58:57Z papachan quit (Ping timeout: 240 seconds) 2017-03-19T15:59:18Z jmarciano joined #lisp 2017-03-19T15:59:31Z fourier` quit (Ping timeout: 258 seconds) 2017-03-19T15:59:44Z beach: warweasle: I have no idea what these packages do or how they are organized, so I can only help you if you describe what you want to do in abstract terms. Maybe someone else can help instead. 2017-03-19T16:00:02Z msmith: beach: seems like he doesn't really want to export it, just access it 2017-03-19T16:00:31Z BusFactor1 joined #lisp 2017-03-19T16:00:32Z beach: warweasle: My question remains though. Why did you attempt to export a symbol that was already exported? 2017-03-19T16:00:33Z warweasle: beach: I have a function pango:draw-text. I want cairo:draw-text work as well. 2017-03-19T16:01:01Z beach: So, just say pango:draw-text when you want it, and say cairo:draw-text when you want that. 2017-03-19T16:01:16Z neoncontrails quit (Remote host closed the connection) 2017-03-19T16:01:19Z warweasle: beach: Looks like that's my solution. 2017-03-19T16:01:33Z beach: What was the problem? I don't see a problem. 2017-03-19T16:02:39Z warweasle: beach: It forces the user to know about cl-pango. It should be transparent from clinch and I only use 3-4 functionsfrom pango. 2017-03-19T16:02:42Z beach: warweasle: It is usually best not to :USE any packages other than the COMMON-LISP package in case that is your problem. Using explicit package prefixes makes your code clearer in the first place. 2017-03-19T16:03:31Z warweasle: I could just make a pass-through function: (defun clinch:print-text (args) (pango:print-text args...)) 2017-03-19T16:03:42Z beach: Sure, and inline it. 2017-03-19T16:03:49Z beach: Then you don't have any overhead either. 2017-03-19T16:04:03Z warweasle: beach: Ok, that works! 2017-03-19T16:05:16Z jdz: warweasle: maybe you want (import 'pango::print-text 'clinch)? 2017-03-19T16:06:00Z nelder quit (Quit: Leaving) 2017-03-19T16:06:10Z beach: warweasle: Like I said, it is much clearer to use explicit package prefixes than to :USE or IMPORT. 2017-03-19T16:06:23Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-19T16:06:48Z loke___ quit (Ping timeout: 258 seconds) 2017-03-19T16:06:49Z beach: warweasle: For something called PRINT-TEXT, it is unlikely that the overhead of a function call is going to make a difference, so I recommend you don't INLINE it. 2017-03-19T16:07:19Z BusFactor1 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-19T16:08:31Z warweasle: beach: Turns out they're macros. Even better 2017-03-19T16:08:59Z fourier` joined #lisp 2017-03-19T16:09:36Z manualcrank joined #lisp 2017-03-19T16:11:37Z warweasle: beach: Thanks for setting me straight. 2017-03-19T16:13:52Z EvW1 quit (Ping timeout: 256 seconds) 2017-03-19T16:17:21Z BusFactor1 joined #lisp 2017-03-19T16:17:26Z beach: warweasle: Anytime. 2017-03-19T16:27:15Z damke quit (Disconnected by services) 2017-03-19T16:27:16Z damke_ joined #lisp 2017-03-19T16:27:24Z damke_ is now known as damke 2017-03-19T16:29:44Z dcluna quit (Ping timeout: 256 seconds) 2017-03-19T16:30:19Z dcluna joined #lisp 2017-03-19T16:34:52Z damke quit (Disconnected by services) 2017-03-19T16:34:53Z damke_ joined #lisp 2017-03-19T16:35:01Z damke_ is now known as damke 2017-03-19T16:35:48Z nelder joined #lisp 2017-03-19T16:36:54Z warweasle quit (Quit: RL stuff...) 2017-03-19T16:39:06Z ryanwatkins joined #lisp 2017-03-19T16:40:34Z jmarciano: I am often using (nor (zerop (length string to see if string is "", is there any simpler method? 2017-03-19T16:40:37Z jmarciano: nor is not 2017-03-19T16:42:29Z learning joined #lisp 2017-03-19T16:43:09Z jackdaniel: jmarciano: alexandria has emptyp predicate 2017-03-19T16:44:07Z jackdaniel: which works on any kind of sequence 2017-03-19T16:45:23Z jmarciano: aha ok 2017-03-19T16:49:29Z nyef: (string= "" string) ? 2017-03-19T16:49:55Z nyef: Some of the other equality predicates may also work. 2017-03-19T16:53:00Z CEnnis91 quit (Quit: Connection closed for inactivity) 2017-03-19T16:53:17Z libreman quit (Ping timeout: 268 seconds) 2017-03-19T16:56:30Z Karl_Dscc joined #lisp 2017-03-19T16:57:00Z fourier` quit (Ping timeout: 260 seconds) 2017-03-19T16:58:33Z FakePedro quit (Ping timeout: 258 seconds) 2017-03-19T16:58:58Z bungoman_ quit (Ping timeout: 246 seconds) 2017-03-19T16:59:28Z neoncontrails joined #lisp 2017-03-19T16:59:40Z FakePedro joined #lisp 2017-03-19T16:59:48Z jmarciano quit (Ping timeout: 260 seconds) 2017-03-19T17:00:51Z neoncont_ joined #lisp 2017-03-19T17:02:35Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-19T17:04:00Z neoncontrails quit (Ping timeout: 260 seconds) 2017-03-19T17:04:34Z mathrick quit (Ping timeout: 246 seconds) 2017-03-19T17:06:00Z libreman joined #lisp 2017-03-19T17:11:47Z bariscant quit (Ping timeout: 268 seconds) 2017-03-19T17:14:10Z gargaml joined #lisp 2017-03-19T17:15:28Z fourier` joined #lisp 2017-03-19T17:16:16Z libreman quit (Ping timeout: 240 seconds) 2017-03-19T17:16:43Z libreman joined #lisp 2017-03-19T17:20:23Z bariscant joined #lisp 2017-03-19T17:20:31Z nyef: Switching monitors got the Futura MX board working, but it still won't go past 640x480 for some reason. /-: 2017-03-19T17:21:10Z bariscant quit (Max SendQ exceeded) 2017-03-19T17:27:27Z fourier` quit (Ping timeout: 240 seconds) 2017-03-19T17:28:12Z Fare joined #lisp 2017-03-19T17:29:11Z Fare changed the topic of #lisp to: Common Lisp, the #1=(programmable . #1#) programming language logs: | contact op if muted | SBCL 1.3.15, CMUCL 21b, ECL 16.1.3, CCL 1.11 | ASDF 3.2.0 2017-03-19T17:29:16Z nyef: Oh, and the drive imaged into an SD card boots on the SCSI2SD, which is good to have confirmed. 2017-03-19T17:29:46Z nyef: Complains that I don't have the MacIvory board installed, though. 2017-03-19T17:30:25Z Fare: nyef: do you think it's still time to summon a Boston Lisp Meeting for this Thursday? 2017-03-19T17:30:33Z nyef: (Which is fair: I haven't installed the MacIvory board yet.) 2017-03-19T17:31:32Z nyef: Fare: Maybe? I'm out-of-position for attending, unfortunately. Though I may make hurried travel plans if necessary. (-: 2017-03-19T17:34:20Z vlatkoB quit (Read error: Connection reset by peer) 2017-03-19T17:34:49Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-19T17:36:19Z Fare: I could maybe make it the following week if that's better 2017-03-19T17:36:35Z Fare: I suppose I could give a previous of my ASDF3 presentation for ELS 2017 2017-03-19T17:37:27Z bungoman joined #lisp 2017-03-19T17:37:40Z nyef: The 30th works better for me, but I can't really say for anyone else. 2017-03-19T17:38:52Z bariscant joined #lisp 2017-03-19T17:40:08Z gargaml quit (Ping timeout: 240 seconds) 2017-03-19T17:43:15Z pjb: nyef: this is due to the plug that doesn't encode the resolution of the screen. 2017-03-19T17:43:17Z gargaml joined #lisp 2017-03-19T17:44:38Z nyef: pjb: Supposedly, the adaptor *does* encode the resolution. But the various settings lead to either "no signal" or 640x480. Trying to swap out for a different adaptor now. 2017-03-19T17:46:50Z pjb: You're in second generation displays: The Macintosh Color Display (14", 16" and 21") were introduced with resolutions of 640x480, 832x624 and 1152x870, with the 16 and 21 inch models being introduced in 1992, and the 14 inch model coming out with the Macintosh LCIII in 1993. 2017-03-19T17:46:53Z pjb: https://en.wikipedia.org/wiki/Apple_displays#Connectors 2017-03-19T17:47:53Z nyef: Mmm. And I'm trying to run a Futura MX through a mac->vga adaptor. 2017-03-19T17:48:19Z pjb: DA-15 connector, I assume: https://en.wikipedia.org/wiki/D-subminiature Check the table Normal density / High density / Double density. 2017-03-19T17:48:39Z nyef: Yeah, DA-15. 2017-03-19T17:49:58Z pjb: Here you have the info: http://old.pinouts.ru/VideoCables/MacVideoToVGA_pinout.shtml 2017-03-19T17:50:26Z pjb: standard sense codes. 2017-03-19T17:51:19Z nyef: Thank you. 2017-03-19T17:51:37Z learning quit (Remote host closed the connection) 2017-03-19T17:51:47Z nyef: Might have to check these against what the adaptor is doing. 2017-03-19T17:52:09Z pjb: Yes. The cable diagram shows a led to allow for multiple resolutions :-) 2017-03-19T17:52:49Z nyef: That's... not an LED. It's a normal diode with an associated footnote. 2017-03-19T17:53:20Z pjb: Yes, I meant a diode. 2017-03-19T17:53:50Z pjb: Have fun! 2017-03-19T17:54:16Z nyef: Thanks. 2017-03-19T17:54:46Z nyef: I'm about two steps short of giving up, trying to run in 640x480 for the moment, and ordering another video card for the future. 2017-03-19T17:55:34Z pjb: With the right cable, you should be able to run on a LCD screen @ 1152 x 870. 2017-03-19T17:56:11Z nyef: Said cable might need to have a sync separator, though. 2017-03-19T17:57:01Z nyef: I have *one* panel that can handle SoG, and one or two tubes that can. 2017-03-19T17:57:19Z nyef: Hrm. 2017-03-19T17:57:22Z pjb: http://www.ebay.com/p/apple-21-color-monitor-video-cable-6-feet-long-pn-590-0615-a-db15-to-13w3/1501476426?iid=112318911706 2017-03-19T17:57:25Z nyef: Actually, I wonder if that's part of the problem? 2017-03-19T17:59:10Z pjb: Not listed on ebay anymore, but there are hundreds of those cable in a box in some second hand computer shop. The problem is to locate it. 2017-03-19T17:59:29Z pjb: (and you'd probably get a monitor with the cable for $5 more). 2017-03-19T17:59:31Z tharugrim joined #lisp 2017-03-19T17:59:35Z Fare had his LispM @ 1600x1200, only to find out that the Mac and/or LispM had trouble displaying in 24-bit color. 2017-03-19T18:01:07Z thodg joined #lisp 2017-03-19T18:04:29Z PinealGlandOptic joined #lisp 2017-03-19T18:05:49Z nyef: ... Maybe the sense pin logic isn't right on the card? 2017-03-19T18:06:07Z grublet joined #lisp 2017-03-19T18:06:31Z pjb: Then you will have to check the documentation of the card or the actual hardware. 2017-03-19T18:09:13Z dymatic quit (Read error: Connection reset by peer) 2017-03-19T18:12:06Z Fare: I had to buy a special VGA adapter 2017-03-19T18:17:56Z MrBusiness quit (Quit: https://www.youtube.com/watch?v=xIIqYqtR1lY -- Suicide is Painless - Johnny Mandel) 2017-03-19T18:20:04Z thodg quit (Ping timeout: 260 seconds) 2017-03-19T18:25:16Z libreman quit (Ping timeout: 240 seconds) 2017-03-19T18:27:06Z rpg_ joined #lisp 2017-03-19T18:27:15Z defaultxr joined #lisp 2017-03-19T18:29:05Z _rpg joined #lisp 2017-03-19T18:29:07Z neoncont_ quit (Remote host closed the connection) 2017-03-19T18:31:34Z rpg_ quit (Ping timeout: 256 seconds) 2017-03-19T18:34:21Z josh_2 quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-19T18:35:02Z josh_2 joined #lisp 2017-03-19T18:35:13Z nyef: I have two VGA adaptors. Both with DIP switches. One a ViewSonic, one a "MacPnP". Neither has managed to coax more than 640x480 out of this card. 2017-03-19T18:37:30Z Fare quit (Ping timeout: 268 seconds) 2017-03-19T18:38:34Z libreman joined #lisp 2017-03-19T18:45:27Z nowhere_man quit (Quit: Konversation terminated!) 2017-03-19T18:48:50Z nowhere_man joined #lisp 2017-03-19T18:49:00Z libreman quit (Ping timeout: 260 seconds) 2017-03-19T18:49:28Z libreman joined #lisp 2017-03-19T18:50:34Z nowhere_man quit (Read error: Connection reset by peer) 2017-03-19T18:52:05Z nyef: First machine startup at 640x480 with MacIvory board installed... 2017-03-19T18:53:01Z nowhere_man joined #lisp 2017-03-19T18:53:42Z nyef: ... memory card is configured as 16 MB ramdisk by default? What? 2017-03-19T18:57:33Z nyef: ... And, unlike using windows, it seems that I need to reboot every time I change some setting or other. What an odd turnaround. 2017-03-19T19:02:35Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-19T19:03:56Z krwq joined #lisp 2017-03-19T19:06:23Z learning joined #lisp 2017-03-19T19:11:57Z libreman quit (Ping timeout: 258 seconds) 2017-03-19T19:12:23Z libreman joined #lisp 2017-03-19T19:18:15Z learning: loop docs say that it takes a [name-clause] http://www.lispworks.com/documentation/HyperSpec/Body/m_loop.htm#loop 2017-03-19T19:18:32Z learning: can anyone give me a quick example of this? i can't find any and can't guess right 2017-03-19T19:19:32Z |3b|: (loop named foo do (return-from foo)) 2017-03-19T19:19:32Z nyef: clhs 6.1.7.1.1 2017-03-19T19:19:32Z specbot: Examples of NAMED clause: http://www.lispworks.com/reference/HyperSpec/Body/06_agaa.htm 2017-03-19T19:19:56Z nyef: Please note that CLHS examples are not normative. 2017-03-19T19:20:23Z learning: thanks 3b 2017-03-19T19:21:15Z learning: oh cool its in the spec 2017-03-19T19:30:04Z krasnal quit (Read error: Connection reset by peer) 2017-03-19T19:34:03Z nyef: Well, LispM hardware works, but my video setup is dreadful. And the keyboard, mouse, and screen being on the floor doesn't really help in terms of usability. 2017-03-19T19:34:36Z safe joined #lisp 2017-03-19T19:34:46Z libreman quit (Ping timeout: 240 seconds) 2017-03-19T19:35:12Z libreman joined #lisp 2017-03-19T19:37:11Z nowhereman joined #lisp 2017-03-19T19:38:27Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-19T19:41:04Z fourier` joined #lisp 2017-03-19T19:42:27Z stepnem joined #lisp 2017-03-19T19:42:30Z rocx joined #lisp 2017-03-19T19:43:45Z lnostdal joined #lisp 2017-03-19T19:44:11Z Blukunfando joined #lisp 2017-03-19T19:44:54Z EvW joined #lisp 2017-03-19T19:51:39Z learning quit (Remote host closed the connection) 2017-03-19T19:52:09Z tharugrim joined #lisp 2017-03-19T19:58:34Z safe quit (Quit: Leaving) 2017-03-19T19:58:35Z nirved quit (Quit: Leaving) 2017-03-19T19:59:29Z cibs quit (Ping timeout: 258 seconds) 2017-03-19T19:59:55Z fourier` quit (Ping timeout: 246 seconds) 2017-03-19T20:01:05Z cibs joined #lisp 2017-03-19T20:05:55Z zerac quit (Ping timeout: 245 seconds) 2017-03-19T20:06:09Z angavrilov quit (Remote host closed the connection) 2017-03-19T20:06:31Z zerac joined #lisp 2017-03-19T20:11:35Z learning joined #lisp 2017-03-19T20:18:07Z neoncontrails joined #lisp 2017-03-19T20:21:24Z Fare joined #lisp 2017-03-19T20:21:24Z nowhereman quit (Ping timeout: 260 seconds) 2017-03-19T20:23:55Z nowhereman joined #lisp 2017-03-19T20:27:54Z aeth: It'd be great if new incfs could be defined like new setfs. Can it? 2017-03-19T20:29:17Z aeth: I get a setf not defined error, so that means incf follows from setf being defined? Or is that just SBCL? 2017-03-19T20:30:13Z aeth: (defun rotation (x) (aref x 1)) (defun (setf rotation) (new-value x) (setf (aref x 1) new-value)) (let ((foo #(0 1))) (incf (rotation foo)) foo) => #(0 2) 2017-03-19T20:30:23Z aeth: portablep 2017-03-19T20:30:34Z nowhereman quit (Ping timeout: 256 seconds) 2017-03-19T20:31:28Z Bike: (incf x) is just (setf x (1+ x)), defining a setf should do it 2017-03-19T20:32:11Z aeth: oh, wonderful 2017-03-19T20:32:32Z aeth: so much of what I am doing is just incf on a much more complicated data structure than my array example 2017-03-19T20:33:59Z nyef: aeth: Typically, a macro name ending in "F" indicates that the macro takes a "place". "Places" are defined in terms of SETF. 2017-03-19T20:34:41Z aeth: http://www.lispworks.com/documentation/HyperSpec/Body/05_aaa.htm 2017-03-19T20:35:27Z nyef: Largely because SETF was the first thing developed that took a "place", and then it was extended all over the place. 2017-03-19T20:35:28Z nowhereman joined #lisp 2017-03-19T20:35:48Z aeth: pun intended? 2017-03-19T20:36:04Z bariscant quit (Quit: Leaving) 2017-03-19T20:36:13Z nyef: ... Not consciously, no. 2017-03-19T20:36:35Z nyef: Had I intended a pun, it would probably have been expanded from there. 2017-03-19T20:40:19Z aeth: only somewhat related, but I wonder if CL would be able to handle without a performance cost the addition of a general index accessor, e.g. (access hash-table :foo) (access plist :foo) (access alist :foo) (access multidimensional-array '(0 1 2)) (access sequence 2) 2017-03-19T20:41:07Z warweasle joined #lisp 2017-03-19T20:41:35Z aeth: In fact, slot-value could be considered one of those, but it would probably be better to go through CLOS accessors 2017-03-19T20:42:03Z aeth: because then chaining access could get rid of a lot of these custom setf defines 2017-03-19T20:42:37Z dilated_dinosaur quit (Quit: Leaving) 2017-03-19T20:42:40Z aeth: (incf (access hash-table 3 :another-hash-table '(0 1 2 3))) 2017-03-19T20:43:01Z Bike: that doesn't really seem much different from setf? 2017-03-19T20:43:24Z aeth: It would complement setf. 2017-03-19T20:43:50Z Bike: i mean you're either defining an access method or a setf expander, and they presumably look about the same 2017-03-19T20:44:27Z aeth: oh oops, I deleted a field 2017-03-19T20:44:35Z aeth: (incf (access hash-table :some-simple-vector 3 :another-hash-table '(0 1 2 3))) 2017-03-19T20:45:14Z aeth: or wait 2017-03-19T20:45:20Z aeth: it should be :from-another-hash-table 2017-03-19T20:45:36Z aeth: the equivalent of that access would be (aref (gethash :from-another-hash-table (svref (gethash :some-simple-vector hash-table) 3)) 0 1 2 3) 2017-03-19T20:45:40Z nyef: ... Not getting what you're driving at. It seems like you want some sort of place semantic for GETHASH? 2017-03-19T20:46:23Z nyef: (At which point, doesn't GETHASH already have a place semantic?) 2017-03-19T20:46:59Z aeth: nyef: What I mean is, combine aref, gethash, getf, assoc-value, and elt into one super-accessor 2017-03-19T20:47:10Z stepnem quit (Ping timeout: 246 seconds) 2017-03-19T20:47:19Z aeth: (aref doesn't quite overlap with elt, aref supports non-sequence arrays) 2017-03-19T20:47:52Z aeth: because if it's all one accessor, then you can from left to right chain accesses like . and/or [] in some languages 2017-03-19T20:49:05Z stepnem joined #lisp 2017-03-19T20:49:58Z aeth: This would be especially helpful because some functions (like gethash) put the index on the left, which makes the flow a lot less clear. 2017-03-19T20:51:30Z aeth: To use a simpler example... (access hash-table :foo) is equivalent with (gethash :foo hash-table) but (access hash-table :foo 0) would be equivalent with (elt (gethash :foo hash-table) 0) where the latter is a lot less clear imo 2017-03-19T20:51:51Z daviid joined #lisp 2017-03-19T20:54:03Z aeth: More concretely, this is how it is now: (defvar *hash-table* (make-hash-table)) (setf (gethash :foo *hash-table*) #(0 1 2 3 4 5)) (setf (elt (gethash :foo *hash-table*) 0) 1) 2017-03-19T20:54:31Z Jesin quit (Quit: Leaving) 2017-03-19T20:54:32Z aeth: But why not this? (setf (access *hash-table* :foo 0) 1) 2017-03-19T20:55:59Z prxq joined #lisp 2017-03-19T20:56:47Z aeth: I don't think CL can do that efficiently, though, because access won't know if *hash-table* is a hash-table, an alist, or a plist... and it won't know if the second part is an integer-keyed hash-table or a sequence. 2017-03-19T20:57:04Z Jesin joined #lisp 2017-03-19T20:59:01Z Einwq quit (Quit: Leaving) 2017-03-19T21:01:38Z MrBusiness joined #lisp 2017-03-19T21:01:53Z trocado joined #lisp 2017-03-19T21:03:56Z jackdaniel: if you are into this kind of stuff, check https://github.com/rongarret/ergolib (ref operator) 2017-03-19T21:05:33Z aeth: The problem I have with all of these libraries is that they do too much 2017-03-19T21:06:04Z jackdaniel: then rip the useful parts or make them part of quickutils 2017-03-19T21:06:26Z aeth: ref doesn't do what I proposed, though 2017-03-19T21:06:28Z jackdaniel: or write most-positive-fixnum'th libray doing same thing 2017-03-19T21:07:24Z prxq: aeth: I've just joined - could you summarize what you want to achieve? 2017-03-19T21:09:55Z jackdaniel: and if you want reduce things, then just reduce 2017-03-19T21:10:22Z aeth: It looks like ref* does what I suggested, but I don't think it's possible to have a general accessor like that work in CL efficiently. 2017-03-19T21:10:47Z aeth: It looks like it's ultimately implemented via a generic. There goes the efficiency. 2017-03-19T21:10:49Z attila_lendvai joined #lisp 2017-03-19T21:10:57Z attila_lendvai quit (Changing host) 2017-03-19T21:10:57Z attila_lendvai joined #lisp 2017-03-19T21:11:50Z ryanbw quit (Quit: WeeChat 1.7) 2017-03-19T21:13:17Z aeth: Even worse, that library uses setref instead of (setf ref) 2017-03-19T21:16:09Z FakePedro quit (Ping timeout: 258 seconds) 2017-03-19T21:18:40Z libreman quit (Ping timeout: 246 seconds) 2017-03-19T21:19:08Z libreman joined #lisp 2017-03-19T21:22:14Z bariscant joined #lisp 2017-03-19T21:23:47Z nyef: Hrm... (/ 16.0 2.6) => about 6.153. 2017-03-19T21:23:55Z bariscant quit (Client Quit) 2017-03-19T21:24:52Z nyef: Call it six octets to a word, or (+ 32 16) => 48 bit words? 2017-03-19T21:26:58Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-19T21:30:40Z FakePedro joined #lisp 2017-03-19T21:36:51Z Karl_Dscc quit (Remote host closed the connection) 2017-03-19T21:38:14Z fourier` joined #lisp 2017-03-19T21:38:17Z learning quit (Remote host closed the connection) 2017-03-19T21:38:52Z libreman quit (Ping timeout: 260 seconds) 2017-03-19T21:39:30Z learning joined #lisp 2017-03-19T21:39:43Z NitroWheels joined #lisp 2017-03-19T21:41:10Z nowhereman quit (Ping timeout: 264 seconds) 2017-03-19T21:44:57Z o232k quit (Quit: EliteBNC - http://elitebnc.org (Auto-Removal: idle account/not being used)) 2017-03-19T21:46:46Z prxq quit (Remote host closed the connection) 2017-03-19T21:48:45Z mrottenkolber joined #lisp 2017-03-19T21:49:49Z mrottenkolber: So I am in search of a nice bounded multi producer single consumer queue, that can be implemented on top of CAS? Slightly OT but hey maybe somebody has a favorite. 2017-03-19T21:51:43Z varjag: since you can implement a linked list with arbitrary insert on top of cas, it should be possible 2017-03-19T21:52:05Z libreman joined #lisp 2017-03-19T21:52:26Z varjag: in fact you can just use that list 2017-03-19T21:57:12Z nowhereman joined #lisp 2017-03-19T21:59:22Z NitroWheels quit (Quit: Quitting: 6502 is calling me) 2017-03-19T22:02:15Z MoALTz quit (Quit: Leaving) 2017-03-19T22:02:32Z tharugrim quit (Ping timeout: 258 seconds) 2017-03-19T22:03:12Z raynold joined #lisp 2017-03-19T22:06:58Z fourier` quit (Ping timeout: 264 seconds) 2017-03-19T22:08:10Z Mon_Ouie quit (Quit: WeeChat 1.7) 2017-03-19T22:16:43Z hhdave joined #lisp 2017-03-19T22:17:25Z thodg joined #lisp 2017-03-19T22:18:07Z jason_m quit (Quit: Leaving) 2017-03-19T22:22:02Z neoncontrails quit (Remote host closed the connection) 2017-03-19T22:23:45Z PinealGlandOptic quit (Quit: leaving) 2017-03-19T22:24:23Z EvW quit (Ping timeout: 258 seconds) 2017-03-19T22:25:48Z Fare quit (Ping timeout: 240 seconds) 2017-03-19T22:26:40Z mrottenkolber: varjag: I have already implemented a variant vyukov’s MPSC queue which is roughly what you describe, but I am stuck on how to adapt it to be bounded 2017-03-19T22:27:30Z mrottenkolber: i.e. if there is an obvious way to turn an unbounded queue into a bounded one it eludes me 2017-03-19T22:28:09Z shka quit (Ping timeout: 260 seconds) 2017-03-19T22:29:15Z EvW joined #lisp 2017-03-19T22:30:45Z papachan joined #lisp 2017-03-19T22:33:04Z nmg quit (Remote host closed the connection) 2017-03-19T22:34:04Z nowhereman quit (Remote host closed the connection) 2017-03-19T22:34:04Z jason_m joined #lisp 2017-03-19T22:34:27Z nowhereman joined #lisp 2017-03-19T22:37:23Z stepnem quit (Ping timeout: 268 seconds) 2017-03-19T22:45:04Z papachan quit (Ping timeout: 260 seconds) 2017-03-19T22:48:27Z Guest50300 quit (Quit: /* ^/) 2017-03-19T22:49:04Z josh_2 quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-19T22:52:08Z Fare joined #lisp 2017-03-19T22:52:46Z rumbler31 joined #lisp 2017-03-19T22:54:05Z defaultxr quit (Ping timeout: 240 seconds) 2017-03-19T22:54:22Z josh_2 joined #lisp 2017-03-19T22:58:06Z papachan joined #lisp 2017-03-19T23:00:12Z iago quit (Remote host closed the connection) 2017-03-19T23:00:54Z iago joined #lisp 2017-03-19T23:03:44Z gingerale quit (Read error: Connection reset by peer) 2017-03-19T23:04:21Z grublet quit (Quit: Leaving) 2017-03-19T23:04:44Z papachan quit (Ping timeout: 260 seconds) 2017-03-19T23:05:47Z gargaml quit (Ping timeout: 258 seconds) 2017-03-19T23:06:47Z rumbler31 quit (Remote host closed the connection) 2017-03-19T23:07:39Z wildlander quit (Quit: Saliendo) 2017-03-19T23:12:28Z daviid quit (Ping timeout: 240 seconds) 2017-03-19T23:13:09Z setheus quit (Ping timeout: 268 seconds) 2017-03-19T23:14:06Z setheus joined #lisp 2017-03-19T23:15:00Z thodg quit (Ping timeout: 260 seconds) 2017-03-19T23:24:22Z Lord_of_Life quit (Changing host) 2017-03-19T23:24:22Z Lord_of_Life joined #lisp 2017-03-19T23:24:22Z Lord_of_Life quit (Changing host) 2017-03-19T23:24:22Z Lord_of_Life joined #lisp 2017-03-19T23:24:46Z sword quit (Remote host closed the connection) 2017-03-19T23:25:58Z sword joined #lisp 2017-03-19T23:27:09Z Kaisyu joined #lisp 2017-03-19T23:27:13Z wtetzner quit (Remote host closed the connection) 2017-03-19T23:29:28Z Fare quit (Ping timeout: 260 seconds) 2017-03-19T23:30:08Z orivej joined #lisp 2017-03-19T23:31:37Z pjb: clisp beta: http://paste.lisp.org/display/341832 2017-03-19T23:31:49Z varjag quit (Ping timeout: 240 seconds) 2017-03-19T23:32:07Z quazimodo joined #lisp 2017-03-19T23:32:26Z warweasle quit (Quit: be back later) 2017-03-19T23:32:32Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-19T23:32:36Z Sye joined #lisp 2017-03-19T23:33:41Z Sye quit (Quit: AndroidIrc Disconnecting) 2017-03-19T23:35:00Z dpg joined #lisp 2017-03-19T23:35:33Z mrottenkolber: glad to see clisp kicking 2017-03-19T23:36:02Z krwq quit (Remote host closed the connection) 2017-03-19T23:45:07Z Fare joined #lisp 2017-03-19T23:45:28Z pjb quit (Quit: Good night!) 2017-03-19T23:50:05Z vsync quit (Read error: Connection reset by peer) 2017-03-19T23:50:44Z vsync joined #lisp 2017-03-19T23:54:53Z vydd quit (Remote host closed the connection) 2017-03-19T23:55:06Z vydd joined #lisp 2017-03-19T23:55:06Z vydd quit (Changing host) 2017-03-19T23:55:06Z vydd joined #lisp 2017-03-19T23:55:37Z ryanbw joined #lisp 2017-03-19T23:55:38Z vydd quit (Remote host closed the connection) 2017-03-20T00:02:24Z Jesin quit (Quit: Leaving) 2017-03-20T00:03:00Z Jesin joined #lisp 2017-03-20T00:07:05Z Fare quit (Ping timeout: 240 seconds) 2017-03-20T00:08:39Z mishoo quit (Ping timeout: 268 seconds) 2017-03-20T00:10:04Z pve quit (Ping timeout: 260 seconds) 2017-03-20T00:10:35Z hhdave quit (Quit: hhdave) 2017-03-20T00:15:45Z prole quit (Remote host closed the connection) 2017-03-20T00:17:00Z Lord_of_Life quit (Excess Flood) 2017-03-20T00:18:28Z vibs29 quit (Ping timeout: 260 seconds) 2017-03-20T00:21:28Z Lord_of_Life joined #lisp 2017-03-20T00:23:02Z vibs29 joined #lisp 2017-03-20T00:24:15Z trocado quit (Remote host closed the connection) 2017-03-20T00:31:19Z edgar-rft joined #lisp 2017-03-20T00:32:42Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-03-20T00:34:23Z daviid joined #lisp 2017-03-20T00:37:03Z mrottenkolber: by the way, in case I do want to do C-esque modulus addition, is there an alternative to (mod (+ x y) d)? 2017-03-20T00:38:31Z nyef: Use LOGAND or LDB ? 2017-03-20T00:38:36Z nyef: Or MASK-FIELD ? 2017-03-20T00:39:20Z nyef: Note that using LOGAND and constraining the result to a "natural" width means that SBCL can be somewhat intelligent about optimizing the computation. 2017-03-20T00:41:10Z mrottenkolber: wait, how do I go from logand to addition? (don’t have a CS degree) 2017-03-20T00:41:32Z nyef: What is (logand #xff (+ x y))? 2017-03-20T00:43:34Z mrottenkolber: oh right... 2017-03-20T00:44:30Z mrottenkolber: so what’s the difference between (logand max (+ x y)) and (mod (+ x y) (1+ max)) then? 2017-03-20T00:45:27Z shifty joined #lisp 2017-03-20T00:47:09Z nyef: The logand version only works for a power-of-two-minus-one, but is also far, far more likely to trigger compiler optimizations. 2017-03-20T00:47:34Z mrottenkolber: riiiight 2017-03-20T00:47:42Z nyef: ... And LOGAND operates in terms of integers, while MOD operates in terms of non-complex ("real") numbers. 2017-03-20T00:48:16Z mrottenkolber: super awkward how weak I am in the binary deparment 2017-03-20T00:48:35Z mrottenkolber: thanks for the help 2017-03-20T00:48:46Z nyef: Not a problem. Good luck with whatever it is that you're doing. 2017-03-20T00:51:06Z mrottenkolber: porting CAS based queue algorithms to CCL for experimenting with Erlangen, possibly to find out that ccl::conditional-store has issues, then trying to work on that? 2017-03-20T00:51:17Z mrottenkolber: just the usual learning by doing 2017-03-20T00:56:28Z vydd joined #lisp 2017-03-20T00:56:50Z klltkr joined #lisp 2017-03-20T00:58:29Z EvW quit (Ping timeout: 258 seconds) 2017-03-20T01:01:10Z vydd quit (Ping timeout: 259 seconds) 2017-03-20T01:07:18Z FakePedro quit (Ping timeout: 258 seconds) 2017-03-20T01:07:41Z shdeng joined #lisp 2017-03-20T01:10:03Z neoncontrails joined #lisp 2017-03-20T01:16:22Z aeth: I'm getting roughly equivalent performance 2017-03-20T01:17:00Z rml joined #lisp 2017-03-20T01:17:37Z aeth: disassembly is identical in SBCL 2017-03-20T01:18:29Z aeth: (defun foo (x y) (declare (integer x y)) (mod (+ x y) (1+ 255))) (defun foo* (x y) (declare (integer x y)) (logand #xff (+ x y))) 2017-03-20T01:18:53Z sjl quit (Read error: Connection reset by peer) 2017-03-20T01:18:54Z aeth: I'm getting identical disassembly 2017-03-20T01:19:16Z nyef: SBCL probably has an integer-division-by-power-of-2-strength-reduction transform, and from there the modular arithmetic optimizations would kick in. 2017-03-20T01:19:50Z aeth: Little cleverness should be done at the compiler level imo. 2017-03-20T01:21:19Z aeth: SBCL actually doesn't have all the clever little micro-optimizations that can be done with parts of the CL language. It's fast but CL can definitely be made to be much faster. 2017-03-20T01:22:18Z nyef: Mmm. I've added some cleverness to SBCL myself, and I know of a couple of places where it isn't particularly excellent in terms of optimization. 2017-03-20T01:24:25Z aeth: Well, one thing that was talked about a few weeks ago is (remove-if-not #'foo ...) vs. (remove-if (complement #'foo) ...) being different, rather than having the equivalent disassembly that many assume. I'm not sure if that's possible, though. 2017-03-20T01:25:01Z nyef: That's... plausible. 2017-03-20T01:25:48Z nyef: For them to be fully equivalent in terms of code generated, I'd expect remove-if-not and complement to be open-coded, and I don't know that they are. 2017-03-20T01:26:17Z aeth: I suppose it would have to be done in all possible foo-not functions that are deprecated (or is only remove-if-not deprecated?) 2017-03-20T01:26:21Z mrottenkolber: does anyone have a copy of "Efficient Hardware Arithmetic in Common Lisp", http://jcsu.jesus.cam.ac.uk/~csr21/papers/modular/modular.pdf seems down 2017-03-20T01:27:30Z mrottenkolber: nvm google cache has it 2017-03-20T01:28:06Z FreeBirdLjj joined #lisp 2017-03-20T01:28:15Z aeth: I think all the foo-if-not functions are deprecated. It looks like there are twelve of them: http://l1sp.org/search?q=%2Dif%2Dnot 2017-03-20T01:32:46Z FreeBirdLjj quit (Ping timeout: 264 seconds) 2017-03-20T01:32:49Z rrrrrrrrk joined #lisp 2017-03-20T01:33:14Z rrrrrrrrk: hi all 2017-03-20T01:33:49Z snits quit (Ping timeout: 246 seconds) 2017-03-20T01:35:31Z rrrrrrrrk quit (Client Quit) 2017-03-20T01:36:18Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-20T01:41:10Z rml quit (Ping timeout: 246 seconds) 2017-03-20T01:41:25Z defaultxr joined #lisp 2017-03-20T01:46:08Z rml joined #lisp 2017-03-20T01:53:50Z FreeBirdLjj joined #lisp 2017-03-20T01:54:06Z defaultxr quit (Ping timeout: 268 seconds) 2017-03-20T01:54:22Z remote1 joined #lisp 2017-03-20T01:54:34Z nowhereman quit (Remote host closed the connection) 2017-03-20T01:55:00Z nowhereman joined #lisp 2017-03-20T01:58:29Z TDT joined #lisp 2017-03-20T02:02:31Z dpg quit (Remote host closed the connection) 2017-03-20T02:04:14Z remote1 left #lisp 2017-03-20T02:04:54Z Tex_Nick joined #lisp 2017-03-20T02:06:01Z nowhereman quit (Remote host closed the connection) 2017-03-20T02:06:58Z remote1 joined #lisp 2017-03-20T02:14:36Z ahungry quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2017-03-20T02:16:14Z rocx is now known as world 2017-03-20T02:16:19Z world is now known as rocx 2017-03-20T02:16:43Z remote1 left #lisp 2017-03-20T02:19:46Z nowhereman joined #lisp 2017-03-20T02:21:30Z TDT quit (Quit: TDT) 2017-03-20T02:23:28Z wtetzner joined #lisp 2017-03-20T02:25:48Z loke: aeth: what does “deprecated” even mean when there is no new standard coming, ever? 2017-03-20T02:27:21Z omilu joined #lisp 2017-03-20T02:32:02Z pillton: If time is infinite than there are infinite common lisp standards. 2017-03-20T02:34:56Z jameser joined #lisp 2017-03-20T02:45:00Z compro quit (Ping timeout: 260 seconds) 2017-03-20T02:48:59Z defaultxr joined #lisp 2017-03-20T02:49:31Z aeth: loke: That's for the next standards committee to decide. 2017-03-20T02:49:39Z compro joined #lisp 2017-03-20T02:51:13Z remote1 joined #lisp 2017-03-20T02:53:41Z loke: aeth: Yeah, that'll never happen. :-) And even if it did, there is no way the *-if-not functions would be removed. 2017-03-20T02:54:07Z loke: pillton: That is only true if the time between CL standards in finite. 2017-03-20T02:55:59Z compro quit (Read error: Connection reset by peer) 2017-03-20T02:57:13Z compro joined #lisp 2017-03-20T02:57:24Z vydd joined #lisp 2017-03-20T02:58:40Z learning quit (Read error: No route to host) 2017-03-20T02:58:40Z learning_ joined #lisp 2017-03-20T02:58:52Z smokeink joined #lisp 2017-03-20T03:01:48Z vydd quit (Ping timeout: 260 seconds) 2017-03-20T03:06:36Z damke quit (Disconnected by services) 2017-03-20T03:06:37Z damke_ joined #lisp 2017-03-20T03:06:45Z damke_ is now known as damke 2017-03-20T03:08:44Z daviid quit (Ping timeout: 260 seconds) 2017-03-20T03:09:38Z wtetzner quit (Remote host closed the connection) 2017-03-20T03:15:35Z damke quit (Disconnected by services) 2017-03-20T03:15:36Z damke_ joined #lisp 2017-03-20T03:15:44Z damke_ is now known as damke 2017-03-20T03:19:57Z compro quit (Ping timeout: 240 seconds) 2017-03-20T03:22:13Z neoncontrails quit (Remote host closed the connection) 2017-03-20T03:27:44Z pillton: loke: I assume optimistic people. 2017-03-20T03:27:48Z pillton: :) 2017-03-20T03:43:49Z daviid joined #lisp 2017-03-20T03:48:37Z edgar-rft: loke: what exactly is the difference between "no new standard coming ever" and "infinite time between CL standards"? To me both seems to be the same. 2017-03-20T03:58:08Z vydd joined #lisp 2017-03-20T03:58:48Z edgar-rft quit (Quit: edgar-rft) 2017-03-20T04:00:19Z aeth: What if the time between CL standards is countably infinite? 2017-03-20T04:01:13Z ryanwatk` joined #lisp 2017-03-20T04:02:46Z vydd quit (Ping timeout: 240 seconds) 2017-03-20T04:02:56Z ryanwatkins quit (Ping timeout: 260 seconds) 2017-03-20T04:03:06Z mathrick joined #lisp 2017-03-20T04:04:34Z Bike: but time is continuous. but quantum mechanics says it isn't. but special relativity says the concept of a time between events is difficult. but bla bla bla 2017-03-20T04:06:39Z josh_2 quit (Remote host closed the connection) 2017-03-20T04:10:46Z otjura quit (Ping timeout: 240 seconds) 2017-03-20T04:13:51Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-20T04:18:12Z compro joined #lisp 2017-03-20T04:19:00Z compro` joined #lisp 2017-03-20T04:22:36Z compro quit (Ping timeout: 256 seconds) 2017-03-20T04:23:27Z compro` quit (Ping timeout: 240 seconds) 2017-03-20T04:25:01Z compro`` joined #lisp 2017-03-20T04:25:34Z compro`` quit (Read error: Connection reset by peer) 2017-03-20T04:28:36Z nyef: ... Wait, quantum mechanics calls for quantized *time*? What? 2017-03-20T04:30:34Z angavrilov joined #lisp 2017-03-20T04:31:36Z Bike: well, if there's a quantized length, that's a quantized time too 2017-03-20T04:32:33Z compro`` joined #lisp 2017-03-20T04:32:38Z compro`` quit (Read error: Connection reset by peer) 2017-03-20T04:32:40Z nyef: Okay, my QM-fu is clearly weak. What quantized length? 2017-03-20T04:33:03Z Bike: i think you are attributing more seriousness to me than is deserved 2017-03-20T04:33:12Z Bike: but i was thinking planck length 2017-03-20T04:33:59Z FreeBirdLjj joined #lisp 2017-03-20T04:34:15Z rjid joined #lisp 2017-03-20T04:35:56Z nyef: ... Which some quick digging shows to be a bullshit concept not associated with anything "real". 2017-03-20T04:36:05Z Bike: harsh. 2017-03-20T04:36:12Z nyef: Yup! 2017-03-20T04:38:06Z nyef: It's basically a measure of the bounds of the correspondance limit. 2017-03-20T04:38:39Z Bike: is that so? that is pretty bullshit then. 2017-03-20T04:40:23Z nyef: Basically, below plank length, classical gravity theories and whatnot stop working. 2017-03-20T04:40:45Z Bike: yeah, yeah 2017-03-20T04:41:01Z Bike: i never had quantum and i barely had relativity in school, so i'm basically chopra level 2017-03-20T04:42:18Z rjid: :) 2017-03-20T04:42:26Z nyef: You're probably still operating at a level higher than I am for this stuff. 2017-03-20T04:42:35Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-20T04:45:16Z mrottenkolber quit (Ping timeout: 240 seconds) 2017-03-20T04:48:25Z neoncontrails joined #lisp 2017-03-20T04:51:25Z damke quit (Disconnected by services) 2017-03-20T04:51:26Z damke_ joined #lisp 2017-03-20T04:51:34Z damke_ is now known as damke 2017-03-20T04:53:05Z tmtwd joined #lisp 2017-03-20T04:53:11Z tmtwd quit (Client Quit) 2017-03-20T05:02:19Z nikivi quit (Quit: ZNC 1.6.5 - http://znc.in) 2017-03-20T05:09:57Z _rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-20T05:11:21Z edgar-rft joined #lisp 2017-03-20T05:15:11Z beach: Good morning everyone! 2017-03-20T05:15:41Z pillton: G'day beach. 2017-03-20T05:17:16Z daviid quit (Ping timeout: 240 seconds) 2017-03-20T05:20:17Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-20T05:22:14Z Harag quit (Quit: Harag) 2017-03-20T05:24:10Z rjid quit (Ping timeout: 260 seconds) 2017-03-20T05:26:33Z zhivago joined #lisp 2017-03-20T05:29:01Z damke quit (Disconnected by services) 2017-03-20T05:29:02Z damke_ joined #lisp 2017-03-20T05:29:10Z damke_ is now known as damke 2017-03-20T05:29:56Z Karl_Dscc joined #lisp 2017-03-20T05:31:27Z krwq joined #lisp 2017-03-20T05:35:25Z JuanDaugherty joined #lisp 2017-03-20T05:35:47Z drmeister: Hello. 2017-03-20T05:36:14Z beach: Hello drmeister. 2017-03-20T05:36:16Z drmeister: So I ran into a fundamental flaw in Linux and OS X wrt integrating C++ and Common Lisp. 2017-03-20T05:36:31Z beach: What's that? 2017-03-20T05:36:45Z drmeister: It doesn't appear to be possible to integrate unix signal handlers with C++ exception handling. 2017-03-20T05:37:04Z drmeister: I can't throw a C++ exception from a signal handler. 2017-03-20T05:37:45Z Bike: why do you need to do that? 2017-03-20T05:38:07Z fortitude_ quit (Ping timeout: 246 seconds) 2017-03-20T05:38:47Z drmeister: When interrupting a thread - there are times when it needs to unwind the stack from the interrupt hander up to a level outside of the interrupt handler. 2017-03-20T05:40:12Z White_Flame: I presume unwinds when Clasp conditions are raised are implemented with C++ exceptions? 2017-03-20T05:40:37Z White_Flame: I remember back in my C++ days, exceptions were very brittle when it comes to OS integration 2017-03-20T05:40:43Z drmeister: Yes, all unwinds are C++ exceptions. It's the only way to work with RAII and call destructors properly. 2017-03-20T05:41:45Z pillton: I thought thread interruption was something from the dark side? 2017-03-20T05:42:30Z Bike: i think drmeister is using it so that swank threads don't have a wasteful poll loop 2017-03-20T05:42:54Z drmeister: Yeah - to enter the debugger. 2017-03-20T05:43:07Z pillton: What is wasteful about poll loops? 2017-03-20T05:43:32Z drmeister: I think its more than just wasteful poll loops though. 2017-03-20T05:44:09Z Bike: 400% CPU, i think 2017-03-20T05:44:26Z drmeister: Well, there was that. 2017-03-20T05:45:02Z drmeister: That was a bad timedwait calculation. I fixed that and then had a 75% CPU usage because of inefficiencies in Clasp and Slime. 2017-03-20T05:45:31Z drmeister: stassats "fixed" Slime so that it doesn't poll a condition-variable every 0.2 seconds and I fixed some stuff in Clasp. 2017-03-20T05:45:42Z drmeister: Now Clasp uses 0% CPU when idle in Slime. 2017-03-20T05:46:36Z drmeister: Sadly though C-c C-c and M-C-x stopped working because Clasp doesn't do interrupt-process properly because I stalled in implementing it when I realized that signal handlers and C++ exceptions were incompatible. 2017-03-20T05:47:49Z drmeister: Thinking about it though. If an error happens in Clasp, sldb will come up and that doesn't involve interrupting the thread. In that case there is no problem with restarts or unwinding the stack. 2017-03-20T05:48:12Z drmeister: It's using Control-c/SIGINT to interrupt a thread - that's the problem. 2017-03-20T05:49:22Z drmeister: I'd have to insert a safe-point/poll in any loop that I want to Control-C out of. 2017-03-20T05:49:43Z wtetzner joined #lisp 2017-03-20T05:52:47Z drmeister: Control-c could interrupt a loop and bring up sldb - but I can't unwind the stack out of the interrupt handler. 2017-03-20T05:52:54Z drmeister: I think I just have to live with this. 2017-03-20T05:53:10Z damke quit (Ping timeout: 246 seconds) 2017-03-20T05:54:02Z damke joined #lisp 2017-03-20T05:54:11Z drmeister: I could set a thread local flag that says 'Control-c was hit' and insert a poll in every loop that I want to Control-c out of. That will be tedious - but I don't see any other way. 2017-03-20T05:54:36Z drmeister: That is my tale of woe. 2017-03-20T05:54:38Z pillton: Can't you modify what you return to after the signal handler finishes? 2017-03-20T05:54:59Z FreeBirdLjj joined #lisp 2017-03-20T05:55:39Z pillton isn't very knowledgeable in the area so is probably asking stupid questions. 2017-03-20T05:55:43Z drmeister: Yes - but calling destructors properly between the interrupt handler and wherever I want to return to is the thing I can't do. 2017-03-20T05:55:52Z wtetzner quit (Ping timeout: 260 seconds) 2017-03-20T05:56:32Z Karl_Dscc quit (Remote host closed the connection) 2017-03-20T05:56:41Z drmeister: Microsoft Windows allows this kind of thing. Not linux or OS X. 2017-03-20T05:58:13Z drmeister: I'm tossing this out there in case anyone else has any ideas. I'd love to hear them. 2017-03-20T05:58:25Z drmeister: But I gotta head to bed - I'll check the logs. 2017-03-20T05:59:08Z vydd joined #lisp 2017-03-20T06:00:08Z defaultxr quit (Ping timeout: 240 seconds) 2017-03-20T06:03:48Z vydd quit (Ping timeout: 260 seconds) 2017-03-20T06:04:34Z compro` joined #lisp 2017-03-20T06:04:38Z compro` quit (Read error: Connection reset by peer) 2017-03-20T06:06:35Z shdeng quit (Ping timeout: 240 seconds) 2017-03-20T06:07:20Z dec0n joined #lisp 2017-03-20T06:07:46Z shka joined #lisp 2017-03-20T06:09:14Z jackdaniel: drmeister: you may have signal servicing thread which handles signals scheduled by an actual handler (which returns as fast as it can) 2017-03-20T06:09:37Z shdeng joined #lisp 2017-03-20T06:09:44Z jackdaniel: in that case you are not in this very sensitive context and exceptions shouldn't interfer too much 2017-03-20T06:12:51Z shdeng quit (Max SendQ exceeded) 2017-03-20T06:13:31Z shdeng joined #lisp 2017-03-20T06:16:50Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-20T06:22:45Z damke quit (Disconnected by services) 2017-03-20T06:22:46Z damke_ joined #lisp 2017-03-20T06:22:54Z damke_ is now known as damke 2017-03-20T06:27:57Z damke quit (Ping timeout: 240 seconds) 2017-03-20T06:28:54Z damke joined #lisp 2017-03-20T06:29:16Z oleo quit (Quit: Leaving) 2017-03-20T06:33:17Z damke quit (Ping timeout: 240 seconds) 2017-03-20T06:34:02Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-20T06:34:24Z neoncontrails quit 2017-03-20T06:40:21Z nowhereman quit (Remote host closed the connection) 2017-03-20T06:40:44Z joergen7 joined #lisp 2017-03-20T06:40:48Z nowhereman joined #lisp 2017-03-20T06:41:05Z FreeBirdLjj joined #lisp 2017-03-20T06:42:53Z joergen7 quit (Client Quit) 2017-03-20T06:45:24Z FreeBirdLjj quit (Ping timeout: 258 seconds) 2017-03-20T06:45:39Z FreeBirdLjj joined #lisp 2017-03-20T06:47:25Z shka quit (Ping timeout: 246 seconds) 2017-03-20T06:53:48Z shdeng quit (Ping timeout: 268 seconds) 2017-03-20T06:54:26Z nowhereman quit (Remote host closed the connection) 2017-03-20T06:54:53Z nowhereman joined #lisp 2017-03-20T06:57:03Z vydd joined #lisp 2017-03-20T06:57:03Z vydd quit (Changing host) 2017-03-20T06:57:03Z vydd joined #lisp 2017-03-20T07:00:36Z damke joined #lisp 2017-03-20T07:03:33Z remote1 quit (Read error: Connection reset by peer) 2017-03-20T07:06:21Z Kamikaze_ joined #lisp 2017-03-20T07:10:45Z shdeng joined #lisp 2017-03-20T07:12:10Z neoncontrails joined #lisp 2017-03-20T07:17:41Z stepnem joined #lisp 2017-03-20T07:18:09Z Kamikaze_ quit (Remote host closed the connection) 2017-03-20T07:23:07Z scymtym quit (Ping timeout: 246 seconds) 2017-03-20T07:29:37Z damke quit (Ping timeout: 240 seconds) 2017-03-20T07:31:00Z mishoo joined #lisp 2017-03-20T07:37:09Z BitPuffin|osx quit (Ping timeout: 258 seconds) 2017-03-20T07:37:47Z flamebeard joined #lisp 2017-03-20T07:40:58Z Tex_Nick left #lisp 2017-03-20T07:42:08Z vydd quit (Remote host closed the connection) 2017-03-20T07:51:37Z yaewa joined #lisp 2017-03-20T07:52:29Z moei quit (Ping timeout: 258 seconds) 2017-03-20T07:58:31Z shka joined #lisp 2017-03-20T08:03:03Z varjag joined #lisp 2017-03-20T08:03:24Z nowhereman quit (Remote host closed the connection) 2017-03-20T08:06:03Z flip214: hmmm, the lotto example from http://www.xach.com/naggum/articles/3063147946409477@naggum.no.html is with gcc -O3 more than twice as fast as with SBCL 1.3.14... 2017-03-20T08:06:22Z flip214: either gcc results got faster, or sbcl got slower ;) 2017-03-20T08:06:35Z MrWoohoo quit (Ping timeout: 240 seconds) 2017-03-20T08:07:24Z [0x8b30cc] joined #lisp 2017-03-20T08:07:24Z [0x8b30cc] quit (Changing host) 2017-03-20T08:07:24Z [0x8b30cc] joined #lisp 2017-03-20T08:07:32Z vydd joined #lisp 2017-03-20T08:12:03Z jfb4 quit (Ping timeout: 260 seconds) 2017-03-20T08:13:45Z jfb4 joined #lisp 2017-03-20T08:14:08Z Beetny joined #lisp 2017-03-20T08:15:02Z vydd quit 2017-03-20T08:15:08Z o1e9 joined #lisp 2017-03-20T08:25:40Z krwq quit (Remote host closed the connection) 2017-03-20T08:29:58Z gingerale joined #lisp 2017-03-20T08:32:07Z attila_lendvai joined #lisp 2017-03-20T08:32:07Z attila_lendvai quit (Changing host) 2017-03-20T08:32:07Z attila_lendvai joined #lisp 2017-03-20T08:32:13Z scymtym joined #lisp 2017-03-20T08:32:23Z [0x8b30cc] quit (Quit: Leaving) 2017-03-20T08:39:35Z hugo joined #lisp 2017-03-20T08:45:23Z gingerale quit (Ping timeout: 258 seconds) 2017-03-20T08:45:26Z Bike quit (Quit: leaving) 2017-03-20T08:47:59Z MoALTz joined #lisp 2017-03-20T08:48:47Z _cosmonaut_ quit (Quit: Leaving.) 2017-03-20T08:49:54Z wtetzner joined #lisp 2017-03-20T08:54:22Z wtetzner quit (Ping timeout: 264 seconds) 2017-03-20T08:59:53Z hhdave joined #lisp 2017-03-20T09:00:50Z hhdave quit (Client Quit) 2017-03-20T09:03:27Z NeverDie quit (Ping timeout: 240 seconds) 2017-03-20T09:04:21Z bariscant joined #lisp 2017-03-20T09:05:34Z NeverDie joined #lisp 2017-03-20T09:06:12Z orivej quit (Read error: Connection reset by peer) 2017-03-20T09:06:25Z gargaml joined #lisp 2017-03-20T09:07:14Z Younder quit (Remote host closed the connection) 2017-03-20T09:08:02Z hhdave joined #lisp 2017-03-20T09:10:57Z ogamita joined #lisp 2017-03-20T09:12:57Z bariscant quit (Ping timeout: 240 seconds) 2017-03-20T09:15:13Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-20T09:19:28Z _cosmonaut_ joined #lisp 2017-03-20T09:20:00Z FreeBirdLjj joined #lisp 2017-03-20T09:20:33Z orivej joined #lisp 2017-03-20T09:24:53Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-20T09:25:36Z bariscant joined #lisp 2017-03-20T09:26:18Z arbv joined #lisp 2017-03-20T09:27:20Z Amplituhedron joined #lisp 2017-03-20T09:30:24Z nirved joined #lisp 2017-03-20T09:36:33Z FakePedro joined #lisp 2017-03-20T09:39:57Z Harag joined #lisp 2017-03-20T09:40:35Z FakePedro quit (Client Quit) 2017-03-20T09:45:27Z sword quit (Ping timeout: 240 seconds) 2017-03-20T09:53:16Z eSVG quit (Ping timeout: 246 seconds) 2017-03-20T10:00:05Z lvo joined #lisp 2017-03-20T10:01:33Z gacepa joined #lisp 2017-03-20T10:05:34Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-20T10:06:30Z bariscant quit (Quit: Leaving) 2017-03-20T10:07:15Z damke joined #lisp 2017-03-20T10:15:11Z NitroWheels joined #lisp 2017-03-20T10:22:51Z mishoo quit (Ping timeout: 268 seconds) 2017-03-20T10:32:03Z neoncontrails quit (Remote host closed the connection) 2017-03-20T10:32:55Z thodg joined #lisp 2017-03-20T10:35:01Z edgar-rft quit (Quit: edgar-rft) 2017-03-20T10:35:58Z m00natic joined #lisp 2017-03-20T10:38:06Z tharugrim joined #lisp 2017-03-20T10:47:34Z Ven joined #lisp 2017-03-20T10:47:57Z Ven is now known as Guest90000 2017-03-20T10:52:46Z jameser quit (Ping timeout: 240 seconds) 2017-03-20T10:54:29Z raynold quit (Quit: Connection closed for inactivity) 2017-03-20T10:55:14Z araujo joined #lisp 2017-03-20T11:02:53Z shdeng quit (Quit: Leaving) 2017-03-20T11:03:58Z orivej quit (Ping timeout: 264 seconds) 2017-03-20T11:20:47Z mrottenkolber joined #lisp 2017-03-20T11:21:07Z phoe quit (Ping timeout: 246 seconds) 2017-03-20T11:23:02Z jameser joined #lisp 2017-03-20T11:25:07Z mishoo joined #lisp 2017-03-20T11:28:03Z Guest90000 quit (Ping timeout: 260 seconds) 2017-03-20T11:28:28Z edgar-rft joined #lisp 2017-03-20T11:33:58Z sjl joined #lisp 2017-03-20T11:35:58Z mishoo quit (Ping timeout: 258 seconds) 2017-03-20T11:36:13Z DataLinkDroid joined #lisp 2017-03-20T11:36:48Z DataLinkDroid quit (Client Quit) 2017-03-20T11:38:13Z mishoo joined #lisp 2017-03-20T11:43:57Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-20T11:44:42Z drmeister: jackdaniel: My problem is this common scenario: A process is running and taking too long. I hit Control-C and a SIGINT gets sent to the process with an interrupt handler that calls #'break. sldb comes up and lets me inspect things. I decide I want to unwind the stack to above the loop that was taking too long. 2017-03-20T11:45:08Z milanj joined #lisp 2017-03-20T11:45:09Z drmeister: I can't unwind the stack outside of the interrupt handler. 2017-03-20T11:46:13Z jameser joined #lisp 2017-03-20T11:47:14Z jameser quit (Client Quit) 2017-03-20T11:47:17Z jackdaniel: drmeister: in handler you may save, which thread is to be interrupted, and interrupt it from signal handler thread 2017-03-20T11:48:06Z jackdaniel: hrm, scratch that 2017-03-20T11:48:09Z flip214: drmeister: you can't just forcefully break it anyway. 2017-03-20T11:48:21Z flip214: you'll need to run all the cleanup handlers (UNWIND-PROTECT) etc. 2017-03-20T11:49:01Z flip214: so perhaps you'll need to "inject" calling some cleanup-code, that cleans up the caller chain 2017-03-20T11:49:11Z flip214: and then returns to the "main" loop 2017-03-20T11:54:47Z jameser joined #lisp 2017-03-20T11:54:54Z mingus quit (Quit: mingus) 2017-03-20T11:57:17Z ogamita: drmeister: you would need a restart established around the loop. 2017-03-20T11:58:14Z EvW joined #lisp 2017-03-20T11:58:29Z mingus joined #lisp 2017-03-20T11:58:40Z ogamita: or any other non-local exit destination: a block with a closure to return to it, a catch with an object to throw at, a handler with a condition to signal to. 2017-03-20T11:59:56Z ogamita: drmeister: sigint can be distributed to any thread by default. If another thread is interrupted, you will have to "go over" the thread you want to debug. Take this into account. 2017-03-20T12:00:18Z rpg joined #lisp 2017-03-20T12:01:58Z loke___ joined #lisp 2017-03-20T12:03:35Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2017-03-20T12:04:31Z mazoe quit (Read error: Connection reset by peer) 2017-03-20T12:05:43Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-20T12:05:52Z drmeister: I can't unwind to a restart established around the loop from an interrupt handler. It has no way to properly unwind the stack and call destructors when interrupting execution at an arbitrary point. 2017-03-20T12:06:14Z drmeister: It's a fundamental incompatibility between C++ exception handling and unix signal handler.s 2017-03-20T12:07:33Z flip214: drmeister: to interrupt a thread, set its instruction pointer to a cleanup function that knows how to unwind the stack frames. 2017-03-20T12:08:15Z flip214: as you generate the code, you can control whether there's a frame pointer to help you, for example. 2017-03-20T12:08:43Z flip214: see also unw_resume(3) 2017-03-20T12:08:57Z flip214: perhaps that helps you? 2017-03-20T12:09:08Z hhdave quit (Ping timeout: 240 seconds) 2017-03-20T12:09:15Z hhdave_ joined #lisp 2017-03-20T12:09:30Z _cosmonaut_ joined #lisp 2017-03-20T12:09:47Z drmeister: The only way I see to deal with this is from within the interrupt handler, maintain a thread-local queue that is polled from within the loop from a safe-point, and then from the safe-point unwind the stack. It means I need to insert safe points into loops somehow. 2017-03-20T12:10:00Z gacepa quit (Quit: Connection closed for inactivity) 2017-03-20T12:10:46Z jameser joined #lisp 2017-03-20T12:12:37Z drmeister: flip214: This is what I'm saying, there is no cleanup function that knows how to unwind the stack frames. Unwinding the stack in C++ is a very delicate process. It only happens from 'invoke' instructions that are like 'call' but have a second return path that goes through 'landing-pads' that know how to call destructors and unwind the stack. This is how 2017-03-20T12:12:37Z drmeister: RAII works. 2017-03-20T12:13:43Z i5um41ru joined #lisp 2017-03-20T12:13:47Z d4ryus3 joined #lisp 2017-03-20T12:14:57Z drmeister: Interrupting a thread means that after any arbitrary instruction, an interrupt can come in and the stack can be taken over by the interrupt handler. Things can be set up so that the interrupt handler returns to the next instruction, but there is no way to unwind to a frame above that because there is no way to identify an appropriate landing pad to start 2017-03-20T12:14:57Z drmeister: unwinding from. 2017-03-20T12:15:33Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-20T12:15:35Z drmeister: This is generally known. Google "C++ exceptions signal handlers". 2017-03-20T12:16:01Z drmeister: It's a fundamental incompatibility in Unix and C++. 2017-03-20T12:16:16Z shifty quit (Ping timeout: 240 seconds) 2017-03-20T12:16:20Z cibs quit (Ping timeout: 256 seconds) 2017-03-20T12:16:25Z flip214: well, how about just _killing_ the thread and running the cleanup fns in another (newly created) thread? 2017-03-20T12:16:27Z d4ryus2 quit (Ping timeout: 240 seconds) 2017-03-20T12:16:38Z flip214: of course, easier said than done... 2017-03-20T12:16:47Z flip214: but it doesn't sound as if there was a 100% solution anyway. 2017-03-20T12:16:47Z drmeister: That will leak resources. 2017-03-20T12:16:52Z flip214: what about FFI calls? 2017-03-20T12:17:08Z flip214: drmeister: not if the (auto-generated!) cleanup functions take care of them. 2017-03-20T12:17:23Z shka: flip214: order of destruction is important 2017-03-20T12:17:40Z shka: and you have to deal with synchronization primitives 2017-03-20T12:17:49Z flip214: shka: yes, of course. 2017-03-20T12:17:53Z shka: and those are using RAII 2017-03-20T12:17:56Z cibs joined #lisp 2017-03-20T12:18:22Z shka: some may break if are destroyed on different thread 2017-03-20T12:18:42Z shka: overall, I don't think this will work 2017-03-20T12:19:37Z shka: drmeister: it almost sounds like you need to extend compiler 2017-03-20T12:19:48Z shka: that's no good 2017-03-20T12:20:16Z ogamita: drmeister: I don't understand why there would be an incompatibility between unix signal handlers and C++ exception handling. 2017-03-20T12:20:56Z hhdave joined #lisp 2017-03-20T12:21:05Z ogamita: drmeister: Also, if you handle the signal in a specific thread, you reduce the problem to some thread-thread communication. 2017-03-20T12:22:29Z hhdave_ quit (Ping timeout: 268 seconds) 2017-03-20T12:23:57Z jameser joined #lisp 2017-03-20T12:25:26Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-20T12:25:26Z shka: ogamita: on which thread? 2017-03-20T12:25:48Z gingerale joined #lisp 2017-03-20T12:25:55Z jackdaniel: shka: special thread for handling signals (created for that very purpose) 2017-03-20T12:25:58Z ogamita: I guess you would create a specific thread to handle the signals. 2017-03-20T12:26:05Z jackdaniel: yes, ECL goes that way 2017-03-20T12:26:16Z shka: jackdaniel: but you need to handle stack on other thread 2017-03-20T12:26:19Z ogamita: Given the restrictions on what you can do in a signal handler, this thread would be a trampoline to dispatch and process signals. 2017-03-20T12:26:23Z shka: aka unwind 2017-03-20T12:26:32Z shka: but you don't even know where to 2017-03-20T12:27:03Z jackdaniel: shka: check out src/c/unixint.d comment at the top if you are interested in details 2017-03-20T12:27:33Z shka: probabbly i should go back to work instead :D 2017-03-20T12:27:43Z shka: but i will check it out eventually 2017-03-20T12:27:44Z jameser quit (Client Quit) 2017-03-20T12:37:00Z ays joined #lisp 2017-03-20T12:37:16Z ays quit (Remote host closed the connection) 2017-03-20T12:40:08Z EvW quit (Ping timeout: 256 seconds) 2017-03-20T12:40:54Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-20T12:41:58Z NitroWheels quit (Ping timeout: 246 seconds) 2017-03-20T12:42:35Z okflo joined #lisp 2017-03-20T12:42:46Z EvW joined #lisp 2017-03-20T12:44:04Z cibs quit (Ping timeout: 246 seconds) 2017-03-20T12:44:44Z i5um41ru quit (Quit: Lost terminal) 2017-03-20T12:46:06Z cibs joined #lisp 2017-03-20T12:46:13Z drmeister: Thanks everyone for the feedback. I've been mulling this over and reading up on it for a week. I just wanted to get some input from lispers on it. 2017-03-20T12:47:23Z Beetny quit (Ping timeout: 260 seconds) 2017-03-20T12:56:21Z shka: flip214: probabbly somehow managed to reduce cost of recursive functions 2017-03-20T12:59:05Z mishoo quit (Ping timeout: 240 seconds) 2017-03-20T12:59:05Z attila_lendvai joined #lisp 2017-03-20T13:00:08Z sjl quit (Ping timeout: 240 seconds) 2017-03-20T13:01:48Z TDT joined #lisp 2017-03-20T13:04:07Z knicklux joined #lisp 2017-03-20T13:04:30Z damke quit (Disconnected by services) 2017-03-20T13:04:31Z damke_ joined #lisp 2017-03-20T13:04:39Z damke_ is now known as damke 2017-03-20T13:13:03Z damke quit (Ping timeout: 268 seconds) 2017-03-20T13:15:22Z rml quit (Remote host closed the connection) 2017-03-20T13:16:38Z wheelsucker quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2017-03-20T13:17:35Z yeticry_ quit (Ping timeout: 240 seconds) 2017-03-20T13:18:36Z yeticry joined #lisp 2017-03-20T13:19:28Z EvW quit (Ping timeout: 258 seconds) 2017-03-20T13:20:30Z warweasle joined #lisp 2017-03-20T13:23:15Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2017-03-20T13:24:57Z al-damiri joined #lisp 2017-03-20T13:26:12Z cromachina quit (Read error: Connection reset by peer) 2017-03-20T13:26:31Z dwrngr: The way that letter is written I wouldn't expect anything in it to be accurate, even in 1997 :P 2017-03-20T13:26:42Z dwrngr left #lisp 2017-03-20T13:28:44Z eSVG joined #lisp 2017-03-20T13:29:08Z rpg_ joined #lisp 2017-03-20T13:29:22Z daemoz joined #lisp 2017-03-20T13:29:34Z damke joined #lisp 2017-03-20T13:30:55Z sjl joined #lisp 2017-03-20T13:32:46Z _cosmonaut_ joined #lisp 2017-03-20T13:33:00Z lvo quit (Remote host closed the connection) 2017-03-20T13:33:12Z EvW1 joined #lisp 2017-03-20T13:35:49Z BusFactor1 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-20T13:36:26Z _cosmonaut_ quit (Remote host closed the connection) 2017-03-20T13:36:27Z Oladon quit (Read error: Connection reset by peer) 2017-03-20T13:37:47Z Oladon joined #lisp 2017-03-20T13:39:05Z _cosmonaut_ joined #lisp 2017-03-20T13:42:09Z Lord_of_Life quit (Excess Flood) 2017-03-20T13:44:28Z Lord_of_Life joined #lisp 2017-03-20T13:47:28Z orivej joined #lisp 2017-03-20T13:48:08Z EvW1 quit (Ping timeout: 256 seconds) 2017-03-20T13:48:46Z smokeink quit (Ping timeout: 240 seconds) 2017-03-20T13:49:52Z _cosmonaut_ quit (Ping timeout: 246 seconds) 2017-03-20T13:50:43Z _cosmonaut_ joined #lisp 2017-03-20T13:53:44Z nyef: drmeister: I fail to see that C++ exception handlers and unix signal handlers are fundamentally incompatible, though I could easily see the toolset being lazy about adding .eh_frame sections for the entry frame for the signal handler. 2017-03-20T13:55:05Z mrottenkolber quit (Ping timeout: 240 seconds) 2017-03-20T13:55:58Z nyef: drmeister: Which suggests that it might be patchable at runtime, though that way probably lies madness. 2017-03-20T13:57:05Z sjl quit (Ping timeout: 240 seconds) 2017-03-20T14:00:35Z sjl joined #lisp 2017-03-20T14:03:41Z smokeink joined #lisp 2017-03-20T14:03:44Z yaewa quit (Quit: Leaving...) 2017-03-20T14:04:08Z moei joined #lisp 2017-03-20T14:07:19Z mishoo joined #lisp 2017-03-20T14:07:24Z learning joined #lisp 2017-03-20T14:07:39Z tharugrim joined #lisp 2017-03-20T14:07:57Z learning_ quit (Ping timeout: 240 seconds) 2017-03-20T14:10:24Z damke quit (Ping timeout: 268 seconds) 2017-03-20T14:10:34Z hvxgr_ quit (Ping timeout: 264 seconds) 2017-03-20T14:12:19Z hvxgr joined #lisp 2017-03-20T14:14:08Z travv0 joined #lisp 2017-03-20T14:15:00Z Tex_Nick joined #lisp 2017-03-20T14:15:00Z damke joined #lisp 2017-03-20T14:17:59Z ttt72 joined #lisp 2017-03-20T14:24:32Z josh_2 joined #lisp 2017-03-20T14:26:00Z ttt72 quit (Quit: ttt72) 2017-03-20T14:26:05Z BusFactor1 joined #lisp 2017-03-20T14:26:26Z ttt72 joined #lisp 2017-03-20T14:26:30Z CEnnis91 joined #lisp 2017-03-20T14:26:51Z LiamH joined #lisp 2017-03-20T14:27:09Z sword joined #lisp 2017-03-20T14:28:12Z dyelar joined #lisp 2017-03-20T14:28:32Z daviid joined #lisp 2017-03-20T14:29:36Z Ven joined #lisp 2017-03-20T14:29:59Z Ven is now known as Guest60921 2017-03-20T14:30:32Z ttt72 quit (Client Quit) 2017-03-20T14:30:57Z ttt72 joined #lisp 2017-03-20T14:34:27Z damke quit (Ping timeout: 268 seconds) 2017-03-20T14:39:58Z jibanes quit (Ping timeout: 258 seconds) 2017-03-20T14:41:47Z jibanes joined #lisp 2017-03-20T14:42:57Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-03-20T14:43:35Z gargaml: hi 2017-03-20T14:43:54Z gargaml: is there an equivalent of this in CL http://docs.racket-lang.org/pollen/ ? 2017-03-20T14:44:11Z gargaml: a dsl for document formatting 2017-03-20T14:44:17Z ogamita: There are several. 2017-03-20T14:44:47Z ogamita: Notice how he created it to write a specific webbook. 2017-03-20T14:44:57Z ogamita: Each author writes his own dsl :-) 2017-03-20T14:45:07Z ogamita: It's so easy… 2017-03-20T14:45:32Z gargaml: true, I'd like to start a blog generator on top of such a tool 2017-03-20T14:45:46Z DeadTrickster joined #lisp 2017-03-20T14:46:30Z gargaml: so I was just looking for a simple package doing the basics 2017-03-20T14:46:39Z gargaml: but ok I'll just add mine :-) 2017-03-20T14:47:27Z damke joined #lisp 2017-03-20T14:50:53Z rippa joined #lisp 2017-03-20T14:52:40Z ttt72 quit (Quit: ttt72) 2017-03-20T14:52:57Z damke quit (Ping timeout: 268 seconds) 2017-03-20T14:53:05Z ttt72 joined #lisp 2017-03-20T14:55:31Z ttt72 quit (Client Quit) 2017-03-20T14:55:56Z ttt72 joined #lisp 2017-03-20T14:56:58Z BitPuffin|osx joined #lisp 2017-03-20T14:57:48Z defaultxr joined #lisp 2017-03-20T14:58:40Z dec0n quit (Read error: Connection reset by peer) 2017-03-20T14:58:42Z ogamita: gargaml: IIRC, PCL was written with such a DSL. it should be available in some git repo somewhere. 2017-03-20T15:01:44Z yeticry_ joined #lisp 2017-03-20T15:04:03Z phoe_ quit (Ping timeout: 268 seconds) 2017-03-20T15:04:08Z yeticry quit (Ping timeout: 240 seconds) 2017-03-20T15:04:38Z cibs quit (Ping timeout: 256 seconds) 2017-03-20T15:06:09Z cibs joined #lisp 2017-03-20T15:06:32Z yeticry_ quit (Ping timeout: 260 seconds) 2017-03-20T15:07:01Z yeticry joined #lisp 2017-03-20T15:08:32Z orivej quit (Remote host closed the connection) 2017-03-20T15:09:46Z orivej joined #lisp 2017-03-20T15:10:11Z oleo joined #lisp 2017-03-20T15:14:13Z mathrick quit (Ping timeout: 246 seconds) 2017-03-20T15:16:53Z leo_song quit (Ping timeout: 252 seconds) 2017-03-20T15:17:22Z solene quit (Remote host closed the connection) 2017-03-20T15:19:10Z yrk joined #lisp 2017-03-20T15:19:49Z yrk quit (Changing host) 2017-03-20T15:19:49Z yrk joined #lisp 2017-03-20T15:20:45Z ttt72 quit (Quit: ttt72) 2017-03-20T15:21:11Z ttt72 joined #lisp 2017-03-20T15:27:31Z eSVG quit (Ping timeout: 246 seconds) 2017-03-20T15:28:28Z Guest60921 quit (Ping timeout: 260 seconds) 2017-03-20T15:30:48Z Amplituhedron quit (Quit: Konversation terminated!) 2017-03-20T15:31:15Z gargaml: ogamita: didn't know that, thanks 2017-03-20T15:31:47Z Ven joined #lisp 2017-03-20T15:32:11Z Ven is now known as Guest72549 2017-03-20T15:36:10Z jack_rabbit joined #lisp 2017-03-20T15:37:58Z flamebeard quit (Quit: Leaving) 2017-03-20T15:39:12Z thodg quit (Ping timeout: 260 seconds) 2017-03-20T15:40:17Z thodg joined #lisp 2017-03-20T15:41:04Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-20T15:41:13Z okflo left #lisp 2017-03-20T15:44:41Z ttt72 quit (Quit: ttt72) 2017-03-20T15:45:07Z ttt72 joined #lisp 2017-03-20T15:45:36Z rocx quit (Remote host closed the connection) 2017-03-20T15:45:58Z knicklux quit (Ping timeout: 264 seconds) 2017-03-20T15:47:36Z daviid quit (Ping timeout: 260 seconds) 2017-03-20T15:47:37Z ttt72 quit (Client Quit) 2017-03-20T15:48:04Z ttt72 joined #lisp 2017-03-20T15:50:37Z ebrasca joined #lisp 2017-03-20T15:51:08Z gigetoo quit (Ping timeout: 240 seconds) 2017-03-20T15:53:41Z ebrasca quit (Remote host closed the connection) 2017-03-20T15:53:50Z ebrasca joined #lisp 2017-03-20T15:54:11Z rogersm joined #lisp 2017-03-20T15:55:32Z Guest72549 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-20T15:58:14Z damke joined #lisp 2017-03-20T15:58:28Z loke___ quit (Ping timeout: 240 seconds) 2017-03-20T15:59:53Z sjl quit (Ping timeout: 260 seconds) 2017-03-20T16:03:03Z ebrasca: Hi 2017-03-20T16:04:47Z shka_ joined #lisp 2017-03-20T16:05:56Z Sigyn quit (Quit: Can we drop the ‘artificial intelligence’? It’s a bit like me calling you a meat-based processing system.) 2017-03-20T16:06:30Z Sigyn joined #lisp 2017-03-20T16:07:51Z Bike joined #lisp 2017-03-20T16:09:32Z ogamita quit (Ping timeout: 260 seconds) 2017-03-20T16:10:02Z leo_song joined #lisp 2017-03-20T16:10:21Z ttt72 quit (Quit: ttt72) 2017-03-20T16:10:39Z rogersm: hi 2017-03-20T16:10:39Z damke quit (Ping timeout: 268 seconds) 2017-03-20T16:10:46Z ttt72 joined #lisp 2017-03-20T16:12:44Z damke joined #lisp 2017-03-20T16:14:03Z ttt72 quit (Client Quit) 2017-03-20T16:14:28Z ttt72 joined #lisp 2017-03-20T16:23:36Z damke quit (Ping timeout: 268 seconds) 2017-03-20T16:23:58Z beach: Hello ebrasca. Hello rogersm. 2017-03-20T16:25:00Z learning quit (Remote host closed the connection) 2017-03-20T16:25:23Z bpanthi joined #lisp 2017-03-20T16:31:45Z ttt72 quit (Quit: ttt72) 2017-03-20T16:32:10Z ttt72 joined #lisp 2017-03-20T16:35:01Z orivej quit (Quit: No Ping reply in 180 seconds.) 2017-03-20T16:35:47Z damke joined #lisp 2017-03-20T16:36:14Z milanj quit (Quit: This computer has gone to sleep) 2017-03-20T16:36:27Z orivej joined #lisp 2017-03-20T16:38:43Z bariscant joined #lisp 2017-03-20T16:39:17Z knicklux joined #lisp 2017-03-20T16:39:37Z sjl joined #lisp 2017-03-20T16:40:19Z sz0 joined #lisp 2017-03-20T16:40:42Z ttt72 quit (Quit: ttt72) 2017-03-20T16:40:58Z bariscant quit (Client Quit) 2017-03-20T16:41:09Z ttt72 joined #lisp 2017-03-20T16:45:17Z damke_ joined #lisp 2017-03-20T16:45:17Z damke quit (Disconnected by services) 2017-03-20T16:45:24Z damke_ is now known as damke 2017-03-20T16:50:08Z galdor joined #lisp 2017-03-20T16:50:44Z damke quit (Ping timeout: 268 seconds) 2017-03-20T16:53:52Z ft quit (Ping timeout: 260 seconds) 2017-03-20T16:54:31Z knicklux quit (Quit: Leaving) 2017-03-20T16:55:06Z ttt72 quit (Quit: ttt72) 2017-03-20T16:55:31Z ttt72 joined #lisp 2017-03-20T17:00:16Z o1e9 quit (Quit: Ex-Chat) 2017-03-20T17:02:19Z whoman joined #lisp 2017-03-20T17:03:34Z whoman: hi! =) i do not wish to distribute my code until my project matures. is creating executables with ECL a good way to hide the code from reversing or introspection ? 2017-03-20T17:04:00Z whoman: (for distributing or sharing test binaries) 2017-03-20T17:05:29Z daemoz: As far as I've seen, that's the best way to make a executable. 2017-03-20T17:05:39Z daemoz: I'm not that experienced, though. 2017-03-20T17:06:56Z beach: whoman: What is your reason for not wanting your code exposed early? There are some great advantages to that, in that you will get suggestions for improvements. 2017-03-20T17:07:03Z whoman: hmm. my intuition tells me that making the lisp into C and then compiling, could really help. but it will still link with ecl.dll and run as VM, i think. i've been googling for a little bit with no clear path 2017-03-20T17:07:26Z galdor left #lisp 2017-03-20T17:07:36Z ft joined #lisp 2017-03-20T17:07:55Z whoman: beach, some superstition, and some nervousness. as i am completely alone in the project (not even a single person in my real life who knows anything about computers) it will aid in creativity immensely 2017-03-20T17:08:14Z ttt72 quit (Quit: ttt72) 2017-03-20T17:08:37Z ttt72 joined #lisp 2017-03-20T17:08:43Z whoman: i am quite sensitive and having the code even backed up on a server that is not mine (google drive, dropbox) is also something i am not sure i would like to happen to my code while i am working on it (superstitions.) 2017-03-20T17:09:19Z beach: Are you afraid that the quality of your code is not high enough? 2017-03-20T17:09:25Z daemoz: whoman: I disagree that keeping your project source private will help with creativity, but that's my angle. 2017-03-20T17:09:43Z daviid joined #lisp 2017-03-20T17:11:20Z beach: I find that any efficient learning experience requires making a fool of oneself by exposing one's naive early attempts. 2017-03-20T17:11:23Z JuanDaugherty: not distributing sources is contrary to the lisp culture. Getting paid for them isn't necessarily and may be a way forward in that it causes you to retain them till they're worth something 2017-03-20T17:12:25Z whoman: daemoz, okay, fair enough. but the thing about creativity is that it is personal. consider my immediate environment as my workspace. guaranteed most if not all of it is disagreeable to what inspires your own personal creativity. 2017-03-20T17:13:38Z daemoz: whoman: well you dont' know anything about me personally so you can't really say, can you? 2017-03-20T17:13:56Z whoman: JuanDaugherty, the massively grandiose concepts of cultural impact or business economics completely aside, this is a hobby project; it is like when i start to develop feelings for a lady. i wont tell any of my friends until it actually develops into something. maybe i am easy or gullible to "jynx"ing myself. 2017-03-20T17:14:04Z whoman: daemoz, precisely! 2017-03-20T17:14:13Z JuanDaugherty: also, you realize the age demographic in this computing culture is skewed beyond the normal burnout, people here have seen stuff 2017-03-20T17:14:32Z whoman: i do not wish to hide any secret formulas. but i am not making a generic utility library. i am making something for myself only. 2017-03-20T17:14:50Z whoman: JuanDaugherty, that is true =) 2017-03-20T17:15:38Z JuanDaugherty: *subculture 2017-03-20T17:15:43Z ttt72 quit (Quit: ttt72) 2017-03-20T17:15:58Z _cosmonaut_ quit (Ping timeout: 264 seconds) 2017-03-20T17:15:59Z jasom: whoman: I don't know how well obfuscated code compiled with ECL is; most lisps with code compiled with e.g. (speed 3) (debug 0) aren't a whol lot more reversable than C, though the presence of the runtime means there's a debugger already there rather than having to attach one. 2017-03-20T17:16:15Z whoman: it is simply "dont read my poem until i am finished" or "dont look at my drawing until it is complete". 2017-03-20T17:17:05Z JuanDaugherty: anyway a solution would be to distribute your thing as an all-in-one with fasls 2017-03-20T17:17:08Z ryanwatk` quit (Ping timeout: 258 seconds) 2017-03-20T17:17:15Z whoman: jasom, mhmm, true. i will leave my peace of mind right there at that then, i won't worry about uninterning debugger/eval/inspect/do- symbols 2017-03-20T17:17:18Z JuanDaugherty: with docker oder 2017-03-20T17:17:19Z jasom: JuanDaugherty: or a program image 2017-03-20T17:17:39Z whoman: ah! cool cool 2017-03-20T17:18:29Z smokeink quit (Remote host closed the connection) 2017-03-20T17:19:20Z JuanDaugherty: yeah or just the image if your implementation allowed that 2017-03-20T17:20:35Z tkd quit (Ping timeout: 258 seconds) 2017-03-20T17:25:48Z bpanthi quit (Quit: bpanthi) 2017-03-20T17:28:21Z whoman: the image is not easily reversable? from bytecode to ast? 2017-03-20T17:29:15Z tkd joined #lisp 2017-03-20T17:31:04Z knicklux joined #lisp 2017-03-20T17:31:59Z JuanDaugherty: absolutely not 2017-03-20T17:32:37Z JuanDaugherty: in general, there are so many lisp implementations, there could be one 2017-03-20T17:32:50Z varjag quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2017-03-20T17:33:56Z whoman: ah, comforting =) mostly sbcl and ecl here. 2017-03-20T17:34:02Z JuanDaugherty: very low probability but I strive for accuracy 2017-03-20T17:34:42Z JuanDaugherty: and some elements of common lisp make that impossible 2017-03-20T17:36:17Z whoman: oh? which elements in particular? 2017-03-20T17:36:18Z jibanes quit (Ping timeout: 258 seconds) 2017-03-20T17:38:02Z jibanes joined #lisp 2017-03-20T17:38:49Z JuanDaugherty: most of them actually. Reconstructing from an AST works for statement oriented langs. 2017-03-20T17:39:14Z whoman: ohh i see what you meant, that makes sense =) 2017-03-20T17:44:00Z macdavid joined #lisp 2017-03-20T17:47:15Z hhdave quit (Ping timeout: 240 seconds) 2017-03-20T17:48:24Z jasom: some implementations save some parts ot the code in the debug information, but declaring (optimize (debug 0)) usually stops most of that 2017-03-20T17:49:00Z josemanuel joined #lisp 2017-03-20T17:49:15Z pve joined #lisp 2017-03-20T17:50:45Z karswell joined #lisp 2017-03-20T17:51:50Z m00natic quit (Remote host closed the connection) 2017-03-20T17:52:12Z gargaml quit (Ping timeout: 260 seconds) 2017-03-20T17:53:56Z cibs quit (Ping timeout: 258 seconds) 2017-03-20T17:55:35Z cibs joined #lisp 2017-03-20T17:58:34Z whoman quit (Remote host closed the connection) 2017-03-20T18:00:10Z prole joined #lisp 2017-03-20T18:01:04Z defaultxr quit (Ping timeout: 260 seconds) 2017-03-20T18:02:04Z orivej_ joined #lisp 2017-03-20T18:02:10Z orivej quit (Ping timeout: 264 seconds) 2017-03-20T18:02:18Z pjb joined #lisp 2017-03-20T18:04:04Z whoman joined #lisp 2017-03-20T18:05:31Z whoman: jasom, okay cool, thanks 2017-03-20T18:07:15Z otjura joined #lisp 2017-03-20T18:08:55Z otjura: I started wondering why projects such as SBCL are still being developed actively. haven't they matched the ANSI spec years ago could thus be considered complete? 2017-03-20T18:10:27Z dlowe: You can always be more correct, faster, take fewer resources, behave better with threads 2017-03-20T18:12:50Z whoman: and new things for the OS and hardware. like 64bit, arm support, or whatever. 2017-03-20T18:13:43Z whoman: i had just been looking at sbcl changelog to see if i want to update (im on 1.3.9 and latest is 1.3.15) and they are mostly bugfixes, performance, memory footprint, etc. 2017-03-20T18:14:29Z whoman: if simply filling in the spec was all that we needed.. there might not be multiple implementations to begin with. 2017-03-20T18:14:49Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-20T18:15:02Z tharugrim quit (Ping timeout: 256 seconds) 2017-03-20T18:15:04Z ft quit (Ping timeout: 260 seconds) 2017-03-20T18:15:14Z otjura: oh obviously. I feel dumb for asking now. 2017-03-20T18:15:39Z milanj joined #lisp 2017-03-20T18:15:59Z defaultxr joined #lisp 2017-03-20T18:17:39Z otjura: you know, I recently completed largeish university project in other language where documentation over 6 months old was considered quite obsolete so coming back to lispland for fun and recreation is such a stark contrast 2017-03-20T18:19:15Z tharugrim joined #lisp 2017-03-20T18:19:17Z modula joined #lisp 2017-03-20T18:20:06Z whoman: hehe =) for me now, lisp is stark contrast to everything. thinking about parens and tree forms is my happy place. but i dont watch tv =) 2017-03-20T18:21:40Z ft joined #lisp 2017-03-20T18:22:10Z defaultxr quit (Ping timeout: 246 seconds) 2017-03-20T18:22:10Z modula is now known as defaultxr 2017-03-20T18:24:19Z otjura: I know the feeling. I'm so spoiled by this it was difficult to realign to assorted dot-notation with varying parens 2017-03-20T18:24:57Z bocaneri quit (Read error: Connection reset by peer) 2017-03-20T18:25:21Z otjura: that being said, I do think strong typing and varying syntax has benefits in large projects when returning to code. looking at large lisp projects I have real difficulty understanding what is going on 2017-03-20T18:26:13Z raynold joined #lisp 2017-03-20T18:26:18Z dlowe: otjura: that's a property of large projects 2017-03-20T18:26:35Z whoman: it is like the wife of my youth, if i had one. begain accidentally mingling with emacslisp right after C, a good 22+years ago, and following my wild oats to all kinds of linguistics only to end up back home where i'd essentially started. 2017-03-20T18:27:42Z whoman: yes i agree. being able to "inspect" the tree of a project or program i think would help immensely. but any book has to be read or written to stay fresh as it is static mysterious randomness until then 2017-03-20T18:27:54Z otjura: dlowe: definitely, always. strong typing simply makes it more intelligble what function accepts 2017-03-20T18:28:50Z whoman: but! symbolic atoms are unique by their nature. aren't those enough for any strength or strictness? 2017-03-20T18:29:11Z whoman: (concat 'strnig ... will probably complain. 2017-03-20T18:31:11Z otjura: maybe from program's perspective. I find it much easier to deduce what goes into variable if its type is declared. 2017-03-20T18:31:58Z otjura: int dmg = 5; 2017-03-20T18:32:01Z dlowe: you can declare the type :) 2017-03-20T18:32:13Z otjura: I know 2017-03-20T18:32:14Z dlowe: (let ((dmg 5)) (declare (integer damage)) ...) 2017-03-20T18:32:22Z whoman: also one can provide 'integerp' to some declares no? 2017-03-20T18:32:24Z whoman: ah 2017-03-20T18:33:50Z otjura: funny how the more I dabble with different languages the more Java starts making sense (please don't ban me) 2017-03-20T18:35:24Z TMA: I like even stricter types, like Damage Int, so that the 5 points of damage are incompatible with GoldCoins Int 2017-03-20T18:36:33Z dlowe: I'm working on a solution to that. 2017-03-20T18:36:36Z Bike: newtypes are nice. 2017-03-20T18:36:56Z jasom: dlowe: the limitation of type declarations is that when they aren't everywhere, then you can't have efficient recursive datatypes 2017-03-20T18:38:02Z thodg quit (Ping timeout: 268 seconds) 2017-03-20T18:38:37Z jasom: e.g. if you could do (deftype fixnum-list (cons fixnum (or fixnum-list null))) it would be easy to show (cons 2 x) will be a fixnum list *if* x is is a fixnum list, you can't make any efficient assertions if the type of x is unknown. 2017-03-20T18:42:07Z pebblexe joined #lisp 2017-03-20T18:43:35Z neoncontrails joined #lisp 2017-03-20T18:44:02Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-20T18:46:35Z i5um41ru joined #lisp 2017-03-20T18:47:05Z i5um41ru quit (Client Quit) 2017-03-20T18:47:35Z i5um41ru joined #lisp 2017-03-20T18:50:16Z whoman: TMA, me too. but honestly the gold ints and the damage ints should not come from or arrive at the same places in code. getting paid should not harm a player. unless, throwing money damages hp by monetary value ^_^ hmm. 2017-03-20T18:51:17Z klltkr joined #lisp 2017-03-20T18:52:46Z i5um41ru_ joined #lisp 2017-03-20T18:53:10Z froggey quit (Ping timeout: 264 seconds) 2017-03-20T18:54:08Z i5um41ru quit (Ping timeout: 256 seconds) 2017-03-20T18:54:37Z froggey joined #lisp 2017-03-20T18:56:06Z jasom: There was a C variable naming convention to indicate this; e.g. _px for pixel distance so if you see something like position_x_in + distance_x_px; you could find the bug quickly by inspection (adding pixels to inches is meaningless) 2017-03-20T18:57:06Z nyef: So... postfix hungarian? 2017-03-20T18:57:35Z thodg joined #lisp 2017-03-20T18:57:35Z jasom: nyef: that's what it was called 2017-03-20T18:57:39Z nyef: Heh! 2017-03-20T18:57:40Z jasom was blanking on the name 2017-03-20T18:58:12Z nyef: Basically "our type system can't express this, so we'll shove it into the variable namespace and have the humans do the type checking." 2017-03-20T18:58:39Z jasom: nyef: though it does open up the door for a linter to do machine type-checking 2017-03-20T18:58:39Z varjag joined #lisp 2017-03-20T18:59:41Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-20T19:00:20Z sjl quit (Ping timeout: 260 seconds) 2017-03-20T19:00:58Z saturniid quit (Remote host closed the connection) 2017-03-20T19:01:18Z fourier` joined #lisp 2017-03-20T19:02:32Z pebblexe: how can I specify the limits of the type accepted for something?: https://gist.github.com/pebblexe/28473dc4b1a172e023c9d6f5a993e29c 2017-03-20T19:02:48Z pebblexe: Is there a way to define a method for integers at least? 2017-03-20T19:03:31Z doriath joined #lisp 2017-03-20T19:03:37Z Bike: you can define a method on class integer, and you can declare the type of an argument 2017-03-20T19:03:53Z kolko joined #lisp 2017-03-20T19:04:11Z Bike: something like (defun pack (n) (declare (type (integer #x-80000000 -1) n)) ...) 2017-03-20T19:04:33Z RedEight joined #lisp 2017-03-20T19:04:49Z Bike: and/or assert it with check/type 2017-03-20T19:05:29Z pebblexe: Bike: but what's the point of declaring it after the function call except as an optimization? I would like to do something like this (defmethod test ((integer n)) ...) 2017-03-20T19:05:46Z pebblexe: I mean it would also catch errors, but I mean I am looking to dispatch on the type 2017-03-20T19:06:06Z jasom: pebblexe: CLOS can only do method dispatches on classes, not types 2017-03-20T19:06:08Z Bike: you mean you want it to use one method if it's in that range, and another if it's an integer outside that range? 2017-03-20T19:06:13Z varjag: but whatever numeric optimization you make there, will be negligible after you cons all that into a list and (i assume) traverse it later 2017-03-20T19:06:35Z pebblexe: Bike: yes 2017-03-20T19:06:39Z terpri joined #lisp 2017-03-20T19:06:56Z pebblexe: varjag: I am not worried about optimization, I just want to have good looking code 2017-03-20T19:07:01Z Bike: yeah, you can't do that. you can dispatch on integers and then do a basic (if (< ...) ...) in the body, of course. 2017-03-20T19:07:15Z thodg quit (Read error: Connection reset by peer) 2017-03-20T19:07:25Z Karl_Dscc joined #lisp 2017-03-20T19:07:31Z Bike: you can't dispatch on types because any value belongs to multiple types that are not subtypes of each other. 2017-03-20T19:08:26Z jasom: Or another way to put it; classes form a tree, while types form a lattice 2017-03-20T19:08:28Z whoman: several types are made as CLOS classes aren't they? 2017-03-20T19:08:38Z Bike: sure 2017-03-20T19:08:40Z pebblexe: Bike: I think checking for membership for dispatching a function makes sense. 2017-03-20T19:09:00Z pebblexe: Bike: the types are also a tree http://sellout.github.io/2012/03/03/common-lisp-type-hierarchy/ 2017-03-20T19:09:05Z Bike: they are certainly not 2017-03-20T19:09:30Z Bike: what is the relationship between "integers between 0 and 10" and "integers between 5 and 15"? 2017-03-20T19:09:37Z Bike: if you have a function with methods on both, where does 7 go? 2017-03-20T19:09:57Z Bike: range types aren't in that image, of course 2017-03-20T19:10:04Z pebblexe: if I have a function that runs if 'x' is true about the variable, it makes sense to run it 2017-03-20T19:10:19Z Bike: sure 2017-03-20T19:10:22Z Bike: put it in the body, no problem 2017-03-20T19:12:43Z josemanuel quit (Quit: Leaving) 2017-03-20T19:14:00Z Bike: hum, even in that image you can see non-tree-ness at simple-string and simple-bit-vector 2017-03-20T19:15:55Z nyef: Types aren't a tree, types are a lattice. 2017-03-20T19:16:48Z nyef: And (SIMPLE-ARRAY NIL) is a subtype of string. 2017-03-20T19:18:02Z nyef: Well, not quite. (ARRAY NIL (*)) is a subtype of string, if I have my syntax right. 2017-03-20T19:18:44Z Bike: yeah. 2017-03-20T19:18:49Z manualcrank joined #lisp 2017-03-20T19:21:29Z i5um41ru joined #lisp 2017-03-20T19:21:43Z jasom: nyef: though that one example is arguably a bug in the spec 2017-03-20T19:24:58Z i5um41ru_ quit (Ping timeout: 264 seconds) 2017-03-20T19:26:31Z scymtym: on a related note: this https://github.com/sbcl/specializable/tree/wip-type-specializer/src/type-specializer (example: https://github.com/sbcl/specializable/blob/wip-type-specializer/examples/type-specializer.lisp ) now mostly works with vanilla sbcl master. the previously mentioned problems w.r.t. sorting applicable methods remain, of course 2017-03-20T19:28:04Z jasom: and we now have undecidable method dispatch :) 2017-03-20T19:29:45Z pebblexe: is it possible to do it this way?: https://gist.github.com/pebblexe/1634baa131afd2c0a7cb236a3002dd89 2017-03-20T19:30:29Z Bike: no. (standard) generic functions specialize on classes. eql t and a function are not classes. 2017-03-20T19:30:49Z jasom: Bike: (eql t) is actually allowed, right? 2017-03-20T19:30:57Z Bike: well. yes. 2017-03-20T19:31:11Z Bike: you know what i mean. 2017-03-20T19:31:34Z jasom: right you can use eql specifiers and class specifiers; none others are allowed 2017-03-20T19:31:52Z scymtym: pebblexe: https://github.com/pcostanza/filtered-functions may be interesting for you 2017-03-20T19:32:32Z jasom: pebblexe: usually if I want to do somethign fancy, I just use etypecase or optima or whatever. 2017-03-20T19:32:49Z jasom: and write out the dispatch 2017-03-20T19:33:03Z pebblexe: jasom: yeah I've looked at optima, I was just hoping I could get some experience with clos 2017-03-20T19:33:19Z scymtym: iirc, fortress had a solution for this kind of applicable method ordering. i think it was something like being forced to define a method that is more specific than both of the ambiguous methods. but that seems to prohibit call-next-method 2017-03-20T19:33:21Z pebblexe: I have the metaobject book but I'm too scared to read it yet 2017-03-20T19:33:34Z Bike: you should, it's very good 2017-03-20T19:34:41Z pebblexe: okay I am having issues where sometimes stuff doesn't compile after using defmethods to experiment, like it complains about something that I've commented out 2017-03-20T19:34:54Z pebblexe: It hasn't happened now, but it's happened twice today 2017-03-20T19:35:17Z pebblexe: I think it's only happened in ccl, but I think it might have happened in sbcl as well 2017-03-20T19:35:28Z Bike: methods stick around 2017-03-20T19:35:50Z Bike: when you recompile a function, you replace the definition, but when you recompile a file and you just commented out a method, there's no reason for that method to go away, you know? 2017-03-20T19:36:09Z Bike: what i do is M-x slime-inspect the generic function, and that brings up a menu where you can undefine particular methods 2017-03-20T19:38:17Z pebblexe: Bike: I am not sure what you mean, I mean functions go away when I comment them out, right? why are methods different? 2017-03-20T19:38:30Z Bike: functions don't go away when you comment them out 2017-03-20T19:38:58Z jasom: they only go away if you fmakunbound them 2017-03-20T19:39:57Z nyef: Or if you comment them out, restart your lisp, and recompile from scratch. 2017-03-20T19:42:19Z pebblexe: oh, I didn't know that. thanks! 2017-03-20T19:42:35Z AlphaAtom joined #lisp 2017-03-20T19:42:49Z Bike: your lisp image has a persistent state, calling load and whatnot just alters that state 2017-03-20T19:43:03Z Bike: defun adds a new function, but if it's commented out that just means it doesn't add a new function, not that it removes a function 2017-03-20T19:43:09Z daemoz: Bike: How do I undefine something from the slime-inspect menu? Just delete everything and press enter? 2017-03-20T19:43:14Z pebblexe: what does this error mean?: https://gist.github.com/pebblexe/31503c36172e43bc4c21ceb176d47d56 2017-03-20T19:43:51Z pebblexe: I've run manual disk checking and it hasn't found anything 2017-03-20T19:43:56Z Bike: daemoz: you can remove particular methods by going to the line with the method and hitting enter. where it says [remove method] 2017-03-20T19:44:25Z nyef: pebblexe: I'm not too familiar with CCL, but I think that it's saying that the file underlying whatever stream that is was closed? 2017-03-20T19:44:36Z AlphaAtom quit (Max SendQ exceeded) 2017-03-20T19:44:39Z nyef: Without the stream itself being informed about it. 2017-03-20T19:44:44Z daemoz: Bike: Oh, is this specific to CLOS? You cannot use this to undefine functions? 2017-03-20T19:45:16Z Bike: i don't think the slime inspector has that, no 2017-03-20T19:45:18Z AlphaAtom joined #lisp 2017-03-20T19:45:22Z Bike: you can just do fmakunbound 2017-03-20T19:45:34Z daemoz: Bike: Roger :) 2017-03-20T19:47:11Z AlphaAtom quit (Max SendQ exceeded) 2017-03-20T19:47:43Z AlphaAtom joined #lisp 2017-03-20T19:49:46Z AlphaAtom quit (Max SendQ exceeded) 2017-03-20T19:50:17Z ryanwatkins joined #lisp 2017-03-20T19:50:28Z AlphaAtom joined #lisp 2017-03-20T19:50:33Z nirved quit (Quit: Leaving) 2017-03-20T19:52:21Z AlphaAtom quit (Max SendQ exceeded) 2017-03-20T19:52:52Z AlphaAtom joined #lisp 2017-03-20T19:52:54Z learning joined #lisp 2017-03-20T19:53:45Z daviid quit (Ping timeout: 240 seconds) 2017-03-20T19:53:49Z warweasle quit (Quit: later) 2017-03-20T19:54:57Z AlphaAtom quit (Max SendQ exceeded) 2017-03-20T19:55:19Z AlphaAtom joined #lisp 2017-03-20T19:57:18Z AlphaAtom quit (Max SendQ exceeded) 2017-03-20T19:57:31Z pebblexe: now I am getting this error trying to (ql:quickload "optima") https://gist.github.com/pebblexe/fd096a27962d9f81e6a5f7b8cac3c4b8 2017-03-20T19:58:17Z pebblexe: I think it's just my hdd, but not sure 2017-03-20T19:59:37Z pebblexe: yeah and in sbcl I get: https://gist.github.com/pebblexe/d30811426c3a0109d6108fedaff04358 2017-03-20T19:59:46Z pebblexe: from trying to quickload optima 2017-03-20T20:00:31Z lnostdal quit (Ping timeout: 246 seconds) 2017-03-20T20:00:36Z jasom: pebblexe: that's a DNS resulution failure it looks like 2017-03-20T20:03:17Z AlphaAtom joined #lisp 2017-03-20T20:05:20Z AlphaAtom quit (Max SendQ exceeded) 2017-03-20T20:05:27Z ebrasca quit (Ping timeout: 240 seconds) 2017-03-20T20:07:04Z prole quit (Ping timeout: 260 seconds) 2017-03-20T20:08:04Z rlatimore joined #lisp 2017-03-20T20:09:04Z pebblexe quit (Ping timeout: 260 seconds) 2017-03-20T20:09:28Z thodg joined #lisp 2017-03-20T20:10:28Z rumbler31 joined #lisp 2017-03-20T20:10:53Z websterbudding joined #lisp 2017-03-20T20:11:44Z shifty joined #lisp 2017-03-20T20:13:17Z websterbudding: I'm having trouble parsing json strings in lisp. Both cl-json and yason require outer double quotes and escaped inner double quotes. But JSON.stringify does not generate escaped double quotes. 2017-03-20T20:13:26Z neuronsong joined #lisp 2017-03-20T20:14:15Z whomasect joined #lisp 2017-03-20T20:14:23Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-20T20:15:13Z aeth_ joined #lisp 2017-03-20T20:15:52Z wizzomafizzo joined #lisp 2017-03-20T20:16:17Z Harag1 joined #lisp 2017-03-20T20:16:35Z misv_ joined #lisp 2017-03-20T20:16:39Z vlnx_ joined #lisp 2017-03-20T20:17:03Z hjudt_ joined #lisp 2017-03-20T20:17:09Z ``Erik_ joined #lisp 2017-03-20T20:17:21Z fluxi- joined #lisp 2017-03-20T20:17:43Z pebblexe joined #lisp 2017-03-20T20:18:06Z isoraqathedh_ joined #lisp 2017-03-20T20:18:08Z macdavid quit (Ping timeout: 240 seconds) 2017-03-20T20:18:16Z tokik_ joined #lisp 2017-03-20T20:18:26Z isoraqathedh quit (Disconnected by services) 2017-03-20T20:18:30Z isoraqathedh_ is now known as isoraqathedh 2017-03-20T20:18:32Z Vivek__ joined #lisp 2017-03-20T20:18:36Z pebblexe: how do I use a package in a file that starts with in-package? for example I have (in-package #:cl-msgpack) and I would like to import optima 2017-03-20T20:18:48Z pebblexe: pcl didn't really go over in-package 2017-03-20T20:18:56Z Bike: usually you put the :use in the defpackage 2017-03-20T20:19:02Z o`connor_ joined #lisp 2017-03-20T20:19:04Z Firedancer_ joined #lisp 2017-03-20T20:19:10Z djinni`_ joined #lisp 2017-03-20T20:19:13Z vert2_ joined #lisp 2017-03-20T20:19:19Z pebblexe: but that's for the entire package, right? you can't do it file by file? 2017-03-20T20:19:20Z eulenspi1gel joined #lisp 2017-03-20T20:19:27Z tilpner_ joined #lisp 2017-03-20T20:19:28Z himmAllRight17 joined #lisp 2017-03-20T20:19:31Z mal1 joined #lisp 2017-03-20T20:19:32Z alphor_ joined #lisp 2017-03-20T20:19:36Z aap_ joined #lisp 2017-03-20T20:19:37Z Bike: you can't use packages ona per-file basis, really. 2017-03-20T20:19:44Z kolko_ joined #lisp 2017-03-20T20:19:47Z Bike: i mean you could, i guess, but it's messy 2017-03-20T20:19:53Z nowhereman joined #lisp 2017-03-20T20:19:57Z sbryant_ joined #lisp 2017-03-20T20:19:59Z stepnem quit (Ping timeout: 258 seconds) 2017-03-20T20:20:13Z White__Flame joined #lisp 2017-03-20T20:20:15Z hvxgr___ joined #lisp 2017-03-20T20:20:16Z add^__ joined #lisp 2017-03-20T20:20:21Z tephra_ joined #lisp 2017-03-20T20:20:27Z PuercoPope joined #lisp 2017-03-20T20:21:09Z Mandus_ joined #lisp 2017-03-20T20:21:12Z knicklux quit (Remote host closed the connection) 2017-03-20T20:21:22Z benkard joined #lisp 2017-03-20T20:21:42Z i5um41ru_ joined #lisp 2017-03-20T20:22:00Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-20T20:22:20Z ski_ joined #lisp 2017-03-20T20:22:34Z dcluna_ joined #lisp 2017-03-20T20:22:39Z dlowe_ joined #lisp 2017-03-20T20:22:49Z pjb: websterbudding: (princ (aref "a\"b" 1)) #| " --> #\" |# 2017-03-20T20:23:16Z oleo_ joined #lisp 2017-03-20T20:23:39Z mood_ joined #lisp 2017-03-20T20:24:01Z pjb: pebblexe: you could define one package per file, but usually it's too many packages. 2017-03-20T20:24:14Z rpav_ joined #lisp 2017-03-20T20:24:28Z Tordek_ joined #lisp 2017-03-20T20:24:58Z i5um41ru quit (Ping timeout: 257 seconds) 2017-03-20T20:25:44Z dim` joined #lisp 2017-03-20T20:26:09Z stepnem joined #lisp 2017-03-20T20:26:30Z luis` joined #lisp 2017-03-20T20:29:10Z kolko quit (*.net *.split) 2017-03-20T20:29:10Z whoman quit (*.net *.split) 2017-03-20T20:29:10Z oleo quit (*.net *.split) 2017-03-20T20:29:10Z dyelar quit (*.net *.split) 2017-03-20T20:29:10Z hvxgr quit (*.net *.split) 2017-03-20T20:29:10Z araujo quit (*.net *.split) 2017-03-20T20:29:10Z Harag quit (*.net *.split) 2017-03-20T20:29:10Z Jesin quit (*.net *.split) 2017-03-20T20:29:11Z dcluna quit (*.net *.split) 2017-03-20T20:29:11Z eulenspiegel quit (*.net *.split) 2017-03-20T20:29:11Z vlnx quit (*.net *.split) 2017-03-20T20:29:11Z luis quit (*.net *.split) 2017-03-20T20:29:11Z wizzo quit (*.net *.split) 2017-03-20T20:29:11Z aeth quit (*.net *.split) 2017-03-20T20:29:11Z alphor quit (*.net *.split) 2017-03-20T20:29:11Z o`connor quit (*.net *.split) 2017-03-20T20:29:11Z nyef quit (*.net *.split) 2017-03-20T20:29:11Z tephra quit (*.net *.split) 2017-03-20T20:29:12Z PuercoPop quit (*.net *.split) 2017-03-20T20:29:12Z himmAllRight quit (*.net *.split) 2017-03-20T20:29:12Z fluxit quit (*.net *.split) 2017-03-20T20:29:12Z TeMPOraL quit (*.net *.split) 2017-03-20T20:29:12Z Vivek quit (*.net *.split) 2017-03-20T20:29:12Z add^_ quit (*.net *.split) 2017-03-20T20:29:12Z dlowe quit (*.net *.split) 2017-03-20T20:29:12Z mulk quit (*.net *.split) 2017-03-20T20:29:13Z lieven quit (*.net *.split) 2017-03-20T20:29:13Z ``Erik quit (*.net *.split) 2017-03-20T20:29:13Z hjudt quit (*.net *.split) 2017-03-20T20:29:13Z Firedancer quit (*.net *.split) 2017-03-20T20:29:13Z tokik quit (*.net *.split) 2017-03-20T20:29:13Z tilpner quit (*.net *.split) 2017-03-20T20:29:13Z Tordek quit (*.net *.split) 2017-03-20T20:29:13Z misv quit (*.net *.split) 2017-03-20T20:29:13Z ski quit (*.net *.split) 2017-03-20T20:29:13Z rpav quit (*.net *.split) 2017-03-20T20:29:13Z mood quit (*.net *.split) 2017-03-20T20:29:13Z vert2 quit (*.net *.split) 2017-03-20T20:29:13Z aap quit (*.net *.split) 2017-03-20T20:29:13Z djinni` quit (*.net *.split) 2017-03-20T20:29:13Z Mandus quit (*.net *.split) 2017-03-20T20:29:13Z White_Flame quit (*.net *.split) 2017-03-20T20:29:13Z sbryant quit (*.net *.split) 2017-03-20T20:29:13Z cyberlard quit (*.net *.split) 2017-03-20T20:29:13Z dim quit (*.net *.split) 2017-03-20T20:29:14Z ck_ quit (*.net *.split) 2017-03-20T20:29:14Z forgot quit (*.net *.split) 2017-03-20T20:29:14Z sbryant_ is now known as sbryant 2017-03-20T20:29:14Z wizzomafizzo is now known as wizzo 2017-03-20T20:29:14Z PuercoPope is now known as PuercoPop 2017-03-20T20:29:14Z benkard is now known as mulk 2017-03-20T20:29:14Z rpav_ is now known as rpav 2017-03-20T20:29:14Z tilpner_ is now known as tilpner 2017-03-20T20:29:14Z dim` is now known as dim 2017-03-20T20:29:14Z Harag1 is now known as Harag 2017-03-20T20:29:15Z dcluna_ is now known as dcluna 2017-03-20T20:29:17Z dlowe_ is now known as dlowe 2017-03-20T20:30:00Z araujo joined #lisp 2017-03-20T20:30:00Z araujo quit (Changing host) 2017-03-20T20:30:00Z araujo joined #lisp 2017-03-20T20:30:33Z i5um41ru_ quit (Ping timeout: 260 seconds) 2017-03-20T20:31:07Z TeMPOraL joined #lisp 2017-03-20T20:31:13Z i5um41ru joined #lisp 2017-03-20T20:31:23Z Jesin joined #lisp 2017-03-20T20:31:28Z orivej_ quit (Ping timeout: 240 seconds) 2017-03-20T20:31:51Z websterbudding: pjb: I don't follow sorry 2017-03-20T20:33:18Z raynold quit (Ping timeout: 256 seconds) 2017-03-20T20:33:49Z dyelar joined #lisp 2017-03-20T20:34:49Z gargaml joined #lisp 2017-03-20T20:35:43Z learning quit (Remote host closed the connection) 2017-03-20T20:35:46Z raynold joined #lisp 2017-03-20T20:36:43Z learning joined #lisp 2017-03-20T20:36:51Z ski_ is now known as ski 2017-03-20T20:38:20Z MrWoohoo joined #lisp 2017-03-20T20:38:38Z pebblexe: how do I create/append to a file? it seems that :if-exists :append causes it to error out if it doesn't exist 2017-03-20T20:39:01Z pebblexe: https://gist.github.com/pebblexe/c46777f5882db86308a50322b57728a7 2017-03-20T20:39:05Z pebblexe: that's what I have so far 2017-03-20T20:39:16Z jackdaniel: see http://www.lispworks.com/documentation/HyperSpec/Body/m_w_open.htm 2017-03-20T20:39:24Z jackdaniel: you have another option :if-does-not-exist 2017-03-20T20:40:06Z jackdaniel: http://www.lispworks.com/documentation/HyperSpec/Body/f_open.htm#open 2017-03-20T20:40:07Z pebblexe: ah, but what do I pass to :if-does-not-exist to create a file? 2017-03-20T20:40:24Z pebblexe: jackdaniel: thank you! 2017-03-20T20:40:26Z jackdaniel: pebblexe: I have pointed you at manual, so you can find it by yourself 2017-03-20T20:40:26Z scymtym_ joined #lisp 2017-03-20T20:40:38Z jackdaniel: l1sp.org is useful to look for symbols 2017-03-20T20:40:54Z jackdaniel: not, it's not lisp.org but l1sp.org 2017-03-20T20:40:58Z jackdaniel: note° 2017-03-20T20:41:22Z learning quit (Ping timeout: 268 seconds) 2017-03-20T20:42:18Z pebblexe: jackdaniel: okay, I was just going off of practical common lisp, but I'll check there too 2017-03-20T20:44:08Z scymtym quit (Ping timeout: 258 seconds) 2017-03-20T20:44:11Z whoman joined #lisp 2017-03-20T20:45:10Z forgot joined #lisp 2017-03-20T20:45:20Z pebblexe: how do I use with-open-file to point to a file specific to a directory? I mean slime starts up with what as the home directory to write to? 2017-03-20T20:45:24Z ``Erik_ is now known as ``Erik 2017-03-20T20:45:24Z ck_ joined #lisp 2017-03-20T20:46:02Z whoman: current 2017-03-20T20:46:03Z rpav: the binary's cwd in SBCL's case, probably not a portable assumption ;) 2017-03-20T20:46:25Z rpav: on windows i think it may be the binary's directory 2017-03-20T20:46:27Z whoman: smile has ,cd command also 2017-03-20T20:46:45Z scymtym_ quit (Ping timeout: 240 seconds) 2017-03-20T20:46:57Z whomasect quit (Ping timeout: 240 seconds) 2017-03-20T20:47:20Z pebblexe: I was hoping there might be a way for ccl, as that's what I am using 2017-03-20T20:48:16Z whoman: if you are slimey, use ,cd or do M-x slime[-connect] in a buffer with the cwd set 2017-03-20T20:48:17Z neoncontrails quit (Remote host closed the connection) 2017-03-20T20:49:29Z pebblexe: figured it out! it's (merge-pathnames (asdf:system-source-directory :cl-msgpack) "temp-bytes") 2017-03-20T20:49:36Z neoncontrails joined #lisp 2017-03-20T20:49:42Z pebblexe: where the package/filename is different for others of course 2017-03-20T20:49:44Z neoncontrails quit (Remote host closed the connection) 2017-03-20T20:49:59Z neoncontrails joined #lisp 2017-03-20T20:56:29Z Xach: pebblexe: asdf:system-relative-pathname provides a shorthand 2017-03-20T20:56:42Z pebblexe: Xach: ah, thanks! 2017-03-20T21:00:30Z luis` quit (Ping timeout: 256 seconds) 2017-03-20T21:02:24Z thodg quit (Read error: Connection reset by peer) 2017-03-20T21:02:37Z luis joined #lisp 2017-03-20T21:02:48Z whomasect joined #lisp 2017-03-20T21:03:41Z zbigniew joined #lisp 2017-03-20T21:05:36Z whoman quit (Ping timeout: 256 seconds) 2017-03-20T21:06:27Z thodg joined #lisp 2017-03-20T21:08:40Z whomasect quit (Ping timeout: 258 seconds) 2017-03-20T21:09:00Z gigetoo joined #lisp 2017-03-20T21:11:08Z angavrilov quit (Remote host closed the connection) 2017-03-20T21:11:51Z bariscant joined #lisp 2017-03-20T21:12:45Z pebblexe quit (Quit: Page closed) 2017-03-20T21:14:29Z macdavid joined #lisp 2017-03-20T21:15:38Z sword quit (Remote host closed the connection) 2017-03-20T21:15:45Z bariscant quit (Client Quit) 2017-03-20T21:16:47Z sword joined #lisp 2017-03-20T21:17:48Z whomasect joined #lisp 2017-03-20T21:18:09Z whomasect is now known as whoman 2017-03-20T21:19:08Z macdavid quit (Ping timeout: 240 seconds) 2017-03-20T21:20:18Z rumbler31 quit (Remote host closed the connection) 2017-03-20T21:20:54Z mood_ is now known as mood 2017-03-20T21:22:40Z sword quit (Ping timeout: 260 seconds) 2017-03-20T21:23:31Z mejja joined #lisp 2017-03-20T21:23:36Z fjl joined #lisp 2017-03-20T21:24:27Z fjl__ quit (Ping timeout: 240 seconds) 2017-03-20T21:26:59Z rumbler31 joined #lisp 2017-03-20T21:27:27Z cyberlard joined #lisp 2017-03-20T21:30:08Z i5um41ru_ joined #lisp 2017-03-20T21:30:30Z Intensity quit (Changing host) 2017-03-20T21:30:30Z Intensity joined #lisp 2017-03-20T21:30:47Z gingerale quit (Remote host closed the connection) 2017-03-20T21:33:00Z phoe joined #lisp 2017-03-20T21:33:12Z i5um41ru quit (Ping timeout: 258 seconds) 2017-03-20T21:33:29Z BlueRavenGT joined #lisp 2017-03-20T21:33:31Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-20T21:34:59Z daviid joined #lisp 2017-03-20T21:35:12Z scymtym joined #lisp 2017-03-20T21:36:40Z gargaml quit (Quit: WeeChat 1.7) 2017-03-20T21:44:20Z Myk267 joined #lisp 2017-03-20T21:46:31Z nyef joined #lisp 2017-03-20T21:46:48Z stepnem quit (Ping timeout: 240 seconds) 2017-03-20T21:48:17Z stepnem joined #lisp 2017-03-20T21:48:26Z GuiLoooo is now known as GuilOooo 2017-03-20T21:48:54Z nowhereman quit (Remote host closed the connection) 2017-03-20T21:49:21Z nowhereman joined #lisp 2017-03-20T21:49:51Z Harag quit (Read error: Connection reset by peer) 2017-03-20T21:49:53Z neoncontrails quit (Remote host closed the connection) 2017-03-20T21:53:48Z oleo_ quit (Quit: Leaving) 2017-03-20T21:54:42Z BusFactor1 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-20T21:54:58Z neoncontrails joined #lisp 2017-03-20T21:55:21Z Lord_of_Life quit (Excess Flood) 2017-03-20T22:00:16Z Myk267 quit (Quit: Leaving) 2017-03-20T22:00:28Z Lord_of_Life joined #lisp 2017-03-20T22:00:46Z aeth_ is now known as aeth 2017-03-20T22:02:48Z RedEight quit (Ping timeout: 260 seconds) 2017-03-20T22:04:14Z RedEight joined #lisp 2017-03-20T22:05:38Z prole joined #lisp 2017-03-20T22:06:35Z zbigniew quit (Quit: Lost terminal) 2017-03-20T22:07:07Z oleo joined #lisp 2017-03-20T22:10:14Z daviid` joined #lisp 2017-03-20T22:11:30Z Myk267 joined #lisp 2017-03-20T22:12:14Z daviid quit (Read error: No route to host) 2017-03-20T22:12:58Z daviid`` joined #lisp 2017-03-20T22:13:36Z i5um41ru_ quit (Ping timeout: 256 seconds) 2017-03-20T22:14:25Z whoman quit (Remote host closed the connection) 2017-03-20T22:14:28Z daviid` quit (Ping timeout: 240 seconds) 2017-03-20T22:14:47Z whoman joined #lisp 2017-03-20T22:15:27Z macdavid joined #lisp 2017-03-20T22:17:35Z Myk267 quit (Quit: Leaving) 2017-03-20T22:17:55Z klltkr joined #lisp 2017-03-20T22:18:05Z Myk267 joined #lisp 2017-03-20T22:20:46Z macdavid quit (Ping timeout: 264 seconds) 2017-03-20T22:22:24Z tmtwd joined #lisp 2017-03-20T22:24:00Z mal1 is now known as lieven 2017-03-20T22:24:08Z lieven quit (Changing host) 2017-03-20T22:24:08Z lieven joined #lisp 2017-03-20T22:31:25Z dyelar quit (Quit: Leaving.) 2017-03-20T22:32:00Z MoALTz quit (Quit: Leaving) 2017-03-20T22:32:35Z warweasle joined #lisp 2017-03-20T22:35:30Z i5um41ru joined #lisp 2017-03-20T22:38:22Z prole quit (Ping timeout: 246 seconds) 2017-03-20T22:40:05Z i5um41ru quit (Ping timeout: 240 seconds) 2017-03-20T22:40:57Z varjag quit (Ping timeout: 240 seconds) 2017-03-20T22:47:25Z whoman2 joined #lisp 2017-03-20T22:47:39Z LiamH quit (Quit: Leaving.) 2017-03-20T22:48:04Z cromachina joined #lisp 2017-03-20T22:51:24Z whoman quit (Ping timeout: 258 seconds) 2017-03-20T22:52:00Z jleija joined #lisp 2017-03-20T22:52:48Z eulenspi1gel is now known as eulenspiegel 2017-03-20T22:52:54Z eulenspiegel quit (Changing host) 2017-03-20T22:52:54Z eulenspiegel joined #lisp 2017-03-20T22:54:15Z mishoo quit (Ping timeout: 240 seconds) 2017-03-20T22:56:19Z jleija quit (Client Quit) 2017-03-20T22:56:56Z jleija joined #lisp 2017-03-20T22:57:24Z shka_ quit (Ping timeout: 260 seconds) 2017-03-20T23:00:41Z marsjaninzmarsa quit (Quit: ZNC 1.7.x-git-487-cbf5c38 - http://znc.in) 2017-03-20T23:00:46Z raynold quit (Changing host) 2017-03-20T23:00:46Z raynold joined #lisp 2017-03-20T23:00:46Z Lord_of_Life quit (Changing host) 2017-03-20T23:00:47Z Lord_of_Life joined #lisp 2017-03-20T23:02:10Z daviid`` quit (Ping timeout: 264 seconds) 2017-03-20T23:07:10Z josh_2 quit (Remote host closed the connection) 2017-03-20T23:11:31Z attila_lendvai quit (Quit: Leaving.) 2017-03-20T23:11:41Z attila_lendvai joined #lisp 2017-03-20T23:11:55Z rlatimore quit (Quit: WeeChat 1.7) 2017-03-20T23:15:54Z macdavid joined #lisp 2017-03-20T23:16:44Z Karl_Dscc quit (Remote host closed the connection) 2017-03-20T23:21:22Z macdavid quit (Ping timeout: 264 seconds) 2017-03-20T23:23:01Z CEnnis91 quit (Quit: Connection closed for inactivity) 2017-03-20T23:24:29Z BusFactor1 joined #lisp 2017-03-20T23:26:48Z whoman2 is now known as whoman 2017-03-20T23:29:00Z antgreen quit (Remote host closed the connection) 2017-03-20T23:30:20Z NeverDie quit (Quit: http://radiux.io/) 2017-03-20T23:32:48Z fourier` quit (Ping timeout: 258 seconds) 2017-03-20T23:34:05Z stepnem quit (Ping timeout: 240 seconds) 2017-03-20T23:34:27Z alphor_ is now known as alphor 2017-03-20T23:34:38Z pve quit (Ping timeout: 256 seconds) 2017-03-20T23:35:14Z Harag joined #lisp 2017-03-20T23:41:55Z quazimodo joined #lisp 2017-03-20T23:43:15Z NeverDie joined #lisp 2017-03-20T23:44:24Z nikivi joined #lisp 2017-03-20T23:46:46Z NeverDie quit (Client Quit) 2017-03-20T23:56:21Z Harag quit (Read error: Connection reset by peer) 2017-03-21T00:00:20Z hvxgr___ quit (Quit: leaving) 2017-03-21T00:04:28Z milanj quit (Quit: Leaving) 2017-03-21T00:05:36Z Harag joined #lisp 2017-03-21T00:06:11Z hvxgr joined #lisp 2017-03-21T00:08:53Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-21T00:11:14Z Kaisyu joined #lisp 2017-03-21T00:14:53Z Harag quit (Read error: Connection reset by peer) 2017-03-21T00:16:18Z ryanwatkins quit (Remote host closed the connection) 2017-03-21T00:16:52Z macdavid joined #lisp 2017-03-21T00:21:58Z macdavid quit (Ping timeout: 264 seconds) 2017-03-21T00:22:19Z attila_lendvai quit (Quit: Leaving.) 2017-03-21T00:22:28Z attila_lendvai joined #lisp 2017-03-21T00:22:28Z attila_lendvai quit (Changing host) 2017-03-21T00:22:28Z attila_lendvai joined #lisp 2017-03-21T00:24:45Z zbigniew joined #lisp 2017-03-21T00:27:36Z yrk quit (Read error: Connection reset by peer) 2017-03-21T00:28:42Z Tex_Nick quit (Quit: In Linux, We Trust) 2017-03-21T00:29:25Z strykerkkd joined #lisp 2017-03-21T00:29:28Z fourier` joined #lisp 2017-03-21T00:33:28Z fourier` quit (Ping timeout: 240 seconds) 2017-03-21T00:35:21Z daviid joined #lisp 2017-03-21T00:44:48Z safe joined #lisp 2017-03-21T01:10:12Z NeverDie joined #lisp 2017-03-21T01:10:28Z krwq joined #lisp 2017-03-21T01:16:49Z shdeng joined #lisp 2017-03-21T01:17:48Z RedEight quit (Quit: leaving) 2017-03-21T01:17:50Z macdavid joined #lisp 2017-03-21T01:18:03Z neoncontrails quit (Remote host closed the connection) 2017-03-21T01:22:28Z macdavid quit (Ping timeout: 240 seconds) 2017-03-21T01:23:08Z strykerkkd quit (Quit: Leaving) 2017-03-21T01:23:23Z X-Scale quit (Quit: HydraIRC -> http://www.hydrairc.com <- IRC with a difference) 2017-03-21T01:42:26Z wtetzner joined #lisp 2017-03-21T01:42:34Z jack_rabbit joined #lisp 2017-03-21T01:49:22Z eSVG joined #lisp 2017-03-21T01:51:57Z daviid quit (Ping timeout: 240 seconds) 2017-03-21T01:52:19Z FreeBirdLjj joined #lisp 2017-03-21T01:57:29Z warweasle quit (Quit: switch) 2017-03-21T01:58:00Z dto joined #lisp 2017-03-21T01:58:32Z warweasle joined #lisp 2017-03-21T02:12:56Z eazar001 joined #lisp 2017-03-21T02:15:46Z jack_rabbit quit (Remote host closed the connection) 2017-03-21T02:17:11Z Oladon quit (Read error: Connection reset by peer) 2017-03-21T02:18:31Z Oladon joined #lisp 2017-03-21T02:18:36Z X-Scale joined #lisp 2017-03-21T02:18:47Z macdavid joined #lisp 2017-03-21T02:23:28Z macdavid quit (Ping timeout: 240 seconds) 2017-03-21T02:26:03Z mejja quit (Quit: \ No newline at end of file) 2017-03-21T02:35:32Z dto quit (Remote host closed the connection) 2017-03-21T02:39:35Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-21T02:49:51Z jameser joined #lisp 2017-03-21T02:52:40Z BitPuffin|osx quit (Remote host closed the connection) 2017-03-21T02:56:32Z FreeBirdLjj joined #lisp 2017-03-21T02:57:01Z tokik_ quit (Quit: leaving) 2017-03-21T02:57:24Z tokik joined #lisp 2017-03-21T02:58:26Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-21T02:59:25Z FreeBirdLjj joined #lisp 2017-03-21T03:00:52Z jack_rabbit joined #lisp 2017-03-21T03:02:20Z warweasle quit (Quit: rcirc on GNU Emacs 24.5.1) 2017-03-21T03:12:19Z zooey quit (Ping timeout: 240 seconds) 2017-03-21T03:14:35Z zooey joined #lisp 2017-03-21T03:14:42Z iago quit (Read error: Connection reset by peer) 2017-03-21T03:15:14Z iago joined #lisp 2017-03-21T03:16:04Z CEnnis91 joined #lisp 2017-03-21T03:19:16Z macdavid joined #lisp 2017-03-21T03:24:22Z macdavid quit (Ping timeout: 264 seconds) 2017-03-21T03:28:10Z smokeink joined #lisp 2017-03-21T03:31:08Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-21T03:39:17Z FreeBird_ joined #lisp 2017-03-21T03:40:29Z wtetzner quit (Remote host closed the connection) 2017-03-21T03:42:04Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2017-03-21T03:42:17Z emacsomancer joined #lisp 2017-03-21T03:46:57Z emacsomancer quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2017-03-21T03:47:45Z emacsomancer joined #lisp 2017-03-21T03:48:47Z FreeBird_ quit (Remote host closed the connection) 2017-03-21T03:49:44Z FreeBirdLjj joined #lisp 2017-03-21T03:58:16Z emacsomancer quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2017-03-21T03:58:50Z learning joined #lisp 2017-03-21T03:58:58Z BlueRavenGT quit (Ping timeout: 246 seconds) 2017-03-21T03:59:18Z emacsomancer joined #lisp 2017-03-21T03:59:42Z emacsomancer quit (Remote host closed the connection) 2017-03-21T04:00:19Z FreeBird_ joined #lisp 2017-03-21T04:00:19Z emacsomancer joined #lisp 2017-03-21T04:04:00Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2017-03-21T04:15:32Z bocaneri joined #lisp 2017-03-21T04:17:37Z dto joined #lisp 2017-03-21T04:17:39Z eazar001 quit (Quit: WeeChat 1.7) 2017-03-21T04:18:29Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-21T04:20:14Z macdavid joined #lisp 2017-03-21T04:23:31Z zooey quit (Ping timeout: 240 seconds) 2017-03-21T04:24:03Z marusich joined #lisp 2017-03-21T04:24:42Z zooey joined #lisp 2017-03-21T04:24:48Z macdavid quit (Ping timeout: 240 seconds) 2017-03-21T04:24:51Z safe quit (Read error: Connection reset by peer) 2017-03-21T04:25:33Z FreeBird_ quit (Remote host closed the connection) 2017-03-21T04:28:53Z damke joined #lisp 2017-03-21T04:28:57Z EvW joined #lisp 2017-03-21T04:30:28Z fourier` joined #lisp 2017-03-21T04:30:41Z whoman quit (Quit: Leaving) 2017-03-21T04:35:05Z fourier` quit (Ping timeout: 240 seconds) 2017-03-21T04:37:48Z EvW quit (Ping timeout: 256 seconds) 2017-03-21T04:40:58Z X-Scale quit (Ping timeout: 246 seconds) 2017-03-21T04:44:18Z X-Scale joined #lisp 2017-03-21T04:45:08Z neuronsong quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-21T04:46:07Z jleija quit (Quit: leaving) 2017-03-21T04:50:15Z bungoman_ joined #lisp 2017-03-21T04:51:40Z FreeBirdLjj joined #lisp 2017-03-21T04:51:49Z bungoman quit (Ping timeout: 246 seconds) 2017-03-21T04:52:24Z rippa joined #lisp 2017-03-21T05:00:39Z rjid joined #lisp 2017-03-21T05:05:00Z dto quit (Remote host closed the connection) 2017-03-21T05:09:45Z Oladon quit (Read error: Connection reset by peer) 2017-03-21T05:09:48Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-21T05:09:57Z rpg_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-21T05:10:20Z Oladon joined #lisp 2017-03-21T05:11:38Z jack_rabbit joined #lisp 2017-03-21T05:13:01Z marusich quit (Quit: Leaving) 2017-03-21T05:16:56Z Harag joined #lisp 2017-03-21T05:19:28Z tmtwd quit (Ping timeout: 246 seconds) 2017-03-21T05:21:13Z macdavid joined #lisp 2017-03-21T05:22:47Z vaporatorius quit (Ping timeout: 258 seconds) 2017-03-21T05:26:10Z macdavid quit (Ping timeout: 264 seconds) 2017-03-21T05:28:28Z smokeink quit (Ping timeout: 260 seconds) 2017-03-21T05:37:20Z zaquest quit (Quit: Leaving) 2017-03-21T05:40:33Z marsjaninzmarsa joined #lisp 2017-03-21T05:45:22Z Harag quit (Read error: Connection reset by peer) 2017-03-21T05:45:44Z Harag joined #lisp 2017-03-21T05:52:57Z cibs quit (Ping timeout: 240 seconds) 2017-03-21T05:55:07Z cibs joined #lisp 2017-03-21T05:55:47Z fiddlerwoaroof quit (Ping timeout: 260 seconds) 2017-03-21T05:58:54Z fiddlerwoaroof joined #lisp 2017-03-21T06:06:10Z dec0n joined #lisp 2017-03-21T06:06:17Z quazimodo quit (Ping timeout: 260 seconds) 2017-03-21T06:09:16Z Harag quit (Read error: Connection reset by peer) 2017-03-21T06:09:54Z koodailar joined #lisp 2017-03-21T06:10:02Z koodailar quit (Client Quit) 2017-03-21T06:14:29Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-21T06:21:40Z macdavid joined #lisp 2017-03-21T06:22:46Z angavrilov joined #lisp 2017-03-21T06:24:00Z Harag joined #lisp 2017-03-21T06:25:31Z oleo quit (Quit: Leaving) 2017-03-21T06:26:46Z macdavid quit (Ping timeout: 264 seconds) 2017-03-21T06:38:29Z rjid quit (Ping timeout: 260 seconds) 2017-03-21T06:42:31Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-21T06:45:35Z defaultxr quit (Ping timeout: 240 seconds) 2017-03-21T06:46:28Z mishoo joined #lisp 2017-03-21T06:51:12Z macdavid joined #lisp 2017-03-21T06:51:54Z smokeink joined #lisp 2017-03-21T06:58:37Z scymtym quit (Ping timeout: 258 seconds) 2017-03-21T06:58:46Z learning quit (Remote host closed the connection) 2017-03-21T07:03:17Z yoonkn joined #lisp 2017-03-21T07:09:51Z beach: Good morning everyone! 2017-03-21T07:09:56Z zaquest joined #lisp 2017-03-21T07:10:45Z PinealGlandOptic joined #lisp 2017-03-21T07:13:56Z flamebeard joined #lisp 2017-03-21T07:15:46Z rumbler31 quit (Read error: Connection reset by peer) 2017-03-21T07:17:10Z FreeBirdLjj joined #lisp 2017-03-21T07:17:58Z fourier` joined #lisp 2017-03-21T07:17:59Z rumbler31 joined #lisp 2017-03-21T07:19:09Z impaktor left #lisp 2017-03-21T07:22:26Z mathrick joined #lisp 2017-03-21T07:23:26Z krwq quit (Remote host closed the connection) 2017-03-21T07:23:28Z macdavid quit (Ping timeout: 240 seconds) 2017-03-21T07:24:03Z gingerale joined #lisp 2017-03-21T07:26:10Z eSVG quit (Ping timeout: 246 seconds) 2017-03-21T07:31:46Z varjag joined #lisp 2017-03-21T07:35:27Z fourier` quit (Ping timeout: 240 seconds) 2017-03-21T07:35:57Z damke quit (Ping timeout: 240 seconds) 2017-03-21T07:36:52Z websterbudding quit (Read error: Connection reset by peer) 2017-03-21T07:37:14Z damke joined #lisp 2017-03-21T07:45:45Z yoonkn quit (Remote host closed the connection) 2017-03-21T07:45:58Z yoonkn joined #lisp 2017-03-21T07:45:58Z ryanwatkins joined #lisp 2017-03-21T07:46:35Z learning joined #lisp 2017-03-21T07:54:35Z kolko_ quit (Ping timeout: 240 seconds) 2017-03-21T07:57:33Z bariscant joined #lisp 2017-03-21T07:57:35Z seg quit (Ping timeout: 240 seconds) 2017-03-21T08:00:12Z seg joined #lisp 2017-03-21T08:06:50Z MoALTz joined #lisp 2017-03-21T08:07:37Z otjura quit (Ping timeout: 258 seconds) 2017-03-21T08:12:20Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-21T08:12:56Z FreeBirdLjj joined #lisp 2017-03-21T08:15:26Z stepnem joined #lisp 2017-03-21T08:19:42Z scymtym joined #lisp 2017-03-21T08:19:48Z jdz quit (Ping timeout: 240 seconds) 2017-03-21T08:21:02Z grumble quit (Remote host closed the connection) 2017-03-21T08:21:25Z terpri quit (Quit: Leaving) 2017-03-21T08:23:02Z CEnnis91 quit (Quit: Connection closed for inactivity) 2017-03-21T08:23:45Z jdz joined #lisp 2017-03-21T08:24:07Z Bike quit (Quit: leaving) 2017-03-21T08:28:28Z grumble joined #lisp 2017-03-21T08:30:03Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-21T08:31:17Z scymtym_ joined #lisp 2017-03-21T08:33:38Z Firedancer_ is now known as Firedancer 2017-03-21T08:33:56Z kolko joined #lisp 2017-03-21T08:35:36Z scymtym quit (Ping timeout: 258 seconds) 2017-03-21T08:36:57Z gargaml joined #lisp 2017-03-21T08:37:30Z thodg quit (Ping timeout: 256 seconds) 2017-03-21T08:38:59Z thodg joined #lisp 2017-03-21T08:44:32Z o1e9 joined #lisp 2017-03-21T08:46:34Z nowhereman quit (Ping timeout: 268 seconds) 2017-03-21T08:51:23Z learning quit (Remote host closed the connection) 2017-03-21T08:54:09Z scymtym_ quit (Remote host closed the connection) 2017-03-21T08:54:46Z remote1 joined #lisp 2017-03-21T08:57:04Z _cosmonaut_ joined #lisp 2017-03-21T08:59:26Z scymtym joined #lisp 2017-03-21T09:00:14Z hhdave joined #lisp 2017-03-21T09:01:07Z nowhereman joined #lisp 2017-03-21T09:02:20Z ebrasca joined #lisp 2017-03-21T09:04:28Z lnostdal joined #lisp 2017-03-21T09:05:00Z hhdave quit (Ping timeout: 260 seconds) 2017-03-21T09:11:09Z pve joined #lisp 2017-03-21T09:11:11Z thodg quit (Read error: Connection reset by peer) 2017-03-21T09:15:44Z azzamsa_ joined #lisp 2017-03-21T09:15:48Z ogamita joined #lisp 2017-03-21T09:18:27Z kolko_ joined #lisp 2017-03-21T09:20:10Z kolko quit (Ping timeout: 264 seconds) 2017-03-21T09:22:54Z hhdave joined #lisp 2017-03-21T09:28:57Z nopf quit (Ping timeout: 240 seconds) 2017-03-21T09:29:31Z FreeBirdLjj joined #lisp 2017-03-21T09:30:58Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-21T09:31:27Z FreeBirdLjj joined #lisp 2017-03-21T09:34:23Z FreeBird_ joined #lisp 2017-03-21T09:34:40Z seg quit (Ping timeout: 268 seconds) 2017-03-21T09:37:53Z okflo joined #lisp 2017-03-21T09:38:22Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2017-03-21T09:39:44Z nirved joined #lisp 2017-03-21T09:40:13Z seg joined #lisp 2017-03-21T09:42:26Z Karl_Dscc joined #lisp 2017-03-21T09:43:21Z Beetny joined #lisp 2017-03-21T09:46:34Z smokeink quit (Ping timeout: 264 seconds) 2017-03-21T09:46:56Z azzamsa_ quit (Remote host closed the connection) 2017-03-21T09:50:08Z nowhereman quit (Remote host closed the connection) 2017-03-21T09:50:32Z nowhereman joined #lisp 2017-03-21T09:53:48Z damke_ joined #lisp 2017-03-21T09:53:48Z damke quit (Disconnected by services) 2017-03-21T09:53:58Z damke_ is now known as damke 2017-03-21T09:55:58Z doriath quit (Ping timeout: 246 seconds) 2017-03-21T09:56:57Z damke_ joined #lisp 2017-03-21T09:56:57Z damke quit (Disconnected by services) 2017-03-21T09:57:03Z damke_ is now known as damke 2017-03-21T10:02:25Z damke quit (Ping timeout: 268 seconds) 2017-03-21T10:03:50Z damke joined #lisp 2017-03-21T10:05:02Z tharugrim joined #lisp 2017-03-21T10:07:51Z damke quit (Remote host closed the connection) 2017-03-21T10:08:27Z damke joined #lisp 2017-03-21T10:12:52Z damke quit (Remote host closed the connection) 2017-03-21T10:14:50Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-21T10:17:04Z damke joined #lisp 2017-03-21T10:17:45Z FreeBird_ quit (Remote host closed the connection) 2017-03-21T10:18:22Z FreeBirdLjj joined #lisp 2017-03-21T10:19:57Z tharugrim quit (Ping timeout: 240 seconds) 2017-03-21T10:20:06Z Karl_Dscc quit (Remote host closed the connection) 2017-03-21T10:20:35Z damke quit (Disconnected by services) 2017-03-21T10:20:35Z damke_ joined #lisp 2017-03-21T10:20:44Z damke_ is now known as damke 2017-03-21T10:22:27Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2017-03-21T10:22:45Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-21T10:23:35Z _cosmonaut_ joined #lisp 2017-03-21T10:34:41Z tharugrim joined #lisp 2017-03-21T10:34:59Z rumbler31 quit (Remote host closed the connection) 2017-03-21T10:35:57Z okflo` joined #lisp 2017-03-21T10:36:22Z __main__ quit (Ping timeout: 260 seconds) 2017-03-21T10:37:10Z damke quit (Disconnected by services) 2017-03-21T10:37:10Z damke_ joined #lisp 2017-03-21T10:37:19Z damke_ is now known as damke 2017-03-21T10:38:27Z __main__ joined #lisp 2017-03-21T10:39:44Z m00natic joined #lisp 2017-03-21T10:39:44Z okflo quit (Ping timeout: 260 seconds) 2017-03-21T10:42:24Z ebrasca quit (Read error: Connection reset by peer) 2017-03-21T10:42:32Z ebrasca joined #lisp 2017-03-21T10:44:11Z Karl_Dscc joined #lisp 2017-03-21T10:44:29Z raynold quit (Quit: Connection closed for inactivity) 2017-03-21T10:47:41Z prole joined #lisp 2017-03-21T10:52:43Z nowhere_man joined #lisp 2017-03-21T10:52:43Z nowhereman quit (Read error: Connection reset by peer) 2017-03-21T10:53:57Z jameser quit (Ping timeout: 240 seconds) 2017-03-21T11:00:53Z bariscant quit (Ping timeout: 258 seconds) 2017-03-21T11:02:51Z freehck joined #lisp 2017-03-21T11:06:29Z rumbler31 joined #lisp 2017-03-21T11:07:09Z rumbler31 quit (Remote host closed the connection) 2017-03-21T11:10:16Z rumbler31 joined #lisp 2017-03-21T11:11:03Z DataLinkDroid joined #lisp 2017-03-21T11:11:04Z yoonkn quit (Remote host closed the connection) 2017-03-21T11:12:29Z DataLinkDroid quit (Client Quit) 2017-03-21T11:13:46Z thodg joined #lisp 2017-03-21T11:26:27Z ogamita` joined #lisp 2017-03-21T11:26:31Z ogamita quit (Read error: No route to host) 2017-03-21T11:28:01Z bariscant joined #lisp 2017-03-21T11:31:21Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-21T11:38:39Z snowcrshd joined #lisp 2017-03-21T11:46:55Z EvW joined #lisp 2017-03-21T11:47:14Z malice` joined #lisp 2017-03-21T11:50:04Z attila_lendvai joined #lisp 2017-03-21T11:51:18Z EvW quit (Ping timeout: 256 seconds) 2017-03-21T11:56:28Z thodg quit (Ping timeout: 240 seconds) 2017-03-21T11:58:43Z thodg joined #lisp 2017-03-21T12:01:33Z rpg joined #lisp 2017-03-21T12:02:52Z jameser joined #lisp 2017-03-21T12:07:39Z phoe: Hello! 2017-03-21T12:08:53Z reepca quit (Read error: Connection reset by peer) 2017-03-21T12:10:42Z Xach: yow 2017-03-21T12:10:49Z Xach: quiet night 2017-03-21T12:12:09Z drmeister: jackdaniel: ECL has this thing ECL_USE_MPROTECT that uses mprotect to trap access to the environment to indicate that there is a pending signal. I don't understand why that is faster than the alternative of calling ecl_check_pending_interrupts(env) in https://gitlab.com/embeddable-common-lisp/ecl/blob/develop/src/h/external.h#L1865 2017-03-21T12:12:29Z shdeng quit (Quit: Leaving) 2017-03-21T12:13:03Z drmeister: I don't know if you have dug into this part of ECL - but do you have any insight as to why using mprotect is faster than the alternative? 2017-03-21T12:14:00Z _cosmonaut_ quit (Ping timeout: 260 seconds) 2017-03-21T12:14:06Z d4ryus4 joined #lisp 2017-03-21T12:15:25Z sjl joined #lisp 2017-03-21T12:15:26Z jackdaniel: I haven't, sorry 2017-03-21T12:16:40Z flip214: drmeister: probably because checking a flag in tight loops costs performance in each iteration, while the "memory protection fault" comes mostly free with the next access 2017-03-21T12:17:05Z d4ryus3 quit (Ping timeout: 240 seconds) 2017-03-21T12:17:11Z rumbler31 quit (Remote host closed the connection) 2017-03-21T12:17:25Z drmeister: jackdaniel: No problem - thank you. 2017-03-21T12:17:29Z drmeister: flip214: That makes sense. 2017-03-21T12:19:31Z didi joined #lisp 2017-03-21T12:20:12Z ebrasca` joined #lisp 2017-03-21T12:20:14Z didi: Weird. ASDF's manual mentions UIOP:SYSTEM-CALL, but my UIOP doesn't have it. 2017-03-21T12:20:26Z didi: I am trying to set up a test system. 2017-03-21T12:21:48Z ebrasca quit (Ping timeout: 240 seconds) 2017-03-21T12:26:51Z jackdaniel: didi: ASDF manual is updated frequently and ASDF's API change, you probably have version bundled with your implementation 2017-03-21T12:27:05Z jackdaniel: you may want to (ql:quickload 'uiop) 2017-03-21T12:27:12Z jackdaniel: then you'll have new version of this library 2017-03-21T12:27:52Z didi: jackdaniel: Thank you. I prefer the version available from Debian at the moment. 2017-03-21T12:28:48Z jackdaniel: oh, then you'll probably be out of luck with getting help here (people rarely use lisp-controller from my observation) 2017-03-21T12:29:11Z lnostdal quit (Ping timeout: 268 seconds) 2017-03-21T12:29:16Z rpg quit (Ping timeout: 256 seconds) 2017-03-21T12:29:36Z didi: jackdaniel: I don't think lisp-controller is used much nowadays in Debian, but I might be wrong. 2017-03-21T12:29:37Z Beetny quit (Ping timeout: 246 seconds) 2017-03-21T12:30:08Z iago: that's something I was asking on clnoobs. What is better use the libraries provided by your package manager or to set up your own environment ? 2017-03-21T12:30:28Z didi: I use the libraries provided by Debian. 2017-03-21T12:30:38Z _cosmonaut_ joined #lisp 2017-03-21T12:30:44Z H4ns: I'd recommend quicklisp. 2017-03-21T12:30:48Z flip214: #i* 2017-03-21T12:30:52Z jackdaniel: for development its better to use quicklisp (and that's what most people do) – deployment is another story 2017-03-21T12:31:24Z flip214: Sorry. I'd *like* to use debian packages (because they'd be kept up to date "automatically"!), but unfortunately most are too old. So I use Quicklisp too. 2017-03-21T12:32:01Z flip214: jackdaniel: QL can use older package sets as well, so some fixed-version deployment is easy as well 2017-03-21T12:32:19Z jackdaniel: flip214: yes, QL can use even internal repositories, I'm aware of that 2017-03-21T12:32:27Z z0d: I've never saw Debian and up-to-date in the same sentence before 2017-03-21T12:34:14Z flip214: z0d: well, debian testing/unstable is quite nice for most packages... sadly the CL stuff isn't that regularly updated as in QL 2017-03-21T12:35:10Z jackdaniel: didi: if you stick to debian version, then you don't want asdf manual, but rather documentation installed with the package 2017-03-21T12:35:21Z jackdaniel: it's very possible its accessible with `info asdf` 2017-03-21T12:35:33Z didi: jackdaniel: That's what I am reading. 2017-03-21T12:36:58Z flip214: ouch.... python-asdf == Python library for the Advanced Scientific Data Format 2017-03-21T12:37:11Z flip214: cl-asdf is at 2:3.1.7-1 2017-03-21T12:37:27Z flip214: if you use testing/unstable. stable has 2:3.1.4-1 2017-03-21T12:37:45Z Lord_of_Life quit (Excess Flood) 2017-03-21T12:38:14Z didi is on Stable 2017-03-21T12:38:28Z Lord_of_Life joined #lisp 2017-03-21T12:38:54Z flip214: well, you could fetch this package only from testing, too 2017-03-21T12:39:07Z didi: Indeed. 2017-03-21T12:40:12Z flip214: I even pin "sbcl" to "experimental" to get the good stuff as early as possible... ;) 2017-03-21T12:40:20Z didi: :-) 2017-03-21T12:43:24Z _cosmonaut_ quit (Ping timeout: 260 seconds) 2017-03-21T12:49:22Z _cosmonaut_ joined #lisp 2017-03-21T12:56:03Z otjura joined #lisp 2017-03-21T13:01:24Z damke quit (Disconnected by services) 2017-03-21T13:01:24Z damke_ joined #lisp 2017-03-21T13:01:33Z damke_ is now known as damke 2017-03-21T13:02:12Z xuxuru joined #lisp 2017-03-21T13:02:39Z travv0 quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2017-03-21T13:03:02Z travv0 joined #lisp 2017-03-21T13:03:56Z scymtym quit (Remote host closed the connection) 2017-03-21T13:04:02Z scymtym_ joined #lisp 2017-03-21T13:04:28Z BusFacto_ joined #lisp 2017-03-21T13:06:08Z shka quit (Remote host closed the connection) 2017-03-21T13:09:42Z _cosmonaut_ quit (Remote host closed the connection) 2017-03-21T13:11:16Z EvW joined #lisp 2017-03-21T13:11:31Z _cosmonaut_ joined #lisp 2017-03-21T13:11:37Z shka joined #lisp 2017-03-21T13:13:45Z bpanthi joined #lisp 2017-03-21T13:15:30Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-21T13:16:20Z jameser joined #lisp 2017-03-21T13:17:05Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2017-03-21T13:17:06Z CEnnis91 joined #lisp 2017-03-21T13:17:18Z remote1 quit (Read error: Connection reset by peer) 2017-03-21T13:17:34Z himmAllRight17 quit (Remote host closed the connection) 2017-03-21T13:18:08Z himmAllRight joined #lisp 2017-03-21T13:18:25Z _cosmonaut_ joined #lisp 2017-03-21T13:18:58Z rpg joined #lisp 2017-03-21T13:19:49Z TDT quit (Quit: TDT) 2017-03-21T13:21:31Z xuxuru quit (Ping timeout: 240 seconds) 2017-03-21T13:21:58Z ogamita` is now known as ogamita 2017-03-21T13:22:31Z jdz: Hello guys! I'd like your opinions on this hack: http://paste.lisp.org/display/341991 2017-03-21T13:22:57Z jdz: The idea is to not have a global variable for each thread. 2017-03-21T13:23:06Z _cosmonaut_ quit (Ping timeout: 258 seconds) 2017-03-21T13:23:44Z _cosmonaut_ joined #lisp 2017-03-21T13:25:17Z quazimodo joined #lisp 2017-03-21T13:25:34Z warweasle joined #lisp 2017-03-21T13:25:59Z jdz: :tumbleweed: 2017-03-21T13:25:59Z Colleen: http://media.giphy.com/media/n1RJwTK8oMD5K/giphy.gif 2017-03-21T13:26:06Z vaporatorius joined #lisp 2017-03-21T13:26:13Z jackdaniel: jdz: you may want to use :initial-bindings argument to make-thread, so you don't have to declare it locally 2017-03-21T13:26:14Z vap1 joined #lisp 2017-03-21T13:26:35Z jackdaniel: (my 2 pennies) 2017-03-21T13:27:01Z warweasle: Is there a way to leave messages in this channel? Like .plexi in #lispgames? 2017-03-21T13:27:17Z jdz: This way it's more flexible -- I don't have to control the thread creation to use the facility. 2017-03-21T13:27:19Z jackdaniel: minion: memo for warweasle: yes 2017-03-21T13:27:19Z minion: Remembered. I'll tell warweasle when he/she/it next speaks. 2017-03-21T13:27:38Z jackdaniel: right 2017-03-21T13:27:54Z flip214: jdz: depending on how small the loops are where this is checked, you could also have a global hash-table 2017-03-21T13:28:00Z jdz: OK, so it's not too horrible. I'll leave this in my code, and see when I trip up on it myself :) 2017-03-21T13:28:01Z flip214: where a thread looks itself up. 2017-03-21T13:28:41Z warweasle: jackdaniel: Oh, hi jackdaniel. Haven't seen you in a while. 2017-03-21T13:28:41Z minion: warweasle, memo from jackdaniel: yes 2017-03-21T13:28:43Z eSVG joined #lisp 2017-03-21T13:29:07Z flip214: jdz: could have weak keys, so that threads quitting would clean that up automatically 2017-03-21T13:29:14Z jackdaniel: warweasle: is that so? hey o/ 2017-03-21T13:29:37Z phoe quit (Ping timeout: 268 seconds) 2017-03-21T13:29:40Z warweasle: minion: memo for XachX: I think I fixed clinch. It built with (ql:quickload :clinch :verbose t) 2017-03-21T13:29:40Z minion: Remembered. I'll tell XachX when he/she/it next speaks. 2017-03-21T13:29:55Z Xach: thanks warweasle 2017-03-21T13:30:04Z warweasle: jackdaniel: I've been awayish for a while. Trying to get back to my roots as a lisper. 2017-03-21T13:30:47Z phoe joined #lisp 2017-03-21T13:30:50Z jackdaniel: warweasle: I'm waiting impatiently until clinch api stabilizes, so I can get back to hacking with it – it was fun afair :) 2017-03-21T13:31:17Z warweasle: jackdaniel: Oh, it's stablized. I need to change my README. 2017-03-21T13:32:05Z damke quit (Ping timeout: 268 seconds) 2017-03-21T13:32:06Z jackdaniel: cool, then I'll have to fix my toy-programs to build with new version 2017-03-21T13:32:17Z varjag quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2017-03-21T13:32:29Z warweasle: Xach: I had to do some old asdf style manual package management. I should be thanking you. 2017-03-21T13:32:48Z damke joined #lisp 2017-03-21T13:32:52Z Xach: what was the occasion? 2017-03-21T13:33:16Z LiamH joined #lisp 2017-03-21T13:33:42Z warweasle: jackdaniel: I have several new examples. It's much nicer now. I expect the API to remain fairly constant. I have a couple of issues but I'll leave them for a while to keep things stable. (pango still uses bad key names :pango_alignment_left, etc) 2017-03-21T13:34:01Z bariscant quit (Quit: Leaving) 2017-03-21T13:34:46Z kuba-orlik joined #lisp 2017-03-21T13:35:19Z kuba-orlik: Hi! Could you help me figure out why the last line throws an error? http://pastebin.com/9TmHCHSj 2017-03-21T13:35:41Z kuba-orlik: The error is "Debugger entered--Lisp error: (void-variable repo-symbol) 2017-03-21T13:35:46Z kuba-orlik: (get repo-symbol (quote elements))" 2017-03-21T13:36:23Z antoszka: kuba-orlik: nie rób tych nawiasów na końcu à la C, serio 2017-03-21T13:36:24Z eSVG quit (Read error: Connection reset by peer) 2017-03-21T13:39:02Z strelox joined #lisp 2017-03-21T13:40:37Z beach: kuba-orlik: You must define variables before you use them. 2017-03-21T13:41:13Z beach: kuba-orlik: What implementation are you using? 2017-03-21T13:41:19Z kuba-orlik: emacs lisp 2017-03-21T13:41:29Z kuba-orlik: what's the preferred way to do it? 2017-03-21T13:41:34Z beach: kuba-orlik: This channel is dedicated to Common Lisp. 2017-03-21T13:42:01Z beach: kuba-orlik: You are better off asking in an Emacs-related channel. 2017-03-21T13:42:22Z ogamita: kuba-orlik: http://paste.lisp.org/display/341994 2017-03-21T13:42:59Z ogamita: kuba-orlik: notice that even emacs lisp has structures and objects, so you don't really need to use this old fashioned style. 2017-03-21T13:43:45Z kuba-orlik: Oh, I'll research objects in emacs lisp - thanks for the tip! 2017-03-21T13:46:05Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-21T13:46:38Z cromachina quit (Read error: Connection reset by peer) 2017-03-21T13:49:45Z al-damiri joined #lisp 2017-03-21T13:50:29Z ogamita: kuba-orlik: with objects: http://paste.lisp.org/display/341995 2017-03-21T13:50:45Z daemoz: Is there a way to have emacs store my fasl files somewhere cleaner? Or is it pretty standard for them to live in the source code directory? 2017-03-21T13:51:04Z ogamita: Emacs doesn't touch the fasl files. 2017-03-21T13:51:07Z beach: daemoz: If you use ASDF, they won't be in the source directory. 2017-03-21T13:51:50Z beach: daemoz: And you should always use ASDF. 2017-03-21T13:52:04Z daemoz: Not familiar with it, I'll look into it. What is it basically? 2017-03-21T13:52:08Z kuba-orlik: ogamita: thank you! defclass looks like the thing I needed 2017-03-21T13:52:29Z nopf joined #lisp 2017-03-21T13:52:39Z malice`: daemoz: It's Common Lisp system definition facility. Kind of like make for CL 2017-03-21T13:52:42Z malice`: but better 2017-03-21T13:52:49Z daemoz: Whoa okay. Cool. 2017-03-21T13:56:38Z jameser joined #lisp 2017-03-21T13:57:41Z beach: daemoz: Are you new to Common Lisp? 2017-03-21T13:58:27Z Lord_of_Life quit (Excess Flood) 2017-03-21T13:58:53Z daemoz: beach: I am. 2017-03-21T13:59:36Z beach: Welcome then! It's a great language! 2017-03-21T13:59:49Z daemoz: I haven't had this much fun programming in... Well... Ever. 2017-03-21T13:59:58Z Lord_of_Life joined #lisp 2017-03-21T14:00:01Z beach: I know what you mean. 2017-03-21T14:00:36Z daemoz: I'm excited at how deep it seems the rabbit hole goes as well! 2017-03-21T14:01:09Z jackdaniel: welcome :) 2017-03-21T14:01:25Z daemoz: ty :) 2017-03-21T14:01:27Z beach: daemoz: It can be quite a journey. 2017-03-21T14:01:57Z daemoz: beach: So far the community has been incredible and has already pointed me at so many amazing resources. About 3/4th of the way through Practical Common Lisp at this point. 2017-03-21T14:02:18Z beach: Excellent! 2017-03-21T14:02:20Z PinealGlandOptic quit (Quit: leaving) 2017-03-21T14:04:56Z smokeink joined #lisp 2017-03-21T14:05:49Z kuba-orlik: ogamita: what's the meaning of the asterisks in *repo-a*? 2017-03-21T14:06:27Z White__Flame: kuba-orlik: they're called "earmuffs", and generally indicate that that symbol is a toplevel/global/special variable 2017-03-21T14:06:47Z White__Flame: Lisp itself doesn't perceive those, it's just a well-used convention 2017-03-21T14:06:51Z kuba-orlik: is the asterisk a part of the syntax or part of the variable name? 2017-03-21T14:06:59Z White__Flame: variable name 2017-03-21T14:07:03Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-21T14:07:12Z White__Flame: and constants are usually indicated like +this+ 2017-03-21T14:07:52Z kobain joined #lisp 2017-03-21T14:10:00Z warweasle: White__Flame: You beat me to it. 2017-03-21T14:10:35Z warweasle: kuba-orlik: In the repl, however, * ** & *** are the last, second to last, and third last results. 2017-03-21T14:11:10Z warweasle: kuba-orlik: They are similar to $_ in perl. Some despise them, but I use them all the time. 2017-03-21T14:12:17Z jameser joined #lisp 2017-03-21T14:12:28Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-21T14:13:32Z EvW quit (Ping timeout: 256 seconds) 2017-03-21T14:14:15Z TMA: I would love to use them, but by the time I figure out whether they are * ** and *** or / // /// or + ++ +++ or - -- --- the result I am interested in is lost (I know, that one of the + or - do not have the double/triple version) 2017-03-21T14:16:16Z learning joined #lisp 2017-03-21T14:16:37Z White__Flame: all you need is * :) 2017-03-21T14:16:42Z malice`: ^ 2017-03-21T14:17:06Z jameser quit (Ping timeout: 268 seconds) 2017-03-21T14:17:08Z jackdaniel: I often find myself using / in repl lately 2017-03-21T14:17:51Z malice`: what are the uses of / ? 2017-03-21T14:18:07Z malice`: I often htought * was most useful, maybe sometimes + 2017-03-21T14:18:13Z ogamita: TMA: you could use your own REPL with longer history! 2017-03-21T14:18:22Z Khisanth quit (Ping timeout: 264 seconds) 2017-03-21T14:18:50Z sellout- joined #lisp 2017-03-21T14:18:59Z ogamita: TMA: cf. com.informatimago.common-lisp.interactive.interactive:repl 2017-03-21T14:18:59Z ogamita: 2017-03-21T14:19:48Z jackdaniel: malice`: multiple values 2017-03-21T14:20:07Z ogamita: - ; <- instant quine. 2017-03-21T14:20:21Z ogamita: (print -) ; <- another quine, but more work. 2017-03-21T14:20:23Z malice`: oooh 2017-03-21T14:20:24Z malice`: sexy 2017-03-21T14:20:37Z jackdaniel: malice`: sometimes I want to access second returned value, * doesn't give me that 2017-03-21T14:20:53Z malice`: Yes. Indeed, / might be useful then 2017-03-21T14:21:20Z EvW joined #lisp 2017-03-21T14:21:22Z kuba-orlik quit (Ping timeout: 258 seconds) 2017-03-21T14:24:24Z ogamita: TMA: Notice however that ! is a reader macro giving you the expression. so: (incf *x*) !! !! will keep incrementing, while (incf *x*) * * would just print the result again. 2017-03-21T14:25:14Z mulk quit (Quit: ZNC - http://znc.in) 2017-03-21T14:25:21Z benkard joined #lisp 2017-03-21T14:25:45Z benkard is now known as mulk 2017-03-21T14:28:50Z bpanthi quit (Ping timeout: 256 seconds) 2017-03-21T14:29:35Z TDT joined #lisp 2017-03-21T14:31:32Z Khisanth joined #lisp 2017-03-21T14:33:37Z loke___ joined #lisp 2017-03-21T14:34:00Z kuba-orlik joined #lisp 2017-03-21T14:34:03Z sword joined #lisp 2017-03-21T14:34:20Z daviid joined #lisp 2017-03-21T14:35:32Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-21T14:36:14Z yrk joined #lisp 2017-03-21T14:36:53Z yrk quit (Changing host) 2017-03-21T14:36:53Z yrk joined #lisp 2017-03-21T14:40:03Z mulk quit (Quit: ZNC - http://znc.in) 2017-03-21T14:40:20Z mulk joined #lisp 2017-03-21T14:40:53Z damke quit (Remote host closed the connection) 2017-03-21T14:41:10Z mulk quit (Client Quit) 2017-03-21T14:41:30Z mulk joined #lisp 2017-03-21T14:42:01Z mulk quit (Client Quit) 2017-03-21T14:42:19Z mulk joined #lisp 2017-03-21T14:48:03Z mulk quit (Quit: ZNC - http://znc.in) 2017-03-21T14:48:17Z oleo joined #lisp 2017-03-21T14:48:19Z mulk joined #lisp 2017-03-21T14:52:31Z axion: Good morning 2017-03-21T14:52:48Z axion: Is everyone prepped for the jam I'll be advertising soon? :) 2017-03-21T14:53:01Z dec0n quit (Quit: Leaving) 2017-03-21T14:53:15Z ogamita: Will you broadcast it on youtube live or on periscope? 2017-03-21T14:53:26Z axion: Broadcast what? 2017-03-21T14:53:35Z ogamita: the jam. 2017-03-21T14:53:40Z Karl_Dscc quit (Remote host closed the connection) 2017-03-21T14:53:42Z didi: mmmm jam 2017-03-21T14:53:44Z nyef: axion: Is this the mid-next-month thing? 2017-03-21T14:53:46Z axion: How would one broadcast everyone's code? 2017-03-21T14:54:07Z axion: nyef: Si 2017-03-21T14:54:26Z ogamita: jam: 3. an improvised performance by a group of musicians, especially in jazz or blues. 2017-03-21T14:54:41Z nyef: 15th to 21st or so? 2017-03-21T14:54:53Z ogamita: jam: 2. informal - an awkward situation or predicament. 2017-03-21T14:55:06Z axion: The term can also be used to denote a fruit spread, amoung other things. It is quite ambiguous. 2017-03-21T14:55:21Z axion: nyef: A full 2 weeks this time 2017-03-21T14:55:22Z didi: mmm fruit spread 2017-03-21T14:55:24Z ogamita: English is defective, let's switch to French or Esperanto. 2017-03-21T14:55:36Z nyef: Oho! 2017-03-21T14:55:37Z axion: and all future jams. 10-days always leaves a few stragglers. 2017-03-21T14:57:11Z krrrcks quit (Ping timeout: 268 seconds) 2017-03-21T15:00:33Z krrrcks joined #lisp 2017-03-21T15:01:17Z didi: So... do you write tests inside the package you're testing or outside it, using another package like foo/test? 2017-03-21T15:02:39Z axion: generally the latter 2017-03-21T15:02:56Z pebblexe joined #lisp 2017-03-21T15:02:58Z ogamita: didi: depends. 2017-03-21T15:03:22Z ogamita: didi: if you test the API, in a test package using only the public interface of the package (exported symbols). 2017-03-21T15:03:38Z pebblexe: how can I define a macro that I can pass a condition to? like let's say I want to pass (<= 1 x 10) in as a condition. but what do I do instead of placing x there? 2017-03-21T15:03:56Z ogamita: But sometimes, you want to test a function or an internal mechanism that is not exported, then the test is in the same package (different files, so you can load the tests optionally). 2017-03-21T15:04:18Z didi: ogamita: Ah, thank you. 2017-03-21T15:04:23Z didi: axion: Thanks. 2017-03-21T15:04:35Z ogamita: pebblexe: well macro arguments are lisp expressions (or parts of). 2017-03-21T15:05:20Z ogamita: pebblexe: are you sure you want to write a macro? It looks like you'd rather have a function with a predicate parameter: (f (lambda (x) (< 1 x 10))) 2017-03-21T15:05:36Z vaporatorius quit (Quit: Leaving) 2017-03-21T15:05:49Z ogamita: pebblexe: but with a macro, you could indicate to the macro the list of variables the macro should bind to evaluate the expression: (m (x) (< 1 x 10)) 2017-03-21T15:06:28Z ogamita: pebblexe: probably you should be more specific, and present the code you have so far ( http://paste.lisp.org/new ). 2017-03-21T15:07:39Z pebblexe: this is what I have so far: http://paste.lisp.org/display/342001 2017-03-21T15:07:55Z pebblexe: I've been working on this for days and I have so little to show for it 2017-03-21T15:08:06Z learning quit (Remote host closed the connection) 2017-03-21T15:08:16Z loke___: pebblexe: What is it you are trying to do? 2017-03-21T15:08:52Z pebblexe: loke___: make match a nice easy looking version of the function I am trying to write 2017-03-21T15:09:06Z loke___: pebblexe: sure, but what do you want the function to do? 2017-03-21T15:09:16Z gingerale quit (Remote host closed the connection) 2017-03-21T15:09:27Z pebblexe: I want it to be a shorter version of pack/pack-int 2017-03-21T15:09:39Z pebblexe: smaller 2017-03-21T15:09:51Z loke___: pebblexe: I don' t know what pack-int is supposed to do. 2017-03-21T15:10:26Z pebblexe: loke___: I am trying to port msgpack to cl, so this is a serialization/deserialization library 2017-03-21T15:10:46Z pebblexe: I am really trying to port this: https://github.com/edma2/clojure-msgpack/blob/master/src/msgpack/core.clj 2017-03-21T15:11:08Z axion: pebblexe: There is conspack already, which is superior 2017-03-21T15:11:20Z Xach: pebblexe: as a learning exercise? 2017-03-21T15:11:25Z flip214: pebblexe: https://github.com/mbrezu/cl-messagepack 2017-03-21T15:11:31Z flip214: pebblexe: https://github.com/mbrezu/cl-messagepack 2017-03-21T15:11:33Z axion: pebblexe: https://github.com/conspack/cl-conspack 2017-03-21T15:11:51Z gingerale joined #lisp 2017-03-21T15:11:53Z flip214: sorry, https://github.com/adolenc/cl-messagepack-rpc 2017-03-21T15:11:54Z pebblexe: oh, wow I didn't know 2017-03-21T15:12:01Z pebblexe: I just checked cliki and didn't see it 2017-03-21T15:12:05Z flip214: even in QL already, IIRC 2017-03-21T15:12:18Z pebblexe: my bad 2017-03-21T15:12:25Z flip214: pebblexe: protip for next time: (ql:system-apropos "pack") 2017-03-21T15:12:30Z flip214: or similar search strings ;) 2017-03-21T15:12:34Z pebblexe: flip214: thanks! 2017-03-21T15:13:32Z flip214: axion: is conspack supported by other languages as well? 2017-03-21T15:13:48Z axion: No 2017-03-21T15:14:03Z flip214: uh, yeah. there had to be a problem with it ;/ 2017-03-21T15:14:24Z axion: it is oGMo's invention. Very fast and useful library nonetheless 2017-03-21T15:14:32Z axion: err rpav nowadays 2017-03-21T15:14:39Z flip214: so for an API msgpack is still much easier to use. thanks for the link, though; perhaps I'll use it in some project. 2017-03-21T15:14:49Z add^__ is now known as add^_ 2017-03-21T15:15:31Z raynold joined #lisp 2017-03-21T15:16:56Z didi feels the urge of using SXHASH to total order EQUAL objects 2017-03-21T15:17:20Z ogamita: didi: two equal objects can have the same SXHASH… 2017-03-21T15:17:29Z ogamita: while they're EQL-different. 2017-03-21T15:17:36Z didi: ogamita: Hum... 2017-03-21T15:17:41Z shka: nah 2017-03-21T15:17:49Z ogamita: (mapcar 'sxhash (list (list 'a) (list 'a))) #| --> (78287 78287) |# 2017-03-21T15:17:57Z emacsomancer quit (Ping timeout: 240 seconds) 2017-03-21T15:18:08Z didi: I think I am fine with it. 2017-03-21T15:18:18Z didi: Tho I have to think more. 2017-03-21T15:18:21Z ogamita: (mapcar 'sxhash (list (list 'a) (list 'b))) #| --> (78287 78288) |# 2017-03-21T15:18:23Z flip214: didi: how about (sb-kernel:get-lisp-obj-address X) ? 2017-03-21T15:18:24Z shka: ogamita: first of, sxhash may or may not return reasonable value for lists 2017-03-21T15:18:26Z jackdaniel: sxhash always returns same value for vectors on some implementations 2017-03-21T15:18:40Z didi: flip214: Maybe? I dunno. 2017-03-21T15:18:44Z jackdaniel: it's not said that hashtable uses sxhash internally 2017-03-21T15:18:57Z flip214: not sure whether that is constant, ie. whether a GC will change the values, though. 2017-03-21T15:19:05Z didi: flip214: True. 2017-03-21T15:19:11Z didi: There is moving GCs. 2017-03-21T15:19:15Z didi: s/is/are 2017-03-21T15:19:27Z shka: didi: check serapeum ordering function 2017-03-21T15:19:38Z didi: shka: Cool. Thank you. 2017-03-21T15:19:41Z shka: you need something like that 2017-03-21T15:20:20Z shka: it returns function that can be used to compare objects and perform topological sort 2017-03-21T15:20:47Z shka: but don't assume that sxhash is usefull for your use case 2017-03-21T15:21:05Z shka: as jackdaniel pointed out it may return same value on vectors 2017-03-21T15:21:14Z shka: in fact, it does that in sbcl 2017-03-21T15:21:23Z shka: i 2017-03-21T15:21:25Z axion: ogamita: I apologize. I thought I was in the #lispgames channel. I can see how you didn't have enough context now as you haven't been there in over a year. 2017-03-21T15:21:44Z shka: i'm not even sure that it must work on lists 2017-03-21T15:21:46Z Karl_Dscc joined #lisp 2017-03-21T15:22:12Z learning joined #lisp 2017-03-21T15:22:13Z shka: ideally, supply your own hash function 2017-03-21T15:22:42Z ogamita: axion: hopefully, I should be resuming writing games in lisp within a year. :-) 2017-03-21T15:23:01Z axion: ogamita: Nice 2017-03-21T15:24:44Z TDT quit (Quit: TDT) 2017-03-21T15:25:35Z zeissoctopus joined #lisp 2017-03-21T15:28:10Z smokeink quit (Remote host closed the connection) 2017-03-21T15:33:21Z [0x8b30cc] joined #lisp 2017-03-21T15:34:39Z wheelsucker joined #lisp 2017-03-21T15:34:39Z bariscant joined #lisp 2017-03-21T15:35:08Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-21T15:36:16Z flamebeard quit (Quit: Leaving) 2017-03-21T15:39:20Z Guest84955 is now known as micro_ 2017-03-21T15:44:14Z BitPuffin|osx joined #lisp 2017-03-21T15:46:06Z bpanthi joined #lisp 2017-03-21T15:47:44Z Harag quit (Ping timeout: 260 seconds) 2017-03-21T15:49:27Z jameser joined #lisp 2017-03-21T15:49:48Z didi: Heh, this "serapeum" looks like my own collection of functions. I think every CL programmer might have one such companion. 2017-03-21T15:52:41Z jameser quit (Client Quit) 2017-03-21T15:52:50Z Harag joined #lisp 2017-03-21T15:54:39Z Xach: i have ten or fifteen that i have to track 2017-03-21T15:54:48Z didi: :-D 2017-03-21T15:58:45Z ogamita: didi: alexandria, cesarum, serapeum, clocc, etc. 2017-03-21T15:59:00Z didi: I only knew alexandria. 2017-03-21T16:00:08Z White__Flame: our "simple-utils" is quite large :) 2017-03-21T16:00:58Z White__Flame: is it time to flood quicklisp with "leftpad" systems? ;) 2017-03-21T16:01:23Z Xach: didi: so many more 2017-03-21T16:01:59Z attila_lendvai joined #lisp 2017-03-21T16:01:59Z attila_lendvai quit (Changing host) 2017-03-21T16:01:59Z attila_lendvai joined #lisp 2017-03-21T16:02:22Z ogamita: Eventually I will set up a git repo with world-writeable access rights. 2017-03-21T16:03:27Z learning quit (Remote host closed the connection) 2017-03-21T16:04:31Z didi: A global hash of functions? Some dream about it. 2017-03-21T16:04:47Z neoncontrails joined #lisp 2017-03-21T16:06:46Z loke___: clearly we need an IsArray librrary 2017-03-21T16:07:00Z ogamita: (defun is-array (x) (typep x 'array)) 2017-03-21T16:07:13Z loke___: ogamita: No no. We need a QL system for that. 2017-03-21T16:07:29Z jackdaniel: and package 2017-03-21T16:07:35Z loke___: Liek this one 2017-03-21T16:07:36Z loke___: https://www.npmjs.com/package/isarray 2017-03-21T16:07:37Z jackdaniel: so we can do: (ql:quickload 'is-array) 2017-03-21T16:07:42Z jackdaniel: (is-array:is-array array) 2017-03-21T16:07:46Z jackdaniel: ;) 2017-03-21T16:08:00Z White__Flame: yes, moar left-pad 2017-03-21T16:08:00Z kuba-orlik quit (Ping timeout: 256 seconds) 2017-03-21T16:08:03Z ogamita: or: (is-array:p array) ? 2017-03-21T16:08:06Z mulk quit (Ping timeout: 268 seconds) 2017-03-21T16:08:08Z White__Flame: then somebody can unpublish it 2017-03-21T16:08:29Z White__Flame: and hail the 2nd AI winter 2017-03-21T16:08:30Z loke___: And in line with the JS implementation (here: https://www.npmjs.com/package/isarray), the CL implementation should be: 2017-03-21T16:09:06Z loke___: (defun is-array (a) (search "ARRAY" (format nil "~s" (type-of a)))) 2017-03-21T16:09:22Z Xach shivers 2017-03-21T16:09:30Z didi: ! 2017-03-21T16:09:41Z zeissoctopus quit (Quit: Leaving) 2017-03-21T16:10:07Z RedEight joined #lisp 2017-03-21T16:13:27Z learning joined #lisp 2017-03-21T16:13:55Z mulk joined #lisp 2017-03-21T16:14:00Z ogamita: (deftype RadarRayDesignator () `(or symbol radar-ray)) 2017-03-21T16:14:30Z sellout- quit (Read error: Connection reset by peer) 2017-03-21T16:14:49Z sellout- joined #lisp 2017-03-21T16:15:00Z didi: Ah, cool. SLIME has a ,test-system 2017-03-21T16:18:00Z malice`: we already have trivial-left-pad: https://gitlab.com/mbabich/trivial-left-pad 2017-03-21T16:18:36Z RedEight quit (Quit: leaving) 2017-03-21T16:19:09Z kev1n joined #lisp 2017-03-21T16:19:15Z TDT joined #lisp 2017-03-21T16:19:33Z kev1n quit (Remote host closed the connection) 2017-03-21T16:23:30Z RedEight joined #lisp 2017-03-21T16:24:20Z defaultxr joined #lisp 2017-03-21T16:27:14Z TDT quit (Quit: TDT) 2017-03-21T16:27:56Z learning quit (Remote host closed the connection) 2017-03-21T16:31:14Z Younder joined #lisp 2017-03-21T16:31:35Z loke___ quit (Ping timeout: 240 seconds) 2017-03-21T16:32:52Z o1e9 quit (Quit: Ex-Chat) 2017-03-21T16:34:57Z shifty quit (Ping timeout: 240 seconds) 2017-03-21T16:37:50Z TDT joined #lisp 2017-03-21T16:39:01Z [0x8b30cc] quit (Quit: Leaving) 2017-03-21T16:41:23Z manualcrank joined #lisp 2017-03-21T16:42:43Z jealousmonk joined #lisp 2017-03-21T16:43:21Z varjag joined #lisp 2017-03-21T16:44:04Z learning joined #lisp 2017-03-21T16:45:19Z dyelar joined #lisp 2017-03-21T16:46:03Z Bike joined #lisp 2017-03-21T16:48:33Z ogamita quit (Read error: Connection reset by peer) 2017-03-21T16:48:43Z dwrngr joined #lisp 2017-03-21T16:48:53Z shka_ joined #lisp 2017-03-21T16:49:20Z _cosmonaut_ quit (Ping timeout: 258 seconds) 2017-03-21T16:49:58Z _cosmonaut_ joined #lisp 2017-03-21T16:49:59Z ogamita joined #lisp 2017-03-21T17:03:20Z _death: the initial commit is 2016-03-24.. I'd have expected 2016-04-01 2017-03-21T17:05:44Z ogamita quit (Ping timeout: 240 seconds) 2017-03-21T17:13:54Z BlueRavenGT joined #lisp 2017-03-21T17:17:10Z daemoz quit (Ping timeout: 268 seconds) 2017-03-21T17:18:27Z sjl quit (Ping timeout: 240 seconds) 2017-03-21T17:18:50Z EvW quit (Ping timeout: 256 seconds) 2017-03-21T17:23:55Z bocaneri quit (Remote host closed the connection) 2017-03-21T17:24:27Z malice` quit (Quit: Page closed) 2017-03-21T17:27:21Z Xof: is anyone here going to ELS? 2017-03-21T17:28:18Z jackdaniel 2017-03-21T17:28:59Z Bike: ja. 2017-03-21T17:29:19Z jackdaniel: afair also beach, Bike, phoe and antoszka on this channel 2017-03-21T17:29:25Z Xof: any recommendations for places to stay? 2017-03-21T17:29:36Z antoszka: Xof: Yeah, hold on. 2017-03-21T17:30:25Z antoszka: Xof: Jam Hotel – at least 6 or 7 lispers already declared staying there. 2017-03-21T17:31:47Z m00natic quit (Remote host closed the connection) 2017-03-21T17:32:01Z antoszka: I booked a bed in a dorm, it was crazy cheap, but I suppose „normal” rooms are available as well. 2017-03-21T17:33:09Z varjag: i'm in a something something palace at the central square 2017-03-21T17:33:32Z varjag: the conference site has recommendations list 2017-03-21T17:34:32Z attila_lendvai: antoszka: which dorm? in case I make a last minute decision... I'm considering 2017-03-21T17:35:59Z Myk267 quit (Quit: Leaving) 2017-03-21T17:37:55Z Xof: I should have booked before brexit :-/ 2017-03-21T17:39:50Z beach: Xof: Do you have a paper to present? 2017-03-21T17:40:02Z bariscant quit (Quit: Leaving) 2017-03-21T17:40:42Z Xof: no 2017-03-21T17:41:00Z Xof: I haven't been following anything about ELS this year. Is there a social activity on the Sunday evening? 2017-03-21T17:41:16Z beach: Nothing is planned as far as I can tell. 2017-03-21T17:41:25Z beach: But we can plan one if you like. 2017-03-21T17:41:41Z Xof: heh, no. 2017-03-21T17:41:44Z Xof: looking at train times 2017-03-21T17:42:46Z jackdaniel: if anything is planned, I'd vote for time after or during ELS, many people arrive at Sunday 2017-03-21T17:42:56Z jackdaniel: on° 2017-03-21T17:43:17Z beach: They are not mutually exclusive. :) 2017-03-21T17:43:45Z jackdaniel: heh 2017-03-21T17:44:46Z antoszka: attila_lendvai: I've no idea which dormitory it is… Just clicked the cheapest one on booking.com 2017-03-21T17:45:13Z antoszka: attila_lendvai: feel free to ask the hotel staff about my reservation under the name of 'Antoni Grzymala' 2017-03-21T17:45:54Z wildlander joined #lisp 2017-03-21T17:47:50Z rogersm quit (Quit: rogersm) 2017-03-21T17:53:27Z antoszka: attila_lendvai: i looked at the reservation e-mail and all it says is just 'dormitory'. 2017-03-21T17:58:32Z bpanthi quit (Quit: bpanthi) 2017-03-21T18:00:45Z sellout- quit (Quit: Leaving.) 2017-03-21T18:03:53Z attila_lendvai: antoszka: thanks 2017-03-21T18:04:10Z TDT quit (Quit: TDT) 2017-03-21T18:04:28Z troydm quit (Ping timeout: 240 seconds) 2017-03-21T18:05:10Z antoszka: np 2017-03-21T18:06:50Z fourier` joined #lisp 2017-03-21T18:13:03Z Myk267 joined #lisp 2017-03-21T18:17:08Z hhdave quit (Ping timeout: 240 seconds) 2017-03-21T18:28:50Z learning quit (Remote host closed the connection) 2017-03-21T18:30:28Z nowhere_man quit (Ping timeout: 246 seconds) 2017-03-21T18:34:10Z mood: antoszka: You replied to the elsconf mailing list that you booked at the Jam hotel 2017-03-21T18:35:46Z gargaml quit (Ping timeout: 264 seconds) 2017-03-21T18:39:28Z ryanwatkins quit (Ping timeout: 260 seconds) 2017-03-21T18:41:37Z EvW1 joined #lisp 2017-03-21T18:43:37Z vydd joined #lisp 2017-03-21T18:43:37Z vydd quit (Changing host) 2017-03-21T18:43:37Z vydd joined #lisp 2017-03-21T18:45:32Z antoszka: mood: I did. 2017-03-21T18:45:53Z Xach: jealous 2017-03-21T18:45:59Z mood: Yeah, I'm sorry, I misread the conversation 2017-03-21T18:53:05Z nowhere_man joined #lisp 2017-03-21T18:53:55Z nowhere_man quit (Read error: Connection reset by peer) 2017-03-21T18:54:02Z nowhereman joined #lisp 2017-03-21T18:56:17Z thodg quit (Ping timeout: 260 seconds) 2017-03-21T18:56:24Z vlnx_ is now known as vlnx 2017-03-21T18:57:37Z TDT joined #lisp 2017-03-21T19:03:15Z troydm joined #lisp 2017-03-21T19:19:03Z thodg joined #lisp 2017-03-21T19:20:26Z zaquest quit (Quit: Leaving) 2017-03-21T19:21:25Z Einwq joined #lisp 2017-03-21T19:21:28Z thodg quit (Read error: Connection reset by peer) 2017-03-21T19:27:05Z terpri joined #lisp 2017-03-21T19:33:29Z BusFact__ joined #lisp 2017-03-21T19:35:57Z BusFacto_ quit (Ping timeout: 240 seconds) 2017-03-21T19:37:31Z andrzejku joined #lisp 2017-03-21T19:37:34Z andrzejku: hello 2017-03-21T19:37:46Z andrzejku: is lisp a dead language? 2017-03-21T19:38:57Z andrzejku quit (Client Quit) 2017-03-21T19:44:30Z sunnny joined #lisp 2017-03-21T19:45:04Z Myk267 quit (Quit: Leaving) 2017-03-21T19:45:09Z fourier` quit (Remote host closed the connection) 2017-03-21T19:45:12Z jackdaniel: antoszka: nah, it just smells funny ;) 2017-03-21T19:45:32Z jackdaniel: andrzejku° 2017-03-21T19:45:37Z jackdaniel: antoszka: please ignore :) 2017-03-21T19:45:37Z mrcom_ quit (Read error: Connection reset by peer) 2017-03-21T19:45:55Z fourier` joined #lisp 2017-03-21T19:49:44Z fourier` quit (Client Quit) 2017-03-21T19:49:53Z libreman quit (Ping timeout: 258 seconds) 2017-03-21T19:50:25Z fourier joined #lisp 2017-03-21T19:54:00Z yrk quit (Read error: No route to host) 2017-03-21T20:00:35Z andrzejku joined #lisp 2017-03-21T20:03:00Z neoncontrails quit (Remote host closed the connection) 2017-03-21T20:03:09Z libreman joined #lisp 2017-03-21T20:03:40Z neoncontrails joined #lisp 2017-03-21T20:03:48Z neoncontrails quit (Remote host closed the connection) 2017-03-21T20:04:29Z neoncontrails joined #lisp 2017-03-21T20:04:36Z neoncontrails quit (Remote host closed the connection) 2017-03-21T20:05:18Z neoncontrails joined #lisp 2017-03-21T20:05:26Z neoncontrails quit (Remote host closed the connection) 2017-03-21T20:05:27Z yrk joined #lisp 2017-03-21T20:06:06Z yrk quit (Changing host) 2017-03-21T20:06:06Z yrk joined #lisp 2017-03-21T20:06:55Z pnq joined #lisp 2017-03-21T20:07:18Z milanj joined #lisp 2017-03-21T20:10:32Z karswell quit (Read error: Connection reset by peer) 2017-03-21T20:10:36Z karswell` joined #lisp 2017-03-21T20:10:46Z warweasle quit (Quit: gotta go.) 2017-03-21T20:11:10Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-21T20:11:19Z shrdlu68 joined #lisp 2017-03-21T20:14:55Z shrdlu68: Good evening Mensch 2017-03-21T20:16:35Z BusFactorX joined #lisp 2017-03-21T20:16:43Z zaquest joined #lisp 2017-03-21T20:19:24Z rjid joined #lisp 2017-03-21T20:19:27Z libreman quit (Ping timeout: 240 seconds) 2017-03-21T20:21:27Z ebrasca` quit (Ping timeout: 240 seconds) 2017-03-21T20:22:09Z BusFactorX quit (Remote host closed the connection) 2017-03-21T20:25:39Z okflo` left #lisp 2017-03-21T20:29:40Z learning joined #lisp 2017-03-21T20:33:04Z libreman joined #lisp 2017-03-21T20:33:32Z rumbler31 joined #lisp 2017-03-21T20:34:34Z learning quit (Ping timeout: 264 seconds) 2017-03-21T20:35:42Z krasnal joined #lisp 2017-03-21T20:37:52Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-21T20:39:43Z scymtym_ quit (Ping timeout: 258 seconds) 2017-03-21T20:41:07Z zooey quit (Ping timeout: 240 seconds) 2017-03-21T20:43:46Z zooey joined #lisp 2017-03-21T20:45:06Z rumbler31 joined #lisp 2017-03-21T20:52:08Z BusFact__ is now known as burtons 2017-03-21T20:52:22Z fourier quit (Ping timeout: 260 seconds) 2017-03-21T20:53:05Z rjid quit (Ping timeout: 260 seconds) 2017-03-21T20:56:02Z ryanwatkins joined #lisp 2017-03-21T21:00:05Z sunnny quit (Quit: init 0) 2017-03-21T21:02:01Z gingerale quit (Read error: Connection reset by peer) 2017-03-21T21:04:08Z snowcrshd quit (Ping timeout: 260 seconds) 2017-03-21T21:04:36Z andrzejku quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-21T21:05:58Z josh_2 joined #lisp 2017-03-21T21:06:27Z josh_2 quit (Remote host closed the connection) 2017-03-21T21:06:52Z bariscant joined #lisp 2017-03-21T21:23:44Z shka_ quit (Ping timeout: 260 seconds) 2017-03-21T21:26:46Z wildlander quit (Quit: Saliendo) 2017-03-21T21:28:23Z wheelsucker quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2017-03-21T21:31:25Z reepca joined #lisp 2017-03-21T21:32:08Z scymtym joined #lisp 2017-03-21T21:32:24Z reepca quit (Client Quit) 2017-03-21T21:33:32Z pnq quit (Ping timeout: 260 seconds) 2017-03-21T21:33:51Z strelox quit (Remote host closed the connection) 2017-03-21T21:34:48Z reepca joined #lisp 2017-03-21T21:48:57Z BlueRavenGT quit (Ping timeout: 240 seconds) 2017-03-21T21:51:50Z BlueRavenGT joined #lisp 2017-03-21T21:56:28Z Lord_of_Life quit (Excess Flood) 2017-03-21T21:56:31Z didi quit (Quit: you can't /fire me, I /quit) 2017-03-21T21:57:20Z josh_2 joined #lisp 2017-03-21T21:59:19Z strykerkkd joined #lisp 2017-03-21T21:59:28Z Lord_of_Life joined #lisp 2017-03-21T22:00:15Z Einwq quit (Quit: Leaving) 2017-03-21T22:01:31Z nirved quit (Quit: Leaving) 2017-03-21T22:03:24Z fourier joined #lisp 2017-03-21T22:05:01Z klltkr joined #lisp 2017-03-21T22:14:00Z MoALTz quit (Quit: Leaving) 2017-03-21T22:16:30Z azzamsa joined #lisp 2017-03-21T22:17:44Z angavrilov quit (Remote host closed the connection) 2017-03-21T22:25:40Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-21T22:32:33Z sjl joined #lisp 2017-03-21T22:35:07Z josh_2 quit (Remote host closed the connection) 2017-03-21T22:37:00Z Reinisch quit (Ping timeout: 260 seconds) 2017-03-21T22:42:37Z neoncontrails joined #lisp 2017-03-21T22:43:07Z araujo quit (Read error: Connection timed out) 2017-03-21T22:44:18Z araujo joined #lisp 2017-03-21T22:44:18Z araujo quit (Changing host) 2017-03-21T22:44:18Z araujo joined #lisp 2017-03-21T22:45:00Z quazimodo joined #lisp 2017-03-21T22:46:12Z LiamH quit (Quit: Leaving.) 2017-03-21T22:50:23Z vydd quit (Remote host closed the connection) 2017-03-21T22:50:31Z moei quit (Quit: Leaving...) 2017-03-21T22:50:36Z vydd joined #lisp 2017-03-21T22:50:36Z vydd quit (Changing host) 2017-03-21T22:50:36Z vydd joined #lisp 2017-03-21T22:51:08Z vydd quit (Remote host closed the connection) 2017-03-21T22:51:26Z vydd joined #lisp 2017-03-21T22:51:26Z vydd quit (Changing host) 2017-03-21T22:51:26Z vydd joined #lisp 2017-03-21T22:51:56Z vydd quit (Remote host closed the connection) 2017-03-21T22:52:17Z vydd joined #lisp 2017-03-21T22:52:44Z vydd quit (Remote host closed the connection) 2017-03-21T22:54:58Z ikki joined #lisp 2017-03-21T23:03:37Z ikki quit (Ping timeout: 260 seconds) 2017-03-21T23:06:52Z quazimodo quit (Ping timeout: 260 seconds) 2017-03-21T23:08:03Z mishoo quit (Ping timeout: 268 seconds) 2017-03-21T23:09:04Z MrWoohoo quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2017-03-21T23:11:28Z MrWoohoo joined #lisp 2017-03-21T23:11:57Z varjag quit (Ping timeout: 240 seconds) 2017-03-21T23:14:02Z MrWoohoo quit (Client Quit) 2017-03-21T23:14:58Z fourier quit (Ping timeout: 258 seconds) 2017-03-21T23:20:06Z ikki joined #lisp 2017-03-21T23:21:18Z bungoman joined #lisp 2017-03-21T23:22:22Z bungoman_ quit (Ping timeout: 246 seconds) 2017-03-21T23:23:01Z Kaisyu joined #lisp 2017-03-21T23:23:10Z jealousmonk quit (Ping timeout: 264 seconds) 2017-03-21T23:23:39Z mrottenkolber joined #lisp 2017-03-21T23:27:31Z MrWoohoo joined #lisp 2017-03-21T23:28:57Z cibs quit (Ping timeout: 240 seconds) 2017-03-21T23:31:11Z dto joined #lisp 2017-03-21T23:31:15Z cibs joined #lisp 2017-03-21T23:36:01Z cromachina joined #lisp 2017-03-21T23:43:01Z CEnnis91 quit (Quit: Connection closed for inactivity) 2017-03-21T23:47:08Z ryanwatk` joined #lisp 2017-03-21T23:47:56Z ryanwatkins quit (Remote host closed the connection) 2017-03-21T23:48:18Z quazimodo joined #lisp 2017-03-21T23:48:54Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-21T23:55:08Z dto quit (Remote host closed the connection) 2017-03-21T23:55:52Z otjura quit (Ping timeout: 260 seconds) 2017-03-21T23:55:58Z vydd joined #lisp 2017-03-21T23:57:44Z mrottenkolber quit (Ping timeout: 240 seconds) 2017-03-21T23:59:28Z quazimodo quit (Ping timeout: 256 seconds) 2017-03-21T23:59:31Z krwq joined #lisp 2017-03-22T00:06:31Z RedEight quit (Quit: leaving) 2017-03-22T00:10:46Z vydd quit (Remote host closed the connection) 2017-03-22T00:11:03Z vydd joined #lisp 2017-03-22T00:11:32Z vydd quit (Remote host closed the connection) 2017-03-22T00:11:44Z pve quit (Ping timeout: 260 seconds) 2017-03-22T00:12:41Z prole quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2017-03-22T00:14:12Z BlueRavenGT quit (Ping timeout: 260 seconds) 2017-03-22T00:21:39Z aeth: Does anyone have any idea why something that would perform around 3% CPU in SBCL and around 6% CPU in CCL would struggle at 100% CPU in ECL? I'm guessing something creates a lot of garbage in an inner loop in ECL but not SBCL and CCL, or at least not as much garbage. 2017-03-22T00:21:58Z remote1 joined #lisp 2017-03-22T00:23:06Z antoszka: jackdaniel: ↑ 2017-03-22T00:23:42Z shifty joined #lisp 2017-03-22T00:25:58Z SAL9000 quit (Quit: ZNC - http://znc.in) 2017-03-22T00:26:23Z SAL9000 joined #lisp 2017-03-22T00:26:42Z jason_m: aeth: Could you get an idea using (time ...) and comparing the number of bytes consed, time spent in gc? i know ccl and sbcl have those things in their time output. Not sure about ecl. 2017-03-22T00:27:58Z quazimodo joined #lisp 2017-03-22T00:29:07Z shrdlu68: Just finished asdfying a project. First time for everything :) 2017-03-22T00:33:09Z terpri quit (Read error: Connection reset by peer) 2017-03-22T00:37:27Z pillton: shrdlu68: I like ASDF. It saves a lot of time. 2017-03-22T00:41:04Z fourier joined #lisp 2017-03-22T00:42:31Z msmith quit (Remote host closed the connection) 2017-03-22T00:44:07Z warweasle joined #lisp 2017-03-22T00:44:42Z Karl_Dscc quit (Remote host closed the connection) 2017-03-22T00:45:48Z fourier quit (Ping timeout: 260 seconds) 2017-03-22T00:47:11Z sz0 joined #lisp 2017-03-22T00:47:21Z cibs quit (Ping timeout: 258 seconds) 2017-03-22T00:49:15Z cibs joined #lisp 2017-03-22T00:51:05Z ikki quit (Quit: Leaving) 2017-03-22T00:53:40Z strykerkkd quit (Remote host closed the connection) 2017-03-22T00:57:01Z l04m33 joined #lisp 2017-03-22T00:59:48Z pjb quit (Ping timeout: 240 seconds) 2017-03-22T01:00:30Z milanj quit (Quit: Leaving) 2017-03-22T01:01:47Z wtetzner joined #lisp 2017-03-22T01:03:04Z shrdlu68 left #lisp 2017-03-22T01:04:44Z mietek joined #lisp 2017-03-22T01:05:36Z Lord_of_Life quit (Excess Flood) 2017-03-22T01:05:55Z aeth: jason_m: I used to use time, but in SBCL one can just disassemble a function and look for a commented allocation there. 2017-03-22T01:05:58Z aeth: I'm not sure about CCL 2017-03-22T01:06:20Z aeth: (time and a lot of other fancy things) 2017-03-22T01:06:58Z Lord_of_Life joined #lisp 2017-03-22T01:09:21Z jason_m: aeth: sounds like a more reliable approach. I haven't played with disassembling yet. 2017-03-22T01:09:52Z aeth: It's very useful. I'm surprised I discovered it so late. 2017-03-22T01:09:58Z EvW1 quit (Ping timeout: 258 seconds) 2017-03-22T01:10:49Z aeth: If the function is creating something, there should be one (?) thread.alloc-region and it shouldn't be there if the function is merely modifying something 2017-03-22T01:12:44Z pillton: The statistical profile in SBCL allows you to profile allocations. (sb-sprof:with-profiling (:mode :alloc) ...) 2017-03-22T01:13:38Z aeth: Yes, that is one of the things I used to use. Statistical means it misses some tiny allocations, though. 2017-03-22T01:13:54Z aeth: I noticed that after checking ROOM 2017-03-22T01:14:09Z aeth: Disassembling will miss nothing, unless there's some allocation in SBCL that isn't commented in the disassembly 2017-03-22T01:14:23Z shdeng joined #lisp 2017-03-22T01:14:37Z aeth: I mean, disassembling will miss nothing if I can also read the assembly too :-p 2017-03-22T01:15:01Z l04m33 quit (Quit: leaving) 2017-03-22T01:15:10Z pillton: Well it picked up https://bugs.launchpad.net/sbcl/+bug/1398785. 2017-03-22T01:17:57Z lexicall joined #lisp 2017-03-22T01:22:40Z stepnem quit (Ping timeout: 260 seconds) 2017-03-22T01:25:01Z azzamsa quit (Remote host closed the connection) 2017-03-22T01:27:11Z aeth: bah, there can still be consing when that's not there 2017-03-22T01:27:15Z aeth: probably a function it calls 2017-03-22T01:27:25Z krwq: how do you create a metapackage? what I mean is to create a package - when someone does use-package on that he should automatically also use few other packages 2017-03-22T01:28:13Z krwq: i.e. (use-package :foo) would imply (use-package :foo.a) (use-package :foo.b) ... 2017-03-22T01:28:40Z Bike: you can't, but you can have foo export symbols from those other packages. 2017-03-22T01:28:49Z pillton: You can't do it declaratively. You can do it programmatically though. 2017-03-22T01:29:12Z krwq: how do you do that? 2017-03-22T01:29:19Z Bike: ...and of course you can define a package that's just there to reexport symbols from a bunch of packages. 2017-03-22T01:29:42Z krwq: Bike: could you explain the last one? 2017-03-22T01:30:21Z krwq: which option is the most recommended for defining subpackages? 2017-03-22T01:30:33Z pillton: The case you specify would be easier if you did (defpackage "FOO.A" (:import-from "FOO" ...)). 2017-03-22T01:30:34Z krwq: i just want some submodules but i want them in separate packages 2017-03-22T01:31:02Z krwq: does :import-from imports all symbols? 2017-03-22T01:31:07Z Bike: you can have a "metapackage" that imports symbols from other package and then exports them. so like uh... 2017-03-22T01:31:15Z Bike: no, it imports only the symbols you list. 2017-03-22T01:31:15Z pillton: No. You specify which symbols to import. 2017-03-22T01:31:28Z pillton: Sorry Bike. 2017-03-22T01:31:34Z krwq: so it would be like (:import-from "FOO" :a :b :c)? 2017-03-22T01:31:38Z Bike: sorry for what 2017-03-22T01:31:52Z pillton: Interrupting. 2017-03-22T01:32:09Z Bike: nah whatever i'm not good with packages anyway 2017-03-22T01:32:11Z Bike: krwq: yeah 2017-03-22T01:32:47Z pillton: It would be better if you used strings. 2017-03-22T01:33:07Z krwq: Bike: is there some easy way to import all? some function or something? I'm not sure if it would be ok to just put some random code under the defpackage 2017-03-22T01:33:27Z Bike: import all symbols a package exports? 2017-03-22T01:33:33Z krwq: yes 2017-03-22T01:33:39Z Bike: something with do-external-symbols, yeah. hopefully in a macro 2017-03-22T01:34:06Z FreeBirdLjj joined #lisp 2017-03-22T01:34:10Z krwq: nice, this is cool 2017-03-22T01:34:13Z pillton: (defpackage "FOO.A" (:use "FOO")) 2017-03-22T01:34:16Z pillton: :) 2017-03-22T01:34:25Z Bike: i have no idea how imports work with use 2017-03-22T01:34:33Z krwq: pillton: is this going to be recursive? 2017-03-22T01:34:58Z krwq: ok, thank you Bike and pillton! 2017-03-22T01:34:58Z neoncontrails quit (Remote host closed the connection) 2017-03-22T01:35:00Z pillton: I don't understand the question sorry. 2017-03-22T01:35:19Z krwq: you put the deps reverse so I was wondering if it will blow 2017-03-22T01:35:48Z pillton: The package FOO.A is in no way related to the package FOO. 2017-03-22T01:36:15Z pillton: The relationship you see is entirely based on the naming convention. 2017-03-22T01:36:22Z Bike: you can also (loop for s being the extrnal-symbols of ...) 2017-03-22T01:36:48Z krwq: Bike: loop supports that? 2017-03-22T01:36:51Z neoncontrails joined #lisp 2017-03-22T01:36:55Z Bike: yeah 2017-03-22T01:37:40Z krwq: so I can just (import (loop for s being the external-symbols of pkg-here collect s))? 2017-03-22T01:37:55Z Bike: i... think so. 2017-03-22T01:38:12Z krwq: ok, sounds good to me :) 2017-03-22T01:38:38Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2017-03-22T01:40:17Z mietek left #lisp 2017-03-22T01:47:10Z warweasle: XachX: There were some changes to rtg-math which broke some of clinch's examples. The fix is in master, if you want to include them. 2017-03-22T01:52:20Z fourier joined #lisp 2017-03-22T01:53:24Z FreeBirdLjj joined #lisp 2017-03-22T01:56:44Z fourier quit (Ping timeout: 240 seconds) 2017-03-22T01:58:26Z lexicall quit (Remote host closed the connection) 2017-03-22T01:58:49Z rumbler31 quit (Remote host closed the connection) 2017-03-22T01:59:11Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-22T01:59:39Z gabiruh quit (Quit: ZNC - 1.6.0 - http://znc.in) 2017-03-22T02:00:22Z cibs quit (Ping timeout: 264 seconds) 2017-03-22T02:01:16Z lexicall joined #lisp 2017-03-22T02:02:09Z cibs joined #lisp 2017-03-22T02:05:28Z lexicall quit (Ping timeout: 246 seconds) 2017-03-22T02:07:08Z BusFactor1 quit (Read error: Connection reset by peer) 2017-03-22T02:10:00Z jameser joined #lisp 2017-03-22T02:12:22Z vydd joined #lisp 2017-03-22T02:13:44Z l04m33 joined #lisp 2017-03-22T02:15:37Z iddqd joined #lisp 2017-03-22T02:17:10Z vydd quit (Ping timeout: 256 seconds) 2017-03-22T02:17:20Z kev1n joined #lisp 2017-03-22T02:17:33Z iddqd quit (Client Quit) 2017-03-22T02:19:27Z rumbler31 joined #lisp 2017-03-22T02:20:10Z marsjaninzmarsa quit (Remote host closed the connection) 2017-03-22T02:23:40Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-22T02:23:48Z seg quit (Read error: Connection reset by peer) 2017-03-22T02:25:26Z marsjaninzmarsa joined #lisp 2017-03-22T02:30:52Z warweasle quit (Quit: night) 2017-03-22T02:32:03Z seg joined #lisp 2017-03-22T02:36:43Z rumbler31 joined #lisp 2017-03-22T02:38:27Z eazar001 joined #lisp 2017-03-22T02:38:35Z eazar001 quit (Client Quit) 2017-03-22T02:45:15Z JuanDaugherty joined #lisp 2017-03-22T02:48:52Z sjl quit (Ping timeout: 258 seconds) 2017-03-22T02:53:29Z Guest29399 is now known as kushal 2017-03-22T02:53:30Z kushal quit (Changing host) 2017-03-22T02:53:30Z kushal joined #lisp 2017-03-22T02:54:30Z krwq: can you use only some symbols from the package? 2017-03-22T02:55:38Z Bike: what? 2017-03-22T03:00:08Z krwq: can you do i.e.: (use-package-symbol 'cl-ppcre:regex-replace) and then just do (regex-replace ...) but without using all symbols from the package? 2017-03-22T03:00:21Z l04m33: krwq: you mean :import-from ? http://clhs.lisp.se/Body/m_defpkg.htm 2017-03-22T03:00:42Z krwq: l04m33: not import-from - that also exports it automatically 2017-03-22T03:00:44Z Bike: krwq: no, using is a package-level thing. 2017-03-22T03:00:50Z Bike: import-from does not export it automatically. 2017-03-22T03:01:04Z krwq: Bike: but it is visible 2017-03-22T03:01:17Z Bike: in the package. not to a package using the package or anything. 2017-03-22T03:04:09Z krwq: Bike: so if this is only making it visible in this package then is there a way to also make it visible in the packages using your package? 2017-03-22T03:04:19Z Bike: export 2017-03-22T03:04:40Z krwq: Bike: so you do both import-from and then export the same symbol? 2017-03-22T03:04:46Z Bike: right 2017-03-22T03:05:19Z krwq: ok, thank you both l04m33 and Bike - i got confused with this completely 2017-03-22T03:07:52Z edgar-rft: (defun | | nil 'invisible) 2017-03-22T03:08:59Z eazar001 joined #lisp 2017-03-22T03:09:32Z eazar001 quit (Client Quit) 2017-03-22T03:11:07Z l04m33: edgar-rft: well, quite useful for ioccc 2017-03-22T03:13:18Z vydd joined #lisp 2017-03-22T03:17:59Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-22T03:18:24Z vydd quit (Ping timeout: 260 seconds) 2017-03-22T03:18:38Z bmilk joined #lisp 2017-03-22T03:22:01Z l04m33 quit (Quit: leaving) 2017-03-22T03:26:35Z tiago_ quit (Quit: ZNC - http://znc.in) 2017-03-22T03:26:40Z l04m33 joined #lisp 2017-03-22T03:27:16Z l04m33 quit (Client Quit) 2017-03-22T03:27:38Z l04m33 joined #lisp 2017-03-22T03:28:36Z bmilk quit (Remote host closed the connection) 2017-03-22T03:29:15Z l04m33 quit (Client Quit) 2017-03-22T03:32:29Z eazar001 joined #lisp 2017-03-22T03:32:43Z eazar001 quit (Client Quit) 2017-03-22T03:33:50Z FreeBirdLjj joined #lisp 2017-03-22T03:34:48Z l04m33 joined #lisp 2017-03-22T03:39:21Z eazar001 joined #lisp 2017-03-22T03:43:45Z safe joined #lisp 2017-03-22T03:48:07Z kev1n quit (Remote host closed the connection) 2017-03-22T03:49:01Z warweasle joined #lisp 2017-03-22T03:49:23Z warweasle quit (Remote host closed the connection) 2017-03-22T03:51:38Z krwq quit (Remote host closed the connection) 2017-03-22T03:52:25Z jealousmonk joined #lisp 2017-03-22T03:53:54Z jealousmonk quit (Client Quit) 2017-03-22T03:58:36Z ryanwatk` quit (Ping timeout: 256 seconds) 2017-03-22T04:04:56Z beach: Good morning everyone! 2017-03-22T04:07:00Z lexicall joined #lisp 2017-03-22T04:08:09Z wtetzner quit (Remote host closed the connection) 2017-03-22T04:09:58Z learning joined #lisp 2017-03-22T04:11:38Z lexicall quit (Ping timeout: 256 seconds) 2017-03-22T04:14:25Z yrk quit (Read error: Connection reset by peer) 2017-03-22T04:21:58Z Harag quit (Ping timeout: 264 seconds) 2017-03-22T04:23:04Z bocaneri joined #lisp 2017-03-22T04:23:05Z bocaneri quit (Max SendQ exceeded) 2017-03-22T04:24:32Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-22T04:26:17Z bocaneri joined #lisp 2017-03-22T04:39:35Z FreeBirdLjj joined #lisp 2017-03-22T04:51:52Z smokeink joined #lisp 2017-03-22T04:56:27Z neoncontrails quit (Remote host closed the connection) 2017-03-22T05:04:44Z borei joined #lisp 2017-03-22T05:04:54Z borei: hi all 2017-03-22T05:06:00Z borei: can somebody help to beginer :-) 2017-03-22T05:06:02Z borei: http://pastebin.com/02pHqA18 2017-03-22T05:06:33Z learning quit (Remote host closed the connection) 2017-03-22T05:08:26Z Bike: seems pretty clear to me, (x double-float) isn't a valid alien type 2017-03-22T05:08:47Z pillton: If I read 8.7.2 in the sbcl manual correctly, the C prototype "double fun(double x)" maps to (define-alien-routine fun double-float ((x double-float))) 2017-03-22T05:09:15Z pillton: Actually there is an example in 8.7.3. 2017-03-22T05:09:36Z pillton: borei: http://www.sbcl.org/manual/ 2017-03-22T05:12:33Z borei: aha, seems like i forgot to specify type of return, now there is another error, smoking docs :-) 2017-03-22T05:14:10Z rpg quit (Ping timeout: 264 seconds) 2017-03-22T05:14:15Z learning joined #lisp 2017-03-22T05:14:28Z vydd joined #lisp 2017-03-22T05:14:44Z loke: I'd generally recommend using CFFI instead of sb-alien directly. That way your code will work on all CL's. 2017-03-22T05:15:05Z moei joined #lisp 2017-03-22T05:15:19Z eMBee quit (Quit: leaving) 2017-03-22T05:15:29Z eMBee joined #lisp 2017-03-22T05:19:04Z vydd quit (Ping timeout: 256 seconds) 2017-03-22T05:19:21Z shka_ joined #lisp 2017-03-22T05:19:57Z bungoman quit (Read error: Connection reset by peer) 2017-03-22T05:22:53Z borei: learning now, trying to get idea 2017-03-22T05:24:23Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-22T05:24:28Z edgar-rft quit (Quit: edgar-rft) 2017-03-22T05:25:10Z astronavt[m] joined #lisp 2017-03-22T05:30:27Z daviid quit (Ping timeout: 240 seconds) 2017-03-22T05:35:56Z safe quit (Read error: Connection reset by peer) 2017-03-22T05:36:30Z beach: I'd generally recommend that people program in Common Lisp instead of some other language. 2017-03-22T05:43:17Z astronavt joined #lisp 2017-03-22T05:43:30Z astronavt left #lisp 2017-03-22T05:44:58Z snits joined #lisp 2017-03-22T05:47:38Z rippa joined #lisp 2017-03-22T05:49:04Z Harag joined #lisp 2017-03-22T05:50:09Z eazar001 quit (Quit: WeeChat 1.5) 2017-03-22T05:54:55Z aeth: I agree. 2017-03-22T05:56:17Z beach: clhs 2.2 2017-03-22T05:56:18Z specbot: Reader Algorithm: http://www.lispworks.com/reference/HyperSpec/Body/02_b.htm 2017-03-22T05:56:35Z gen93 quit (Ping timeout: 240 seconds) 2017-03-22T05:57:34Z beach: I could use some help. I am thinking that it would be possible to structure the reader as follows: If the character read is not in cases 1, 2, 3, or 4, would it then be feasible to unread the character and call a separate function for all other cases? 2017-03-22T05:57:51Z beach: I just want to make sure I am not missing something. 2017-03-22T05:58:13Z mathrick quit (Ping timeout: 246 seconds) 2017-03-22T05:58:47Z gen93 joined #lisp 2017-03-22T05:59:14Z Bike: you mean steps 1-4? 2017-03-22T05:59:21Z remote1 left #lisp 2017-03-22T05:59:26Z beach: Yes. 2017-03-22T05:59:46Z beach: For all remaining steps, either a token is being read, or it's an error, right? 2017-03-22T06:00:28Z beach: I want to make sure that there is no "go to" from steps >= 5 to any steps < 5. 2017-03-22T06:01:07Z mathrick joined #lisp 2017-03-22T06:01:15Z remote1 joined #lisp 2017-03-22T06:02:05Z Bike: i don't think so 2017-03-22T06:02:19Z beach: Thanks for confirming that. 2017-03-22T06:02:40Z aeth: It doesn't look like it 2017-03-22T06:03:13Z beach: I am attempting to break up the reader algorithms into smaller chunks so that I can replace the main algorithm while calling the smaller chunks. 2017-03-22T06:04:26Z borei: hmm, in the above examples function in C is c_function, but in lisp c-function 2017-03-22T06:07:49Z dec0n joined #lisp 2017-03-22T06:09:07Z astronavt[m]: im thinking about picking up Guile for my first Lisp. does anyone have any reason i shouldnt do this before i dive in? 2017-03-22T06:12:22Z nopf quit (Remote host closed the connection) 2017-03-22T06:12:42Z oleo quit (Quit: Leaving) 2017-03-22T06:13:19Z X-Scale quit (Quit: HydraIRC -> http://www.hydrairc.com <- Like it? Visit #hydrairc on EFNet) 2017-03-22T06:14:52Z flip214: astronavt[m]: documentation is much better for common lisp, I guess. 2017-03-22T06:15:36Z flip214: astronavt[m]: http://cliki.net/Lisp%20books 2017-03-22T06:16:02Z lexicall joined #lisp 2017-03-22T06:16:44Z flip214: and the amount of libraries speaks for CL too; see quicklisp. 2017-03-22T06:17:03Z astronavt[m]: i see 2017-03-22T06:17:09Z astronavt[m]: right, i keep hearing how Scheme is a minimal language 2017-03-22T06:17:35Z astronavt[m]: basically i want something to script with that isn't python and zsh 2017-03-22T06:17:58Z astronavt[m]: and lisp just seems appealing. i have a math background, i like the uniformity and generality 2017-03-22T06:18:02Z aeth: What do you want to do with the language? 2017-03-22T06:19:07Z angavrilov joined #lisp 2017-03-22T06:20:16Z shka_ quit (Ping timeout: 256 seconds) 2017-03-22T06:20:33Z astronavt[m]: eh. miscellaneous stuff i guess 2017-03-22T06:20:35Z astronavt[m]: writing CLI tools for myself 2017-03-22T06:20:59Z astronavt[m]: learning a language thats different from the one i know 2017-03-22T06:21:11Z aeth: Different things will be easier in different languages and implementations. e.g. For CLI stuff, you shouldn't use a JVM language because of the startup time iirc. 2017-03-22T06:21:17Z astronavt[m]: eventually maybe using it to clean and manipulate unstructured data 2017-03-22T06:21:28Z cpape` quit (Ping timeout: 240 seconds) 2017-03-22T06:21:30Z astronavt[m]: yeah so im told. i love the idea of clojure but its basically out because of the JVM 2017-03-22T06:21:41Z astronavt[m]: im gonna get my functional rocks off with Haskell eventually so it doesnt bother me 2017-03-22T06:23:23Z flip214: astronavt[m]: scheme is minimal, yes. CL has far more batteries included ;), and a LOT of libraries. 2017-03-22T06:23:39Z Bike: newer schemes have a larger version 2017-03-22T06:23:46Z astronavt[m]: flip214, so probably easier if migrating from python 2017-03-22T06:23:54Z astronavt[m]: and also i hear SBCL makes very fast binaries 2017-03-22T06:23:56Z aeth: Lisp is a very different kind of functional than Haskell, when you do functional programming in it. 2017-03-22T06:24:13Z astronavt[m]: how so? static/dynamic typing? 2017-03-22T06:24:23Z flip214: astronavt[m]: yeah. dumping an (uncompressed) binary via SBCL and doing the equivalent of --help (so only quick 2017-03-22T06:24:31Z aeth: Schemes can be large, but they're not portably large. The extensions that make them comparable in size and features to CL are all different in each one. 2017-03-22T06:24:46Z flip214: command line parsing) gets you a runtime of ~0.03, o similar to C, perl, Python, etc. 2017-03-22T06:24:50Z aeth: You don't write Scheme, you write for a specific Scheme. 2017-03-22T06:25:05Z astronavt[m]: are they all really that different? 2017-03-22T06:25:13Z flip214: My favourite for small cleanup tasks is still perl, though. 2017-03-22T06:25:21Z astronavt[m]: i never tried perl 2017-03-22T06:25:46Z astronavt[m]: i guess i never gave it a thought. trying to use CPAN to install miscellaneous CLI tools was a pain and i hated it every step of the way 2017-03-22T06:26:04Z Bike: aeth: like http://trac.sacrideo.us/wg/wiki/RedEdition 2017-03-22T06:28:28Z aeth: astronavt[m]: In Common Lisp, you can work with types if you want to. Like (defun foo (x) (declare (single-float x)) (+ 1.5f0 x)) or even (deftype vec3 () '(simple-array single-float (3))) (defun bar (v) (declare (vec3 v)) (map 'vec #'+ v v)) 2017-03-22T06:29:00Z aeth: It's not as developed as it could be, though. 2017-03-22T06:29:17Z learning quit (Remote host closed the connection) 2017-03-22T06:29:22Z aeth: And the declare syntax is a bit awkward. 2017-03-22T06:29:53Z astronavt[m]: eh im just scripting anyway 2017-03-22T06:29:54Z beach: astronavt[m]: You need to know that this channel is dedicated to Common Lisp, so there will be a significant bias in favor of Common Lisp, as opposed to other languages like Scheme, Guile, Clojure, etc. 2017-03-22T06:30:07Z astronavt[m]: heh i was wondering 2017-03-22T06:30:11Z astronavt[m]: but no those are all fair points 2017-03-22T06:30:16Z flip214: astronavt[m]: well, perl is the other end of the syntax dimension... while lisp has nearly no syntax, perl has _mostly_ syntax ;) 2017-03-22T06:30:28Z astronavt[m]: the very thought.... 2017-03-22T06:30:50Z astronavt[m]: i just dont like python 2017-03-22T06:31:08Z astronavt[m]: i liked it in college when i was learning what a function was, and how to structure a program 2017-03-22T06:31:20Z flip214: astronavt[m]: scripting still means editing/debugging. if you use emacs, be sure to use slime; for vim there's an equivalent, slimv. 2017-03-22T06:31:37Z flip214: makes development much easier, even for small scripts. 2017-03-22T06:31:39Z mishoo joined #lisp 2017-03-22T06:32:06Z astronavt[m]: ok cool 2017-03-22T06:32:12Z astronavt[m]: ive actually been moving away from using vim for coding 2017-03-22T06:32:16Z astronavt[m]: i mostly use it for writing now 2017-03-22T06:32:30Z astronavt[m]: are there any CL IDEs worth checking out? or maybe an Atom plugin? 2017-03-22T06:32:57Z beach: astronavt[m]: Most people use SLIME with Emacs. 2017-03-22T06:33:17Z astronavt[m]: well, i gotta draw the line somewhere. no emacs :) 2017-03-22T06:33:33Z joga: slime is the best reason to use emacs 2017-03-22T06:33:36Z aeth: SLIME is overwhelmingly popular. After that, I think it's SLIMV with vim. 2017-03-22T06:33:37Z lexicall: astronavt[m]: maybe spacemacs if you're familiar with vim. 2017-03-22T06:33:40Z flip214: astronavt[m]: slime resp. slimv provide you with an interactive debugger and data inspector. 2017-03-22T06:34:03Z flip214: that is, if there's an error, you can see a stacktrace, the local variables, inspect data structures, etc. 2017-03-22T06:34:13Z astronavt[m]: yeah thats always good 2017-03-22T06:34:17Z astronavt[m]: well tbh i got spoiled in python 2017-03-22T06:34:18Z flip214: that's much easier than only debugging via console output. 2017-03-22T06:34:20Z aeth: In third behind emacs and vim is probably an editor that comes with a proprietary Lisp 2017-03-22T06:34:22Z astronavt[m]: with Jupyter and IPython 2017-03-22T06:34:38Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-22T06:34:53Z astronavt[m]: heyyy https://github.com/fredokun/cl-jupyter 2017-03-22T06:35:38Z flip214: astronavt[m]: on a different note, get one or more CL books. 2017-03-22T06:35:45Z flip214: minion: tell astronavt[m] about PCL 2017-03-22T06:35:45Z minion: astronavt[m]: please see PCL: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 2017-03-22T06:35:57Z astronavt[m]: thanks! 2017-03-22T06:35:58Z flip214: minion: tell astronavt[m] about Ansi common lisp 2017-03-22T06:36:08Z minion: Ansi common lisp: I can't be expected to work when CLiki doesn't respond to me, can I? 2017-03-22T06:36:23Z astronavt[m]: oh: how does CL handle parallelization? 2017-03-22T06:36:24Z flip214: minion: tell astronavt[m] about on lisp 2017-03-22T06:36:27Z minion: on lisp: No definition was found in the first 5 lines of http://www.cliki.net/on%20lisp 2017-03-22T06:36:32Z astronavt[m]: like i often want to process lots of files at once 2017-03-22T06:36:33Z flip214: astronavt[m]: http://cliki.net/book 2017-03-22T06:36:46Z flip214: I guess the "lparallel" library is a good way to do that 2017-03-22T06:36:52Z astronavt[m]: thats one pain point about python, i end up having to write a script to handle one file and just run it using the GNU Parallel tool 2017-03-22T06:37:11Z beach: astronavt[m]: There is a compatibility library called Bordeaux Threads that makes it possible to use threads across Common Lisp implementations. 2017-03-22T06:37:16Z astronavt[m]: which is fine but sometimes doesnt make sense, e.g. if i need to persist data across processes or i wanna use a kind of map-reduce thing 2017-03-22T06:37:35Z astronavt[m]: beach neat 2017-03-22T06:37:52Z astronavt[m]: is it one of those "it exists but nobody uses it" deals, or is it actually useful 2017-03-22T06:37:58Z flip214: astronavt[m]: yeah, lparallel is a high-level thingie, it's using BT underneath. 2017-03-22T06:38:10Z astronavt[m]: very cool 2017-03-22T06:38:12Z beach: astronavt[m]: It is widely used. 2017-03-22T06:38:31Z astronavt[m]: `$ brew install sbcl` 2017-03-22T06:38:36Z astronavt[m]: :) 2017-03-22T06:38:59Z astronavt[m]: whats up with Clozure? 2017-03-22T06:39:05Z astronavt[m]: any relation to Clojure? 2017-03-22T06:39:09Z beach: No. 2017-03-22T06:39:38Z astronavt[m]: any reason to use it over SBCL? 2017-03-22T06:39:50Z astronavt[m]: sorry if these are stupid questions i could probably have googled this 2017-03-22T06:39:57Z astronavt[m]: ive been reading about lisps all evening 2017-03-22T06:40:00Z beach: It compiles faster. But the resulting code is often not quite as fast. 2017-03-22T06:40:22Z beach: astronavt[m]: Seriously, you are making a big mistake if you attempt to use Common Lisp without an editor that is capable of computing correct indentation, and help you with other debugging tasks. 2017-03-22T06:40:47Z astronavt[m]: and you think emacs is the only one capable of that? 2017-03-22T06:41:11Z beach: Some people say that SLIMV for vim works as well. I have never tried it. 2017-03-22T06:43:12Z axion: It is no comparison. I used slimv for about 5 years 2017-03-22T06:43:30Z astronavt[m]: alas 2017-03-22T06:43:38Z astronavt[m]: i mean, vim/neovim has a lot of problems 2017-03-22T06:43:52Z beach: astronavt[m]: Correct indentation alone is an argument. Common Lisp programmers rely on indentation to understand the structure of the code. If you show some of your code and the person reading your code sees that is incorrectly indented, you basically force that person to count parentheses, and that is not polite. 2017-03-22T06:44:35Z astronavt[m]: gotcha. wouldnt wish that on anyone 2017-03-22T06:44:35Z vibs29 quit (Ping timeout: 240 seconds) 2017-03-22T06:44:42Z astronavt[m]: i guess its never too late to try spacemacs 2017-03-22T06:45:26Z axion: If you are coming from Vim, you really should get to know Emacs. While it is possible to code CL in Vim, it is not as pleasant, and actually painful at times. 2017-03-22T06:45:42Z axion: Not to mention, slimv is very slow with semi-large to large buffers 2017-03-22T06:46:35Z astronavt[m]: yeah, thats the problem with vim 2017-03-22T06:46:42Z astronavt[m]: slow as molasses indenting and syntax highlighting 2017-03-22T06:46:59Z astronavt[m]: exacerbated when lines are more than, say, 100 characters long 2017-03-22T06:47:48Z astronavt[m]: im hoping neovim fixes all that stuff, but that could be 10 years from now 2017-03-22T06:49:38Z vibs29 joined #lisp 2017-03-22T06:50:43Z eMBee quit (Quit: leaving) 2017-03-22T06:50:51Z eMBee joined #lisp 2017-03-22T06:53:12Z flip214: well, I'm using neovim/vim with slimv and I'm happy with it. 2017-03-22T06:53:43Z flip214: all my previous attempts at using emacs failed at the first step - installing the evil mode ;) 2017-03-22T06:53:52Z flip214: although I followed the available instructions 2017-03-22T06:54:32Z borei: hitting problem again, my alien function is not visible :-( 2017-03-22T06:54:42Z borei: http://pastebin.com/2428vx5N 2017-03-22T07:02:14Z wtetzner joined #lisp 2017-03-22T07:07:18Z shifty quit (Ping timeout: 256 seconds) 2017-03-22T07:07:34Z wtetzner quit (Ping timeout: 264 seconds) 2017-03-22T07:15:04Z vydd joined #lisp 2017-03-22T07:15:11Z beach: Breaking up the reader seems to have worked. 2017-03-22T07:17:31Z varjag joined #lisp 2017-03-22T07:18:22Z scymtym quit (Ping timeout: 246 seconds) 2017-03-22T07:18:49Z lexicall quit (Remote host closed the connection) 2017-03-22T07:20:09Z vydd quit (Ping timeout: 268 seconds) 2017-03-22T07:21:13Z shifty joined #lisp 2017-03-22T07:23:49Z lexicall joined #lisp 2017-03-22T07:28:18Z flamebeard joined #lisp 2017-03-22T07:32:08Z defaultxr quit (Ping timeout: 240 seconds) 2017-03-22T07:32:30Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-22T07:37:13Z varjag quit (Remote host closed the connection) 2017-03-22T07:41:35Z FreeBirdLjj joined #lisp 2017-03-22T07:44:09Z shrdlu68 joined #lisp 2017-03-22T07:46:44Z shrdlu68: Good morning humans! 2017-03-22T07:46:54Z MoALTz joined #lisp 2017-03-22T07:48:38Z White__Flame: Good morning, double long unsigned 68-bit shift right operation! 2017-03-22T07:49:11Z vydd joined #lisp 2017-03-22T07:49:11Z vydd quit (Changing host) 2017-03-22T07:49:11Z vydd joined #lisp 2017-03-22T07:52:14Z nowhereman quit (Ping timeout: 240 seconds) 2017-03-22T07:52:51Z flip214: White__Flame: no. look up the history of https://en.wikipedia.org/wiki/SHRDLU 2017-03-22T07:53:13Z White__Flame: yes, I know :) 2017-03-22T07:55:05Z shrdlu68: :) Also a sci-fi short story. 2017-03-22T07:55:43Z cibs quit (Ping timeout: 240 seconds) 2017-03-22T07:56:59Z shrdlu68: Are there any Lisp projects licensed under GPLv3? 2017-03-22T07:57:42Z cibs joined #lisp 2017-03-22T07:58:06Z shrdlu68: I will be releasing my first significant bit of code shortly, and for the first time I've bothered to sit down and read about all the licenses people use. 2017-03-22T07:58:29Z axion: I would never use such a restrictive license 2017-03-22T07:58:35Z shrdlu68: It's all very confusing. 2017-03-22T07:58:52Z shrdlu68: What's so bad about it? 2017-03-22T07:59:11Z stepnem joined #lisp 2017-03-22T07:59:17Z flip214: a LLGPL3 might be interesting, if such a thing exists 2017-03-22T07:59:42Z axion: There are sites which compare the various licenses in human readable terms. All ou really need to know is to use MIT, BSD, or similar if you want something very permissive 2017-03-22T07:59:42Z shrdlu68: SBCL is mostly public domain. Why don't more people release their code as public domain? 2017-03-22T08:00:04Z axion: I use MIT for pretty much everything I write because of its permissiveness 2017-03-22T08:00:06Z otwieracz: Good morning! 2017-03-22T08:00:06Z Wombatzus joined #lisp 2017-03-22T08:00:26Z otwieracz: GRC> value 2017-03-22T08:00:26Z otwieracz: # 2017-03-22T08:00:26Z otwieracz: GRC> (numberp value) 2017-03-22T08:00:28Z otwieracz: T 2017-03-22T08:00:31Z otwieracz: WHAT?! 2017-03-22T08:00:38Z jdz: Oh no, somebody dragged licenses in here! 2017-03-22T08:00:40Z otwieracz: NaN *is* a number? 2017-03-22T08:00:48Z White__Flame: public domain doesn't exist in some jurisdictions, so grabbing a MIT license or something is easier and more clear & comprehensive 2017-03-22T08:00:50Z flip214: otwieracz: it ain't a string, for sure 2017-03-22T08:01:08Z mishoo quit (Ping timeout: 240 seconds) 2017-03-22T08:01:32Z jackdaniel: shrdlu68: if you are into free software, go with gpl, if you are after open source, go with bsd ;) 2017-03-22T08:01:43Z jackdaniel: flip214: NaN - "Not a number" ;-) 2017-03-22T08:01:58Z jdz: But it's still a float? :) 2017-03-22T08:02:32Z aeth: MIT license seems to be the most common permissive license these days, including in permissively-licensed Common Lisp projects. 2017-03-22T08:02:35Z shrdlu68: Oh Cthulhu, this should be simple. 2017-03-22T08:03:26Z shrdlu68: Anyone willing to divulge why the GPLv3 is so restrictive? 2017-03-22T08:03:27Z aeth: I'd go with the MIT license just for compatibility, but that's just my 2 cents, an idiom that is quite out of date with inflation. 2017-03-22T08:04:22Z aeth: Whatever you do do not use LLGPL. It is a custom license only used in the Common Lisp community. Good luck if you ever wind up in court. 2017-03-22T08:04:33Z dim: I like ISC and WTFPL myself 2017-03-22T08:05:02Z jackdaniel: shrdlu68: gplv3 is restrictive in a sense, that it disallows mixing it with propietary software 2017-03-22T08:05:13Z dim: ISC is a modern BSD basically, https://en.wikipedia.org/wiki/ISC_license 2017-03-22T08:06:19Z aeth: The main options are MIT, BSD, GPL, and maybe LGPL (note the one L, seriously, do not use custom licenses... and that probably includes public domain dedications, if you must do public domain, use CC0) 2017-03-22T08:06:25Z shrdlu68: jackdaniel: Doesn't v2 also disallow mixing with proprietary software? 2017-03-22T08:06:57Z vydd quit (Remote host closed the connection) 2017-03-22T08:07:11Z vydd joined #lisp 2017-03-22T08:07:11Z vydd quit (Changing host) 2017-03-22T08:07:11Z vydd joined #lisp 2017-03-22T08:07:15Z aeth: (I can excuse SBCL and Alexandria because they predate CC0) 2017-03-22T08:07:42Z vydd quit (Remote host closed the connection) 2017-03-22T08:08:13Z jackdaniel: shrdlu68: gplv3 clarifies some terms not clarified in gplv2, and prohibits drm afaik 2017-03-22T08:08:58Z White__Flame: iirc gpl3 was created to restrict 'tivo-ization' and such loopholes aroung not actually shipping with source 2017-03-22T08:09:54Z aeth: Iirc, it's also somewhat controversial because GPLv3 is more explicitly ideological rather than just copyleft, which is why e.g. Linux isn't switching to GPLv3 even if they could (they couldn't because they don't have a CLA or a "GPLv2 or later" license) 2017-03-22T08:10:32Z shrdlu68: What I'm concered with is, if I release code as GPLv3, will the rest of the "community" benefit from it? 2017-03-22T08:10:41Z H4ns: i won't use it for sure. 2017-03-22T08:10:44Z aeth: Iirc, macOS ships with the last versions of GNU software that are on GPLv2 (terribly out of date by now) 2017-03-22T08:10:45Z shrdlu68: Or will it be "untouchable"? 2017-03-22T08:11:00Z Bike quit (Quit: leaving) 2017-03-22T08:11:20Z aeth: Imo, GPLv3 makes more sense for an application than a library, so it depends. 2017-03-22T08:11:49Z jdz: shrdlu68: I won't even look at the code lest I learn something and use it in my own code. 2017-03-22T08:12:02Z aeth: But, really, no one is going to be selling a proprietary fork of your desktop application made in Common Lisp in the year 2017 (or in the year 2027) so the GPL doesn't really make a difference imo, even there. 2017-03-22T08:12:29Z H4ns: it is not about selling, it is about "freedom" 2017-03-22T08:12:34Z aeth: Proprietary companies don't even make desktop applications anymore. They just wrap a whole web browser and call it desktop. 2017-03-22T08:12:36Z shrdlu68: Hehe. So I can't use GPLv3... 2017-03-22T08:12:59Z shrdlu68: Because it would be shunned. 2017-03-22T08:13:16Z jackdaniel: shrdlu68: if you are after widest adoption, go with BSD/MIT/ISC, if you are after empowering users (i.e by supporting free software movement), go after GPL 2017-03-22T08:13:21Z jdz: shrdlu68: not really -- people will respect your choice. 2017-03-22T08:13:37Z jackdaniel: and some will use GPL (some not) 2017-03-22T08:13:51Z shrdlu68: shrdlu68: I think I'll go with GPLv3 then. 2017-03-22T08:14:06Z aeth: shrdlu68: You'd have to ask Xach to be sure, but afaik, the most popular license in the Lisp ecosystem right now is the MIT license. So if you wanted maximum compatibility, you should go with the most popular license. If you really don't want a closed source fork at the expense of not really having many users, use the GPL. 2017-03-22T08:14:36Z shrdlu68: It's a CL TLS implementation, it's not like it'll be massively popular. 2017-03-22T08:15:21Z jdz: I'm not also sure what's the deal with contributing to GPL code -- AFAIK FSF requires a signed paper to actually be able to accept "significant" contributions. 2017-03-22T08:16:13Z aeth: FSF wants copyright assignment. Some other organizations that use the GPL also do this, but probably for less noble reasons than the FSF. 2017-03-22T08:16:26Z jackdaniel: jdz: GPL is a license, GNU is the operating system. GNU software requires assigning rights to FSF by contributors 2017-03-22T08:16:27Z aeth: That's why XEmacs was forked from Emacs. Over the issue of copyright assignment. Iirc. 2017-03-22T08:17:06Z jackdaniel: well, GNU is athe operating system – at least in userspace meaning 2017-03-22T08:17:09Z aeth: If you don't have copyright assignment, it's harder to sue for GPL violations (the main reason FSF wants it) and it's also harder to relicense if there's an issue with the license (which is why it's basically impossible for Linux to go to GPLv3) 2017-03-22T08:17:20Z aeth: You can sort of get around the latter by saying "GPLv2 or later" or "GPLv3 or later" 2017-03-22T08:17:25Z jdz: jackdaniel: thanks for the clarification. 2017-03-22T08:17:40Z jackdaniel: sure 2017-03-22T08:19:06Z shrdlu68: Wait, my code depends on a bunch of other lisp projects, most notably ironclad, babel, and usocket. 2017-03-22T08:19:16Z dim: shrdlu68: will it allow SSL connections without depending on openssl.so? 2017-03-22T08:19:29Z shrdlu68: dim: Yes. 2017-03-22T08:19:37Z dim: ♥ 2017-03-22T08:19:52Z shrdlu68: It's completely independent of any other TLS implementation. 2017-03-22T08:20:20Z shrdlu68: What restrictions does this impose on the license I can choose (the fact that I have dependencies ^) 2017-03-22T08:20:20Z dim: I like the idea very much, despite the security nightmares it opens 2017-03-22T08:20:48Z Harag quit (Ping timeout: 260 seconds) 2017-03-22T08:20:58Z aeth: shrdlu68: licenses like the GPL are universal receivers, licenses like the MIT license (which usocket and babel use) are universal donors... practically speaking. The GPL has some licenses it isn't compatible with, but they're usually very unpopular (in part because of that reason) and the MIT license does have *some* restrictions, just not many. 2017-03-22T08:21:03Z shrdlu68: dim: I know, this is a sensitive field. 2017-03-22T08:21:04Z mishoo joined #lisp 2017-03-22T08:21:16Z White__Flame: yeah, I'd be quite interested to try it. TLS libs have been a nightmare to set up for a more casual user, so if things like key generation/conversion/registration are part of easy repl utilities, that'd be wonderful 2017-03-22T08:21:30Z White__Flame: and a new lib generally means it doesn't have all the whizbangies around config that mature implementations do 2017-03-22T08:21:38Z White__Flame: meaning again easier to use 2017-03-22T08:21:50Z Wombatzus quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2017-03-22T08:22:27Z Wombatzus joined #lisp 2017-03-22T08:22:35Z shrdlu68: dim: The security nightmares can only go away through code review and testing. 2017-03-22T08:23:12Z aeth: just never (declare (optimize (speed 3) (safety 0)) because then you have basically no security advantage over C 2017-03-22T08:23:15Z jackdaniel: shrdlu68: you may give any license to your software, resulting license of a combined software though depends on dependencies 2017-03-22T08:24:20Z o1e9 joined #lisp 2017-03-22T08:24:33Z shrdlu68: aeth: Noted. 2017-03-22T08:24:50Z wtetzner joined #lisp 2017-03-22T08:25:36Z aeth: some Lisps interpret "safety 0" as "trust everything, check nothing" 2017-03-22T08:25:53Z shrdlu68: One other reason I'm favoring GPLv3 is because no other TLS implementation adopts it. It might prove useful to someone that way. 2017-03-22T08:26:13Z shrdlu68: GNUTls adopted it for a while, but reverted to v2. 2017-03-22T08:26:30Z scymtym joined #lisp 2017-03-22T08:29:50Z wtetzner quit (Ping timeout: 268 seconds) 2017-03-22T08:29:57Z Harag joined #lisp 2017-03-22T08:32:33Z Beetny joined #lisp 2017-03-22T08:35:35Z araujo quit (Read error: Connection timed out) 2017-03-22T08:36:01Z araujo joined #lisp 2017-03-22T08:36:01Z araujo quit (Changing host) 2017-03-22T08:36:01Z araujo joined #lisp 2017-03-22T08:36:50Z joneshf-laptop quit (Ping timeout: 256 seconds) 2017-03-22T08:40:54Z vydd joined #lisp 2017-03-22T08:40:57Z vydd quit (Changing host) 2017-03-22T08:40:57Z vydd joined #lisp 2017-03-22T08:41:01Z gargaml joined #lisp 2017-03-22T08:42:19Z Wombatzus quit (Quit: sleep) 2017-03-22T08:50:57Z andrzejku joined #lisp 2017-03-22T08:51:57Z andrzejku: hi 2017-03-22T08:52:37Z nowhereman joined #lisp 2017-03-22T08:53:34Z mathrick quit (Ping timeout: 246 seconds) 2017-03-22T08:53:48Z otjura joined #lisp 2017-03-22T08:54:16Z mathrick joined #lisp 2017-03-22T08:54:29Z raynold quit (Quit: Connection closed for inactivity) 2017-03-22T08:56:54Z jackdaniel: hi 2017-03-22T08:58:20Z andrzejku: is Lisp a dead language? 2017-03-22T08:58:25Z beach: No. 2017-03-22T08:58:29Z jackdaniel: no, it just smells funny :) 2017-03-22T08:58:42Z jackdaniel: number of people on this channel may give you a hint 2017-03-22T08:58:52Z andrzejku: the old lisp books are old 2017-03-22T08:58:57Z jackdaniel: part of them are bots ofc, but still, dead languages doesn't attract wild bots 2017-03-22T08:59:01Z andrzejku: there is haskell everywhere 2017-03-22T08:59:04Z beach: minion: Plesae tell andrzejku about PCL. 2017-03-22T08:59:04Z minion: watch out, you'll make krystof angry 2017-03-22T08:59:09Z jackdaniel: andrzejku: is math dead? 2017-03-22T08:59:14Z beach: minion: Please tell andrzejku about PCL. 2017-03-22T08:59:14Z minion: andrzejku: have a look at PCL: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 2017-03-22T08:59:41Z andrzejku: and Perl6 is next functional language 2017-03-22T08:59:44Z beach: shrdlu68: I would love to use some version of the GPL for my projects. Unfortunately, many Common Lisp people are against it. I suppose some of them would just like to use the software and not distribute modifications. Others just really dislike anything that has to do with Stallman and the FSF. For that reason I am using a 2-clause BSD license these days. 2017-03-22T09:00:10Z beach: andrzejku: That doesn't concern us since Common Lisp is not a "functional language" in that sense. 2017-03-22T09:00:17Z jackdaniel: andrzejku: if you have strong opinion on that, then why did you join here? 2017-03-22T09:00:27Z flip214: beach: AFAIU the problem with GPL (as opposed to LLGPL) is that they can't get money for standalone binaries. 2017-03-22T09:00:32Z andrzejku: I just want to ask you 2017-03-22T09:00:42Z flip214: I guess most people would be happy to give changes of _your_ library back to you... 2017-03-22T09:00:59Z flip214: but GPL would require the whole code base to be open, to distribute binaries. 2017-03-22T09:01:19Z jackdaniel: andrzejku: then here's your answer: it's not ;) question whenever its better than other languages is debatable and prone to opinions 2017-03-22T09:01:41Z Guest46216 quit (Remote host closed the connection) 2017-03-22T09:01:59Z jackdaniel: flip214: that's goal of GPL – so user doesn't have black boxes on his computer 2017-03-22T09:02:03Z ryanwatkins joined #lisp 2017-03-22T09:02:06Z jackdaniel: (one of the goals of course) 2017-03-22T09:02:22Z hhdave joined #lisp 2017-03-22T09:03:25Z cyberlard is now known as overlard 2017-03-22T09:03:41Z shrdlu68: I guess the FSF raises issues that are too profound for most people when all they want is to share some code. 2017-03-22T09:03:46Z jackdaniel: I can see merit in that, I'm listening about all the new law proposals pushing for putting "authorized backdoors" in software, not very much encouraging for using prop binaries. but its offtopic, sorry ;) 2017-03-22T09:03:56Z hhdave_ joined #lisp 2017-03-22T09:04:26Z beach: Indeed. 2017-03-22T09:05:33Z vydd quit 2017-03-22T09:06:19Z gingerale joined #lisp 2017-03-22T09:06:58Z hhdave quit (Ping timeout: 264 seconds) 2017-03-22T09:06:58Z hhdave_ is now known as hhdave 2017-03-22T09:07:20Z flip214: jackdaniel: these backdoors will be in hardware, anyway 2017-03-22T09:08:34Z otjura quit (Quit: Konversation terminated!) 2017-03-22T09:08:57Z shrdlu68 quit (Ping timeout: 240 seconds) 2017-03-22T09:09:00Z jackdaniel: flip214: what kind of argument is that? "there's not point on working for change, because things are getting worse anyway (because nobody works for change)" 2017-03-22T09:09:43Z jackdaniel: or, my vote won't change *anything* – claim of 50% of society in Poland. 50% – 20 million people, if they would vote on anything, it would make a difference 2017-03-22T09:09:56Z jackdaniel: etc 2017-03-22T09:10:01Z flip214: jackdaniel: no, my point is that requiring GPL (instead of LLGPL, for example) for everything hurts the economy more than the small benefit people would have w.r.t. backdoors 2017-03-22T09:10:27Z jackdaniel: I don't agree with that particular opinion 2017-03-22T09:10:30Z flip214: if I distribute a binary to some customer, she is "at my mercy" anyway 2017-03-22T09:10:44Z bariscant quit (Quit: Leaving) 2017-03-22T09:10:54Z jackdaniel: vendor lock-in is a real problem too 2017-03-22T09:11:01Z flip214: yeah, of course. 2017-03-22T09:11:24Z flip214: but if someone wants the source of the software I write, I might want some more $$$ for that. (_might_, remember.) 2017-03-22T09:12:22Z hhdave quit (Quit: hhdave) 2017-03-22T09:12:54Z White__Flame: if there are mandatory back doors, I think more users/customers will start demanding source 2017-03-22T09:13:15Z White__Flame: or maybe some sort of trusted "Consumer Reports" style service will emerge, analyzing security 2017-03-22T09:13:21Z White__Flame: though that's a long hope 2017-03-22T09:14:09Z daviid joined #lisp 2017-03-22T09:16:42Z H4ns: source code for any nontrivial application is basically useless. 2017-03-22T09:17:10Z jackdaniel: another opinion I find hard to agree with 2017-03-22T09:17:15Z H4ns: at least from the perspective of ensuring the it is "secure" or being changeable. 2017-03-22T09:17:44Z H4ns: jackdaniel: you're as entitled to your own beliefs as i am. 2017-03-22T09:18:03Z JuanDaugherty: i troll u 2017-03-22T09:18:09Z jackdaniel: I'm aware of that, that's why I'm so vocal with my disagreement :) 2017-03-22T09:18:15Z shrdlu68 joined #lisp 2017-03-22T09:18:27Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-22T09:20:28Z pve joined #lisp 2017-03-22T09:20:56Z lexicall quit (Remote host closed the connection) 2017-03-22T09:22:03Z nirved joined #lisp 2017-03-22T09:23:32Z Candide_ joined #lisp 2017-03-22T09:25:58Z dto joined #lisp 2017-03-22T09:28:53Z lexicall joined #lisp 2017-03-22T09:33:30Z lexicall quit (Ping timeout: 256 seconds) 2017-03-22T09:35:04Z tharugrim joined #lisp 2017-03-22T09:39:47Z Candide_ quit (Quit: Page closed) 2017-03-22T09:39:55Z Karl_Dscc joined #lisp 2017-03-22T09:43:09Z hhdave joined #lisp 2017-03-22T09:46:05Z Einwq joined #lisp 2017-03-22T09:49:28Z DeadTrickster quit (Ping timeout: 260 seconds) 2017-03-22T09:51:36Z DeadTrickster joined #lisp 2017-03-22T09:58:31Z varjag joined #lisp 2017-03-22T10:01:46Z ebrasca` joined #lisp 2017-03-22T10:09:49Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-22T10:13:22Z DeadTrickster quit (Ping timeout: 246 seconds) 2017-03-22T10:13:44Z l04m33 quit (Ping timeout: 256 seconds) 2017-03-22T10:15:13Z DeadTrickster joined #lisp 2017-03-22T10:17:39Z Karl_Dscc quit (Remote host closed the connection) 2017-03-22T10:19:36Z seg quit (Ping timeout: 268 seconds) 2017-03-22T10:20:53Z seg joined #lisp 2017-03-22T10:21:28Z smokeink quit (Ping timeout: 240 seconds) 2017-03-22T10:22:10Z elinux joined #lisp 2017-03-22T10:24:28Z dto left #lisp 2017-03-22T10:26:43Z remote1 quit (Quit: Leaving.) 2017-03-22T10:30:01Z jameser quit (Ping timeout: 258 seconds) 2017-03-22T10:30:57Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-03-22T10:31:50Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-22T10:32:16Z tharugrim joined #lisp 2017-03-22T10:32:28Z DeadTrickster joined #lisp 2017-03-22T10:36:31Z ogamita joined #lisp 2017-03-22T10:38:34Z Karl_Dscc joined #lisp 2017-03-22T10:42:58Z bariscant joined #lisp 2017-03-22T10:45:56Z DeadTrickster quit (Ping timeout: 260 seconds) 2017-03-22T10:47:54Z DeadTrickster joined #lisp 2017-03-22T10:53:52Z myrkraverk quit (Remote host closed the connection) 2017-03-22T10:54:33Z myrkraverk joined #lisp 2017-03-22T10:55:16Z nowhereman quit (Ping timeout: 260 seconds) 2017-03-22T10:55:48Z smokeink joined #lisp 2017-03-22T10:58:48Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-03-22T10:59:56Z DeadTrickster joined #lisp 2017-03-22T11:03:49Z andrzejku quit (Quit: My iMac has gone to sleep. ZZZzzz…) 2017-03-22T11:04:21Z m00natic joined #lisp 2017-03-22T11:05:43Z aap_ is now known as aap 2017-03-22T11:08:50Z andrzejku joined #lisp 2017-03-22T11:09:44Z DeadTrickster quit (Ping timeout: 260 seconds) 2017-03-22T11:10:22Z DeadTrickster joined #lisp 2017-03-22T11:14:10Z strelox joined #lisp 2017-03-22T11:19:13Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-03-22T11:19:51Z DeadTrickster joined #lisp 2017-03-22T11:19:59Z pillton quit (Ping timeout: 252 seconds) 2017-03-22T11:27:24Z DeadTrickster quit (Ping timeout: 256 seconds) 2017-03-22T11:27:47Z mazoe joined #lisp 2017-03-22T11:27:56Z EvW joined #lisp 2017-03-22T11:28:35Z DeadTrickster joined #lisp 2017-03-22T11:32:43Z tharugrim quit (Ping timeout: 240 seconds) 2017-03-22T11:33:57Z pillton joined #lisp 2017-03-22T11:38:24Z lexicall joined #lisp 2017-03-22T11:38:47Z shdeng quit (Quit: Leaving) 2017-03-22T11:43:16Z lexicall quit (Ping timeout: 256 seconds) 2017-03-22T11:44:05Z snowcrshd joined #lisp 2017-03-22T11:48:24Z lexicall joined #lisp 2017-03-22T11:53:14Z attila_lendvai joined #lisp 2017-03-22T11:53:22Z elinux quit (Remote host closed the connection) 2017-03-22T11:55:35Z elinux joined #lisp 2017-03-22T11:57:40Z damke joined #lisp 2017-03-22T12:01:41Z rpg joined #lisp 2017-03-22T12:02:32Z Karl_Dscc quit (Ping timeout: 256 seconds) 2017-03-22T12:04:03Z zaquest quit (Remote host closed the connection) 2017-03-22T12:04:55Z zaquest joined #lisp 2017-03-22T12:05:43Z eeezkil joined #lisp 2017-03-22T12:12:43Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2017-03-22T12:13:32Z d4ryus joined #lisp 2017-03-22T12:15:25Z Karl_Dscc joined #lisp 2017-03-22T12:16:28Z d4ryus4 quit (Ping timeout: 260 seconds) 2017-03-22T12:16:57Z elinux quit (Quit: Leaving) 2017-03-22T12:17:14Z elinux joined #lisp 2017-03-22T12:20:07Z elinux_ joined #lisp 2017-03-22T12:20:12Z araujo quit (Ping timeout: 260 seconds) 2017-03-22T12:20:20Z elinux_ quit (Client Quit) 2017-03-22T12:20:20Z elinux quit (Client Quit) 2017-03-22T12:20:36Z elinux joined #lisp 2017-03-22T12:21:19Z araujo joined #lisp 2017-03-22T12:24:34Z DeadTrickster quit (Read error: Connection timed out) 2017-03-22T12:27:00Z DeadTrickster joined #lisp 2017-03-22T12:27:43Z josh_2 joined #lisp 2017-03-22T12:29:21Z fjl quit (Remote host closed the connection) 2017-03-22T12:29:33Z fjl joined #lisp 2017-03-22T12:30:05Z rpg quit (Ping timeout: 240 seconds) 2017-03-22T12:30:22Z jameser joined #lisp 2017-03-22T12:30:38Z _cosmonaut_ joined #lisp 2017-03-22T12:31:26Z DeadTrickster quit (Ping timeout: 256 seconds) 2017-03-22T12:31:37Z klltkr joined #lisp 2017-03-22T12:31:41Z ebrasca` is now known as ebrasca 2017-03-22T12:32:30Z klltkr quit (Client Quit) 2017-03-22T12:32:40Z shrdlu68 quit (Ping timeout: 246 seconds) 2017-03-22T12:32:45Z lexicall quit (Quit: Ah, my macbook is gonna sleep!) 2017-03-22T12:35:31Z ebrasca quit (Remote host closed the connection) 2017-03-22T12:35:50Z ebrasca joined #lisp 2017-03-22T12:36:54Z andrzejku quit (Quit: My iMac has gone to sleep. ZZZzzz…) 2017-03-22T12:41:08Z klltkr joined #lisp 2017-03-22T12:41:21Z andrzejku joined #lisp 2017-03-22T12:41:28Z klltkr quit (Client Quit) 2017-03-22T12:43:32Z Harag quit (Ping timeout: 260 seconds) 2017-03-22T12:44:04Z Karl_Dscc quit (Remote host closed the connection) 2017-03-22T12:44:24Z fjl quit (Remote host closed the connection) 2017-03-22T12:44:35Z fjl joined #lisp 2017-03-22T12:44:46Z Beetny quit (Ping timeout: 264 seconds) 2017-03-22T12:45:35Z andrzejku quit (Ping timeout: 240 seconds) 2017-03-22T12:47:56Z fjl left #lisp 2017-03-22T12:48:05Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-22T12:50:41Z damke quit (Ping timeout: 268 seconds) 2017-03-22T12:50:48Z jameser joined #lisp 2017-03-22T12:52:02Z damke joined #lisp 2017-03-22T12:54:38Z nelder quit (Quit: Leaving) 2017-03-22T13:00:02Z damke_ joined #lisp 2017-03-22T13:00:19Z tharugrim joined #lisp 2017-03-22T13:00:40Z EvW quit (Ping timeout: 258 seconds) 2017-03-22T13:00:45Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-22T13:02:24Z damke quit (Ping timeout: 268 seconds) 2017-03-22T13:03:49Z _death: the only difference between having source code and not having source code is the amount of effort it takes to analyse the software 2017-03-22T13:06:39Z easye: _death: for a pretty generous value of "only" 2017-03-22T13:07:40Z White__Flame: there's a pretty significant difference in effort to modify it as well 2017-03-22T13:08:43Z _death: White__Flame: much less than the analysis step 2017-03-22T13:10:15Z zaquest quit (Quit: Leaving) 2017-03-22T13:10:22Z jameser joined #lisp 2017-03-22T13:10:28Z wooden_ quit (Ping timeout: 246 seconds) 2017-03-22T13:11:32Z daviid quit (Ping timeout: 260 seconds) 2017-03-22T13:11:49Z _death: I suppose there are nontechnical issues, like finding the right people 2017-03-22T13:13:27Z CEnnis91 joined #lisp 2017-03-22T13:19:53Z dec0n_ joined #lisp 2017-03-22T13:19:56Z wooden_ joined #lisp 2017-03-22T13:20:39Z LiamH joined #lisp 2017-03-22T13:21:40Z ogamita: _death: assuming the binary code is not obfuscated, which is becoming the rule for software you don't have the sources anyways. 2017-03-22T13:22:35Z _death: ogamita: that never stopped people from reverse engineering software 2017-03-22T13:22:57Z dec0n quit (Ping timeout: 240 seconds) 2017-03-22T13:23:00Z cpape joined #lisp 2017-03-22T13:23:22Z mazoe: just widens the definition of "only" 2017-03-22T13:23:29Z ogamita: _death: cf. https://www.intertrust.com/products/application-security/code-protection/ 2017-03-22T13:23:48Z alphor quit (Quit: Bye!) 2017-03-22T13:23:49Z ogamita: yes, just widens it to cryptographic problems, for which you need more than the lifetime of the universe. Good luck. 2017-03-22T13:24:00Z mazoe: :) 2017-03-22T13:24:17Z White__Flame: looks like marketing material to me... 2017-03-22T13:24:22Z _death: ogamita: come now.. this or that product doesn't mean anything.. if it runs on your machine, it can be reversed 2017-03-22T13:24:50Z ogamita: _death: again, it can, if you have universe-worth time. 2017-03-22T13:24:56Z _death: ogamita: nowadays they try to use hypervisors and such.. still, the cat wins every time 2017-03-22T13:25:07Z mazoe: cpu level encrypted instructions... that's totally a widely spread feature 2017-03-22T13:25:38Z sjl joined #lisp 2017-03-22T13:25:38Z ogamita: _death: whitecryption implements whitebox cryptography: you can watch the RAM, you can trace the execution, and you still can't get the secret keys. 2017-03-22T13:25:59Z ogamita: _death: https://www.intertrust.com/products/application-security/secure-key-box/ 2017-03-22T13:26:33Z jerme joined #lisp 2017-03-22T13:26:34Z ogamita: cf. https://scholar.google.fr/scholar?q=whitebox+cryptography+thesis&hl=en&as_sdt=0&as_vis=1&oi=scholart&sa=X&ved=0ahUKEwirreOlm-rSAhWLfhoKHQ1fB20QgQMIGjAA 2017-03-22T13:26:42Z White__Flame: so, if you watch the register values...? 2017-03-22T13:26:50Z _death: at least their marketing is somewhat honest.. "To succeed, they must crack the entire protection regime at once, which is an extremely difficult and time consuming task." 2017-03-22T13:26:51Z ogamita: The register value is encrypted. 2017-03-22T13:27:16Z _death: ogamita: I repeat: if it runs on your machine, it can be reversed 2017-03-22T13:27:31Z rumbler31 quit (Remote host closed the connection) 2017-03-22T13:27:32Z White__Flame: plus, if it's a decryption step, you can just let it run and later look at the output 2017-03-22T13:27:51Z ogamita: _death: Let me provide you with an example. 2017-03-22T13:27:53Z White__Flame: ignoring the key 2017-03-22T13:28:15Z iago: _death: I guess it works when the effort to reverse it, is higher than the effort to implement it from scratch 2017-03-22T13:28:37Z White__Flame: depends on the reason for reversing 2017-03-22T13:29:03Z White__Flame: if you're a black hat, you're not interested in reimplementing, but compromising and/or spying 2017-03-22T13:29:50Z _death: iago: yes, or takes longer than the time it makes enough profit.. 2017-03-22T13:30:17Z _death: iago: but it's always a matter of economics, not technical 2017-03-22T13:32:03Z jackdaniel: i thought we were talking about practial difference? in theory program is just data 2017-03-22T13:32:46Z _death: jackdaniel: in practice, reverse engineering occurs everywhere and all the time 2017-03-22T13:33:22Z jackdaniel: yes, but it's hard and resource-consuming task, so saying about "the only difference" is a bit inaccurate 2017-03-22T13:33:27Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-22T13:33:57Z zaquest joined #lisp 2017-03-22T13:34:00Z _death: nowadays there's even a buzzword for it.. "cyber" 2017-03-22T13:34:01Z jackdaniel: but yes, for very wide definition of "only" it makes sense 2017-03-22T13:34:48Z zellerin joined #lisp 2017-03-22T13:35:01Z _death: I think it became much more accessible and commercialized in the last decade.. I suppose that's why I lost interest :D 2017-03-22T13:35:09Z nowhereman joined #lisp 2017-03-22T13:36:06Z koisoke_ is now known as koisoke 2017-03-22T13:36:23Z White__Flame: lost interest in cybersecurity, or in reverse engineering? 2017-03-22T13:37:14Z warweasle joined #lisp 2017-03-22T13:37:51Z _death: White__Flame: reverse engineering.. although my old RE skills help me greatly when I need to understand other people's code of course :) 2017-03-22T13:38:27Z ogamita: Good RE tools can always be useful. 2017-03-22T13:38:38Z jackdaniel: also regarding RE – having disassembled code isn't the same as having source code. compiler may use tricks to simplify code, but source may contain ideas lost in translation (but working accurately) 2017-03-22T13:39:06Z ogamita: Indeed. One may prefer to have a good specification document rather than source code. 2017-03-22T13:39:08Z White__Flame: I'm still building RE tech, but I'm severly disinterested in the whole cybersecurity industry, after working on some major projects and taking some contracts. Of course, I'll take a paying gig in the industry, but not pursuing it 2017-03-22T13:39:10Z jackdaniel: for instance variable names (trivial one) 2017-03-22T13:39:19Z _death: or debugging... 2017-03-22T13:39:35Z ogamita: With good specs, you can usually re-implement easily on new systems or hardware. With just the code, it's often more work or economically impossible. 2017-03-22T13:40:01Z White__Flame: almost nobody understands cybersecurity, and want non-invasive turnkey products (which beltway bandits are happy to provide). it makes no sense and is too self-defeating to have any interest there 2017-03-22T13:40:43Z _death: jackdaniel: it's the reverser's job to recover that information.. and yes, some things (rationale etc.) are lost, but even with source code they're sometimes lost in the translation from thought to code 2017-03-22T13:42:21Z _death: White__Flame: to me it looks like the "cyber" buzzword was invented by governments.. and I prefer to not deal with such entities :) 2017-03-22T13:42:41Z White__Flame: corporate, too 2017-03-22T13:43:28Z _death: White__Flame: these were satisfied with "security" for a long time 2017-03-22T13:43:37Z jackdaniel: _death: so time/effort isn't the "only" difference imho 2017-03-22T13:43:56Z ogamita: _death: http://paste.lisp.org/display/342086 Here you have even the "source" (obfuscated). Let's see if you can restore the original source. 2017-03-22T13:43:56Z jameser joined #lisp 2017-03-22T13:46:19Z _death: ogamita: it's just a state machine.. simple VMs like this are very old tricks and well understood 2017-03-22T13:47:52Z White__Flame: I've broken a lot of that style from .swf files; noramlly it's just a single static propagation that brings you to the "real" code, after making a bunch of pointless obfuscated jumps 2017-03-22T13:48:30Z White__Flame: obviously that pasted code involves decryption keys and traps and such, but it's generally a simple linear path 2017-03-22T13:48:59Z ogamita: And it's a sample of a very simple function with a single statement… 2017-03-22T13:49:02Z _death: ogamita: also in this case, much of this "obfuscation" disappears, or is lessed by just compiling it 2017-03-22T13:49:09Z _death: *lessened 2017-03-22T13:49:42Z jameser quit (Max SendQ exceeded) 2017-03-22T13:49:43Z _death: White__Flame: I think that code just returns which mode to use based on info.algorithm 2017-03-22T13:49:54Z ogamita: Good guess :-) 2017-03-22T13:49:57Z White__Flame: yeah, I just glanced 2017-03-22T13:51:21Z jameser joined #lisp 2017-03-22T13:51:26Z shifty quit (Ping timeout: 260 seconds) 2017-03-22T13:57:44Z axion: How do I refresh the asdf registry cache again? 2017-03-22T14:00:48Z _death: I remember when the army interviewed me... they asked me what I liked better, reverse engineering or programming.. I answered the latter, they were surprised (dismayed, maybe).. and programming it has been for the last decade 2017-03-22T14:04:12Z easye: axion: (asdf:initialize-source-registry) 2017-03-22T14:05:36Z axion: easye: Ah, asdf:clear-source-registry seemed to also work 2017-03-22T14:06:57Z cromachina quit (Read error: Connection reset by peer) 2017-03-22T14:11:35Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-22T14:11:51Z zellerin quit (Ping timeout: 260 seconds) 2017-03-22T14:17:10Z Karl_Dscc joined #lisp 2017-03-22T14:20:39Z yrk joined #lisp 2017-03-22T14:20:46Z X-Scale joined #lisp 2017-03-22T14:20:49Z _death: ogamita: I think the first instance of source-based obfuscation I encountered was with PCBoard Programming Language (PPL) sources.. there was a simple decompiler called PPLD, but because some tool was written to obfuscate the source someone wrote another decompiler, PPLX, that also performs analysis to remove the obfuscation.. I also wrote an obfuscator then called PPLE :) 2017-03-22T14:21:17Z yrk quit (Changing host) 2017-03-22T14:21:17Z yrk joined #lisp 2017-03-22T14:21:19Z _death: ogamita: but this is quite offtopic, so it's time to discuss Lisp 2017-03-22T14:21:19Z ogamita: Of course, it's an arm race. 2017-03-22T14:21:39Z ogamita: Well, it's related: you would definitely use lisp to write reverse engineering tools. 2017-03-22T14:21:53Z _death: ogamita: yes :) 2017-03-22T14:22:31Z jameser joined #lisp 2017-03-22T14:23:58Z _death: ogamita: at my previous job, some people wrote games in lua and they dumped high scores and such as lua objects (actually lua code) instead of using json or whatever.. when they moved to using unity and C# they didn't know how to read those objects... so I some minimal interpreters in lisp for the two lua implementations they used 2017-03-22T14:24:37Z _death: ogamita: later I had to write it in C# but for experimentation Lisp was great of course :).. the whole thing took a day 2017-03-22T14:25:24Z rpg_ joined #lisp 2017-03-22T14:25:46Z jameser_ joined #lisp 2017-03-22T14:26:21Z ogamita: exactly. 2017-03-22T14:26:58Z jameser_ quit (Client Quit) 2017-03-22T14:28:27Z jameser quit (Ping timeout: 240 seconds) 2017-03-22T14:28:41Z jameser_ joined #lisp 2017-03-22T14:29:46Z tharugrim quit (Ping timeout: 264 seconds) 2017-03-22T14:31:03Z sellout- joined #lisp 2017-03-22T14:32:48Z detergnet quit (Ping timeout: 240 seconds) 2017-03-22T14:33:57Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-22T14:36:36Z jameser_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-22T14:37:48Z daviid joined #lisp 2017-03-22T14:39:58Z hhdave quit (Ping timeout: 264 seconds) 2017-03-22T14:40:02Z smokeink_ joined #lisp 2017-03-22T14:40:03Z hhdave_ joined #lisp 2017-03-22T14:41:25Z DeadTrickster joined #lisp 2017-03-22T14:43:04Z Karl_Dscc quit (Remote host closed the connection) 2017-03-22T14:45:15Z bariscant quit (Quit: Leaving) 2017-03-22T14:45:37Z bariscant joined #lisp 2017-03-22T14:45:40Z mathrick quit (Ping timeout: 246 seconds) 2017-03-22T14:46:57Z bariscant quit (Client Quit) 2017-03-22T14:49:25Z flamebeard quit (Quit: Leaving) 2017-03-22T14:51:29Z Reinisch joined #lisp 2017-03-22T14:52:06Z smokeink_ quit (Quit: leaving) 2017-03-22T14:52:09Z yeticry_ joined #lisp 2017-03-22T14:52:30Z rumbler31 joined #lisp 2017-03-22T14:52:45Z yeticry quit (Read error: Connection reset by peer) 2017-03-22T14:53:17Z MrBusiness quit (Quit: https://www.youtube.com/watch?v=xIIqYqtR1lY -- Suicide is Painless - Johnny Mandel) 2017-03-22T14:53:54Z joneshf-laptop joined #lisp 2017-03-22T14:55:09Z MrBusiness joined #lisp 2017-03-22T14:57:43Z mishoo quit (Ping timeout: 240 seconds) 2017-03-22T14:58:54Z nowhereman quit (Quit: Konversation terminated!) 2017-03-22T14:58:58Z sz0 joined #lisp 2017-03-22T14:59:03Z nowhere_man joined #lisp 2017-03-22T14:59:06Z mathrick joined #lisp 2017-03-22T14:59:59Z al-damiri joined #lisp 2017-03-22T15:00:43Z sjl quit (Ping timeout: 240 seconds) 2017-03-22T15:00:45Z oleo joined #lisp 2017-03-22T15:00:48Z eli quit (Ping timeout: 268 seconds) 2017-03-22T15:02:52Z eazar001 joined #lisp 2017-03-22T15:03:53Z _cosmonaut_ quit (Ping timeout: 268 seconds) 2017-03-22T15:05:00Z payphone quit (Ping timeout: 256 seconds) 2017-03-22T15:09:28Z payphone joined #lisp 2017-03-22T15:09:56Z dec0n_ quit (Read error: Connection reset by peer) 2017-03-22T15:15:17Z payphone quit (Quit: WeeChat 1.6) 2017-03-22T15:15:40Z davsebamse quit (Ping timeout: 260 seconds) 2017-03-22T15:20:29Z iago quit (Quit: Leaving) 2017-03-22T15:21:24Z EvW joined #lisp 2017-03-22T15:22:27Z davsebamse joined #lisp 2017-03-22T15:22:31Z zellerin joined #lisp 2017-03-22T15:22:59Z shrdlu68 joined #lisp 2017-03-22T15:23:24Z _cosmonaut_ joined #lisp 2017-03-22T15:27:19Z davsebamse quit (Ping timeout: 268 seconds) 2017-03-22T15:27:40Z Harag joined #lisp 2017-03-22T15:28:54Z davsebamse joined #lisp 2017-03-22T15:30:16Z anaumov quit (Changing host) 2017-03-22T15:30:16Z anaumov joined #lisp 2017-03-22T15:31:31Z sellout- quit (Ping timeout: 246 seconds) 2017-03-22T15:32:09Z Karl_Dscc joined #lisp 2017-03-22T15:32:50Z iago joined #lisp 2017-03-22T15:33:21Z hhdave joined #lisp 2017-03-22T15:33:34Z sellout- joined #lisp 2017-03-22T15:34:05Z hhdave_ quit (Ping timeout: 240 seconds) 2017-03-22T15:34:17Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-22T15:35:55Z scymtym quit (Ping timeout: 258 seconds) 2017-03-22T15:37:07Z sjl joined #lisp 2017-03-22T15:38:24Z msb joined #lisp 2017-03-22T15:38:29Z damke_ quit (Quit: quit) 2017-03-22T15:38:37Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-22T15:39:24Z learning joined #lisp 2017-03-22T15:41:41Z prole joined #lisp 2017-03-22T15:42:57Z msb quit (Ping timeout: 240 seconds) 2017-03-22T15:43:34Z daviid quit (Ping timeout: 264 seconds) 2017-03-22T15:43:42Z rumbler31 quit (Remote host closed the connection) 2017-03-22T15:43:56Z msb joined #lisp 2017-03-22T15:51:45Z EvW quit (Remote host closed the connection) 2017-03-22T15:53:31Z gmareske joined #lisp 2017-03-22T15:54:48Z rumbler31 joined #lisp 2017-03-22T15:54:54Z gmareske is now known as gm 2017-03-22T15:55:10Z gm is now known as mareskeg 2017-03-22T15:55:10Z EvW joined #lisp 2017-03-22T15:55:53Z mareskeg is now known as gdoor 2017-03-22T15:57:32Z mrottenkolber joined #lisp 2017-03-22T15:57:43Z jameser joined #lisp 2017-03-22T16:03:10Z learning quit (Remote host closed the connection) 2017-03-22T16:04:42Z gdoor quit (Quit: gdoor) 2017-03-22T16:06:14Z rumbler31 quit (Remote host closed the connection) 2017-03-22T16:07:35Z rumbler31 joined #lisp 2017-03-22T16:08:14Z _rumbler31 joined #lisp 2017-03-22T16:08:15Z gdoor joined #lisp 2017-03-22T16:09:48Z jerme joined #lisp 2017-03-22T16:09:52Z zellerin quit (Ping timeout: 268 seconds) 2017-03-22T16:11:02Z jerme quit (Client Quit) 2017-03-22T16:11:57Z rumbler31 quit (Ping timeout: 240 seconds) 2017-03-22T16:15:43Z josh_2 quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-22T16:16:27Z jfb4 quit (Ping timeout: 240 seconds) 2017-03-22T16:16:58Z gdoor quit (Quit: gdoor) 2017-03-22T16:18:23Z jfb4 joined #lisp 2017-03-22T16:19:31Z mejja joined #lisp 2017-03-22T16:21:47Z smokeink quit (Remote host closed the connection) 2017-03-22T16:23:33Z tharugrim joined #lisp 2017-03-22T16:24:23Z bpanthi joined #lisp 2017-03-22T16:26:08Z Bike joined #lisp 2017-03-22T16:26:08Z ryanwatkins quit (Ping timeout: 260 seconds) 2017-03-22T16:27:03Z gdoor joined #lisp 2017-03-22T16:29:31Z jfb4 quit (Ping timeout: 260 seconds) 2017-03-22T16:29:55Z neoncontrails joined #lisp 2017-03-22T16:30:59Z jfb4 joined #lisp 2017-03-22T16:31:01Z o1e9 quit (Quit: Ex-Chat) 2017-03-22T16:33:42Z gdoor quit (Quit: gdoor) 2017-03-22T16:34:19Z attila_lendvai joined #lisp 2017-03-22T16:41:10Z mrottenkolber quit (Ping timeout: 264 seconds) 2017-03-22T16:42:28Z jfb4 quit (Ping timeout: 240 seconds) 2017-03-22T16:42:49Z bpanthi quit (Quit: bpanthi) 2017-03-22T16:44:39Z jfb4 joined #lisp 2017-03-22T16:48:48Z eazar001 quit (Quit: WeeChat 1.5) 2017-03-22T16:49:11Z eazar001 joined #lisp 2017-03-22T16:49:30Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-22T16:49:51Z eazar001 quit (Client Quit) 2017-03-22T16:51:22Z jfb4 quit (Ping timeout: 264 seconds) 2017-03-22T16:52:34Z stepnem quit (Ping timeout: 264 seconds) 2017-03-22T16:53:16Z jfb4 joined #lisp 2017-03-22T16:54:08Z _cosmonaut_ quit (Ping timeout: 260 seconds) 2017-03-22T16:56:32Z shka_ joined #lisp 2017-03-22T16:58:20Z seg quit (Ping timeout: 256 seconds) 2017-03-22T16:59:18Z defaultxr joined #lisp 2017-03-22T17:00:39Z seg joined #lisp 2017-03-22T17:01:08Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-03-22T17:04:24Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-22T17:08:39Z damke joined #lisp 2017-03-22T17:13:41Z manualcrank joined #lisp 2017-03-22T17:16:57Z attila_lendvai quit (Read error: No route to host) 2017-03-22T17:18:33Z scymtym joined #lisp 2017-03-22T17:19:02Z attila_lendvai joined #lisp 2017-03-22T17:19:02Z attila_lendvai quit (Changing host) 2017-03-22T17:19:02Z attila_lendvai joined #lisp 2017-03-22T17:20:19Z bocaneri quit (Remote host closed the connection) 2017-03-22T17:25:08Z okflo joined #lisp 2017-03-22T17:27:53Z varjag joined #lisp 2017-03-22T17:28:12Z shrdlu68 quit (Ping timeout: 260 seconds) 2017-03-22T17:28:36Z borei: good morning lispers ! 2017-03-22T17:28:51Z beach: Hello borei. 2017-03-22T17:29:05Z borei: can somebody help new guy with - http://pastebin.com/2428vx5N 2017-03-22T17:29:30Z borei: getting alien "fun" undefined 2017-03-22T17:30:24Z varjag: you probably didn't load the library 2017-03-22T17:30:28Z shrdlu68 joined #lisp 2017-03-22T17:30:29Z beach: You should start respecting the accepted Common Lisp style if you want to submit code for others to read. 2017-03-22T17:30:32Z nyef: borei: Did you load the library that defines "fun"? 2017-03-22T17:30:36Z varjag: where 'fun' is defined 2017-03-22T17:30:42Z mishoo joined #lisp 2017-03-22T17:30:57Z borei: yep - (load-shared-object "/home/dan/work/lisp/hello-world/main.so") 2017-03-22T17:31:02Z nyef: And, yeah, those trailing close-parens on their own lines are poor form. 2017-03-22T17:31:31Z borei: well, it's from C, need some time to absorbe new styling 2017-03-22T17:31:44Z nyef: Was it compiled as C or as C++? 2017-03-22T17:31:49Z daviid joined #lisp 2017-03-22T17:31:52Z borei: plain C 2017-03-22T17:32:17Z nyef: Hrm. 2017-03-22T17:32:29Z nyef: It's not declared static or anything like that, right? 2017-03-22T17:32:36Z borei: nah 2017-03-22T17:32:53Z nyef: Throw the C source and your compilation command into a paste? 2017-03-22T17:32:59Z borei: one sec 2017-03-22T17:33:19Z Wombatzus joined #lisp 2017-03-22T17:33:39Z borei: http://pastebin.com/qnAGMsVq 2017-03-22T17:33:52Z _death: you can use nm to see the symbols 2017-03-22T17:34:47Z nyef: That's... a full program, not a library? 2017-03-22T17:35:10Z EvW quit (Ping timeout: 256 seconds) 2017-03-22T17:35:15Z ogamita quit (Remote host closed the connection) 2017-03-22T17:35:21Z borei: i loaded main.o to main.so 2017-03-22T17:35:26Z BlueRavenGT joined #lisp 2017-03-22T17:35:29Z damke quit (Quit: quit) 2017-03-22T17:35:34Z borei: ld -shared -o main.so main.o 2017-03-22T17:35:44Z hhdave quit (Quit: hhdave) 2017-03-22T17:35:56Z nyef: Also looks like it might still behave as a program if it were compiled as C++ rather than as C? 2017-03-22T17:36:12Z nyef: So, yeah, next step is probably nm. 2017-03-22T17:36:22Z varjag: run ldconfig to update the cache 2017-03-22T17:36:47Z nyef: I wouldn't have thought ldconfig to be necessary here. 2017-03-22T17:36:56Z varjag: then reload the library 2017-03-22T17:37:03Z varjag: in lispland 2017-03-22T17:37:46Z borei: hmm, why ldconfig, .so file in my home dir, ldconfig has no info about it 2017-03-22T17:38:17Z borei: i run nm against main.so 2017-03-22T17:38:29Z borei: 0000000000000310 T _Z3fund 2017-03-22T17:38:40Z nyef: C++ it is. 2017-03-22T17:38:52Z borei: ha ? 2017-03-22T17:39:05Z damke joined #lisp 2017-03-22T17:39:09Z nyef: You compiled your library as C++, so the C++ ABI name mangling got involved. 2017-03-22T17:39:23Z _death: you can have extern "C" { } 2017-03-22T17:39:49Z borei: gcc -fPIC -c main.cc - will it calling C++ ? 2017-03-22T17:40:00Z nyef: Yes, .cc is for C++, .c is for C. 2017-03-22T17:40:28Z nyef: There's a language-override option to gcc if you want to use that instead. 2017-03-22T17:42:01Z ogamita joined #lisp 2017-03-22T17:43:26Z borei: holly smoke 2017-03-22T17:43:44Z borei: renamed it - reloaded shared lib - works ! 2017-03-22T17:44:28Z borei: thanks for heads-up ! 2017-03-22T17:45:47Z nyef: Hrm... Now there's an idea. Where can I get some holly and something to burn it in? 2017-03-22T17:46:30Z ogamita quit (Ping timeout: 256 seconds) 2017-03-22T17:47:02Z borei: ESL :-) (english second language) 2017-03-22T17:47:27Z m00natic quit (Remote host closed the connection) 2017-03-22T17:48:50Z nyef: Yeah, I don't know why "holy" has a long o and "holly" a short o, but that seems to be the primary difference in pronunciation. 2017-03-22T17:49:40Z _death: just say heilig 2017-03-22T17:50:40Z vydd joined #lisp 2017-03-22T17:51:12Z _death: then you'll see where the elongation comes from :) 2017-03-22T17:51:24Z neoncontrails quit (Remote host closed the connection) 2017-03-22T17:52:14Z tharugrim quit (Ping timeout: 268 seconds) 2017-03-22T17:53:38Z nyef: Riiight... 2017-03-22T18:01:10Z borei: got first prerformance numbers :-) (basically my first small lisp programm). 2017-03-22T18:01:19Z borei: only lisp - 55 second 2017-03-22T18:01:34Z borei: lisp calling alien function - 24 seconds 2017-03-22T18:01:48Z borei: only c - 3.4 seconds 2017-03-22T18:02:43Z sellout- quit (Ping timeout: 246 seconds) 2017-03-22T18:02:43Z sellout-1 joined #lisp 2017-03-22T18:02:46Z nyef: I wouldn't be at all surprised if the lisp code couldn't be optimized a bit. 2017-03-22T18:02:53Z borei: not sure if there any room for optimization, but looks reasonable for me 2017-03-22T18:03:05Z nyef: Err... Too many negatives. 2017-03-22T18:03:15Z borei: :-) 2017-03-22T18:03:32Z mishoo_ joined #lisp 2017-03-22T18:03:39Z borei: it's above my knowledge for now 2017-03-22T18:04:33Z Bike: declare types, etc. (or use rk4. down with euler!!) 2017-03-22T18:04:54Z pebblexe quit (Quit: Page closed) 2017-03-22T18:05:03Z nyef: Yeah, the code in the paste that you gave above, even (or especially) uncommenting the LOOP form, isn't exactly optimal in terms of declared types, and plausibly doesn't even do what you think it does. 2017-03-22T18:05:12Z mishoo quit (Ping timeout: 256 seconds) 2017-03-22T18:15:47Z sz0 joined #lisp 2017-03-22T18:17:24Z pjb joined #lisp 2017-03-22T18:19:55Z remi`bd joined #lisp 2017-03-22T18:20:46Z gargaml quit (Ping timeout: 264 seconds) 2017-03-22T18:24:23Z malice joined #lisp 2017-03-22T18:31:03Z puchka joined #lisp 2017-03-22T18:32:27Z gdoor joined #lisp 2017-03-22T18:35:11Z didi joined #lisp 2017-03-22T18:36:22Z didi: I don't understand the results of https://paste.debian.net/hidden/1f7b83dd . When I run the program with `'negate' I get an undefined function error, but when I run it with `#'negate', I get the result I expected, i.e. (-1 -2 -3). 2017-03-22T18:36:51Z gdoor quit (Ping timeout: 258 seconds) 2017-03-22T18:37:29Z Bike: (mapcar 'negate ...) is short for (mapcar (symbol-function 'negate) ...), and symbol-function looks up global functions only 2017-03-22T18:38:00Z didi: oic. And #' makes it local at the local scope? 2017-03-22T18:38:51Z Bike: #' means a local lookup, yeah 2017-03-22T18:38:59Z didi: Bike: Thank you. 2017-03-22T18:39:41Z didi: So there is an important distinction between 'fn and #'fn. 2017-03-22T18:41:24Z prole quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2017-03-22T18:42:20Z DeadTrickster joined #lisp 2017-03-22T18:45:12Z gdoor joined #lisp 2017-03-22T18:45:58Z didi: I guess I should start paying attention to it. 2017-03-22T18:46:03Z RedEight joined #lisp 2017-03-22T18:49:09Z gdoor quit (Client Quit) 2017-03-22T18:53:30Z AntiSpamMeta quit (Read error: Connection reset by peer) 2017-03-22T18:53:42Z AntiSpamMeta joined #lisp 2017-03-22T18:53:51Z gdoor joined #lisp 2017-03-22T18:58:38Z gdoor quit (Quit: gdoor) 2017-03-22T18:59:11Z andrzejku joined #lisp 2017-03-22T19:01:26Z damke quit (Quit: quit) 2017-03-22T19:01:37Z milanj joined #lisp 2017-03-22T19:01:41Z damke joined #lisp 2017-03-22T19:01:54Z gdoor joined #lisp 2017-03-22T19:02:20Z damke quit (Client Quit) 2017-03-22T19:02:34Z damke joined #lisp 2017-03-22T19:03:22Z Guest90023 quit (Ping timeout: 264 seconds) 2017-03-22T19:03:36Z puchka quit (Quit: leaving) 2017-03-22T19:05:52Z Einwq quit (Quit: Leaving) 2017-03-22T19:06:09Z gdoor quit (Client Quit) 2017-03-22T19:06:31Z terpri joined #lisp 2017-03-22T19:09:08Z dedmons quit (Quit: ZNC 1.6.3+deb1+trusty0 - http://znc.in) 2017-03-22T19:09:59Z gdoor joined #lisp 2017-03-22T19:10:02Z learning joined #lisp 2017-03-22T19:11:27Z borei: i got result close to native C ! 2017-03-22T19:11:32Z tharugrim joined #lisp 2017-03-22T19:11:34Z borei: lisp + alien - 4.5 2017-03-22T19:11:39Z borei: C - 3.5 2017-03-22T19:12:10Z borei: that is really impressive 2017-03-22T19:12:16Z dedmons joined #lisp 2017-03-22T19:13:12Z nyef: Especially with how much the alien-funcall costs. 2017-03-22T19:13:26Z borei: 1e9 function calculations, "rectangles" method of integration. 2017-03-22T19:14:02Z fourier joined #lisp 2017-03-22T19:14:20Z borei: very "brutal-force" method, but it's giving some ideas 2017-03-22T19:14:43Z Lord_Nightmare: 'alien'? what is alien, exactly? 2017-03-22T19:14:45Z neoncontrails joined #lisp 2017-03-22T19:15:09Z Lord_Nightmare: Googling for "lisp alien" doesn't get me anything except for Barski's logo 2017-03-22T19:15:41Z varjag: foreign function 2017-03-22T19:15:51Z borei: calling C function(s) from lisp 2017-03-22T19:16:00Z strykerkkd joined #lisp 2017-03-22T19:16:00Z daviid quit (Ping timeout: 260 seconds) 2017-03-22T19:16:09Z Lord_Nightmare: ah 2017-03-22T19:17:20Z Bike: they're called alien in sbcl. 2017-03-22T19:17:24Z jackdaniel: Lord_Nightmare: look for CFFI 2017-03-22T19:18:40Z cibs quit (Ping timeout: 246 seconds) 2017-03-22T19:19:22Z gdoor quit (Quit: gdoor) 2017-03-22T19:20:15Z edgar-rft joined #lisp 2017-03-22T19:20:32Z borei: http://pastebin.com/uktkvHvz - can somebody take a look, am i getting maximum that i can i get, of there is more room to optimize ? 2017-03-22T19:20:48Z cibs joined #lisp 2017-03-22T19:21:05Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-22T19:21:59Z borei: gcc -O3 produce code runing 1.3 seconds - not sure if it's number i should target 2017-03-22T19:22:59Z jackdaniel: sufficiently smart compiler™ doesn't need declaration inside lep about step and I 2017-03-22T19:23:35Z jackdaniel: if you are sure about data correctness etc, you may skip safety checks with (safety 0) – for benchmark purposes, not for production code 2017-03-22T19:23:59Z jackdaniel: there is something wrong with the indent, do you use emacs indentation ? 2017-03-22T19:24:11Z gdoor joined #lisp 2017-03-22T19:24:17Z borei: yep im in emacs 2017-03-22T19:24:51Z Bike: the fact that you call out to C is going to limit how fast it can be. 2017-03-22T19:25:12Z borei: without declaration for I and step i have not so good result - 12 seconds agains 4 seconds 2017-03-22T19:25:44Z borei: yeah, i agree that function call is gonna be more expensive then calcualtion itself 2017-03-22T19:28:35Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-22T19:29:41Z attila_lendvai joined #lisp 2017-03-22T19:29:41Z attila_lendvai quit (Changing host) 2017-03-22T19:29:41Z attila_lendvai joined #lisp 2017-03-22T19:36:11Z nirved quit (Quit: Leaving) 2017-03-22T19:37:09Z Bike: why do you set read default float format? 2017-03-22T19:38:31Z Bike: i mean, not that it'll affect the time appreciably, but you don't need to 2017-03-22T19:40:48Z cibs quit (Ping timeout: 240 seconds) 2017-03-22T19:42:47Z cibs joined #lisp 2017-03-22T19:46:46Z hhdave joined #lisp 2017-03-22T19:46:52Z yrk quit (Read error: Connection reset by peer) 2017-03-22T19:47:38Z fourier: borei: you can declare type for loop variables inside loop 2017-03-22T19:48:21Z fourier: like (loop for i fixnum from 0 to 255 ... 2017-03-22T19:48:35Z EvW joined #lisp 2017-03-22T19:49:33Z axion: in that context 'from 0' is not needed 2017-03-22T19:49:53Z damke quit (Quit: quit) 2017-03-22T19:50:11Z fourier: it is just an example :) 2017-03-22T19:50:44Z hhdave_ joined #lisp 2017-03-22T19:51:21Z hhdave quit (Ping timeout: 260 seconds) 2017-03-22T19:51:21Z hhdave_ is now known as hhdave 2017-03-22T19:54:35Z borei: Bike: yep, i figured, just was looking what does it affect 2017-03-22T19:54:51Z Harag quit (Ping timeout: 260 seconds) 2017-03-22T19:55:09Z strelox quit (Remote host closed the connection) 2017-03-22T19:55:16Z borei: fourier: thanks for heads-up 2017-03-22T19:55:50Z circ-user-cEMst joined #lisp 2017-03-22T19:58:38Z circ-user-cEMst: I'm curious: Has there been any prior work for making a Lisp (say SBCL) run as a unikernel on the Xen hypervisor? (like MirageOS) Would it be a difficult task? 2017-03-22T19:58:52Z gdoor quit (Quit: gdoor) 2017-03-22T19:59:45Z warweasle quit (Quit: be on later) 2017-03-22T19:59:47Z nyef: circ-user-cEMst: How about Mezzano? 2017-03-22T19:59:56Z shrdlu68 left #lisp 2017-03-22T20:00:18Z CrazEd__ joined #lisp 2017-03-22T20:00:22Z CrazEd__ quit (Changing host) 2017-03-22T20:00:22Z CrazEd__ joined #lisp 2017-03-22T20:01:52Z rpg_: fourier: I forget -- do you need to use "of-type" (or am I confusing that with iterate?) 2017-03-22T20:02:04Z _death: rpg: optional 2017-03-22T20:02:44Z _death: rpg_: well, for non simple-type-specs, according to clhs 2017-03-22T20:03:10Z rpg_: _death: thanks 2017-03-22T20:06:45Z angavrilov quit (Remote host closed the connection) 2017-03-22T20:07:18Z prole joined #lisp 2017-03-22T20:15:28Z otjura joined #lisp 2017-03-22T20:20:30Z hhdave_ joined #lisp 2017-03-22T20:20:59Z elinux quit (Quit: Leaving) 2017-03-22T20:22:05Z hhdave quit (Ping timeout: 268 seconds) 2017-03-22T20:22:06Z hhdave_ is now known as hhdave 2017-03-22T20:25:54Z circ-user-cEMst: nyef: cool. I was able to get that built and running in no time 2017-03-22T20:26:13Z DeadTrickster quit (Ping timeout: 246 seconds) 2017-03-22T20:28:19Z hhdave quit (Ping timeout: 246 seconds) 2017-03-22T20:28:28Z hhdave joined #lisp 2017-03-22T20:31:46Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-22T20:32:09Z rumbler31 joined #lisp 2017-03-22T20:34:34Z _rumbler31 quit (Ping timeout: 264 seconds) 2017-03-22T20:35:36Z eazar001 joined #lisp 2017-03-22T20:36:36Z eazar001 quit (Client Quit) 2017-03-22T20:37:13Z eazar001 joined #lisp 2017-03-22T20:38:53Z hhdave_ joined #lisp 2017-03-22T20:39:05Z hhdave quit (Ping timeout: 240 seconds) 2017-03-22T20:39:05Z hhdave_ is now known as hhdave 2017-03-22T20:41:15Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-22T20:42:22Z jurov: -znc clearallchannelbuffers 2017-03-22T20:42:27Z jurov: damn 2017-03-22T20:42:41Z bariscant joined #lisp 2017-03-22T20:42:44Z jealousmonk joined #lisp 2017-03-22T20:42:58Z Karunamon|2 joined #lisp 2017-03-22T20:43:05Z Karunamon quit (Ping timeout: 240 seconds) 2017-03-22T20:43:37Z kokonaisluku joined #lisp 2017-03-22T20:44:13Z edgar-rft quit (Quit: edgar-rft) 2017-03-22T20:44:50Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-22T20:45:12Z learning quit (Remote host closed the connection) 2017-03-22T20:46:57Z hhdave quit (Quit: hhdave) 2017-03-22T20:51:20Z hhdave joined #lisp 2017-03-22T20:54:30Z auser1234 joined #lisp 2017-03-22T20:54:44Z auser1234: hello from inside mezzano 2017-03-22T20:56:36Z reinuseslisp joined #lisp 2017-03-22T20:57:01Z nowhere_man joined #lisp 2017-03-22T20:58:33Z hhdave_ joined #lisp 2017-03-22T20:58:50Z zellerin joined #lisp 2017-03-22T20:58:59Z phoe: auser1234: hello 2017-03-22T20:59:11Z phoe: mezzano has this good feature, you can connect to #lisp 2017-03-22T20:59:13Z andrzejku quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-22T20:59:30Z pchrist quit (Remote host closed the connection) 2017-03-22T20:59:42Z phoe: in order to be able to ask for help in case of anything 2017-03-22T20:59:54Z phoe: (and as a showoff of its 100% lispy networking stack) 2017-03-22T21:00:05Z hhdave quit (Ping timeout: 240 seconds) 2017-03-22T21:00:05Z hhdave_ is now known as hhdave 2017-03-22T21:00:40Z hhdave quit (Client Quit) 2017-03-22T21:00:57Z auser1234: It's awesome exploring so far 2017-03-22T21:01:45Z snowcrshd quit (Ping timeout: 258 seconds) 2017-03-22T21:02:27Z wtetzner joined #lisp 2017-03-22T21:02:57Z sjl quit (Ping timeout: 240 seconds) 2017-03-22T21:05:58Z tilpner quit (Ping timeout: 256 seconds) 2017-03-22T21:06:13Z malice quit (Remote host closed the connection) 2017-03-22T21:06:39Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-03-22T21:06:40Z jealousmonk quit (Quit: Leaving) 2017-03-22T21:07:15Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-22T21:07:28Z reinuseslisp quit (Ping timeout: 240 seconds) 2017-03-22T21:07:32Z auser1234: is mezzano a new common lisp from the ground up? does it have some kind of lineage? 2017-03-22T21:07:57Z tilpner joined #lisp 2017-03-22T21:15:19Z ebrasca is now known as ebrasca-afk 2017-03-22T21:16:30Z pjb: auser1234: yes. AFAIK, no lineage. 2017-03-22T21:19:04Z sellout-1 quit (Ping timeout: 246 seconds) 2017-03-22T21:20:22Z burtons quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-22T21:20:46Z rjid joined #lisp 2017-03-22T21:25:47Z gingerale quit (Remote host closed the connection) 2017-03-22T21:27:48Z pankracy quit (Ping timeout: 240 seconds) 2017-03-22T21:28:08Z pankracy joined #lisp 2017-03-22T21:28:39Z milanj quit (Quit: Leaving) 2017-03-22T21:29:26Z borodust quit (Ping timeout: 276 seconds) 2017-03-22T21:30:45Z bariscant quit (Quit: Leaving) 2017-03-22T21:35:29Z borodust joined #lisp 2017-03-22T21:36:00Z ym quit (Ping timeout: 260 seconds) 2017-03-22T21:37:10Z rumbler31 quit (Remote host closed the connection) 2017-03-22T21:39:10Z wtetzner quit (Remote host closed the connection) 2017-03-22T21:41:27Z rumbler31 joined #lisp 2017-03-22T21:41:48Z fourier: can one run mezzano on raspberry pi? 2017-03-22T21:43:19Z rumbler31 quit (Remote host closed the connection) 2017-03-22T21:45:49Z ebrasca-afk: fourier: Mezzano have compiler for arm64 2017-03-22T21:45:57Z rjid left #lisp 2017-03-22T21:48:49Z shka_ quit (Ping timeout: 246 seconds) 2017-03-22T21:51:47Z ebrasca-afk: fourier: It is for you to ask it in #mezzano 2017-03-22T21:51:54Z ebrasca-afk is now known as ebrasca 2017-03-22T21:52:16Z ebrasca: fourier: bye 2017-03-22T21:52:22Z ebrasca is now known as ebrasca-afk 2017-03-22T21:53:29Z hhdave joined #lisp 2017-03-22T21:54:16Z thodg joined #lisp 2017-03-22T21:55:12Z fourier: thanks 2017-03-22T21:55:44Z _death: I thought it's funny that it tries to resolve google.com to check for connectivity.. I have it as 127.0.0.1 in my hosts file 2017-03-22T21:57:32Z Lord_of_Life quit (Excess Flood) 2017-03-22T21:57:55Z hhdave quit (Ping timeout: 246 seconds) 2017-03-22T21:58:30Z hhdave joined #lisp 2017-03-22T21:58:58Z Lord_of_Life joined #lisp 2017-03-22T22:03:30Z daviid joined #lisp 2017-03-22T22:03:45Z reinuseslisp joined #lisp 2017-03-22T22:04:51Z alphor joined #lisp 2017-03-22T22:05:08Z sohail_ quit (Ping timeout: 240 seconds) 2017-03-22T22:05:37Z hhdave quit (Read error: Connection reset by peer) 2017-03-22T22:06:07Z hhdave joined #lisp 2017-03-22T22:07:28Z les` quit (Ping timeout: 240 seconds) 2017-03-22T22:09:07Z nicdev quit (Ping timeout: 246 seconds) 2017-03-22T22:10:45Z okflo left #lisp 2017-03-22T22:11:27Z eeezkil quit (Quit: Leaving.) 2017-03-22T22:16:00Z dyelar quit (Quit: Leaving.) 2017-03-22T22:16:12Z angular_mike_: I need to store data entries with two attributes, a string and an integer 2017-03-22T22:16:36Z angular_mike_: create new entry if one with such string attribute doesn't exist 2017-03-22T22:17:17Z angular_mike_: on demand increment the integer attribute for entry with specific string attribute value 2017-03-22T22:17:43Z angular_mike_: on demand return the integer value for given string value 2017-03-22T22:17:54Z angular_mike_: persist the data indefinitely 2017-03-22T22:17:59Z angular_mike_: what is the best database for this? 2017-03-22T22:18:21Z reinuseslisp: does it have to be stored in disk? 2017-03-22T22:18:47Z angular_mike_: not neccesarily 2017-03-22T22:18:54Z angular_mike_: but needs to persist indefinitely 2017-03-22T22:19:02Z angular_mike_: and be fault tolerant 2017-03-22T22:19:14Z angular_mike_: and persist between reboots etc 2017-03-22T22:19:38Z strykerkkd quit (Quit: Leaving) 2017-03-22T22:20:12Z zellerin quit (Ping timeout: 256 seconds) 2017-03-22T22:20:49Z reinuseslisp: i wrote this some time ago 2017-03-22T22:20:51Z reinuseslisp: http://pastebin.com/Q0QqbtaZ 2017-03-22T22:20:52Z _death: it depends.. for casual use it could be sqlite/redis 2017-03-22T22:21:32Z reinuseslisp: it may be similar to what you do want to do 2017-03-22T22:21:54Z sohail joined #lisp 2017-03-22T22:21:54Z sohail quit (Changing host) 2017-03-22T22:21:54Z sohail joined #lisp 2017-03-22T22:22:10Z les joined #lisp 2017-03-22T22:23:08Z hhdave_ joined #lisp 2017-03-22T22:23:24Z angular_mike_: _death: why would you use redis if you want data to persist? 2017-03-22T22:24:04Z angular_mike_: reinuseslisp: I don't understand 2017-03-22T22:24:15Z angular_mike_: why are you lisping me? 2017-03-22T22:24:35Z iago quit (Ping timeout: 240 seconds) 2017-03-22T22:24:43Z auser1234 quit (Ping timeout: 240 seconds) 2017-03-22T22:24:44Z hhdave quit (Ping timeout: 256 seconds) 2017-03-22T22:24:44Z hhdave_ is now known as hhdave 2017-03-22T22:24:44Z angular_mike_: is lisp a database as well? 2017-03-22T22:25:13Z remi`bd: stop trolling 2017-03-22T22:25:20Z fourier: angular_mike_: probably you can use hash-table and package cl-store to serialize-deserialize them 2017-03-22T22:25:38Z angular_mike_: oh 2017-03-22T22:25:39Z angular_mike_: shit 2017-03-22T22:25:46Z angular_mike_: I meant to ask on #linux 2017-03-22T22:25:50Z angular_mike_: sorry 2017-03-22T22:25:53Z Bike: nice lol 2017-03-22T22:25:54Z reinuseslisp: lol 2017-03-22T22:25:58Z Bike: good luck 2017-03-22T22:26:14Z angular_mike_: I think I'll go wit posgresql anyway 2017-03-22T22:26:36Z remi`bd: It might be a bit overkill 2017-03-22T22:28:53Z burtons joined #lisp 2017-03-22T22:32:05Z MoALTz quit (Quit: Leaving) 2017-03-22T22:32:30Z remi`bd quit (Quit: leaving) 2017-03-22T22:35:29Z hhdave quit (Read error: Connection reset by peer) 2017-03-22T22:36:26Z pillton: Bike: Have you ever tried implementing a "typed-lambda" where the type arguments can be operators? I think such a system is called F_{\omega} in the Types and Programming Lanagues book. 2017-03-22T22:38:59Z Bike: i haven't. i've only done system f cursorily, really. 2017-03-22T22:39:37Z Bike: since i'm a bit focused on lisp i think about it in weird ways 2017-03-22T22:40:51Z reinuseslisp quit (Quit: Leaving) 2017-03-22T22:41:22Z vydd quit 2017-03-22T22:41:26Z pillton: Every time I write an operator which is specialized to an array type I think of that system. 2017-03-22T22:41:38Z rumbler31 joined #lisp 2017-03-22T22:42:08Z hhdave joined #lisp 2017-03-22T22:42:26Z DeadTrickster joined #lisp 2017-03-22T22:42:42Z Bike: you mean something that works on a particular array type but you'd like it to work for every array type? 2017-03-22T22:42:49Z pillton: Yeah. 2017-03-22T22:43:17Z Bike: but those are just different types. taking a type operator would be more like something that can work on either lists of X or arrays of X. 2017-03-22T22:43:18Z pillton: I had a unit test that only works when a type is a subtype of long-float. 2017-03-22T22:44:03Z LiamH quit (Quit: Leaving.) 2017-03-22T22:44:44Z pillton: Take performing a geometric transform of an image. The operators involved when the source is a floating point array and the destination is an integer array is different to when both source and destination are floating point arrays. 2017-03-22T22:45:10Z Bike: yeah, sure. 2017-03-22T22:45:11Z pillton: are different* (sorry) 2017-03-22T22:47:24Z quazimodo joined #lisp 2017-03-22T22:47:50Z Bike: that sounds more like varying on the type of an argument which is a function, really. like (ΛA:*. ΛB:*. λf:A->B. λsource:[A]. ...) Float Int 2017-03-22T22:49:45Z grumble is now known as grumble2 2017-03-22T22:49:46Z grumble2 is now known as grumble 2017-03-22T22:50:26Z hhdave quit (Read error: Connection reset by peer) 2017-03-22T22:51:29Z pillton: Sure. 2017-03-22T22:51:58Z Bike: so none of the type arguments are operators. 2017-03-22T22:52:04Z hhdave joined #lisp 2017-03-22T22:52:54Z pillton: No, but they the still need to be "evaluated" or unified in some way so I was just speaking generally. 2017-03-22T22:53:37Z Bike: well, that's system f. 2017-03-22T22:53:41Z Bike: not that it isn't neat. 2017-03-22T22:55:32Z Bike: and in the book f omega uses two colons for kind annotations... my shame 2017-03-22T22:56:01Z pillton: I forgive you. Every time I look at the book I have to spend 20 - 30 minutes refreshing my memory on the syntax. 2017-03-22T22:56:53Z hhdave quit (Client Quit) 2017-03-22T22:57:02Z fourier quit (Ping timeout: 256 seconds) 2017-03-22T22:59:52Z DeadTrickster quit (Ping timeout: 246 seconds) 2017-03-22T23:01:00Z pillton: I wonder how practical it would be? 2017-03-22T23:01:22Z Bike: haskell does pretty well with it. 2017-03-22T23:01:40Z Bike: i mean, with type-level operators as type-level arguments, not system f omega obviously. 2017-03-22T23:02:14Z Bike: fmap is a more principled version of CL's map's return type thing. 2017-03-22T23:07:43Z pillton: I don't want to restrict myself to functional programming though. 2017-03-22T23:08:41Z Bike: no, no, not like that. stuff like monads is just a way to organize things that happens to be convenient for haskell's purposes. 2017-03-22T23:09:56Z DeadTrickster joined #lisp 2017-03-22T23:10:15Z nowhere_man quit (Ping timeout: 260 seconds) 2017-03-22T23:11:43Z mishoo_ quit (Ping timeout: 240 seconds) 2017-03-22T23:12:19Z hhdave joined #lisp 2017-03-22T23:13:19Z Jesin quit (Quit: Leaving) 2017-03-22T23:13:35Z pve quit (Ping timeout: 240 seconds) 2017-03-22T23:13:47Z pillton: Ok. I'll have to read up on it. I wonder how compilation is performed. 2017-03-22T23:14:34Z Bike: what do you mean? 2017-03-22T23:15:13Z jfb4 quit (Ping timeout: 240 seconds) 2017-03-22T23:16:46Z nowhere_man joined #lisp 2017-03-22T23:16:48Z Jesin joined #lisp 2017-03-22T23:16:52Z pillton: Well, system A has an operator which is defined for arguments of type (array * (* *)). System B uses this operator only for (simple-array single-float (* *)). What is retained when system A is compiled independently of system B? 2017-03-22T23:17:02Z jfb4 joined #lisp 2017-03-22T23:17:40Z Bike: you could do something like C++ templates, i guess 2017-03-22T23:17:54Z Bike: which amounts to retaining the source 2017-03-22T23:18:59Z pillton: There is that or hardware support for CL numbers. I'm guessing there is something in between. 2017-03-22T23:20:03Z yrdz joined #lisp 2017-03-22T23:20:10Z dmiles quit (Read error: Connection reset by peer) 2017-03-22T23:21:34Z dmiles joined #lisp 2017-03-22T23:21:37Z hhdave_ joined #lisp 2017-03-22T23:22:26Z Bike: a partial compilation system would be kind of neat, but that's hard 2017-03-22T23:23:48Z ryanwatkins joined #lisp 2017-03-22T23:24:22Z hhdave quit (Ping timeout: 246 seconds) 2017-03-22T23:24:22Z hhdave_ is now known as hhdave 2017-03-22T23:25:14Z BlueRavenGT quit (Ping timeout: 268 seconds) 2017-03-22T23:26:06Z dwrngr quit (Remote host closed the connection) 2017-03-22T23:26:20Z dwrngr joined #lisp 2017-03-22T23:26:28Z RedEight quit (Quit: leaving) 2017-03-22T23:27:12Z prole quit (Remote host closed the connection) 2017-03-22T23:30:18Z Lord_of_Life quit (Excess Flood) 2017-03-22T23:31:58Z Lord_of_Life joined #lisp 2017-03-22T23:32:01Z varjag quit (Ping timeout: 268 seconds) 2017-03-22T23:32:53Z hhdave quit (Quit: hhdave) 2017-03-22T23:47:11Z BusFactor1 joined #lisp 2017-03-22T23:47:50Z jack_rabbit joined #lisp 2017-03-22T23:49:58Z nicdev joined #lisp 2017-03-22T23:52:39Z pjb quit (Quit: Good night!) 2017-03-22T23:58:54Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-22T23:58:59Z nyef sighs. 2017-03-23T00:00:16Z nyef: So, I have a three-button mouse for my IIfx. And then it turns out that it needs a special driver to work properly... Except that the last version of the driver that is supported by Genera doesn't recognize my mouse, either because I'm running too new a version of MacOS or because the mouse itself is too new a model. 2017-03-23T00:03:38Z wheelsucker joined #lisp 2017-03-23T00:05:50Z karswell` quit (Read error: Connection reset by peer) 2017-03-23T00:07:12Z phoe quit (Ping timeout: 260 seconds) 2017-03-23T00:07:28Z karswell` joined #lisp 2017-03-23T00:07:47Z thodg quit (Read error: Connection reset by peer) 2017-03-23T00:10:48Z doppler joined #lisp 2017-03-23T00:12:02Z doppler left #lisp 2017-03-23T00:13:29Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-23T00:17:16Z otjura quit (Quit: Konversation terminated!) 2017-03-23T00:18:46Z krwq joined #lisp 2017-03-23T00:20:15Z phoe joined #lisp 2017-03-23T00:20:16Z cromachina joined #lisp 2017-03-23T00:25:02Z Kaisyu joined #lisp 2017-03-23T00:25:52Z karswell` quit (Ping timeout: 260 seconds) 2017-03-23T00:26:20Z BitPuffin|osx quit (Ping timeout: 260 seconds) 2017-03-23T00:28:22Z nyef: Okay, doesn't work on 6.0.7 or so, either, so it's not that I was running 7.6ish. 2017-03-23T00:30:12Z didi quit (Quit: you can't /fire me, I /quit) 2017-03-23T00:30:47Z NeverDie quit (Quit: http://radiux.io/) 2017-03-23T00:32:03Z mrottenkolber joined #lisp 2017-03-23T00:32:11Z NeverDie joined #lisp 2017-03-23T00:32:40Z brombutane joined #lisp 2017-03-23T00:35:18Z kokonaisluku quit (Quit: ChatZilla 0.9.93 [Firefox 45.8.0/20170308154700]) 2017-03-23T00:35:32Z brombutane quit (Client Quit) 2017-03-23T00:36:14Z butane joined #lisp 2017-03-23T00:36:41Z rumbler31 quit (Remote host closed the connection) 2017-03-23T00:37:54Z rageoholic joined #lisp 2017-03-23T00:44:50Z nyef: Right, it's the mouse. The 2.0 driver "works", but is known to be incompatible with Genera. /-: 2017-03-23T00:54:19Z SAL9000 quit (Ping timeout: 246 seconds) 2017-03-23T00:54:36Z pillton: Yet another sentence containing 2.0 and incompatible. 2017-03-23T00:56:04Z butane quit (Ping timeout: 246 seconds) 2017-03-23T00:58:36Z nyef: This doesn't mean that I won't be able to get it working, it just means that I may have to get creative about it. 2017-03-23T00:59:25Z pillton buys bean bags for nyef. 2017-03-23T01:02:47Z nyef: Don't buy me bean bags, buy me an older mouse! d-: 2017-03-23T01:03:28Z butane joined #lisp 2017-03-23T01:04:37Z shdeng joined #lisp 2017-03-23T01:08:10Z krwq: is it possible to add more keywords to defun? (keywords => i.e. &optional) 2017-03-23T01:08:39Z Bike: there is no way to extend lambda list processing. 2017-03-23T01:08:50Z Bike: you could define a macro but it would be difficult to say the least 2017-03-23T01:08:53Z Bike: do you have something in mind? 2017-03-23T01:08:56Z nyef: Aww... No "E ? 2017-03-23T01:09:21Z wheelsucker quit (Quit: Client Quit) 2017-03-23T01:09:44Z krwq: I was thinking about &experimental - to mark the function as experimental so that i can autogenerate two packages: foo and foo.experimental 2017-03-23T01:10:04Z Bike: oh, so not actually part of the lambda list. 2017-03-23T01:10:19Z nyef: Seems more a role for a custom declaration? 2017-03-23T01:10:38Z Bike: i'd just have a hash set at compile time or somethin. 2017-03-23T01:10:51Z nyef: Not that tying semantics into a custom declaration is particularly easy... 2017-03-23T01:11:13Z aeth: Why not something like this? (define-experimental-function foo (...) ...) 2017-03-23T01:11:16Z aeth: or defun-experimental or something 2017-03-23T01:11:39Z krwq: yes - basically something like that. for only experimental i could add macro but if i come up with other tag/keyword then it will start becoming complicated 2017-03-23T01:11:39Z Bike: i'd have it as a separate form. it's not like it actually controls anything for the defun 2017-03-23T01:11:54Z Bike: (defun foo...) (mark-experimental foo) 2017-03-23T01:12:15Z krwq: maybe: (with-keyword (:experimental :foo : bar) (defun ...)) 2017-03-23T01:12:30Z aeth: (defun-specially :experimental (x y z) (+ x y z)) 2017-03-23T01:12:42Z Bike: But the plist is attached to the symbol, not the function, yeah? 2017-03-23T01:12:53Z krwq: or i just make my own (defun+ :experimental foo () ...) 2017-03-23T01:13:17Z Bike: in which case, hell, just use the symbol-plist 2017-03-23T01:13:30Z aeth: I create lots of special define-foos 2017-03-23T01:13:31Z nyef: (defun whatever (whatever) (declare experimental) ...)? 2017-03-23T01:13:31Z krwq: Bike: doesn't matter since I got to detect (defun name ...) pattern 2017-03-23T01:13:50Z Bike: why detect? that's so annoying to do 2017-03-23T01:14:01Z Bike: do you have your own file compiler or something? 2017-03-23T01:14:02Z shifty joined #lisp 2017-03-23T01:14:15Z krwq: Bike: how would you do that 2017-03-23T01:15:06Z aeth: Emacs+SLIME manages to handle the indentation of define-foos fine as long as the package is loaded, if that's what you mean by detect. 2017-03-23T01:15:12Z krwq: i could simply: (defun+ :keyword1 :keyword2... name args &body body) 2017-03-23T01:15:21Z aeth: and I've created rather elaborate define-foos 2017-03-23T01:15:36Z Bike: (defun foo ...) (mark (:experimental t) foo) 2017-03-23T01:15:46Z krwq: and that would call (on-defun-keyword1 (body) ...) 2017-03-23T01:15:52Z krwq: etc 2017-03-23T01:15:55Z Bike: since it has nothing to do with the function. it's not like i want a separate thing for marking variables experimental. 2017-03-23T01:16:21Z Bike: mark just throws stuff on the symbol-plist, and then the package generator uses get to see which package should have the symbol. 2017-03-23T01:16:23Z krwq: Bike, how do you implement (mark) 2017-03-23T01:16:41Z krwq: how do i check what function am i being called in? 2017-03-23T01:16:50Z Bike: ...what? 2017-03-23T01:16:54Z krwq: callee or whatever it is called 2017-03-23T01:16:56Z aeth: krwq: if you're going to do the keyword thing, I'd (1) put them after the name and (2) put them all in one list, like this: (defun+ foo (:experimental) (x) (format t "Hello, ~A!~%" x)) 2017-03-23T01:16:57Z Bike: you can't 2017-03-23T01:17:06Z Bike: and it would be the caller 2017-03-23T01:17:30Z krwq: aeth: what difference would it make? 2017-03-23T01:17:32Z aeth: krwq: and actually, I think defun* would be more idiomatic Lisp for the name 2017-03-23T01:17:50Z aeth: krwq: The difference is that you could add new flags without having to update every user of defun+ 2017-03-23T01:18:29Z krwq: aeth: you could do it as well with other form 2017-03-23T01:18:50Z Bike: and i'd implement mark like (defmacro mark ((&rest plist) &rest syms) `(eval-when ... ,@(loop for (k v) on plist by #'cddr append (loop for s in syms collect `(setf (get ',s ',k) ',v)))))) mod actually trying it 2017-03-23T01:19:15Z TDT quit (Quit: TDT) 2017-03-23T01:19:54Z aeth: krwq: It'd be defined like this, except you'd also check the flags list as well (with member perhaps?): (defmacro defun* (name flags lambda-list &body body) `(defun ,name ,lambda-list ,@body)) 2017-03-23T01:20:35Z aeth: krwq: I'm not sure how you'd implement an arbitrary number of flags outside of a flag list. 2017-03-23T01:22:43Z krwq: aeth: i don't think of it as flag list, it is just a list which happens to contain flags, name args and body 2017-03-23T01:22:45Z aeth: krwq: you could have them at the top level but then they'd be boolean and it'd be hard to update the macro... like: (defmacro defun* (name experimental-p lambda-list &body body) ...) where experimental-p would be by convention :experimental or nil 2017-03-23T01:24:49Z Karl_Dscc quit (Remote host closed the connection) 2017-03-23T01:25:31Z aeth: krwq: (defmacro defun* (&rest name-args-body-and-flags) ...) would be seriously overcomplicating things, if that's what you mean. And SLIME wouldn't indent the body properly. 2017-03-23T01:26:18Z krwq: aeth: emacs is modable - i chose lisp so i can be flexible and not because i like parentheses 2017-03-23T01:27:17Z Mr_Tea joined #lisp 2017-03-23T01:27:19Z Bike: that doesn't mean you should go for a solution that requires modding your editor :\ 2017-03-23T01:27:23Z Bike: it's just a pain, you know 2017-03-23T01:27:36Z Mr_Tea: ahoy there 2017-03-23T01:27:46Z aeth: Both my solution and Bike's require considerably less work for essentially the equivalent effect. 2017-03-23T01:29:14Z krwq: Bike: aeth: i like having options - i need to consider if i prefer clumsy syntax with easy implementation or better syntax with PITA to manage implementation 2017-03-23T01:29:27Z aeth: The difference in implementation effort between (defun* :keyword1 :keyword2 ... name args &body body) and (defun* name (:keyword1 :keyword2 ...) args &body body) is very significant. 2017-03-23T01:29:37Z Bike: is my solution clumsy...? 2017-03-23T01:30:13Z Bike: i like mine because it works for non-functions no problem, values are arbitrary, use is arbitrary, easy to remove and edit... 2017-03-23T01:30:31Z krwq: Bike: aeth's is - yours I'm not sure how it works yet 2017-03-23T01:31:23Z krwq: nyef: how do you read from declare? 2017-03-23T01:32:56Z nyef: krwq: That's the problem, yes. 2017-03-23T01:33:17Z FreeBirdLjj joined #lisp 2017-03-23T01:33:20Z krwq: nyef: so i'd need to i.e. add a file to a system which reads asd and then all the files and finds it? 2017-03-23T01:34:28Z krwq: or a macro 2017-03-23T01:34:54Z shdeng quit (Quit: Leaving) 2017-03-23T01:35:02Z krwq: ok, thanks guys, ill sleep with it before i do something stupid with my code :P 2017-03-23T01:37:44Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2017-03-23T01:37:58Z EvW quit (Ping timeout: 256 seconds) 2017-03-23T01:39:42Z shdeng joined #lisp 2017-03-23T01:40:28Z mrottenkolber quit (Ping timeout: 240 seconds) 2017-03-23T01:45:04Z shdeng quit (Ping timeout: 246 seconds) 2017-03-23T01:45:29Z shdeng joined #lisp 2017-03-23T01:46:51Z BusFactor1 quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-23T01:47:50Z fiddlerwoaroof: Is there a way to make sure that a class is finalized? ensure-class doesn't seem to do it. 2017-03-23T01:48:30Z nyef: Isn't there a finalize-class or similar? 2017-03-23T01:48:38Z fiddlerwoaroof: there's finalize-inheritance 2017-03-23T01:48:43Z nyef: Worst-case, instantiate it. 2017-03-23T01:48:51Z fiddlerwoaroof: I suppose I should break out amop 2017-03-23T01:49:15Z BusFactor1 joined #lisp 2017-03-23T01:50:25Z fiddlerwoaroof: Yeah, that seems to be the right method. 2017-03-23T01:52:45Z edgar-rft joined #lisp 2017-03-23T01:53:08Z butane quit (Remote host closed the connection) 2017-03-23T01:53:24Z Mr_Tea quit (Remote host closed the connection) 2017-03-23T01:57:29Z BusFactor1 quit (Remote host closed the connection) 2017-03-23T01:57:35Z fiddlerwoaroof: Anyways, I'm working on a slackbot that reacts to commands embedded in messages (where a command is a white-space delimited sequence of characters beginning with ;) 2017-03-23T01:58:13Z BusFactor1 joined #lisp 2017-03-23T01:58:18Z fiddlerwoaroof: I'm trying to figure out the best way to encode the command tabl: right now, I just have a global hash-table, but I'm starting to wonder if it'd be better to have a class-allocated slot with a hashtable 2017-03-23T01:58:28Z fiddlerwoaroof: And then modify that through the class prototype 2017-03-23T01:58:48Z FreeBirdLjj joined #lisp 2017-03-23T01:59:17Z jameser joined #lisp 2017-03-23T01:59:23Z fiddlerwoaroof: Or just define a generic function with an around method that determines if the string is valid command, and then converts it to a symbol 2017-03-23T01:59:52Z fiddlerwoaroof: s/around/method/ and then use eql specializers 2017-03-23T02:08:44Z wtetzner joined #lisp 2017-03-23T02:25:44Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-23T02:33:46Z Wombatzu` joined #lisp 2017-03-23T02:35:58Z wheelsucker joined #lisp 2017-03-23T02:36:06Z rumbler31 joined #lisp 2017-03-23T02:37:38Z Wombatzus quit (Ping timeout: 268 seconds) 2017-03-23T02:38:08Z cibs quit (Ping timeout: 240 seconds) 2017-03-23T02:38:36Z Wombatzu` quit (Ping timeout: 256 seconds) 2017-03-23T02:40:20Z cibs joined #lisp 2017-03-23T02:41:06Z FreeBirdLjj joined #lisp 2017-03-23T02:43:32Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-23T02:43:41Z remote1 joined #lisp 2017-03-23T02:44:08Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-23T02:44:39Z FreeBirdLjj joined #lisp 2017-03-23T02:45:59Z troydm quit (Ping timeout: 258 seconds) 2017-03-23T02:48:10Z BusFactor1 quit (Remote host closed the connection) 2017-03-23T02:59:46Z circ-user-cEMst quit (Ping timeout: 264 seconds) 2017-03-23T03:00:35Z mejja quit (Quit: \ No newline at end of file) 2017-03-23T03:01:49Z smokeink joined #lisp 2017-03-23T03:03:58Z FreeBird_ joined #lisp 2017-03-23T03:06:11Z rumbler31 quit (Remote host closed the connection) 2017-03-23T03:06:35Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-23T03:09:11Z BusFactor1 joined #lisp 2017-03-23T03:11:10Z SAL9000 joined #lisp 2017-03-23T03:15:33Z zhivago is now known as Zhivago 2017-03-23T03:20:10Z stardiviner joined #lisp 2017-03-23T03:21:48Z treexform joined #lisp 2017-03-23T03:22:20Z treexform: I've been trying to find some reference tree pattern matching and subtree replacemente code for an hour now... can anyone help me find it? 2017-03-23T03:23:02Z treexform: something like BURS but without the tile-matching if that makes sense... I just want to see one implemented, the matcher and the recursive replacement function for tree nodes. 2017-03-23T03:29:02Z wtetzner quit (Remote host closed the connection) 2017-03-23T03:29:17Z nicdev` joined #lisp 2017-03-23T03:31:27Z nicdev quit (Remote host closed the connection) 2017-03-23T03:39:55Z vsync quit (Ping timeout: 268 seconds) 2017-03-23T03:40:02Z beach` joined #lisp 2017-03-23T03:41:41Z vsync joined #lisp 2017-03-23T03:42:22Z rageoholic quit (Ping timeout: 264 seconds) 2017-03-23T03:43:48Z beach quit (Ping timeout: 240 seconds) 2017-03-23T03:47:54Z ryanwatk` joined #lisp 2017-03-23T03:49:48Z ryanwatkins quit (Ping timeout: 260 seconds) 2017-03-23T03:52:11Z wheelsucker quit (Quit: Client Quit) 2017-03-23T03:55:59Z nicdev` is now known as nicdev 2017-03-23T03:59:21Z remote1 quit (Read error: Connection reset by peer) 2017-03-23T04:03:11Z learning joined #lisp 2017-03-23T04:04:13Z cibs quit (Ping timeout: 240 seconds) 2017-03-23T04:05:57Z ryanwatk` quit (Ping timeout: 240 seconds) 2017-03-23T04:06:28Z cibs joined #lisp 2017-03-23T04:09:37Z Mr_Tea joined #lisp 2017-03-23T04:13:19Z ryanwatk` joined #lisp 2017-03-23T04:13:45Z sellout- joined #lisp 2017-03-23T04:16:18Z MrWoohoo quit (Ping timeout: 268 seconds) 2017-03-23T04:22:28Z vsync quit (Ping timeout: 240 seconds) 2017-03-23T04:23:26Z FreeBird_ quit (Remote host closed the connection) 2017-03-23T04:24:26Z vsync joined #lisp 2017-03-23T04:24:33Z elinux joined #lisp 2017-03-23T04:26:22Z learning quit (Remote host closed the connection) 2017-03-23T04:28:27Z cibs quit (Ping timeout: 240 seconds) 2017-03-23T04:30:29Z cibs joined #lisp 2017-03-23T04:33:22Z bocaneri joined #lisp 2017-03-23T04:33:23Z bocaneri quit (Max SendQ exceeded) 2017-03-23T04:36:47Z bocaneri joined #lisp 2017-03-23T04:42:44Z learning joined #lisp 2017-03-23T04:47:00Z FreeBirdLjj joined #lisp 2017-03-23T04:48:36Z burtons quit (Ping timeout: 260 seconds) 2017-03-23T04:52:49Z Wombatzus joined #lisp 2017-03-23T04:53:06Z beach` is now known as beach 2017-03-23T04:54:03Z shka_ joined #lisp 2017-03-23T04:55:37Z abel-abel joined #lisp 2017-03-23T04:55:51Z circ-user-cEMst joined #lisp 2017-03-23T04:59:14Z xhe joined #lisp 2017-03-23T04:59:48Z circ-user-cEMst quit (Ping timeout: 240 seconds) 2017-03-23T05:01:04Z vibs29 quit (Ping timeout: 246 seconds) 2017-03-23T05:01:19Z smokeink quit (Ping timeout: 268 seconds) 2017-03-23T05:01:30Z daemoz joined #lisp 2017-03-23T05:03:21Z beach: Good morning everyone! 2017-03-23T05:04:27Z daemoz: Morning! Night for me :) 2017-03-23T05:06:14Z vibs29 joined #lisp 2017-03-23T05:07:26Z lispnik joined #lisp 2017-03-23T05:08:39Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-23T05:09:57Z rpg_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-23T05:17:49Z rumbler31 joined #lisp 2017-03-23T05:21:12Z Harag joined #lisp 2017-03-23T05:21:57Z rumbler31 quit (Ping timeout: 240 seconds) 2017-03-23T05:35:01Z scottj joined #lisp 2017-03-23T05:35:14Z oleo quit (Quit: Leaving) 2017-03-23T05:36:18Z fiddlerwoaroof: morning 2017-03-23T05:38:59Z Mr_Tea quit (Remote host closed the connection) 2017-03-23T05:39:13Z Mr_Tea joined #lisp 2017-03-23T05:43:00Z treexform quit (Ping timeout: 260 seconds) 2017-03-23T05:43:42Z krwq quit (Remote host closed the connection) 2017-03-23T05:45:18Z smokeink joined #lisp 2017-03-23T05:45:22Z Mr_Tea quit (Ping timeout: 264 seconds) 2017-03-23T05:46:32Z Harag quit (Ping timeout: 258 seconds) 2017-03-23T05:50:04Z lispnik quit (Ping timeout: 246 seconds) 2017-03-23T05:50:08Z xhe quit (Quit: leaving) 2017-03-23T05:52:34Z vsync quit (Ping timeout: 264 seconds) 2017-03-23T05:54:03Z vsync joined #lisp 2017-03-23T05:55:08Z learning quit (Remote host closed the connection) 2017-03-23T05:58:46Z rumbler31 joined #lisp 2017-03-23T06:00:13Z Mr_Tea joined #lisp 2017-03-23T06:03:10Z rumbler31 quit (Ping timeout: 256 seconds) 2017-03-23T06:03:58Z larsen quit (Ping timeout: 264 seconds) 2017-03-23T06:04:32Z learning joined #lisp 2017-03-23T06:05:10Z Mr_Tea quit (Ping timeout: 264 seconds) 2017-03-23T06:06:15Z dec0n joined #lisp 2017-03-23T06:08:44Z Ober_ joined #lisp 2017-03-23T06:08:46Z shka_ quit (Ping timeout: 258 seconds) 2017-03-23T06:09:19Z crypto joined #lisp 2017-03-23T06:09:28Z funnel_ joined #lisp 2017-03-23T06:09:42Z crypto is now known as Guest59140 2017-03-23T06:10:03Z __SiCC__ joined #lisp 2017-03-23T06:11:42Z larsen joined #lisp 2017-03-23T06:12:08Z cibs quit (Ping timeout: 260 seconds) 2017-03-23T06:12:16Z BitPuffin|osx joined #lisp 2017-03-23T06:13:01Z th1nkpad joined #lisp 2017-03-23T06:13:03Z SiCC quit (Ping timeout: 240 seconds) 2017-03-23T06:13:03Z ryanwatk` quit (Ping timeout: 240 seconds) 2017-03-23T06:13:03Z thinkpad quit (Ping timeout: 240 seconds) 2017-03-23T06:13:03Z Ober quit (Ping timeout: 240 seconds) 2017-03-23T06:13:04Z funnel quit (Ping timeout: 240 seconds) 2017-03-23T06:13:04Z z0d quit (Ping timeout: 240 seconds) 2017-03-23T06:13:07Z funnel_ is now known as funnel 2017-03-23T06:13:15Z th1nkpad is now known as thinkpad 2017-03-23T06:13:56Z cibs joined #lisp 2017-03-23T06:14:34Z Wombatzus quit (Ping timeout: 246 seconds) 2017-03-23T06:24:45Z eli joined #lisp 2017-03-23T06:27:34Z Mr_Tea joined #lisp 2017-03-23T06:28:06Z MoALTz joined #lisp 2017-03-23T06:28:50Z okflo joined #lisp 2017-03-23T06:29:09Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-23T06:30:25Z Mr_Tea quit (Remote host closed the connection) 2017-03-23T06:33:35Z angavrilov joined #lisp 2017-03-23T06:38:22Z eazar001 quit (Ping timeout: 246 seconds) 2017-03-23T06:38:51Z jack_rabbit joined #lisp 2017-03-23T06:40:33Z jackdaniel: o/ 2017-03-23T06:40:40Z beach: Hello jackdaniel. 2017-03-23T06:43:32Z FreeBirdLjj joined #lisp 2017-03-23T06:43:53Z FreeBirdLjj quit (Read error: Connection reset by peer) 2017-03-23T06:44:20Z FreeBirdLjj joined #lisp 2017-03-23T06:46:01Z mishoo_ joined #lisp 2017-03-23T06:47:04Z Trystam joined #lisp 2017-03-23T06:47:06Z quazimodo quit (Ping timeout: 258 seconds) 2017-03-23T06:47:55Z dmiles quit (Read error: Connection reset by peer) 2017-03-23T06:49:23Z dmiles joined #lisp 2017-03-23T06:49:38Z Tristam quit (Ping timeout: 256 seconds) 2017-03-23T06:49:43Z Harag joined #lisp 2017-03-23T06:49:57Z Trystam is now known as Tristam 2017-03-23T06:58:39Z jack_rabbit: hello, botch. 2017-03-23T06:59:52Z Wombatzus joined #lisp 2017-03-23T07:01:34Z larsen quit (Ping timeout: 264 seconds) 2017-03-23T07:03:35Z ineiros quit (Ping timeout: 240 seconds) 2017-03-23T07:03:35Z kbtr quit (Ping timeout: 240 seconds) 2017-03-23T07:04:10Z kbtr joined #lisp 2017-03-23T07:04:12Z larsen joined #lisp 2017-03-23T07:04:37Z Wombatzus quit (Ping timeout: 246 seconds) 2017-03-23T07:04:56Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2017-03-23T07:05:11Z ineiros joined #lisp 2017-03-23T07:07:30Z FreeBirdLjj joined #lisp 2017-03-23T07:08:00Z learning quit (Remote host closed the connection) 2017-03-23T07:09:24Z iago joined #lisp 2017-03-23T07:09:28Z learning joined #lisp 2017-03-23T07:10:01Z jackdaniel: clisp has a new beta release 2017-03-23T07:10:54Z phoe: Morning. 2017-03-23T07:12:40Z scymtym quit (Ping timeout: 268 seconds) 2017-03-23T07:13:46Z beach: That's great! 2017-03-23T07:14:40Z iago quit (Ping timeout: 260 seconds) 2017-03-23T07:20:04Z rippa joined #lisp 2017-03-23T07:22:42Z tessier quit (Ping timeout: 240 seconds) 2017-03-23T07:26:23Z iago joined #lisp 2017-03-23T07:28:52Z MrWoohoo joined #lisp 2017-03-23T07:30:10Z flamebeard joined #lisp 2017-03-23T07:34:20Z ebrasca-afk: Hi 2017-03-23T07:34:32Z ebrasca-afk is now known as ebrasca 2017-03-23T07:34:36Z beach: Hello ebrasca. 2017-03-23T07:35:00Z phoe: Hey 2017-03-23T07:42:32Z Harag quit (Quit: Harag) 2017-03-23T07:43:36Z fiddlerwoaroof quit (Ping timeout: 260 seconds) 2017-03-23T07:45:04Z scottj quit (Quit: leaving) 2017-03-23T07:45:13Z tessier joined #lisp 2017-03-23T07:45:13Z tessier quit (Changing host) 2017-03-23T07:45:13Z tessier joined #lisp 2017-03-23T07:49:58Z nowhere_man quit (Ping timeout: 258 seconds) 2017-03-23T07:50:19Z fiddlerwoaroof joined #lisp 2017-03-23T08:10:32Z neoncontrails quit (Remote host closed the connection) 2017-03-23T08:10:46Z wooden__ joined #lisp 2017-03-23T08:10:57Z wooden__ quit (Changing host) 2017-03-23T08:10:57Z wooden__ joined #lisp 2017-03-23T08:12:05Z wooden_ quit (Ping timeout: 240 seconds) 2017-03-23T08:12:12Z defaultxr quit (Quit: gnight) 2017-03-23T08:14:48Z varjag joined #lisp 2017-03-23T08:18:12Z smokeink quit (Ping timeout: 240 seconds) 2017-03-23T08:20:46Z fiddlerwoaroof quit (Ping timeout: 264 seconds) 2017-03-23T08:21:24Z eli quit (Ping timeout: 258 seconds) 2017-03-23T08:27:19Z varjag: is there any documentation for symbolics g-machine bus anywhere? 2017-03-23T08:27:52Z scymtym joined #lisp 2017-03-23T08:29:22Z jameser quit (Ping timeout: 256 seconds) 2017-03-23T08:29:40Z attila_lendvai joined #lisp 2017-03-23T08:29:40Z attila_lendvai quit (Changing host) 2017-03-23T08:29:40Z attila_lendvai joined #lisp 2017-03-23T08:30:49Z fiddlerwoaroof joined #lisp 2017-03-23T08:31:59Z nowhere_man joined #lisp 2017-03-23T08:34:25Z TETOFILO joined #lisp 2017-03-23T08:37:23Z Harag joined #lisp 2017-03-23T08:38:11Z neoncontrails joined #lisp 2017-03-23T08:46:58Z Bike quit (Quit: leaving) 2017-03-23T08:47:08Z vsync quit (Quit: ZNC - http://znc.sourceforge.net) 2017-03-23T08:48:17Z mingus quit (Quit: mingus) 2017-03-23T08:48:56Z mingus joined #lisp 2017-03-23T08:49:38Z vsync joined #lisp 2017-03-23T08:50:20Z borei quit (Ping timeout: 256 seconds) 2017-03-23T08:52:55Z gingerale joined #lisp 2017-03-23T08:58:12Z hhdave joined #lisp 2017-03-23T09:03:45Z Devon joined #lisp 2017-03-23T09:03:46Z pve joined #lisp 2017-03-23T09:04:40Z fiddlerwoaroof quit (Ping timeout: 246 seconds) 2017-03-23T09:04:55Z okflo quit (Remote host closed the connection) 2017-03-23T09:05:11Z Guest59140 is now known as z0d 2017-03-23T09:12:01Z fiddlerwoaroof joined #lisp 2017-03-23T09:13:22Z ogamita joined #lisp 2017-03-23T09:18:58Z cibs quit (Ping timeout: 264 seconds) 2017-03-23T09:20:30Z bariscant joined #lisp 2017-03-23T09:20:43Z cibs joined #lisp 2017-03-23T09:20:46Z bariscant quit (Remote host closed the connection) 2017-03-23T09:21:05Z bariscant joined #lisp 2017-03-23T09:23:55Z mathrick quit (Ping timeout: 246 seconds) 2017-03-23T09:24:56Z l04m33 joined #lisp 2017-03-23T09:25:25Z smokeink joined #lisp 2017-03-23T09:26:34Z daviid quit (Ping timeout: 258 seconds) 2017-03-23T09:34:16Z smokeink quit (Quit: Lost terminal) 2017-03-23T09:34:39Z smokeink joined #lisp 2017-03-23T09:36:15Z mathrick joined #lisp 2017-03-23T09:37:09Z jameser joined #lisp 2017-03-23T09:38:12Z Devon quit (Ping timeout: 268 seconds) 2017-03-23T09:39:35Z l04m33 quit (Quit: leaving) 2017-03-23T09:41:08Z l04m33 joined #lisp 2017-03-23T09:45:29Z Karl_Dscc joined #lisp 2017-03-23T09:54:11Z malice joined #lisp 2017-03-23T09:59:28Z l04m33 quit (Quit: leaving) 2017-03-23T10:00:23Z l04m33 joined #lisp 2017-03-23T10:02:38Z l04m33 quit (Client Quit) 2017-03-23T10:03:55Z marvin2 joined #lisp 2017-03-23T10:09:56Z pchrist joined #lisp 2017-03-23T10:10:02Z nirved joined #lisp 2017-03-23T10:11:36Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-23T10:14:05Z Karl_Dscc quit (Remote host closed the connection) 2017-03-23T10:15:07Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-23T10:15:21Z jameser joined #lisp 2017-03-23T10:22:53Z l04m33 joined #lisp 2017-03-23T10:24:27Z loke: Is there a Lisp library to decode binary packet formats? 2017-03-23T10:24:38Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-23T10:26:03Z tharugrim joined #lisp 2017-03-23T10:26:41Z jameser joined #lisp 2017-03-23T10:26:57Z angavrilov quit (Ping timeout: 240 seconds) 2017-03-23T10:27:24Z angavrilov joined #lisp 2017-03-23T10:28:35Z edgar-rft: loke: probably yes, but there are *many different* package formats. Which one are you talking about? 2017-03-23T10:29:40Z iago: that was what I was thinking, binary format is so application dependent that it would be hard to write a generic library to decode it 2017-03-23T10:29:56Z loke: edgar-rft: Specifically, I need to decide TCP headers. I know the format, and I can easily do it manually using lots of LOGAND and ASH 2017-03-23T10:30:15Z loke: But if there a package that allows me to neatly declare the format, things would be easier. 2017-03-23T10:31:37Z TMA: one such library is described in PCL, if I recall correctly 2017-03-23T10:31:38Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-23T10:32:10Z iago: TMA: an ID3 parser if I recall 2017-03-23T10:32:41Z jameser joined #lisp 2017-03-23T10:33:15Z jdz: There is also http://www.cliki.net/Binary-types 2017-03-23T10:33:39Z ogamita: iago: it's not hard to write a generic library: you define a DSL to describe binary format and to get generated automatically the functions to access it. 2017-03-23T10:33:52Z iago: loke: FFI libpcap may be an option ? 2017-03-23T10:34:50Z ogamita: iago: see for example https://gitlab.com/com-informatimago/com-informatimago/blob/master/common-lisp/data-encoding/data-encoding.lisp 2017-03-23T10:35:35Z sjl joined #lisp 2017-03-23T10:35:56Z ogamita: iago: and https://gitlab.com/com-informatimago/com-informatimago/blob/master/common-lisp/data-encoding/data-encoding-test.lisp 2017-03-23T10:37:10Z ogamita: iago: notice in data-encoding-test.lisp how definining a binary format and using it as easy as defining and using a structure or a CLOS class. 2017-03-23T10:37:26Z ogamita: (Well, you just have to specific the type of each slot more precisely). 2017-03-23T10:39:14Z daviid joined #lisp 2017-03-23T10:39:26Z iago: ogamita: very nice example thanks 2017-03-23T10:41:08Z loke: iago: I'm already writing an FFI for libpcap. 2017-03-23T10:41:27Z Xach: loke: binary-types and possibly others. and a core example in PCL is doing it via CLOS. 2017-03-23T10:41:30Z loke: iago: However, libpcap itself doesn't include any functions to parse packets. You get binary blobs. 2017-03-23T10:41:45Z loke: Xach: I'm looking at binary-types now. 2017-03-23T10:41:49Z Karl_Dscc joined #lisp 2017-03-23T10:41:55Z elinux quit (Remote host closed the connection) 2017-03-23T10:42:07Z loke: Here's my pcap code in case anyone is interesting. It's a work in progress: https://github.com/lokedhs/trivial-pcap 2017-03-23T10:42:58Z Xach: loke: b-t is very old, and i think there is something newer, but i don't recall 2017-03-23T10:43:17Z Xach: loke: i've often thought about rolling my own, so often that i think probably many others have, but i can't remember names 2017-03-23T10:43:27Z loke: Xach: Nothing wrong with old, but I dint b-t to be somewhat esoteric. 2017-03-23T10:43:40Z loke: s/dint/think/ 2017-03-23T10:46:26Z lnostdal joined #lisp 2017-03-23T10:53:08Z _cosmonaut_ joined #lisp 2017-03-23T10:58:43Z bariscant quit (Quit: Leaving) 2017-03-23T10:59:59Z ChrisOei quit (Remote host closed the connection) 2017-03-23T11:00:16Z snowcrshd joined #lisp 2017-03-23T11:00:19Z ChrisOei joined #lisp 2017-03-23T11:03:07Z _death: there was plokami 2017-03-23T11:04:28Z ebrasca quit (Remote host closed the connection) 2017-03-23T11:09:25Z flip214: ah, and I wondered what was that old about bordeaux-threads 2017-03-23T11:09:31Z flip214: but binary-types was meant with b-t 2017-03-23T11:09:32Z flip214: got it 2017-03-23T11:10:29Z _death: also I once wrote a python.struct-like thingy for ad hoc munging https://github.com/death/constantia/blob/master/struct.lisp 2017-03-23T11:10:35Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-23T11:13:23Z jackdaniel: loke: binary-types is a good library for binary structs 2017-03-23T11:13:47Z jackdaniel: and binary-types-extras (as extension) 2017-03-23T11:16:47Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-23T11:18:06Z smokeink quit (Ping timeout: 268 seconds) 2017-03-23T11:20:39Z attila_lendvai joined #lisp 2017-03-23T11:20:39Z attila_lendvai quit (Changing host) 2017-03-23T11:20:39Z attila_lendvai joined #lisp 2017-03-23T11:23:51Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-23T11:25:35Z okflo joined #lisp 2017-03-23T11:26:15Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-23T11:26:42Z jameser joined #lisp 2017-03-23T11:26:54Z milanj joined #lisp 2017-03-23T11:28:13Z m00natic joined #lisp 2017-03-23T11:32:15Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-23T11:33:50Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-23T11:48:22Z cibs quit (Ping timeout: 264 seconds) 2017-03-23T11:50:00Z cibs joined #lisp 2017-03-23T11:50:00Z hhdave_ joined #lisp 2017-03-23T11:50:42Z hhdave quit (Ping timeout: 258 seconds) 2017-03-23T11:50:42Z hhdave_ is now known as hhdave 2017-03-23T11:52:17Z sjl: cool, ELS schedule is posted http://european-lisp-symposium.org/editions/2017/content-programme-full.html 2017-03-23T11:54:06Z shdeng quit (Quit: Leaving) 2017-03-23T11:54:42Z malice quit (Remote host closed the connection) 2017-03-23T11:57:34Z _cosmonaut_ quit (Ping timeout: 246 seconds) 2017-03-23T11:58:31Z _cosmonaut_ joined #lisp 2017-03-23T12:01:40Z rpg_ joined #lisp 2017-03-23T12:07:27Z BitPuffin|osx quit (Ping timeout: 240 seconds) 2017-03-23T12:13:55Z d4ryus1 joined #lisp 2017-03-23T12:16:48Z d4ryus quit (Ping timeout: 240 seconds) 2017-03-23T12:19:27Z shifty quit (Ping timeout: 258 seconds) 2017-03-23T12:23:11Z kobain joined #lisp 2017-03-23T12:25:22Z phoe: WHAT 2017-03-23T12:25:47Z phoe goes second, just after the first keynote 2017-03-23T12:26:40Z gargaml joined #lisp 2017-03-23T12:26:53Z varjag: mhm 2017-03-23T12:27:13Z varjag: i have flight home 1900 on 4th 2017-03-23T12:27:19Z varjag: will stick out early then 2017-03-23T12:28:12Z easye: RE: ELS 2017. Is there the traditional dinner? If so, is it on the night of the 3rd? 2017-03-23T12:31:20Z krasnal quit (Remote host closed the connection) 2017-03-23T12:31:39Z beach: easye: There is a tradition, but things are different this year because of the co-location with 2017-03-23T12:32:06Z beach: easye: So the banquet is on Wednesday, and it's for the entire conference. 2017-03-23T12:32:14Z easye: Wow. Thanks. 2017-03-23T12:33:10Z beach: There is nothing organized for just ELS, and the banquet is not included in the price for just the symposium and the workshops. 2017-03-23T12:33:46Z phoe: We'll need to organize our own. 2017-03-23T12:33:58Z beach: Maybe so, yes. 2017-03-23T12:34:20Z beach: I have no idea how many ELS participants sign up for the entire conference. 2017-03-23T12:35:56Z jameser joined #lisp 2017-03-23T12:36:00Z easye: +1 on an April 3d dinner. But I have no cycles to help organize (working on abcl-1.5.0) 2017-03-23T12:37:42Z jameser quit (Client Quit) 2017-03-23T12:40:22Z White__Flame: Good thing it's not a 2d dinner. 3d is much more filling 2017-03-23T12:41:17Z phoe: White__Flame: get out 2017-03-23T12:41:46Z phoe: this pun deserves a punt 2017-03-23T12:41:58Z hvxgr quit (Quit: leaving) 2017-03-23T12:42:53Z White__Flame uploads a pun with the punter protocol 2017-03-23T12:47:10Z hvxgr joined #lisp 2017-03-23T12:47:27Z nowhere_man joined #lisp 2017-03-23T12:50:16Z thodg joined #lisp 2017-03-23T13:02:51Z JuanDaugherty joined #lisp 2017-03-23T13:05:13Z travv0 quit (Remote host closed the connection) 2017-03-23T13:05:55Z jameser joined #lisp 2017-03-23T13:06:57Z thodg quit (Read error: Connection reset by peer) 2017-03-23T13:12:37Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-23T13:14:28Z TDT joined #lisp 2017-03-23T13:14:44Z jameser joined #lisp 2017-03-23T13:19:18Z EvW joined #lisp 2017-03-23T13:27:26Z Harag quit (Ping timeout: 256 seconds) 2017-03-23T13:30:59Z kobain quit (Ping timeout: 252 seconds) 2017-03-23T13:32:41Z LiamH joined #lisp 2017-03-23T13:32:46Z cibs quit (Ping timeout: 264 seconds) 2017-03-23T13:33:06Z thodg joined #lisp 2017-03-23T13:33:59Z warweasle joined #lisp 2017-03-23T13:34:11Z compro joined #lisp 2017-03-23T13:34:42Z cibs joined #lisp 2017-03-23T13:35:30Z beach: So here is an idea for a cute feature of Common Lisp mode of Second Climacs: Hold the mouse over a lexical variable, and the possible definitions (such as LET bindings or assignments that may determine its value at that point) will be highlighted. Other uses of the same variable (including assignments that can not determine its value at that point) will be highlighted differently. 2017-03-23T13:37:01Z TDT quit (Quit: TDT) 2017-03-23T13:38:58Z flip214: beach: +1 ;) 2017-03-23T13:39:25Z sjl quit (Ping timeout: 260 seconds) 2017-03-23T13:39:55Z beach: It involves computing so-called DU and UD chains, but that can be done since I have a complete parse of the code. 2017-03-23T13:40:46Z lvo joined #lisp 2017-03-23T13:41:06Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-23T13:44:48Z cibs quit (Ping timeout: 260 seconds) 2017-03-23T13:45:50Z nopf joined #lisp 2017-03-23T13:46:37Z cibs joined #lisp 2017-03-23T13:46:39Z pansophical joined #lisp 2017-03-23T13:46:40Z thodg quit (Ping timeout: 260 seconds) 2017-03-23T13:48:22Z thodg joined #lisp 2017-03-23T13:52:03Z jameser joined #lisp 2017-03-23T13:57:16Z Karl_Dscc quit (Ping timeout: 246 seconds) 2017-03-23T13:57:36Z TDT joined #lisp 2017-03-23T14:00:08Z jameser_ joined #lisp 2017-03-23T14:00:30Z warweasle quit (Remote host closed the connection) 2017-03-23T14:00:48Z jameser quit (Ping timeout: 240 seconds) 2017-03-23T14:04:05Z cromachina quit (Read error: Connection reset by peer) 2017-03-23T14:04:35Z jameser_ quit (Ping timeout: 240 seconds) 2017-03-23T14:06:01Z mathrick quit (Ping timeout: 246 seconds) 2017-03-23T14:08:14Z EvW quit (Ping timeout: 256 seconds) 2017-03-23T14:10:39Z Karl_Dscc joined #lisp 2017-03-23T14:13:05Z learning quit (Read error: No route to host) 2017-03-23T14:15:01Z learning joined #lisp 2017-03-23T14:15:45Z Einwq joined #lisp 2017-03-23T14:16:32Z yrk joined #lisp 2017-03-23T14:17:11Z yrk quit (Changing host) 2017-03-23T14:17:11Z yrk joined #lisp 2017-03-23T14:19:35Z warweasle joined #lisp 2017-03-23T14:21:51Z BitPuffin|osx joined #lisp 2017-03-23T14:26:42Z Karl_Dscc quit (Ping timeout: 240 seconds) 2017-03-23T14:27:38Z alphor quit (Quit: Bye!) 2017-03-23T14:28:17Z smokeink joined #lisp 2017-03-23T14:31:50Z mathrick joined #lisp 2017-03-23T14:32:52Z abel-abel quit (Ping timeout: 260 seconds) 2017-03-23T14:36:42Z burtons joined #lisp 2017-03-23T14:37:45Z compro quit (Ping timeout: 260 seconds) 2017-03-23T14:37:59Z mazoe quit (Read error: Connection reset by peer) 2017-03-23T14:40:50Z phoe: beach: +1. 2017-03-23T14:42:06Z Karl_Dscc joined #lisp 2017-03-23T14:46:22Z wheelsucker joined #lisp 2017-03-23T14:47:13Z circ-user-cEMst joined #lisp 2017-03-23T14:47:15Z beach: Thanks! 2017-03-23T14:51:18Z oleo joined #lisp 2017-03-23T14:54:56Z Karl_Dscc quit (Remote host closed the connection) 2017-03-23T14:59:48Z stardiviner quit (Ping timeout: 256 seconds) 2017-03-23T15:00:25Z al-damiri joined #lisp 2017-03-23T15:02:44Z cibs quit (Ping timeout: 260 seconds) 2017-03-23T15:03:00Z mrottenkolber joined #lisp 2017-03-23T15:03:40Z smokeink quit (Ping timeout: 260 seconds) 2017-03-23T15:04:37Z cibs joined #lisp 2017-03-23T15:09:57Z dec0n quit (Read error: Connection reset by peer) 2017-03-23T15:10:51Z iago quit (Quit: Leaving) 2017-03-23T15:11:52Z flamebeard quit (Quit: Leaving) 2017-03-23T15:17:23Z Karl_Dscc joined #lisp 2017-03-23T15:17:51Z TDT quit (Quit: TDT) 2017-03-23T15:20:14Z dxtr joined #lisp 2017-03-23T15:20:24Z dxtr: What would be the most efficient way to write large binary blobs? 2017-03-23T15:20:30Z dxtr: To files 2017-03-23T15:20:58Z dxtr: using awhile and write-byte doesn't seem that efficient 2017-03-23T15:21:01Z dlowe: write-sequence 2017-03-23T15:21:30Z dlowe: clhs write-sequence 2017-03-23T15:21:31Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_wr_seq.htm 2017-03-23T15:21:47Z borei joined #lisp 2017-03-23T15:22:05Z ogamita: Now, depending on your hardware, it may be more efficent to fork threads and write different parts of the blob from different threads. 2017-03-23T15:22:23Z ogamita: It it's a rare hardware one where that would be more efficient. 2017-03-23T15:23:12Z dxtr: They won't be THAT large :) 2017-03-23T15:23:14Z dxtr: But it will be a lot 2017-03-23T15:23:38Z dxtr: We are migrating our ecommerce system and I have to import product images for 70k products 2017-03-23T15:23:45Z dxtr: And I decided to do it in lisp because why not? 2017-03-23T15:23:53Z dxtr: Sounds like a fun idea 2017-03-23T15:24:20Z sellout- quit (Quit: Leaving.) 2017-03-23T15:24:48Z dxtr: So I'll be spawning a couple of threads that will download the images 2017-03-23T15:25:36Z snowcrshd quit (Ping timeout: 260 seconds) 2017-03-23T15:25:39Z TDT joined #lisp 2017-03-23T15:26:56Z ogamita: Nowadays, we have large RAM so you can avoid hitting the SSD until you have the final file in general. 2017-03-23T15:28:50Z dxtr: Yeah that's what I am doing 2017-03-23T15:29:04Z sjl joined #lisp 2017-03-23T15:29:20Z dxtr: Have to utilize all of my 16MB of memory 2017-03-23T15:29:22Z dxtr: :) 2017-03-23T15:29:33Z iago joined #lisp 2017-03-23T15:29:54Z dxtr: Like it's 1992 2017-03-23T15:30:51Z dxtr: # is not a character output stream. 2017-03-23T15:30:59Z dxtr: How is that not an output stream? :p 2017-03-23T15:31:01Z prole joined #lisp 2017-03-23T15:31:18Z dxtr: (with-open-file (output-stream pathspec :direction :output...)) 2017-03-23T15:31:33Z dlowe: Probably it's not a *character* output stream? 2017-03-23T15:31:38Z lvo quit (Remote host closed the connection) 2017-03-23T15:31:41Z ogamita: dxtr: CHARACTER Do you have :element-type '(unsigned 8)? 2017-03-23T15:31:48Z dxtr: Oh, it's that picky 2017-03-23T15:31:56Z dxtr: Sorry about that 2017-03-23T15:37:32Z didi joined #lisp 2017-03-23T15:38:46Z didi: So http://lisptips.com/post/53970107740/adding-an-item-to-a-sorted-list taught me how to add an item to a sorted list. But what if I want to add an item only if it is not a duplicate of an item already in the list? 2017-03-23T15:43:58Z o1e9 joined #lisp 2017-03-23T15:44:04Z stardiviner joined #lisp 2017-03-23T15:45:52Z dlowe: check for the item before merging it 2017-03-23T15:45:56Z dlowe: or use PUSHNEW, then sort the list 2017-03-23T15:46:17Z didi: ic 2017-03-23T15:46:20Z didi: Thank you. 2017-03-23T15:46:51Z oleo: oO 2017-03-23T15:46:54Z oleo: where is beach ? 2017-03-23T15:47:35Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2017-03-23T15:48:03Z didi: dlowe: Do you have an intuition of which is fastest? 2017-03-23T15:52:40Z _death: maybe you need a data structure appropriate for sorted sets 2017-03-23T15:53:44Z _death: it depends on how many elements you expect to have, for example 2017-03-23T15:53:45Z didi: _death: Maybe. My expectation is of lots of small lists. 2017-03-23T15:53:55Z beach: oleo: You rang? 2017-03-23T15:54:00Z stardiviner quit (Quit: WeeChat 1.7) 2017-03-23T15:54:14Z White__Flame: didi: or a sorted tree structure, which is easily walkable in order 2017-03-23T15:54:39Z didi: White__Flame: True. It is a possibility. But I am writing a simple implementation for now. 2017-03-23T15:54:39Z josh_2 joined #lisp 2017-03-23T15:55:01Z White__Flame: at some point simple != fast 2017-03-23T15:55:09Z didi: Sure. 2017-03-23T15:57:31Z ogamita: Also, it depends on your processor and DRAM system. I hear that some DRAM system/processor cache make it so RAM accesses are done by lines of 64 bytes at once (you read one byte, the RAM sends 64 bytes; you write one byte not in cache, the RAM sends 64 bytes, the cache is updated, and the flush sends 64 bytes to the RAM). 2017-03-23T15:58:14Z snowcrshd joined #lisp 2017-03-23T15:58:52Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-23T15:59:03Z ogamita: In such a system, an array of 16 or 8 elements could be updated by the processor in cache without RAM access as fast as a single RAM access, so inserting into such a small array would not be slower than inserting in a list. Probably faster in fact. 2017-03-23T15:59:39Z ogamita: at some point, (simple != fast) != simple 2017-03-23T15:59:40Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-23T16:00:25Z _death: if you expect a lot of duplicates, you can maintain both a hash-table and a sorted list 2017-03-23T16:02:04Z _death: as long as you hide the implementation detail behind an abstract data type, it's ok to start simple 2017-03-23T16:02:15Z borodust quit (Quit: Leavin') 2017-03-23T16:02:27Z krrrcks quit (Ping timeout: 240 seconds) 2017-03-23T16:02:50Z krrrcks joined #lisp 2017-03-23T16:03:20Z borodust joined #lisp 2017-03-23T16:03:27Z TDT quit (Quit: TDT) 2017-03-23T16:03:33Z _cosmonaut_ joined #lisp 2017-03-23T16:03:55Z mishoo_ is now known as mishoo 2017-03-23T16:08:12Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2017-03-23T16:08:54Z _cosmonaut_ joined #lisp 2017-03-23T16:10:36Z TDT joined #lisp 2017-03-23T16:11:12Z borei quit (Ping timeout: 256 seconds) 2017-03-23T16:15:02Z eazar001 joined #lisp 2017-03-23T16:16:37Z stepnem joined #lisp 2017-03-23T16:19:51Z defaultxr joined #lisp 2017-03-23T16:20:49Z borei joined #lisp 2017-03-23T16:21:31Z learning quit (Remote host closed the connection) 2017-03-23T16:30:45Z _cosmonaut_ quit (Ping timeout: 268 seconds) 2017-03-23T16:32:28Z araujo quit (Ping timeout: 240 seconds) 2017-03-23T16:33:08Z josh_2 quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-23T16:33:11Z xuxuru joined #lisp 2017-03-23T16:34:12Z josh_2 joined #lisp 2017-03-23T16:34:21Z Wombatzus_ joined #lisp 2017-03-23T16:34:41Z Wombatzus_ is now known as Wombatzus 2017-03-23T16:39:04Z iago quit (Quit: Leaving) 2017-03-23T16:39:46Z TDT quit (Quit: TDT) 2017-03-23T16:42:22Z mrottenkolber quit (Ping timeout: 264 seconds) 2017-03-23T16:42:23Z neoncont_ joined #lisp 2017-03-23T16:44:00Z eazar001 quit (Quit: WeeChat 1.5) 2017-03-23T16:44:27Z neoncontrails quit (Ping timeout: 240 seconds) 2017-03-23T16:44:50Z araujo joined #lisp 2017-03-23T16:45:45Z shka_ joined #lisp 2017-03-23T16:50:16Z RedEight joined #lisp 2017-03-23T16:50:28Z kobain joined #lisp 2017-03-23T16:51:44Z eazar001 joined #lisp 2017-03-23T16:51:49Z eazar001 quit (Client Quit) 2017-03-23T16:52:40Z scymtym: has somebody already adopted cxml, xpath and friends? 2017-03-23T16:53:12Z eazar001 joined #lisp 2017-03-23T16:55:04Z LiamH quit (Quit: Leaving.) 2017-03-23T16:56:41Z kobain quit (Ping timeout: 252 seconds) 2017-03-23T16:58:32Z JuanDaugherty: xpath and cxml are not at the same level of generality 2017-03-23T16:59:01Z failproofshark quit (Remote host closed the connection) 2017-03-23T17:00:35Z failproofshark joined #lisp 2017-03-23T17:00:58Z Bike joined #lisp 2017-03-23T17:02:53Z scymtym: they are both (asdf) systems, have been written by the same authors and are both unmaintained. that's why i mention them together like that 2017-03-23T17:04:19Z JuanDaugherty: i assume you meant xpath, the standard xml thing 2017-03-23T17:04:30Z JuanDaugherty: *assumed 2017-03-23T17:04:43Z JuanDaugherty: which is not even a lisp thing 2017-03-23T17:05:32Z scymtym: well, xpath, the asdf system, implements a version of xpath, the standard 2017-03-23T17:08:27Z RedEight quit (Ping timeout: 240 seconds) 2017-03-23T17:09:18Z RedEight joined #lisp 2017-03-23T17:10:19Z casper_ joined #lisp 2017-03-23T17:12:08Z circ-user-cEMst quit (Ping timeout: 240 seconds) 2017-03-23T17:14:00Z kobain joined #lisp 2017-03-23T17:15:39Z kobain quit (Max SendQ exceeded) 2017-03-23T17:16:07Z kobain joined #lisp 2017-03-23T17:18:58Z iago joined #lisp 2017-03-23T17:19:01Z LiamH joined #lisp 2017-03-23T17:19:36Z nirved quit (Quit: Leaving) 2017-03-23T17:19:44Z o1e9 quit (Quit: Ex-Chat) 2017-03-23T17:21:15Z bariscant joined #lisp 2017-03-23T17:23:28Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-23T17:24:15Z bocaneri quit (Remote host closed the connection) 2017-03-23T17:27:05Z dxtr: Is there a decent xz library? 2017-03-23T17:30:27Z dlowe: In CL? Doubt it. You could use a C one though 2017-03-23T17:30:36Z didi: (uiop/run-program:run-program "xz")? ;-) 2017-03-23T17:32:52Z bariscant quit (Quit: Leaving) 2017-03-23T17:34:29Z dxtr: What's #S? 2017-03-23T17:36:09Z Bike: clhs #s 2017-03-23T17:36:09Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/02_dhm.htm 2017-03-23T17:36:17Z Bike: tl;dr reads in a structure. 2017-03-23T17:38:32Z varjag joined #lisp 2017-03-23T17:38:42Z gargaml quit (Quit: WeeChat 1.7) 2017-03-23T17:39:46Z nowhere_man joined #lisp 2017-03-23T17:40:27Z ebrasca joined #lisp 2017-03-23T17:44:31Z m00natic quit (Remote host closed the connection) 2017-03-23T17:46:19Z xuxuru quit (Ping timeout: 240 seconds) 2017-03-23T17:46:45Z Karl_Dscc quit (Remote host closed the connection) 2017-03-23T17:47:06Z velo-alien joined #lisp 2017-03-23T17:47:33Z xuxuru joined #lisp 2017-03-23T17:48:35Z hhdave quit (Ping timeout: 240 seconds) 2017-03-23T17:49:47Z andrzejku joined #lisp 2017-03-23T17:53:28Z rumbler31 joined #lisp 2017-03-23T17:57:14Z c0dehero joined #lisp 2017-03-23T18:00:54Z pebblexe joined #lisp 2017-03-23T18:01:51Z manualcrank joined #lisp 2017-03-23T18:03:55Z ebrasca: Hi 2017-03-23T18:05:21Z ebrasca: CUBE-WORLD> (turtle-graphics *l-system*) -> NIL 2017-03-23T18:06:32Z hvxgr quit (Quit: leaving) 2017-03-23T18:07:39Z ebrasca: CUBE-WORLD> (turtle-graphics *l-system*) -> (#(0.0 0.0 0.0)) 2017-03-23T18:08:37Z phoe: ebrasca: looks like something SETFed your *l-system* to a new value. 2017-03-23T18:08:38Z ebrasca: why inside own package function work good. 2017-03-23T18:09:30Z ebrasca: this function don't work good imported in other lybrary. 2017-03-23T18:09:44Z phoe: ebrasca: huh? It looks like you're inside package CUBE-WORLD all the time. 2017-03-23T18:10:12Z ebrasca: phoe: emacs wrong copy. 2017-03-23T18:11:12Z kokonaisluku joined #lisp 2017-03-23T18:12:09Z hvxgr joined #lisp 2017-03-23T18:12:22Z ogamita quit (Ping timeout: 264 seconds) 2017-03-23T18:12:51Z Bike: pretty impossible to say without knowing what turtle-graphics does. 2017-03-23T18:13:27Z phoe: ebrasca: show us the code. 2017-03-23T18:15:15Z ebrasca: here http://ix.io/pcM 2017-03-23T18:15:52Z dwrngr: ebrasca: what happens if outside its own package, you try packagename::*l-system* instead of just *l-system* ? 2017-03-23T18:16:14Z dwrngr: replacing packagename with the name of the package from which *l-system* came 2017-03-23T18:16:38Z phoe: (defparameter *pi* 3.1415927) 2017-03-23T18:16:41Z phoe: ebrasca: 2017-03-23T18:16:41Z phoe: clhs pi 2017-03-23T18:16:42Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/v_pi.htm 2017-03-23T18:17:07Z phoe: ebrasca: Lisp already defines pi for you. 2017-03-23T18:17:14Z ebrasca: i need float not long float 2017-03-23T18:18:15Z phoe: every long float is a float. 2017-03-23T18:18:18Z phoe: (subtypep 'long-float 'float) ;=> T, T 2017-03-23T18:18:19Z snits quit (Remote host closed the connection) 2017-03-23T18:18:42Z Jesin quit (Quit: Leaving) 2017-03-23T18:19:10Z sellout- joined #lisp 2017-03-23T18:19:59Z Bike: turtle-graphics looks like it's called for effect anyway. 2017-03-23T18:21:10Z ebrasca: Bike: what do you mean by "effect"? 2017-03-23T18:21:40Z Bike: like, what's it supposed to return? 2017-03-23T18:22:18Z learning joined #lisp 2017-03-23T18:22:34Z cibs quit (Ping timeout: 246 seconds) 2017-03-23T18:22:52Z ebrasca: TURTLE-GRAPHICS> (turtle-graphics '((F 1.0) (U 1.0) (F 1.0) (U 1.0) (F 1.0))) 2017-03-23T18:22:52Z ebrasca: (#(2.0 0.0 0.0) #(1.0 0.0 0.0) #(0.0 0.0 0.0) #(0.0 0.0 0.0) #(1.0 0.0 0.0) 2017-03-23T18:22:52Z ebrasca: #(2.0 0.0 0.0) #(2.5403023 0.84147096 0.0) #(1.5403023 0.84147096 0.0) 2017-03-23T18:22:52Z ebrasca: #(1.0 0.0 0.0) #(1.0 0.0 0.0) #(2.0 0.0 0.0) #(2.5403023 0.84147096 0.0) 2017-03-23T18:22:55Z ebrasca: #(2.1241555 1.7507683 0.0) #(1.1241555 1.7507683 0.0) 2017-03-23T18:22:59Z ebrasca: #(1.5403023 0.84147096 0.0) #(1.5403023 0.84147096 0.0) 2017-03-23T18:23:02Z ebrasca: #(2.5403023 0.84147096 0.0) #(2.1241555 1.7507683 0.0)) 2017-03-23T18:23:04Z Bike: ok this isn't very informative. 2017-03-23T18:23:23Z ebrasca: Bike: list of vectors 2017-03-23T18:23:26Z Bike: oh. well, i see the problem, probably. 2017-03-23T18:23:35Z Bike: the turtle-graphics function does, like, (eq 'b symbol). 2017-03-23T18:23:58Z Bike: But (eq 'turtle-graphics::b 'cl-user::b) => NIL, so it doesn't do w hat you expect. 2017-03-23T18:24:16Z Bike: whatever that is. 2017-03-23T18:24:34Z cibs joined #lisp 2017-03-23T18:24:47Z ebrasca: Bike: (eq symbol0 symbol1) 2017-03-23T18:25:14Z Bike: would you please try to explain what you mean rather than repeating code with no context 2017-03-23T18:26:07Z Jesin joined #lisp 2017-03-23T18:26:27Z learning quit (Ping timeout: 240 seconds) 2017-03-23T18:26:35Z ebrasca: Bike: If I find symbol 'f it mean my turtle moves 1 step forward. 2017-03-23T18:26:50Z phoe: ebrasca: I know what your problem is. 2017-03-23T18:26:59Z BlueRavenGT joined #lisp 2017-03-23T18:27:00Z Bike: Sure, whatever. I'm saying that if you define *l-system* in some other package the symbols are not read as being in the turtle-graphics package. 2017-03-23T18:27:11Z Lord_of_Life quit (Excess Flood) 2017-03-23T18:27:15Z phoe: if you're in your package, then list '(a b c d e f) read from the Lisp reader will be all symbols from your package. 2017-03-23T18:27:17Z Bike: Because turtle-graphics::f and some-other-package::f are distinct symbols, most likely 2017-03-23T18:27:28Z phoe: if you're in another package, then list '(a b c d e f) read from the Lisp reader will be all symbols from another package. 2017-03-23T18:27:34Z snits joined #lisp 2017-03-23T18:27:35Z phoe: so - just what Bike said right now. 2017-03-23T18:27:40Z phoe: EQ is not what you want in this case. 2017-03-23T18:27:53Z daemoz: How do I quote the result of a variable? ex. (foo 'variable) where variable equals (1 2 3) and I want the call to read (foo '(1 2 3)) 2017-03-23T18:28:08Z phoe: daemoz: ''(1 2 3) 2017-03-23T18:28:20Z phoe: oh wait. 2017-03-23T18:28:25Z daemoz: No the result 2017-03-23T18:28:28Z phoe: daemoz: what do you want to use it for? why do you want it quoted? 2017-03-23T18:28:37Z phoe: You could try `',variable 2017-03-23T18:28:46Z phoe: or (list quote variable) 2017-03-23T18:28:46Z ryanwatkins joined #lisp 2017-03-23T18:29:23Z dwrngr: ebrasca you never answered my question, it should help you understand what Bike is saying if you can 2017-03-23T18:29:25Z phoe: daemoz: are you macrowriting? 2017-03-23T18:30:04Z daemoz: phoe: Yes I am, and the result of the macro depends on a config file that for convenience has element simply written as "(1 2 3)" for instance. 2017-03-23T18:30:13Z daemoz: `', totally worked though, thank you. 2017-03-23T18:30:58Z Lord_of_Life joined #lisp 2017-03-23T18:31:55Z ebrasca: dwrngr: don't work. 2017-03-23T18:32:09Z ebrasca: Thanks all with eql work. 2017-03-23T18:32:56Z shrdlu68 joined #lisp 2017-03-23T18:35:58Z daemoz: phoe: actually, that did not work, it just returns `',variable 2017-03-23T18:36:08Z phoe: daemoz: wah 2017-03-23T18:36:11Z phoe: show me the code. 2017-03-23T18:36:14Z shrdlu68: Guten Abend! 2017-03-23T18:36:19Z pebblexe: I am trying to parse some json, but since it's not being returned as a string none of the decoders work 2017-03-23T18:36:19Z ebrasca: I need lear to write better english ... 2017-03-23T18:36:20Z phoe: shrdlu68: dobry wieczór 2017-03-23T18:36:31Z pebblexe: is there a way to wrap something in double quotes and escape the existing quotes? 2017-03-23T18:36:53Z circ-user-cEMst joined #lisp 2017-03-23T18:37:13Z phoe: pebblexe: do you mean prin1-to-string? 2017-03-23T18:37:18Z phoe: which will also escape slashes? 2017-03-23T18:37:45Z phoe: daemoz: this smells of an additional quote somewhere. 2017-03-23T18:38:02Z phoe: if something returns the unevaluated `',variable - then it must have been quoted. 2017-03-23T18:38:21Z pebblexe: phoe: that was it! thank you! 2017-03-23T18:38:55Z dxtr: Does it make sense to use mapcar to convert a list to a hashtable? 2017-03-23T18:39:05Z phoe: dxtr: mapc 2017-03-23T18:39:09Z dxtr: Alright 2017-03-23T18:39:10Z phoe: mapcar conses, mapc does not. 2017-03-23T18:39:28Z phoe: like, mapcar returns a list of values returned from the function, mapc returns the first original list. 2017-03-23T18:39:44Z phoe: the side effects for the two are equivalent, BUT 2017-03-23T18:39:57Z phoe: if you discard the result of mapcar, then you should use mapc instead. 2017-03-23T18:40:19Z dxtr: Alright! 2017-03-23T18:40:23Z daemoz: phoe: https://ix.io/pc0 2017-03-23T18:40:26Z dxtr: Also, should I use setf or setq? 2017-03-23T18:40:28Z phoe: setf. 2017-03-23T18:40:37Z dxtr: Alright 2017-03-23T18:40:38Z dxtr: Thanks 2017-03-23T18:40:44Z phoe: daemoz: connection refused. 2017-03-23T18:41:31Z daemoz: phoe: Sorry, http://ix.io/pcO 2017-03-23T18:41:59Z phoe: there you have it, daemoz - a double quote 2017-03-23T18:42:01Z Bike: why is that a macro to begin with 2017-03-23T18:42:28Z daemoz: Bike: I'm dancing around this trying to quote the result of an evaluation and this is where I wound up T_T 2017-03-23T18:42:37Z Bike: the result of... 2017-03-23T18:42:49Z Bike: do you not just want to do (let ((midi-info (list midi-bind))) ...)? 2017-03-23T18:43:17Z phoe: ...wait why does this format not have an opening parenthesis 2017-03-23T18:43:18Z Bike: what is midi-bind and what do you want midi-info to be? 2017-03-23T18:43:19Z daemoz: Bike: the problem is midi-bind is (1 2 3). That would result in ((1 2 3)) 2017-03-23T18:43:36Z Bike: okay, and midi-info should be what? 2017-03-23T18:43:38Z daemoz: midibind = (1 2 3) midi-info (list 1 2 3) 2017-03-23T18:44:00Z daemoz: phoe: it does I just copied it wrong I guess. 2017-03-23T18:44:02Z Bike: you want midi-info to be a list of four elements, the first of which is the symbol LIST? 2017-03-23T18:44:17Z daemoz: Yeah 2017-03-23T18:44:27Z Bike: (let ((midi-info (cons 'list midi-bind))) ...) 2017-03-23T18:44:53Z phoe: well, anyway: 2017-03-23T18:44:54Z phoe: http://paste.lisp.org/display/342190 2017-03-23T18:44:59Z phoe: I inlined one macro. 2017-03-23T18:45:08Z phoe: can you see the double quotation now? 2017-03-23T18:45:22Z phoe: '`',midi-bind ;=> `',midi-bind 2017-03-23T18:45:30Z phoe: sure, that's what you want returned 2017-03-23T18:45:44Z phoe: ...and actually, your format is missing its closing paren, too. 2017-03-23T18:46:06Z daemoz: phoe: Okay, that makes sense to me now. I for some reason though that macros would unquote their result first before passing to other macros. That was silly. 2017-03-23T18:46:18Z phoe: macros return conses 2017-03-23T18:46:19Z Bike: i think you're thinking about quotation in a weird way. 2017-03-23T18:46:23Z daemoz: Bike: (cons 'list midi-bind) solves my issue, thanks so much. 2017-03-23T18:46:27Z phoe: they operate on conses, accept conses and return conses. 2017-03-23T18:46:32Z Bike: no problemo, mate. 2017-03-23T18:46:39Z phoe: also - I think this part of your code is unnecessarily complex altogether. 2017-03-23T18:46:49Z daemoz: I'm definitely like only a week into Lisp so be gentle T_T 2017-03-23T18:47:01Z Bike: yeah, it's fine. i defined macros unnecessarily for my first program too. 2017-03-23T18:47:02Z phoe: don't worry, we'll be gentle. 2017-03-23T18:47:06Z phoe: you'll survive. 2017-03-23T18:47:12Z Bike: code is data but it's usually easier to work with data, you see 2017-03-23T18:47:29Z phoe: also, uh 2017-03-23T18:47:34Z daemoz: That's what so amazing about Lisp to me and I think why I feel the desire to make everything a macro 2017-03-23T18:47:40Z phoe: daemoz: DON'T 2017-03-23T18:47:49Z daemoz: phoe: but T_T code making code 2017-03-23T18:47:59Z Bike: you can do that fine with my cons. 2017-03-23T18:48:06Z Bike: macros just let you tell the evaluator how to do it. 2017-03-23T18:48:09Z phoe: use macros where you need them. 2017-03-23T18:48:10Z Bike: you don't need to do that here. 2017-03-23T18:48:17Z phoe: that's the general rule. 2017-03-23T18:48:31Z phoe: code making code is awesome, but actually not all that practical for things like *this*. 2017-03-23T18:49:07Z Bike: well, it's what's being done here. daemoz wants a form that makes a list, for whatever reason. it's just that you can do that without bothering with nested backquotes or whatever complex silliness 2017-03-23T18:49:11Z daemoz: Okay. I'll remove pass-list, use the (cons 'list) trick and remove all the then unnecessary quotes. 2017-03-23T18:49:40Z phoe: daemoz: I don't want to kill your fascination with macros 2017-03-23T18:49:55Z phoe: since it's what fuels me my own self in my voyages with Lisp 2017-03-23T18:50:28Z daemoz: phoe: I feel it, dude. Definitely pass-list was totally unecessary and I see that. I was just not able to figure out how to make a list out of conses like that. 2017-03-23T18:50:37Z phoe: but when I was taking my first steps in Lisp, it was people around here who taught me that most of the time, functions are surprisingly good enough - especially that they're fully first-class in Lisp. 2017-03-23T18:50:45Z phoe: Oh, got it. 2017-03-23T18:51:04Z daemoz: phoe: This channel has helped me so much it's stupid, hahaha. 2017-03-23T18:51:24Z phoe: Well, backquote syntax is completely redundant as well. Macros simply return code in form of lists, and you can construct all lists with CONS, LIST and possibly LIST*. 2017-03-23T18:51:57Z phoe: It's just that in this case LIST is a step up from CONS and `, is a step up from LIST. 2017-03-23T18:52:00Z phoe: Convenience and readability. 2017-03-23T18:52:38Z shrdlu68: I'm tryig to imagine what code with defmacro everywhere rather than defun would look like, and what it would do. 2017-03-23T18:52:52Z daemoz: shrdlu68: Like... only macros? 2017-03-23T18:52:53Z shrdlu68: Assume defun was forbidden for some reason... 2017-03-23T18:52:59Z shrdlu68: Yes. 2017-03-23T18:53:55Z daemoz: thank you phoe, Bike. 2017-03-23T18:53:57Z cibs quit (Ping timeout: 240 seconds) 2017-03-23T18:54:18Z kokonaisluku quit (Quit: ChatZilla 0.9.93 [Firefox 45.8.0/20170308154700]) 2017-03-23T18:55:45Z cibs joined #lisp 2017-03-23T18:55:49Z phoe: shrdlu68: wouldn't be much of a problem 2017-03-23T18:55:54Z phoe: (defmacro defun (...) ...) 2017-03-23T18:55:57Z phoe: ;D 2017-03-23T18:56:03Z sjl: shrdlu68: you'd (defmacro define-function ...) instead of jumping into the abyss 2017-03-23T18:56:27Z shrdlu68: phoe: Forbidden. Programming license seized. 2017-03-23T18:56:38Z phoe: shrdlu68: (defmacro totally-not-defun () ...) 2017-03-23T18:56:57Z daemoz: Hahahaha 2017-03-23T18:57:15Z shrdlu68: Documentation license seized. 2017-03-23T18:57:42Z neoncont_ quit (Remote host closed the connection) 2017-03-23T19:00:00Z phoe: ... 2017-03-23T19:00:02Z phoe: shrdlu68: challenge acceptec 2017-03-23T19:00:48Z cibs quit (Ping timeout: 258 seconds) 2017-03-23T19:00:48Z lnostdal quit (Ping timeout: 258 seconds) 2017-03-23T19:00:59Z phoe: (defmacro totally-a-macro (x y) (+ x y)) ;=> TOTALLY-A-MACRO 2017-03-23T19:01:08Z phoe: (funcall (macro-function 'totally-a-macro) '(totally-a-macro 2 3) nil) 2017-03-23T19:01:12Z phoe: ;=> 5 2017-03-23T19:01:14Z phoe: better now? 2017-03-23T19:01:46Z cibs joined #lisp 2017-03-23T19:02:59Z andyloveslisp joined #lisp 2017-03-23T19:05:02Z andyloveslisp: I've successfully parsed a json request into an alist of string. Is there a best practice way of manipulating this to an alist of symbols? I was just thinking of using (intern ..) 2017-03-23T19:06:51Z handlex joined #lisp 2017-03-23T19:07:01Z sellout- quit (Quit: Leaving.) 2017-03-23T19:07:15Z phoe: andyloveslisp: yes, you can intern them into some arbitrary package. 2017-03-23T19:07:16Z snowcrshd quit (Ping timeout: 260 seconds) 2017-03-23T19:07:16Z shrdlu68: After further deliberation, the committee placed the CLHS in the Index Librorum Prohibitorum. 2017-03-23T19:07:25Z snowcrshd joined #lisp 2017-03-23T19:07:40Z phoe: shrdlu68: thank goodness we have other derivative works of X3J13. 2017-03-23T19:07:52Z phoe: andyloveslisp: interning will work. JSON keys are case-sensitive and so are symbols. 2017-03-23T19:08:21Z phoe: Just don't be worried if you suddenly see symbols like |value| or |randomURIDesignator| in your package. 2017-03-23T19:08:47Z phoe: Also - be wary that once you intern these strings, they will stay around until you delete the package, which might mean forever. 2017-03-23T19:09:21Z phoe: Which might mean that sending arbitrary JSON to your server will be able to fill up its memory by interning arbitrary strings inside your package, making them persistent and uncollectable as garbage. 2017-03-23T19:10:37Z jerme joined #lisp 2017-03-23T19:12:09Z andyloveslisp: phoe: thank you. I didn't consider that last point. 2017-03-23T19:13:37Z phoe: andyloveslisp: be wary when reading and/or interning anything from untrusted sources. 2017-03-23T19:13:53Z phoe: since interning can blow your heap and reading can normally execute arbitrary code. 2017-03-23T19:15:37Z Jesin quit (Quit: Leaving) 2017-03-23T19:18:09Z jurov: phoe: is there some doc/treatise on safe reading? 2017-03-23T19:18:28Z phoe: jurov: https://github.com/phoe/secure-read 2017-03-23T19:18:30Z phoe cough cough 2017-03-23T19:18:47Z phoe: I mean 2017-03-23T19:18:48Z phoe: clhs 2.2 2017-03-23T19:18:48Z specbot: Reader Algorithm: http://www.lispworks.com/reference/HyperSpec/Body/02_b.htm 2017-03-23T19:19:08Z phoe: jurov: from what I've researched and what I've implemented in the library above, there are three bad things that can happen. 2017-03-23T19:19:25Z shrdlu68: Would checking for balanced parens take care of executing code? 2017-03-23T19:19:42Z phoe: shrdlu68: "(do-evil-stuff))))))))" 2017-03-23T19:19:49Z phoe: this will first do evil stuff, then crash. 2017-03-23T19:19:50Z shrdlu68: Or is there a lisp version of JSFuck? 2017-03-23T19:20:01Z phoe: also, define "balanced parens" 2017-03-23T19:20:10Z phoe: not all parens are Lisp, just like not all Lisp is parens. 2017-03-23T19:20:25Z phoe: actually 2017-03-23T19:20:29Z phoe: shrdlu68: "#.(do-evil-stuff))))))))" 2017-03-23T19:20:36Z shrdlu68: (()) = balanced ())!=balanced 2017-03-23T19:20:58Z Lord_of_Life quit (Excess Flood) 2017-03-23T19:21:24Z troydm joined #lisp 2017-03-23T19:21:34Z jurov: ( "(" #| ) |#) ;;) 2017-03-23T19:21:36Z phoe: shrdlu68: doesn't really look like a good way. 2017-03-23T19:21:41Z phoe: also, what jurov just posted. 2017-03-23T19:22:09Z shrdlu68: Classic input validation bypassing. 2017-03-23T19:22:14Z phoe: you'd more or less need to implement a Lisp reader to recognize matching parens, at which point you've reinvented the wheel. 2017-03-23T19:23:17Z jurov: I was thinking "maybe there's some combination of standard reader options that can read safely".. so there isn't? 2017-03-23T19:23:35Z phoe: jurov: there is. 2017-03-23T19:23:49Z phoe: take care of: 1) reader macros, 2) interning, 3) maximum input length. 2017-03-23T19:24:06Z White__Flame: (")") 2017-03-23T19:24:08Z phoe: And possibly 4), timeouts - but that's outside the scope of a reader itself. 2017-03-23T19:24:41Z White__Flame: (erm, yeah, jurov covered that one...) 2017-03-23T19:24:47Z phoe: 123) are somewhat implemented in my library. 2017-03-23T19:24:58Z Lord_of_Life joined #lisp 2017-03-23T19:25:19Z TDT joined #lisp 2017-03-23T19:25:22Z phoe: White__Flame: '\) 2017-03-23T19:25:56Z White__Flame: and #\) 2017-03-23T19:26:30Z marvin2 quit (Ping timeout: 260 seconds) 2017-03-23T19:26:56Z Jesin joined #lisp 2017-03-23T19:27:23Z ebrasca is now known as ebrasca-afk 2017-03-23T19:28:29Z fourier joined #lisp 2017-03-23T19:29:00Z shrdlu68: So temporarily substituting the read table would work? 2017-03-23T19:29:14Z andyloveslisp: I can pull apart the string before I read it? There should be no parenthesis in my inputs, so I could block the process on discovery of any. 2017-03-23T19:29:30Z phoe: andyloveslisp: there are two ways of doing this. 2017-03-23T19:30:00Z phoe: One, the "proper" one: write your own reader using READ-CHAR and folks. 2017-03-23T19:30:34Z phoe: Second: ...actually, if you're not reading S-expressions, then hacking around the Lisp reader won't work. See point one. 2017-03-23T19:30:59Z phoe: Because, "before I read it". 2017-03-23T19:31:02Z phoe: Define "read". 2017-03-23T19:31:14Z phoe: What do you mean, "read"? 2017-03-23T19:31:29Z White__Flame: it's theoretically nice to pull in numbers and strings, but if there are slight format discrepancies they'll bite you 2017-03-23T19:31:39Z shrdlu68: If the string should not contain parens, then simply blocking a string with parens and otherwise reading should be fine, no? 2017-03-23T19:32:12Z White__Flame: if a string contains "foo", then READing it will create the symbol FOO, having applied the read case 2017-03-23T19:32:14Z shrdlu68: s/string/input string/ 2017-03-23T19:32:38Z andyloveslisp: well I grab a json string from hunchentoot, use string functions to inspect it, then use read functions to convert to lisp symbols/numbers. 2017-03-23T19:33:05Z phoe: andyloveslisp: READ to convert to symbols? That's not a good way. 2017-03-23T19:33:06Z andyloveslisp: I don't know what huncentoot has done with it before hand 2017-03-23T19:33:12Z White__Flame: for safety, you should turn off *READ-EVAL* first 2017-03-23T19:33:17Z phoe: If anything, use INTERN instead of READ. 2017-03-23T19:33:26Z phoe: It does only interning and not whole reading. 2017-03-23T19:33:51Z White__Flame: but you'll probably need to upcase it manually as well, if you want it to look like normal symbols 2017-03-23T19:34:00Z phoe: White__Flame: uh 2017-03-23T19:34:02Z andyloveslisp: Well there are numbers, and intern creates a |1| symbol rather than the number 1 2017-03-23T19:34:04Z phoe: JSON is case-sensitive I guess 2017-03-23T19:34:34Z phoe: andyloveslisp: oh wait, right 2017-03-23T19:34:39Z White__Flame: andyloveslisp: wait, if you read {"a":1}, you'll get ("a" . "1") in your lisp-side a-list? 2017-03-23T19:34:39Z phoe: keys must be strings, and values can be anything. 2017-03-23T19:34:58Z phoe: White__Flame: that's what I once got using CL-JSON, yes. 2017-03-23T19:35:09Z shrdlu68: By the way, is symbol comparison more efficient than string comparison? 2017-03-23T19:35:10Z White__Flame is now known as White_Flame 2017-03-23T19:35:15Z White_Flame: yes 2017-03-23T19:35:29Z phoe: yes 2017-03-23T19:35:30Z White_Flame: well, you control the comparison operation 2017-03-23T19:35:38Z phoe: it's more or less pointer comparison instead of char-by-char comparison 2017-03-23T19:35:42Z White_Flame: you can do (eq str1 str2) and it'll be just as fast, probably not correct though ;) 2017-03-23T19:35:43Z andyloveslisp: no I parse using yason from {"a" : "1"} to ("a" . "1") then I'm on my own from here. 2017-03-23T19:36:04Z White_Flame: but then you are not getting a number, but a string for "1" which is correct 2017-03-23T19:36:08Z phoe: eq will only return true for two strings if they are the *same* string. 2017-03-23T19:36:25Z shrdlu68: Yep. 2017-03-23T19:36:32Z phoe: you'll want string= most of the time which compares char-by-char. 2017-03-23T19:37:11Z andyloveslisp: yes it's correct but I eventually want (a . 1) to feed to the rest of my program 2017-03-23T19:37:18Z shrdlu68: And for all other objects as well (eq). 2017-03-23T19:37:53Z White_Flame: but (a . 1) is incorrect, because the json implied (a . "1") 2017-03-23T19:38:16Z shrdlu68: I've never used eq in code. 2017-03-23T19:38:18Z handlex quit (Quit: handlex) 2017-03-23T19:38:30Z White_Flame: unless you know for certain that that particular field intends to hold a number in string format 2017-03-23T19:38:46Z pjb joined #lisp 2017-03-23T19:39:05Z andyloveslisp: I know for certain yes, but maybe I'm fixing this from the wrong side 2017-03-23T19:41:46Z mishoo quit (Ping timeout: 264 seconds) 2017-03-23T19:45:08Z TDT quit (Quit: TDT) 2017-03-23T19:47:10Z TDT joined #lisp 2017-03-23T19:47:50Z newcup joined #lisp 2017-03-23T19:52:48Z MoALTz quit (Quit: Leaving) 2017-03-23T19:56:57Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-23T19:57:02Z theseb joined #lisp 2017-03-23T20:00:34Z thodg quit (Ping timeout: 246 seconds) 2017-03-23T20:01:10Z thodg joined #lisp 2017-03-23T20:03:44Z ryanwatkins quit (Ping timeout: 260 seconds) 2017-03-23T20:04:11Z neoncontrails joined #lisp 2017-03-23T20:08:16Z jfb4 quit (Ping timeout: 258 seconds) 2017-03-23T20:08:41Z ryanwatkins joined #lisp 2017-03-23T20:10:06Z jfb4 joined #lisp 2017-03-23T20:17:40Z dxtr: So my list here is 40k elements large :p 2017-03-23T20:18:20Z pjb: dxtr: I would say 40k elements young. 2017-03-23T20:19:19Z White_Flame: I would say something about WarHammer, but I don't want to get kicked 2017-03-23T20:19:56Z White_Flame: but srsly, 40k is perfectly reasonable to work with on modern hardware 2017-03-23T20:20:58Z theseb: I'm fascinated by these minimal lisps with few primitives. Can these little langs can be USEFUL....All I can think of is maybe as teaching tools!?! 2017-03-23T20:20:58Z theseb: 2017-03-23T20:21:27Z White_Flame: easy to implement, roll-your-own everything 2017-03-23T20:21:30Z White_Flame: sort of like Forth 2017-03-23T20:21:36Z haom joined #lisp 2017-03-23T20:21:51Z White_Flame: but when they're embedded into a program, they can be quite useful for scripting functionality 2017-03-23T20:21:57Z theseb: they're just sooo cool and mathematical and elegant i want to do something with the little lisp i made 2017-03-23T20:22:23Z haom: does somebody know how to get the C FILE pointer from a file stream in sbcl? 2017-03-23T20:23:02Z learning joined #lisp 2017-03-23T20:23:20Z pjb: haom: AFAIK, there's no C FILE under CL streams in sbcl. 2017-03-23T20:23:22Z didi: shrdlu68: I use `eq' to check for sentinels. 2017-03-23T20:23:53Z pjb: I may be wrong, but I see no reason why CL stream would be implemented using C FILE. They're implemented using directly POSIX file descriptors. 2017-03-23T20:24:02Z pjb: s/POSIX/unix/ 2017-03-23T20:24:10Z pjb: or Handles on MS-Windows. 2017-03-23T20:24:37Z haom: pjb: i want to pass a file pointer to a c function through CFFI, do you have an idea how i could do that? 2017-03-23T20:25:00Z pjb: haom: you can recover the file descriptor, and use fdopen to wrap it in a FILE. 2017-03-23T20:25:36Z pjb: haom: beware however that then you will have two buffers, one in the lisp side, and one in the C side. Better flush your buffers before changing sides. 2017-03-23T20:26:00Z shrdlu68: didi: I don't get it. 2017-03-23T20:26:08Z pjb: haom: see SB-SYS:FD-STREAM-FD 2017-03-23T20:27:06Z haom: pjb: I found that, but havent found out how to access fdopen from sbcl. 2017-03-23T20:27:16Z pjb: using cffi. 2017-03-23T20:27:41Z pjb: Since it's in libc, it should be directly available. 2017-03-23T20:27:49Z learning quit (Ping timeout: 258 seconds) 2017-03-23T20:27:56Z haom: pjb: okay. 2017-03-23T20:28:15Z Devon joined #lisp 2017-03-23T20:29:09Z prxq joined #lisp 2017-03-23T20:30:43Z theseb: White_Flame: embedded languages!!!! yes! for when Python and Java and Common Lisp are a little too heavy to be embedded..yes makes sense! 2017-03-23T20:30:48Z cibs quit (Ping timeout: 240 seconds) 2017-03-23T20:31:29Z White_Flame: of course, many of those are also just created as toys and experiments 2017-03-23T20:32:18Z theseb: White_Flame: i've been a dev for 20+ years....i've never had to "embed" a lang in an app...when does that come up? 2017-03-23T20:32:46Z White_Flame: when you're developing in any statically-compiled language :-P 2017-03-23T20:32:55Z cibs joined #lisp 2017-03-23T20:33:41Z White_Flame: but seriously, game scripts, utility macros, configuration languages, all of that stuff is much more useful to consider dynamically at runtime 2017-03-23T20:34:18Z White_Flame: useful for the end-user that is, and can reduce a lot of developer burden too, if the main application is C/C++/Java/etc 2017-03-23T20:34:52Z snowcrshd quit (Ping timeout: 246 seconds) 2017-03-23T20:37:42Z didi: shrdlu68: For instance, say I want to mark a list with a sentinel, so I want when to stop processing. I push (defparameter *sentinel* '(nil)) to it. Even if '(nil) ends up in the list, it won't be EQ to *sentinel*. 2017-03-23T20:37:51Z didi: s/want/know 2017-03-23T20:38:28Z dlowe: it won't be EQL either 2017-03-23T20:38:37Z didi: Ah, good to know. 2017-03-23T20:38:38Z Bike: if they're both quoted they could be eq. 2017-03-23T20:39:08Z didi: Bike: What do you mean? 2017-03-23T20:39:27Z Bike: quoted data like '(nil) can be coalesced together by a compiler 2017-03-23T20:39:33Z didi: Oh... 2017-03-23T20:39:36Z didi: Hum. 2017-03-23T20:39:41Z Bike: i'd use (gensym) for this if i was you 2017-03-23T20:39:49Z didi: Bike: Thank you. 2017-03-23T20:40:05Z dlowe: (cons nil nil) will work for your example, though 2017-03-23T20:40:19Z didi: dlowe: Ah, thank you. 2017-03-23T20:41:48Z haom left #lisp 2017-03-23T20:41:59Z ryanwatkins quit (Remote host closed the connection) 2017-03-23T20:43:08Z didi: I guess (cons nil nil) uses one less cons cell than (list nil). 2017-03-23T20:43:34Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-23T20:43:45Z didi: Hum, no it doesn't. 2017-03-23T20:43:51Z White_Flame: it's exactly the same 2017-03-23T20:43:59Z didi: Right right. 2017-03-23T20:44:21Z White_Flame: but yeah, you want a command to create a sentinel like that, not a literal 2017-03-23T20:44:37Z didi: Thanks. 2017-03-23T20:46:21Z didi: Ah, another use for EQ: When I want to remove the exact object from an sequence. 2017-03-23T20:48:40Z EvW joined #lisp 2017-03-23T20:49:40Z scymtym quit (Ping timeout: 258 seconds) 2017-03-23T20:52:16Z Bike: well the thing is that eql and eq have same results except on characters and numbers, and neither of those are one where you can deliberately allocate a new instance. 2017-03-23T20:54:17Z kobain quit (Ping timeout: 252 seconds) 2017-03-23T20:57:30Z theseb: White_Flame: whoa..are you sitting down...GIMP uses TinyScheme! 2017-03-23T20:57:48Z White_Flame: ...yeah 2017-03-23T20:57:52Z snowcrshd joined #lisp 2017-03-23T21:02:32Z thodg quit (Ping timeout: 260 seconds) 2017-03-23T21:03:55Z snowcrshd quit (Ping timeout: 246 seconds) 2017-03-23T21:05:07Z araujo quit (Read error: Connection timed out) 2017-03-23T21:05:33Z araujo joined #lisp 2017-03-23T21:05:45Z pjb: didi: unless those objects are characters or numbers. 2017-03-23T21:06:04Z pjb: didi: use EQL by default for all that. There's no point in using EQ really. 2017-03-23T21:07:29Z bariscant joined #lisp 2017-03-23T21:07:48Z pjb: EQ is an implementation introspection mechanism. We only have to know about it because some old function use EQ instead of EQL, and therefore cannot be used with characters or numbers. (eg. GET). (cf. clhs eq) 2017-03-23T21:10:03Z marvin2 joined #lisp 2017-03-23T21:16:58Z gingerale quit (Remote host closed the connection) 2017-03-23T21:17:27Z TETOFILO quit (Quit: Leaving) 2017-03-23T21:20:09Z attila_lendvai joined #lisp 2017-03-23T21:20:09Z attila_lendvai quit (Changing host) 2017-03-23T21:20:09Z attila_lendvai joined #lisp 2017-03-23T21:21:59Z andyloveslisp quit (Quit: ERC (IRC client for Emacs 25.1.1)) 2017-03-23T21:22:22Z nyef: New possible plan for the MacIvory: Get a keyboard from wasdkeyboards, and a 3-button PS/2 mouse. Use a PS/2 adaptor on the keyboard. Run the PS/2 connectors to an AtMega328, and from the AtMega328 to an ADB port on the IIfx. Program the microcontroller to translate keycodes and mouse events to what is expected by the MacIvory and the "mousekey" driver. 2017-03-23T21:23:54Z angavrilov quit (Remote host closed the connection) 2017-03-23T21:24:34Z cibs quit (Ping timeout: 256 seconds) 2017-03-23T21:24:35Z varjag: sounds complicated 2017-03-23T21:24:56Z varjag: but as long as you know the protocol 2017-03-23T21:25:11Z varjag: why not 2017-03-23T21:25:29Z phoe: hell yeah, hacking into the macivory 2017-03-23T21:25:32Z phoe drops asleep 2017-03-23T21:25:40Z bariscant quit (Quit: Leaving) 2017-03-23T21:26:36Z cibs joined #lisp 2017-03-23T21:27:54Z nyef: Mmm. It's that, or trying to get the mousekey 2.0 driver working with the MacIvory, or trying to find an older version of the 3-button mouse that I have. 2017-03-23T21:28:23Z theseb left #lisp 2017-03-23T21:30:27Z iago quit (Ping timeout: 268 seconds) 2017-03-23T21:32:16Z Devon quit (Ping timeout: 246 seconds) 2017-03-23T21:38:21Z scymtym joined #lisp 2017-03-23T21:38:48Z didi: pjb: oic. Thank you. 2017-03-23T21:39:29Z carlosdagos joined #lisp 2017-03-23T21:42:00Z kobain joined #lisp 2017-03-23T21:42:52Z xuxuru quit (Quit: xuxuru) 2017-03-23T21:42:55Z TDT quit (Quit: TDT) 2017-03-23T21:44:36Z andrzejku quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-23T21:45:18Z warweasle quit (Quit: brb) 2017-03-23T21:47:07Z cibs quit (Ping timeout: 268 seconds) 2017-03-23T21:47:18Z warweasle joined #lisp 2017-03-23T21:48:39Z cibs joined #lisp 2017-03-23T21:51:34Z prole quit (Remote host closed the connection) 2017-03-23T21:51:50Z prole joined #lisp 2017-03-23T21:51:56Z velo-alien quit (Read error: Connection reset by peer) 2017-03-23T21:54:00Z mishoo joined #lisp 2017-03-23T21:55:34Z circ-user-cEMst quit (Ping timeout: 264 seconds) 2017-03-23T21:56:58Z shka_ quit (Ping timeout: 268 seconds) 2017-03-23T21:58:13Z neoncontrails quit (Remote host closed the connection) 2017-03-23T21:58:49Z Lord_of_Life quit (Excess Flood) 2017-03-23T21:59:10Z marvin2 quit (Ping timeout: 264 seconds) 2017-03-23T21:59:28Z Lord_of_Life joined #lisp 2017-03-23T22:00:03Z okflo left #lisp 2017-03-23T22:01:58Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-23T22:03:22Z rumbler31 quit (Ping timeout: 264 seconds) 2017-03-23T22:05:11Z shrdlu68 left #lisp 2017-03-23T22:05:52Z groovy3shoes quit (Ping timeout: 246 seconds) 2017-03-23T22:06:00Z cibs quit (Ping timeout: 260 seconds) 2017-03-23T22:07:42Z cibs joined #lisp 2017-03-23T22:08:57Z burtons quit (Ping timeout: 240 seconds) 2017-03-23T22:09:24Z LiamH quit (Ping timeout: 258 seconds) 2017-03-23T22:11:08Z groovy3shoes joined #lisp 2017-03-23T22:11:34Z alphor joined #lisp 2017-03-23T22:12:12Z Einwq quit (Ping timeout: 240 seconds) 2017-03-23T22:12:14Z eazar001 quit (Quit: WeeChat 1.7) 2017-03-23T22:14:50Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-23T22:19:53Z ryanwatkins joined #lisp 2017-03-23T22:22:32Z LiamH joined #lisp 2017-03-23T22:23:53Z learning joined #lisp 2017-03-23T22:25:09Z eazar001 joined #lisp 2017-03-23T22:25:36Z marvin2 joined #lisp 2017-03-23T22:28:29Z learning quit (Ping timeout: 260 seconds) 2017-03-23T22:29:39Z strykerkkd joined #lisp 2017-03-23T22:31:58Z shifty joined #lisp 2017-03-23T22:32:41Z warweasle quit (Quit: later) 2017-03-23T22:38:14Z prole quit (Ping timeout: 256 seconds) 2017-03-23T22:52:43Z ryanwatkins quit (Ping timeout: 258 seconds) 2017-03-23T22:53:32Z TDT joined #lisp 2017-03-23T22:57:00Z strykerkkd quit (Quit: Leaving) 2017-03-23T22:59:18Z prxq quit (Remote host closed the connection) 2017-03-23T22:59:35Z LiamH quit (Quit: Leaving.) 2017-03-23T22:59:42Z rumbler31 joined #lisp 2017-03-23T23:01:05Z varjag quit (Ping timeout: 240 seconds) 2017-03-23T23:01:52Z rumbler31 quit (Remote host closed the connection) 2017-03-23T23:07:36Z stepnem quit (Ping timeout: 260 seconds) 2017-03-23T23:08:20Z wtetzner joined #lisp 2017-03-23T23:09:42Z rumbler31 joined #lisp 2017-03-23T23:11:35Z mishoo quit (Ping timeout: 268 seconds) 2017-03-23T23:12:46Z e quit (Quit: edk) 2017-03-23T23:25:23Z quazimodo joined #lisp 2017-03-23T23:26:45Z neoncontrails joined #lisp 2017-03-23T23:31:57Z cibs quit (Ping timeout: 240 seconds) 2017-03-23T23:33:50Z cibs joined #lisp 2017-03-23T23:36:29Z xrash joined #lisp 2017-03-23T23:37:38Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-23T23:38:37Z cibs quit (Ping timeout: 246 seconds) 2017-03-23T23:40:14Z cibs joined #lisp 2017-03-23T23:43:28Z rumbler31 quit (Remote host closed the connection) 2017-03-23T23:46:20Z neoncontrails quit (Remote host closed the connection) 2017-03-23T23:47:10Z Kaisyu joined #lisp 2017-03-23T23:49:12Z fourier quit (Ping timeout: 240 seconds) 2017-03-23T23:49:32Z neoncontrails joined #lisp 2017-03-23T23:49:46Z neoncontrails quit (Remote host closed the connection) 2017-03-23T23:49:55Z neoncontrails joined #lisp 2017-03-23T23:52:43Z neoncontrails quit (Read error: Connection reset by peer) 2017-03-23T23:52:53Z sjl quit (Read error: Connection reset by peer) 2017-03-23T23:52:56Z neoncontrails joined #lisp 2017-03-23T23:54:53Z RedEight quit (Quit: leaving) 2017-03-23T23:55:02Z treexform joined #lisp 2017-03-24T00:01:34Z wheelsucker quit (Quit: Client Quit) 2017-03-24T00:03:18Z |3b|: phoe: does your secure-read guard against #999999999999(1) ? 2017-03-24T00:04:06Z rumbler31 joined #lisp 2017-03-24T00:05:55Z pve quit (Ping timeout: 246 seconds) 2017-03-24T00:08:37Z rumbler31 quit (Ping timeout: 257 seconds) 2017-03-24T00:08:44Z cibs quit (Ping timeout: 260 seconds) 2017-03-24T00:09:20Z BlueRavenGT quit (Read error: Connection reset by peer) 2017-03-24T00:09:45Z BlueRavenGT joined #lisp 2017-03-24T00:10:36Z Wombatzus quit (Ping timeout: 256 seconds) 2017-03-24T00:10:50Z cibs joined #lisp 2017-03-24T00:12:51Z mrottenkolber joined #lisp 2017-03-24T00:15:51Z didi: What do you think of my `find-sorted' function: https://paste.debian.net/hidden/d4868f9e It finds an item inside a sorted sequence. The purpose is to stop short if the item can't be beyond a certain point. 2017-03-24T00:17:25Z Bike: as long as the list is sorted i would hope for faster than O(n) time 2017-03-24T00:18:06Z Bike: ...but for just giving up early it seems fine to me. 2017-03-24T00:18:33Z Karl_Dscc joined #lisp 2017-03-24T00:19:01Z didi: Bike: You mean like O(lg n), as in a binary search? 2017-03-24T00:19:07Z Bike: ja. 2017-03-24T00:19:11Z Bike: trickier for a list of course. 2017-03-24T00:19:13Z didi: Heh. Didn't think of that. 2017-03-24T00:19:26Z didi: Silly me. 2017-03-24T00:20:00Z |3b|: can you do a binary search in a list? (in less than O(N)) 2017-03-24T00:20:00Z |3b|: 2017-03-24T00:20:47Z didi: I was thinking that. I don't think I can. Computing its length is O(n) already. 2017-03-24T00:21:36Z nyef: Creating an array of its elements is thus also O(n). 2017-03-24T00:22:28Z nyef: So, you get to O(n + lg n) at that point, don't you? 2017-03-24T00:22:59Z |3b|: might be worthwhile if the test is really expensive i guess 2017-03-24T00:23:00Z nyef: But under the circumstances, if you're even trying this, the list is probably the wrong data structure in the first place. 2017-03-24T00:23:07Z |3b|: yeah 2017-03-24T00:24:11Z didi: I might get away with a rank 1 adjustable array. 2017-03-24T00:24:34Z learning joined #lisp 2017-03-24T00:25:01Z didi: I think I will search it much more than modify it. 2017-03-24T00:27:22Z BlueRavenGT quit (Ping timeout: 264 seconds) 2017-03-24T00:27:31Z didi quit (Quit: you can't /fire me, I /quit) 2017-03-24T00:27:43Z TruePika: quick question, is anyone else having DNS lookup issues from Google's servers? I can't check anywhere other than IRC without a DNS... 2017-03-24T00:29:19Z learning quit (Ping timeout: 258 seconds) 2017-03-24T00:37:34Z JuanDaugherty joined #lisp 2017-03-24T00:38:08Z mrottenkolber quit (Ping timeout: 258 seconds) 2017-03-24T00:38:54Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-24T00:43:16Z dxtr: Is there a function for popping the first X elements in a list? 2017-03-24T00:44:14Z Bike: not at once. 2017-03-24T00:44:18Z Bike: subseq and setf to nthcdr 2017-03-24T00:44:59Z add^_ quit (Ping timeout: 260 seconds) 2017-03-24T00:45:06Z add^_ joined #lisp 2017-03-24T00:47:26Z borei quit (Ping timeout: 256 seconds) 2017-03-24T00:54:22Z aeth: TruePika: no 2017-03-24T00:54:53Z aeth: (I can't say *anyone* else isn't, but I'm not having issues) 2017-03-24T00:56:46Z carlosdagos quit (Ping timeout: 264 seconds) 2017-03-24T00:58:04Z williamyaoh joined #lisp 2017-03-24T01:01:28Z Karl_Dscc quit (Remote host closed the connection) 2017-03-24T01:03:22Z marvin2 quit (Ping timeout: 264 seconds) 2017-03-24T01:04:28Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-24T01:04:44Z cromachina joined #lisp 2017-03-24T01:10:29Z abel-abel joined #lisp 2017-03-24T01:19:12Z cibs quit (Ping timeout: 260 seconds) 2017-03-24T01:20:45Z cibs joined #lisp 2017-03-24T01:23:57Z jameser joined #lisp 2017-03-24T01:25:24Z EvW quit (Ping timeout: 256 seconds) 2017-03-24T01:25:36Z shdeng joined #lisp 2017-03-24T01:32:45Z FreeBirdLjj joined #lisp 2017-03-24T01:37:24Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2017-03-24T01:49:34Z cibs quit (Ping timeout: 264 seconds) 2017-03-24T01:51:00Z cibs joined #lisp 2017-03-24T01:52:09Z FreeBirdLjj joined #lisp 2017-03-24T01:53:02Z carlosdagos joined #lisp 2017-03-24T01:58:08Z carlosdagos quit (Ping timeout: 240 seconds) 2017-03-24T01:59:11Z abel-abel quit (Remote host closed the connection) 2017-03-24T02:00:16Z cibs quit (Ping timeout: 260 seconds) 2017-03-24T02:01:46Z warweasle joined #lisp 2017-03-24T02:01:58Z cibs joined #lisp 2017-03-24T02:03:33Z ebrasca-afk quit (Remote host closed the connection) 2017-03-24T02:03:39Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-24T02:04:07Z FreeBirdLjj joined #lisp 2017-03-24T02:07:04Z cibs quit (Ping timeout: 258 seconds) 2017-03-24T02:07:48Z cibs joined #lisp 2017-03-24T02:12:48Z cibs quit (Ping timeout: 240 seconds) 2017-03-24T02:14:09Z cibs joined #lisp 2017-03-24T02:17:02Z velo-alien joined #lisp 2017-03-24T02:20:10Z cibs quit (Ping timeout: 264 seconds) 2017-03-24T02:20:46Z cibs joined #lisp 2017-03-24T02:25:16Z learning joined #lisp 2017-03-24T02:26:04Z williamyaoh quit (Quit: leaving) 2017-03-24T02:26:24Z cibs quit (Ping timeout: 260 seconds) 2017-03-24T02:27:24Z cibs joined #lisp 2017-03-24T02:28:48Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-03-24T02:30:09Z learning quit (Ping timeout: 268 seconds) 2017-03-24T02:32:35Z josh_2 quit (Ping timeout: 240 seconds) 2017-03-24T02:33:55Z abel-abel joined #lisp 2017-03-24T02:34:14Z gabriel_laddel_p joined #lisp 2017-03-24T02:34:40Z gabriel_laddel_p quit (Changing host) 2017-03-24T02:34:40Z gabriel_laddel_p joined #lisp 2017-03-24T02:34:40Z gabriel_laddel_p quit (Changing host) 2017-03-24T02:34:40Z gabriel_laddel_p joined #lisp 2017-03-24T02:36:19Z abel-abel quit (Remote host closed the connection) 2017-03-24T02:36:48Z cibs quit (Ping timeout: 256 seconds) 2017-03-24T02:37:41Z abel-abel joined #lisp 2017-03-24T02:38:20Z cibs joined #lisp 2017-03-24T02:40:27Z wtetzner quit (Remote host closed the connection) 2017-03-24T02:42:29Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-24T02:43:03Z FreeBirdLjj joined #lisp 2017-03-24T02:43:23Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-24T02:43:33Z FreeBirdLjj joined #lisp 2017-03-24T02:43:36Z cibs quit (Ping timeout: 256 seconds) 2017-03-24T02:44:09Z brandonz quit (Quit: WeeChat 1.6) 2017-03-24T02:44:38Z cibs joined #lisp 2017-03-24T02:48:03Z jleija joined #lisp 2017-03-24T02:49:43Z cibs quit (Ping timeout: 246 seconds) 2017-03-24T02:50:48Z cibs joined #lisp 2017-03-24T02:52:00Z BlueRavenGT joined #lisp 2017-03-24T02:55:04Z carlosdagos joined #lisp 2017-03-24T02:56:44Z cibs quit (Ping timeout: 260 seconds) 2017-03-24T02:57:21Z pjb` joined #lisp 2017-03-24T02:59:01Z TDT quit (Quit: TDT) 2017-03-24T02:59:08Z pjb quit (Ping timeout: 240 seconds) 2017-03-24T02:59:35Z carlosdagos quit (Ping timeout: 258 seconds) 2017-03-24T02:59:44Z wtetzner joined #lisp 2017-03-24T02:59:50Z jleija quit (Quit: leaving) 2017-03-24T03:00:41Z vibs29 quit (Ping timeout: 240 seconds) 2017-03-24T03:01:26Z cibs joined #lisp 2017-03-24T03:04:37Z rumbler31 joined #lisp 2017-03-24T03:05:02Z marusich joined #lisp 2017-03-24T03:05:25Z vibs29 joined #lisp 2017-03-24T03:07:11Z smokeink joined #lisp 2017-03-24T03:07:28Z cibs quit (Ping timeout: 260 seconds) 2017-03-24T03:08:08Z pjb` quit (Ping timeout: 240 seconds) 2017-03-24T03:08:17Z test1600 joined #lisp 2017-03-24T03:08:58Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-24T03:14:41Z rumbler31 joined #lisp 2017-03-24T03:18:40Z xristos quit (Ping timeout: 255 seconds) 2017-03-24T03:19:56Z xristos joined #lisp 2017-03-24T03:19:56Z xristos is now known as Guest118 2017-03-24T03:20:35Z IRCFrEAK joined #lisp 2017-03-24T03:22:44Z IRCFrEAK left #lisp 2017-03-24T03:24:24Z quazimodo quit (Ping timeout: 256 seconds) 2017-03-24T03:25:00Z velo-alien quit (Quit: Leaving) 2017-03-24T03:25:49Z drmeister: Does anyone do much multithreaded programming? Does a condition-variable pass a mutex from one thread to another? 2017-03-24T03:26:32Z thodg joined #lisp 2017-03-24T03:31:10Z wtetzner quit (Remote host closed the connection) 2017-03-24T03:31:53Z rumbler31 quit (Remote host closed the connection) 2017-03-24T03:33:41Z FreeBird_ joined #lisp 2017-03-24T03:35:54Z quazimodo joined #lisp 2017-03-24T03:36:06Z thodg quit (Read error: No route to host) 2017-03-24T03:36:28Z gabriel_laddel_p quit 2017-03-24T03:37:11Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-24T03:38:16Z thodg joined #lisp 2017-03-24T03:39:16Z eli joined #lisp 2017-03-24T03:45:07Z wheelsucker joined #lisp 2017-03-24T03:45:28Z BlueRavenGT quit (Ping timeout: 240 seconds) 2017-03-24T03:46:40Z sbodin joined #lisp 2017-03-24T03:47:14Z FreeBird_ quit (Remote host closed the connection) 2017-03-24T03:51:27Z thodg quit (Ping timeout: 240 seconds) 2017-03-24T03:52:24Z rumbler31 joined #lisp 2017-03-24T03:52:46Z drmeister: ECL doesn't appear to use pthreads mutex's and condition variables - strange. 2017-03-24T03:52:59Z BlueRavenGT joined #lisp 2017-03-24T03:53:33Z thodg joined #lisp 2017-03-24T03:54:30Z bocaneri joined #lisp 2017-03-24T03:54:31Z bocaneri quit (Max SendQ exceeded) 2017-03-24T03:56:34Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-24T03:57:03Z bocaneri joined #lisp 2017-03-24T03:57:09Z cibs joined #lisp 2017-03-24T03:58:08Z troydm quit (Ping timeout: 240 seconds) 2017-03-24T03:58:18Z warweasle quit (Remote host closed the connection) 2017-03-24T03:58:41Z velo-alien joined #lisp 2017-03-24T03:59:00Z neoncontrails quit (Remote host closed the connection) 2017-03-24T04:00:14Z IRCFrEAK joined #lisp 2017-03-24T04:00:37Z IRCFrEAK left #lisp 2017-03-24T04:01:00Z cibs quit (Client Quit) 2017-03-24T04:02:13Z cibs joined #lisp 2017-03-24T04:07:34Z cibs quit (Quit: Changing server) 2017-03-24T04:08:23Z shdeng quit (Excess Flood) 2017-03-24T04:08:30Z xrash quit (Remote host closed the connection) 2017-03-24T04:09:08Z shdeng joined #lisp 2017-03-24T04:13:15Z rumbler31 joined #lisp 2017-03-24T04:14:20Z shdeng quit (Ping timeout: 258 seconds) 2017-03-24T04:14:30Z cibs joined #lisp 2017-03-24T04:14:45Z shdeng joined #lisp 2017-03-24T04:17:34Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-24T04:21:15Z H4ns: drmeister: no, a condition variable complements a mutex. one thread grabs a lock on the mutex, then waits for the condition variable to be posted. when the wait returns, the condition variable was posted by another thread and the mutex is locked. 2017-03-24T04:21:49Z H4ns: drmeister: it is basically a low-level protocol that can be used to implement e.g. semaphores or other higher-level constructs. 2017-03-24T04:23:10Z H4ns: drmeister: like all things concurrent, condition variables are not very easy to explain and i may have done a terrible job at it :) 2017-03-24T04:24:28Z shaftoe joined #lisp 2017-03-24T04:24:46Z l04m33: drmeister: as for ECL, it avoided pthreads on purpose, for some portability reason iirc 2017-03-24T04:26:02Z learning joined #lisp 2017-03-24T04:27:05Z beach: Good morning everyone! 2017-03-24T04:27:40Z nyef: Hello beach. 2017-03-24T04:28:05Z l04m33: beach: good morning, I just finished my lunch though 2017-03-24T04:28:06Z IRCFrEAK joined #lisp 2017-03-24T04:29:17Z clog quit (Ping timeout: 258 seconds) 2017-03-24T04:30:11Z IRCFrEAK left #lisp 2017-03-24T04:30:14Z beach: l04m33: http://www.total-knowledge.com/~ilya/mips/ugt.html 2017-03-24T04:30:28Z learning quit (Ping timeout: 240 seconds) 2017-03-24T04:31:33Z xhe joined #lisp 2017-03-24T04:31:49Z l04m33 just couldn't help to resist 2017-03-24T04:32:23Z shaftoe: any recommended library for monitoring directory for changes? 2017-03-24T04:32:28Z heurist quit (Ping timeout: 240 seconds) 2017-03-24T04:33:11Z himmAllRight quit (Ping timeout: 240 seconds) 2017-03-24T04:33:22Z heurist joined #lisp 2017-03-24T04:33:51Z himmAllRight joined #lisp 2017-03-24T04:35:48Z drmeister: l04m33: I see. It uses pthreads for threads themselves, but not mutexes or condition variables. It also uses pthreads rwlocks. 2017-03-24T04:36:48Z wheelsucker quit (Quit: Client Quit) 2017-03-24T04:37:07Z drmeister: Clasp uses pthreads mutexes and condition variables. They don't mix well with some of the Common Lisp code in the ECL "MP" package. 2017-03-24T04:40:01Z smokeink quit (Ping timeout: 258 seconds) 2017-03-24T04:40:50Z smokeink joined #lisp 2017-03-24T04:40:53Z casper_ quit (Quit: Leaving) 2017-03-24T04:41:36Z brandonz joined #lisp 2017-03-24T04:51:19Z l04m33: drmeister: why mix them? are you porting ECL multi-threading code to Clasp? 2017-03-24T04:53:22Z drmeister: l04m33: Not quite. I implemented process, mutex and condition-variable types in C++ using pthreads. Then I copied the ECL mp.lsp Common Lisp source thinking that it would work unchanged with my process, mutex and condition-variable types. This has worked over and over again as I've developed Clasp. Not this time though. 2017-03-24T04:53:22Z xhe quit (Quit: leaving) 2017-03-24T04:54:03Z drmeister: The ECL implementation of mutex keeps track of the mutex owner. I had fudged something that didn't quite behave the same way and so mp:with-lock didn't work properly. 2017-03-24T04:54:36Z drmeister: This may come back to bite me - maybe the reason why ECL implemented mutexes was because pthreads mutexes don't keep track of their owner and it's necessary for some reason. 2017-03-24T04:54:49Z shrdlu68 joined #lisp 2017-03-24T04:55:03Z drmeister: But when I changed the implementation of mp:with-lock, now all of a sudden slime works in :spawn mode with Clasp again. 2017-03-24T04:55:49Z carlosdagos joined #lisp 2017-03-24T05:00:22Z carlosdagos quit (Ping timeout: 264 seconds) 2017-03-24T05:00:24Z l04m33: drmeister: I stumbled into some article explaining why ECL dosn't use pthread condition variables, but I can't find it atm 2017-03-24T05:01:00Z drmeister: If you find that I'd very much appreciate a heads up! 2017-03-24T05:01:04Z quazimodo quit (Ping timeout: 260 seconds) 2017-03-24T05:01:18Z BlueRavenGT quit (Ping timeout: 256 seconds) 2017-03-24T05:01:18Z sbodin quit (Ping timeout: 256 seconds) 2017-03-24T05:01:30Z unbalancedparen joined #lisp 2017-03-24T05:05:06Z quazimodo joined #lisp 2017-03-24T05:05:24Z Zhivago: Are they supposed to be recursive locks? 2017-03-24T05:08:22Z unbalancedparen quit (Quit: WeeChat 1.7) 2017-03-24T05:10:57Z mkennedy joined #lisp 2017-03-24T05:10:58Z l04m33: drmeister: https://gitlab.com/embeddable-common-lisp/ecl/issues/90 2017-03-24T05:11:39Z l04m33: drmeister: they wanted to support Windows, not quite relevant to your problem here though 2017-03-24T05:12:05Z mkennedy: When I'm looking at a disassembly of a function in SBCL, it often says up the top "; no-arg-parsing entry point" What is meant by that? 2017-03-24T05:12:13Z unbalancedparen joined #lisp 2017-03-24T05:13:40Z FreeBirdLjj joined #lisp 2017-03-24T05:14:11Z rpg_ quit (Ping timeout: 240 seconds) 2017-03-24T05:14:30Z rumbler31 joined #lisp 2017-03-24T05:17:01Z phoe: mkennedy: that's very implementation-specific. #sbcl might tell you more. 2017-03-24T05:17:45Z shrdlu68: Is it possible to produce a .so shared library of a lisp library? 2017-03-24T05:18:07Z Bike: I think ECL can do that 2017-03-24T05:18:18Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2017-03-24T05:18:49Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-24T05:19:55Z IRCFrEAK joined #lisp 2017-03-24T05:20:42Z azrazalea_ quit (Quit: ZNC 1.6.2+deb2~bpo8+1 - http://znc.in) 2017-03-24T05:21:01Z shrdlu68: Great! 2017-03-24T05:21:56Z shka_ joined #lisp 2017-03-24T05:22:07Z eazar001 quit (Quit: WeeChat 1.5) 2017-03-24T05:22:14Z azrazalea joined #lisp 2017-03-24T05:24:14Z phoe: Ha ha! 2017-03-24T05:24:43Z eazar001 joined #lisp 2017-03-24T05:24:50Z phoe: If Franz can roll with their own CL specification based on dpANS2, then I can roll my own CL specification based on dpANS3. 2017-03-24T05:25:01Z neoncontrails joined #lisp 2017-03-24T05:25:01Z phoe: CLUS-wise, I think I'm safe from the legal point of view. 2017-03-24T05:28:28Z phoe: http://franz.com/search/search-ansi-about.lhtml 2017-03-24T05:30:27Z abel-abel quit (Ping timeout: 240 seconds) 2017-03-24T05:32:42Z smokeink quit (Read error: Connection reset by peer) 2017-03-24T05:34:04Z unbalancedparen quit (Quit: WeeChat 1.7) 2017-03-24T05:37:06Z oleo quit (Quit: Leaving) 2017-03-24T05:37:10Z smokeink joined #lisp 2017-03-24T05:38:48Z mkennedy quit (Ping timeout: 240 seconds) 2017-03-24T05:40:04Z drmeister: l04m33: Thank you very, very much! 2017-03-24T05:40:20Z pillton quit (Remote host closed the connection) 2017-03-24T05:40:22Z drmeister: shrdlu68: Clasp can do that as well. 2017-03-24T05:40:23Z marusich quit (Quit: Leaving) 2017-03-24T05:41:09Z drmeister: But it's not quite ready for prime-time. 2017-03-24T05:41:31Z drmeister: Bike: I have some HIR 2017-03-24T05:41:40Z Bike: lay it on me 2017-03-24T05:42:37Z jackdaniel: shrdlu68: check out https://common-lisp.net/project/ecl/static/ecldoc/Extensions.html#System-building 2017-03-24T05:42:47Z psacrifice joined #lisp 2017-03-24T05:42:50Z drmeister: I gotta figure out how to get it out of the Cloud. 2017-03-24T05:43:59Z FreeBirdLjj joined #lisp 2017-03-24T05:44:14Z Harag joined #lisp 2017-03-24T05:47:08Z drmeister: (snort) 2017-03-24T05:47:19Z drmeister: https://usercontent.irccloud-cdn.com/file/uB5kqu1b/set-pprint-dispatch-mir0.dot.png 2017-03-24T05:47:53Z learning joined #lisp 2017-03-24T05:48:07Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-24T05:48:58Z FreeBirdLjj quit (Ping timeout: 264 seconds) 2017-03-24T05:49:23Z drmeister: I'll have to investigate further why it didn't dump the mir of what we wanted it to dump. 2017-03-24T05:49:28Z drmeister: I'll try again tomorrow. 2017-03-24T05:49:56Z Bike: ...yeah, that's just setting debug-log-on to nil 2017-03-24T05:51:51Z drmeister: It's not advancing the file name when it writes out the mir. 2017-03-24T05:52:03Z drmeister: It writes out several files but they clobber each other. 2017-03-24T05:52:35Z Bike: ah. so you get the last one, turning off the debugging. 2017-03-24T05:55:04Z drmeister: I fixed it and started it up again. 2017-03-24T05:55:11Z drmeister: I'll get it to you tomorrow - it's late here. 2017-03-24T05:55:20Z Bike: take care 2017-03-24T05:55:27Z drmeister: But it looks like it will work this time. We should get the MIR this time. 2017-03-24T05:55:56Z BitPuffin|osx quit (Ping timeout: 260 seconds) 2017-03-24T06:01:10Z shka_ quit (Ping timeout: 246 seconds) 2017-03-24T06:02:58Z loke quit (Remote host closed the connection) 2017-03-24T06:03:09Z MetaHertz quit (Quit: Всем пока! // Goodbye everyone!) 2017-03-24T06:03:41Z MetaHertz joined #lisp 2017-03-24T06:05:39Z defaultxr quit (Quit: gnight) 2017-03-24T06:10:38Z dec0n joined #lisp 2017-03-24T06:14:26Z shka_ joined #lisp 2017-03-24T06:17:25Z milanj quit (Quit: Leaving) 2017-03-24T06:18:40Z milanj joined #lisp 2017-03-24T06:21:18Z dec0n quit (Read error: Connection reset by peer) 2017-03-24T06:22:36Z dec0n joined #lisp 2017-03-24T06:24:02Z shka_ quit (Ping timeout: 256 seconds) 2017-03-24T06:26:40Z clog joined #lisp 2017-03-24T06:26:45Z angavrilov joined #lisp 2017-03-24T06:29:50Z fiddlerwoaroof: fiddl 2017-03-24T06:31:32Z okflo joined #lisp 2017-03-24T06:36:20Z sfa joined #lisp 2017-03-24T06:41:00Z l04m33 quit (Quit: leaving) 2017-03-24T06:44:28Z IRCFrEAK quit (Ping timeout: 240 seconds) 2017-03-24T06:44:46Z quazimodo quit (Ping timeout: 264 seconds) 2017-03-24T06:45:06Z FreeBirdLjj joined #lisp 2017-03-24T06:46:04Z mishoo joined #lisp 2017-03-24T06:48:14Z l04m33 joined #lisp 2017-03-24T06:49:58Z FreeBirdLjj quit (Ping timeout: 258 seconds) 2017-03-24T06:51:00Z l04m33 quit (Client Quit) 2017-03-24T06:51:43Z l04m33 joined #lisp 2017-03-24T06:56:36Z carlosdagos joined #lisp 2017-03-24T06:59:01Z Einwq joined #lisp 2017-03-24T07:01:34Z carlosdagos quit (Ping timeout: 264 seconds) 2017-03-24T07:10:40Z learning quit (Remote host closed the connection) 2017-03-24T07:14:08Z sfa quit (Quit: leaving) 2017-03-24T07:14:40Z velo-alien quit (Ping timeout: 246 seconds) 2017-03-24T07:15:16Z scymtym quit (Ping timeout: 260 seconds) 2017-03-24T07:28:00Z velo-alien joined #lisp 2017-03-24T07:28:32Z rippa joined #lisp 2017-03-24T07:29:32Z flamebeard joined #lisp 2017-03-24T07:31:42Z pjb` joined #lisp 2017-03-24T07:31:52Z jack_rabbit joined #lisp 2017-03-24T07:40:00Z ryanwatkins joined #lisp 2017-03-24T07:45:08Z psacrifice quit (Ping timeout: 260 seconds) 2017-03-24T07:46:15Z FakePedro joined #lisp 2017-03-24T07:48:17Z edgar-rft quit (Quit: edgar-rft) 2017-03-24T07:52:29Z psacrifice joined #lisp 2017-03-24T07:56:05Z FreeBirdLjj joined #lisp 2017-03-24T07:58:24Z nowhere_man quit (Remote host closed the connection) 2017-03-24T07:58:56Z nowhere_man joined #lisp 2017-03-24T08:00:28Z varjag joined #lisp 2017-03-24T08:13:08Z Beetny joined #lisp 2017-03-24T08:16:53Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-24T08:17:33Z MoALTz joined #lisp 2017-03-24T08:18:31Z pjb` is now known as pjb 2017-03-24T08:20:12Z JuanDaugherty joined #lisp 2017-03-24T08:28:13Z attila_lendvai joined #lisp 2017-03-24T08:28:13Z attila_lendvai quit (Changing host) 2017-03-24T08:28:13Z attila_lendvai joined #lisp 2017-03-24T08:29:42Z stepnem joined #lisp 2017-03-24T08:29:42Z scymtym joined #lisp 2017-03-24T08:30:47Z jfb4 quit (Ping timeout: 258 seconds) 2017-03-24T08:32:49Z jfb4 joined #lisp 2017-03-24T08:33:03Z e joined #lisp 2017-03-24T08:34:32Z FreeBirdLjj joined #lisp 2017-03-24T08:36:37Z iago joined #lisp 2017-03-24T08:39:25Z angavrilov quit (Read error: Connection reset by peer) 2017-03-24T08:40:28Z gargaml joined #lisp 2017-03-24T08:41:14Z o1e9 joined #lisp 2017-03-24T08:43:55Z okflo quit (Remote host closed the connection) 2017-03-24T08:44:25Z pve joined #lisp 2017-03-24T08:50:56Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-24T08:55:01Z loke joined #lisp 2017-03-24T08:57:20Z carlosdagos joined #lisp 2017-03-24T08:58:18Z ryanwatkins: anybody have any info on lisp to webassembly compiling for future web? :D 2017-03-24T08:58:49Z Bike quit (Quit: leaving) 2017-03-24T09:01:59Z carlosdagos quit (Ping timeout: 260 seconds) 2017-03-24T09:03:35Z FakePedro quit (Ping timeout: 268 seconds) 2017-03-24T09:03:52Z flip214: ryanwatkins: perhaps parenscript as intermediate would work? 2017-03-24T09:04:56Z beach: ryanwatkins: It looks like you might have found yourself a project. 2017-03-24T09:05:14Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-24T09:07:23Z JuanDaugherty: anybody know of a work with shrdlu besides the evident stuff, tsgouros, the resurrection 10 ya, e.g. a port to sbcl 2017-03-24T09:07:35Z JuanDaugherty: *any work 2017-03-24T09:08:06Z jackdaniel: ryanwatkins: this may be related: https://sourceforge.net/p/sbcl/mailman/message/34821303/ 2017-03-24T09:08:24Z FreeBirdLjj joined #lisp 2017-03-24T09:09:01Z Ven joined #lisp 2017-03-24T09:09:11Z beach: ryanwatkins: You can use the Cleavir compiler framework and define a WebAssembly backend for the intermediate format. 2017-03-24T09:09:14Z nirved joined #lisp 2017-03-24T09:09:24Z Ven is now known as Guest14586 2017-03-24T09:10:05Z nirved quit (Client Quit) 2017-03-24T09:10:29Z nirved joined #lisp 2017-03-24T09:11:59Z okflo joined #lisp 2017-03-24T09:14:49Z MrWoohoo quit (Ping timeout: 260 seconds) 2017-03-24T09:17:28Z ryanwatkins quit (Remote host closed the connection) 2017-03-24T09:23:56Z mazoe joined #lisp 2017-03-24T09:24:35Z ryanwatkins joined #lisp 2017-03-24T09:27:43Z hhdave joined #lisp 2017-03-24T09:31:38Z Harag quit (Quit: Harag) 2017-03-24T09:38:54Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-24T09:39:24Z FreeBirdLjj joined #lisp 2017-03-24T09:42:33Z Karl_Dscc joined #lisp 2017-03-24T09:52:31Z jfb4 quit (Ping timeout: 246 seconds) 2017-03-24T09:54:39Z jfb4 joined #lisp 2017-03-24T09:56:02Z White_Flame: flip214: I don't think parenscript would help. There's no JS-isms in webasm, so converting to JS is a sidetrack 2017-03-24T09:57:06Z flip214: White_Flame: but javascript can be further "compiled" to webasm, AFAIK 2017-03-24T09:57:21Z White_Flame: It will be interesting to see if webasm will allow you to specify your own ABIs, multiple environmental stacks, etc, in a way that's sensibly fast. I think that it's also supposed to support GC languages in the future; whether it will offer its own GC or just tools tob uild one, I'm not sure 2017-03-24T09:57:24Z White_Flame: flip214: I think that's wrong 2017-03-24T09:57:56Z White_Flame: unless things are very new in the few months since I looked at it last 2017-03-24T09:58:15Z axion: webasm does not yet support garbage collection 2017-03-24T09:58:46Z White_Flame: you could always build your own, though 2017-03-24T10:00:08Z jfb4 quit (Ping timeout: 240 seconds) 2017-03-24T10:01:24Z nowhere_man quit (Ping timeout: 260 seconds) 2017-03-24T10:01:28Z flip214: well, perhaps SBCL could get a new backend for webasm... 2017-03-24T10:01:55Z flip214: I guess that llvm will, so drmeister's clasp should be fine with that. 2017-03-24T10:02:07Z dilated_dinosaur joined #lisp 2017-03-24T10:02:14Z jfb4 joined #lisp 2017-03-24T10:04:37Z White_Flame: webasm also might not allow JIT compilation in the initial versions, either 2017-03-24T10:05:14Z White_Flame: (it, the webasm program dynamically generating more internal webasm to call) 2017-03-24T10:05:24Z White_Flame: *ie, 2017-03-24T10:09:51Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-24T10:10:17Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-24T10:14:50Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-24T10:15:44Z Guest14586 quit (Ping timeout: 268 seconds) 2017-03-24T10:18:46Z neoncontrails quit (Remote host closed the connection) 2017-03-24T10:20:47Z abel-abel joined #lisp 2017-03-24T10:23:05Z nowhere_man joined #lisp 2017-03-24T10:28:31Z Karl_Dscc quit (Remote host closed the connection) 2017-03-24T10:31:00Z abel-abel quit (Quit: Leaving) 2017-03-24T10:32:54Z angavrilov joined #lisp 2017-03-24T10:34:09Z DeadTrickster quit (Ping timeout: 260 seconds) 2017-03-24T10:36:06Z DeadTrickster joined #lisp 2017-03-24T10:39:40Z okflo` joined #lisp 2017-03-24T10:43:25Z okflo quit (Ping timeout: 258 seconds) 2017-03-24T10:47:09Z m00natic joined #lisp 2017-03-24T10:49:24Z _cosmonaut_ joined #lisp 2017-03-24T10:50:11Z dxtr: How do sbcl handle utf-8? 2017-03-24T10:50:37Z dxtr: I'm getting some issues with äåö in filenames (Don't ask me why someone has put that in the filename) 2017-03-24T10:53:35Z beach: It handles it quite well. 2017-03-24T10:54:16Z dxtr: Right 2017-03-24T10:54:56Z dxtr: I wonder if it's drakma that's doing weird stuff all of a sudden 2017-03-24T10:55:25Z dxtr: Somehow ä is converted to \303\244 2017-03-24T10:55:26Z beach: I just created a file named åäö with two lines of text in it. Then I did an (open "åäö" :direction input) and I was able to read the contents. 2017-03-24T10:56:08Z dxtr: And that makes AWS sad :p 2017-03-24T10:56:45Z dxtr: å is converted to \303\245 2017-03-24T10:56:48Z beach: It might very well be that \303\244 is the octal representation of ä in UTF-8. 2017-03-24T10:57:07Z flip214: 0xc3 0xa4 2017-03-24T10:58:01Z beach: dxtr: Maybe you are not reading with UTF-8 input encoding? 2017-03-24T10:58:04Z carlosdagos joined #lisp 2017-03-24T10:58:35Z dxtr: How do I tell it to do that? 2017-03-24T10:58:35Z flip214: 122 303 is what "od -o" is telling me, though... 2017-03-24T10:58:38Z beach: dxtr: But there seems to be a confusion between the file name and the contents. 2017-03-24T10:58:45Z xhe joined #lisp 2017-03-24T10:58:56Z dxtr: beach: It does? 2017-03-24T10:59:25Z dxtr: The error is in the *filename* that is being sent to AWS 2017-03-24T10:59:26Z beach: dxtr: I just called OPEN. Can't you do that too? 2017-03-24T10:59:37Z beach: dxtr: What is AWS. 2017-03-24T10:59:39Z beach: ? 2017-03-24T10:59:50Z dxtr: Amazon web services :p 2017-03-24T10:59:54Z beach: Ah, OK. 2017-03-24T11:00:20Z H4ns: dxtr: how do you end up with the file name? 2017-03-24T11:00:20Z loke: dxtr: Are you on OSX? 2017-03-24T11:00:21Z beach: That seems correct then. If you send those characters by a network, they are going to be converted to UTF-8. 2017-03-24T11:00:36Z dxtr: I am PUTing a file with ZS3 (Which I think is using drakma under the hood) and somewhere along the lines it isn't doing the correct thing with åäö 2017-03-24T11:00:37Z H4ns: dxtr: i.e. how is drakma returning the name to you? 2017-03-24T11:01:37Z dxtr: So the filename ends up being something along the lines of "tr\303\244.jpg" 2017-03-24T11:01:42Z H4ns: dxtr: you'll have to encode the name in the url properly, and that is somewhat of a pain. i think your safest bet is to encode the name externally and make drakma not try to encode the url. there is an option for that. 2017-03-24T11:02:13Z dxtr: Right 2017-03-24T11:02:15Z H4ns: dxtr: :preserve-uri is the option for that. 2017-03-24T11:02:26Z shdeng quit (Quit: Leaving) 2017-03-24T11:02:36Z dxtr: Or I could remove åäö :p 2017-03-24T11:02:41Z H4ns: dxtr: well, you'll need to figure out how to convince zs3 to do that properly. 2017-03-24T11:02:45Z Harag joined #lisp 2017-03-24T11:02:54Z H4ns: dxtr: that's certainly the easy way to cop out. 2017-03-24T11:02:54Z dxtr: I could always hack ZS3 2017-03-24T11:03:09Z dxtr: But is there a decent library for uri encoding stuff? 2017-03-24T11:03:13Z carlosdagos quit (Ping timeout: 268 seconds) 2017-03-24T11:03:43Z dxtr: Also, how do I tell it to read a file as utf-8? I'm gonna try that first 2017-03-24T11:03:55Z dxtr: Because I get the list of filenames and stuff from a file 2017-03-24T11:04:11Z Harag left #lisp 2017-03-24T11:04:22Z dxtr: So the error could very well be there' 2017-03-24T11:04:41Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2017-03-24T11:04:54Z Xach: I do test with funny furrin characters 2017-03-24T11:05:09Z Xach: That is not to say there are no bugs, but at least it is not a completely unknown situation 2017-03-24T11:05:20Z gingerale joined #lisp 2017-03-24T11:05:23Z H4ns: dxtr: drakma has a url-encode function in utils.lisp which also accepts an external format. 2017-03-24T11:05:28Z dxtr: Right 2017-03-24T11:05:54Z dxtr: A wild Xach appears 2017-03-24T11:07:00Z dxtr: Oh, nevermind me. The filenames ARE uri encoded 2017-03-24T11:07:13Z dxtr: So the error comes before that 2017-03-24T11:07:29Z dxtr: ä is being encoded to %C3%83%C2%A4 2017-03-24T11:08:14Z dxtr: So %C3 and %A4 is correct :p 2017-03-24T11:08:28Z dxtr: Where the heck is %83%C2 coming from? 2017-03-24T11:08:44Z dxtr: That's a control character according to http://www.utf8-chartable.de/ 2017-03-24T11:09:04Z Harag joined #lisp 2017-03-24T11:09:31Z lnostdal joined #lisp 2017-03-24T11:10:15Z flip214: dxtr: perhaps you've got double utf8 encoding going on 2017-03-24T11:12:29Z dxtr: Hmm, maybe 2017-03-24T11:12:44Z Xach: malm"o 2017-03-24T11:12:57Z dxtr: How do I tell (with-open-file) to read as utf-8? 2017-03-24T11:13:03Z dxtr: Xach: Malmö :p 2017-03-24T11:13:29Z Xach: dxtr: it varies by implementation, but often something like :external-format :utf-8. 2017-03-24T11:13:51Z loke: Remember that there are different ways in which you can encode åäö. 2017-03-24T11:14:06Z dxtr: Xach: This is sbcl 2017-03-24T11:14:19Z damke joined #lisp 2017-03-24T11:14:30Z Xach: dxtr: sbcl uses that kind of syntax. 2017-03-24T11:14:52Z dxtr: Neat 2017-03-24T11:15:10Z dxtr: So I have to use special utf-8-aware string functions? 2017-03-24T11:15:17Z Xach: dxtr: no. 2017-03-24T11:15:22Z _cosmonaut_ joined #lisp 2017-03-24T11:15:29Z dxtr: Alright 2017-03-24T11:15:31Z Xach: dxtr: the encoding comes into play when converting to and from sequences of non-characters. 2017-03-24T11:15:53Z Xach: A file on disk (in unix-like systems) is a sequence of 8-bit bytes. 2017-03-24T11:16:06Z Xach: Strings in Lisp are sequences of characters. 2017-03-24T11:16:11Z dxtr: Right 2017-03-24T11:18:29Z shrdlu68 quit (Ping timeout: 260 seconds) 2017-03-24T11:18:53Z dxtr: http://paste.lisp.org/+7C39 <- Here's the code, by the way 2017-03-24T11:19:08Z dxtr: Feel free to criticize it :D Doing this to learn 2017-03-24T11:19:15Z dxtr: learning on the job, etc 2017-03-24T11:20:09Z knicklux joined #lisp 2017-03-24T11:20:34Z test1600 quit (Quit: Leaving) 2017-03-24T11:21:57Z Xach: dxtr: are you familiar with scheme? 2017-03-24T11:22:05Z dxtr: yes 2017-03-24T11:22:18Z Xach: dxtr: in common lisp, nesting defuns is never done. if you want local functions, flet or labels are the things to use. 2017-03-24T11:22:25Z dxtr: Oh, okay 2017-03-24T11:22:43Z dxtr: I thought I was being smart 2017-03-24T11:23:08Z _cosmonaut_ quit (Quit: Leaving.) 2017-03-24T11:23:43Z _cosmonaut_ joined #lisp 2017-03-24T11:23:46Z dxtr: :D 2017-03-24T11:24:01Z Xach: it is not the source of your encoding problem, though 2017-03-24T11:24:09Z dxtr: I suspected as much 2017-03-24T11:27:18Z dxtr: But I must say, Xach, you have done a mighty good job with zs3 2017-03-24T11:27:49Z dxtr: Even I could handle it 2017-03-24T11:28:33Z _cosmonaut_1 joined #lisp 2017-03-24T11:29:54Z Xach: thanks 2017-03-24T11:30:22Z _cosmonaut_ quit (Ping timeout: 264 seconds) 2017-03-24T11:30:39Z _cosmonaut_1 quit (Read error: Connection reset by peer) 2017-03-24T11:30:51Z _cosmonaut_ joined #lisp 2017-03-24T11:33:47Z dxtr: Okay, so adding that utf-8 stuff didn't help 2017-03-24T11:33:55Z _cosmonaut_1 joined #lisp 2017-03-24T11:34:30Z bariscant joined #lisp 2017-03-24T11:34:59Z Xach wishes he could help more but is side-tracked 2017-03-24T11:35:33Z _cosmonaut_ quit (Ping timeout: 258 seconds) 2017-03-24T11:37:11Z snowcrshd joined #lisp 2017-03-24T11:38:05Z dxtr: I wonder what it looks like if I add some debug prints 2017-03-24T11:38:43Z dxtr: Where does the output of my threads go? :D 2017-03-24T11:40:00Z Xach: dxtr: if you use slime, probably *inferior-lisp* 2017-03-24T11:40:07Z Xach: i would recommend doing away with threads for now. 2017-03-24T11:40:16Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-24T11:40:18Z Xach: when the time comes, you can use lparallel to make it much easier. 2017-03-24T11:40:47Z dxtr: So what's lparallel? 2017-03-24T11:41:47Z dxtr: "media/catalog/product/h/ä/hämta.jpg" well it looks right 2017-03-24T11:42:13Z Ven joined #lisp 2017-03-24T11:42:36Z Ven is now known as Guest63163 2017-03-24T11:49:05Z mishoo quit (Ping timeout: 240 seconds) 2017-03-24T11:52:50Z dxtr: Is there an easy way to print a string char-by-char? 2017-03-24T11:54:17Z dxtr: I even tried (remove-if) with (lambda (c) (find (char-downcase c) "åäö" :test #'char-equal)) 2017-03-24T11:54:20Z dxtr: But that didn't help :P 2017-03-24T11:54:30Z jdz: dxtr: (loop for char across string do (print char)) 2017-03-24T11:54:55Z dxtr: And byte-by-byte? 2017-03-24T11:55:03Z jdz: strings don't have bytes. 2017-03-24T11:55:14Z jdz: You may want to use CHAR-CODE. 2017-03-24T11:55:52Z jdz: dxtr: also, why do you do CHAR-DOWNCASE if you use CHAR-EQUAL (which is case-insensitive)? 2017-03-24T11:55:59Z treexform quit (Ping timeout: 260 seconds) 2017-03-24T11:56:11Z dxtr: Because I didn't know char-equal was case-insensitive 2017-03-24T11:57:41Z mishoo joined #lisp 2017-03-24T11:58:58Z psacrifice quit 2017-03-24T11:59:12Z dxtr: Oh, it seems to work now 2017-03-24T12:00:15Z dxtr: Neat 2017-03-24T12:02:02Z rpg joined #lisp 2017-03-24T12:05:08Z qlkzy quit (Ping timeout: 240 seconds) 2017-03-24T12:11:39Z jameser joined #lisp 2017-03-24T12:12:04Z scymtym: dxtr: lparallel is a somewhat high-level library for parallelizing code. it allows constructs like (pmapc #'upload list-of-files) which calls upload on elements of list-of-files from multiple threads in parallel 2017-03-24T12:12:25Z qlkzy joined #lisp 2017-03-24T12:13:41Z dxtr: Oh neat 2017-03-24T12:13:50Z dxtr: I'm gonna have to look into that 2017-03-24T12:14:07Z dxtr: I've actually come to like common lisp more and more 2017-03-24T12:14:19Z dxtr: In the beginning it felt kind of.. "Icky" in some irrational way 2017-03-24T12:14:33Z d4ryus2 joined #lisp 2017-03-24T12:14:34Z dxtr: Not the language itself but the stuff around it 2017-03-24T12:15:22Z Einwq quit (Ping timeout: 264 seconds) 2017-03-24T12:15:34Z jameser quit (Max SendQ exceeded) 2017-03-24T12:16:43Z Xof quit (Ping timeout: 246 seconds) 2017-03-24T12:16:45Z FakePedro joined #lisp 2017-03-24T12:17:05Z d4ryus1 quit (Ping timeout: 240 seconds) 2017-03-24T12:17:12Z jameser joined #lisp 2017-03-24T12:18:05Z dxtr: It actually seems to work pretty well now that I removed åäö 2017-03-24T12:18:12Z jameser quit (Client Quit) 2017-03-24T12:18:28Z shaftoe: dxtr: you mean the "tooling" around common lisp? 2017-03-24T12:18:33Z dxtr: shaftoe: Yeah 2017-03-24T12:18:41Z dxtr: Actually the main thing has been deployment 2017-03-24T12:18:44Z shaftoe: yeh it takes a while to learn how to navigate all that 2017-03-24T12:18:52Z dxtr: I'd ilke a decent way to deploy my applications 2017-03-24T12:18:55Z shaftoe: there's a book just out on how to deploy apps 2017-03-24T12:19:01Z shaftoe: one sec lemme get title 2017-03-24T12:19:01Z dxtr: Yeah I saw that 2017-03-24T12:19:05Z shaftoe: oh you've seen it 2017-03-24T12:19:07Z dxtr: On Xachs blog 2017-03-24T12:19:11Z shaftoe: and there's something else i suggest 2017-03-24T12:19:36Z shaftoe: https://github.com/triclops200/quickapp/ 2017-03-24T12:19:52Z shaftoe: creates a project template for a command line app, including makefile for standalone executable 2017-03-24T12:20:04Z dxtr: So with 8 threads I'm using about 25% CPU on all cores and the bandwidth is spiking around 6MB/s both up and down 2017-03-24T12:20:21Z shaftoe: if you just want to make libraries, i suggest quickproject 2017-03-24T12:20:39Z dxtr: I was actually considering buying that book yesterday 2017-03-24T12:20:49Z dxtr: I had my finger on the trigger but then something happened 2017-03-24T12:20:56Z shaftoe: i dont write apps big enough to justify qlot/etc 2017-03-24T12:21:10Z dxtr: Right 2017-03-24T12:21:19Z shaftoe: if you want to buy a lisp book, i'd recommend Common Lisp Recipes 2017-03-24T12:21:41Z dxtr: The fiancee bought me Land of Lisp last yeart 2017-03-24T12:21:42Z dxtr: year 2017-03-24T12:21:43Z bariscant quit (Quit: Leaving) 2017-03-24T12:21:44Z shaftoe: and bookmark practical common lisp 2017-03-24T12:21:45Z EvW1 joined #lisp 2017-03-24T12:22:31Z dxtr: I think I can buy Practical Common Lisp discounted from my job 2017-03-24T12:22:54Z shaftoe: i've only bought the ebook PCL 2017-03-24T12:24:24Z dxtr: I like to collect dead trees 2017-03-24T12:24:31Z shaftoe: same 2017-03-24T12:24:49Z dxtr: yeah I can get practical common lisp for $45 \o 2017-03-24T12:25:09Z dxtr: Or around 40€ if you're european 2017-03-24T12:26:07Z jameser joined #lisp 2017-03-24T12:28:02Z flamebeard quit (Quit: Leaving) 2017-03-24T12:28:10Z jameser quit (Client Quit) 2017-03-24T12:29:35Z aptenodyte joined #lisp 2017-03-24T12:29:43Z jameser joined #lisp 2017-03-24T12:31:09Z flip214: dxtr: http://www.gigamonkeys.com/book/ 2017-03-24T12:31:10Z jameser quit (Client Quit) 2017-03-24T12:31:39Z flip214: "and print it out" (no, just buy a copy. much nicer that way!) 2017-03-24T12:32:08Z velo-alien quit (Ping timeout: 260 seconds) 2017-03-24T12:32:10Z knicklux quit (Ping timeout: 264 seconds) 2017-03-24T12:32:13Z dxtr: I like to buy these kinds of books to support the author - even though I mainly use the online resource if it's available 2017-03-24T12:32:20Z flip214: +1 2017-03-24T12:32:37Z flip214: well, having a paper copy to scroll through in the evening is very nice 2017-03-24T12:32:48Z dxtr: Yeah 2017-03-24T12:32:49Z shaftoe: i figure there's so few good, recent Lisp books out there, better buy and support the authors 2017-03-24T12:33:19Z dxtr: I was about to say I'm tight on money right now but then I realized I got my paycheck today 2017-03-24T12:33:22Z dxtr: WOOP WOOP 2017-03-24T12:33:24Z dxtr: BUY ALL THE BOOKS 2017-03-24T12:33:38Z dxtr: Who has time for bills anyway? 2017-03-24T12:33:42Z thinkpad quit (Max SendQ exceeded) 2017-03-24T12:33:51Z flip214: well, "good books" means not that many anyway 2017-03-24T12:33:55Z flip214: less than a hundred ;) 2017-03-24T12:34:04Z flip214: "good Lisp books", at least. 2017-03-24T12:34:38Z shaftoe: there's plenty of lisp books 2017-03-24T12:34:45Z shaftoe: not so many published in the last 5 years 2017-03-24T12:34:57Z axion: CLR is a great companion to PCL 2017-03-24T12:35:04Z thinkpad joined #lisp 2017-03-24T12:35:10Z shaftoe: i'm still waiting on full stack lisp to be finished :P 2017-03-24T12:35:16Z aptenodyte quit (Ping timeout: 246 seconds) 2017-03-24T12:35:30Z varjag: yeah clr is great 2017-03-24T12:35:31Z axion: shaftoe: The author has exited the Lisp world it seems 2017-03-24T12:35:46Z EvW1 quit (Ping timeout: 256 seconds) 2017-03-24T12:35:46Z shaftoe: axion: that's unfortunate... it had promise 2017-03-24T12:36:07Z axion: I used to chat with him quite a bit, but recently he has ignored me, even though quite active on Twitter. 2017-03-24T12:37:07Z velo-alien joined #lisp 2017-03-24T12:37:20Z dxtr: What book is CLR again? 2017-03-24T12:37:27Z shaftoe: common lisp recipes 2017-03-24T12:37:30Z dxtr: Oh yeah 2017-03-24T12:37:36Z shaftoe: it's huge (the printed version) 2017-03-24T12:40:32Z varjag: nice bedside read 2017-03-24T12:41:22Z flip214: shaftoe: ever seen AoE? 2017-03-24T12:41:34Z shaftoe: doesnt ring a bell 2017-03-24T12:41:35Z velo-alien quit (Ping timeout: 240 seconds) 2017-03-24T12:41:37Z EvW joined #lisp 2017-03-24T12:41:56Z pjb: dxtr: (map nil 'princ "String") #| String --> nil |# 2017-03-24T12:42:11Z pjb: dxtr: (map nil 'prin1 "String") #| #\S#\t#\r#\i#\n#\g --> nil |# 2017-03-24T12:42:37Z dxtr: pjb: Thanks, but I already solved it :p 2017-03-24T12:42:39Z flip214: shaftoe: http://artofelectronics.net/ 1223 pages, 2.5kg 2017-03-24T12:42:57Z pjb: dxtr: just to burn it into your brains for next time ;-) 2017-03-24T12:42:58Z varjag: i have a copy 2017-03-24T12:43:01Z shaftoe: ouch 2017-03-24T12:43:19Z varjag: should get the new edition someday 2017-03-24T12:44:00Z Einwq joined #lisp 2017-03-24T12:44:35Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-03-24T12:44:44Z mishoo quit (Ping timeout: 260 seconds) 2017-03-24T12:45:07Z knicklux joined #lisp 2017-03-24T12:45:20Z sjl joined #lisp 2017-03-24T12:48:14Z Einwq quit (Ping timeout: 256 seconds) 2017-03-24T12:49:14Z dxtr: Xach: zs3 is fast as hell 2017-03-24T12:49:46Z Xach: dxtr: thanks, though I would imagine most of what takes time is network transfer, not computation. 2017-03-24T12:50:01Z dxtr: Running 12 threads and my cpu isn't breaking a sweat and uploading at around 7MB/s 2017-03-24T12:50:05Z DeadTrickster joined #lisp 2017-03-24T12:50:10Z dxtr: I'm up at around 15MB/s up+down 2017-03-24T12:50:14Z dxtr: :p 2017-03-24T12:50:49Z dxtr: Although next time I will try lparallel 2017-03-24T12:52:21Z Xach: lparallel takes a lot of bookkeeping out of doing work in parallel 2017-03-24T12:54:21Z edgar-rft joined #lisp 2017-03-24T12:58:12Z DeadTrickster_ joined #lisp 2017-03-24T12:58:51Z carlosdagos joined #lisp 2017-03-24T13:00:46Z TDT joined #lisp 2017-03-24T13:02:00Z DeadTrickster quit (Ping timeout: 260 seconds) 2017-03-24T13:02:57Z carlosdagos quit (Ping timeout: 240 seconds) 2017-03-24T13:05:16Z velo-alien joined #lisp 2017-03-24T13:10:00Z Xach: thread beekeeping 2017-03-24T13:10:16Z foom quit (Ping timeout: 246 seconds) 2017-03-24T13:12:44Z travv0 joined #lisp 2017-03-24T13:13:41Z cromachina quit (Read error: Connection reset by peer) 2017-03-24T13:15:13Z velo-alien quit (Ping timeout: 258 seconds) 2017-03-24T13:15:33Z dxtr: neat 2017-03-24T13:17:21Z dwrngr quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-24T13:18:34Z dxtr: Shouldn't sbcl garbage collect sometimes? :p The memory usage is increasing a lot 2017-03-24T13:19:57Z Beetny quit (Ping timeout: 240 seconds) 2017-03-24T13:20:12Z dxtr: oh there we go 2017-03-24T13:21:28Z DeadTrickster_ quit (Ping timeout: 240 seconds) 2017-03-24T13:22:25Z foom joined #lisp 2017-03-24T13:22:29Z whartung quit (Read error: Connection reset by peer) 2017-03-24T13:22:56Z whartung joined #lisp 2017-03-24T13:25:00Z sfa joined #lisp 2017-03-24T13:27:05Z White_Flame: GC is often triggered on some threshold of memory allocated 2017-03-24T13:27:22Z lnostdal quit (Ping timeout: 264 seconds) 2017-03-24T13:27:27Z Khisanth quit (Ping timeout: 240 seconds) 2017-03-24T13:28:41Z velo-alien joined #lisp 2017-03-24T13:29:41Z Guest118 left #lisp 2017-03-24T13:30:39Z astronavt joined #lisp 2017-03-24T13:30:50Z astronavt left #lisp 2017-03-24T13:31:53Z _death: shaftoe: https://github.com/death/ledstuff/blob/master/morse.c 2017-03-24T13:32:18Z oleo joined #lisp 2017-03-24T13:35:57Z rumbler31 joined #lisp 2017-03-24T13:38:08Z jerme joined #lisp 2017-03-24T13:38:37Z smokeink: how to destructively remove the last character from a string ? 2017-03-24T13:38:59Z astronavt joined #lisp 2017-03-24T13:39:50Z jdz: smokeink: your string must be an adjustable array. 2017-03-24T13:40:29Z Khisanth joined #lisp 2017-03-24T13:43:08Z GuilOooo quit (Remote host closed the connection) 2017-03-24T13:43:32Z astronavt quit (Ping timeout: 260 seconds) 2017-03-24T13:43:52Z dlowe: actually, if it has a fill pointer, that will work too. 2017-03-24T13:47:15Z sfa quit (Quit: leaving) 2017-03-24T13:48:11Z warweasle joined #lisp 2017-03-24T13:50:00Z dlowe: ((let ((a (make-array (length str) :fill-pointer (length str) :initial-contents str))) (setf (fill-pointer a) (1- (length a))) ...) 2017-03-24T13:57:53Z al-damiri joined #lisp 2017-03-24T13:58:28Z damke quit (Quit: quit) 2017-03-24T13:59:54Z jdz: Right. 2017-03-24T14:00:21Z DeadTrickster joined #lisp 2017-03-24T14:00:22Z Guest63163 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-24T14:00:39Z Ven joined #lisp 2017-03-24T14:01:02Z Ven is now known as Guest67847 2017-03-24T14:01:17Z Guest67847 quit (Client Quit) 2017-03-24T14:02:57Z zaquest quit (Read error: Connection reset by peer) 2017-03-24T14:02:57Z beach: smokeink: Can you describe the use case a bit more? 2017-03-24T14:03:11Z zaquest joined #lisp 2017-03-24T14:04:54Z dxtr: Xach: Is there a way in zs3 to poke an object to see if it exists? 2017-03-24T14:05:18Z FakePedro quit (Quit: FakePedro) 2017-03-24T14:05:27Z damke joined #lisp 2017-03-24T14:05:39Z FakePedro joined #lisp 2017-03-24T14:05:42Z dxtr: object-metadata perhaps? 2017-03-24T14:09:59Z edgar-rft quit (Quit: edgar-rft) 2017-03-24T14:17:58Z Xach: dxtr: zs3:head is one possible option 2017-03-24T14:18:08Z Xach: dxtr: but of course there are potential races 2017-03-24T14:18:40Z dxtr: Right 2017-03-24T14:18:54Z dxtr: Also, is it uiop that contains a nicer pathname library? :p 2017-03-24T14:19:03Z Xach: The last time I checked, I could not find a put-if-does-not-exist operation in s3. 2017-03-24T14:19:06Z Xach: It could be my ignorance 2017-03-24T14:24:38Z bariscant joined #lisp 2017-03-24T14:26:25Z dxtr: So how do I convert a string to something that can be hashed with ironclad? 2017-03-24T14:27:17Z Xach: dxtr: babel is one easy option. then you can use (babel:string-to-octets string :encoding ) 2017-03-24T14:27:33Z dxtr: oh 2017-03-24T14:27:44Z dxtr: ironclad already has ascii-string-to-byte-array 2017-03-24T14:27:55Z dxtr: But it's ascii so.. Will that work with utf-8? :p 2017-03-24T14:28:13Z dxtr: "Care should be taken to ensure that the provided string is actually an ASCII string" 2017-03-24T14:28:35Z Xach: No. 2017-03-24T14:31:44Z ryanbw quit (Quit: WeeChat 1.7) 2017-03-24T14:33:30Z l04m33: dxtr: If you're working with sbcl, (sb-ext:string-to-octets string :external-format :utf8) should do 2017-03-24T14:33:51Z l04m33: not portable though 2017-03-24T14:35:06Z jackdaniel: babel has portable version 2017-03-24T14:35:13Z jdz: There's trivial-utf8 in Quicklisp. 2017-03-24T14:35:35Z jdz: I mean trivial-utf-8. 2017-03-24T14:35:42Z Xach: I like trivial-utf-8. 2017-03-24T14:35:47Z Xach: It is fast and specialized. 2017-03-24T14:35:50Z jackdaniel: or was it flexi-streams 2017-03-24T14:35:52Z jackdaniel: flexi-streams:string-to-octets 2017-03-24T14:36:11Z oleo: how do i set the font now in mcclims clim-listener ? 2017-03-24T14:36:15Z oleo: baaah 2017-03-24T14:37:09Z oleo: i tried it with (setf climi::*default-text-style* (make-text-style :sans-serif :roman :large)) but it doesn't work.... 2017-03-24T14:37:51Z beach: http://bauhh.dyndns.org:8000/clim-spec/10-1.html#_520 2017-03-24T14:38:12Z beach: oleo: 2017-03-24T14:38:27Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-03-24T14:38:31Z oleo: oh heya beach :) 2017-03-24T14:38:43Z m00natic quit (Remote host closed the connection) 2017-03-24T14:38:49Z oleo: i'm using your version of mcclim and woder why i can't get the fonts right.... 2017-03-24T14:38:56Z oleo: wonder* 2017-03-24T14:39:51Z beach: Some of those functions ought to work: (setf medium-text-style) (setf medium-default-text-style) 2017-03-24T14:39:51Z oleo: so i now have to use medium-text-style rather you mean ? 2017-03-24T14:39:58Z oleo: aah 2017-03-24T14:40:00Z oleo: ok ok 2017-03-24T14:40:11Z oleo: arright, thank you 2017-03-24T14:40:16Z beach: sure. 2017-03-24T14:40:22Z jackdaniel: you may also check out in utils.lisp – listener seems to overwrite some values 2017-03-24T14:40:45Z oleo: ya when i try it interactively i have the feeling it does not work 2017-03-24T14:41:10Z beach: What do you use for the medium when you try? 2017-03-24T14:41:11Z jackdaniel: I think clim delibaretely customizes its text style in the application (what is understandable) 2017-03-24T14:42:16Z m00natic joined #lisp 2017-03-24T14:42:21Z yeticry joined #lisp 2017-03-24T14:44:53Z beach: oleo: works for me: (setf (medium-text-style *standard-output*) (make-text-style :sans-serif :bold 20)) 2017-03-24T14:45:34Z yeticry_ quit (Ping timeout: 260 seconds) 2017-03-24T14:46:44Z FakePedro quit (Ping timeout: 260 seconds) 2017-03-24T14:47:00Z burtons joined #lisp 2017-03-24T14:48:49Z beach: oleo: [Did you faint?] http://metamodular.com/listener.png 2017-03-24T14:50:18Z dxtr: How do I tell a thread to shut down gracefully when it is done? 2017-03-24T14:50:25Z dxtr: In sbcl 2017-03-24T14:51:00Z dlowe: you embed code in your thread that, when you signal it, shuts down gracefully 2017-03-24T14:51:41Z dlowe: alternately, you can just sb-thread:terminate-thread. YOLO. 2017-03-24T14:51:42Z dxtr: Well I guess the question is "How do I quit a thread"? 2017-03-24T14:51:51Z H4ns: sb-ext:quit 2017-03-24T14:52:07Z dlowe: dxtr: the thread starts with a function, right? Just exit that function. 2017-03-24T14:52:21Z dlowe: or the thread can call terminate-thread on itself 2017-03-24T14:52:27Z dxtr: Hm, okay 2017-03-24T14:52:52Z dxtr: Seemed like the threads were still there when I looked in the process list 2017-03-24T14:54:10Z Xach: (sb-thread:list-all-threads will give a list 2017-03-24T14:54:12Z Xach: ) 2017-03-24T14:55:05Z shrdlu68 joined #lisp 2017-03-24T14:57:14Z nyef: ISTR something about SBCL thread records possibly hanging around until GC? It's been a while since I looked at that part of the runtime, though. 2017-03-24T14:58:16Z Vivek__ is now known as Vivek 2017-03-24T14:58:32Z Vivek quit (Changing host) 2017-03-24T14:58:32Z Vivek joined #lisp 2017-03-24T14:59:36Z carlosdagos joined #lisp 2017-03-24T15:01:57Z BitPuffin|osx joined #lisp 2017-03-24T15:03:32Z ryanbw joined #lisp 2017-03-24T15:03:57Z carlosdagos quit (Ping timeout: 240 seconds) 2017-03-24T15:04:39Z mishoo joined #lisp 2017-03-24T15:07:44Z learning joined #lisp 2017-03-24T15:09:57Z dec0n quit (Read error: Connection reset by peer) 2017-03-24T15:10:01Z DeadTrickster joined #lisp 2017-03-24T15:11:18Z beach: jackdaniel: Speaking of which, we should think about standardizing the place in the file system for putting configuration files for McCLIM applications. 2017-03-24T15:12:06Z beach: jackdaniel: Last time this came up, GNU/Linux did not have a standard place, but now there is ~/.config, right? 2017-03-24T15:13:26Z phoe: t 2017-03-24T15:13:29Z Ven joined #lisp 2017-03-24T15:13:45Z H4ns: beach: fare has researched that comprehensively once and i think if you want to do the right thing, what he found is probably best. (fsvo "right" and "best"). 2017-03-24T15:13:52Z Ven is now known as Guest28837 2017-03-24T15:14:00Z H4ns: beach: if i remember correctly, he did it for asdf 2017-03-24T15:14:01Z beach: Oh, excellent. We'll check with him. 2017-03-24T15:14:26Z Harag quit (Ping timeout: 258 seconds) 2017-03-24T15:14:56Z jdz: I guess one would end up with a directory named ~/.config/common-lisp/mcclim.d/ 2017-03-24T15:15:05Z H4ns: something in the lines of that. 2017-03-24T15:15:35Z H4ns: but hey: systemd, nix, why not that as well? :D 2017-03-24T15:17:21Z jackdaniel: it's specified in xdg 2017-03-24T15:17:29Z jackdaniel: and afaik uiop supports it 2017-03-24T15:17:54Z jackdaniel: (xdg is a speciication for freedesktop, as found on linux) 2017-03-24T15:18:27Z circ-user-cEMst joined #lisp 2017-03-24T15:18:31Z mazoe quit (Remote host closed the connection) 2017-03-24T15:18:50Z beach: As long as we make a decision, and as long as it is not contrary to current practice, I don't care what the exact decision is. 2017-03-24T15:19:09Z beach: In what way does UIOP support it? 2017-03-24T15:19:43Z jackdaniel: http://paste.lisp.org/display/342283 2017-03-24T15:19:57Z jackdaniel: these are functions implemented by it 2017-03-24T15:20:26Z jackdaniel: it works on Windows to afair (its not xdg standard on windows, gives reasonable windows-specific alternatives) 2017-03-24T15:20:34Z jackdaniel: s/to/too/ 2017-03-24T15:20:47Z beach: Sounds good to me. 2017-03-24T15:22:06Z _death: recently an xdg module was added to emacs as well 2017-03-24T15:22:19Z jackdaniel: here is a spec: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html 2017-03-24T15:22:22Z bariscant quit (Ping timeout: 256 seconds) 2017-03-24T15:23:06Z pegu` quit (Remote host closed the connection) 2017-03-24T15:23:53Z beach: Thanks. 2017-03-24T15:24:50Z beach: But we still have to decide the names of the sub-directories. 2017-03-24T15:24:51Z iago_ joined #lisp 2017-03-24T15:25:03Z beach: ... if any. 2017-03-24T15:25:37Z jackdaniel: I'd say – application name, in our case mcclim 2017-03-24T15:25:41Z iago quit (Remote host closed the connection) 2017-03-24T15:25:55Z jackdaniel: using "clim" would be rude for other clim implementations 2017-03-24T15:26:19Z jackdaniel: listener is a separate application, so if it has config, it should have its own directory 2017-03-24T15:26:22Z nyef: There is also established precedent for something on the order of ~/.mcclim.d/ 2017-03-24T15:26:24Z beach: I want to know whether the configuration file for (say) Climacs is directly under ~/.config or in ~/.config/mcclim 2017-03-24T15:26:31Z _death: maybe have it configurable, so that there can be multiple apps using mcclim with different configurations 2017-03-24T15:26:38Z xhe quit (Quit: leaving) 2017-03-24T15:26:58Z beach: ... or something else. 2017-03-24T15:27:36Z beach: Actually, I probably would like an entire directory. And I would like to know not only where to put it, but what to name it. 2017-03-24T15:27:48Z iago_ quit (Client Quit) 2017-03-24T15:28:06Z beach: So ~/.config/mcclim.d/climacs.d/*? 2017-03-24T15:28:11Z iago joined #lisp 2017-03-24T15:28:19Z beach: What does .d mean by the way? "directory"? 2017-03-24T15:28:57Z beach: _death: Configure the configuration? That might not halt. 2017-03-24T15:29:38Z beach: nyef: Where did you see that? 2017-03-24T15:29:42Z _death: what I mean is that climacs conf, which may include mcclim conf, could be ~/.config/climacs 2017-03-24T15:29:52Z dxtr: Xach: I solved this "properly" by hashing the filenames 2017-03-24T15:29:57Z dxtr: Made everything so much cleaner 2017-03-24T15:30:02Z nyef: beach: There's often application-specific hidden directories in the user home directory. 2017-03-24T15:30:09Z dxtr: I found files called ''.jpg and stuff 2017-03-24T15:30:11Z mishoo_ joined #lisp 2017-03-24T15:30:28Z beach: OK, forget I brought this up. This is getting too complicated. 2017-03-24T15:30:39Z nyef: I see a ~/.emacs.d/, for example. 2017-03-24T15:30:52Z mishoo quit (Ping timeout: 260 seconds) 2017-03-24T15:30:55Z H4ns: :D 2017-03-24T15:31:09Z nyef: The .d suffix is often used when there can be both a plain file (without the suffix) and a directory. 2017-03-24T15:31:12Z Lord_of_Life quit (Excess Flood) 2017-03-24T15:31:19Z dlowe: it's not just in the user's directory. You can find it in plenty of places in /etc too 2017-03-24T15:31:31Z jackdaniel: it means, that application has more configuration files 2017-03-24T15:31:34Z nyef: Don't know when the convention showed up, but it's not uncommon. 2017-03-24T15:31:46Z jackdaniel: but it's not strictly obeyed practice 2017-03-24T15:31:55Z jackdaniel: there is a lot of applications not following this scheme 2017-03-24T15:32:11Z iago: usually on linux systems .d suffix means a directory to drop config files to be loaded by an application, as example /etc/httpd/conf is where apache stores its main configuracion /etc/http/conf.d all files there will be loaded by it 2017-03-24T15:32:23Z iago: but it's just a convention 2017-03-24T15:32:39Z jdz: And it is usually the main config file that has a line to look for additional files in .d directory. 2017-03-24T15:32:58Z iago: jdz: right 2017-03-24T15:33:12Z _cosmonaut_1 quit (Ping timeout: 260 seconds) 2017-03-24T15:33:44Z jdz: Then there is also apache/nginx convention of available configurations and enabled configurations (which are symlinks to available configurations). 2017-03-24T15:33:58Z Lord_of_Life joined #lisp 2017-03-24T15:34:22Z scymtym quit (Ping timeout: 258 seconds) 2017-03-24T15:34:31Z ryanwatkins quit (Remote host closed the connection) 2017-03-24T15:39:22Z EvW quit (Ping timeout: 256 seconds) 2017-03-24T15:42:52Z Harag joined #lisp 2017-03-24T15:44:52Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-24T15:49:36Z circ-user-cEMst quit (Remote host closed the connection) 2017-03-24T15:52:01Z bariscant joined #lisp 2017-03-24T15:52:43Z smokeink quit (Remote host closed the connection) 2017-03-24T15:54:33Z shka quit (Remote host closed the connection) 2017-03-24T15:58:09Z mishoo__ joined #lisp 2017-03-24T15:59:08Z Guest28837 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-24T15:59:12Z iago quit (Quit: Leaving) 2017-03-24T15:59:28Z mishoo_ quit (Ping timeout: 240 seconds) 2017-03-24T16:00:33Z iago joined #lisp 2017-03-24T16:01:41Z thodg quit (Ping timeout: 268 seconds) 2017-03-24T16:02:00Z thodg joined #lisp 2017-03-24T16:06:38Z lnostdal joined #lisp 2017-03-24T16:06:40Z sfa joined #lisp 2017-03-24T16:07:01Z bariscant quit (Quit: Leaving) 2017-03-24T16:07:14Z learning quit (Remote host closed the connection) 2017-03-24T16:08:41Z sfa quit (Client Quit) 2017-03-24T16:13:34Z loke quit (Ping timeout: 264 seconds) 2017-03-24T16:13:48Z learning joined #lisp 2017-03-24T16:16:49Z EvW joined #lisp 2017-03-24T16:17:43Z Lord_of_Life quit (Excess Flood) 2017-03-24T16:18:58Z Lord_of_Life joined #lisp 2017-03-24T16:19:08Z lispnik joined #lisp 2017-03-24T16:22:02Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-24T16:23:22Z didi joined #lisp 2017-03-24T16:23:41Z gen93 quit (Ping timeout: 240 seconds) 2017-03-24T16:24:17Z lispnik is now known as lispnik_ 2017-03-24T16:24:54Z gen93 joined #lisp 2017-03-24T16:25:41Z didi: Is it possible that calling 2+ times (slot-accessor-fn object) performs better than saving the slot value like (let ((slot-value (slot-accessor-fn object))) ...) and using `slot-value' 2+ times? 2017-03-24T16:26:46Z lispnik_ quit (Remote host closed the connection) 2017-03-24T16:26:46Z Xach: didi: it seems very unlikely. 2017-03-24T16:27:01Z lispnik joined #lisp 2017-03-24T16:27:18Z didi: Xach: Thank you. 2017-03-24T16:27:49Z |3b|: not impossible though :) 2017-03-24T16:28:19Z Lord_of_Life quit (Changing host) 2017-03-24T16:28:19Z Lord_of_Life joined #lisp 2017-03-24T16:28:19Z Lord_of_Life quit (Changing host) 2017-03-24T16:28:19Z Lord_of_Life joined #lisp 2017-03-24T16:28:28Z lispnik quit (Remote host closed the connection) 2017-03-24T16:28:42Z lispnik joined #lisp 2017-03-24T16:29:43Z gargaml quit (Quit: WeeChat 1.7) 2017-03-24T16:30:32Z didi: |3b|: I don't have the code anymore, but this puzzles me. I thought about SBCL's manual chapter 6.1 slot access. 2017-03-24T16:30:49Z NeverDie quit (Quit: http://radiux.io/) 2017-03-24T16:31:21Z didi: Something something about open code. 2017-03-24T16:31:22Z |3b|: most likely case i could think of is if extra variable causes bad register alloc in a tight loop 2017-03-24T16:31:43Z didi: Hum. Interesting. 2017-03-24T16:32:21Z |3b|: possibly something involving the extra variable causing creation of a closure that wouldn't have otherwise been needed 2017-03-24T16:33:32Z didi: Oh, so an indirection? 2017-03-24T16:33:44Z |3b|: or allocation, or whatever 2017-03-24T16:33:48Z didi: Cool. 2017-03-24T16:33:53Z Bike joined #lisp 2017-03-24T16:34:51Z White_Flame: I tend to often pull special variable values into local lexical variables, just to micro-optimize things 2017-03-24T16:34:51Z DeadTrickster quit (Read error: Connection reset by peer) 2017-03-24T16:34:58Z |3b|: in either case i think it would be more about making something else slow than the actual variable access being slower 2017-03-24T16:36:16Z stepnem quit (Quit: ZNC - http://znc.sourceforge.net) 2017-03-24T16:38:25Z stepnem joined #lisp 2017-03-24T16:41:38Z fiddlerwoaroof quit (Ping timeout: 260 seconds) 2017-03-24T16:43:33Z prole joined #lisp 2017-03-24T16:45:05Z stepnem quit (Quit: ZNC - http://znc.sourceforge.net) 2017-03-24T16:46:15Z fiddlerwoaroof joined #lisp 2017-03-24T16:47:27Z phoe quit (Ping timeout: 240 seconds) 2017-03-24T16:49:16Z neoncontrails joined #lisp 2017-03-24T16:50:35Z didi quit (Ping timeout: 240 seconds) 2017-03-24T16:52:12Z DeadTrickster joined #lisp 2017-03-24T16:56:36Z shka_ joined #lisp 2017-03-24T17:00:26Z carlosdagos joined #lisp 2017-03-24T17:01:31Z bpanthi joined #lisp 2017-03-24T17:02:27Z o1e9 quit (Quit: Ex-Chat) 2017-03-24T17:02:44Z damke quit (Ping timeout: 268 seconds) 2017-03-24T17:03:41Z Balooga joined #lisp 2017-03-24T17:04:58Z carlosdagos quit (Ping timeout: 260 seconds) 2017-03-24T17:09:23Z scymtym joined #lisp 2017-03-24T17:14:42Z Balooga quit (Quit: leaving) 2017-03-24T17:16:38Z Balooga joined #lisp 2017-03-24T17:17:41Z Balooga quit (Client Quit) 2017-03-24T17:18:24Z learning quit (Remote host closed the connection) 2017-03-24T17:19:13Z mepian joined #lisp 2017-03-24T17:19:34Z Balooga joined #lisp 2017-03-24T17:20:07Z bocaneri quit (Read error: Connection reset by peer) 2017-03-24T17:20:14Z EvW quit (Ping timeout: 256 seconds) 2017-03-24T17:20:27Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-03-24T17:21:07Z mepian: hi everyone 2017-03-24T17:21:16Z mepian: what's the difference between cl-sdl2 and lispbuilder-sdl? 2017-03-24T17:21:16Z beach: Hello mepian. 2017-03-24T17:22:05Z mepian: lispbuilder-sdl seems to be better documented 2017-03-24T17:23:08Z lispnik: mepian: lispbuilder-sdl is still sdl-1.2 I think 2017-03-24T17:23:51Z Balooga: That's correct. lispbuilder-sdl is 1.2 only 2017-03-24T17:26:20Z learning joined #lisp 2017-03-24T17:27:08Z mepian: so cl-sdl2 is preferred for new projects? 2017-03-24T17:27:11Z m00natic quit (Remote host closed the connection) 2017-03-24T17:27:43Z vydd joined #lisp 2017-03-24T17:27:43Z vydd quit (Changing host) 2017-03-24T17:27:43Z vydd joined #lisp 2017-03-24T17:27:46Z Balooga: I think it depends if you need whatever new features SDL 2 provides. 2017-03-24T17:28:57Z Balooga: I haven't been involved in a while, so I'm unsure of exactly what the differences are between the 1.2 and 2 SDL releases. 2017-03-24T17:32:33Z Balooga_ joined #lisp 2017-03-24T17:32:45Z _death: sdl2 interface is quite different 2017-03-24T17:32:46Z shifty quit (Ping timeout: 264 seconds) 2017-03-24T17:34:06Z DeadTrickster joined #lisp 2017-03-24T17:34:58Z Balooga quit (Ping timeout: 256 seconds) 2017-03-24T17:35:08Z oleo: beach: how do you set the font upfront, before the listener starts ? 2017-03-24T17:35:28Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-24T17:35:29Z manualcrank joined #lisp 2017-03-24T17:35:44Z Balooga_: Doesn't SDL2 have hardware accel? 2017-03-24T17:36:11Z Balooga_: I guess I could google it 2017-03-24T17:36:59Z prole` joined #lisp 2017-03-24T17:37:08Z beach: oleo: I don't know. And I don't know that it is even possible. We had a very depressing discussion before about configuration, so I gave up thinking about it. 2017-03-24T17:37:15Z oleo: beach: and how do i set the input font ? it's only changing the output font 2017-03-24T17:37:36Z beach: Presumably using *standard-input*, but I didn't try. 2017-03-24T17:37:43Z beach: You'll have to experiment. 2017-03-24T17:37:46Z oleo: ok 2017-03-24T17:38:48Z prole quit (Ping timeout: 260 seconds) 2017-03-24T17:39:01Z oleo: nope *standard-input* didn't change it 2017-03-24T17:39:29Z beach: I am pretty sure it's one of those variables. 2017-03-24T17:39:49Z wtetzner joined #lisp 2017-03-24T17:40:41Z JuanDaugherty joined #lisp 2017-03-24T17:41:58Z vlatkoB joined #lisp 2017-03-24T17:44:30Z failproofshark: mepian: you may want to ask this in #lispgames 2017-03-24T17:44:52Z failproofshark: the author(s) of cl-sdl2 are there and could probably give you a better description 2017-03-24T17:46:28Z hhdave quit (Ping timeout: 240 seconds) 2017-03-24T17:50:34Z nowhere_man joined #lisp 2017-03-24T17:51:05Z Karl_Dscc joined #lisp 2017-03-24T17:52:01Z maarhart joined #lisp 2017-03-24T17:52:39Z Mon_Ouie joined #lisp 2017-03-24T17:53:39Z RedEight joined #lisp 2017-03-24T17:54:32Z oleo: beach: nope, i looked into my https://github.com/wbooze/mcclim-stuff/blob/master/mcclim-20141217-git/Apps/Listener/listener.lisp file 2017-03-24T17:54:40Z mathrick quit (Read error: Connection reset by peer) 2017-03-24T17:54:55Z oleo: beach: there i can change the prompt size and the read-frame-command method 2017-03-24T17:57:58Z knicklux quit (Ping timeout: 264 seconds) 2017-03-24T17:58:39Z szmer joined #lisp 2017-03-24T17:58:40Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-24T17:59:43Z jerme joined #lisp 2017-03-24T18:01:29Z bpanthi quit (Quit: bpanthi) 2017-03-24T18:02:09Z puchka joined #lisp 2017-03-24T18:02:53Z oleo: beach: right 3 things prompt-size, read-frame-command method and the stream-present :around method, when using a (with-drawing-options (stream :text-size bla) ..... there i can change all the fonts to one fixed degree for input and output and all is aligned then 2017-03-24T18:03:49Z oleo: beach: without touching the source i'd have to write my own methods in the clim-listener package which overwrite those...... 2017-03-24T18:04:03Z oleo: beach: or supplement them..... 2017-03-24T18:04:17Z shrdlu68: What are we talking about? 2017-03-24T18:07:42Z oleo: is that to me shrdlu68 ? 2017-03-24T18:08:25Z oleo: shrdlu68: if it was, then mcclim, specifically clim-listener optics 2017-03-24T18:10:37Z neoncontrails quit (Remote host closed the connection) 2017-03-24T18:12:09Z maarhart quit (Quit: Mutter: www.mutterirc.com) 2017-03-24T18:12:15Z wtetzner quit (Remote host closed the connection) 2017-03-24T18:15:07Z maarhart joined #lisp 2017-03-24T18:15:08Z szmer quit (Read error: Connection reset by peer) 2017-03-24T18:17:20Z neoncontrails joined #lisp 2017-03-24T18:17:47Z shrdlu68: oleo: Had never heard of clim, cool stuff. 2017-03-24T18:18:16Z maarhart quit (Client Quit) 2017-03-24T18:20:44Z Balooga_ quit (Ping timeout: 260 seconds) 2017-03-24T18:23:22Z pmc joined #lisp 2017-03-24T18:24:29Z KongWubba joined #lisp 2017-03-24T18:24:48Z velo-alien quit (Ping timeout: 240 seconds) 2017-03-24T18:25:28Z maarhart joined #lisp 2017-03-24T18:28:01Z maarhart quit (Client Quit) 2017-03-24T18:31:32Z shrdlu68 quit (Ping timeout: 268 seconds) 2017-03-24T18:31:58Z ym joined #lisp 2017-03-24T18:32:05Z ryanbw quit (Ping timeout: 240 seconds) 2017-03-24T18:35:40Z szmer joined #lisp 2017-03-24T18:36:54Z ryanbw joined #lisp 2017-03-24T18:37:52Z shrdlu68 joined #lisp 2017-03-24T18:38:18Z shrdlu68: Phew. 9 x509 extensions to go. 2017-03-24T18:41:19Z wildlander joined #lisp 2017-03-24T18:41:46Z jasom quit (Ping timeout: 264 seconds) 2017-03-24T18:41:48Z ryanbw quit (Ping timeout: 240 seconds) 2017-03-24T18:42:01Z BlueRavenGT joined #lisp 2017-03-24T18:42:12Z jasom joined #lisp 2017-03-24T18:47:04Z whoman joined #lisp 2017-03-24T18:55:31Z maarhart joined #lisp 2017-03-24T18:56:04Z neoncontrails quit (Remote host closed the connection) 2017-03-24T18:56:44Z varjag joined #lisp 2017-03-24T18:58:16Z zkat quit (Ping timeout: 255 seconds) 2017-03-24T18:58:25Z Fare joined #lisp 2017-03-24T18:58:26Z pmc quit (Quit: Leaving) 2017-03-24T18:59:14Z maarhart quit (Client Quit) 2017-03-24T18:59:54Z Harag quit (Ping timeout: 268 seconds) 2017-03-24T19:00:24Z lispnik quit (Ping timeout: 260 seconds) 2017-03-24T19:01:08Z carlosdagos joined #lisp 2017-03-24T19:01:18Z zkat joined #lisp 2017-03-24T19:01:20Z neoncontrails joined #lisp 2017-03-24T19:02:11Z Harag joined #lisp 2017-03-24T19:03:14Z daemoz: join #rtmidi 2017-03-24T19:03:24Z daemoz: whoops 2017-03-24T19:05:31Z carlosdagos quit (Ping timeout: 246 seconds) 2017-03-24T19:11:52Z pebblexe: hey why would you use optima over cond? what's a good example? 2017-03-24T19:14:28Z pebblexe: I just think optima is weird because I have to wrap it in a funcall... (funcall (optima:match 1 (1 (lambda () (format t "hello!"))))) 2017-03-24T19:16:52Z dlowe: you can store the function so that it doesn't require additional compilation 2017-03-24T19:17:17Z vlatkoB quit (Remote host closed the connection) 2017-03-24T19:17:28Z dlowe: (defparameter +my-matcher+ (optima:match ...)) (defun do-matching (x) (funcall +my-matcher+ x)) 2017-03-24T19:18:04Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-24T19:18:49Z vlatkoB joined #lisp 2017-03-24T19:20:34Z knicklux joined #lisp 2017-03-24T19:21:58Z aeth quit (Ping timeout: 246 seconds) 2017-03-24T19:23:14Z aeth joined #lisp 2017-03-24T19:24:24Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-24T19:24:35Z vibs29 quit (Ping timeout: 240 seconds) 2017-03-24T19:24:38Z mishoo joined #lisp 2017-03-24T19:25:35Z mishoo__ quit (Ping timeout: 240 seconds) 2017-03-24T19:27:07Z dxtr: It's fascinating that stumpwm is taking up like 80% CPU 2017-03-24T19:28:02Z dxtr: Could it be swank? hmm 2017-03-24T19:29:58Z vibs29 joined #lisp 2017-03-24T19:30:45Z varjag: " 2637 eugene 20 0 1213960 72816 10392 S 0,0 1,9 21:10.02 stumpwm" 2017-03-24T19:30:49Z varjag: so, 0% 2017-03-24T19:31:00Z varjag: :p 2017-03-24T19:31:10Z oleo: did you check versions both emacs side and lisp side ? 2017-03-24T19:31:33Z dxtr: I did not 2017-03-24T19:31:47Z oleo: when it doesn't bug out directly on version mismatch it may do that..... 2017-03-24T19:31:54Z oleo: otherwise when i used it it was fast..... 2017-03-24T19:32:02Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2017-03-24T19:32:10Z dxtr: How do I check the versions? :p 2017-03-24T19:33:14Z oleo: by lookin inside the dir for a version.bla file ? 2017-03-24T19:34:02Z dxtr: I'm not sure I know what directory *the* directory is 2017-03-24T19:34:19Z learning quit (Remote host closed the connection) 2017-03-24T19:34:36Z Baggers joined #lisp 2017-03-24T19:34:39Z oleo: /usr/share/emacs/site-lisp usually for the emacs site 2017-03-24T19:34:43Z oleo: side* 2017-03-24T19:36:43Z oleo: and the other would be quicklisp/dists/quicklisp/software/slime-bla 2017-03-24T19:37:30Z Balooga joined #lisp 2017-03-24T19:37:52Z schjetne quit (Read error: Connection reset by peer) 2017-03-24T19:38:26Z dxtr: Oh you mean those directories 2017-03-24T19:38:30Z dxtr: Slime 2.19 apparently 2017-03-24T19:39:33Z schjetne joined #lisp 2017-03-24T19:43:14Z bariscant joined #lisp 2017-03-24T19:43:57Z knicklux quit (Quit: Leaving) 2017-03-24T19:48:40Z BlueRavenGT quit (Read error: Connection reset by peer) 2017-03-24T19:49:47Z BlueRavenGT joined #lisp 2017-03-24T19:49:51Z bariscant quit (Quit: Leaving) 2017-03-24T19:59:25Z puchka quit (Quit: leaving) 2017-03-24T20:02:54Z oleo: beach: one more thing with paren highlighting in Libraries/Drei/lisp-syntax.lisp (when i don't use the (make-drawing-options :face (make-face :ink +blah+)) twice with blah highlighting inks then there's no highlighting of my parens in climacs-rv or climacs 2017-03-24T20:02:57Z thodg quit (Ping timeout: 240 seconds) 2017-03-24T20:03:18Z oleo: beach: in the (defun parenthesis-highlighting..... part 2017-03-24T20:03:54Z oleo: beach: the +bold-drawing-options+ +default-drawing-options+ there have no effect.... 2017-03-24T20:04:34Z nelder joined #lisp 2017-03-24T20:04:43Z okflo` left #lisp 2017-03-24T20:07:11Z Balooga quit (Ping timeout: 240 seconds) 2017-03-24T20:10:31Z Balooga joined #lisp 2017-03-24T20:15:22Z neoncontrails quit (Remote host closed the connection) 2017-03-24T20:16:55Z ryanbw joined #lisp 2017-03-24T20:19:51Z nirved quit (Quit: Leaving) 2017-03-24T20:28:10Z EvW1 joined #lisp 2017-03-24T20:30:10Z Balooga quit (Quit: leaving) 2017-03-24T20:34:50Z KongWubba quit (Quit: Bye) 2017-03-24T20:35:08Z wtetzner joined #lisp 2017-03-24T20:37:46Z dxtr: Haha 2017-03-24T20:37:48Z Harag quit (Remote host closed the connection) 2017-03-24T20:38:00Z dxtr: Now I have the default stumpwm config and it's still taking up 70% CPU 2017-03-24T20:38:06Z Harag joined #lisp 2017-03-24T20:38:20Z dxtr: There's a lot of poll and write happening 2017-03-24T20:38:26Z dxtr: And Xorg is taking up a whole lot of cpu too 2017-03-24T20:38:38Z dxtr: So I suspect it's writing a lot to Xorg 2017-03-24T20:38:50Z Bike: it's quieter, but there's a #stumpwm channel. you could maybe get specific advice. 2017-03-24T20:39:16Z dxtr: Yeah I just wanted to point out that it's probably not swank that's doing it 2017-03-24T20:43:08Z arbv quit (Quit: ZNC - http://znc.in) 2017-03-24T20:44:17Z arbv joined #lisp 2017-03-24T20:45:51Z vlatkoB quit (Remote host closed the connection) 2017-03-24T20:45:55Z EvW1 quit (Remote host closed the connection) 2017-03-24T20:46:04Z EvW joined #lisp 2017-03-24T20:46:19Z wtetzner quit (Remote host closed the connection) 2017-03-24T20:47:16Z vydd quit (Remote host closed the connection) 2017-03-24T20:47:31Z vydd joined #lisp 2017-03-24T20:47:31Z vydd quit (Changing host) 2017-03-24T20:47:31Z vydd joined #lisp 2017-03-24T20:48:01Z vydd quit (Remote host closed the connection) 2017-03-24T20:48:34Z vydd joined #lisp 2017-03-24T20:48:34Z vydd quit (Changing host) 2017-03-24T20:48:34Z vydd joined #lisp 2017-03-24T20:51:31Z rumbler31 quit (Ping timeout: 268 seconds) 2017-03-24T20:52:41Z vydd quit (Ping timeout: 240 seconds) 2017-03-24T20:54:17Z hvxgr quit (Quit: leaving) 2017-03-24T20:55:36Z shka_ quit (Ping timeout: 258 seconds) 2017-03-24T20:56:01Z Fare: dxtr: I can share my stumpwm config, that doesn't do that. 2017-03-24T20:56:15Z Fare: beach: hi 2017-03-24T20:56:38Z hvxgr joined #lisp 2017-03-24T20:56:50Z dxtr: Fare: I noticed there's a github issue on this 2017-03-24T21:01:54Z carlosdagos joined #lisp 2017-03-24T21:02:03Z overlard is now known as cyberlard 2017-03-24T21:05:27Z snowcrshd quit (Ping timeout: 240 seconds) 2017-03-24T21:05:34Z daviid quit (Ping timeout: 258 seconds) 2017-03-24T21:05:51Z ryanwatkins joined #lisp 2017-03-24T21:06:09Z Fare: dxtr: what triggers the bad behavior? 2017-03-24T21:06:56Z carlosdagos quit (Ping timeout: 268 seconds) 2017-03-24T21:07:11Z dxtr: I'm not quite sure, but reverting to 1.0.0 solved it 2017-03-24T21:08:29Z arbv quit (Quit: ZNC - http://znc.in) 2017-03-24T21:09:23Z arbv joined #lisp 2017-03-24T21:10:03Z jasom: pebblexe: since when do you have to wrap optima in a funcall? 2017-03-24T21:10:40Z pebblexe: jasom: yeah, I don't get it myself 2017-03-24T21:11:04Z jasom: (optima:match 3 (1 2) (3 4)) ; => 4 2017-03-24T21:11:46Z jasom: or just: (optima:match 1 (1 (format t "Hello!"))) for that matter 2017-03-24T21:12:01Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-24T21:12:12Z pebblexe: jasom: that last one is helpful, thank you 2017-03-24T21:13:15Z shrdlu68: Optima's Interesting. I use a lot of case and cond in a bunch of code I've been writing. 2017-03-24T21:13:43Z jasom: and to answer your original question, optima has two advantages over COND: firstly it can be much more clear (like a CASE on steroids, compared to ((test1 x) ...) (test2 x) ...) you can see from (optima:match x ...) that you are specifically testing properties of X rather than a random if/then/else clause 2017-03-24T21:13:54Z jasom: the other advantage is the built-in destructuring 2017-03-24T21:15:40Z attila_lendvai joined #lisp 2017-03-24T21:15:40Z attila_lendvai quit (Changing host) 2017-03-24T21:15:40Z attila_lendvai joined #lisp 2017-03-24T21:16:14Z jasom: e.g. (match '(1 2 3) ((list 1 x _) x) => 2 2017-03-24T21:16:22Z neoncontrails joined #lisp 2017-03-24T21:16:29Z rjid joined #lisp 2017-03-24T21:26:08Z jasom quit (Ping timeout: 240 seconds) 2017-03-24T21:26:36Z jasom joined #lisp 2017-03-24T21:31:08Z KongWubba joined #lisp 2017-03-24T21:31:50Z stee joined #lisp 2017-03-24T21:32:21Z stee is now known as stee_3 2017-03-24T21:33:12Z KongWubba quit (Client Quit) 2017-03-24T21:34:48Z Harag quit (Ping timeout: 240 seconds) 2017-03-24T21:34:57Z learning joined #lisp 2017-03-24T21:36:19Z stee_3 quit (Quit: stee_3) 2017-03-24T21:38:28Z Harag joined #lisp 2017-03-24T21:39:28Z learning quit (Ping timeout: 240 seconds) 2017-03-24T21:42:09Z stee_3 joined #lisp 2017-03-24T21:43:08Z BlueRavenGT quit (Ping timeout: 240 seconds) 2017-03-24T21:48:59Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-24T21:49:10Z vydd joined #lisp 2017-03-24T21:50:21Z misv_ is now known as misv 2017-03-24T21:53:48Z vydd quit (Ping timeout: 240 seconds) 2017-03-24T21:54:30Z rjid quit (Ping timeout: 260 seconds) 2017-03-24T22:00:32Z Harag quit (Ping timeout: 260 seconds) 2017-03-24T22:02:10Z eazar001 quit (Ping timeout: 264 seconds) 2017-03-24T22:05:18Z Harag joined #lisp 2017-03-24T22:05:43Z stee_3 quit (Quit: stee_3) 2017-03-24T22:06:15Z tenawa joined #lisp 2017-03-24T22:06:40Z gingerale quit (Remote host closed the connection) 2017-03-24T22:10:13Z eazar001 joined #lisp 2017-03-24T22:12:19Z burtons quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-24T22:16:31Z stee_3 joined #lisp 2017-03-24T22:16:37Z Harag quit (Ping timeout: 268 seconds) 2017-03-24T22:18:04Z Harag joined #lisp 2017-03-24T22:18:37Z stee_3 quit (Client Quit) 2017-03-24T22:18:43Z troydm joined #lisp 2017-03-24T22:22:24Z MoALTz quit (Quit: Leaving) 2017-03-24T22:23:58Z iago quit (Quit: Leaving) 2017-03-24T22:27:20Z pebblexe quit (Quit: Page closed) 2017-03-24T22:27:35Z varjag quit (Ping timeout: 240 seconds) 2017-03-24T22:27:52Z RedEight quit (Quit: leaving) 2017-03-24T22:29:43Z daviid joined #lisp 2017-03-24T22:39:30Z Jesin quit (Quit: Leaving) 2017-03-24T22:39:52Z azzamsa joined #lisp 2017-03-24T22:43:01Z tenawa quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-24T22:44:51Z Jesin joined #lisp 2017-03-24T22:45:11Z tenawa joined #lisp 2017-03-24T22:47:51Z NeverDie joined #lisp 2017-03-24T22:48:43Z cromachina joined #lisp 2017-03-24T22:50:22Z azzamsa quit (Remote host closed the connection) 2017-03-24T22:51:05Z warweasle joined #lisp 2017-03-24T22:51:12Z warweasle quit (Client Quit) 2017-03-24T22:51:45Z jack_rabbit joined #lisp 2017-03-24T22:51:47Z warweasle joined #lisp 2017-03-24T22:52:20Z Harag quit (Ping timeout: 260 seconds) 2017-03-24T22:52:35Z Mon_Ouie quit (Ping timeout: 240 seconds) 2017-03-24T22:52:38Z Harag joined #lisp 2017-03-24T22:53:25Z tenawa quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-24T22:57:53Z EvW quit (Ping timeout: 258 seconds) 2017-03-24T22:58:24Z Baggers: Is there any way to have thread-local storage other than via special variables & let? That mechanism is great but often then threads are started outside of my control (e.g. by slime) and so I believe I can't set the local storage on that thread 2017-03-24T22:58:54Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-24T23:01:10Z Bike: sbcl has symbol-value-in-thread, probably other implementations also. 2017-03-24T23:01:33Z Bike: though i don't understand why you'd want to alter storage for a thread that's not your problem. 2017-03-24T23:01:58Z joneshf-laptop quit (Ping timeout: 260 seconds) 2017-03-24T23:02:26Z warweasle quit (Remote host closed the connection) 2017-03-24T23:02:38Z carlosdagos joined #lisp 2017-03-24T23:03:14Z warweasle joined #lisp 2017-03-24T23:03:18Z phoe joined #lisp 2017-03-24T23:05:32Z Baggers: Bike I want to make a variable called *context* which contains the gl context bound to that thread. When I run things in the REPL (or call C-c C-k) I'm running code on a thread I didnt make but I do want to be able to store the gl context bound on that thread. Maybe there is a better approach. A hashtable keyed by #'bordeaux-threads:current-thread seemed slow 2017-03-24T23:05:33Z stee_3 joined #lisp 2017-03-24T23:06:48Z carlosdagos quit (Ping timeout: 240 seconds) 2017-03-24T23:07:49Z Bike: multi context... oh no. 2017-03-24T23:08:00Z BlueRavenGT joined #lisp 2017-03-24T23:08:00Z phoe: Baggers: was your hashtable EQ-indexed? 2017-03-24T23:08:04Z phoe: I mean uh 2017-03-24T23:08:13Z phoe: had #'EQ as test function? 2017-03-24T23:08:42Z Baggers: phoe: Im not using that approach. It seemed subpar. I was hoping to get away with thread-local storage 2017-03-24T23:08:50Z safe joined #lisp 2017-03-24T23:09:12Z Baggers: Bike: hehe yeah, multiple gl windows is a requested feature..so multiple contexts and all that madness :) 2017-03-24T23:09:29Z Karl_Dscc quit (Remote host closed the connection) 2017-03-24T23:09:45Z Bike: well, setf symbol value in thread would work, not counting synchronization concerns 2017-03-24T23:10:39Z Baggers: Bike: oh! thats a big help actually, Thankyou. 2017-03-24T23:12:11Z wtetzner joined #lisp 2017-03-24T23:13:34Z pve quit (Ping timeout: 264 seconds) 2017-03-24T23:15:45Z Baggers: Bike: unforunately the following did still change the binding for all threads (make-thread (lambda () (setf (symbol-value '*tst*) -10) *tst*)) was I misunderstanding your 'symbol value' comment. It's works as expected if I use 'let' in the new thread, but then I still have the original issue 2017-03-24T23:16:04Z Bike: i meant, specifically, sb-thread:symbol-value-in-thread 2017-03-24T23:16:24Z Baggers: ah gotcha, thanks 2017-03-24T23:16:41Z Bike: hm, says it's supposed to be for debugging though. 2017-03-24T23:17:23Z pmc joined #lisp 2017-03-24T23:18:40Z Baggers: ah. Maybe im on the wrong path then. 2017-03-24T23:19:22Z Balooga joined #lisp 2017-03-24T23:19:24Z Bike: it seems like it would be kind of ugly anyway. changing contexts halfway through a draw sounds bad. 2017-03-24T23:19:35Z Balooga quit (Client Quit) 2017-03-24T23:19:59Z Baggers: Bike: if each thread has it's own context its ok 2017-03-24T23:20:13Z Baggers: one pattern for that use is uploading large textures in the background 2017-03-24T23:20:16Z Bike: how would that make it okay? 2017-03-24T23:21:25Z Baggers: each context has its own command queue, I dont neccesary need to be drawing on both at the same time. GL (IIRC) is fine with 1 context being 'current' on each thread 2017-03-24T23:21:39Z EvW joined #lisp 2017-03-24T23:21:58Z nyef: Baggers: I hope you're not doing this while running nouveau. 2017-03-24T23:22:54Z Baggers: nyef: it definitely isnt something I'm forcing. Just supporting for those who want it 2017-03-24T23:23:11Z Baggers: not using it will be fine 2017-03-24T23:23:45Z snowcrshd joined #lisp 2017-03-24T23:25:18Z vibs29 quit (Ping timeout: 260 seconds) 2017-03-24T23:25:29Z Balooga joined #lisp 2017-03-24T23:27:11Z nyef: Baggers: And, changing the subject a bit, does your software allow using quad buffers if the underlying GL supports it? 2017-03-24T23:27:11Z Balooga: Baggers: I'm one of, yes. 2017-03-24T23:29:58Z vibs29 joined #lisp 2017-03-24T23:32:07Z Baggers: nyef: Should do. I havent tested it but it should be case of adding it to the 'context' in when making a pipeline. (cepl:def-g-> some-name (:450 :quad) #'vert #'frag) 2017-03-24T23:32:20Z Baggers: I'll have to check that out 2017-03-24T23:33:12Z Baggers: hmm maybe I dont support that yet. I'll add a ticket 2017-03-24T23:34:04Z pmc: I was reading on Wikipeida that GNU CLISP doesn not support the full ANSI Common Lisp standard.... does anyone know what they have left to implement to be fully compliant? 2017-03-24T23:35:17Z snowcrshd quit (Remote host closed the connection) 2017-03-24T23:35:41Z neoncontrails quit (Remote host closed the connection) 2017-03-24T23:35:56Z learning joined #lisp 2017-03-24T23:36:19Z neoncontrails joined #lisp 2017-03-24T23:36:44Z Baggers: nyef: just checking the wiki I realized why I dont support them, they are deprecated for modern gl https://www.khronos.org/opengl/wiki/Primitive#Quads 2017-03-24T23:36:56Z Baggers: sorry removed, deprecated in 3.0 2017-03-24T23:38:59Z _death: pmc: I believe it does support it, but you need to run it with -ansi 2017-03-24T23:40:05Z shrdlu68 left #lisp 2017-03-24T23:40:27Z learning quit (Ping timeout: 240 seconds) 2017-03-24T23:40:32Z Balooga quit (Quit: leaving) 2017-03-24T23:40:37Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-24T23:41:44Z Balooga joined #lisp 2017-03-24T23:43:01Z nyef: Baggers: Not quads, quad buffers. GL_STEREO and related noise. 2017-03-24T23:43:02Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-24T23:44:59Z warweasle quit (Quit: rcirc on GNU Emacs 24.5.1) 2017-03-24T23:45:43Z lnostdal quit (Ping timeout: 260 seconds) 2017-03-24T23:46:13Z neoncontrails joined #lisp 2017-03-24T23:46:48Z daviid quit (Ping timeout: 240 seconds) 2017-03-24T23:47:10Z jfb4 quit (Ping timeout: 240 seconds) 2017-03-24T23:49:17Z jfb4 joined #lisp 2017-03-24T23:50:12Z Baggers: nyef: Gotcha. Doubt its working yet but some brief googling suggests it should be too bad to add. I'll add a ticket 2017-03-24T23:51:10Z vydd joined #lisp 2017-03-24T23:51:11Z Baggers: seems very related to multiple render targets which is already done, but I need to find more on this, and maybe a machine that supports gl_stereo if this doesnt 2017-03-24T23:51:36Z aeth: In case anyone's interested, my Brainfuck is probably finally ready enough to be put on git. And I guess I just barely got it ready in time for its official release in almost exactly a week from now. http://paste.lisp.org/+7BGT/2 2017-03-24T23:52:05Z pmc: _death: ok thanks! 2017-03-24T23:53:39Z nyef: Baggers: Fair warning: Basically nothing supports GL_STEREO in Linux these days, unless some proprietary driver has something. 2017-03-24T23:55:04Z aeth: Oh, and I had to make my Brainfuck program a full Brainfuck compiler as a response to objections that it wasn't a compiler in here earlier. As in, producing .fasl (or whatever the implementation calls them) from a source .bf or .b file. 2017-03-24T23:55:11Z Baggers: nyef: boo, then I'll have to get on windows again.. that delays it a bit 2017-03-24T23:55:19Z vydd quit (Ping timeout: 246 seconds) 2017-03-24T23:55:31Z Baggers: not for any good reason, just its not as much fun working there 2017-03-24T23:57:11Z nyef: Yeah, basically the only reason I have installed windows systems around here at this point is for stereoscopy work. 2017-03-24T23:57:45Z nyef: ... Mostly to try and figure out how to get some of my stereo hardware to work in Linux. 2017-03-24T23:57:54Z Baggers: nyef: do you know you can render to left and right in one pass? (like multi render targets with regular fbos) 2017-03-24T23:58:42Z prole` quit (Remote host closed the connection) 2017-03-24T23:59:17Z nyef: I'd heard something about that, but not dug into it. I haven't done much at all with OpenGL, and the software that I have for the one use-case that I've been trying to get working still uses MIT SHM and XSHMPutImage() or whatever it's called. 2017-03-25T00:00:29Z nyef: I could get it to run in stereo if I rewrote it to hit the KMS APIs directly, but... Bleh. 2017-03-25T00:00:57Z Baggers: Havent heard of that before, interesting. what hardware are you using? has razer's headset looked any good to you? 2017-03-25T00:01:24Z nyef: I have an nVidia 3D Vision enabled laptop, and a couple of 3D TVs. 2017-03-25T00:01:53Z Baggers: cool 2017-03-25T00:03:01Z szmer quit (Quit: WeeChat 1.6) 2017-03-25T00:03:08Z nyef: On the upside, I did finally get nouveau to output a suitable HDMI 3D signal for frame-packing modes recently. (-: 2017-03-25T00:05:41Z akkad joined #lisp 2017-03-25T00:06:57Z aeth: nouveau is disappointing. When I first went with nvidia in 2010 or so, nouveau was the best choice. Now, my new (GeForce 10 series) card can't even run on nouveau 2017-03-25T00:07:09Z Baggers: nyef: thats great (took a little reading to know what that was) 2017-03-25T00:10:07Z nyef: aeth: Because nVidia started requiring signed firmware, and while they have said that they will provide the necessary firmware to the nouveau project, they've only recently provided *most* of the necessary firmware. 2017-03-25T00:10:30Z nyef: The signature requirement screws things up quite a bit. 2017-03-25T00:11:05Z aeth: If AMD actually released competitive hardware on the high end, they'd capture a lot of the Linux market just because you'll be able to not have a buggy experience. 2017-03-25T00:11:11Z Baggers: nyef: Had a quick read. Requesting stereo looks easy (just pass :stereo to cepls init function). Rendering to multiple fbo attachments work fine (and should do the same for the default fbo) but rendering to each in its own pass isnt supported in CEPL yet, that a bit of a gap in the api actually. Filing an issue for that 2017-03-25T00:12:01Z aeth: CUDA locks a lot of people into nvidia, though, so AMD might not even be able to capture a majority of the Linux market even if they released superior hardware. 2017-03-25T00:12:20Z aeth: And that's probably why nvidia's drivers cause so many problems. 2017-03-25T00:19:06Z ffilozov joined #lisp 2017-03-25T00:21:34Z krwq joined #lisp 2017-03-25T00:25:02Z jleija joined #lisp 2017-03-25T00:27:14Z BitPuffin joined #lisp 2017-03-25T00:28:36Z vydd joined #lisp 2017-03-25T00:29:24Z ryanwatkins quit (Ping timeout: 260 seconds) 2017-03-25T00:29:48Z mishoo quit (Ping timeout: 240 seconds) 2017-03-25T00:34:04Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-25T00:35:13Z BusFactor1: is there a way to directly load a .asd file into a running lisp without dealing with paths and such? 2017-03-25T00:35:50Z krwq: ql:quickload? 2017-03-25T00:36:20Z Fare: BusFactor: asdf:load-asd 2017-03-25T00:36:32Z Fare: BusFactor: though, really, the answer is NO. 2017-03-25T00:36:44Z BusFactor1: i'm just trying something, thanks 2017-03-25T00:36:52Z aeth: hmm 2017-03-25T00:36:56Z Fare: what are you trying to do? 2017-03-25T00:37:29Z BusFactor1: the library i'm trying to load is busted in quicklisp so i'm trying to directly load the development version i got from git 2017-03-25T00:37:52Z Fare: Put your override under ~/common-lisp/ 2017-03-25T00:38:02Z krwq: BusFactor1: you can also use quicklisp after you do what Fare just said 2017-03-25T00:38:06Z Fare: and restart lisp and/or (uiop:clear-configuration) 2017-03-25T00:38:36Z BusFactor1: i've had so many problems with paths and libraries i'm trying to learn a more direct way to load project sources 2017-03-25T00:38:40Z jasom: If anyone wanted to play around with my geany plugin, I have a "not too broken" verion here packaged up for ubuntu: https://github.com/jasom/geany-lisp/releases/download/0%2C2/geany-lisp-plugin_0.2.0_amd64.deb 2017-03-25T00:38:55Z Fare: There's no avoiding dealing with paths, but you can do it the easy way 2017-03-25T00:39:22Z BusFactor1: Fare: now that I"ve loaded the .asd file, can i do a build from there? 2017-03-25T00:39:40Z jasom: BusFactor1: if you do (asdf:load-asd ) then (asdf:load-system) will load asdf 2017-03-25T00:40:35Z wtetzner quit (Remote host closed the connection) 2017-03-25T00:42:27Z xhe joined #lisp 2017-03-25T00:44:06Z aeth: Fare: Is it possible to use ASDF with other programming languages? i.e. If I can produce a valid Common Lisp foo.lisp for some foo.otherlanguage. 2017-03-25T00:44:21Z aeth: Well, it's probably possible once a bunch of (temporary?) .lisp files are generated, but before that? 2017-03-25T00:44:38Z BusFactor1: I'm livestreaming right now for those that are intersted in watching me try and get a machine learning library working: https://www.liveedu.tv/busfactor1-inc/RavAJ-general-work/ 2017-03-25T00:44:44Z astronavt joined #lisp 2017-03-25T00:48:34Z daemoz quit (Quit: WeeChat 1.6) 2017-03-25T00:48:39Z aeth: I have about 2/3 of a Scheme (but I probably am only 1/3 complete at best) and I can obviously take foo.scm and produce a temporary foo.lisp and run compile-file on foo.lisp and then load foo.fasl (or whatever the implementation-specific extension is) 2017-03-25T00:48:45Z aeth: But that seems like a very pre-ASDF way of doing things. 2017-03-25T00:49:09Z smokeink joined #lisp 2017-03-25T00:51:14Z Fare: aeth: yes, it's possible. 2017-03-25T00:51:35Z Fare: and BTW, someone had a compiler from E to CL, with a nice trick 2017-03-25T00:52:50Z Fare: you can subvert the reader in various ways, see for instance my reader-interception package 2017-03-25T00:52:56Z aeth: Right now I'm playing around with Brainfuck because I get to get some experience with stuff that are much, much later on in the process of creating an implementation than I am with Scheme. 2017-03-25T00:53:05Z Baggers quit (Remote host closed the connection) 2017-03-25T00:54:08Z Fare: you don't have to produce a .lisp file, if you do all the transformation in a #. form 2017-03-25T00:54:13Z mepian quit (Quit: Leaving) 2017-03-25T00:54:59Z Fare: or you can share the same pseudo .lisp file with a magic global #. form that references some special variable you set up in a wrapper form 2017-03-25T00:55:41Z aeth: Once a reader function has been written, there are at least three trivial things that can be done with it. At least, three that I've found with my Brainfuck. One's a reader macro, another is a regular macro that uses with-input-from-string on a source string, and a third is reading a file and compiling it. 2017-03-25T00:55:49Z Fare: if you want to create a .lisp file, see how cffi-wrapper-file does it 2017-03-25T00:56:13Z Fare: see reader-interception for compiling a file with your own reader. 2017-03-25T00:57:25Z Fare: BusFactor1, it's CL, you can do whatever you want, but for simple solutions, use the recommended patterns, and put your overrides in e.g. ~/common-lisp/ so you don't even have to configure anything 2017-03-25T00:58:28Z pjb quit (Ping timeout: 240 seconds) 2017-03-25T00:58:37Z jameser joined #lisp 2017-03-25T00:59:48Z jameser quit (Client Quit) 2017-03-25T01:00:08Z rumbler31 joined #lisp 2017-03-25T01:01:03Z astronavt quit (Quit: Leaving...) 2017-03-25T01:01:16Z l04m33 quit (Ping timeout: 268 seconds) 2017-03-25T01:02:57Z wheelsucker joined #lisp 2017-03-25T01:03:26Z carlosdagos joined #lisp 2017-03-25T01:03:37Z aeth: #4f(+++++++[>++++++++++<-]>++.<+++[>++++++++++<-]>-.+++++++..+++.>+++[>++++++++++<-]>++.<<<++[>----------<-]>----.<++[>++++++++++<-]>++++.+++.------.--------.>>+.<++++++++++.) 2017-03-25T01:04:03Z wheelsucker quit (Remote host closed the connection) 2017-03-25T01:04:09Z jack_rabbit joined #lisp 2017-03-25T01:04:20Z rumbler31 quit (Ping timeout: 256 seconds) 2017-03-25T01:04:35Z Fare quit (Ping timeout: 240 seconds) 2017-03-25T01:04:43Z aeth: That's one of many ways to say hello world in Common Lisp 2017-03-25T01:05:16Z akkad: that ancient terminal app for osx? 2017-03-25T01:05:23Z wheelsucker joined #lisp 2017-03-25T01:05:28Z akkad: you made an lw-consile I see 2017-03-25T01:05:30Z BusFactor1: no, it's called cathode 2017-03-25T01:05:34Z akkad: tired of the gui in capi 2017-03-25T01:05:36Z BusFactor1: it's in the app store 2017-03-25T01:05:44Z akkad: yes I know. :P 2017-03-25T01:05:48Z akkad: 2010ish 2017-03-25T01:05:48Z BusFactor1: or yes, i mean, it is an ancient terminal app haha 2017-03-25T01:05:55Z BusFactor1: it's cool, i like it 2017-03-25T01:06:23Z pmc: what is a readtable? 2017-03-25T01:06:27Z akkad: lw-console is what I use as well 2017-03-25T01:06:48Z BusFactor1: it works :) 2017-03-25T01:06:53Z akkad: BusFactor1: do you use the shaker at all? 2017-03-25T01:07:20Z BusFactor1: i have :shake-shake-shake t in my delivery files 2017-03-25T01:07:26Z smokeink quit (Ping timeout: 268 seconds) 2017-03-25T01:07:33Z BusFactor1: but i haven't tested it much 2017-03-25T01:07:37Z akkad: oh (deliver 'main "mydir" 5 ...) 2017-03-25T01:07:48Z carlosdagos quit (Ping timeout: 240 seconds) 2017-03-25T01:07:55Z BusFactor1: my stuff doesn't seem to work on delivery level greater than 0 2017-03-25T01:07:58Z BusFactor1: i have to work on that 2017-03-25T01:08:01Z loke joined #lisp 2017-03-25T01:08:02Z akkad: oh right. capi 2017-03-25T01:08:08Z BusFactor1: low prority though for me now 2017-03-25T01:08:14Z pmc: nm, its in the clhs 2017-03-25T01:08:15Z BusFactor1: there's not much care for the size of desktop apps 2017-03-25T01:08:40Z akkad: (deliver 'kunabi:main "../dist/lispworks/kunabi" 0 :keep-package-manipulation t :multiprocessing t :keep-eval t :keep-fasl-dump t :keep-editor t :keep-foreign-symbols t :keep-function-name t :keep-gc-cursor t :keep-keyword-names t :keep-lisp-reader t :keep-macros t :keep-modules t :keep-top-level t :license-info nil :keep-walker t :KEEP-PRETTY-PRINTER t) ;; works 2017-03-25T01:09:17Z BusFactor1: cool 2017-03-25T01:09:31Z akkad: hit ^T 2017-03-25T01:10:11Z BusFactor1: i know nothing about the keyboard shortcuts for it 2017-03-25T01:10:21Z akkad: that is osx siginfo 2017-03-25T01:10:57Z akkad: lag 2017-03-25T01:11:09Z wildlander quit (Quit: Saliendo) 2017-03-25T01:12:12Z akkad: yeap on 2017-03-25T01:13:28Z akkad: it works under slime. 2017-03-25T01:13:44Z BusFactor1: what does? 2017-03-25T01:13:54Z akkad: (setq inferior-lisp-program "~/lw-console") 2017-03-25T01:13:59Z BusFactor1: oh, lw-console, yeah i normally use that as well 2017-03-25T01:15:18Z smokeink joined #lisp 2017-03-25T01:21:00Z smokeink quit (Quit: Lost terminal) 2017-03-25T01:21:23Z smokeink joined #lisp 2017-03-25T01:22:25Z akkad: ql 2017-03-25T01:22:35Z warweasle joined #lisp 2017-03-25T01:23:09Z akkad: on pot? :P 2017-03-25T01:26:26Z FreeBirdLjj joined #lisp 2017-03-25T01:28:44Z joneshf-laptop joined #lisp 2017-03-25T01:29:28Z akkad: that happens on LW sometimes 2017-03-25T01:31:32Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2017-03-25T01:33:08Z EvW quit (Ping timeout: 258 seconds) 2017-03-25T01:36:41Z learning joined #lisp 2017-03-25T01:38:06Z wtetzner joined #lisp 2017-03-25T01:39:45Z wtetzner quit (Remote host closed the connection) 2017-03-25T01:40:59Z reepca: So I'm in the situation of having a SLIME REPL I want to keep alive during a loop. So far I'm using code exactly like https://github.com/cbaggers/swank.live/blob/master/swank.live.lisp but have noticed that certain features of SLIME don't work during that, for example the parameter lists in the minibuffer. Any idea how I can make those work as well? They're awfully convenient... 2017-03-25T01:41:13Z learning quit (Ping timeout: 260 seconds) 2017-03-25T01:44:10Z ryanbw quit (Ping timeout: 264 seconds) 2017-03-25T01:47:44Z jameser joined #lisp 2017-03-25T01:48:16Z krwq: reepca: run a loop in a thread and do not ever block on slime repl 2017-03-25T01:49:05Z Bike: reepca: if it's easy i'd usually just punt and put the loop in a thread 2017-03-25T01:50:36Z reepca: I'm not sure how well that would work with manipulating global variables - that's currently how I control what my program does while it's running. Is there any reason I should be worried about that? 2017-03-25T01:51:02Z krwq: reepca: in some cases you might need to lock 2017-03-25T01:51:24Z krwq: but only if you mutate state in a repl while a loop is running 2017-03-25T01:52:11Z krwq: try it out first maybe there will be no problems 2017-03-25T01:52:44Z quazimodo joined #lisp 2017-03-25T01:56:20Z l04m33 joined #lisp 2017-03-25T02:04:44Z wtetzner joined #lisp 2017-03-25T02:05:55Z FreeBirdLjj joined #lisp 2017-03-25T02:07:19Z Balooga quit (Quit: leaving) 2017-03-25T02:09:20Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-25T02:18:05Z ryanbw joined #lisp 2017-03-25T02:21:08Z ffilozov left #lisp 2017-03-25T02:23:16Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-25T02:23:27Z vydd quit (Remote host closed the connection) 2017-03-25T02:23:52Z pmc quit (Quit: Leaving) 2017-03-25T02:34:56Z smokeink quit (Ping timeout: 260 seconds) 2017-03-25T02:36:11Z edgar-rft joined #lisp 2017-03-25T02:37:38Z williamyaoh joined #lisp 2017-03-25T02:38:47Z krwq: does anyone know if there is some portable way to escape argument when using uiop:run-program? 2017-03-25T02:39:28Z krwq: or alternative library for interaction with git 2017-03-25T02:39:33Z krwq: alternatively* 2017-03-25T02:41:32Z rumbler31 joined #lisp 2017-03-25T02:45:46Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-25T02:46:36Z ryanbw quit (Ping timeout: 260 seconds) 2017-03-25T02:47:21Z ryanbw joined #lisp 2017-03-25T02:47:46Z quazimodo quit (Ping timeout: 264 seconds) 2017-03-25T02:48:03Z pmc joined #lisp 2017-03-25T02:48:55Z akkad: is there a way to write-sequence to a string from a octet stream? 2017-03-25T02:50:15Z warweasle quit (Quit: rcirc on GNU Emacs 24.5.1) 2017-03-25T02:55:33Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-25T02:59:21Z wtetzner quit (Remote host closed the connection) 2017-03-25T03:01:35Z krwq: akkad: if you know or can guess encoding then yes 2017-03-25T03:02:42Z akkad: http://paste.lisp.org/+7C4V. 2017-03-25T03:02:58Z maarhart joined #lisp 2017-03-25T03:03:20Z akkad: so I get a vector of octets with the last example. Is there a vector->string for CL? 2017-03-25T03:04:14Z carlosdagos joined #lisp 2017-03-25T03:06:08Z mathrick joined #lisp 2017-03-25T03:06:26Z krwq: akkad, if you know that input is ascii then you can do it, if you do not define your encoding (or in other words - how to map from byte to character) you can't do it in any portable way 2017-03-25T03:07:43Z akkad: k 2017-03-25T03:07:51Z akkad: compressed json. 2017-03-25T03:08:28Z carlosdagos quit (Ping timeout: 240 seconds) 2017-03-25T03:08:35Z krwq: it's not CL thing, it's a general thing for any language. some languages will try to read BOM or assume encoding but that usually works only in countries which use letters similar to english 2017-03-25T03:10:36Z FreeBirdLjj joined #lisp 2017-03-25T03:12:30Z krwq: akkad: take a look at alexandria:read-stream-content-into-string 's implementation this should be fairly close to what you want 2017-03-25T03:12:50Z akkad: cool. thank you. 2017-03-25T03:13:26Z krwq: akkad: although as i told you - if you do not have enconding this will be working heuristically 2017-03-25T03:13:35Z akkad: ok 2017-03-25T03:15:28Z maarhart quit (Quit: Mutter: www.mutterirc.com) 2017-03-25T03:18:48Z sjl quit (Ping timeout: 260 seconds) 2017-03-25T03:18:51Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-25T03:19:20Z FreeBirdLjj joined #lisp 2017-03-25T03:21:05Z astronavt joined #lisp 2017-03-25T03:21:53Z akkad: yeah one emits a byte vector, and alexandria wants array type char 2017-03-25T03:24:07Z Bike: babel has various octets to string type things. 2017-03-25T03:24:45Z Bike: i don't know what compressed json is though. google suggests it could be gzipped, in which case you don't want it in a string. 2017-03-25T03:28:28Z akkad: it is gzipped. but the gzip-read/stream takes care of that aspect 2017-03-25T03:28:49Z akkad: e.g. gzip-stream:with-open-gzip-file works fine with (loop for l = (read-line in nil nil) 2017-03-25T03:28:49Z akkad: 2017-03-25T03:29:06Z Bike: so what you actually have is an uncompressed stream of octets encoding a string. 2017-03-25T03:29:34Z Bike: so yeah, babel can deal with that 2017-03-25T03:30:00Z akkad: nice thanks 2017-03-25T03:35:36Z froggey quit (Ping timeout: 260 seconds) 2017-03-25T03:37:25Z froggey joined #lisp 2017-03-25T03:37:26Z learning joined #lisp 2017-03-25T03:39:51Z pmc quit (Quit: Leaving) 2017-03-25T03:41:41Z MrWoohoo joined #lisp 2017-03-25T03:41:56Z learning quit (Ping timeout: 258 seconds) 2017-03-25T03:46:29Z TDT quit (Quit: TDT) 2017-03-25T03:56:22Z krwq: does anyone know a way to start a process and set a working directory for that process? 2017-03-25T03:59:15Z ogkloo quit (Quit: WeeChat 1.4) 2017-03-25T03:59:33Z ogkloo joined #lisp 2017-03-25T04:00:08Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-25T04:00:11Z wtetzner joined #lisp 2017-03-25T04:00:44Z FreeBirdLjj joined #lisp 2017-03-25T04:00:57Z bocaneri joined #lisp 2017-03-25T04:00:58Z bocaneri quit (Max SendQ exceeded) 2017-03-25T04:02:49Z bocaneri joined #lisp 2017-03-25T04:03:37Z sfa joined #lisp 2017-03-25T04:04:57Z wtetzner quit (Ping timeout: 240 seconds) 2017-03-25T04:05:29Z astronavt quit (Quit: Leaving...) 2017-03-25T04:05:47Z astronavt joined #lisp 2017-03-25T04:08:01Z williamyaoh quit (Quit: Lost terminal) 2017-03-25T04:13:35Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-25T04:18:22Z Tarap joined #lisp 2017-03-25T04:27:02Z smokeink joined #lisp 2017-03-25T04:35:23Z astronavt quit (Quit: Leaving...) 2017-03-25T04:44:30Z milanj quit (Quit: This computer has gone to sleep) 2017-03-25T04:45:59Z jlarocco joined #lisp 2017-03-25T04:51:59Z shaftoe: (sb-posix:chdir "/home/apugachev") 2017-03-25T04:52:14Z shaftoe: a quick google for "lisp cwd" will provide other answers 2017-03-25T04:52:40Z akkad: can't figure it out. will stick with gzip-stream 2017-03-25T04:53:14Z wheelsucker quit (Ping timeout: 258 seconds) 2017-03-25T04:54:31Z krwq: shaftoe: is there some thread safe method? can you change a dir in a single thread? 2017-03-25T04:54:49Z shaftoe: haven't a clue 2017-03-25T04:55:06Z shaftoe: sounds like testing is in order 2017-03-25T04:55:52Z krwq: shaftoe: i knew about chdir but this seems to be changing state which never works well with threads 2017-03-25T04:57:20Z IRCFrEAK joined #lisp 2017-03-25T04:57:34Z shaftoe: how often would you change into different working dirs in different threads in the lifetime of a program? 2017-03-25T04:57:48Z smokeink quit (Ping timeout: 256 seconds) 2017-03-25T04:58:00Z krwq: shaftoe: im planning to query multiple git repos at the same time right now 2017-03-25T04:58:05Z IRCFrEAK left #lisp 2017-03-25T04:58:29Z smokeink joined #lisp 2017-03-25T04:58:45Z krwq: some git commands do not work without changing current working directory 2017-03-25T04:59:09Z Tarap quit (Read error: Connection reset by peer) 2017-03-25T04:59:45Z krwq: i saw a lisp library for git (some ffi to c) but it is using native compontents which i want to avoid 2017-03-25T04:59:51Z shaftoe: did you see this? https://github.com/inaimathi/cl-cwd/blob/master/cl-cwd.lisp 2017-03-25T05:00:04Z shaftoe: so you're just shelling out to git(1) 2017-03-25T05:00:11Z process-paramete joined #lisp 2017-03-25T05:00:24Z krwq: shaftoe: that's still not thread safe 2017-03-25T05:01:17Z krwq: yes i'm just shelling to git - do not know better way yet - i was considering parsing git files but decided to leave it as last optiob 2017-03-25T05:01:28Z krwq: not sure what that number in bracket means though 2017-03-25T05:03:38Z shaftoe: (1) means which section of manpages i'm referring to 2017-03-25T05:03:56Z shaftoe: let me think of an example... 2017-03-25T05:04:17Z shaftoe: $ man -k passwd |grep ^passwd 2017-03-25T05:04:19Z shaftoe: passwd (1) - change user password 2017-03-25T05:04:21Z shaftoe: passwd (1ssl) - compute password hashes 2017-03-25T05:04:23Z shaftoe: passwd (5) - the password file 2017-03-25T05:04:40Z akkad: unix man page groups 2017-03-25T05:04:58Z carlosdagos joined #lisp 2017-03-25T05:05:05Z krwq: im new here, i saw some numbers but never thought about it 2017-03-25T05:05:05Z shaftoe: because you could either be referring the binary (1) or the file format (5) 2017-03-25T05:05:06Z shaftoe: old habit of mine 2017-03-25T05:05:18Z shaftoe: its a unix thing rather than lisp thing 2017-03-25T05:06:04Z shaftoe: to complete the explanation, you can look at different pages by man name 2017-03-25T05:06:25Z shaftoe: otherwise it'll default to the lowest numbered one 2017-03-25T05:07:16Z krwq: this is pretty nice, thanks! but still - i know that when you create a process it is possible to do it on all platforms 2017-03-25T05:07:26Z krwq: .net has it so they did find a way 2017-03-25T05:07:32Z wtetzner joined #lisp 2017-03-25T05:07:42Z shaftoe: i just looked at the cost of the "hobbyist" version of lispworks... $750 USD... if it were $50-99 that'd be more realistic 2017-03-25T05:08:00Z Jesin quit (Ping timeout: 256 seconds) 2017-03-25T05:08:07Z krwq: what's lispworks 2017-03-25T05:08:27Z process-paramete quit (Remote host closed the connection) 2017-03-25T05:08:27Z krwq looking 2017-03-25T05:08:53Z shaftoe: commercial version of lisp 2017-03-25T05:09:04Z shaftoe: the microsoft of lisp 2017-03-25T05:09:09Z krwq: how do you know if it is worth buying if you can't check it 2017-03-25T05:09:24Z krwq: especially if it is $750 2017-03-25T05:09:28Z carlosdagos quit (Ping timeout: 260 seconds) 2017-03-25T05:10:26Z FreeBirdLjj joined #lisp 2017-03-25T05:10:26Z shaftoe: there's a price page under buy links 2017-03-25T05:10:27Z shaftoe: you can get eval licenses 2017-03-25T05:10:27Z shaftoe: and personal edition is free... minus some features and limited runtime 2017-03-25T05:10:55Z shaftoe: i wanted to check out their multiplatform UI library: http://www.lispworks.com/products/capi.html 2017-03-25T05:11:00Z akkad: shaftoe: hobiest FV is that. you want hobbiest it's $500 2017-03-25T05:11:03Z krwq: but does it solve my problem? 2017-03-25T05:11:19Z akkad: shaftoe: email them for a free time trial. very useful in deciding if you want to buy it 2017-03-25T05:11:32Z akkad: you can see what it provides with no heap limits 2017-03-25T05:11:34Z krwq: im thinking of generating tiny c# code which would do this 2017-03-25T05:11:39Z akkad: c.f. #lispworks 2017-03-25T05:11:56Z shaftoe: akkad: 64bit linux hobbyist is $750, 32bit is 500 2017-03-25T05:12:06Z akkad: no one needs more than 32bits 2017-03-25T05:12:17Z aeth: 32 bits for a Lisp is... not very great 2017-03-25T05:12:21Z krwq: ok, ill generate this code faster than they respond likely 2017-03-25T05:12:26Z aeth: 32 bits have tiny fixnums 2017-03-25T05:12:28Z wtetzner quit (Ping timeout: 240 seconds) 2017-03-25T05:12:30Z krwq: it's weekend 2017-03-25T05:12:33Z Jesin joined #lisp 2017-03-25T05:12:33Z aeth: with fixnums, size matters 2017-03-25T05:12:41Z akkad: overall you won't find their stuff to be faster than sbcl 2017-03-25T05:12:43Z shaftoe: yes billg 2017-03-25T05:12:43Z shaftoe: or whoever it was that said it 2017-03-25T05:12:43Z shaftoe: 64bit all the things 2017-03-25T05:12:59Z akkad: more stable, better gc, and great threading. but not speed 2017-03-25T05:13:03Z krwq: in most of the cases i care about stability not speed 2017-03-25T05:13:11Z akkad: "more stable on my shitty code" 2017-03-25T05:13:24Z shaftoe: yep, i <3 sbcl 2017-03-25T05:13:36Z akkad: you may catch something. ick 2017-03-25T05:13:53Z shaftoe: sh make.sh --fancy #4Lyfe 2017-03-25T05:14:14Z rpg quit (Ping timeout: 256 seconds) 2017-03-25T05:15:07Z akkad: --with-sb-core-compression 2017-03-25T05:15:45Z shaftoe: that's included in fancy 2017-03-25T05:15:51Z shaftoe: everything's included in fancy 2017-03-25T05:15:55Z shaftoe: that's why it's fancy 2017-03-25T05:16:30Z fluter quit (Ping timeout: 256 seconds) 2017-03-25T05:17:46Z FreeBirdLjj quit (Ping timeout: 264 seconds) 2017-03-25T05:18:04Z dingusman joined #lisp 2017-03-25T05:19:44Z fluter joined #lisp 2017-03-25T05:20:35Z akkad: ahh 2017-03-25T05:20:47Z FreeBirdLjj joined #lisp 2017-03-25T05:22:33Z shortCircuit__ joined #lisp 2017-03-25T05:23:06Z shortCircuit__: I had a question. in https://github.com/arrdem/sad/blob/master/test/lisp.bnf this bnf . how are + * and other functions defined .. 2017-03-25T05:23:23Z krwq: found a better solution - git has a switch to override working dir 2017-03-25T05:24:06Z shaftoe: krwq: bravo 2017-03-25T05:25:45Z Bike: shortCircuit__: + is one or more repetitions, * is kleene star, | is disjunction. 2017-03-25T05:26:32Z Bike: that grammar doesn't actually... have any of those, though? 2017-03-25T05:26:36Z Bike: i mean, not * and +. 2017-03-25T05:27:18Z Bike: or do you mean that the grammar disallows functions with asterisks in their name and so on? 2017-03-25T05:28:53Z shortCircuit__: yes the first one.. the grammar doesn't actuaaly have those symols .. I want to understand how this grammar works ... 2017-03-25T05:29:11Z shortCircuit__: and by + and * I mean addintin 2017-03-25T05:29:16Z Bike: well that's where the "pretty bad" in the description comes into play. 2017-03-25T05:29:57Z BlueRavenGT quit (Ping timeout: 240 seconds) 2017-03-25T05:31:06Z shortCircuit__: :P so is there a link to a proper grammar for the lisp syntax .. I am trying to write a simple language with assignement, function and a pipe operator .. but I have no clue how to do it . looking for codes :P 2017-03-25T05:31:14Z shortCircuit__: as in how others are done 2017-03-25T05:31:44Z Bike: well common lisp, the subject of this channel, doesn't fit a context free grammar anyway. 2017-03-25T05:32:38Z Bike: But this has the basics. An expression is an atom or a (possibly dotted) parenthesized list of expressions. And that's about it. 2017-03-25T05:32:48Z Bike: "+" is just another symbol, like "foo". 2017-03-25T05:33:01Z Bike: you might also add notation for arrays and such. 2017-03-25T05:33:39Z shortCircuit__: I see 2017-03-25T05:34:02Z Bike: so, e.g, in CL an assignment is like (setf x 4) 2017-03-25T05:34:09Z Bike: there's no special "x = 4" or anything. 2017-03-25T05:36:59Z shortCircuit__: that I understand .. so there is already some table that has this + setf defined . and then a lisp program is parsed and then whereever a (string ... ) occurs the string is looked up in the heap and then in the symbol table ? 2017-03-25T05:37:05Z learning joined #lisp 2017-03-25T05:37:40Z Bike: yeah. 2017-03-25T05:37:59Z Bike: usually you have numbers too. no symbol table involved there, obviously. 2017-03-25T05:42:10Z shortCircuit__: ok cool :) 2017-03-25T05:43:57Z rjid joined #lisp 2017-03-25T05:45:39Z vlatkoB joined #lisp 2017-03-25T05:46:16Z shifty joined #lisp 2017-03-25T05:50:17Z beach: Good morning everyone! 2017-03-25T05:50:48Z rjid: Good morning beach! 2017-03-25T05:52:34Z dingusman: good evening :) 2017-03-25T05:53:49Z neoncontrails quit (Remote host closed the connection) 2017-03-25T05:54:00Z shortCircuit__ quit (Ping timeout: 260 seconds) 2017-03-25T05:54:06Z Devon joined #lisp 2017-03-25T05:54:06Z beach: dingusman: Are you new here? I don't recognize your nick. 2017-03-25T05:54:29Z dingusman: brand new. never really used irc at all before 2017-03-25T05:56:03Z beach: IRC is a great communication tool, but it can be frustrating at times. Luckily, #lisp is populated with smart and knowledgeable people, so it is a fantastic source of information. 2017-03-25T05:56:31Z maarhart joined #lisp 2017-03-25T05:57:37Z jleija quit (Quit: leaving) 2017-03-25T05:58:32Z dingusman: Cool, great to hear. I've gotten very interested in lisps lately. Working through practical common lisp 2017-03-25T05:58:54Z beach: Good plan. That's the book that is mostly recommended here. 2017-03-25T05:59:01Z maarhart quit (Client Quit) 2017-03-25T05:59:29Z beach: I mean, the one that is recommended most of the time. 2017-03-25T06:01:11Z dingusman: I'm liking it a lot. I've been trying to find resources to demonstrate practical macros. Most of the examples I've found online are silly toy examples. I think PCL does a good job 2017-03-25T06:01:32Z beach: Good. 2017-03-25T06:01:50Z krwq: dingusman: what examples did you find? 2017-03-25T06:02:02Z dingusman: in the book? or other examples I've found online? 2017-03-25T06:02:14Z krwq: dingusman: the ones you found online 2017-03-25T06:02:39Z beach: oleo: I don't have time to work on McCLIM myself at the moment. Right now, jackdaniel is maintaining it. If you need more information, ask in #clim. 2017-03-25T06:03:21Z beach: dingusman: There is an entire book dedicated to Common Lisp macros. It is called "On Lisp" and the author is Paul Graham. 2017-03-25T06:03:43Z beach: I believe it is available as a PDF online. Or at least it used to be. 2017-03-25T06:04:17Z learning quit (Remote host closed the connection) 2017-03-25T06:08:00Z dingusman: krwq: I might've misrepresented my experience a bit. Before I started PCL I had been reading a lot about racket. It's probably tougher to find good racket macro examples than common lisp 2017-03-25T06:09:04Z dingusman: beach: thanks for the recommendation. didn't know On Lisp was focused on macros. shouldn't suprise me after reading his essays viaweb 2017-03-25T06:13:06Z beach: Well, Paul Graham is a strange one. He has also written "ANSI Common Lisp" which is more of an introduction. But he really doesn't like Common Lisp very much. His books don't use the object-oriented aspects of it at all, and he designed a new language called "Arc" as an alternative to Common Lisp. It never became popular, though. And the coding style in his books is a bit off compared to accepted conventions. 2017-03-25T06:13:53Z dingusman: isn't arc proprietary? 2017-03-25T06:15:21Z beach: I don't know. I meant the language, not any particular implementation. Languages are not proprietary. 2017-03-25T06:15:35Z rjid quit (Ping timeout: 260 seconds) 2017-03-25T06:19:02Z abbe: arc implementation is foss afaik, and is available in mzscheme/racket 2017-03-25T06:20:44Z dingusman: There's at least a community-managed fork on github. Apparently it's built on racket, didn't know that 2017-03-25T06:22:42Z aeth: Yes, this is the living Arc, for some definition of living. https://github.com/arclanguage/anarki 2017-03-25T06:22:56Z aeth: At least, if you don't work for Y Combinator and thus don't have access to their Arc and the Hacker News code 2017-03-25T06:23:16Z aeth: Arc is permissively licensed so who knows what they have that isn't public. 2017-03-25T06:24:05Z beach: dingusman: Anyway, I just mentioned Arc in the context of Paul Graham. Despite the name, #lisp is dedicated to Common Lisp. 2017-03-25T06:26:42Z aeth: To compare the relative health and activity of the communities, there are possibly up to 6 Common Lisp game engines that are more active than Anarki. 2017-03-25T06:27:25Z aeth: And I wouldn't be surprised if the combined output of #lispgames is several times larger than that of the Arc community. 2017-03-25T06:27:41Z aeth: (The Common Lisp subset, I mean.) 2017-03-25T06:29:57Z sfa quit (Quit: leaving) 2017-03-25T06:37:22Z aeth: It doesn't look like there is any notable usage of Arc outside of Hacker News. https://github.com/trending/arc?since=daily 2017-03-25T06:38:11Z aeth: Compare with this where you see some large web and graphics projects (which seems to match my experience with what is popular in CL): https://github.com/trending/common-lisp?since=daily 2017-03-25T06:38:13Z Karl_Dscc joined #lisp 2017-03-25T06:38:31Z dingusman quit (Ping timeout: 246 seconds) 2017-03-25T06:39:56Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-25T06:41:49Z neoncontrails joined #lisp 2017-03-25T06:45:26Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-25T06:47:51Z dingusman joined #lisp 2017-03-25T06:49:00Z loke quit (Ping timeout: 258 seconds) 2017-03-25T06:53:43Z krwq quit (Remote host closed the connection) 2017-03-25T06:57:21Z neoncontrails quit (Remote host closed the connection) 2017-03-25T07:05:47Z carlosdagos joined #lisp 2017-03-25T07:06:45Z learning joined #lisp 2017-03-25T07:09:26Z vlatkoB_ joined #lisp 2017-03-25T07:09:57Z carlosdagos quit (Ping timeout: 240 seconds) 2017-03-25T07:13:09Z rippa joined #lisp 2017-03-25T07:13:32Z vlatkoB quit (Ping timeout: 260 seconds) 2017-03-25T07:16:12Z neoncontrails joined #lisp 2017-03-25T07:25:04Z dingusman quit (Ping timeout: 246 seconds) 2017-03-25T07:31:38Z rumbler31 joined #lisp 2017-03-25T07:32:30Z MoALTz joined #lisp 2017-03-25T07:35:55Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-25T07:41:39Z gingerale joined #lisp 2017-03-25T07:46:21Z salv0 joined #lisp 2017-03-25T08:01:37Z mishoo joined #lisp 2017-03-25T08:06:10Z shka_ joined #lisp 2017-03-25T08:06:59Z wtetzner joined #lisp 2017-03-25T08:08:33Z Karl_Dscc quit (Remote host closed the connection) 2017-03-25T08:11:05Z arbv quit (Ping timeout: 240 seconds) 2017-03-25T08:11:08Z wtetzner quit (Ping timeout: 240 seconds) 2017-03-25T08:11:35Z arbv joined #lisp 2017-03-25T08:12:03Z beach quit (Read error: Connection reset by peer) 2017-03-25T08:15:03Z FreeBirdLjj joined #lisp 2017-03-25T08:18:18Z oleo: beach: thank you 2017-03-25T08:20:29Z jackdaniel: quantity doesn't always come with quality, so comparing raw numbers says nothing. If they do, I'd be programming in Java, not CL. 2017-03-25T08:20:48Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-25T08:22:33Z rumbler31 joined #lisp 2017-03-25T08:26:40Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-25T08:26:58Z beach joined #lisp 2017-03-25T08:29:36Z beach: I wrote a new view class for Second Climacs, and forgot to check for empty strings, so my X server crashed again. But it's OK, I needed to update my software anyway, which, as we all know, still requires me to restart all applications and the operating system, because we still use software technology from 50 years ago. 2017-03-25T08:31:28Z nirved joined #lisp 2017-03-25T08:31:44Z shka_ quit (Quit: Konversation terminated!) 2017-03-25T08:31:58Z beach: I need to put in that check before I forget, and before I populate my 36 workspaces. 2017-03-25T08:32:04Z shka joined #lisp 2017-03-25T08:36:02Z beach: There. Done. 2017-03-25T08:41:22Z shka quit (Remote host closed the connection) 2017-03-25T08:43:08Z beach: Visiting a file with 11k lines in Fundamental mode takes around one second. And this is without any kind of optimization on my part. And of course, I always have DEBUG 3, SAFETY 3, and SPEED 0. 2017-03-25T08:45:11Z beach: It is reading the file one character at a time, and calling the generic function INSERT-ITEM for each character read. 2017-03-25T08:46:40Z mietek joined #lisp 2017-03-25T08:47:30Z jackdaniel: sounds fast 2017-03-25T08:47:41Z beach: Definitely fast enough. 2017-03-25T08:48:23Z akr[m] joined #lisp 2017-03-25T08:50:10Z iago joined #lisp 2017-03-25T08:52:23Z varjag joined #lisp 2017-03-25T08:56:40Z l04m33 quit (Ping timeout: 260 seconds) 2017-03-25T08:58:22Z l04m33 joined #lisp 2017-03-25T08:58:32Z Bike quit (Quit: leaving) 2017-03-25T09:01:34Z Devon quit (Ping timeout: 264 seconds) 2017-03-25T09:02:31Z ryanwatkins joined #lisp 2017-03-25T09:06:36Z carlosdagos joined #lisp 2017-03-25T09:07:44Z wtetzner joined #lisp 2017-03-25T09:08:53Z akr[m]: Hello, I'm looking for some example in Lisp (be it a blog post or a section of a book) which showcases some interesting usage of some combination of metaprogramming and the ability to modify programs while they are running 2017-03-25T09:09:14Z beach: Hello akr[m]. 2017-03-25T09:09:54Z beach: We don't usually modify programs when they are running. Stuff like that is typically done only during development. 2017-03-25T09:10:57Z carlosdagos quit (Ping timeout: 240 seconds) 2017-03-25T09:11:06Z jackdaniel: but during development mutating application while it runs is a standard technique 2017-03-25T09:11:06Z Tarap joined #lisp 2017-03-25T09:11:21Z akr[m]: Fair enough, but this doesn't have to be something you would want actually do in production 2017-03-25T09:11:29Z akr[m]: more of a showcase of something cool :) 2017-03-25T09:12:01Z jackdaniel: well, having ability to do that may be great or debugging, but some security measurements would be necessary if you plan to enable swank on production 2017-03-25T09:12:05Z wtetzner quit (Ping timeout: 240 seconds) 2017-03-25T09:13:54Z jackdaniel: akr[m]: you may try to pick something from the resources mentioned on reddit: https://www.reddit.com/r/Common_Lisp/ 2017-03-25T09:13:57Z jackdaniel: on the right bar 2017-03-25T09:14:51Z akr[m]: jackdaniel: thank you, I'll check it out 2017-03-25T09:14:52Z akr[m]: As an example of the kind of thing I'm looking for, I was wondering how feasible it would be to have a program which would modify parts of its own code using a genetic algorithm in response to external stimuli (i.e. user input) 2017-03-25T09:15:22Z beach: akr[m]: Also, the concept of a "program" is not well defined in Common Lisp. Basically, a program is just a collection of functions that are called in some pre-defined way. So whenever you define a new function or redefine an existing one, you are basically modifying a running program. 2017-03-25T09:15:56Z jackdaniel: it's not something what programmers would do every day, but that's definetely possible. You'd have to declare function as notinline and evaluate new function definitions compilation 2017-03-25T09:16:15Z jackdaniel: I'd wrap it in a macro, calling eval directly is considered a bad taste 2017-03-25T09:16:28Z mietek: What about Eurisko? 2017-03-25T09:17:01Z varjag: what about it 2017-03-25T09:17:08Z Guest77348 joined #lisp 2017-03-25T09:17:10Z mishoo quit (Ping timeout: 264 seconds) 2017-03-25T09:19:24Z beach: akr[m]: Definitely feasible. Here is an example: (defun f (x) (setf (fdefinition 'f) (compile nil `(lambda (x) (+ x ,x)))) x) 2017-03-25T09:20:17Z klltkr joined #lisp 2017-03-25T09:22:54Z beach: I am going to work on Fundamental mode in Second Climacs for a while to make sure it works, and to do some performance tests. And I will clean up the build process and document it so that others can try it out. Common Lisp mode needs to be restructured, and I don't feel like doing that at the moment. 2017-03-25T09:23:27Z akr[m]: beach: interesting, although I have to admit that I don't know what it does from looking at it 2017-03-25T09:23:35Z akr[m]: best go try it out, I guess :) 2017-03-25T09:24:12Z jackdaniel: minion: tell akr[m] about pcl 2017-03-25T09:24:18Z minion: akr[m]: look at pcl: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 2017-03-25T09:24:26Z beach: It changes its own definition. But it is not very clever. It does it only once. 2017-03-25T09:24:42Z akr[m]: ah, I see 2017-03-25T09:24:45Z akr[m]: well, that's a start :) 2017-03-25T09:28:51Z Guest77348 quit (Quit: ChatZilla 0.9.93 [Firefox 50.1.0/20161208153507]) 2017-03-25T09:29:08Z avesta joined #lisp 2017-03-25T09:29:42Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-25T09:30:53Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-25T09:33:02Z avesta left #lisp 2017-03-25T09:34:28Z smokeink quit (Ping timeout: 260 seconds) 2017-03-25T09:36:24Z pve joined #lisp 2017-03-25T09:48:31Z mishoo joined #lisp 2017-03-25T09:53:52Z FreeBirdLjj joined #lisp 2017-03-25T10:01:26Z loke joined #lisp 2017-03-25T10:02:41Z shaftoe: practical common lisp is fantastic... only thing it's missing is mentioning quicklisp (which didnt exist at the time) 2017-03-25T10:03:28Z loke: shaftoe: Right, which is why after PCL one should go to CLR 2017-03-25T10:03:32Z mishoo_ joined #lisp 2017-03-25T10:03:33Z loke: (common lisp recipies) 2017-03-25T10:04:18Z milanj joined #lisp 2017-03-25T10:04:19Z edgar-rft: if Lisp had AI, it would have known quicklisp before :-) 2017-03-25T10:05:10Z mishoo quit (Ping timeout: 268 seconds) 2017-03-25T10:06:05Z learning quit (Remote host closed the connection) 2017-03-25T10:07:30Z smokeink joined #lisp 2017-03-25T10:16:25Z shka joined #lisp 2017-03-25T10:16:57Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-25T10:17:37Z pjb joined #lisp 2017-03-25T10:24:56Z prole joined #lisp 2017-03-25T10:26:52Z andrzejku joined #lisp 2017-03-25T10:39:58Z mishoo_ quit (Ping timeout: 264 seconds) 2017-03-25T10:44:19Z xhe quit (Quit: leaving) 2017-03-25T10:45:31Z ryanwatkins quit (Ping timeout: 258 seconds) 2017-03-25T10:45:41Z KongWubba joined #lisp 2017-03-25T10:48:49Z xhe joined #lisp 2017-03-25T10:49:01Z lnostdal joined #lisp 2017-03-25T10:51:16Z nelder quit (Ping timeout: 258 seconds) 2017-03-25T10:56:47Z Nikotiini quit (Ping timeout: 252 seconds) 2017-03-25T11:01:28Z xhe quit (Ping timeout: 240 seconds) 2017-03-25T11:02:16Z EvW1 joined #lisp 2017-03-25T11:02:25Z Nikotiini joined #lisp 2017-03-25T11:02:26Z xhe joined #lisp 2017-03-25T11:02:40Z prole quit (Ping timeout: 240 seconds) 2017-03-25T11:06:55Z sjl joined #lisp 2017-03-25T11:07:39Z carlosdagos joined #lisp 2017-03-25T11:12:00Z carlosdagos quit (Ping timeout: 260 seconds) 2017-03-25T11:12:05Z Nikotiini quit (Ping timeout: 240 seconds) 2017-03-25T11:16:34Z pve quit (Ping timeout: 264 seconds) 2017-03-25T11:17:24Z ryanwatkins joined #lisp 2017-03-25T11:28:10Z safe quit (Read error: Connection reset by peer) 2017-03-25T11:34:24Z ryanwatkins quit (Ping timeout: 260 seconds) 2017-03-25T11:45:31Z Nikotiini joined #lisp 2017-03-25T11:48:21Z thodg joined #lisp 2017-03-25T11:49:51Z shka quit (Remote host closed the connection) 2017-03-25T11:51:07Z mepian joined #lisp 2017-03-25T11:51:22Z fluter quit (Ping timeout: 264 seconds) 2017-03-25T11:51:24Z shka joined #lisp 2017-03-25T11:54:09Z wildlander joined #lisp 2017-03-25T11:54:10Z wildlander quit (Max SendQ exceeded) 2017-03-25T11:54:45Z wildlander joined #lisp 2017-03-25T11:54:45Z wildlander quit (Max SendQ exceeded) 2017-03-25T11:55:24Z wildlander joined #lisp 2017-03-25T11:55:25Z wildlander quit (Max SendQ exceeded) 2017-03-25T11:55:40Z EvW1 quit (Ping timeout: 258 seconds) 2017-03-25T11:58:59Z vydd joined #lisp 2017-03-25T11:58:59Z vydd quit (Changing host) 2017-03-25T11:58:59Z vydd joined #lisp 2017-03-25T11:59:42Z EvW joined #lisp 2017-03-25T11:59:46Z wildlander joined #lisp 2017-03-25T12:01:40Z rpg_ joined #lisp 2017-03-25T12:02:19Z fluter joined #lisp 2017-03-25T12:02:29Z shka quit (Quit: Konversation terminated!) 2017-03-25T12:04:36Z xristos joined #lisp 2017-03-25T12:07:04Z learning joined #lisp 2017-03-25T12:07:10Z sjl quit (Ping timeout: 246 seconds) 2017-03-25T12:07:50Z smokeink quit (Remote host closed the connection) 2017-03-25T12:11:27Z learning quit (Ping timeout: 240 seconds) 2017-03-25T12:14:30Z d4ryus3 joined #lisp 2017-03-25T12:17:48Z d4ryus2 quit (Ping timeout: 260 seconds) 2017-03-25T12:18:24Z dddddd joined #lisp 2017-03-25T12:23:34Z shka joined #lisp 2017-03-25T12:31:42Z MrWoohoo quit (Ping timeout: 256 seconds) 2017-03-25T12:32:02Z xhe quit (Quit: Lost terminal) 2017-03-25T12:32:43Z xhe joined #lisp 2017-03-25T12:34:20Z klltkr joined #lisp 2017-03-25T12:37:53Z KongWubba quit (Ping timeout: 260 seconds) 2017-03-25T12:38:32Z sjl joined #lisp 2017-03-25T12:50:05Z xhe quit (Quit: leaving) 2017-03-25T12:51:41Z damke joined #lisp 2017-03-25T12:52:43Z KongWubba joined #lisp 2017-03-25T12:52:44Z KongWubba quit (Max SendQ exceeded) 2017-03-25T12:53:01Z KongWubba joined #lisp 2017-03-25T12:53:03Z KongWubba quit (Max SendQ exceeded) 2017-03-25T12:53:26Z KongWubba joined #lisp 2017-03-25T12:53:28Z KongWubba quit (Max SendQ exceeded) 2017-03-25T12:53:47Z safe joined #lisp 2017-03-25T12:54:48Z KongWubba joined #lisp 2017-03-25T12:54:49Z KongWubba quit (Max SendQ exceeded) 2017-03-25T12:57:33Z k3rn31 joined #lisp 2017-03-25T12:59:35Z k3rn31 quit (Client Quit) 2017-03-25T13:02:44Z EvW quit (Remote host closed the connection) 2017-03-25T13:02:55Z EvW joined #lisp 2017-03-25T13:03:30Z rumble joined #lisp 2017-03-25T13:03:38Z grumble quit (Killed (weber.freenode.net (Nickname regained by services))) 2017-03-25T13:03:38Z rumble is now known as grumble 2017-03-25T13:04:12Z wtetzner joined #lisp 2017-03-25T13:05:25Z Lord_of_Life quit (Excess Flood) 2017-03-25T13:06:18Z Baggers joined #lisp 2017-03-25T13:07:58Z Lord_of_Life joined #lisp 2017-03-25T13:08:01Z carlosdagos joined #lisp 2017-03-25T13:10:42Z BitPuffin|osx quit (Ping timeout: 260 seconds) 2017-03-25T13:12:01Z phoe quit (Ping timeout: 268 seconds) 2017-03-25T13:12:52Z carlosdagos quit (Ping timeout: 260 seconds) 2017-03-25T13:14:05Z FreeBirdLjj joined #lisp 2017-03-25T13:25:09Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-25T13:34:52Z Baggers left #lisp 2017-03-25T13:37:14Z frgo joined #lisp 2017-03-25T13:41:58Z salv0 quit (Ping timeout: 256 seconds) 2017-03-25T13:47:36Z salv0 joined #lisp 2017-03-25T13:54:35Z thodg quit (Ping timeout: 240 seconds) 2017-03-25T13:54:52Z safe quit (Read error: Connection reset by peer) 2017-03-25T14:00:15Z sjl__ joined #lisp 2017-03-25T14:01:01Z EvW quit (Ping timeout: 258 seconds) 2017-03-25T14:02:05Z EvW1 joined #lisp 2017-03-25T14:02:40Z sjl quit (Ping timeout: 240 seconds) 2017-03-25T14:02:40Z terpri quit (Read error: Connection reset by peer) 2017-03-25T14:02:51Z FreeBirdLjj joined #lisp 2017-03-25T14:03:39Z terpri joined #lisp 2017-03-25T14:07:43Z learning joined #lisp 2017-03-25T14:12:22Z learning quit (Ping timeout: 264 seconds) 2017-03-25T14:13:49Z BitPuffin|osx joined #lisp 2017-03-25T14:14:41Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-25T14:15:12Z FreeBirdLjj joined #lisp 2017-03-25T14:15:40Z bitrauser joined #lisp 2017-03-25T14:17:09Z LiamH joined #lisp 2017-03-25T14:18:25Z bitrauser quit (Client Quit) 2017-03-25T14:26:44Z xhe joined #lisp 2017-03-25T14:27:05Z bariscant joined #lisp 2017-03-25T14:27:12Z abel-abel joined #lisp 2017-03-25T14:28:19Z tumdum joined #lisp 2017-03-25T14:28:19Z tumdum quit (Changing host) 2017-03-25T14:28:19Z tumdum joined #lisp 2017-03-25T14:29:32Z abel-abel quit (Client Quit) 2017-03-25T14:30:19Z abel-abel joined #lisp 2017-03-25T14:31:07Z Mon_Ouie joined #lisp 2017-03-25T14:36:47Z xhe quit (Quit: leaving) 2017-03-25T14:37:03Z xhe joined #lisp 2017-03-25T14:37:03Z phoe joined #lisp 2017-03-25T14:39:21Z EvW1 quit (Ping timeout: 258 seconds) 2017-03-25T14:41:25Z marvin2 joined #lisp 2017-03-25T14:42:08Z marvin2: hi. can someone recommend me a pastebin that does not have ads for people viewing my code? 2017-03-25T14:43:03Z frgo: marvin2: http://paste.lisp.org ? 2017-03-25T14:44:37Z varjag quit (Ping timeout: 260 seconds) 2017-03-25T14:46:26Z Baggers joined #lisp 2017-03-25T14:46:26Z Baggers left #lisp 2017-03-25T14:48:31Z beach: marvin2: Specifically, visit this link: http://paste.lisp.org/new/ 2017-03-25T14:51:54Z damke quit (Quit: quit) 2017-03-25T14:53:41Z attila_lendvai joined #lisp 2017-03-25T14:53:43Z damke joined #lisp 2017-03-25T14:54:27Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-25T14:54:33Z FreeBird_ joined #lisp 2017-03-25T14:55:12Z malice joined #lisp 2017-03-25T14:56:39Z yrk quit (Read error: Connection reset by peer) 2017-03-25T15:05:14Z JuanDaugherty joined #lisp 2017-03-25T15:06:43Z mishoo joined #lisp 2017-03-25T15:08:46Z carlosdagos joined #lisp 2017-03-25T15:09:03Z raynold joined #lisp 2017-03-25T15:10:49Z JuanDaugherty: is the position on sbcl that it just provides AMOP and generic CLOS support without a specific CLOS as most implementations do or did I miss a presentation of the latter someplace? I believe it would have been PCL in cmucl 2017-03-25T15:10:57Z JuanDaugherty: on/off 2017-03-25T15:11:02Z JuanDaugherty: *of 2017-03-25T15:11:53Z beach: SBCL has introduced several modifications to the original PCL. 2017-03-25T15:11:54Z warweasle joined #lisp 2017-03-25T15:12:56Z beach: For example, I think Xof did a complete rewrite of the generic-function cache, using the original paper for inspiration. 2017-03-25T15:13:13Z JuanDaugherty: yes i know, but it all seems to have merged into the general implementation, also found it weird that in the manual it talks about the object system as being external to spec 2017-03-25T15:13:28Z carlosdagos quit (Ping timeout: 258 seconds) 2017-03-25T15:13:52Z JuanDaugherty: i'm used to implementations presenting the object system as thing on it's own rather than an aspect 2017-03-25T15:13:58Z beach: That is probably a leftover from pre-ANSI CLtL1 Common Lisp. 2017-03-25T15:14:17Z JuanDaugherty: perfectly ok with it, just checking I didn't overlook something 2017-03-25T15:14:37Z beach: Now I am confused... 2017-03-25T15:15:02Z beach: Which do you find better, presenting it as integrated or as separate? 2017-03-25T15:15:39Z JuanDaugherty: i can deal with either but obviously would want to start with the latter if it were available 2017-03-25T15:15:50Z wheelsucker joined #lisp 2017-03-25T15:16:28Z beach: What is your goal? Do you want to learn about a specific CLOS implementation? 2017-03-25T15:16:33Z JuanDaugherty: thanks for responding, at this point i gather there isn't anything other than the original/current cmucl pcl docs 2017-03-25T15:17:17Z JuanDaugherty: i think i'm good with the current 1.3 docs and a decent project example if there's no purposive document 2017-03-25T15:17:45Z beach: Do you specifically want to learn about how SBCL implements CLOS? 2017-03-25T15:17:49Z JuanDaugherty: or handful of projects 2017-03-25T15:18:26Z JuanDaugherty: yes 2017-03-25T15:19:08Z JuanDaugherty: (as distinct from what I said i found, as expository prose on use of the object system at the user, rather than protocol author level) 2017-03-25T15:20:12Z JuanDaugherty: protocol/object system. It may be I just never fully absorbed although i knew at some level 2017-03-25T15:20:36Z JuanDaugherty: that using oop in CL means implementing a specific oop 2017-03-25T15:21:16Z JuanDaugherty: cl-http and maybe one or two other code sets are only ones I actually worked with 2017-03-25T15:22:52Z JuanDaugherty: i observe the default of pcl or whatever and that's what seems to be missing in current sbcl docs, the basis of the query/observation 2017-03-25T15:23:15Z JuanDaugherty: i.e. that's the observation in extant projects 2017-03-25T15:23:55Z beach is having a hard time understanding JuanDaugherty. 2017-03-25T15:24:21Z JuanDaugherty: i forget if hochdeutsch or english is your native lang 2017-03-25T15:24:37Z beach: Mine? Neither. 2017-03-25T15:24:49Z beach: English is the one I use the most. 2017-03-25T15:24:50Z JuanDaugherty: ah. ? 2017-03-25T15:25:03Z beach: You can consider English to be my preferred language. 2017-03-25T15:25:29Z JuanDaugherty: a low german? I often have problems communicating for example with swabians 2017-03-25T15:26:23Z beach: My native language is Swedish, but I rarely use it anymore. In total I speak 5 languages. 2017-03-25T15:26:26Z JuanDaugherty: anyway i'm a native speaker of English and I do often get complaints on my language use, so it's not just you 2017-03-25T15:26:43Z beach: I see. 2017-03-25T15:27:00Z Kundry_Wag joined #lisp 2017-03-25T15:29:56Z ryanwatkins joined #lisp 2017-03-25T15:30:12Z bariscant quit (Ping timeout: 256 seconds) 2017-03-25T15:30:28Z beach: SBCL started off as CMUCL, and CMUCL started off as a different dialect (not Common Lisp) of Lisp. Then it became an implementation of CLtL1 (which does not have an object system). Only later was PCL added. You can still see this history in many places of SBCL. For example, the compiler is written without the use of generic functions and such. 2017-03-25T15:30:48Z bgg_ joined #lisp 2017-03-25T15:31:24Z neoncontrails quit (Remote host closed the connection) 2017-03-25T15:31:31Z lnostdal quit (Read error: Connection reset by peer) 2017-03-25T15:31:53Z neoncontrails joined #lisp 2017-03-25T15:31:56Z lnostdal joined #lisp 2017-03-25T15:33:57Z Tarap quit (Ping timeout: 240 seconds) 2017-03-25T15:36:51Z whoman: PCL? 2017-03-25T15:36:58Z neoncontrails quit (Ping timeout: 264 seconds) 2017-03-25T15:37:32Z beach: Portable Common Loops. A mostly portable implementation of CLOS. 2017-03-25T15:38:35Z beach: http://www.edm2.com/index.php/Portable_Common_Loops 2017-03-25T15:39:27Z whoman: ah interesting, thank you! 2017-03-25T15:39:42Z beach: Sure. 2017-03-25T15:43:50Z JuanDaugherty: beach, may i ask if you seldom think in Swedish? 2017-03-25T15:44:17Z beach: JuanDaugherty: I moved out 34 years ago. 2017-03-25T15:44:41Z JuanDaugherty: mentally as well as physically 2017-03-25T15:44:47Z beach: Yes. 2017-03-25T15:45:24Z beach: The thing with PCL, and thus with SBCL CLOS (and presumably with the CLOS implementation of most current implementations of Common Lisp) is that it was written at a time when processors looked very different from the way they look today. 2017-03-25T15:45:25Z beach: In particular, there was no big difference between a memory access and a register access in terms of performance. For a modern processor, the PCL generic dispatch technique uses way too many memory accesses. 2017-03-25T15:45:50Z JuanDaugherty: i see. I have relatively little exposure to immigration but now see that is what one would expect if one immerses in an expatriated culture 2017-03-25T15:46:31Z beach: JuanDaugherty: Indeed. I have lived in 5 countries on 4 continents. 2017-03-25T15:47:02Z JuanDaugherty: also apologies if I've asked this before, didn't search logs but have a sense of deja vu 2017-03-25T15:47:14Z beach: No problem. 2017-03-25T15:47:55Z JuanDaugherty: i look forward to not thinking in english but it's unlikely i guess 2017-03-25T15:48:08Z beach: Where do you live now? 2017-03-25T15:48:38Z JuanDaugherty: western new york, it's mostly a reaction to the stupidity for which americans are so justly famous 2017-03-25T15:48:38Z beach: The excessive number of memory accesses for the PCL dispatch technique is the reason I came up with a technique for SICL that is better adapted to modern processors: http://metamodular.com/generic-dispatch.pdf 2017-03-25T15:49:24Z pjb: beach: is there an index of all your pdf in http://metamodular.com ? 2017-03-25T15:49:28Z JuanDaugherty: yes, i've fully processed the situation with sbcl and the object system, ty 2017-03-25T15:49:37Z beach: pjb: I am afraid not. 2017-03-25T15:49:47Z beach: I might work on something like that, though. 2017-03-25T15:50:14Z beach: pjb: But now I am very excited about my progress on Second Climacs, so it shall have to wait. 2017-03-25T15:50:22Z pjb: No hurry. 2017-03-25T15:50:24Z akr[m] left #lisp 2017-03-25T15:50:26Z pjb: Thanks. 2017-03-25T15:50:32Z beach: I'll do my best. 2017-03-25T15:50:36Z nyef quit (Ping timeout: 260 seconds) 2017-03-25T15:50:53Z TDT joined #lisp 2017-03-25T15:51:10Z DeadTrickster quit (Ping timeout: 256 seconds) 2017-03-25T15:51:15Z salv0 quit (Remote host closed the connection) 2017-03-25T15:52:19Z okflo joined #lisp 2017-03-25T15:52:59Z Xof joined #lisp 2017-03-25T15:56:38Z DeadTrickster joined #lisp 2017-03-25T15:56:42Z afidegnum joined #lisp 2017-03-25T15:57:04Z beach: JuanDaugherty: Xof just arrived. You can ask him more about SBCL CLOS if you need to. 2017-03-25T15:57:14Z kobain joined #lisp 2017-03-25T15:57:32Z mishoo_ joined #lisp 2017-03-25T15:57:36Z JuanDaugherty is good. 2017-03-25T15:59:00Z mishoo quit (Ping timeout: 260 seconds) 2017-03-25T15:59:09Z afidegnum: hello, please can anyone help me understand this about Macros? https://ghostbin.com/paste/v355s when do we use quote and comma? if i understand well, Quote is equivalent to EVAL in some languages, right? 2017-03-25T15:59:51Z krwq joined #lisp 2017-03-25T16:00:00Z beach: afidegnum: The backquote facility is separate from the macro facility. 2017-03-25T16:00:25Z afidegnum: ? 2017-03-25T16:00:27Z whoman: backquote goes one way - comma goes the other 2017-03-25T16:00:27Z beach: afidegnum: It is just a way to create lists that have some of its elements constant. 2017-03-25T16:01:26Z beach: afidegnum: Try something like `(a b ,*read-base*) at the top-level prompt. 2017-03-25T16:01:45Z afidegnum: ok 2017-03-25T16:02:01Z abel-abel quit (Ping timeout: 246 seconds) 2017-03-25T16:02:01Z yrk joined #lisp 2017-03-25T16:02:16Z beach: afidegnum: The simplest way to see the backquote facility is to consider it to be a quote, EXCEPT that if some nested stuff is preceded by a comma, than that stuff is evaluated. 2017-03-25T16:02:30Z sjl__ quit (Ping timeout: 256 seconds) 2017-03-25T16:02:33Z yrk quit (Changing host) 2017-03-25T16:02:33Z yrk joined #lisp 2017-03-25T16:04:14Z afidegnum: so `(a b ,*read-base*) *read-base* is evaluated, but not (a b)? 2017-03-25T16:04:17Z beach: afidegnum: So in your paste, the result is a list (* x y) where x is the value of the parameter VALUE and y is either 1, 60, 3600 etc., according to the value of the parameter UNIT, which is presumably one of the symbols s, m, h, d, ms, or us. 2017-03-25T16:04:23Z beach: Correct. 2017-03-25T16:05:06Z afidegnum: and in which case do we evaluate a b? 2017-03-25T16:05:38Z beach: Anything inside a backquoted form that is not preceded by a comma is never evaluated. 2017-03-25T16:05:58Z afidegnum: yes, i understand 2017-03-25T16:06:00Z shifty quit (Ping timeout: 260 seconds) 2017-03-25T16:07:06Z afidegnum: while reading notes on letoverlambda, there is a preceding function, sleep unit, (sleep-units% 2 'm) 2017-03-25T16:07:28Z afidegnum: why not m but 'm ? 2017-03-25T16:07:56Z beach: If sleep-units% is a function, its arguments are evaluated before the function is applied. 2017-03-25T16:08:11Z beach: So if m weren't quoted, it would have to be a variable with some value. 2017-03-25T16:08:18Z afidegnum: i have updated the funciton here, https://ghostbin.com/paste/v355s 2017-03-25T16:08:26Z learning joined #lisp 2017-03-25T16:08:51Z beach: As you can see, sleep-units% is a function. 2017-03-25T16:09:05Z beach: And it needs a symbol as its second argument. 2017-03-25T16:09:36Z beach: Like I said, the arguments to a function are evaluated before the function is applied. 2017-03-25T16:09:52Z beach: Now 2 is a self-evaluating object, so its value is 2. 2017-03-25T16:10:13Z beach: 'm means (quote m) and QUOTE is a special operator with its own rule of evaluation. 2017-03-25T16:10:18Z afidegnum: aaah, wait, does it mean it mean it would have generated a variable not found error if (m) was rather used? 2017-03-25T16:10:31Z beach: The particular rule for QUOTE is "return the argument unevaluated". 2017-03-25T16:10:35Z afidegnum: and 'm refers to the variable inside the function? 2017-03-25T16:11:09Z beach: If you had said (sleep-units% 2 m) then you would have gotten an "unbound variable" error. 2017-03-25T16:11:31Z afidegnum: i can see the light :) 2017-03-25T16:11:53Z afidegnum: so in this case it m is a global variable, right? 2017-03-25T16:11:54Z beach: The parameter UNIT is a variable inside the function and the value of that variable is the value of the argument that was passed when the function was called. 2017-03-25T16:12:02Z beach: Just like in most other programming languages. 2017-03-25T16:12:30Z beach: I don't know. You didn't tell me the context of the failed call. 2017-03-25T16:12:49Z beach: It could have been (let ((m 's)) (sleep-units% 2 m)) 2017-03-25T16:12:58Z learning quit (Ping timeout: 264 seconds) 2017-03-25T16:13:15Z beach: In which case, the value of m is the symbol s. so sleep-units% will be called with the number 2 and the symbol s. 2017-03-25T16:13:19Z afidegnum: i haven't tried a failed call yet but i wanted to understand the rational behind the (un)quoted variable/symbol 2017-03-25T16:13:40Z drl joined #lisp 2017-03-25T16:13:44Z beach: In this particular situation, or in Common Lisp in general? 2017-03-25T16:13:53Z afidegnum: Common lisp 2017-03-25T16:14:17Z afidegnum: ok, i understand, now, let me continue reading 2017-03-25T16:14:24Z procparam joined #lisp 2017-03-25T16:14:30Z beach: OK, good luck. 2017-03-25T16:14:32Z afidegnum: just my deep regrets is didn't come accross lisp eary 2017-03-25T16:14:36Z afidegnum: *early 2017-03-25T16:14:37Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-25T16:14:49Z procparam quit (Client Quit) 2017-03-25T16:14:54Z beach: afidegnum: It is never too late. 2017-03-25T16:15:14Z afidegnum: yes, sure, 2017-03-25T16:15:33Z afidegnum: this could have help avoid unnecessary suffering i went through the past, 2017-03-25T16:15:42Z drl quit (Remote host closed the connection) 2017-03-25T16:15:43Z beach: Yeah, I see what you mean. 2017-03-25T16:16:00Z beach: Unfortunately, you are not alone. 2017-03-25T16:16:10Z nowhere_man joined #lisp 2017-03-25T16:16:15Z drl joined #lisp 2017-03-25T16:16:37Z afidegnum: :) 2017-03-25T16:18:37Z whoman: =) 2017-03-25T16:19:24Z malice: Hey, I haven't wrote any macro in a long time and now I'm struggling with what seems to be pretty easy. 2017-03-25T16:19:52Z malice: I want to write QLIST macro so that (qlist (1 2) (3 4) (5 6)) == (list '(1 2) '(3 4) '(5 6)). Is this possible? 2017-03-25T16:19:58Z malice: and easy? :) 2017-03-25T16:20:03Z malice: Because somehow I can't figure it out 2017-03-25T16:20:48Z beach: (loop for element in list collect `',element) 2017-03-25T16:21:34Z afidegnum: even though i m not good in macro yet but i think with this, you pair quote and loop the sequence range. am i correct beach ? 2017-03-25T16:21:43Z beach: er, `(list ,(loop for element in list collect `',element)) 2017-03-25T16:22:13Z beach: afidegnum: Yes, I find LOOP more readable than other iteration constructs. 2017-03-25T16:22:43Z drl quit (Quit: Ex-Chat) 2017-03-25T16:22:55Z beach: malice: sorry, wrong again, (list ,@(loop for element in list collect `',element)) 2017-03-25T16:24:04Z beach: *sigh* forgot the backquote this time. 2017-03-25T16:24:10Z beach: malice: You'll figure it out. 2017-03-25T16:25:08Z afidegnum: beach: sorry for disturbing again, even though i read it last week but can you please help clarify the difference between '# &body &rest ,@ letargs 2017-03-25T16:25:37Z beach: malice: If you don't like LOOP, you can do `(list ,@(mapcar (lambda (x) `',x) list)) 2017-03-25T16:26:36Z beach: afidegnum: &body and &rest are the same. They define a parameter that will hold a list of all remaining arguments (after all the required arguments have been bound to their respective parameters. 2017-03-25T16:27:02Z beach: afidegnum: I don't know what you mean by '# and letargs. 2017-03-25T16:27:10Z loke quit (Ping timeout: 240 seconds) 2017-03-25T16:27:14Z BitPuffin quit (Remote host closed the connection) 2017-03-25T16:28:27Z beach: afidegnum: ,@ is a "splicing unquote". If you do `(a b ,(list 1 2) c) you get (a b (1 2) c). If you do (a b ,@(list 1 2) c) you get (a b 1 2 c). 2017-03-25T16:29:02Z beach: malice: Did you faint? 2017-03-25T16:29:25Z afidegnum: about about '# ? 2017-03-25T16:29:46Z BitPuffin joined #lisp 2017-03-25T16:30:19Z beach: afidegnum: Did you mean #' instead? '# doesn't have any meaning. 2017-03-25T16:30:31Z afidegnum: ah, sorry it's rather #' 2017-03-25T16:31:40Z beach: #' is known as a "reader macro" Not an ordinary macro. When the READ function sees #'bla, it returns a list (function bla). It is analogous to ' which is also a reader macro. When the READ function sees 'bla, it returns the list (quote bla). 2017-03-25T16:32:06Z beach: clhs #' 2017-03-25T16:32:07Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/02_dhb.htm 2017-03-25T16:32:34Z afidegnum: for the letargs i was referring to this code, https://ghostbin.com/paste/v355s 2017-03-25T16:33:05Z beach: It is just a parameter of the macro. It has no particular meaning as such. 2017-03-25T16:33:30Z beach: In this case, it is the second required parameter. 2017-03-25T16:33:36Z afidegnum: ok, 2017-03-25T16:34:17Z beach: Presumably, the argument to the macro is something that looks like LET bindings, like the list ((x 10) (y 20) (z 30)). 2017-03-25T16:34:21Z drl joined #lisp 2017-03-25T16:34:25Z afidegnum: so inside the defmacro, &rest is equivalent to (list a b c ...) right 2017-03-25T16:34:39Z marsjaninzmarsa quit (Quit: ZNC 1.7.x-git-487-cbf5c38 - http://znc.in) 2017-03-25T16:35:11Z beach: &rest is not a parameter. It indicates that the parameter BODY holds a list of all arguments except the first two. 2017-03-25T16:35:50Z afidegnum: explain that part please, 2017-03-25T16:36:01Z beach: So if you call NLET like this (nlet bla ((x 10) (y 20)) a b c d) then the value of BODY will be the list (a b c d). 2017-03-25T16:36:05Z warweasle quit (Quit: Taking break.) 2017-03-25T16:37:31Z learning joined #lisp 2017-03-25T16:37:40Z varjag joined #lisp 2017-03-25T16:37:52Z FreeBird_ quit (Remote host closed the connection) 2017-03-25T16:37:55Z afidegnum: as or this, i have to try harder to digest it :) 2017-03-25T16:38:14Z beach: afidegnum: I need to go cook dinner. I'll leave you in the capable hands of other #lisp participants. 2017-03-25T16:38:36Z afidegnum: thanks a lot for your time 2017-03-25T16:38:49Z beach: Anytime! Good luck. 2017-03-25T16:40:11Z dingusman joined #lisp 2017-03-25T16:44:48Z Bike joined #lisp 2017-03-25T16:45:53Z atheris joined #lisp 2017-03-25T16:48:38Z BlueRavenGT joined #lisp 2017-03-25T16:51:34Z marsjaninzmarsa joined #lisp 2017-03-25T16:53:48Z pve joined #lisp 2017-03-25T16:56:00Z drl quit (Quit: Ex-Chat) 2017-03-25T16:58:15Z learning quit (Remote host closed the connection) 2017-03-25T16:58:29Z phoe: Looks like I'll get to compile SBCL on SPARC Solaris 11.3. 2017-03-25T17:01:27Z bgg_ quit (Ping timeout: 240 seconds) 2017-03-25T17:02:21Z Harag quit (Read error: Connection reset by peer) 2017-03-25T17:02:38Z Harag joined #lisp 2017-03-25T17:03:29Z beach: phoe: Paid work? 2017-03-25T17:04:44Z phoe: beach: no, I got a Sun Fire V490 in my hands. 2017-03-25T17:04:47Z Karl_Dscc joined #lisp 2017-03-25T17:06:12Z dingusman quit (Ping timeout: 260 seconds) 2017-03-25T17:06:57Z Jesin quit (Quit: Leaving) 2017-03-25T17:08:47Z phoe: ...well, Solaris 11.3 does not run on Sun Fire V490. 2017-03-25T17:08:51Z phoe: Looks like FreeBSD then. 2017-03-25T17:09:35Z carlosdagos joined #lisp 2017-03-25T17:12:11Z learning joined #lisp 2017-03-25T17:14:32Z carlosdagos quit (Ping timeout: 260 seconds) 2017-03-25T17:20:20Z neoncontrails joined #lisp 2017-03-25T17:24:58Z MrBusiness quit (Ping timeout: 246 seconds) 2017-03-25T17:25:03Z malice: beach: yeah I was away, sorry 2017-03-25T17:25:12Z malice: Thanks for your solution, I've used the mapcar version. :) 2017-03-25T17:25:19Z vibs29 quit (Ping timeout: 246 seconds) 2017-03-25T17:26:06Z beach: OK. 2017-03-25T17:26:59Z MrBusiness joined #lisp 2017-03-25T17:28:25Z sz0 joined #lisp 2017-03-25T17:30:33Z vibs29 joined #lisp 2017-03-25T17:35:32Z xhe quit (Quit: leaving) 2017-03-25T17:39:30Z mrottenkolber joined #lisp 2017-03-25T17:44:38Z beach: Does QL:SYSTEM-APROPOS show systems that aren't installed on the local machine? 2017-03-25T17:47:31Z andrzejku quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-25T17:49:57Z Bike: yeah. 2017-03-25T17:50:21Z iago_ joined #lisp 2017-03-25T17:50:23Z beach: Thanks. 2017-03-25T17:50:35Z z3r0_ joined #lisp 2017-03-25T17:50:44Z beach: I must have neglected to ask for the inclusion of some systems. 2017-03-25T17:50:48Z beach: I need to work on that. 2017-03-25T17:50:59Z z3r0_ quit (Max SendQ exceeded) 2017-03-25T17:53:15Z jiacobucci joined #lisp 2017-03-25T17:54:17Z iago is now known as Guest87631 2017-03-25T17:55:04Z iago_ quit (Client Quit) 2017-03-25T17:55:26Z learning quit (Remote host closed the connection) 2017-03-25T17:55:35Z iago_ joined #lisp 2017-03-25T17:57:52Z iago_ is now known as iago 2017-03-25T17:59:44Z bariscant joined #lisp 2017-03-25T18:03:11Z decuser joined #lisp 2017-03-25T18:05:39Z decuser quit (Client Quit) 2017-03-25T18:09:47Z pmc joined #lisp 2017-03-25T18:13:22Z FakePedro joined #lisp 2017-03-25T18:14:31Z lnostdal quit (Read error: Connection reset by peer) 2017-03-25T18:14:47Z Harag quit (Ping timeout: 258 seconds) 2017-03-25T18:14:53Z lnostdal joined #lisp 2017-03-25T18:21:26Z Harag joined #lisp 2017-03-25T18:24:11Z milanj quit (Quit: This computer has gone to sleep) 2017-03-25T18:25:45Z damke quit (Quit: quit) 2017-03-25T18:32:11Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-25T18:32:54Z Harag quit (Read error: Connection reset by peer) 2017-03-25T18:33:00Z dddddd quit (Remote host closed the connection) 2017-03-25T18:33:31Z Harag joined #lisp 2017-03-25T18:34:10Z daviid joined #lisp 2017-03-25T18:34:37Z learning joined #lisp 2017-03-25T18:34:51Z EvW joined #lisp 2017-03-25T18:47:10Z FakePedro quit (Ping timeout: 264 seconds) 2017-03-25T18:51:30Z ryanbw quit (Quit: WeeChat 1.7) 2017-03-25T18:55:57Z lnostdal quit (Read error: Connection reset by peer) 2017-03-25T18:56:05Z lnostdal_ joined #lisp 2017-03-25T18:58:04Z frgo quit (Remote host closed the connection) 2017-03-25T19:01:00Z froggey quit (Ping timeout: 260 seconds) 2017-03-25T19:02:48Z froggey joined #lisp 2017-03-25T19:02:52Z marvin2 quit (Ping timeout: 260 seconds) 2017-03-25T19:04:33Z Jesin joined #lisp 2017-03-25T19:05:13Z oleo quit (Remote host closed the connection) 2017-03-25T19:08:32Z pmc quit (Quit: Leaving) 2017-03-25T19:10:06Z jack_rabbit joined #lisp 2017-03-25T19:10:20Z wtetzner quit (Remote host closed the connection) 2017-03-25T19:10:21Z carlosdagos joined #lisp 2017-03-25T19:12:55Z malice quit (Remote host closed the connection) 2017-03-25T19:14:27Z carlosdagos quit (Ping timeout: 240 seconds) 2017-03-25T19:17:15Z AKifer joined #lisp 2017-03-25T19:18:39Z MrWoohoo joined #lisp 2017-03-25T19:20:16Z nyef joined #lisp 2017-03-25T19:20:43Z AKifer quit (Client Quit) 2017-03-25T19:23:14Z oleo joined #lisp 2017-03-25T19:24:54Z dingusman joined #lisp 2017-03-25T19:26:03Z manualcrank joined #lisp 2017-03-25T19:30:09Z Guest87631 quit (Remote host closed the connection) 2017-03-25T19:30:09Z iago quit (Remote host closed the connection) 2017-03-25T19:32:16Z kev1n joined #lisp 2017-03-25T19:35:12Z ebrasca joined #lisp 2017-03-25T19:37:43Z atheris quit (Read error: Connection reset by peer) 2017-03-25T19:47:32Z sjl__ joined #lisp 2017-03-25T19:49:44Z mrottenkolber quit (Ping timeout: 256 seconds) 2017-03-25T19:51:24Z sjl__ quit (Client Quit) 2017-03-25T19:57:00Z BitPuffin quit (Ping timeout: 260 seconds) 2017-03-25T20:02:38Z ryanbw joined #lisp 2017-03-25T20:04:27Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-25T20:06:37Z nirved quit (Quit: Leaving) 2017-03-25T20:08:05Z mishoo__ joined #lisp 2017-03-25T20:09:01Z okflo left #lisp 2017-03-25T20:09:27Z mishoo_ quit (Ping timeout: 240 seconds) 2017-03-25T20:14:33Z bariscant quit (Remote host closed the connection) 2017-03-25T20:15:02Z bariscant joined #lisp 2017-03-25T20:23:42Z attila_lendvai joined #lisp 2017-03-25T20:37:07Z marusich joined #lisp 2017-03-25T20:42:46Z mrottenkolber joined #lisp 2017-03-25T20:47:10Z ryanbw quit (Ping timeout: 264 seconds) 2017-03-25T20:48:10Z yrk quit (Read error: Connection reset by peer) 2017-03-25T20:48:47Z krwq: what are the best libraries for querying plists? or do you usually use pure cl? 2017-03-25T20:49:16Z Bike: getf and list* is usually fine. 2017-03-25T20:50:09Z krwq: Bike: what do you use list* for 2017-03-25T20:50:19Z Bike: putting stuff on the front. 2017-03-25T20:50:24Z Bike: though setf getf also does that 2017-03-25T20:50:44Z krwq: Bike: I always used push for that - is it any different? 2017-03-25T20:50:52Z Bike: not really 2017-03-25T20:51:44Z klltkr joined #lisp 2017-03-25T20:52:17Z krwq: Bike: so i.e. if you got a list of something which has a form let's say: ((:name "a" :foo "bar") (:name "b" :foo "asd")) - what's the best way to i.e. find something with name x (if doesn't exist then create and add new one) and modify field :foo into y 2017-03-25T20:52:51Z krwq: i wrote function which does that but i think i slightly overcomplicated as the code seems to be too long for such simple thing 2017-03-25T20:52:54Z neoncontrails quit (Remote host closed the connection) 2017-03-25T20:52:55Z Bike: a list of plists, that's a bit different 2017-03-25T20:53:14Z krwq: Bike: what's the easiest format to do operation i just said? 2017-03-25T20:53:23Z krwq: i'm flexible with the format 2017-03-25T20:53:31Z Bike: i'd usually use structs or something at least 2017-03-25T20:53:33Z neoncontrails joined #lisp 2017-03-25T20:53:36Z krwq: i just want a map with lookup-insert 2017-03-25T20:53:59Z krwq: i specifically wanted to write a library for managing git 2017-03-25T20:54:33Z Bike: (defstruct thing name foo), then (let ((result (find "x" list-of-things :key #'thing-name :test #'string=))) (if result (setf (thing-foo result) "y") (push (make-thing :name "x" :foo "y") list-of-things))) 2017-03-25T20:55:23Z krwq: what if you got a map inside a map 2017-03-25T20:55:24Z mrottenkolber quit (Ping timeout: 258 seconds) 2017-03-25T20:55:45Z afidegnum: hello, i m reading about clack, lack and woot web but there is no deep down documentation. anyone ever used them? 2017-03-25T20:55:56Z krwq: i.e.: git has remotes. remote has uri+type-of-uri (i.e. fetch, push) 2017-03-25T20:55:59Z Bike: what, like it's actually a tree structure rather than a list? 2017-03-25T20:56:08Z krwq: Bike: yes 2017-03-25T20:56:12Z afidegnum: i need to start using it, but don't know how to go around it, 2017-03-25T20:56:32Z Bike: geez, given how much trouble i've had with git submodules i don't know if i can even say much 2017-03-25T20:56:36Z krwq: Bike: i'd rather keep it as a lisp tree as it is more flexible and i do not want to define all structs since i dont know them 2017-03-25T20:56:41Z Bike: i don't understand how the lookup-insert works in that situation 2017-03-25T20:57:07Z krwq: so I'm gonna give you more specifics of what I'm writing 2017-03-25T20:57:21Z krwq: i.e. i have a list of local folders 2017-03-25T20:57:43Z krwq: each one of them should be: a local git remote having two or one remote set 2017-03-25T20:57:46Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-25T20:58:00Z krwq: one of them should be always a private or public repo on my github account 2017-03-25T20:58:22Z krwq: and the other one should be optional if i forked that repo from somewhere else 2017-03-25T20:58:39Z jiacobucci quit (Ping timeout: 240 seconds) 2017-03-25T20:58:57Z krwq: if there exists a folder on my disk which is not a local repo it should automatically create a repo, and check if on my github account there is a repo with such name 2017-03-25T20:59:18Z krwq: and if there is it should try to resolve merge conflict 2017-03-25T20:59:34Z krwq: if not then it should create a private repo with such name 2017-03-25T20:59:38Z Bike: so where does the tree come in 2017-03-25T20:59:52Z krwq: i need to query info about local git 2017-03-25T20:59:55Z krwq: i.e. list remotes 2017-03-25T21:00:00Z krwq: and map them to my github account info 2017-03-25T21:00:17Z krwq: so I'm wondering what is the easiest way to do such thing 2017-03-25T21:00:32Z krwq: with lisp 2017-03-25T21:01:12Z Bike: I don't think I understand the problem very well, but the most basic thing is to avoid using list manipulation functions directly. 2017-03-25T21:01:30Z krwq: also each of this repos should be detected if it is lisp repo and if it is it should update .gitignore file if it isn't properly set 2017-03-25T21:01:49Z krwq: Bike: so how would you do that 2017-03-25T21:01:57Z krwq: I want the code to be as simple as possible 2017-03-25T21:01:59Z Bike: like, if you stick with your list-of-plists, you should have (git-name plist) rather than (getf plist :name). then you can swap the underlying representation more easily later. 2017-03-25T21:02:04Z krwq: do not care about perf 2017-03-25T21:02:51Z maarhart joined #lisp 2017-03-25T21:02:51Z krwq: but with structs how do you deal with hashmaps 2017-03-25T21:03:14Z krwq: and what are the best practics to replicate git data vs local cache vs server data 2017-03-25T21:03:30Z Bike: doesn't git have a proper api? 2017-03-25T21:03:35Z krwq: you have 3 pieces of information which are similar but slightly different 2017-03-25T21:03:37Z Bike: i think you already answered that for someone else though. 2017-03-25T21:03:45Z angavrilov quit (Remote host closed the connection) 2017-03-25T21:04:29Z krwq: i was searching for git apis 2017-03-25T21:04:33Z krwq: but there is nothing good 2017-03-25T21:04:46Z krwq: also file system apis suck but i already have my versions which works fairly nice 2017-03-25T21:05:30Z krwq: so do you use classes in such cases or still structs? 2017-03-25T21:05:41Z Bike: I use classes most of the time. 2017-03-25T21:05:43Z krwq: there is so many ways you can store data in lisp im not sure which one to use 2017-03-25T21:05:54Z krwq: or which one is the fastest 2017-03-25T21:05:56Z Bike: Classes are a good default when you don't know what to do. 2017-03-25T21:06:11Z Bike: cos they're super flexible. 2017-03-25T21:06:18Z krwq: but annoying to work with fields 2017-03-25T21:06:24Z Bike: how so? 2017-03-25T21:06:45Z krwq: i never know if i should use (with-slots) everywhere or rather prefer some accessors or maybe some other way 2017-03-25T21:07:20Z krwq: i'd rather have one uniform way of representing 2017-03-25T21:07:43Z krwq: and then compiler should optimize everything 2017-03-25T21:07:56Z shka quit (Ping timeout: 256 seconds) 2017-03-25T21:07:59Z Bike: you said you didn't care about performance... :) 2017-03-25T21:08:49Z aeth: classes = general stuff; structs = if you know the types, and the types will never change, and you want/need them to be fast; arrays = use them like structs the numbers are all the same non-bignum type and you are okay with numerical indices (most implementations will support most arrays of non-bignums and the rest will just treat them as regular arrays) 2017-03-25T21:08:49Z krwq: Bike: i do not care about it when i represent program in form of code. after im finished and stuff is slow i wonder how can i not change the logic and still make everything fast - then i update my tooling 2017-03-25T21:09:22Z krwq: people usually adapt their logic so it is fast - i believe it should be opposite 2017-03-25T21:09:24Z Bike: yeah, that's the basics, like i said you use accessor functions instead of getf or whatever directly. and don't worry about performance while you're putting it together. 2017-03-25T21:09:34Z azahi joined #lisp 2017-03-25T21:09:35Z krwq: you should change your macros and functions so that the logic is simple 2017-03-25T21:09:36Z aeth: and then of course there are simple vectors (that hold everything) and lists and strings, but those are fairly obvious in use cases. 2017-03-25T21:10:05Z krwq: i mean i still think lists and vectors could be unified 2017-03-25T21:10:13Z Bike: one thing i do is just start writing out high level functions in terms of a nonexistent lower layer, and then i write the lower layer to fit whatever was convenient above. 2017-03-25T21:10:23Z Bike: sitting around thinking is too boring, you know 2017-03-25T21:10:29Z krwq: compiler should figure out if it should use conses behind or plain continous block of memory 2017-03-25T21:10:53Z Bike: that's pretty difficult 2017-03-25T21:11:02Z aeth: The tricky, non-obvious stuff in CL are hash-table vs. plist vs. alist and also... set representations. The built-in way to represent sets as lists is... not great. Probably the worst way of doing sets. 2017-03-25T21:11:05Z krwq: Bike: but it is worth to do 2017-03-25T21:11:07Z carlosdagos joined #lisp 2017-03-25T21:11:39Z Bike: doesn't matter if it's nearly impossible, you know? that's the kind of decision a human programmer could go back and forth on for various subtle reasons, a stupid computer has no chance 2017-03-25T21:11:40Z krwq: may be hard but that's how lisp should be winning with other languages 2017-03-25T21:11:46Z aeth: Oh! Also, CL has two built-in ways to do stacks (via vectors and lists), but if you wanted to do queues via either, you'd have to put in some work, too. (Or use a library.) 2017-03-25T21:12:03Z kev1n quit (Remote host closed the connection) 2017-03-25T21:12:07Z krwq: aeth: we should make simple collections then 2017-03-25T21:12:21Z krwq: and when i say list i mean list of things 2017-03-25T21:12:23Z Bike: it also implies cross-function optimization. 2017-03-25T21:12:29Z krwq: i do not care how it looks like in memory 2017-03-25T21:12:32Z krwq: whatever is most efficient 2017-03-25T21:12:58Z aeth: For the most part, CL's sequences, plists, alists, and hash-tables are sufficient. As I said, there are at least two built-in ways to do stacks. It's just (for the most part) queues and sets that are missing (unless you want sets-as-lists, which you shouldn't except for very tiny sets) 2017-03-25T21:13:02Z krwq: you have maybe few choices - optimizer could try each possible data structure and check which one works best 2017-03-25T21:13:07Z krwq: there is like 50 of them 2017-03-25T21:13:32Z krwq: it should pick any option when starting and optimize during runtime 2017-03-25T21:13:36Z krwq: and cache best settings 2017-03-25T21:13:42Z krwq: and try to improve after 2017-03-25T21:13:57Z Bike: mm, there have been compilers that tried to do such things since fortran. hasn't really been that popular. 2017-03-25T21:13:58Z krwq: this is totally doable IMO 2017-03-25T21:14:26Z krwq: i should define what i will be doing 2017-03-25T21:14:31Z krwq: not the type of collection 2017-03-25T21:14:37Z krwq: and it should not have a name 2017-03-25T21:14:41Z krwq: it should have a usage 2017-03-25T21:15:03Z Bike: the thing is that it takes an enormous amount of effort from the compiler programmer, a pretty big amount of effort from the compiler, and in the end it's probably still slower than if a human spent five minutes guessing. diminishing returns and all 2017-03-25T21:15:27Z aeth: krwq: It would be much, much better just to have a generic interface on top of indexable data structures (sequences and n-dimensional arrays where n =/= 1 and hash-tables and plists and alists, etc.) and then it would be easy for you to refactor the code later if your needs change. 2017-03-25T21:15:28Z carlosdagos quit (Ping timeout: 240 seconds) 2017-03-25T21:15:41Z aeth: krwq: It's already pretty easy to change between sequences, most of the time. 2017-03-25T21:16:22Z krwq: aeth: if this is the simplest implementation - i do not care if i use generics function or a macro as it will do its job 2017-03-25T21:16:46Z aeth: I think the issue is that there's no way to add this to CL portably afaik without a performance cost. 2017-03-25T21:16:55Z takitus joined #lisp 2017-03-25T21:17:00Z aeth: And the people who care about switching data structures to avoid performance issues will want to avoid that, too. 2017-03-25T21:17:25Z krwq: aeth: i said that you will cache best settings 2017-03-25T21:17:54Z krwq: you could make it so that you run the program for a minute it will pick best settings and compile itself permanently wuith it 2017-03-25T21:18:28Z aeth: That cannot easily be done in portable CL. 2017-03-25T21:18:59Z Bike: ah, if you're intested though you should help me with compiler dev in your spare time. i don't mind sky pies. 2017-03-25T21:19:05Z Bike: after you fix up git, presumably. 2017-03-25T21:20:05Z krwq: i do want to do the git stuff, i have some pieces written already but there is plenty of work left 2017-03-25T21:20:58Z krwq: i will scope myself to what i need i gues but will try to keep logical order in case i will plan to finish the whole thing one day 2017-03-25T21:22:04Z maarhart quit (Quit: Mutter: www.mutterirc.com) 2017-03-25T21:22:35Z bariscant quit (Remote host closed the connection) 2017-03-25T21:23:04Z bariscant joined #lisp 2017-03-25T21:29:30Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-25T21:29:42Z maarhart joined #lisp 2017-03-25T21:30:39Z jfe joined #lisp 2017-03-25T21:30:41Z jfe: hello 2017-03-25T21:31:13Z jfe: i know this isn't #emacs, but has anyone seen the following error when launching SLIME?: READ error during COMPILE-FILE: The symbol "HOST-ENT-ADDRESS-TYPE" is not external in the SB-BSD-SOCKETS package. 2017-03-25T21:31:49Z EvW quit (Ping timeout: 258 seconds) 2017-03-25T21:32:09Z Bike: i have not, but that sounds like a version mismatch between slime and swank. 2017-03-25T21:32:50Z Bike: http://stackoverflow.com/questions/42760607/slime-he-symbol-host-ent-address-type-is-not-external-in-the-sb-bsd-sockets-p and you're not alone (unless this is you) 2017-03-25T21:33:47Z jfe: thanks, i had seen that overflow post before but couldn't find it again. 2017-03-25T21:33:53Z maarhart quit (Client Quit) 2017-03-25T21:34:20Z afidegnum: which powerful web application framework do you use? 2017-03-25T21:34:39Z afidegnum: that can withstand huge requests 2017-03-25T21:35:28Z maarhart joined #lisp 2017-03-25T21:35:57Z jfe: afidegnum: `woo` looks like it's relatively fast. uses libuv afaik. 2017-03-25T21:36:47Z afidegnum: jfe: yes, i m reading about woo but its documentation is limited 2017-03-25T21:38:26Z maarhart quit (Client Quit) 2017-03-25T21:41:23Z maarhart joined #lisp 2017-03-25T21:44:05Z maarhart quit (Client Quit) 2017-03-25T21:47:02Z wtetzner joined #lisp 2017-03-25T21:47:39Z bariscant quit (Ping timeout: 240 seconds) 2017-03-25T21:54:39Z daviid quit (Ping timeout: 240 seconds) 2017-03-25T21:54:46Z pjb: aeth: you can use bit-vectors as sets of small integers too. 2017-03-25T21:55:33Z aeth: You can use integers as even smaller sets, too. 2017-03-25T21:55:54Z aeth: Up to about 60 elements 2017-03-25T21:56:13Z aeth: (if you want to avoid the slow code) 2017-03-25T21:56:27Z Bike: i still don't see when to use bit vectors instead of integers 2017-03-25T21:56:32Z Bike: even bignums seem like they'd be faster 2017-03-25T21:56:43Z pjb: Bike: when you want to mutate your sets. 2017-03-25T21:57:02Z Bike: that would explain it 2017-03-25T21:57:14Z atheris_ joined #lisp 2017-03-25T21:58:02Z mietek left #lisp 2017-03-25T21:58:32Z MoALTz quit (Quit: Leaving) 2017-03-25T21:58:35Z aeth: Bike: I am actually not sure if bignums are faster. 2017-03-25T21:59:27Z pjb: aeth: for small bignum, they could be. 2017-03-25T21:59:39Z pjb: It really depends on the implementation. 2017-03-25T21:59:47Z aeth: Bike: You probably want bit-vectors when you want to use sequence functions on them. 2017-03-25T21:59:53Z pjb: (One could very well use the same code to implement both). 2017-03-25T22:00:11Z Bike: i'd really rather do ffs than (find 1 ...) 2017-03-25T22:00:48Z jfe quit (Remote host closed the connection) 2017-03-25T22:01:03Z Lord_of_Life quit (Excess Flood) 2017-03-25T22:02:32Z dddddd joined #lisp 2017-03-25T22:03:28Z Lord_of_Life joined #lisp 2017-03-25T22:05:47Z aeth: Clearly, the solution is to make integers sequences and get rid of bit-vectors altogether. 2017-03-25T22:07:15Z pjb: Why do you say that? Bit-vectors are very nice. Also, there are bit arrays for those nice bitmap display and graphics. 2017-03-25T22:07:29Z pjb: And with displaced arrays, for windows! 2017-03-25T22:07:53Z azahi quit (Quit: Cya) 2017-03-25T22:07:59Z pjb: (nah, jj, array displacement doesn't cut slices) 2017-03-25T22:19:47Z milanj joined #lisp 2017-03-25T22:22:41Z vlatkoB_ quit (Remote host closed the connection) 2017-03-25T22:24:52Z Tarap joined #lisp 2017-03-25T22:28:08Z bariscant joined #lisp 2017-03-25T22:28:58Z pmc joined #lisp 2017-03-25T22:32:46Z bariscant quit (Ping timeout: 264 seconds) 2017-03-25T22:33:39Z thodg joined #lisp 2017-03-25T22:34:44Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-25T22:43:08Z pmc quit (Quit: Leaving) 2017-03-25T22:48:30Z ebrasca quit (Remote host closed the connection) 2017-03-25T22:49:04Z dingusman quit (Ping timeout: 246 seconds) 2017-03-25T22:50:05Z EvW1 joined #lisp 2017-03-25T23:03:38Z Xach: bit vectors seem a bit simpler to me 2017-03-25T23:04:01Z whiteline quit (Quit: Leaving) 2017-03-25T23:04:25Z aeth: Xach: that's why I did this: https://gitlab.com/zombie-raptor/zombie-raptor/blob/027c20ae395cede0443f58372890264fd3a2750a/math/boolean-set.lisp 2017-03-25T23:04:49Z aeth: Now, I'm not doing cryptic logical operations on integers. Instead, I'm doing set operations on something I called a "boolean set" 2017-03-25T23:05:07Z wheelsucker quit (Ping timeout: 260 seconds) 2017-03-25T23:05:22Z aeth: The boolean set just *happens* to be a number from 0 to (1- (expt 2 60)) 2017-03-25T23:06:32Z aeth: I actually caught iirc two logic errors by moving to set theory because it became very clear exactly what I was trying to do. 2017-03-25T23:08:36Z aeth: Also, I found that I was using subset a lot of the time when I could also just be checking for membership. 2017-03-25T23:08:50Z whiteline joined #lisp 2017-03-25T23:10:29Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-25T23:10:32Z aeth: I could probably add two more variations, one that operates on &rest instead of two items, and one that doesn't have an upper size limit but is potentially less efficient. 2017-03-25T23:11:52Z carlosdagos joined #lisp 2017-03-25T23:13:00Z tumdum quit (Ping timeout: 260 seconds) 2017-03-25T23:13:42Z dingusman joined #lisp 2017-03-25T23:15:11Z krwq quit (Remote host closed the connection) 2017-03-25T23:16:22Z carlosdagos quit (Ping timeout: 246 seconds) 2017-03-25T23:20:00Z dingusman quit (Remote host closed the connection) 2017-03-25T23:20:00Z Mon_Ouie quit (Ping timeout: 260 seconds) 2017-03-25T23:24:19Z nelder joined #lisp 2017-03-25T23:24:48Z Harag1 joined #lisp 2017-03-25T23:26:32Z Harag quit (Ping timeout: 260 seconds) 2017-03-25T23:26:33Z Harag1 is now known as Harag 2017-03-25T23:33:07Z Josh_2 joined #lisp 2017-03-25T23:34:29Z eazar001 quit (Quit: WeeChat 1.5) 2017-03-25T23:34:40Z eazar001 joined #lisp 2017-03-25T23:35:04Z dingusman joined #lisp 2017-03-25T23:43:59Z gingerale quit (Remote host closed the connection) 2017-03-25T23:46:48Z Karl_Dscc quit (Remote host closed the connection) 2017-03-25T23:47:37Z learning quit 2017-03-25T23:54:35Z jfb4 quit (Ping timeout: 240 seconds) 2017-03-25T23:54:59Z abel-abel joined #lisp 2017-03-25T23:56:24Z pve quit (Ping timeout: 260 seconds) 2017-03-25T23:56:28Z jfb4 joined #lisp 2017-03-25T23:58:57Z vydd quit 2017-03-26T00:00:32Z dddddd quit (Ping timeout: 260 seconds) 2017-03-26T00:03:06Z Harag quit (Remote host closed the connection) 2017-03-26T00:03:50Z Harag joined #lisp 2017-03-26T00:11:11Z whiteline quit (Remote host closed the connection) 2017-03-26T00:13:22Z dddddd joined #lisp 2017-03-26T00:15:32Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-26T00:15:52Z klltkr joined #lisp 2017-03-26T00:15:52Z klltkr quit (Client Quit) 2017-03-26T00:24:58Z dingusman quit (Ping timeout: 246 seconds) 2017-03-26T00:28:45Z whiteline joined #lisp 2017-03-26T00:34:17Z pmc joined #lisp 2017-03-26T00:52:02Z jameser joined #lisp 2017-03-26T00:52:14Z smokeink joined #lisp 2017-03-26T00:52:58Z marusich quit (Quit: Leaving) 2017-03-26T00:54:52Z wildlander quit (Quit: Saliendo) 2017-03-26T00:55:40Z mishoo__ quit (Ping timeout: 260 seconds) 2017-03-26T00:59:42Z smokeink quit (Ping timeout: 256 seconds) 2017-03-26T01:00:36Z pmc quit (Quit: Leaving) 2017-03-26T01:03:06Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-26T01:04:59Z daviid joined #lisp 2017-03-26T01:05:34Z whiteline quit (Remote host closed the connection) 2017-03-26T01:06:51Z whiteline joined #lisp 2017-03-26T01:08:30Z jameser joined #lisp 2017-03-26T01:11:59Z wtetzner quit (Remote host closed the connection) 2017-03-26T01:12:37Z carlosdagos joined #lisp 2017-03-26T01:15:40Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-26T01:17:13Z carlosdagos quit (Ping timeout: 268 seconds) 2017-03-26T01:17:50Z varjag quit (Ping timeout: 256 seconds) 2017-03-26T01:18:58Z jameser joined #lisp 2017-03-26T01:19:19Z jameser quit (Client Quit) 2017-03-26T01:21:10Z mepian quit (Quit: Leaving) 2017-03-26T01:23:05Z jameser joined #lisp 2017-03-26T01:24:10Z FreeBirdLjj joined #lisp 2017-03-26T01:26:31Z neoncontrails joined #lisp 2017-03-26T01:29:01Z FreeBirdLjj quit (Ping timeout: 246 seconds) 2017-03-26T01:29:06Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-26T01:41:22Z EvW1 quit (Ping timeout: 258 seconds) 2017-03-26T01:46:36Z araujo quit (Read error: Connection timed out) 2017-03-26T01:47:41Z araujo joined #lisp 2017-03-26T01:47:41Z araujo quit (Changing host) 2017-03-26T01:47:41Z araujo joined #lisp 2017-03-26T02:01:42Z whoman2 joined #lisp 2017-03-26T02:02:00Z whoman quit (Remote host closed the connection) 2017-03-26T02:02:53Z Josh_2 quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-26T02:03:15Z whoman2 is now known as whoman 2017-03-26T02:03:52Z pyx joined #lisp 2017-03-26T02:04:12Z pyx quit (Client Quit) 2017-03-26T02:09:20Z afidegnum_ joined #lisp 2017-03-26T02:10:37Z afidegnum quit (Ping timeout: 260 seconds) 2017-03-26T02:10:45Z afidegnum_ is now known as afidegnum 2017-03-26T02:22:08Z pjb quit (Ping timeout: 240 seconds) 2017-03-26T02:22:54Z dingusman joined #lisp 2017-03-26T02:23:09Z dddddd quit (Ping timeout: 240 seconds) 2017-03-26T02:27:45Z sellout- joined #lisp 2017-03-26T02:29:17Z abel-abel quit (Ping timeout: 258 seconds) 2017-03-26T02:33:04Z dingusman quit (Ping timeout: 246 seconds) 2017-03-26T02:37:04Z dddddd joined #lisp 2017-03-26T02:45:36Z ryanwatk` joined #lisp 2017-03-26T02:47:18Z safe joined #lisp 2017-03-26T02:47:22Z ryanwatkins quit (Ping timeout: 256 seconds) 2017-03-26T02:49:51Z neoncontrails quit (Remote host closed the connection) 2017-03-26T02:50:29Z neoncontrails joined #lisp 2017-03-26T02:51:04Z xhe joined #lisp 2017-03-26T02:52:50Z TCZ joined #lisp 2017-03-26T02:54:46Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-26T02:59:59Z TCZ quit (Quit: Leaving) 2017-03-26T03:04:30Z LiamH quit (Quit: Leaving.) 2017-03-26T03:08:10Z BitPuffin|osx quit (Ping timeout: 264 seconds) 2017-03-26T03:11:57Z Bike quit (Ping timeout: 260 seconds) 2017-03-26T03:12:47Z Bike joined #lisp 2017-03-26T03:13:24Z carlosdagos joined #lisp 2017-03-26T03:17:48Z carlosdagos quit (Ping timeout: 240 seconds) 2017-03-26T03:19:46Z pillton joined #lisp 2017-03-26T03:24:03Z wtetzner joined #lisp 2017-03-26T03:44:26Z dthomp2 joined #lisp 2017-03-26T03:47:23Z dthomp2 quit (Quit: Page closed) 2017-03-26T03:52:10Z fe[nl]ix quit (Remote host closed the connection) 2017-03-26T03:52:10Z Blkt quit (Read error: Connection reset by peer) 2017-03-26T03:53:30Z Blkt joined #lisp 2017-03-26T03:53:51Z fe[nl]ix joined #lisp 2017-03-26T03:55:03Z beach: Good morning everyone! 2017-03-26T03:55:10Z wtetzner quit (Remote host closed the connection) 2017-03-26T03:55:40Z nyef: Hello beach. 2017-03-26T03:55:54Z frug72 quit (Quit: ZNC - http://znc.in) 2017-03-26T03:56:26Z beach: Hello nyef! How is your "computer museum" going? 2017-03-26T03:57:36Z nyef: Heh. Well, I managed to use the MacIvory for a bit, mostly looking at the document explorer, but also using the lisp listener to evaluate such classic forms as (+ 3 4) and (disassemble #'+). 2017-03-26T03:57:52Z beach: Great! 2017-03-26T03:57:58Z nyef: And now I'm away from the hardware for three weeks. /-: 2017-03-26T03:58:33Z beach: Oh? Traveling? 2017-03-26T03:58:52Z nyef: I split my time between two locations. 2017-03-26T03:59:00Z beach: I see. 2017-03-26T03:59:13Z beach: Both in the same time zone? 2017-03-26T03:59:43Z nyef: Yes. About 60 miles apart. 2017-03-26T04:00:11Z nyef: One is home, the other is close to Boston. 2017-03-26T04:00:56Z nyef: Originally for work reasons, though they've become far less important over time. 2017-03-26T04:01:24Z defaultxr joined #lisp 2017-03-26T04:01:54Z beach: Do you plan to make a choice at some point? 2017-03-26T04:03:13Z nyef: I'm probably not going to change things any time soon. 2017-03-26T04:05:33Z jack_rabbit joined #lisp 2017-03-26T04:12:21Z defaultxr quit (Ping timeout: 268 seconds) 2017-03-26T04:21:09Z beach: For Common Lisp mode of Second Climacs, I use the reader from SICL to parse the buffer contents. But SICL is big and not ready for general use, and only a small part of it is needed for Second Climacs. I could include the reader in Second Climacs, but then I would have code duplication. Or I could extract the reader from SICL into a separate repository and have Second Climacs depend on that repository. Any advice? 2017-03-26T04:22:46Z nyef: How important is it that Second Climacs be usable by other people outside of the context of SICL? 2017-03-26T04:23:07Z beach: Very. 2017-03-26T04:23:26Z beach: Er, let me think about it... 2017-03-26T04:23:32Z baroncharlus joined #lisp 2017-03-26T04:23:50Z beach: I am planning to use part of Cleavir for Common Lisp mode as well... 2017-03-26T04:25:20Z beach: I don't want Second Climacs to depend on all of SICL. 2017-03-26T04:26:10Z beach: But it will depend on the SICL reader and on some parts of Cleavir (which is still part of SICL) for the Common Lisp code analyzer. 2017-03-26T04:27:43Z beach: I still plan to extract Cleavir from SICL, because Cleavir is more generally useful in other implementations. 2017-03-26T04:28:17Z nyef: Ah, better question: How important is it that the Common Lisp mode for Second Climacs be usable outside of the context of SICL? 2017-03-26T04:28:26Z beach: Very. 2017-03-26T04:28:48Z beach: It is supposed to be usable with most implementations. 2017-03-26T04:29:09Z atheris_ quit (Ping timeout: 240 seconds) 2017-03-26T04:30:31Z nyef: It seems to me that any way you slice it, you end up with a maintenance problem. 2017-03-26T04:30:44Z beach: Hence my question... :( 2017-03-26T04:31:36Z Bike: what parts of cleavir would you use? i thought the reader was reasonably independent 2017-03-26T04:31:36Z beach: Maybe I'll start by extracting the reader into a separate repository. It could be useful as an independent module. 2017-03-26T04:32:14Z beach: Bike: I am not sure. I might even need to generate HIR. 2017-03-26T04:32:17Z nyef: What about "just" having a way to package only the reader as a separate distributable thing, but leaving it in the SICL repository? 2017-03-26T04:32:49Z beach: nyef: How do I explain that in the Second Climacs install document? 2017-03-26T04:33:12Z beach: nyef: It is already separate, in that it has its own ASDF system definition. 2017-03-26T04:34:09Z nyef: Well, if they're pulling from source control, they'll need to pull all of SICL, but if they're just working from distribution archives, then you'd provide a just-the-sicl-reader archive that they could install somehow? 2017-03-26T04:34:10Z beach: Bike: The other day, I hinted at a feature where one could hold the mouse over a lexical variable and have potential definition points (LET bindings or assignments) be highlighted. 2017-03-26T04:34:25Z beach: Bike: That requires computing UD and DU chains in HIR. 2017-03-26T04:34:40Z Bike: UD and DU? 2017-03-26T04:34:44Z Bike: use definition? 2017-03-26T04:34:47Z beach: yes. 2017-03-26T04:34:49Z nyef: Use-Definition, and Definition-Use. 2017-03-26T04:35:11Z milanj quit (Quit: This computer has gone to sleep) 2017-03-26T04:35:48Z beach: nyef: Yes, I could extract the reader and ask for it to be included in Quicklisp. 2017-03-26T04:37:16Z beach: I guess that initially I can just ask that people clone SICL, but then only use the reader. Ultimately, I might do something different, but since Second Climacs is not going to be finished in the near future, I can always thing about it later. 2017-03-26T04:38:59Z beach: Bike: I think it would be cute to include such functionality in Second Climacs. It would be unique in editors for Common Lisp as far as I can tell. 2017-03-26T04:39:09Z Bike: i bet. 2017-03-26T04:39:20Z beach: Bike: And if I can do it at typing speed, it would be publishable. :) 2017-03-26T04:39:23Z defaultxr joined #lisp 2017-03-26T04:39:26Z beach: [which I think I can do] 2017-03-26T04:39:54Z Bike: you'd need hir with source info first 2017-03-26T04:40:34Z beach: True. I have the source info in Second Climacs already. I just need to pair it up with AST and HIR generation. 2017-03-26T04:41:05Z beach: The "parse result" of Second Climacs is very similar to the CST (Concrete Syntax Tree) that I started implementing in Cleavir. 2017-03-26T04:41:18Z beach: I would like to merge the two at some point. 2017-03-26T04:41:56Z beach: And I would like for Cleavir to use CST as input. If only S-expressions are provided, it is easy to generate CST from it (but it will have no source information). 2017-03-26T04:43:24Z myrkraverk quit (Remote host closed the connection) 2017-03-26T04:44:25Z myrkraverk joined #lisp 2017-03-26T04:44:51Z beach: The Second Climacs "parse result" included stuff like comments and other things for which the reader macro returns no values. But I can include that in the definition of CST even if the default reader does not provide it. 2017-03-26T04:46:58Z abel-abel joined #lisp 2017-03-26T04:47:58Z beach: Bike: The reason I have not worked on an implementation-independent lambda-list parser for Cleavir is that I really want source code manipulation to work on CSTs, and that's a big change to make. Oh well, so much work, so little time. 2017-03-26T04:48:57Z TDT quit (Quit: TDT) 2017-03-26T04:51:17Z beach: One cute thing I implemented for CSTs (but it has probably bitrotted by now) was "intelligent macroexpand" whereby a CST would be re-created from an initial CST and the macro expansion of its associated S-expression (as accurately as possible). That way, source information would be preserved around macro expansion. 2017-03-26T04:51:55Z Bike: seems pretty essential 2017-03-26T04:52:11Z beach: For good source tracking, yes. 2017-03-26T04:52:40Z beach: But it is not a catastrophe if it is not 100% accurate. 2017-03-26T04:54:24Z Bike: yeah, it would be nice to have anything. 2017-03-26T04:54:38Z Bike: for the DX analysis i had it just warn along the lines of "there's a bad dynamic-extent declaration somewhere" 2017-03-26T04:54:41Z Bike: good luck, programmer 2017-03-26T04:54:48Z beach: Yeah, I know. 2017-03-26T04:55:42Z beach: So, right now, the GENERATE-AST part of Cleavir has some functions that can handle both S-expressions and CSTs, but most of them still handle only S-expressions. I first thought I would do that for all functions. But now I think that I just make them handle CSTs and require an initial CST creation if all we have is an S-expression. 2017-03-26T04:56:04Z beach: That's a big change to make though, and I don't know how to do it without disturbing my client too much. 2017-03-26T04:56:13Z nyef: Ugh. That reminds me. I still need to work out the proper semantics for DX in SBCL. So far as I'm aware it's not exactly broken, but there are definite optimization opportunities that the current implementation can't take advantage of. 2017-03-26T04:56:35Z Bike: what is required on the implementation end? 2017-03-26T04:56:52Z beach: Bike: Are you asking me or nyef? 2017-03-26T04:56:57Z Bike: nyef: i remember you saying it was completely broken a few weeks ago 2017-03-26T04:56:58Z Bike: beach: you 2017-03-26T04:57:33Z beach: Bike: Every function in the GENERATE-AST part needs to be modified so that uses (and sometimes creates) CSTs. That's the big part. 2017-03-26T04:57:48Z ryanbw joined #lisp 2017-03-26T04:58:02Z beach: Bike: Some of those functions could just extract the S-expression for now as long as they recognize CSTs. 2017-03-26T04:58:34Z nyef: Bike: I might have said that. I certainly said that it was a pile of hacks that nobody has ever understood completely. 2017-03-26T04:58:36Z beach: ... but they all need to use the same representation consistently. 2017-03-26T04:59:53Z maarhart joined #lisp 2017-03-26T05:00:14Z beach: Bike: All of the code in CODE-UTILITIES need to be rewritten, or rather, a new library (say CST-UTILITIES) needs to be created. The big part is the implementation-independent lambda-list parser. 2017-03-26T05:00:29Z Bike: yeah i kind of thought that might be required 2017-03-26T05:01:15Z beach: Bike: Right now, the result of the lambda-list parser is a standard instance with a slot for each kind of parameter, but that won't do, because an implementation may introduce new lambda-list keywords, and their position in the lambda list may be important. 2017-03-26T05:02:10Z ryanbw quit (Ping timeout: 246 seconds) 2017-03-26T05:02:33Z loke joined #lisp 2017-03-26T05:02:33Z maarhart quit (Read error: Connection reset by peer) 2017-03-26T05:02:50Z beach: So we need a lambda-list parser that preserves the order, presumably as a list of standard instances. And we need some parsing technology, probably Earley or combinator parsing so that client code can add new rules in a modular way. 2017-03-26T05:03:32Z beach: Did I mention "so much work, so little time"? 2017-03-26T05:04:10Z ryanbw joined #lisp 2017-03-26T05:04:27Z wheelsucker joined #lisp 2017-03-26T05:05:24Z beach: Anyway, a complete set of CST utilities would be very useful for other things as well, so it may be worth the effort. 2017-03-26T05:06:49Z borei joined #lisp 2017-03-26T05:07:11Z borei: hi all 2017-03-26T05:08:33Z borei: i have question about "operators overload" (from C++ world). 2017-03-26T05:08:43Z borei: so my problem is the following 2017-03-26T05:09:41Z dddddd quit (Remote host closed the connection) 2017-03-26T05:10:21Z borei: i have 2 types of objects - Vector and Matrix - they are linear algebra object(s) with defined math on the them - like sum and mulitply by number, components can be different - double, int, complex 2017-03-26T05:10:51Z borei: i found that for proper isolation i should use packages 2017-03-26T05:11:09Z borei: them export functionality from them 2017-03-26T05:12:02Z borei: my question would be - i exported "+" operator from both packages, how lisp will know what one to use 2017-03-26T05:12:20Z borei: sorry if use wrong terminology 2017-03-26T05:12:27Z beach: borei: You wouldn't do it that way. 2017-03-26T05:12:49Z borei: ok, what is my option in such case ? 2017-03-26T05:13:02Z beach: borei: You would have a generic function named (say) + and then each package would define methods on it specialized to its own classes. 2017-03-26T05:13:51Z beach: borei: That way, client code would just use + and the generic dispatch of your Common Lisp system would figure out what method to apply. 2017-03-26T05:14:09Z rpg_ quit (Ping timeout: 240 seconds) 2017-03-26T05:14:10Z carlosdagos joined #lisp 2017-03-26T05:14:16Z borei: sounds good ! 2017-03-26T05:14:38Z borei: seems like need to rewind docs and read about generic functions 2017-03-26T05:15:39Z borei: beach: one question - do you work on clasp with drmeister ? 2017-03-26T05:16:39Z daviid quit (Ping timeout: 240 seconds) 2017-03-26T05:16:42Z beach: borei: Not directly, no. Clasp uses Cleavir for its compiler and I am the author of Cleavir. Bike works both on Clasp and on Cleavir. 2017-03-26T05:16:53Z beach: borei: Why do you ask? 2017-03-26T05:17:11Z ryanwatk` quit (Ping timeout: 258 seconds) 2017-03-26T05:18:35Z carlosdagos quit (Ping timeout: 240 seconds) 2017-03-26T05:19:01Z borei: i remember i saw your nickname in commiters, maybe different person, i was inspired by drmeister to look towards lisp 2017-03-26T05:20:40Z beach: I see. I don't think I have committed anything to Clasp. Congratulations to discovering Common Lisp! 2017-03-26T05:23:36Z borei: thanks ! seems like it's gonna be very steep learning curve, not sure if my approach is correct or not. currently im trying to build some analogy with traditional languages like C/C++, Tcl, but that approach can start to play significant drawback later, because lisp feature will not be absorbed. 2017-03-26T05:24:25Z borei: not to miss that moment, when i need to stop to look back 2017-03-26T05:24:50Z moei quit (Quit: Leaving...) 2017-03-26T05:26:46Z defaultxr quit (Ping timeout: 264 seconds) 2017-03-26T05:27:07Z axion: Does it make sense to define different ftype declarations for primary methods or is it even possible? 2017-03-26T05:27:28Z araujo quit (Ping timeout: 240 seconds) 2017-03-26T05:28:22Z Bike: it wouldn't do much good anyway 2017-03-26T05:28:32Z axion: Also, would I need a compiler macro to generate an ftype declaration? 2017-03-26T05:28:34Z wheelsucker quit (Ping timeout: 264 seconds) 2017-03-26T05:28:53Z mrottenkolber joined #lisp 2017-03-26T05:29:22Z araujo joined #lisp 2017-03-26T05:34:12Z araujo quit (Ping timeout: 260 seconds) 2017-03-26T05:35:25Z eazar001 quit (Ping timeout: 246 seconds) 2017-03-26T05:38:06Z araujo joined #lisp 2017-03-26T05:38:13Z bgg_ joined #lisp 2017-03-26T05:39:28Z Autolycus joined #lisp 2017-03-26T05:39:43Z loke: borei: CL is closer than you might think to other languages 2017-03-26T05:40:57Z Tarap quit (Ping timeout: 240 seconds) 2017-03-26T05:42:25Z edgar-rft: the funny thing is that Lisp already had a tradition when C etc didn't ebven exist 2017-03-26T05:42:34Z kev1n joined #lisp 2017-03-26T05:49:15Z eazar001 joined #lisp 2017-03-26T05:52:55Z mhd joined #lisp 2017-03-26T05:54:21Z beach is thinking about how to define concrete syntax trees (CSTs) so that they are useful both for source tracking in the Cleavir compiler and for incremental analysis of Common Lisp code in Second Climacs. 2017-03-26T05:56:44Z beach: Unknown reader macros can do arbitrary things, like adding an expression that was not read, removing an expression that was read, or changing the order between sub-expressions that were read. 2017-03-26T05:56:57Z mhd quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-26T05:56:58Z mhd quit (Client Quit) 2017-03-26T06:01:18Z damke joined #lisp 2017-03-26T06:02:25Z loke` quit (Remote host closed the connection) 2017-03-26T06:02:55Z borei: find good explanation to my question and generic function - https://en.wikipedia.org/wiki/Generic_function 2017-03-26T06:03:39Z loke`` joined #lisp 2017-03-26T06:05:02Z borei: loke: agree, syntax is ... different, but logic - is ok. my concerns is - not to miss LISP features which are not available in other languages. for now i have zero knowledge about such features. 2017-03-26T06:05:08Z BlueRavenGT quit (Ping timeout: 256 seconds) 2017-03-26T06:05:43Z loke: borei: I wouldn't worry about that. 2017-03-26T06:06:08Z loke: You can start by writing code in a style that is familiar to you, and then you will find yourself using more and more Lisp-specific stuff. 2017-03-26T06:06:13Z kev1n quit (Ping timeout: 246 seconds) 2017-03-26T06:06:18Z aeth: borei: The only Lisp feature you're not going to see done well in some other language is macros. If a language does macros Lisp- style on s-expressions, it's probably a cousin of Lisp. 2017-03-26T06:06:46Z aeth: What makes Common Lisp special is that it has quite a lot of different paradigms in one language, and because of the syntax, they don't seem out of place. 2017-03-26T06:06:50Z loke: Now, the most important benefit of Lisp isn't really the language per se,e but rather the way in which you develop. The way in which you write code and recompile functions in a running program. All of that is much more important tan language features you can learn later. 2017-03-26T06:07:33Z aeth: loke: agreed 2017-03-26T06:09:01Z aeth: Some languages have workaround hacks for hotloading stuff, but in Lisp that's the norm. 2017-03-26T06:09:45Z aeth: The main exceptions are packages and structs. 2017-03-26T06:10:23Z borei: it's hidden from me for now, need to get momentum. i have program (not completed) which is mix of C/C++ and Tcl and now im converting it to C/C++ and Lisp, so learning on the fly. 2017-03-26T06:10:56Z aeth: Imo, the best way to learn imo is to just write and write and write, and revise older code to be more idiomatic Lisp later. 2017-03-26T06:11:18Z borei: everything - CLOS, generic functions, CFFI, packaging - dumping onto my head 2017-03-26T06:11:42Z aeth: It's a large language, but every time you learn something new, you can see if there's something in a previous program that you can rewrite to be better. But first there needs to be previous programs. 2017-03-26T06:11:53Z aeth: At least, that seems to be what works for me. Fixing old, ugly code. 2017-03-26T06:12:02Z afidegnum_ joined #lisp 2017-03-26T06:12:45Z aeth: Just write lots of tiny functions that, if you can get away with it easily, return values rather than set things. 2017-03-26T06:13:06Z borei: yeah ! 2017-03-26T06:13:17Z afidegnum quit (Ping timeout: 260 seconds) 2017-03-26T06:13:26Z afidegnum_ is now known as afidegnum 2017-03-26T06:13:34Z aeth: Few functions are too small. If you're concerned about the performance of having an extremely tiny arithmetic function add: (declaim (inline foo)) right above the line (defun foo () 2017-03-26T06:13:35Z borei: getting off-line, it's 2300 here 2017-03-26T06:13:50Z borei: thanks a lot for help, will be back soon 2017-03-26T06:13:59Z aeth: But only inline tiny functions, and if you're not sure disassemble to make sure they're actually tiny! 2017-03-26T06:14:15Z borei quit (Quit: Leaving.) 2017-03-26T06:14:55Z moei joined #lisp 2017-03-26T06:15:04Z damke quit (Ping timeout: 268 seconds) 2017-03-26T06:17:08Z bocaneri is now known as Sauvin 2017-03-26T06:18:45Z damke joined #lisp 2017-03-26T06:20:00Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-26T06:21:23Z loke``` joined #lisp 2017-03-26T06:21:34Z loke`` quit (Remote host closed the connection) 2017-03-26T06:31:04Z Harag1 joined #lisp 2017-03-26T06:31:40Z Harag quit (Ping timeout: 260 seconds) 2017-03-26T06:31:41Z Harag1 is now known as Harag 2017-03-26T06:36:32Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-03-26T06:38:12Z angavrilov joined #lisp 2017-03-26T06:40:50Z rippa joined #lisp 2017-03-26T06:40:59Z beach: I think I have an idea for a separate library for Concrete Syntax Trees (CSTs). I'll create a repository and write some code and some documentation. 2017-03-26T06:45:56Z kev1n joined #lisp 2017-03-26T06:48:57Z jameser joined #lisp 2017-03-26T06:55:18Z damke_ joined #lisp 2017-03-26T06:56:24Z krwq joined #lisp 2017-03-26T06:57:00Z damke quit (Ping timeout: 268 seconds) 2017-03-26T07:01:50Z kev1n quit (Ping timeout: 258 seconds) 2017-03-26T07:02:24Z takitus quit (Quit: bye) 2017-03-26T07:08:32Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-26T07:10:54Z jameser joined #lisp 2017-03-26T07:11:03Z FreeBirdLjj joined #lisp 2017-03-26T07:12:05Z vlatkoB joined #lisp 2017-03-26T07:14:54Z carlosdagos joined #lisp 2017-03-26T07:15:28Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-26T07:17:01Z easye quit (Read error: Connection reset by peer) 2017-03-26T07:19:22Z carlosdagos quit (Ping timeout: 246 seconds) 2017-03-26T07:19:31Z MoALTz joined #lisp 2017-03-26T07:20:15Z easye joined #lisp 2017-03-26T07:24:47Z damke_ quit (Quit: quit) 2017-03-26T07:25:39Z FakePedro joined #lisp 2017-03-26T07:30:16Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-26T07:36:46Z Harag1 joined #lisp 2017-03-26T07:38:19Z Harag quit (Ping timeout: 268 seconds) 2017-03-26T07:38:20Z Harag1 is now known as Harag 2017-03-26T07:38:22Z FakePedro quit (Quit: FakePedro) 2017-03-26T07:39:37Z sfa joined #lisp 2017-03-26T07:41:34Z sfa quit (Client Quit) 2017-03-26T07:43:49Z easye quit (Read error: Connection reset by peer) 2017-03-26T07:45:15Z easye joined #lisp 2017-03-26T07:45:27Z afidegnum_ joined #lisp 2017-03-26T07:46:02Z afidegnum quit (Ping timeout: 260 seconds) 2017-03-26T07:46:06Z afidegnum_ is now known as afidegnum 2017-03-26T07:48:12Z bariscant joined #lisp 2017-03-26T07:52:06Z jameser joined #lisp 2017-03-26T07:53:46Z bariscant quit (Ping timeout: 264 seconds) 2017-03-26T07:57:07Z easye quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2017-03-26T07:58:15Z safe quit (Read error: Connection reset by peer) 2017-03-26T08:00:06Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-26T08:08:28Z jameser joined #lisp 2017-03-26T08:09:48Z bariscant joined #lisp 2017-03-26T08:10:33Z kev1n joined #lisp 2017-03-26T08:10:59Z jameser quit (Client Quit) 2017-03-26T08:14:54Z kev1n quit (Ping timeout: 256 seconds) 2017-03-26T08:23:12Z bariscant quit (Ping timeout: 260 seconds) 2017-03-26T08:26:24Z attila_lendvai joined #lisp 2017-03-26T08:26:24Z attila_lendvai quit (Changing host) 2017-03-26T08:26:24Z attila_lendvai joined #lisp 2017-03-26T08:26:56Z Bike quit (Quit: leaving) 2017-03-26T08:28:15Z krwq quit (Remote host closed the connection) 2017-03-26T08:31:20Z mrottenkolber quit (Ping timeout: 256 seconds) 2017-03-26T08:32:32Z easye joined #lisp 2017-03-26T08:35:14Z kev1n joined #lisp 2017-03-26T08:38:59Z neoncontrails joined #lisp 2017-03-26T08:39:17Z milanj joined #lisp 2017-03-26T08:46:04Z dmiles quit (Read error: Connection reset by peer) 2017-03-26T08:46:44Z logicmoo joined #lisp 2017-03-26T08:47:24Z eulenspiegel quit (Quit: leaving) 2017-03-26T08:51:01Z azahi joined #lisp 2017-03-26T08:54:57Z bariscant joined #lisp 2017-03-26T08:58:50Z mishoo__ joined #lisp 2017-03-26T09:01:36Z shka joined #lisp 2017-03-26T09:06:29Z pjb joined #lisp 2017-03-26T09:11:08Z neoncontrails quit (Remote host closed the connection) 2017-03-26T09:11:43Z neoncontrails joined #lisp 2017-03-26T09:13:20Z smokeink joined #lisp 2017-03-26T09:14:09Z bungoman joined #lisp 2017-03-26T09:15:42Z carlosdagos joined #lisp 2017-03-26T09:15:55Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-26T09:16:50Z smokeink quit (Remote host closed the connection) 2017-03-26T09:20:09Z carlosdagos quit (Ping timeout: 240 seconds) 2017-03-26T09:20:39Z smokeink joined #lisp 2017-03-26T09:22:39Z bariscant quit (Remote host closed the connection) 2017-03-26T09:22:45Z bariscant_ joined #lisp 2017-03-26T09:28:30Z varjag joined #lisp 2017-03-26T09:29:25Z smokeink quit (Ping timeout: 258 seconds) 2017-03-26T09:31:37Z loke quit (Ping timeout: 260 seconds) 2017-03-26T09:32:34Z ryanwatkins joined #lisp 2017-03-26T09:37:12Z jameser joined #lisp 2017-03-26T09:40:59Z Autolycus quit 2017-03-26T09:41:36Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-26T09:43:23Z elinux joined #lisp 2017-03-26T09:50:51Z gingerale joined #lisp 2017-03-26T09:54:48Z kev1n quit (Ping timeout: 240 seconds) 2017-03-26T09:57:16Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-26T10:02:36Z elinux quit (Remote host closed the connection) 2017-03-26T10:06:56Z elinux joined #lisp 2017-03-26T10:11:39Z bariscant_ quit (Ping timeout: 240 seconds) 2017-03-26T10:16:46Z dmiles joined #lisp 2017-03-26T10:17:18Z tumdum joined #lisp 2017-03-26T10:18:13Z logicmoo quit (Ping timeout: 246 seconds) 2017-03-26T10:27:41Z BitPuffin|osx joined #lisp 2017-03-26T10:39:08Z varjag quit (Ping timeout: 240 seconds) 2017-03-26T10:42:24Z panji joined #lisp 2017-03-26T10:43:55Z lnostdal_ quit (Read error: Connection reset by peer) 2017-03-26T10:44:42Z lnostdal_ joined #lisp 2017-03-26T10:57:13Z dxtr: So, what postgresql library do you recommend? 2017-03-26T10:59:08Z jackdaniel: http://marijnhaverbeke.nl/postmodern/ 2017-03-26T10:59:24Z dxtr: Sweet, thanks 2017-03-26T11:02:39Z grumble quit (Quit: grumble) 2017-03-26T11:03:49Z grumble joined #lisp 2017-03-26T11:04:09Z Mon_Ouie joined #lisp 2017-03-26T11:05:42Z dxtr: So what's the common thing to do in multi-file projects? Are all files their own package or the same? 2017-03-26T11:05:53Z dxtr: IS there a best practice regarding that? 2017-03-26T11:06:22Z lnostdal_ quit (Ping timeout: 264 seconds) 2017-03-26T11:06:39Z panji quit (Ping timeout: 240 seconds) 2017-03-26T11:07:52Z jackdaniel: there is no consensus 2017-03-26T11:08:31Z jackdaniel: some prefere file-per-package, others have a separate packages file and source scattered trough many files 2017-03-26T11:08:59Z jackdaniel: sometimes it's just one package for whole system, or two packages (interface, and internal implementation) 2017-03-26T11:10:21Z bungoman quit (Quit: Leaving) 2017-03-26T11:12:58Z jameser joined #lisp 2017-03-26T11:13:58Z bgg_ quit (Ping timeout: 256 seconds) 2017-03-26T11:16:27Z carlosdagos joined #lisp 2017-03-26T11:19:53Z panji joined #lisp 2017-03-26T11:20:52Z carlosdagos quit (Ping timeout: 246 seconds) 2017-03-26T11:21:00Z araujo quit (Ping timeout: 260 seconds) 2017-03-26T11:23:42Z Karl_Dscc joined #lisp 2017-03-26T11:26:52Z araujo joined #lisp 2017-03-26T11:27:09Z dilated_dinosaur quit (Remote host closed the connection) 2017-03-26T11:27:35Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-26T11:28:03Z vydd joined #lisp 2017-03-26T11:28:03Z vydd quit (Changing host) 2017-03-26T11:28:03Z vydd joined #lisp 2017-03-26T11:28:10Z Amplituhedron joined #lisp 2017-03-26T11:31:52Z dilated_dinosaur joined #lisp 2017-03-26T11:34:01Z shifty joined #lisp 2017-03-26T11:35:16Z azahi quit (Ping timeout: 260 seconds) 2017-03-26T11:37:30Z jack_rabbit joined #lisp 2017-03-26T11:42:47Z FreeBirdLjj joined #lisp 2017-03-26T11:43:26Z azahi joined #lisp 2017-03-26T11:43:37Z Mon_Ouie quit (Ping timeout: 246 seconds) 2017-03-26T11:43:56Z puchka joined #lisp 2017-03-26T11:46:21Z pve joined #lisp 2017-03-26T11:46:34Z damke joined #lisp 2017-03-26T11:48:09Z panji quit (Quit: Leaving) 2017-03-26T11:52:59Z EvW joined #lisp 2017-03-26T11:56:44Z JuanDaugherty joined #lisp 2017-03-26T12:00:10Z damke quit (Quit: quit) 2017-03-26T12:00:30Z damke joined #lisp 2017-03-26T12:01:36Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-26T12:01:50Z mishoo_ joined #lisp 2017-03-26T12:02:08Z rpg_ joined #lisp 2017-03-26T12:03:58Z mishoo__ quit (Ping timeout: 264 seconds) 2017-03-26T12:14:03Z d4ryus4 joined #lisp 2017-03-26T12:16:35Z d4ryus3 quit (Ping timeout: 240 seconds) 2017-03-26T12:17:21Z maarhart_ joined #lisp 2017-03-26T12:18:13Z dddddd joined #lisp 2017-03-26T12:18:42Z nirved joined #lisp 2017-03-26T12:22:07Z jack_rabbit joined #lisp 2017-03-26T12:23:02Z maarhart_ quit (Quit: Mutter: www.mutterirc.com) 2017-03-26T12:31:47Z jameser joined #lisp 2017-03-26T12:33:13Z Lord_of_Life quit (Excess Flood) 2017-03-26T12:36:58Z Lord_of_Life joined #lisp 2017-03-26T12:37:12Z Baggers joined #lisp 2017-03-26T12:37:35Z Baggers left #lisp 2017-03-26T12:37:40Z sjl joined #lisp 2017-03-26T12:38:49Z phoe: I've somehow installed OpenJDK7 on FreeBSD on SPARC and managed to run ABCL on it. Installing Quicklisp fails though and all I get is, debugger entered on ERROR: "Invalid argument". 2017-03-26T12:38:58Z phoe: Smells like some Unix stuff. 2017-03-26T12:42:18Z azahi quit (Quit: Bye) 2017-03-26T12:42:21Z wildlander joined #lisp 2017-03-26T12:43:26Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-26T12:44:30Z raynold quit (Quit: Connection closed for inactivity) 2017-03-26T12:48:46Z vydd quit 2017-03-26T12:53:08Z Lord_of_Life quit (Excess Flood) 2017-03-26T12:54:22Z Amplituhedron quit (Ping timeout: 264 seconds) 2017-03-26T12:57:58Z Lord_of_Life joined #lisp 2017-03-26T13:03:32Z Amplituhedron joined #lisp 2017-03-26T13:06:02Z varjag joined #lisp 2017-03-26T13:06:10Z EvW quit (Ping timeout: 256 seconds) 2017-03-26T13:08:48Z prole joined #lisp 2017-03-26T13:09:11Z tumdum quit (Ping timeout: 260 seconds) 2017-03-26T13:09:27Z EvW1 joined #lisp 2017-03-26T13:17:12Z carlosdagos joined #lisp 2017-03-26T13:18:04Z Lord_of_Life quit (Excess Flood) 2017-03-26T13:21:58Z carlosdagos quit (Ping timeout: 264 seconds) 2017-03-26T13:24:18Z milanj quit (Quit: This computer has gone to sleep) 2017-03-26T13:28:33Z afidegnum: hello, i forgot again 2017-03-26T13:28:39Z bariscant_ joined #lisp 2017-03-26T13:28:56Z afidegnum: using emacs, how do i close unnecessary windows ? 2017-03-26T13:29:00Z afidegnum: i launched slime 2017-03-26T13:29:04Z afidegnum: but other windows were opened 2017-03-26T13:35:26Z puchka quit (Remote host closed the connection) 2017-03-26T13:36:46Z bariscant_ quit (Ping timeout: 256 seconds) 2017-03-26T13:39:32Z jdz: afidegnum: you mean buffers? 2017-03-26T13:40:24Z jdz: You should see the keybinding in the menu. 2017-03-26T13:41:50Z dxtr: jackdaniel: If I were to use one package per file (or directory for that matter) would it make more sense to define the package in package.lisp or the file itself? 2017-03-26T13:43:00Z shifty quit (Ping timeout: 256 seconds) 2017-03-26T13:44:13Z jackdaniel: sure, why not? 2017-03-26T13:46:03Z dxtr: Alright 2017-03-26T13:48:26Z bariscant joined #lisp 2017-03-26T13:49:17Z Amplituhedron quit (Quit: Konversation terminated!) 2017-03-26T13:49:29Z Amplituhedron joined #lisp 2017-03-26T13:49:59Z Amplituhedron quit (Client Quit) 2017-03-26T14:03:10Z TDT joined #lisp 2017-03-26T14:06:53Z Ven joined #lisp 2017-03-26T14:07:17Z Ven is now known as Guest84346 2017-03-26T14:11:07Z smokeink joined #lisp 2017-03-26T14:14:43Z Mon_Ouie joined #lisp 2017-03-26T14:15:14Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-26T14:15:32Z dxtr: So if I were to create a macro that creates some variables with DEFPARAMETER with names based on the input; would I have to concatenate the variable names as strings and then convert them to symbols and then pass that to DEFPARAMETER? 2017-03-26T14:18:00Z Tarap joined #lisp 2017-03-26T14:23:30Z shka: yeah 2017-03-26T14:24:28Z dxtr: I actually found a stackoverflow question that was close to what I wanted to do :D http://stackoverflow.com/questions/22359035/define-variable-with-defparameter-with-name-determined-at-runtime 2017-03-26T14:24:46Z dxtr: Anyway, can I do multiple things in a defmacro and it will do what I want? 2017-03-26T14:24:54Z shka: sure 2017-03-26T14:25:12Z Kundry_Wag_ joined #lisp 2017-03-26T14:25:15Z dxtr: like if I want it to do three defparameter I just do `(defparameter ....)\n`(defparameter ...)? 2017-03-26T14:25:32Z shka: (progn (defparameter… 2017-03-26T14:25:36Z shka: like this 2017-03-26T14:25:42Z dxtr: right 2017-03-26T14:26:44Z Kundry_Wag quit (Ping timeout: 260 seconds) 2017-03-26T14:28:35Z dxtr: http://paste.lisp.org/display/342477 so something like this? 2017-03-26T14:28:35Z Guest84346 quit (Ping timeout: 240 seconds) 2017-03-26T14:29:50Z dxtr: That didn't turn out right according to macro-expand 2017-03-26T14:29:54Z dxtr: err, macroexpand 2017-03-26T14:30:13Z shka: move quasiquote before progn 2017-03-26T14:30:22Z dxtr: I'm an ass 2017-03-26T14:30:32Z shka: this will expand to just one defparameter 2017-03-26T14:30:38Z dxtr: Much better 2017-03-26T14:30:46Z shka: sure 2017-03-26T14:31:10Z Ven_ joined #lisp 2017-03-26T14:32:17Z yeticry_ joined #lisp 2017-03-26T14:32:28Z dxtr: Thanks, shka ! 2017-03-26T14:32:32Z dxtr: This is literally my first macro :p 2017-03-26T14:32:42Z yeticry quit (Read error: Connection reset by peer) 2017-03-26T14:35:21Z milanj joined #lisp 2017-03-26T14:36:10Z shka: i'm glad i could help 2017-03-26T14:36:47Z dxtr: My grandchildren will know of your effort 2017-03-26T14:37:17Z dxtr: Probably not, but still 2017-03-26T14:40:44Z drewc joined #lisp 2017-03-26T14:42:11Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-26T14:47:11Z X-Scale quit (Ping timeout: 260 seconds) 2017-03-26T14:50:27Z X-Scale joined #lisp 2017-03-26T14:52:07Z wtetzner joined #lisp 2017-03-26T14:58:36Z sword quit (Read error: No route to host) 2017-03-26T15:00:23Z damke_ joined #lisp 2017-03-26T15:02:56Z damke quit (Ping timeout: 268 seconds) 2017-03-26T15:04:18Z bariscant quit (Remote host closed the connection) 2017-03-26T15:04:39Z bariscant joined #lisp 2017-03-26T15:09:08Z Ven_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-26T15:10:43Z damke_ quit (Quit: quit) 2017-03-26T15:11:53Z damke joined #lisp 2017-03-26T15:12:44Z atheris_ joined #lisp 2017-03-26T15:13:29Z afidegnum: hi, i m reading some gigamonkey tutorial but i don't understand this part.... https://ghostbin.com/paste/v355s which among them is responsible for the prompt ? 2017-03-26T15:14:25Z beach: afidegnum: The first and second lines of the body. FORMAT and FORCE-OUTPUT. 2017-03-26T15:14:31Z drmeister: Does this look right? In the cl-jupyter project there is an UNWIND-PROTECT that looks like it has a typo where the form that should be in the protected-form ends up in a cleanup-form 2017-03-26T15:14:32Z drmeister: https://github.com/clasp-developers/cl-jupyter/blob/master/src/kernel.lisp#L134 2017-03-26T15:14:48Z drmeister: (shell-loop shell) really looks like it belongs in the protected-form 2017-03-26T15:15:39Z nyef: drmeister: Yeah, that really looks like someone forgot a PROGN. 2017-03-26T15:16:01Z drmeister: The indentation is the original indentation (not mine) 2017-03-26T15:16:14Z beach: afidegnum: The call to FORMAT is responsible for the prompt, and the call to FORCE-OUTPUT makes sure that all buffered output is transmitted to the device. 2017-03-26T15:17:32Z afidegnum: so format has a prompt directive ~a ? 2017-03-26T15:17:44Z nyef: drmeister: But the nature of the failure is such that a casual test wouldn't find a problem, since it's basically "just" the cleanup code not getting called. 2017-03-26T15:17:56Z carlosdagos joined #lisp 2017-03-26T15:17:56Z beach: afidegnum: No, that's a format directive that says print the argument "pretty". 2017-03-26T15:18:00Z safe joined #lisp 2017-03-26T15:18:01Z beach: clhs ~a 2017-03-26T15:18:05Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/22_cda.htm 2017-03-26T15:18:20Z nyef: And that, only with a non-local exit. If SHELL-LOOP exits cleanly then there's nothing to see. 2017-03-26T15:18:57Z afidegnum: so what's calling the prompt ? 2017-03-26T15:19:19Z beach: afidegnum: "calling the prompt" does not make sense. 2017-03-26T15:19:36Z beach: afidegnum: It generates some output that the user sees. That's what we call a prompt. 2017-03-26T15:19:52Z kobain joined #lisp 2017-03-26T15:20:02Z Ven joined #lisp 2017-03-26T15:20:19Z pjb: afidegnum: you closed other windows in emacs with C-x 0 2017-03-26T15:20:25Z Ven is now known as Guest99943 2017-03-26T15:20:33Z beach: afidegnum: Some other function calls the function prompt-read to print the prompt and read a line of input typed by the user. 2017-03-26T15:20:41Z afidegnum: ok 2017-03-26T15:22:04Z afidegnum: so if i understand, force-output will emit the prompt and read-line will capture what the user typed, right ? 2017-03-26T15:22:08Z carlosdagos quit (Ping timeout: 240 seconds) 2017-03-26T15:22:56Z beach: afidegnum: No, the FORMAT will emit the prompt, either to the device or to a buffer. FORCE-OUTPUT will make sure that, if the prompt was emitted to a buffer, then the buffer is transmitted to the device. 2017-03-26T15:23:51Z Guest99943 quit (Client Quit) 2017-03-26T15:24:32Z damke_ joined #lisp 2017-03-26T15:25:32Z afidegnum: ok, i think i will read more about it, Ah, earlier i read (fornat t "") where t is part of the destination, we do have string and streams 2017-03-26T15:25:45Z damke quit (Ping timeout: 268 seconds) 2017-03-26T15:26:45Z beach: afidegnum: For FORMAT, the first argument designates a stream. For FORMAT it can either be a stream or T or NIL. T means the same as the stream *standard-output* and NIL means that the result is returned as a string. 2017-03-26T15:26:56Z beach: clhs format 2017-03-26T15:26:56Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_format.htm 2017-03-26T15:27:36Z beach: "destination---nil, t, a stream, or a string with a fill pointer." 2017-03-26T15:28:50Z bariscant quit (Ping timeout: 268 seconds) 2017-03-26T15:28:55Z afidegnum: ok 2017-03-26T15:29:04Z afidegnum: still trying to digest 2017-03-26T15:29:13Z l04m33 quit (Quit: leaving) 2017-03-26T15:29:17Z beach: What seems to be the problem? 2017-03-26T15:30:40Z EvW1 quit (Ping timeout: 256 seconds) 2017-03-26T15:31:09Z Mon_Ouie quit (Quit: WeeChat 1.7) 2017-03-26T15:31:11Z sjl quit (Read error: Connection reset by peer) 2017-03-26T15:31:17Z tumdum joined #lisp 2017-03-26T15:31:17Z tumdum quit (Changing host) 2017-03-26T15:31:17Z tumdum joined #lisp 2017-03-26T15:31:18Z damke_ quit (Ping timeout: 268 seconds) 2017-03-26T15:31:43Z d4ryus4 quit (Quit: WeeChat 1.7) 2017-03-26T15:32:50Z damke_ joined #lisp 2017-03-26T15:34:35Z wheelsucker joined #lisp 2017-03-26T15:35:52Z lnostdal joined #lisp 2017-03-26T15:36:29Z bariscant joined #lisp 2017-03-26T15:38:19Z afidegnum: beach: i know there is a read function which prompt a user but i don't understand how come FORMAT too play a role as a prompt 2017-03-26T15:38:43Z beach: afidegnum: I know of no READ function that prompts the user. 2017-03-26T15:39:13Z beach: afidegnum: Maybe there is a misunderstanding about what "prompt the user" means. 2017-03-26T15:40:00Z beach: afidegnum: By "prompting the user" I mean show some kind of message, such as "Pleas user, enter a file name, would you:" 2017-03-26T15:40:08Z afidegnum: yes 2017-03-26T15:40:14Z afidegnum: that's what i m referring to 2017-03-26T15:40:21Z beach: No READ function does that. 2017-03-26T15:40:58Z beach: It is the PRINT functions (and in this case the formatted output function FORMAT) that can print such messages. 2017-03-26T15:41:47Z d4ryus joined #lisp 2017-03-26T15:42:16Z beach: afidegnum: What READ function have you heard of that prompts the user? 2017-03-26T15:42:41Z beach: There are functions that do both, for sure. 2017-03-26T15:42:52Z beach: Like this one: 2017-03-26T15:42:56Z beach: clhs y-or-n-p 2017-03-26T15:42:56Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_y_or_n.htm 2017-03-26T15:43:53Z afidegnum: https://www.tutorialspoint.com/lisp/lisp_input_output.htm 2017-03-26T15:45:48Z smokeink quit (Ping timeout: 240 seconds) 2017-03-26T15:45:49Z beach: I don't see any function under "Output functions" that says it prompts. Which one do you see? 2017-03-26T15:46:57Z beach: Sorry, under input functions. 2017-03-26T15:48:34Z afidegnum: ok, let me read more, some confusion along the line, 2017-03-26T15:48:45Z beach: Sure. 2017-03-26T15:50:09Z tenawa joined #lisp 2017-03-26T15:52:12Z xhe quit (Quit: leaving) 2017-03-26T15:52:20Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-26T15:55:35Z damke joined #lisp 2017-03-26T15:58:26Z damke_ quit (Ping timeout: 268 seconds) 2017-03-26T15:59:04Z damke_ joined #lisp 2017-03-26T16:00:18Z tenawa left #lisp 2017-03-26T16:00:19Z afidegnum: beach: thanks a lot for your time and mentorship, :) 2017-03-26T16:00:58Z damke__ joined #lisp 2017-03-26T16:02:08Z damke quit (Ping timeout: 268 seconds) 2017-03-26T16:02:54Z marvin2 joined #lisp 2017-03-26T16:04:22Z damke joined #lisp 2017-03-26T16:04:36Z damke_ quit (Ping timeout: 268 seconds) 2017-03-26T16:07:04Z Bike joined #lisp 2017-03-26T16:07:41Z damke__ quit (Ping timeout: 268 seconds) 2017-03-26T16:10:06Z elinux quit (Remote host closed the connection) 2017-03-26T16:10:28Z MrWoohoo quit (Ping timeout: 240 seconds) 2017-03-26T16:11:22Z bgg_ joined #lisp 2017-03-26T16:11:27Z Tarap quit (Ping timeout: 240 seconds) 2017-03-26T16:11:27Z beach: afidegnum: Anytime. 2017-03-26T16:11:50Z damke_ joined #lisp 2017-03-26T16:12:54Z bgg__ joined #lisp 2017-03-26T16:15:05Z damke quit (Ping timeout: 268 seconds) 2017-03-26T16:16:34Z bgg_ quit (Ping timeout: 256 seconds) 2017-03-26T16:16:35Z damke_ quit (Read error: Connection reset by peer) 2017-03-26T16:16:59Z damke_ joined #lisp 2017-03-26T16:19:55Z mrottenkolber joined #lisp 2017-03-26T16:22:20Z tharugrim joined #lisp 2017-03-26T16:22:28Z bariscant quit (Ping timeout: 260 seconds) 2017-03-26T16:24:20Z bariscant joined #lisp 2017-03-26T16:24:53Z defaultxr joined #lisp 2017-03-26T16:28:18Z bgg__ quit (Read error: Connection reset by peer) 2017-03-26T16:30:58Z abel-abel quit (Ping timeout: 264 seconds) 2017-03-26T16:31:44Z damke_ quit (Ping timeout: 268 seconds) 2017-03-26T16:32:19Z damke_ joined #lisp 2017-03-26T16:36:16Z Einwq joined #lisp 2017-03-26T16:41:31Z Karl_Dscc quit (Remote host closed the connection) 2017-03-26T16:44:09Z tumdum quit (Ping timeout: 240 seconds) 2017-03-26T16:45:18Z Harag quit (Ping timeout: 268 seconds) 2017-03-26T16:46:05Z puchka joined #lisp 2017-03-26T16:47:47Z damke_ quit (Ping timeout: 268 seconds) 2017-03-26T16:48:08Z bpanthi joined #lisp 2017-03-26T16:49:32Z damke_ joined #lisp 2017-03-26T16:50:39Z atheris_ quit (Ping timeout: 240 seconds) 2017-03-26T16:53:18Z milanj quit (Quit: This computer has gone to sleep) 2017-03-26T16:55:36Z cromachina quit (Read error: Connection reset by peer) 2017-03-26T16:56:22Z learning joined #lisp 2017-03-26T16:56:41Z cromachina joined #lisp 2017-03-26T16:58:39Z learning: hi, i'm trying to find a toy example for (format t "~:@c" #\magic-character) where #\magic-character shows unusual shift keys so that I can better understand the c directive. i know its imlementation dependent. have sbcl and clisp already setup. 2017-03-26T16:58:51Z hhdave joined #lisp 2017-03-26T16:58:59Z learning: page that im referencing: http://www.lispworks.com/documentation/HyperSpec/Body/22_caa.htm 2017-03-26T16:59:15Z bpanthi quit (Quit: bpanthi) 2017-03-26T16:59:36Z learning: willing to setup whatever implementation i need to, just want to see it working 2017-03-26T17:00:23Z Xach: learning: i don't think I've ever noticed that! neat. 2017-03-26T17:01:04Z Xach: learning: I wonder if sbcl does that! 2017-03-26T17:01:42Z nyef: Genera probably supports that. 2017-03-26T17:02:43Z damke_ quit (Read error: Connection reset by peer) 2017-03-26T17:02:55Z damke joined #lisp 2017-03-26T17:03:44Z nyef: Problem is, it basically needs both the "implementation-defined attributes" and full knowledge of the input device mapping, neither of which are things that a modern Lisp system tends to have. 2017-03-26T17:12:27Z rpg_ quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-26T17:18:42Z carlosdagos joined #lisp 2017-03-26T17:20:00Z learning quit (Remote host closed the connection) 2017-03-26T17:21:54Z safe quit (Read error: Connection reset by peer) 2017-03-26T17:23:08Z carlosdagos quit (Ping timeout: 260 seconds) 2017-03-26T17:29:40Z mrottenkolber quit (Ping timeout: 260 seconds) 2017-03-26T17:30:06Z afidegnum: lispworks and allegro, don't they have a free license? or everything is paid? and after the trial version of what they offered you can't use their product again? 2017-03-26T17:30:16Z wtetzner quit (Remote host closed the connection) 2017-03-26T17:32:10Z damke quit (Ping timeout: 268 seconds) 2017-03-26T17:33:52Z tharugrim quit (Quit: WeeChat 1.7) 2017-03-26T17:34:45Z maarhart joined #lisp 2017-03-26T17:37:06Z maarhart quit (Client Quit) 2017-03-26T17:37:27Z hhdave quit (Quit: hhdave) 2017-03-26T17:38:43Z drmeister: nyef: Thank you 2017-03-26T17:44:41Z tumdum joined #lisp 2017-03-26T17:44:41Z tumdum quit (Changing host) 2017-03-26T17:44:41Z tumdum joined #lisp 2017-03-26T17:49:25Z neoncontrails joined #lisp 2017-03-26T17:50:39Z manualcrank joined #lisp 2017-03-26T17:54:56Z milanj joined #lisp 2017-03-26T17:58:33Z daviid joined #lisp 2017-03-26T18:03:42Z whoman quit (Remote host closed the connection) 2017-03-26T18:04:25Z whoman2 joined #lisp 2017-03-26T18:07:36Z Xach: afidegnum: they have limited versions you can download and try for free. 2017-03-26T18:07:43Z Xach: afidegnum: i don't get the other questions 2017-03-26T18:08:12Z afidegnum: you answered it, :) 2017-03-26T18:08:29Z afidegnum: they only have limited versions, not full version offered for free 2017-03-26T18:10:19Z Xach: afidegnum: If you ask nicely, you can get the full version without paying anything. But you cannot use it for anything you wish, usually. 2017-03-26T18:10:42Z Xach: afidegnum: for example, I asked nicely and was granted full licenses for quicklisp testing purposes. but I cannot use it to make and sell applications. 2017-03-26T18:13:44Z afidegnum: ok. you are right, 2017-03-26T18:14:04Z afidegnum: i needed to see how their IDE is like and other of their products, 2017-03-26T18:14:19Z afidegnum: so far, i m still in the learning mode. 2017-03-26T18:15:07Z Xach: You can try the IDEs without asking for special licensing 2017-03-26T18:16:16Z whoman2 quit (Remote host closed the connection) 2017-03-26T18:23:59Z haom joined #lisp 2017-03-26T18:24:45Z haom: hello, is there some "standard" way to produce lisp documentation? 2017-03-26T18:24:55Z haom: standard in the sense of popular. 2017-03-26T18:25:10Z haom: or does everybody fall back to texinfo? 2017-03-26T18:26:55Z axion: quickdocs 2017-03-26T18:27:02Z axion: Is popular, though not 'standard' 2017-03-26T18:29:10Z dilated_dinosaur quit (Ping timeout: 256 seconds) 2017-03-26T18:29:37Z haom: i meant a software package that produces documentation like texinfo. 2017-03-26T18:29:47Z haom: afaik quickdocs is a website. 2017-03-26T18:31:20Z axion: No, because Common Lisp code is usually not used outside of a Common Lisp environment where we have standard functions to lookup documentation. 2017-03-26T18:31:52Z aeth: Documentation is definitely the weakest point of Common Lisp. 2017-03-26T18:31:55Z axion: Sounds like you have a new project idea to work on if you need such a thing. 2017-03-26T18:32:16Z Bike: quickdocs has a documentation-in-code->website thing, though. 2017-03-26T18:32:18Z aeth: axion's right, you should be able to look up documentation on anything (and that docstring can be extracted for API references, like Quickdocs does) 2017-03-26T18:32:42Z aeth: But how many packages in Quicklisp have a docstring for everything that is exported? Do any? 2017-03-26T18:32:59Z dxtr: aeth: I find that many non-mainstream languages suffer from that 2017-03-26T18:33:19Z dxtr: I've played around with both ocaml and haskell and they both have horrendous documentation 2017-03-26T18:33:37Z dxtr: ocamls documentation is basically non-existant and haskell stuff might have documentation but assumes you are an expert alreadyh 2017-03-26T18:33:41Z aeth: Brainfuck tends to be well-commented because otherwise the author would not know what it does in a few days. 2017-03-26T18:33:42Z bariscant quit (Ping timeout: 256 seconds) 2017-03-26T18:33:45Z haom: im not looking for documentation, i want to write documentation, and have noticed that a lot of lisp projects use different documentation tools, but that other languages have somewhat standardized documentation formats. 2017-03-26T18:34:06Z aeth: Lisp tends to be "read the source" and you can usually get away with it unless it's a 100-line fancy macro (or a 100-line function used by a fancy macro, no real difference) 2017-03-26T18:34:25Z axion: haom: This channel is for Common Lisp though. 2017-03-26T18:34:51Z haom: I am asking what is "common" in common lisp circles. 2017-03-26T18:35:03Z dxtr: quickdocs? :p 2017-03-26T18:35:06Z axion: #'DOCUMENTATION 2017-03-26T18:35:17Z aeth: Every popular library is on Quicklisp, which is then parsed by Quickdocs in a centralized way. 2017-03-26T18:35:22Z aeth: The CL community is very centralized. 2017-03-26T18:35:27Z aeth: Lots of bus factors of one. 2017-03-26T18:35:27Z haom: okay. 2017-03-26T18:36:19Z haom: thats not the answer i was hoping for, but okay. 2017-03-26T18:36:30Z aeth: Oh wow, Quickdocs is run by fukamachi. He is the Lisp web ecosystem. 2017-03-26T18:37:06Z axion: aeth: He always writes very crappy code and refuses to respond to issues relating from it. 2017-03-26T18:37:25Z axion: For example, he likes to hide all non-expected input behind the equivalent of ignore-errors 2017-03-26T18:38:16Z aeth: haom: There are probably a dozen ways you can generate API documentation from docstrings in code, but there are none that are standard afaik. 2017-03-26T18:38:35Z aeth: That's generally common with Common Lisp. If something is easy, there are a dozen libraries. See: unit testing. 2017-03-26T18:40:51Z axion: The only standards body we have is ANSI, so the only correct response is that which I gave. 2017-03-26T18:42:23Z dddddd quit (Remote host closed the connection) 2017-03-26T18:43:04Z haom: which to me means "stick to texinfo". 2017-03-26T18:43:26Z aeth: Other languages might have a major implementation that is considerably more popular than the rest, and/or they might have a "killer app" framework, and/or heavy involvement from some corporation, or some other way for standards to spread for trivial things through influence. 2017-03-26T18:45:36Z eazar001 quit (Ping timeout: 256 seconds) 2017-03-26T18:47:01Z aeth: If something like that is not present, the answer to bikeshed painting [0] is to make your own bikeshed and paint it what you want, rather than having to come to some consensus on how to paint a bikeshed. 2017-03-26T18:47:05Z aeth: [0] http://bikeshed.org/ 2017-03-26T18:48:11Z Bike: just means more for me 2017-03-26T18:48:22Z aeth: lol 2017-03-26T18:48:53Z eazar001 joined #lisp 2017-03-26T18:48:57Z aeth: In other words, a de facto standard for some simple X, Y, or Z could come from whatever the official language implementation does, or the main libraries/frameworks do, or what the main corporate backer does, etc. But Lisp has none of this. 2017-03-26T18:49:00Z goldpank joined #lisp 2017-03-26T18:49:01Z dxtr: Bike: How do you like your shed? 2017-03-26T18:49:38Z aeth: (Scheme often does have de facto standards because each implementation might as be the official language implementation of a new language, rather than just an implementation of Scheme. But this is a Common Lisp channel.) 2017-03-26T18:49:41Z Bike: if i get annoyed at one shed i can just move to one of the dozen forks 2017-03-26T18:50:27Z goldpank quit (Remote host closed the connection) 2017-03-26T18:52:49Z emacsomancer joined #lisp 2017-03-26T18:53:00Z rumbler31 joined #lisp 2017-03-26T18:53:45Z neoncontrails quit (Remote host closed the connection) 2017-03-26T18:54:22Z neoncontrails joined #lisp 2017-03-26T18:56:04Z EvW joined #lisp 2017-03-26T18:58:40Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-26T19:02:55Z azahi joined #lisp 2017-03-26T19:04:35Z neoncontrails joined #lisp 2017-03-26T19:09:05Z himmAllRight quit (Remote host closed the connection) 2017-03-26T19:09:34Z himmAllRight joined #lisp 2017-03-26T19:12:15Z azahi quit (Read error: Connection reset by peer) 2017-03-26T19:12:19Z angavrilov quit (Remote host closed the connection) 2017-03-26T19:12:44Z learning joined #lisp 2017-03-26T19:13:05Z tumdum quit (Ping timeout: 240 seconds) 2017-03-26T19:19:16Z safe joined #lisp 2017-03-26T19:19:50Z carlosdagos joined #lisp 2017-03-26T19:20:38Z TruePika quit (Ping timeout: 240 seconds) 2017-03-26T19:24:29Z carlosdagos quit (Ping timeout: 260 seconds) 2017-03-26T19:24:40Z MoALTz quit (Quit: Leaving) 2017-03-26T19:27:09Z learning: my favorite lisp doc page title: "22.3.1.5 Tilde Tilde: Tilde" 2017-03-26T19:28:19Z bariscant joined #lisp 2017-03-26T19:29:08Z vydd joined #lisp 2017-03-26T19:29:08Z vydd quit (Changing host) 2017-03-26T19:29:08Z vydd joined #lisp 2017-03-26T19:29:44Z GuiLoooo joined #lisp 2017-03-26T19:29:51Z GuiLoooo is now known as GuilOooo 2017-03-26T19:30:12Z aeth: Ah, 22.3, my favorite section 2017-03-26T19:31:10Z aeth: The only one I have bookmarked, too. 2017-03-26T19:32:28Z thodg quit (Quit: Lost terminal) 2017-03-26T19:34:09Z attila_lendvai joined #lisp 2017-03-26T19:37:53Z terpri quit (Read error: Connection reset by peer) 2017-03-26T19:38:37Z safe quit (Read error: Connection reset by peer) 2017-03-26T19:38:38Z terpri joined #lisp 2017-03-26T19:40:35Z haom left #lisp 2017-03-26T19:43:50Z puchka quit (Remote host closed the connection) 2017-03-26T19:44:02Z krwq joined #lisp 2017-03-26T19:44:35Z rjid joined #lisp 2017-03-26T19:45:07Z blackwolf joined #lisp 2017-03-26T19:45:29Z krwq: hey, what's the simplest code to read value given a key from list which looks like: '("key1" "sdfsdf" "key2" "fff") 2017-03-26T19:46:27Z krwq: the number of elements is always even and values can contain keys as values 2017-03-26T19:48:57Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-26T19:51:03Z wtetzner joined #lisp 2017-03-26T19:53:04Z varjag: is that homework 2017-03-26T19:53:08Z aeth: If you can control the format, use keywords instead of strings, and you can just use (getf the-list :the-key) 2017-03-26T19:53:36Z axion: krwq: That is nothing more than a plist 2017-03-26T19:53:43Z krwq: aeth: no, that's how json is defined 2017-03-26T19:53:57Z axion: So use the standard plist functions 2017-03-26T19:54:03Z krwq: this looks like will work http://stackoverflow.com/questions/9310913/how-to-get-two-elements-from-a-list-each-time-in-common-lisp but i wonder if there is an option to pass :test to getf 2017-03-26T19:54:12Z krwq: or something existing equivalent 2017-03-26T19:54:32Z aeth: krwq: you can pass test into similar sequence operations like search, find, and position 2017-03-26T19:54:37Z bariscant quit (Quit: Leaving) 2017-03-26T19:55:05Z rjid left #lisp 2017-03-26T19:55:15Z krwq: aeth: but getf does not have tes and find will not necessarily position on key and may give valuye 2017-03-26T19:55:44Z aeth: You just want the key? 2017-03-26T19:55:51Z krwq: i want just value 2017-03-26T19:55:55Z krwq: i know the key 2017-03-26T19:56:08Z aeth: http://www.lispworks.com/documentation/HyperSpec/Body/c_sequen.htm 2017-03-26T19:56:26Z krwq: i do not want yet another abstraction 2017-03-26T19:56:35Z aeth: It's not an abstraction, it's built into the language. 2017-03-26T19:56:45Z aeth: You have a sequence, you can locate the key, and you know the value is one after the key. 2017-03-26T19:57:18Z aeth: That sentence I wrote is practically pseudocode for the answer. 2017-03-26T19:57:33Z aeth: I'm hesitant to give the answer because of what varjag said. 2017-03-26T19:58:33Z krwq: i'm few years past the homework times 2017-03-26T19:58:39Z aeth: Now, one complication is if there's a string that matches the text of the key as a value that shows up in the sequence before the key. So it isn't trivial. 2017-03-26T19:58:48Z bariscant joined #lisp 2017-03-26T19:59:08Z aeth: Once you get the position, you'd probably have to check that it is even, and if it's not, search the sequence again, starting from that point. 2017-03-26T19:59:42Z Bike: fuck that, (loop for (key value) on list by #'cddr when (string= key to-find) do (return value)) 2017-03-26T20:01:54Z krwq: Bike: thanks, I just got identical code based on http://stackoverflow.com/questions/9310913/how-to-get-two-elements-from-a-list-each-time-in-common-lisp :D 2017-03-26T20:02:07Z krwq: i was wondering if there was something builtin though 2017-03-26T20:02:08Z aeth: I have a very different approach 2017-03-26T20:03:22Z Bike: nothing built in. getf could have a :test but doesn't because it's old. 2017-03-26T20:03:43Z Bike: your approach is silly, aeth. 2017-03-26T20:05:22Z aeth: (defun getf* (sequence key &optional test) (let ((candidate-position (position key sequence :test test))) (if (evenp candidate-position) (elt sequence (1+ candidate-position)) "This is an exercise for the reader"))) 2017-03-26T20:06:20Z aeth: Works on any sequence, and with any test. Doing it with dotimes instead of position would even get rid of the edge case where the key could be in the value spot 2017-03-26T20:06:52Z krwq: aeth: this is interesting although i find a loop syntax much easier to read for this thing 2017-03-26T20:07:06Z krwq: and easy to change into more generic approach 2017-03-26T20:07:35Z varjag: aeth: you needlessly traverse the list twice here 2017-03-26T20:08:05Z wtetzner quit (Remote host closed the connection) 2017-03-26T20:08:12Z varjag: actually nope 2017-03-26T20:08:42Z aeth: varjag: it's possible that sbcl optimizes it if getf* is inlined and it knows that it's being used on a list instead of a generic sequence 2017-03-26T20:09:22Z mathrick quit (Ping timeout: 246 seconds) 2017-03-26T20:09:27Z krwq: varjag: looks good and probably as fast as loop - my vector has less than 1k entries so perf is irrelevant 2017-03-26T20:09:31Z nowhere_man quit (Read error: Connection reset by peer) 2017-03-26T20:09:57Z nowhere_man joined #lisp 2017-03-26T20:10:04Z krwq: i like looking at alternative answers as aeth gave because i always remind/learn something new 2017-03-26T20:10:11Z aeth: varjag: It appears to be the case, it's twice as fast when inlined 2017-03-26T20:10:21Z aeth: i.e. this: (defun bar () (let ((foo (list "foo" "bar" "foo2" "quux"))) (getf* foo "foo2" 'equalp))) 2017-03-26T20:10:44Z aeth: That runs twice as fast. 2017-03-26T20:10:46Z aeth: (When inlined) 2017-03-26T20:11:20Z varjag: you need a bigger list to measure i'd think? 2017-03-26T20:11:32Z krwq: ok, thanks aeth and Bike! I'll be finishing current stage of my project now 2017-03-26T20:14:50Z aeth: varjag: You're right, but there was an easier way, and that was to disassemble. The disassembly shows that it calls #'nthcdr, so it doesn't optimize. 2017-03-26T20:15:20Z krwq: i sometimes wonder what kind of project are you guys doing that you fight for every nanosecond 2017-03-26T20:15:57Z Bike: uber for dogs 2017-03-26T20:15:58Z aeth: varjag: I really need to use this heuristic more: when I think of measuring the behavior of a function, I usually can just disassemble and often a comment in the assembly tells me what I'm looking for. 2017-03-26T20:16:53Z varjag: krwq: i do cl-jpeg and cl-video 2017-03-26T20:17:04Z krwq: varjag: fair enough then :) 2017-03-26T20:17:12Z aeth: krwq: zombie-raptor, a game engine 2017-03-26T20:18:05Z krwq: does drakma have some pagination handling bultin? im parsing that by hand right now but after i finished im wondering 2017-03-26T20:18:27Z krwq: like i.e. github returns next page in headers 2017-03-26T20:18:40Z krwq: so i parse that currently and send next requests 2017-03-26T20:19:54Z krwq: btw sorry for asking newbie questions but i.e. for most of the stuff i use one or two functions while for sexps there is like 45 different ones and i keep feeling like im reimplementing stuff 2017-03-26T20:20:10Z Bike: it's cool. 2017-03-26T20:20:31Z emerson quit (Quit: WeeChat 1.7) 2017-03-26T20:20:35Z sjl joined #lisp 2017-03-26T20:21:35Z mathrick joined #lisp 2017-03-26T20:25:50Z puchka joined #lisp 2017-03-26T20:27:41Z neoncontrails quit (Remote host closed the connection) 2017-03-26T20:28:19Z neoncontrails joined #lisp 2017-03-26T20:30:26Z vlatkoB quit (Remote host closed the connection) 2017-03-26T20:32:28Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-26T20:34:47Z dxtr: Hmm 2017-03-26T20:34:56Z dxtr: Do I have to check the entire length of a string to see if it is empty? 2017-03-26T20:35:09Z Bike: you mean, (zerop (length string))? 2017-03-26T20:35:16Z dxtr: yeah 2017-03-26T20:35:26Z dxtr: seems inefficient :p 2017-03-26T20:35:30Z Bike: how so 2017-03-26T20:35:40Z aeth: Lisp strings are arrays, not C-strings. 2017-03-26T20:35:52Z dxtr: Imagine if the string is of a significant size 2017-03-26T20:36:04Z Bike: arrays are length and content, not null terminated memory 2017-03-26T20:36:20Z aeth: (aref "hello" 1) => #\e 2017-03-26T20:36:22Z aeth: Just a special array 2017-03-26T20:36:40Z dxtr: Oh, right 2017-03-26T20:37:14Z dxtr: well then 2017-03-26T20:37:26Z dxtr: Been doing too much erlang :p 2017-03-26T20:38:08Z aeth: dxtr: there is an emptyp 2017-03-26T20:38:17Z Bike: erlang has c strings? 2017-03-26T20:38:25Z aeth: dxtr: in alexandria 2017-03-26T20:39:00Z dxtr: Bike: Strings are lists in Erlang 2017-03-26T20:39:12Z Bike: oh, like haskell 2017-03-26T20:39:15Z Bike: can't say i understand that 2017-03-26T20:39:16Z aeth: dxtr: All emptyp (in alexandria) does is check (null sequence) for lists and (zerop (length sequence)) for the rest. 2017-03-26T20:39:29Z dxtr: right 2017-03-26T20:39:30Z aeth: As I learned earlier, code that's generic for sequences usually has to handle lists specially. <_< 2017-03-26T20:39:58Z Bike: given that there are only two kinds of sequences, treating one of them specially doesn't seem surprising 2017-03-26T20:40:04Z axion: Is there a type for a proper list? 2017-03-26T20:40:11Z Bike: no 2017-03-26T20:40:20Z Bike: you could define one with satisfies, but it's not very useful 2017-03-26T20:40:21Z axion: or a type spec 2017-03-26T20:40:34Z axion: Ok 2017-03-26T20:40:40Z aeth: Alexandria does that 2017-03-26T20:40:47Z aeth: It says it's not effecient 2017-03-26T20:40:48Z axion: Ah, trivial-types 2017-03-26T20:41:35Z aeth: Alexandria has a proper-list, defined as `(and list (satisfies proper-list-p)) 2017-03-26T20:41:44Z axion: Bike: I use types for good documentation more than for compiler efficiency 2017-03-26T20:41:54Z Bike: that's fair 2017-03-26T20:42:07Z Bike: you can check-type with something like that, too 2017-03-26T20:44:05Z joeygibson quit (Ping timeout: 252 seconds) 2017-03-26T20:44:33Z rumbler31 quit (Remote host closed the connection) 2017-03-26T20:44:54Z puchka quit (Quit: leaving) 2017-03-26T20:46:29Z learning quit (Remote host closed the connection) 2017-03-26T20:46:42Z joeygibson joined #lisp 2017-03-26T20:48:05Z wildlander quit (Quit: Saliendo) 2017-03-26T20:50:50Z marvin2 quit (Ping timeout: 256 seconds) 2017-03-26T20:51:01Z hjudt_: do people here use emacs auto-complete or helm? both or only one of those, and in the latter case which one? 2017-03-26T20:52:28Z axion: For what purpose. 2017-03-26T20:52:33Z axion: I use both for different things 2017-03-26T20:54:25Z hjudt_: i saw a video about slime in which helm or auto-complete are used, but since i do not know either i can't tell which one it is. so first i thought i'd try auto-complete, but then when investigating further it seems helm does provide even more. 2017-03-26T20:54:53Z hjudt_: but then helm seems to completely alter the way one uses emacs 2017-03-26T20:55:05Z axion: They are for entirely different purposes 2017-03-26T20:55:09Z bariscant quit (Remote host closed the connection) 2017-03-26T20:55:12Z ecraven- joined #lisp 2017-03-26T20:55:24Z kjak_____ joined #lisp 2017-03-26T20:55:32Z ecraven quit (Ping timeout: 252 seconds) 2017-03-26T20:55:32Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-26T20:55:32Z kobain quit (Ping timeout: 252 seconds) 2017-03-26T20:55:32Z kjak__ quit (Ping timeout: 252 seconds) 2017-03-26T20:55:33Z kobain joined #lisp 2017-03-26T20:55:33Z kobain quit (Excess Flood) 2017-03-26T20:55:44Z bariscant joined #lisp 2017-03-26T20:55:51Z kobain joined #lisp 2017-03-26T20:55:53Z ecraven- is now known as ecraven 2017-03-26T20:55:56Z kobain quit (Excess Flood) 2017-03-26T20:55:58Z hjudt_: axion, can you explain in a bit more detail please? 2017-03-26T20:56:21Z kobain joined #lisp 2017-03-26T20:56:33Z attila_lendvai joined #lisp 2017-03-26T20:57:02Z marvin2 joined #lisp 2017-03-26T20:57:47Z whiteline quit (Quit: Leaving) 2017-03-26T20:58:21Z axion: auto-complete uses a popup menu to incrementally complete as you type, much like helm, but is usually used for completing language symbols and the like. helm is a menu system for creating interactive emacs buffers, which is usually used for just about anything, such as running commands (like the helm-M-x M-x replacement) 2017-03-26T21:00:11Z hjudt_: ok, but isn't auto-completion also a feature of helm? 2017-03-26T21:00:12Z whiteline joined #lisp 2017-03-26T21:00:12Z whiteline_ joined #lisp 2017-03-26T21:00:37Z axion: Another difference is that helm is invoked, and then you incrementally type. Whereas in auto-complete, you type, then initiate auto-complete and incrementally type. 2017-03-26T21:00:49Z whiteline quit (Disconnected by services) 2017-03-26T21:00:51Z axion: Sure 2017-03-26T21:00:57Z whiteline_ is now known as whiteline 2017-03-26T21:01:17Z whiteline_ joined #lisp 2017-03-26T21:01:33Z whiteline_ quit (Remote host closed the connection) 2017-03-26T21:01:53Z hjudt_: i see. so auto-complete is actually a bit more convenient for completing language symbols, right? 2017-03-26T21:02:32Z axion: auto-complete and company-mode perform the same task. helm and ido perform the same task. 2017-03-26T21:03:01Z axion: The two sides serve different purposes 2017-03-26T21:04:21Z krwq: axion how does helm compare to ido 2017-03-26T21:05:20Z hjudt_: ok. so i'll look a bit more into auto-complete vs company-mode first. maybe helm/ido next. 2017-03-26T21:05:44Z axion: I don't know. I've never used ido. IIRC though, ido only uses the minibuffer whereas helm creates a new temporary buffer. 2017-03-26T21:05:49Z hjudt_: for slime/cl interaction, is company mode better than auto-complete or vice-versa or does it even matter? 2017-03-26T21:05:58Z axion: But I have to go afk. #emacs may be of more help if you have more questions. 2017-03-26T21:06:30Z hjudt_: thanks 2017-03-26T21:07:12Z whiteline quit (Remote host closed the connection) 2017-03-26T21:07:18Z aeth: Bike: There aren't two kinds of sequences. http://www.lispworks.com/documentation/HyperSpec/Body/t_seq.htm 2017-03-26T21:07:21Z aeth: "The types vector and the type list are disjoint subtypes of type sequence, but are not necessarily an exhaustive partition of sequence." 2017-03-26T21:07:24Z aeth: There are at least two kinds of sequences. 2017-03-26T21:07:42Z whiteline joined #lisp 2017-03-26T21:07:52Z Bike: you know i know that 2017-03-26T21:08:42Z Einwq quit (Quit: Leaving) 2017-03-26T21:09:08Z Bike: i've tried writing code with extended sequences, if they're not basically arrays you have to do something special if you want any efficiency, no big surprise 2017-03-26T21:09:58Z aeth: Right. My point isn't that you don't know that, but that all this code that are effectively (if sequence (if list (foo) (bar))) won't necessarily work well. 2017-03-26T21:10:26Z aeth: (alexandria actually uses (etypecase sequence (list ...) (sequence ...))) 2017-03-26T21:10:42Z malice joined #lisp 2017-03-26T21:11:26Z malice: Hi! I'm using SBCL and I've noticed that when I use (describe #'some-function) I get lambda-list. e.g. (describe #'expt) gives me(amongst other things) Lambda-list: (BASE POWER). 2017-03-26T21:11:48Z malice: Is it possible to get lambda-list without parsing the output from describe? 2017-03-26T21:12:24Z Bike: yeah, but it's sbcl-specific and only intended for debugging and user display 2017-03-26T21:12:26Z whiteline quit (Remote host closed the connection) 2017-03-26T21:12:46Z Bike: sb-introspect:function-arglist i think 2017-03-26T21:12:49Z whiteline joined #lisp 2017-03-26T21:13:05Z Bike: sorry, function-lambda-list 2017-03-26T21:13:42Z Bike: the standard function function-lambda-expression might also give you something, but usually doesn't 2017-03-26T21:14:31Z shka quit (Ping timeout: 260 seconds) 2017-03-26T21:15:46Z schjetne quit (Ping timeout: 256 seconds) 2017-03-26T21:17:58Z malice: hmm 2017-03-26T21:18:08Z malice: I am asking, because I was thinking 2017-03-26T21:18:49Z malice: In Haskell afaik you can do something like myfunc = otherfunc. It's useful for defining aliases and there were occasions when I wanted to do that in CL, but afaik there's no simple way 2017-03-26T21:19:23Z malice: I thought that if I could get the lambda-list, I could define "defalias" that would work similarly, so you could do (defalias my-new-func oldfunc) and the function would be exactly the same 2017-03-26T21:19:34Z malice: hmm 2017-03-26T21:19:41Z Bike: you can do (setf (fdefinition 'myfunc) (fdefinition 'otherfunc)) 2017-03-26T21:19:43Z malice: actually, I guess just setting fdefinition might work 2017-03-26T21:19:44Z malice: yeah 2017-03-26T21:19:44Z malice: :D 2017-03-26T21:20:16Z carlosdagos joined #lisp 2017-03-26T21:20:45Z malice: Wow, it works wonderfully! I can even get the variables description in the SLIME 2017-03-26T21:20:49Z malice: Thanks Bike :) 2017-03-26T21:20:49Z whiteline quit (Remote host closed the connection) 2017-03-26T21:21:00Z Bike: no problem 2017-03-26T21:21:07Z daemoz joined #lisp 2017-03-26T21:21:12Z whiteline joined #lisp 2017-03-26T21:22:38Z daemoz quit (Read error: Connection reset by peer) 2017-03-26T21:22:46Z learning joined #lisp 2017-03-26T21:22:57Z daemoz joined #lisp 2017-03-26T21:23:03Z daemoz: join #clnoobs 2017-03-26T21:23:59Z whiteline quit (Remote host closed the connection) 2017-03-26T21:24:47Z dilated_dinosaur joined #lisp 2017-03-26T21:26:22Z carlosdagos quit (Ping timeout: 246 seconds) 2017-03-26T21:28:13Z learning: clisp bug? (format t "~r" 4) => IIII 2017-03-26T21:28:37Z learning: "~:@r*** 2017-03-26T21:28:53Z learning: oh nvm works with the colon off 2017-03-26T21:29:35Z Bike: r has two things for roman numerals, one of which does IV and one does IIII 2017-03-26T21:29:37Z Bike: critical, obvs 2017-03-26T21:31:06Z learning: finally my apllication can easily support both old and new roman numerals 2017-03-26T21:33:25Z whiteline joined #lisp 2017-03-26T21:34:12Z Karl_Dscc joined #lisp 2017-03-26T21:34:54Z Bike: well at the time it was important for all the legacy software from the roman republic 2017-03-26T21:37:55Z bariscant quit (Ping timeout: 246 seconds) 2017-03-26T21:44:00Z gingerale quit (Remote host closed the connection) 2017-03-26T21:47:25Z dxtr: What's the most efficient for potentially large lists? Keep adding at the end or pushing to the front and then reverse the list/ 2017-03-26T21:47:28Z dxtr: ? 2017-03-26T21:47:55Z marusich joined #lisp 2017-03-26T21:48:39Z Bike: dunno. time it? 2017-03-26T21:48:57Z Bike: i remember hearing that they're mostly comparable 2017-03-26T21:49:14Z Bike: or no, maybe it was push and nreverse versus tracking the end 2017-03-26T21:49:52Z dxtr: yeah, well, adding to the end seems cpu inefficient and reversing it seems memory inefficient 2017-03-26T21:50:22Z dxtr: But this should be a reasonably well-researched subject :p 2017-03-26T21:51:47Z setheus quit (Ping timeout: 268 seconds) 2017-03-26T21:53:12Z setheus joined #lisp 2017-03-26T21:55:05Z daemoz quit (Ping timeout: 240 seconds) 2017-03-26T21:55:35Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-26T21:56:38Z hvxgr quit (Ping timeout: 240 seconds) 2017-03-26T21:58:47Z hvxgr joined #lisp 2017-03-26T21:59:57Z marvin2 quit (Ping timeout: 240 seconds) 2017-03-26T22:00:41Z marsjaninzmarsa quit (Quit: ZNC 1.7.x-git-487-cbf5c38 - http://znc.in) 2017-03-26T22:04:35Z pve quit (Ping timeout: 240 seconds) 2017-03-26T22:08:02Z attila_lendvai joined #lisp 2017-03-26T22:09:46Z daemoz joined #lisp 2017-03-26T22:12:08Z nirved quit (Quit: Leaving) 2017-03-26T22:19:44Z learning quit (Remote host closed the connection) 2017-03-26T22:22:46Z pebblexe joined #lisp 2017-03-26T22:23:38Z pebblexe quit (Client Quit) 2017-03-26T22:26:24Z megalography joined #lisp 2017-03-26T22:26:56Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-26T22:27:07Z rumbler31 joined #lisp 2017-03-26T22:29:36Z wooden__ quit (Read error: Connection reset by peer) 2017-03-26T22:31:57Z learning joined #lisp 2017-03-26T22:34:12Z wooden_ joined #lisp 2017-03-26T22:34:42Z shifty joined #lisp 2017-03-26T22:36:16Z varjag quit (Ping timeout: 260 seconds) 2017-03-26T22:36:43Z malice: dxtr: you still there? 2017-03-26T22:37:44Z dxtr: yeah 2017-03-26T22:37:48Z dxtr: always :p 2017-03-26T22:38:39Z malice: dxtr: from my small research it looks like push + nreverse seems like the best idea of the two you suggested 2017-03-26T22:38:52Z dxtr: Right 2017-03-26T22:39:03Z malice: push is O(1), nreverse looks like O(n) or better, and adding to the end will be O(n) and N will be growing 2017-03-26T22:39:17Z malice: BUT I believe that you might get the best performance by writing your own function 2017-03-26T22:39:21Z Bike: so you keep a pointer to the end of the list. 2017-03-26T22:39:25Z malice: which would track the end of the list and append it there 2017-03-26T22:39:28Z malice: yep 2017-03-26T22:39:53Z malice: or just use vectors 2017-03-26T22:40:00Z malice: lists aren't really that good 2017-03-26T22:40:03Z malice: they're rather bad 2017-03-26T22:40:37Z Bike: well, if you're iterating over or collecting lengthy ones, yeah. 2017-03-26T22:41:13Z malice: and they aren't that great when considering memory usage 2017-03-26T22:41:21Z malice: and probably cache 2017-03-26T22:41:30Z malice: I usually start with lists and then switch to vectors 2017-03-26T22:43:07Z dxtr: Yeah I should probably go for a vector 2017-03-26T22:57:38Z arescorpio joined #lisp 2017-03-26T22:59:08Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-26T23:02:18Z sjl quit (Read error: Connection reset by peer) 2017-03-26T23:02:28Z mishoo_ quit (Ping timeout: 258 seconds) 2017-03-26T23:03:01Z learning: i remember doing a project euler problem where I had to call reverse on a giant list, it took forever regardless if i used nreverse or reverse. 2017-03-26T23:06:32Z learning: is "miser style" unique to lisp? i can't find anything not lisp on google 2017-03-26T23:10:16Z wtetzner joined #lisp 2017-03-26T23:11:28Z Bike: i think so. that's why it's in quotes 2017-03-26T23:11:41Z Bike: if you're interested in the history of the pretty printer you should look up, what's it called, XP 2017-03-26T23:12:03Z Bike: https://dspace.mit.edu/handle/1721.1/6504 2017-03-26T23:22:26Z quazimodo joined #lisp 2017-03-26T23:23:24Z carlosdagos joined #lisp 2017-03-26T23:27:06Z malice quit (Remote host closed the connection) 2017-03-26T23:27:59Z carlosdagos quit (Ping timeout: 268 seconds) 2017-03-26T23:29:05Z krwq quit (Ping timeout: 240 seconds) 2017-03-26T23:39:48Z abel-abel joined #lisp 2017-03-26T23:39:57Z TCZ joined #lisp 2017-03-26T23:43:59Z X11R6 joined #lisp 2017-03-26T23:45:27Z vap1 quit (Remote host closed the connection) 2017-03-26T23:45:56Z marusich quit (Quit: Leaving) 2017-03-26T23:49:20Z EvW quit (Ping timeout: 256 seconds) 2017-03-26T23:51:19Z EvW joined #lisp 2017-03-26T23:52:47Z TCZ quit (Quit: Leaving) 2017-03-26T23:55:45Z X11R6 left #lisp 2017-03-27T00:00:14Z hvxgr quit (Quit: leaving) 2017-03-27T00:00:30Z hvxgr joined #lisp 2017-03-27T00:01:46Z drewc quit (Ping timeout: 246 seconds) 2017-03-27T00:08:05Z pmc joined #lisp 2017-03-27T00:10:28Z pjb quit (Ping timeout: 240 seconds) 2017-03-27T00:13:59Z pmc quit (Quit: Leaving) 2017-03-27T00:14:47Z drewc joined #lisp 2017-03-27T00:18:11Z tmtwd joined #lisp 2017-03-27T00:21:44Z atheris_ joined #lisp 2017-03-27T00:23:12Z atheris_ quit (Remote host closed the connection) 2017-03-27T00:29:18Z Jesin quit (Quit: Leaving) 2017-03-27T00:29:46Z drewc quit (Ping timeout: 246 seconds) 2017-03-27T00:30:52Z atheris joined #lisp 2017-03-27T00:31:38Z reepca quit (Remote host closed the connection) 2017-03-27T00:32:25Z Jesin joined #lisp 2017-03-27T00:37:30Z EvW quit (Ping timeout: 256 seconds) 2017-03-27T00:43:04Z Kundry_Wag_ quit (Remote host closed the connection) 2017-03-27T00:43:40Z Kundry_Wag joined #lisp 2017-03-27T00:48:16Z Kundry_Wag quit (Ping timeout: 256 seconds) 2017-03-27T00:51:12Z eazar001 quit (Quit: WeeChat 1.5) 2017-03-27T00:53:36Z eazar001 joined #lisp 2017-03-27T00:55:54Z aeth: If I make a top level variable without earmuffs and then I use that name that's special elsewhere, is it doing something different than if that doesn't exist at all? 2017-03-27T00:56:18Z aeth: so e.g. (let ((foo 37)) foo) vs. (defvar foo 42) (let ((foo 37)) foo) 2017-03-27T00:56:32Z aeth: s/different/differently/ 2017-03-27T00:56:58Z Karl_Dscc quit (Remote host closed the connection) 2017-03-27T00:57:40Z Bike: yes, if a symbol is globally special then bindings will be special. 2017-03-27T00:57:56Z aeth: oh wow, that's quite a different disassembly 2017-03-27T00:58:07Z aeth: 145 bytes vs 38, all because of that name 2017-03-27T00:58:44Z aeth: Does that also mean that if I call a function, and that function uses foo, it'll use the new foo? 2017-03-27T00:59:05Z antoszka: aeth: earmuffs don't do anything special, they're just a naming convention 2017-03-27T00:59:07Z Bike: yes. it is a special binding. 2017-03-27T00:59:17Z aeth: oooh, that's bad... hmm... 2017-03-27T00:59:26Z antoszka: aeth: without earmuffs you still get the special binding 2017-03-27T00:59:31Z smokeink joined #lisp 2017-03-27T01:00:01Z aeth: (defun get-foo () foo) (get-foo) => 42 2017-03-27T01:00:09Z aeth: (let ((foo 33)) (get-foo)) => 33 2017-03-27T01:00:19Z Bike: it's a special variable, yeah. 2017-03-27T01:00:19Z aeth: That's definitely going to cause some unexpected behavior 2017-03-27T01:00:37Z aeth: Are there globals that aren't special? It doesn't look like it, except maybe constants. 2017-03-27T01:00:51Z prole quit (Remote host closed the connection) 2017-03-27T01:01:06Z Bike: not standardly. sbcl has global lexicals. 2017-03-27T01:01:09Z Bike: what are you doing? 2017-03-27T01:01:35Z safe joined #lisp 2017-03-27T01:02:04Z aeth: I'm trying to reuse Lisp's variable environment for a language that compiles to Lisp. This should work fine for lambdas/functions. I am not sure how I could handle a global lexical environment, though. 2017-03-27T01:02:37Z l04m33 joined #lisp 2017-03-27T01:02:44Z l04m33 quit (Client Quit) 2017-03-27T01:03:01Z l04m33 joined #lisp 2017-03-27T01:03:15Z aeth: e.g. it would be great if I could just (funcall foo 42) to call foo if foo is defined locally, but still get the global definition of the foo if foo does not exist locally. 2017-03-27T01:03:38Z aeth: But globals being dynamically scoped means I can't use globals. 2017-03-27T01:04:01Z aeth: I could perhaps just put it all in one big let, but then I don't think I can add new bindings, which might only be an issue in the REPL of the language. 2017-03-27T01:04:37Z carlosdagos joined #lisp 2017-03-27T01:04:51Z aeth: I mean, I could probably just (setf bar 99) within the "global" let and hide SBCL's warning, but it might not be a warning on all CLs. 2017-03-27T01:06:04Z blackwolf quit (Ping timeout: 260 seconds) 2017-03-27T01:06:41Z Kundry_Wag joined #lisp 2017-03-27T01:06:52Z aeth: What I mean is something like this, to fake both global lexical variables *and* Lisp-1: (let ((foo #'car)) (funcall foo (list 1 2 3))) 2017-03-27T01:07:01Z shdeng joined #lisp 2017-03-27T01:07:52Z aeth: oh, that wouldn't work, though, because then none of the defined functions could use a "global" lexical. Hmm. 2017-03-27T01:08:19Z Bike: i think if whatever you're compiling uses variables very differently from lisp you shouldn't use lisp variables for them. or you could do a little analysis and find references to variables with no corresponding lexical binding. 2017-03-27T01:09:22Z carlosdagos quit (Ping timeout: 264 seconds) 2017-03-27T01:10:56Z smokeink quit (Ping timeout: 256 seconds) 2017-03-27T01:11:51Z aeth: Bike: It's only different from Lisp in that there's (1) one namespace, (2) the globals behave differently. 2017-03-27T01:12:00Z neoncontrails joined #lisp 2017-03-27T01:12:11Z Bike: seems like enough. 2017-03-27T01:13:19Z aeth: Hmm... Maybe I could turn every (foo 1 2 3) into (funcall foo 1 2 3) if foo is defined locally and otherwise (funcall (gethash foo *globals*) 1 2 3) 2017-03-27T01:13:35Z aeth: And similar for non-functions. 2017-03-27T01:13:40Z aeth: Would that work? 2017-03-27T01:13:53Z Bike: that's what i meant by the analyzing, yeah. 2017-03-27T01:15:38Z vydd quit 2017-03-27T01:16:31Z aeth: I'm not sure if there is an elegant way to handle that, though. 2017-03-27T01:18:42Z ChrisOei quit (Quit: ChrisOei) 2017-03-27T01:19:13Z X-Scale quit (Read error: Connection reset by peer) 2017-03-27T01:21:32Z Bike: to handle what? 2017-03-27T01:23:34Z aeth: Is there even a way to check that a variable is bound without keeping track of all variables while compiling to CL? 2017-03-27T01:23:59Z Bike: um, no. i meant for you to write an actual compiler. 2017-03-27T01:24:22Z aeth: A lazy route could be a runtime check, but even that seems impossible because boundp appears to only check for globals: (let ((asdf 1)) (print (boundp 'asdf)) asdf) ; prints NIL 2017-03-27T01:24:34Z Bike: for specials. 2017-03-27T01:24:45Z aeth: ah 2017-03-27T01:24:51Z Bike: the runtime doesn't know anything about lexical names except for debugging. 2017-03-27T01:24:55Z Bike: probably. 2017-03-27T01:25:07Z Bike: that is one of the big advantages of lexical variables. 2017-03-27T01:27:31Z mathrick quit (Ping timeout: 246 seconds) 2017-03-27T01:30:19Z aeth: Oh, and don't worry, I don't have to write much of an actual compiler. :-p 2017-03-27T01:31:21Z Bike: well, if it's just scheme or something, it's not like tracking bindings is hard. 2017-03-27T01:31:36Z aeth: The bindings are only going to be in lambda, actually. 2017-03-27T01:31:42Z aeth: Unless they're top-level and thus in *globals* 2017-03-27T01:31:54Z Bike: sorry, does that contradict what i said? 2017-03-27T01:31:56Z aeth: Because Scheme likes to make everything a macro on top of lambda. 2017-03-27T01:32:08Z aeth: No, it doesn't. It confirms what you just said. 2017-03-27T01:32:13Z Bike: oh ok. 2017-03-27T01:33:57Z aeth: And I have to go through everything anyway, for continuations. Now I just need to also track the variables defined by lambdas. The hardest part is lambdas-in-lambdas. 2017-03-27T01:34:09Z Bike: that's harder? 2017-03-27T01:36:13Z wtetzner quit (Remote host closed the connection) 2017-03-27T01:38:09Z FreeBirdLjj joined #lisp 2017-03-27T01:39:14Z rumbler31 quit (Remote host closed the connection) 2017-03-27T01:39:31Z X-Scale joined #lisp 2017-03-27T01:39:32Z aeth: Bike: Yes, because now I need to know where the lambda is, and I cannot just process lambda outside of context. 2017-03-27T01:40:00Z Bike: ? for just listing which variables are bound? 2017-03-27T01:40:55Z Kundry_Wag quit (Remote host closed the connection) 2017-03-27T01:41:29Z Kundry_Wag joined #lisp 2017-03-27T01:42:10Z mathrick joined #lisp 2017-03-27T01:42:18Z aeth: Bike: If I am handling (lambda (foo) (+ foo bar)) I now need to know if lambda is contained in another lambda that has bar defined or if bar is in *globals*, whereas if I could find some way without having something like *globals* I don't need any information about bar. 2017-03-27T01:42:40Z Bike: that's... a lexical environment. 2017-03-27T01:42:51Z Bike: that's what tracking what variables bound by lambdas means? i'm confused. 2017-03-27T01:43:08Z aeth: Right, I need to know the full lexical environment now. 2017-03-27T01:43:17Z aeth: Rather than just handling forms in isolation. 2017-03-27T01:44:13Z Bike: (defun compile (form env) (cond ((symbolp form) (if (find form env) form `(gethash ',form *globals*))) ((eq (first form) 'lambda) `(lambda ,(second form) ,(compile (third form) (append (second form) env)))) (t `(funcall ,(compile (first form) env) ,@(mapcar (lambda (f) (compile f env)) (rest form)))))))))))))) 2017-03-27T01:45:32Z Bike: then add like, progns and ifs i guess. 2017-03-27T01:45:46Z Kundry_Wag quit (Ping timeout: 260 seconds) 2017-03-27T01:46:48Z Bike: or whatever scheme has. begin. 2017-03-27T01:47:08Z Bike: and put it in CPS while you're at it. left as an exercise to the reader and all that silliness 2017-03-27T01:52:40Z ChrisOei joined #lisp 2017-03-27T01:53:03Z arescorpio quit (Ping timeout: 258 seconds) 2017-03-27T01:54:45Z ChrisOei quit (Read error: Connection reset by peer) 2017-03-27T01:55:34Z ChrisOei joined #lisp 2017-03-27T01:59:46Z jameser joined #lisp 2017-03-27T02:00:16Z aeth: Yes, I'd put it in the CPS. 2017-03-27T02:03:30Z karswell joined #lisp 2017-03-27T02:03:53Z ChrisOei quit (Quit: ChrisOei) 2017-03-27T02:04:03Z TDT quit (Quit: TDT) 2017-03-27T02:08:19Z ryanwatkins quit (Remote host closed the connection) 2017-03-27T02:10:24Z JuanDaugherty joined #lisp 2017-03-27T02:13:18Z pmc joined #lisp 2017-03-27T02:13:58Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-27T02:19:44Z beach: Good morning everyone! 2017-03-27T02:21:47Z rumbler31 joined #lisp 2017-03-27T02:25:55Z drewc joined #lisp 2017-03-27T02:26:14Z FreeBirdLjj joined #lisp 2017-03-27T02:28:05Z rumbler31 quit (Remote host closed the connection) 2017-03-27T02:31:26Z neoncontrails quit (Remote host closed the connection) 2017-03-27T02:32:03Z neoncontrails joined #lisp 2017-03-27T02:33:14Z neoncont_ joined #lisp 2017-03-27T02:35:03Z wtetzner joined #lisp 2017-03-27T02:36:07Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-27T02:38:26Z Harag joined #lisp 2017-03-27T02:44:25Z hvxgr quit (Ping timeout: 258 seconds) 2017-03-27T02:44:38Z dmiles: jackdaniel: what ws the paper i gave you the link to? 2017-03-27T02:45:23Z dmiles: i mean the link 2017-03-27T02:49:46Z dmiles: found it https://www.di.unipi.it/~attardi/Paper/LUV94.pdf 2017-03-27T02:50:46Z dmiles: nope.. that was the one you gave me.. i am looking for the one i gave you 2017-03-27T02:51:03Z beach: Would it be in the logs? 2017-03-27T02:51:09Z hvxgr joined #lisp 2017-03-27T02:51:16Z dmiles: yeah but arnt logs illegal on freenode now? 2017-03-27T02:51:33Z beach: Oh? 2017-03-27T02:51:47Z dmiles: we can make the,m but they cant be realtime or somesuch 2017-03-27T02:51:49Z loke joined #lisp 2017-03-27T02:52:55Z Bike: nothing in the freenode policies page mentions logs. 2017-03-27T02:53:00Z beach: This one? : http://www.nbcnews.com/feature/college-game-plan/should-computer-coding-be-considered-foreign-language-school-some-say-n543656 2017-03-27T02:53:23Z Bike: the channel guidelines mention that logs should be published with care and to inform users if it's happening (which is why it says "logs" in the topic) 2017-03-27T02:53:23Z dmiles: not that one but between then and now 2017-03-27T02:53:30Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-27T02:53:36Z beach: Or this one? :https://github.com/TeamSPoon/pfc/blob/master/prolog/pfc2.0/mpred_loader.pl#L404-L413 2017-03-27T02:53:54Z dmiles: next 2017-03-27T02:54:01Z FreeBirdLjj joined #lisp 2017-03-27T02:54:12Z beach: That's all in 2017 from you that mentions http 2017-03-27T02:54:26Z beach: I did grep dmiles 17* | grep http 2017-03-27T02:54:26Z dmiles: hrrm maybe my nick wqas logicmoo (my autojoin) 2017-03-27T02:54:44Z dmiles: (thanks btw for doing this beach) 2017-03-27T02:55:02Z beach: https://github.com/TeamSPoon/PrologMUD/blob/development/pack/logicmoo_nlu/prolog/e2c/subl-grep.lisp 2017-03-27T02:55:13Z dmiles: hehe we are gettign close 2017-03-27T02:55:38Z beach: I didn't find any others. :( 2017-03-27T02:55:45Z beach: Maybe a different channel or PM? 2017-03-27T02:55:54Z dmiles: jackdaniel said something about not seen that paper yet 2017-03-27T02:56:27Z dmiles: grep -5 jackdaniel | grep http 2017-03-27T02:57:01Z dmiles: oops that might be a lot 2017-03-27T02:57:28Z beach: If it is something you gave him, I should be searching for you first. 2017-03-27T02:57:41Z dmiles: grep -5 jackdaniel | grep CRS -3 | grep http 2017-03-27T02:58:03Z pmc quit (Quit: Leaving) 2017-03-27T02:58:12Z marvin2 joined #lisp 2017-03-27T02:58:15Z dmiles: well i am also dmiles or logicmoo .. lately my net i have been 50/50 2017-03-27T02:58:58Z dmiles: found it https://pdfs.semanticscholar.org/d87e/a800c08616e21e915f5b018150aa10b94231.pdf 2017-03-27T02:59:23Z dmiles: grepping for a800c08616e21e915f5b018150aa10 where was it? 2017-03-27T02:59:29Z loke: Last week, someone recommended a library that allowed one to define binary datatypes (i.e. decoding a binary structure, such as a network packet) into structs. One of them was binary-types, but there was at least one more. 2017-03-27T02:59:41Z loke: Anyone remember the name of any such library? 2017-03-27T03:00:02Z beach: dmiles: It is not in the logs as far as I can tell. 2017-03-27T03:01:41Z dmiles: hrrm not in ##lisp or #lispcafe or #lispgames (i have enough scroolbakc i was thinking to find it) 2017-03-27T03:02:49Z wtetzner quit (Remote host closed the connection) 2017-03-27T03:05:10Z FreeBird_ joined #lisp 2017-03-27T03:05:46Z JuanDaugherty: loke, you know there are public logs? 2017-03-27T03:07:22Z ChrisOei joined #lisp 2017-03-27T03:08:14Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2017-03-27T03:10:27Z dmiles: dmiles: it's against freenode policy unless the channel topic _explicitly states_ that the channel is publicly logged. 2017-03-27T03:10:37Z sbodin joined #lisp 2017-03-27T03:11:19Z eazar001 quit (Quit: WeeChat 1.7) 2017-03-27T03:11:39Z Bike: i think a link to public logs is pretty explicit 2017-03-27T03:12:13Z dmiles: Bike: good, i just didnt remember the deails until he reminded me just now 2017-03-27T03:12:33Z learning quit (Remote host closed the connection) 2017-03-27T03:14:42Z eazar001 joined #lisp 2017-03-27T03:17:54Z ChrisOei quit (Quit: ChrisOei) 2017-03-27T03:22:25Z kobain quit (Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/) 2017-03-27T03:30:22Z sbodin quit (Ping timeout: 264 seconds) 2017-03-27T03:34:15Z travv0 quit (Ping timeout: 258 seconds) 2017-03-27T03:48:14Z mrottenkolber joined #lisp 2017-03-27T03:48:19Z bariscant joined #lisp 2017-03-27T03:52:00Z SoraFirestorm joined #lisp 2017-03-27T03:52:13Z SoraFirestorm: o/ 2017-03-27T03:52:32Z SoraFirestorm: Got a question about macros 2017-03-27T03:52:41Z SoraFirestorm: So, I'm writing a compiler 2017-03-27T03:53:08Z SoraFirestorm: and I want to work my assembly emitting code into macro(s) to make it easier to read and write 2017-03-27T03:53:25Z SoraFirestorm: Something like this, say: (emit (mov (:immediate 5) (:register :eax))) 2017-03-27T03:54:15Z SoraFirestorm: I'm having trouble figuring out what to do if I want to quasiquote the arguments 2017-03-27T03:54:38Z Bike: what do you mean by 'quasiquote the arguments'? 2017-03-27T03:54:39Z SoraFirestorm: Say something like (mov `(:immediate ,foo) (:register :eax)) for the instruction if I want a variable 2017-03-27T03:54:58Z SoraFirestorm: better stated: partial evaluation of some subforms 2017-03-27T03:55:34Z SoraFirestorm: Maybe I'm in the wrong frame of mind, but I can't really see a way to do it without eval 2017-03-27T03:55:37Z Bike: that's tricky. 2017-03-27T03:55:50Z Bike: what does (emit (mov (:immediate 5) (:register :eax))) expand to? 2017-03-27T03:56:05Z SoraFirestorm: and even then, I can't see a way to determine which subexps to eval 2017-03-27T03:57:17Z SoraFirestorm: right now 2017-03-27T03:57:19Z SoraFirestorm: (PROGN 2017-03-27T03:57:20Z SoraFirestorm: (APPLY #'EMIT::EMIT-OUT " mov ~a ~a" 2017-03-27T03:57:20Z SoraFirestorm: (MAPCAR #'EMIT::DECODE-INSTRUCTION-ARG 2017-03-27T03:57:20Z SoraFirestorm: ((:IMMEDIATE 5) (:REGISTER :EAX))))) 2017-03-27T03:57:33Z SoraFirestorm: (ignoring the fact that the mapcar list argument isn't quoted) 2017-03-27T03:57:44Z neoncont_ quit (Remote host closed the connection) 2017-03-27T03:58:00Z Bike: mm. 2017-03-27T03:58:04Z SoraFirestorm: I have a function that generates the string from the instruction sexp 2017-03-27T03:58:21Z neoncontrails joined #lisp 2017-03-27T03:58:49Z SoraFirestorm: Maybe I'm thinking about this the wrong way and shouldn't be using macros? 2017-03-27T03:58:58Z neoncontrails quit (Remote host closed the connection) 2017-03-27T03:59:13Z SoraFirestorm: Certainly possible, I've not had a lot of macro writing experience in Lisp 2017-03-27T03:59:21Z Bike: you could have something like, have it expand to (emit-out "mov ~a ~a" (decode-value 5) (decode-register :eax)). and then if you had (emit (mov (:immediate foo) (:register :eax))) that could expand to (emit-out "mov ~a ~a" (decode-value foo) (decode-register :eax)), so foo is evaluated normally. 2017-03-27T03:59:36Z neoncontrails joined #lisp 2017-03-27T04:00:36Z SoraFirestorm: I suppose that could work 2017-03-27T04:00:54Z SoraFirestorm: for the most part, decode-instruction-arg calls what is essentially decode-value and decode-register anyways 2017-03-27T04:01:55Z SoraFirestorm: that does move some complexity into the macro, which I'm looking to avoid 2017-03-27T04:01:56Z SoraFirestorm: hm 2017-03-27T04:02:05Z bariscant quit (Ping timeout: 240 seconds) 2017-03-27T04:02:37Z Bike: well, i mean, if you pass something '((:immediate foo)) at runtime it'll have to eval, which shouldn't be the case. 2017-03-27T04:03:25Z SoraFirestorm: I do like that your solution doesn't entail backquoting 2017-03-27T04:03:56Z Bike: backquoting an argument is more something to do with functions. 2017-03-27T04:04:02Z Bike: which is also a possibility, i mean, but still 2017-03-27T04:05:28Z aeth: Is it possible to add continuation passing style to CLOS? I mean clearly I can just (defmethod foo-bar (continuation (foo foo) (bar bar))) but that doesn't affect the stuff CLOS generates itself like accessors, and things like initialize-instance 2017-03-27T04:05:55Z aeth: It would also seem tricky to try to interact with other people's objects/methods. 2017-03-27T04:06:11Z aeth: The latter could be wrapped like CL functions, though. 2017-03-27T04:07:02Z Bike: er, what do you mean by adding CPS 2017-03-27T04:07:40Z Bike: SoraFirestorm: with backquoting i'd do something like (emit '(mov (:immediate 5) (:register :eax))) and (emit `(mov (:immediate ,foo) (:register :eax))) where emit is now a function 2017-03-27T04:08:31Z SoraFirestorm: yeah 2017-03-27T04:09:47Z aeth: Bike: There are actually two distinct use cases. Using CLOS directly (through a define-class, define-generic, define-method, etc.) within the language that compiles to CL, and using objects, methods, etc., defined from CL from within the language that compiles to CL. 2017-03-27T04:09:50Z Mynock^_^ joined #lisp 2017-03-27T04:11:21Z Bike: i mean... how do you want this to look? 2017-03-27T04:11:32Z aeth: Calling functions defined from the Scheme will be pretty easy. As are calling CL functions, both directly and through using CL to define built-in procedures (the language is mostly written in CL). 2017-03-27T04:11:43Z Bike: you can do obvious things like (defun cps:initialize-instance (cont &rest args) (funcall cont (apply #'cl:initialize-instance args))) 2017-03-27T04:12:15Z SoraFirestorm: Bike: maybe it would be possible to have all instruction args get APPENDed to (list)? 2017-03-27T04:12:29Z Bike: i don't understand. 2017-03-27T04:12:30Z SoraFirestorm: (:immediate foo) -> (list :immediate foo)? 2017-03-27T04:12:35Z daviid quit (Ping timeout: 240 seconds) 2017-03-27T04:12:54Z SoraFirestorm: that eliminates the need for the quoting mechanisms 2017-03-27T04:13:10Z SoraFirestorm: as well as allows me to use the single argument decoding instruction 2017-03-27T04:14:29Z aeth: Bike: yes, that's basically what I do already for the built in functions, with the added conversion of nil to :false where applicable. 2017-03-27T04:14:29Z SoraFirestorm: it just means lots of list creation funcalls at compile time 2017-03-27T04:14:45Z Bike: that shouldn't really be a concern, sora 2017-03-27T04:14:55Z SoraFirestorm: I didn't think so 2017-03-27T04:15:08Z SoraFirestorm: I'll see where I can get with that 2017-03-27T04:15:09Z aeth: Bike: and then I'll have a scheme-funcall to allow directly calling such functions and a cl-funcall for the opposite direction. I'm just not sure if it's ideal for generic functions 2017-03-27T04:15:13Z SoraFirestorm: Thanks for bouncing ideas with me 2017-03-27T04:15:30Z Bike: mhm 2017-03-27T04:15:39Z aeth: (And I'll probably have to add to the compiler some sort of inlining system for simple functions like + so performance isn't hurt.) 2017-03-27T04:17:05Z aeth: Bike: should I just treat generic functions like functions? 2017-03-27T04:17:16Z Bike: i mean... they are functions 2017-03-27T04:17:16Z aeth: (That seems to be what your suggestion implies) 2017-03-27T04:17:38Z Bike: i really don't understand what else you want here. cps call-next-method? 2017-03-27T04:18:11Z aeth: Bike: I'd want the accessors to have CPS automatically, since if they're defined from within the CPS system, they'll probably need to be called specially anyway 2017-03-27T04:18:53Z aeth: e.g. (scheme-funcall 'x point) to use the horrible example of a point that shouldn't be implemented through CLOS 2017-03-27T04:19:49Z FreeBird_ quit (Remote host closed the connection) 2017-03-27T04:19:53Z aeth: The most trivial way of handling that would be (x #'identity point) assuming that the continuation is always in the first position, but there will be added complications that make that a bit trickier (e.g. requiring at trampoline because tail recursion cannot be guaranteed, and making sure *globals* is visible) 2017-03-27T04:20:52Z Bike: you could make CPS accessors with a special defclass macro, or with MOP in some weird way i'm sure 2017-03-27T04:23:11Z shka joined #lisp 2017-03-27T04:26:00Z aeth: I should probably make define-class a built-in form that's a thin wrapper over mostly-CL logic, so I don't have to CPS tons of things, only the final interface. 2017-03-27T04:27:49Z jackdaniel: do you have a reason to implement such thing? 2017-03-27T04:28:13Z aeth: jackdaniel: I'm trying to clean up and complete my cl-scheme 2017-03-27T04:28:33Z aeth: The reason is because Pseudoscheme is a mostly (not fully complete) r4rs (i.e. ancient) that afaik is not actively maintained. 2017-03-27T04:28:35Z rumbler31 joined #lisp 2017-03-27T04:28:46Z jackdaniel: do you have everything else? (I mean – except call/cc) 2017-03-27T04:28:47Z aeth: s/mostly (not fully complete)/mostly (not fully) complete/ 2017-03-27T04:29:08Z elinux joined #lisp 2017-03-27T04:29:32Z aeth: I also need to do the hygienic macros, and rewrite the reader that I wrote when I wasn't as good at CL (but I might be able to keep a lot of it) 2017-03-27T04:29:50Z aeth: But because I worked at the right level of abstraction in defining the built-in procedures, I do have about 2/3 of the language 2017-03-27T04:31:09Z aeth: e.g. (define-scheme-procedure (sin z) (sin z)) which at the moment creates a %s-sin with two arguments, the first being the continuation (it needs to go first because of functions with optional/rest arguments) 2017-03-27T04:31:58Z aeth: It's a mostly, but not entirely easy process, that just has to be done lots and lots of times, with careful reading for when the meanings actually differ. 2017-03-27T04:32:40Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-27T04:40:02Z mrottenkolber quit (Ping timeout: 256 seconds) 2017-03-27T04:41:08Z Harag quit (Ping timeout: 240 seconds) 2017-03-27T04:42:04Z Harag joined #lisp 2017-03-27T04:42:43Z Autolycus joined #lisp 2017-03-27T04:43:03Z oleo quit (Quit: Leaving) 2017-03-27T04:47:30Z SoraFirestorm: I just realized this approach has made something not-entirely-unrelated kinda difficult 2017-03-27T04:47:57Z SoraFirestorm: I've been writing in such a way so as to make the assembly emitter somewhat platform agnostic 2017-03-27T04:48:11Z SoraFirestorm: well 2017-03-27T04:48:15Z SoraFirestorm: maybe it can still work 2017-03-27T04:48:19Z SoraFirestorm: I'll have to see, I guess 2017-03-27T04:48:26Z Bike: platform independent assembler sounds impossible. 2017-03-27T04:48:46Z SoraFirestorm: I just want it to be not horrendously difficult to port 2017-03-27T04:49:21Z SoraFirestorm: I want to add ARM as a target, but am developing on x86 as it makes testing faster 2017-03-27T04:50:05Z SoraFirestorm: I know that I'm not going to totally be platform independent 2017-03-27T04:50:14Z SoraFirestorm: but I want to be as much so as is reasonable 2017-03-27T04:50:34Z aeth: CISC and RISC are very different afaik 2017-03-27T04:50:56Z SoraFirestorm: I should just forget about it then, I guess 2017-03-27T04:51:06Z FreeBirdLjj joined #lisp 2017-03-27T04:52:03Z beach: SoraFirestorm: For what language are you writing a compiler? 2017-03-27T04:52:13Z SoraFirestorm: custom Lisp 2017-03-27T04:52:30Z SoraFirestorm: wanna write a compiler that targets the bare metal 2017-03-27T04:52:40Z SoraFirestorm: hence writing a compiler in the first place 2017-03-27T04:53:12Z beach: I see. 2017-03-27T04:53:24Z SoraFirestorm: that means that eventually I'll have to grow my own assembler and several other facilities that I don't have yet 2017-03-27T04:53:27Z SoraFirestorm: but baby steps 2017-03-27T04:54:03Z Bike: i mean: platform independent assembler sounds impossible, but you could have a portable, like, assembler infrastructure 2017-03-27T04:54:27Z beach: SoraFirestorm: Why a custom Lisp rather than some existing one? 2017-03-27T04:54:45Z SoraFirestorm: because I felt like it :P 2017-03-27T04:55:20Z FreeBirdLjj quit (Ping timeout: 256 seconds) 2017-03-27T04:55:26Z pillton: You could work on SIMD support for an existing implementation. 2017-03-27T04:55:51Z SoraFirestorm: and partly because this is a neat learning experience 2017-03-27T04:56:27Z FreeBirdLjj joined #lisp 2017-03-27T04:56:44Z aeth: Personally, I think that all languages should compile to an extended Common Lisp, sharing a runtime. (extended is necessary because e.g. unicode, threads, etc.) 2017-03-27T04:57:03Z beach: SoraFirestorm: Good luck! 2017-03-27T04:57:06Z smokeink joined #lisp 2017-03-27T04:57:06Z aeth: If you're making a Lisp, you could make it a Common Lisp, and give it some special extentions if necessary for your own Lisp that can compile to that Common Lisp. Then you instantly get tons of libraries. 2017-03-27T04:57:11Z SoraFirestorm: beach: thanks! 2017-03-27T04:57:12Z aeth: But that's just my opinion. 2017-03-27T04:57:41Z SoraFirestorm: I intend to (try to) get most of Common Lisp over top 2017-03-27T04:57:49Z SoraFirestorm: this Lisp is meant to be a bootstrap 2017-03-27T04:57:54Z aeth: oh, then you're going the other way around, that's still good 2017-03-27T04:58:10Z SoraFirestorm: honestly, what I really wanted was to cross-compile SBCL to the bare metal 2017-03-27T04:58:11Z Mynock^_^ quit (Quit: Leaving) 2017-03-27T04:58:40Z SoraFirestorm: Mezzano has grown support for that, but I'm interesting in doing my own OS 2017-03-27T04:58:51Z SoraFirestorm: (hence the adventure to write a bootstrap Lisp to begin with) 2017-03-27T04:59:43Z SoraFirestorm: if I could just strip out the cross-compiler bits, I would just start from there. It'd be loads easier. 2017-03-27T04:59:47Z BusFactor1: The "Emacs Lisp Programming Environment (ELPE)" now available in the macOS App Store: https://itunes.apple.com/ca/app/emacs-lisp-programming-environment-elpe/id1217644998?mt=12 2017-03-27T04:59:59Z BusFactor1: Thoughts? 2017-03-27T05:00:48Z abel-abel quit (Ping timeout: 260 seconds) 2017-03-27T05:03:04Z aeth: I started out working how to represent vectors and cons pairs in the Brainfuck that I wrote the other day so that I could put Lisp on Brainfuck on Lisp (and if I implemented enough Lisp to implement the Brainfuck, I could keep recursively running it until it was too slow to run anymore) 2017-03-27T05:03:06Z dec0n joined #lisp 2017-03-27T05:03:27Z aeth: I still might do that because it sounds so ridiculous, but that got me to go back to my cl-scheme, which is both more useful and easier. 2017-03-27T05:03:50Z BusFactor1: Sounds awesome. I'd love a BF lisp implementation :) 2017-03-27T05:04:16Z beach: SoraFirestorm: What is the purpose of the bootstrap Lisp in this chain of things? 2017-03-27T05:04:25Z aeth: BusFactor1: Right, but Brainfuck is pretty basic. I think I'd actually have an easier time targeting a simple instruction set like RISC-V. 2017-03-27T05:04:41Z beach: SoraFirestorm: I mean, you seem to use Common Lisp already for writing the compiler(s). No? 2017-03-27T05:05:00Z SoraFirestorm: yes 2017-03-27T05:05:28Z SoraFirestorm: I'm going to use the bootstrap Lisp to write (at least some of) CL in 2017-03-27T05:05:44Z beach: SoraFirestorm: Yes, but why? 2017-03-27T05:05:57Z SoraFirestorm: It'll be smaller and easier to implement 2017-03-27T05:06:04Z SoraFirestorm: (in my mind) 2017-03-27T05:06:12Z smokeink quit (Remote host closed the connection) 2017-03-27T05:06:18Z SoraFirestorm: not so much stuff to need to support 2017-03-27T05:06:37Z SoraFirestorm: and as much as I prefer the Lisp-2 model, this will be a Lisp-1 2017-03-27T05:06:52Z smokeink joined #lisp 2017-03-27T05:06:54Z SoraFirestorm: in the name of ostensibly being easier to implement 2017-03-27T05:07:03Z beach: SoraFirestorm: But then you have to dumb down the code for your Common Lisp implementation since you don't have access to the full Common Lisp language. 2017-03-27T05:07:26Z aeth: beach: I've considered implementing a minimal, lower-level Lisp for CL implementation before... or at least the GC portion of the implementation. 2017-03-27T05:07:40Z SoraFirestorm: I don't think I'm capable of writing a compiler to target CL 2017-03-27T05:08:06Z SoraFirestorm: tbh I'll be lucky and amazed if I can actually eventually target the metal with my bootstrap Lisp 2017-03-27T05:08:09Z beach: SoraFirestorm: Isn't that what your CL implementation will have to do once you finish your bootstrap Lisp? 2017-03-27T05:08:42Z SoraFirestorm: I suppose you're right 2017-03-27T05:09:09Z beach: And now you have to maintain two Lisp implementations. 2017-03-27T05:09:32Z beach: SoraFirestorm: I am not criticizing, just trying to understand. 2017-03-27T05:09:56Z SoraFirestorm: Just trying to not make the project any more impossible than I've already made it 2017-03-27T05:10:13Z beach: OK. 2017-03-27T05:10:16Z SoraFirestorm: again, I'd prefer to just cross-compile SBCL like Mezzano does 2017-03-27T05:11:08Z smokeink quit (Ping timeout: 240 seconds) 2017-03-27T05:11:34Z SoraFirestorm: but I have no idea how to make that happen 2017-03-27T05:12:29Z Bike: i thought mezzano had its own compiler. 2017-03-27T05:12:52Z beach: Bike: I think SoraFirestorm means that Mezzano uses SBCL to compile its code. 2017-03-27T05:13:03Z smokeink joined #lisp 2017-03-27T05:13:07Z beach: So the Mezzano compiler runs as a cross compiler in SBCL. 2017-03-27T05:13:21Z Bike: oh, well. that's pretty different 2017-03-27T05:14:12Z smokeink quit (Remote host closed the connection) 2017-03-27T05:15:06Z SoraFirestorm: I'm pretty sure that Mezzano's compiler is a cross 2017-03-27T05:15:13Z SoraFirestorm: I can't state for 100% certainty 2017-03-27T05:16:36Z SoraFirestorm: shit, I wouldn't even mind having just an interpreter 2017-03-27T05:16:45Z vlatkoB joined #lisp 2017-03-27T05:16:45Z beach: SoraFirestorm: The way you expressed it ("cross-compile SBCL") sounded like Mezzano was using SBCL code as its source. 2017-03-27T05:17:25Z SoraFirestorm: I just realized that my internal model of how it works is wrong 2017-03-27T05:17:46Z SoraFirestorm: I thought it was SBCL 2017-03-27T05:17:54Z SoraFirestorm: well 2017-03-27T05:17:58Z SoraFirestorm: now I have to look 2017-03-27T05:19:22Z beach: The code for SBCL is very much tied to how the SBCL implementation works in great detail, so using SBCL source code for just about anything would just be, well, SBCL. 2017-03-27T05:19:23Z smokeink joined #lisp 2017-03-27T05:20:11Z beach: SoraFirestorm: But SBCL is a very conforming implementation, so using it to run Common Lisp code for some other compiler, such as that of Mezzano, is quite doable. 2017-03-27T05:22:16Z beach: SoraFirestorm: Sometime in the future, when you think you are through with your learning experience, come back and ask me and Bike about SICL and Cleavir. Cleavir is an implementation-independent compiler framework that is currently used by SICL and Clasp. And jackdaniel has plans to write a compiler for ECL using Cleavir as well. 2017-03-27T05:26:13Z abel-abel joined #lisp 2017-03-27T05:27:31Z froggey: SoraFirestorm: mezzano uses sbcl as a cross-compilation host, running the mezzano compiler on it to build the initial lisp environment. once that's built & running, the compiler is loaded and runs natively on mezzano 2017-03-27T05:27:56Z beach: froggey: Yeah, pretty much what I said, right? 2017-03-27T05:28:32Z froggey: yep 2017-03-27T05:28:54Z beach: froggey: Are you going to ELS? 2017-03-27T05:29:33Z froggey: no, can't afford it 2017-03-27T05:29:35Z shka quit (Ping timeout: 240 seconds) 2017-03-27T05:29:58Z beach: Oh, sorry to hear that. You are in the UK, right? 2017-03-27T05:30:05Z SoraFirestorm: froggey: ah, okay 2017-03-27T05:30:36Z froggey: that's right, I am 2017-03-27T05:30:41Z SoraFirestorm: I wish I was wizard enough to actually understand and write this :( 2017-03-27T05:31:11Z Bike: all you have to do to be a wizard is sit around in a dingy old tower library for a while 2017-03-27T05:31:12Z beach: SoraFirestorm: Give yourself some time. It will happen. 2017-03-27T05:31:25Z marvin2 quit (Read error: Connection reset by peer) 2017-03-27T05:37:43Z SoraFirestorm: so I suppose then that I'm technically taking the route that Mezzano is, just that my Lisp isn't a CL? 2017-03-27T05:41:22Z Jach[m] joined #lisp 2017-03-27T05:42:47Z beach: Maybe so. 2017-03-27T05:43:13Z beach: SoraFirestorm: Either way, you will have fun and learn a lot. 2017-03-27T05:43:34Z SoraFirestorm: Well, tbh, I'm starting to doubt the validity of my methodology 2017-03-27T05:43:45Z Bike: that's part of the learning 2017-03-27T05:43:53Z beach: SoraFirestorm: Aside from the language you are using, what kind of compiler optimizations are you considering, if any? 2017-03-27T05:43:56Z SoraFirestorm: but I feel a little better knowing I'm following pattern 2017-03-27T05:44:04Z SoraFirestorm: Nothing at the moment 2017-03-27T05:44:13Z beach: OK. 2017-03-27T05:44:19Z SoraFirestorm: Working dumb compiler beats broken optimizing compiler 2017-03-27T05:44:41Z MrWoohoo joined #lisp 2017-03-27T05:46:04Z SoraFirestorm: *eventually* (should I get a bare metal target working) I want to do some basic optimizing 2017-03-27T05:49:39Z jackdaniel: SoraFirestorm: see https://github.com/mntmn/interim 2017-03-27T05:52:09Z okflo joined #lisp 2017-03-27T05:54:12Z SoraFirestorm: anyways 2017-03-27T05:54:18Z SoraFirestorm: It's getting late in PST land 2017-03-27T05:54:32Z SoraFirestorm: Thanks much for all the help and support you lot 2017-03-27T05:54:42Z SoraFirestorm: I'll see you around to ask more stupid questions ;) 2017-03-27T05:54:49Z beach: Sure. Take care. 2017-03-27T05:54:51Z SoraFirestorm left #lisp 2017-03-27T06:00:18Z tmtwd quit (Ping timeout: 258 seconds) 2017-03-27T06:05:13Z pjb joined #lisp 2017-03-27T06:06:10Z scymtym quit (Ping timeout: 256 seconds) 2017-03-27T06:10:28Z pjb quit (Ping timeout: 240 seconds) 2017-03-27T06:19:49Z milanj quit (Quit: This computer has gone to sleep) 2017-03-27T06:19:57Z safe quit (Read error: Connection reset by peer) 2017-03-27T06:28:33Z rippa joined #lisp 2017-03-27T06:33:03Z CEnnis91 quit (Quit: Connection closed for inactivity) 2017-03-27T06:33:08Z defaultxr quit (Ping timeout: 240 seconds) 2017-03-27T06:37:47Z loke quit (Remote host closed the connection) 2017-03-27T06:42:15Z loke joined #lisp 2017-03-27T06:51:30Z Sauvin is now known as bocaneri 2017-03-27T06:53:58Z krwq joined #lisp 2017-03-27T06:54:24Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-27T06:58:34Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-27T06:59:54Z iago joined #lisp 2017-03-27T07:00:43Z akkad quit (Excess Flood) 2017-03-27T07:04:30Z shka joined #lisp 2017-03-27T07:06:16Z akkad joined #lisp 2017-03-27T07:09:45Z vlatkoB_ joined #lisp 2017-03-27T07:10:33Z varjag joined #lisp 2017-03-27T07:13:08Z vlatkoB quit (Ping timeout: 240 seconds) 2017-03-27T07:16:09Z attila_lendvai joined #lisp 2017-03-27T07:16:09Z attila_lendvai quit (Changing host) 2017-03-27T07:16:09Z attila_lendvai joined #lisp 2017-03-27T07:18:00Z quazimodo quit (Ping timeout: 260 seconds) 2017-03-27T07:18:51Z X-Scale quit (Read error: Connection reset by peer) 2017-03-27T07:20:55Z phoe_ joined #lisp 2017-03-27T07:25:23Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-27T07:32:44Z neoncontrails quit (Remote host closed the connection) 2017-03-27T07:33:21Z neoncontrails joined #lisp 2017-03-27T07:37:28Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-27T07:37:55Z krwq quit (Remote host closed the connection) 2017-03-27T07:46:54Z Kundry_Wag joined #lisp 2017-03-27T07:50:34Z thinkpad quit (Ping timeout: 268 seconds) 2017-03-27T07:51:28Z Kundry_Wag quit (Ping timeout: 246 seconds) 2017-03-27T07:51:31Z Autolycus quit 2017-03-27T07:51:35Z thinkpad joined #lisp 2017-03-27T07:51:46Z scymtym joined #lisp 2017-03-27T07:59:36Z ogamita joined #lisp 2017-03-27T08:00:57Z john2x joined #lisp 2017-03-27T08:04:57Z hhdave joined #lisp 2017-03-27T08:06:49Z test1600 joined #lisp 2017-03-27T08:09:52Z attila_lendvai quit (Disconnected by services) 2017-03-27T08:09:52Z attila_lendvai1 joined #lisp 2017-03-27T08:09:52Z attila_lendvai1 quit (Changing host) 2017-03-27T08:09:52Z attila_lendvai1 joined #lisp 2017-03-27T08:11:20Z smokeink quit (Ping timeout: 260 seconds) 2017-03-27T08:12:43Z angavrilov joined #lisp 2017-03-27T08:20:59Z abel-abel quit (Ping timeout: 258 seconds) 2017-03-27T08:23:22Z Bike quit (Quit: leaving) 2017-03-27T08:30:28Z salva quit (Remote host closed the connection) 2017-03-27T08:31:06Z ogamita quit (Read error: Connection reset by peer) 2017-03-27T08:31:21Z bariscant joined #lisp 2017-03-27T08:33:12Z ogamita joined #lisp 2017-03-27T08:35:38Z afidegnum quit (Ping timeout: 240 seconds) 2017-03-27T08:36:19Z Beetny joined #lisp 2017-03-27T08:36:47Z afidegnum joined #lisp 2017-03-27T08:38:05Z lvo joined #lisp 2017-03-27T08:42:26Z Karl_Dscc joined #lisp 2017-03-27T08:48:01Z Kundry_Wag joined #lisp 2017-03-27T08:51:18Z smokeink joined #lisp 2017-03-27T08:51:48Z l04m33 quit (Ping timeout: 240 seconds) 2017-03-27T08:52:05Z Kundry_Wag quit (Ping timeout: 240 seconds) 2017-03-27T08:53:58Z l04m33 joined #lisp 2017-03-27T08:55:48Z bariscant quit (Remote host closed the connection) 2017-03-27T08:56:17Z bariscant joined #lisp 2017-03-27T08:59:22Z gargaml joined #lisp 2017-03-27T08:59:27Z atheris quit (Ping timeout: 240 seconds) 2017-03-27T09:03:20Z smokeink quit (Ping timeout: 268 seconds) 2017-03-27T09:03:44Z smokeink joined #lisp 2017-03-27T09:10:30Z Karl_Dscc quit (Remote host closed the connection) 2017-03-27T09:12:21Z smokeink quit (Ping timeout: 258 seconds) 2017-03-27T09:13:37Z pve joined #lisp 2017-03-27T09:18:05Z smokeink joined #lisp 2017-03-27T09:22:07Z phoe_ quit (Quit: Page closed) 2017-03-27T09:23:16Z abel-abel joined #lisp 2017-03-27T09:26:21Z phoe_ joined #lisp 2017-03-27T09:29:08Z ogamita quit (Remote host closed the connection) 2017-03-27T09:29:22Z elinux quit (Quit: Leaving) 2017-03-27T09:30:36Z ogamita joined #lisp 2017-03-27T09:30:37Z nirved joined #lisp 2017-03-27T09:32:16Z rtmpdavid joined #lisp 2017-03-27T09:36:19Z Karl_Dscc joined #lisp 2017-03-27T09:37:42Z _cosmonaut_ joined #lisp 2017-03-27T09:40:41Z attila_lendvai1 quit (Ping timeout: 252 seconds) 2017-03-27T09:41:51Z arquebus joined #lisp 2017-03-27T09:47:07Z smokeink quit (Ping timeout: 268 seconds) 2017-03-27T09:47:29Z smokeink joined #lisp 2017-03-27T09:48:10Z arquebus quit (Quit: Leaving) 2017-03-27T09:49:12Z NeverDie quit (Quit: http://radiux.io/) 2017-03-27T09:51:54Z milanj joined #lisp 2017-03-27T09:54:13Z quazimodo joined #lisp 2017-03-27T09:57:12Z Sigyn quit (Quit: Can we drop the ‘artificial intelligence’? It’s a bit like me calling you a meat-based processing system.) 2017-03-27T09:57:47Z Sigyn joined #lisp 2017-03-27T09:58:20Z bariscant quit (Remote host closed the connection) 2017-03-27T09:58:47Z bariscant joined #lisp 2017-03-27T09:59:27Z smokeink quit (Ping timeout: 268 seconds) 2017-03-27T10:00:56Z smokeink joined #lisp 2017-03-27T10:01:27Z _cosmonaut_ quit (Remote host closed the connection) 2017-03-27T10:02:29Z _cosmonaut_ joined #lisp 2017-03-27T10:03:12Z quazimodo quit (Ping timeout: 260 seconds) 2017-03-27T10:07:24Z Beetny quit (Ping timeout: 260 seconds) 2017-03-27T10:07:54Z gingerale joined #lisp 2017-03-27T10:10:05Z Kundry_Wag joined #lisp 2017-03-27T10:11:14Z Kundry_Wag quit (Remote host closed the connection) 2017-03-27T10:12:40Z bariscant quit (Ping timeout: 260 seconds) 2017-03-27T10:12:43Z daviid joined #lisp 2017-03-27T10:17:20Z nowhere_man quit (Ping timeout: 268 seconds) 2017-03-27T10:19:36Z abel-abel quit (Remote host closed the connection) 2017-03-27T10:20:43Z aindilis2 joined #lisp 2017-03-27T10:21:43Z m00natic joined #lisp 2017-03-27T10:22:37Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-27T10:23:12Z FreeBirdLjj joined #lisp 2017-03-27T10:27:27Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-27T10:27:50Z NeverDie joined #lisp 2017-03-27T10:28:34Z ryanwatkins joined #lisp 2017-03-27T10:30:45Z jameser quit (Ping timeout: 260 seconds) 2017-03-27T10:33:42Z neoncontrails joined #lisp 2017-03-27T10:38:38Z neoncontrails quit (Ping timeout: 240 seconds) 2017-03-27T10:40:27Z okflo` joined #lisp 2017-03-27T10:44:10Z okflo quit (Ping timeout: 264 seconds) 2017-03-27T10:47:05Z carlosdagos joined #lisp 2017-03-27T10:49:48Z carlosdagos quit (Read error: Connection reset by peer) 2017-03-27T10:50:17Z carlosdagos joined #lisp 2017-03-27T10:52:22Z NeverDie_ joined #lisp 2017-03-27T10:54:28Z NeverDie quit (Ping timeout: 240 seconds) 2017-03-27T10:58:16Z Kundry_Wag joined #lisp 2017-03-27T10:59:37Z Kundry_Wag quit (Remote host closed the connection) 2017-03-27T11:00:11Z Kundry_Wag joined #lisp 2017-03-27T11:04:48Z Kundry_Wag quit (Ping timeout: 260 seconds) 2017-03-27T11:05:30Z vaporatorius joined #lisp 2017-03-27T11:05:30Z vap1 joined #lisp 2017-03-27T11:11:36Z arbv quit (Ping timeout: 256 seconds) 2017-03-27T11:13:41Z john2x quit (Ping timeout: 260 seconds) 2017-03-27T11:13:51Z arbv joined #lisp 2017-03-27T11:17:53Z lvo quit (Remote host closed the connection) 2017-03-27T11:26:58Z NeverDie_ is now known as NeverDie 2017-03-27T11:27:33Z bariscant joined #lisp 2017-03-27T11:27:47Z m00natic quit (Read error: Connection reset by peer) 2017-03-27T11:28:01Z m00natic joined #lisp 2017-03-27T11:28:59Z o1e9 joined #lisp 2017-03-27T11:32:07Z al-damiri joined #lisp 2017-03-27T11:35:06Z jameser joined #lisp 2017-03-27T11:36:01Z shdeng quit (Quit: Leaving) 2017-03-27T11:36:48Z nowhere_man joined #lisp 2017-03-27T11:37:03Z _cosmonaut_ quit (Quit: Leaving.) 2017-03-27T11:37:15Z _cosmonaut_ joined #lisp 2017-03-27T11:38:33Z Josh_2 joined #lisp 2017-03-27T11:39:55Z _cosmonaut_ quit (Remote host closed the connection) 2017-03-27T11:40:30Z _cosmonaut_ joined #lisp 2017-03-27T11:41:57Z NeverDie quit (Quit: http://radiux.io/) 2017-03-27T11:43:23Z carlosdagos quit (Ping timeout: 258 seconds) 2017-03-27T11:44:18Z _cosmonaut_ quit (Client Quit) 2017-03-27T11:44:25Z NeverDie joined #lisp 2017-03-27T11:49:12Z Karl_Dscc quit (Remote host closed the connection) 2017-03-27T11:49:42Z _cosmonaut_ joined #lisp 2017-03-27T11:52:20Z EvW joined #lisp 2017-03-27T11:52:58Z Khisanth quit (Ping timeout: 258 seconds) 2017-03-27T11:54:01Z _cosmonaut_ quit (Ping timeout: 246 seconds) 2017-03-27T11:54:05Z bariscant quit (Ping timeout: 240 seconds) 2017-03-27T11:54:19Z azzamsa joined #lisp 2017-03-27T11:55:38Z afidegnum quit (Ping timeout: 240 seconds) 2017-03-27T11:56:19Z sfa joined #lisp 2017-03-27T11:56:48Z afidegnum joined #lisp 2017-03-27T11:56:54Z afidegnum quit (Client Quit) 2017-03-27T12:05:01Z azzamsa quit (Ping timeout: 260 seconds) 2017-03-27T12:05:52Z quazimodo joined #lisp 2017-03-27T12:06:31Z Khisanth joined #lisp 2017-03-27T12:06:34Z o1e9 quit (Ping timeout: 256 seconds) 2017-03-27T12:12:13Z didi joined #lisp 2017-03-27T12:12:34Z didi: The most important question of the day: `push-object' or `put-object'? 2017-03-27T12:13:26Z jackdaniel: is it ordered like a stack? 2017-03-27T12:13:34Z didi: It is not. 2017-03-27T12:13:44Z jackdaniel: then don't use push 2017-03-27T12:13:59Z didi: Good idea. Thank you. 2017-03-27T12:14:03Z d4ryus1 joined #lisp 2017-03-27T12:14:29Z ogamita: didi: don't use put- either. 2017-03-27T12:14:38Z ogamita: Use (setf get-object). 2017-03-27T12:14:59Z ogamita: also, don't use get-, use (setf object) and object. 2017-03-27T12:15:06Z _cosmonaut_ joined #lisp 2017-03-27T12:15:38Z vaporatorius quit (Quit: Leaving) 2017-03-27T12:16:08Z didi: ogamita: I thought about it. It doesn't make sense "getting" the object. It is kinda of a set. 2017-03-27T12:16:26Z didi: But I will think about it. Thank you, ogamita. 2017-03-27T12:16:28Z azzamsa joined #lisp 2017-03-27T12:17:08Z d4ryus quit (Ping timeout: 240 seconds) 2017-03-27T12:19:17Z sfa quit (Quit: Lost terminal) 2017-03-27T12:21:28Z azzamsa quit (Ping timeout: 240 seconds) 2017-03-27T12:24:54Z hhdave_ joined #lisp 2017-03-27T12:25:27Z bariscant joined #lisp 2017-03-27T12:25:56Z Harag quit (Ping timeout: 258 seconds) 2017-03-27T12:26:13Z hhdave quit (Ping timeout: 268 seconds) 2017-03-27T12:26:13Z hhdave_ is now known as hhdave 2017-03-27T12:27:07Z didi: Maybe if I make (object X STRUCTURE) => t if X is in STRUCTURE. 2017-03-27T12:27:38Z didi: But then (setf (object X STRUCTURE) t) is a little awkward. 2017-03-27T12:29:06Z sjl joined #lisp 2017-03-27T12:29:11Z didi: Hum, (setf (object X STRUCTURE) X), I guess. 2017-03-27T12:29:55Z flip214: (setf (member structure) x) ?? [yeah, ouch, member is already used.] 2017-03-27T12:30:25Z didi: Hum... 2017-03-27T12:30:46Z didi: flip214: X doesn't have to appear inside the first argument of setf... 2017-03-27T12:31:25Z didi: Interesting. 2017-03-27T12:34:29Z Josh_2 quit (Remote host closed the connection) 2017-03-27T12:34:40Z flip214: didi: but if it doesn't, how would you remove id? (setf (member structure) nil) doesn't work... 2017-03-27T12:34:47Z neoncontrails joined #lisp 2017-03-27T12:35:01Z flip214: so I guess (setf (contains structure x) ) would be easy enough... 2017-03-27T12:35:28Z flip214: though I'd probably go for (insert-into structure x) and (remove-from structure x) or similar. 2017-03-27T12:35:49Z flip214: if you're using CL21, PUSH is already a GF, so you could add another method 2017-03-27T12:35:59Z didi: Yeah. I am using `put-object'. 2017-03-27T12:36:54Z didi: flip214: jackdaniel gave a convincing argument against push. 2017-03-27T12:37:07Z didi: I was using `push-object' before. 2017-03-27T12:38:26Z flip214: didi: in CL21, "push" is a generic name; used for eg. arrays, lists, ... as well. 2017-03-27T12:38:33Z flip214: so it would fit the bill, IMO. 2017-03-27T12:38:43Z flip214: but if you're not going CL21, the point is moot anyway. 2017-03-27T12:38:56Z flip214: clhs set 2017-03-27T12:38:57Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_set.htm 2017-03-27T12:39:10Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-27T12:39:18Z pebblexe joined #lisp 2017-03-27T12:39:51Z didi: flip214: I am sorry, what do you mean by CL21? 2017-03-27T12:39:53Z CEnnis91 joined #lisp 2017-03-27T12:40:05Z flip214: didi: http://cl21.org/ 2017-03-27T12:40:23Z didi: oic. Yeah, I am not using it. 2017-03-27T12:40:28Z flip214: didi: how about something similar to ADJOIN, if it's a set-like thingie? 2017-03-27T12:40:32Z flip214: clhs adjoin 2017-03-27T12:40:32Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_adjoin.htm 2017-03-27T12:40:32Z snowcrshd joined #lisp 2017-03-27T12:41:10Z didi: flip214: It is more like it. It is a graph. So I add vertices and edges to it. 2017-03-27T12:41:46Z didi: So I say (put-vertex X GRAPH), or (put-edge X Y GRAPH). 2017-03-27T12:42:18Z flip214: how about (add-vertex)? 2017-03-27T12:42:20Z Harag joined #lisp 2017-03-27T12:42:36Z didi: flip214: Do you think it is more appropriate? 2017-03-27T12:43:01Z Dancingpenguin joined #lisp 2017-03-27T12:43:30Z didi: I think I saw PUT being used inside some internal SBCL function, that's way I chose it. 2017-03-27T12:43:39Z didi: s/way/why 2017-03-27T12:46:24Z flip214: well, I like the ADD/REMOVE names. I believe they're very clear and not too long. 2017-03-27T12:46:55Z flip214: of course, you could also choose (edge++ x y graph) and (vertex++ x graph) ... ;) 2017-03-27T12:48:28Z didi: flip214: What about DELETE instead of REMOVE? REMOVE is used in CL for functions that doesn't mutate the structure, and I am mutating it. 2017-03-27T12:48:51Z flip214: even better. 2017-03-27T12:48:54Z jsnell: to me ADD and PUT imply different things about duplicates 2017-03-27T12:49:20Z didi: jsnell: I strictly don't have duplicates. What should I use? 2017-03-27T12:49:23Z TDT joined #lisp 2017-03-27T12:49:26Z flip214: I also like the "!" postfix to recognize mutating functions. 2017-03-27T12:49:48Z didi: flip214: I try fighting my Scheme instincts. ;-) 2017-03-27T12:50:19Z didi: I sometimes prefix functions with N tho. 2017-03-27T12:51:00Z jsnell: if there's no chance of a new entry overwriting a previous one, I'd call it add or insert 2017-03-27T12:51:59Z didi: jsnell: Interesting, thank you. Yes, there is no chance of overwriting. If I try to "put" a vertex again, I don't lose the previously "put" edges. 2017-03-27T12:52:32Z Kundry_Wag joined #lisp 2017-03-27T12:53:29Z carlosdagos joined #lisp 2017-03-27T12:54:02Z didi: This is cool. So I might change my names to `add-vertex' and `del-vertex' (or `delete-vertex'). Thank you all. 2017-03-27T12:54:13Z flip214: didi: same is used in ruby, too. mostly like the *specials* and +constants+, really... 2017-03-27T12:58:25Z drewc quit (Ping timeout: 246 seconds) 2017-03-27T13:00:08Z snowcrshd quit (Remote host closed the connection) 2017-03-27T13:04:16Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-27T13:08:05Z daviid quit (Ping timeout: 240 seconds) 2017-03-27T13:10:33Z Karl_Dscc joined #lisp 2017-03-27T13:11:14Z drewc joined #lisp 2017-03-27T13:15:30Z Dancingpenguin quit (Ping timeout: 260 seconds) 2017-03-27T13:17:23Z Kundry_Wag quit (Remote host closed the connection) 2017-03-27T13:17:57Z Kundry_Wag joined #lisp 2017-03-27T13:18:57Z o1e9 joined #lisp 2017-03-27T13:22:15Z Kundry_Wag quit (Ping timeout: 260 seconds) 2017-03-27T13:23:24Z sjl quit (Read error: Connection reset by peer) 2017-03-27T13:23:28Z l04m33 quit (Quit: leaving) 2017-03-27T13:23:46Z NeverDie quit (Quit: http://radiux.io/) 2017-03-27T13:28:25Z test1600 quit (Quit: Leaving) 2017-03-27T13:28:27Z Kundry_Wag joined #lisp 2017-03-27T13:30:27Z Kundry_Wag quit (Remote host closed the connection) 2017-03-27T13:30:57Z NeverDie_ joined #lisp 2017-03-27T13:31:00Z Kundry_Wag joined #lisp 2017-03-27T13:35:41Z _cosmonaut_ quit (Quit: Leaving.) 2017-03-27T13:35:42Z Kundry_Wag quit (Ping timeout: 258 seconds) 2017-03-27T13:36:08Z _cosmonaut_ joined #lisp 2017-03-27T13:36:12Z _cosmonaut_ quit (Client Quit) 2017-03-27T13:36:22Z EvW quit (Remote host closed the connection) 2017-03-27T13:36:33Z NeverDie_ is now known as NeverDie 2017-03-27T13:36:59Z _cosmonaut_ joined #lisp 2017-03-27T13:37:17Z EvW joined #lisp 2017-03-27T13:42:16Z oleo joined #lisp 2017-03-27T13:43:17Z didi: I have the impression that (destructuring-bind (x . y) cons ...) costs more than (car cons) and (cdr cons). 2017-03-27T13:43:48Z ogamita: didi: macroexpand it to check. 2017-03-27T13:43:55Z Harag quit (Ping timeout: 268 seconds) 2017-03-27T13:44:04Z didi: ogamita: Ah, good idea. 2017-03-27T13:44:31Z ogamita: #+ccl (macroexpand '(destructuring-bind (x . y) cons (foo x y))) #| --> (let* ((#1=#:whole6848 cons) (#2=#:args6849 (ccl::prepare-to-destructure #1# '(x . y) 1 nil)) (x (pop #2#)) (#3=#:rest6850 #2#) (y #3#)) (declare (ignorable #2#)) (foo x y)) ; t |# 2017-03-27T13:44:44Z Harag joined #lisp 2017-03-27T13:44:49Z didi: ogamita: It sure looks like more complex. 2017-03-27T13:44:55Z ogamita: You may be right. Now it would depend on how the compiler can optimize itself… 2017-03-27T13:45:06Z snowcrshd joined #lisp 2017-03-27T13:46:06Z ogamita: (disassemble (compile nil (lambda (c) (let ((x (car c)) (y (cdr c))) (foo x y))))) 2017-03-27T13:46:06Z ogamita: (disassemble (compile nil (lambda (c) (let ((x (car c)) (y (cdr c))) (foo x y))))) 2017-03-27T13:46:14Z ogamita: (disassemble (compile nil (lambda (c) (destructuring-bind (x . y) c (foo x y))))) 2017-03-27T13:47:27Z jameser joined #lisp 2017-03-27T13:48:28Z ogamita: didi: on the other hand, destructuring longer lists should be more efficient, as long as the compiler doesn't try to store the temporary pointer in memory. 2017-03-27T13:48:28Z drewc quit (Ping timeout: 246 seconds) 2017-03-27T13:48:43Z didi: ogamita: Cool. Thank you. 2017-03-27T13:49:48Z jerme joined #lisp 2017-03-27T13:50:50Z EvW quit (Ping timeout: 256 seconds) 2017-03-27T13:53:18Z cromachina quit (Read error: Connection reset by peer) 2017-03-27T13:55:25Z didi: Like PAIP says, I am still developing my "efficiency model". 2017-03-27T13:57:22Z iago quit (Quit: Leaving) 2017-03-27T13:59:20Z bariscant quit (Ping timeout: 268 seconds) 2017-03-27T13:59:29Z joast quit (Quit: Leaving.) 2017-03-27T14:00:30Z sellout- quit (Quit: Leaving.) 2017-03-27T14:00:34Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-27T14:01:02Z bariscant joined #lisp 2017-03-27T14:01:19Z _cosmonaut_ quit (Quit: Leaving.) 2017-03-27T14:01:31Z drewc joined #lisp 2017-03-27T14:02:08Z _cosmonaut_ joined #lisp 2017-03-27T14:02:39Z _cosmonaut_ quit (Client Quit) 2017-03-27T14:02:56Z rumbler31 joined #lisp 2017-03-27T14:03:08Z _cosmonaut_ joined #lisp 2017-03-27T14:03:21Z rumbler31 quit (Remote host closed the connection) 2017-03-27T14:03:40Z phoe_: didi: ogamita: 48 bytes versus 117 bytes on SBCL 1.3.14 2017-03-27T14:03:41Z rumbler31 joined #lisp 2017-03-27T14:03:47Z phoe_: the length of generated code I mean 2017-03-27T14:05:46Z phoe_: ogamita: I just imagined (destructuring-bind (x . y) c ...) actually defining a symbol macro on x and y 2017-03-27T14:05:54Z phoe_: (car c) and (cdr c) respectively 2017-03-27T14:06:31Z bariscant quit (Remote host closed the connection) 2017-03-27T14:07:02Z bariscant joined #lisp 2017-03-27T14:09:57Z dec0n quit (Read error: Connection reset by peer) 2017-03-27T14:10:35Z sjl joined #lisp 2017-03-27T14:12:56Z scymtym: phoe_: that wouldn't work with (destructuring-bind (x . y) c (setf c 1) x) 2017-03-27T14:12:58Z ogamita: phoe_: the destructuring part processes immediatey the structure. 2017-03-27T14:13:10Z phoe_: yes, correct. 2017-03-27T14:13:30Z phoe_: wait wait - we're creating temporary variables here. 2017-03-27T14:13:42Z phoe_: in both cases. 2017-03-27T14:14:22Z warweasle joined #lisp 2017-03-27T14:15:32Z joast joined #lisp 2017-03-27T14:16:43Z ogamita: phoe_: (with-accessors ((a car) (d cdr)) c …) 2017-03-27T14:18:28Z Harag quit (Ping timeout: 240 seconds) 2017-03-27T14:24:57Z dingusman joined #lisp 2017-03-27T14:25:50Z shifty quit (Ping timeout: 260 seconds) 2017-03-27T14:26:58Z neoncontrails joined #lisp 2017-03-27T14:28:07Z Harag joined #lisp 2017-03-27T14:31:39Z jerme joined #lisp 2017-03-27T14:32:15Z okflo` quit (Remote host closed the connection) 2017-03-27T14:33:51Z Amplituhedron joined #lisp 2017-03-27T14:48:34Z daviid joined #lisp 2017-03-27T14:50:40Z dilated_dinosaur quit (Ping timeout: 260 seconds) 2017-03-27T14:52:09Z jasom: Is there a way in org mode to have lisp blocks results show both the value and the output? The org-mode docs indicate that ":results output :session" should do this (with a python example) but that doesn't seem to work for lisp code. 2017-03-27T14:55:25Z jameser quit (Read error: Connection reset by peer) 2017-03-27T14:55:40Z onehrxn joined #lisp 2017-03-27T14:56:10Z jameser joined #lisp 2017-03-27T14:59:51Z onehrxn quit (Remote host closed the connection) 2017-03-27T15:00:49Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-27T15:02:35Z jameser quit (Ping timeout: 260 seconds) 2017-03-27T15:02:47Z jameser joined #lisp 2017-03-27T15:03:07Z hlavaty joined #lisp 2017-03-27T15:03:39Z onehrxn joined #lisp 2017-03-27T15:03:46Z tristero joined #lisp 2017-03-27T15:05:37Z loke___ joined #lisp 2017-03-27T15:05:50Z phoe_: geez, I'm reading CL: Untold Story 2017-03-27T15:06:06Z phoe_: the whole standardization process was much more messy than I thought 2017-03-27T15:06:46Z didi: Did you get to the part which they went to the European standardization process to stall them? 2017-03-27T15:07:44Z didi: I don't know if CL: Untold Story tells this story tho. 2017-03-27T15:07:56Z phoe_: ... 2017-03-27T15:08:00Z phoe_: I don't think it does. 2017-03-27T15:08:06Z phoe_: But I will want to read this. 2017-03-27T15:08:07Z rszeno joined #lisp 2017-03-27T15:08:41Z sellout- joined #lisp 2017-03-27T15:08:44Z didi: I think I heard it on a podcast. 2017-03-27T15:08:51Z didi: I can't remember it now. 2017-03-27T15:12:06Z eazar001 quit (Quit: WeeChat 1.5) 2017-03-27T15:12:30Z eazar001 joined #lisp 2017-03-27T15:12:43Z Amplituhedron quit (Quit: Konversation terminated!) 2017-03-27T15:13:11Z Kundry_Wag joined #lisp 2017-03-27T15:14:26Z iago_ joined #lisp 2017-03-27T15:14:28Z jameser quit (Ping timeout: 240 seconds) 2017-03-27T15:15:24Z rszeno quit (Quit: Leaving.) 2017-03-27T15:16:52Z jameser joined #lisp 2017-03-27T15:18:04Z bariscant quit (Ping timeout: 246 seconds) 2017-03-27T15:18:29Z burtons joined #lisp 2017-03-27T15:20:05Z iago_ quit (Quit: Leaving) 2017-03-27T15:20:29Z iago_ joined #lisp 2017-03-27T15:22:53Z jameser quit (Max SendQ exceeded) 2017-03-27T15:23:55Z bariscant joined #lisp 2017-03-27T15:24:27Z jameser joined #lisp 2017-03-27T15:25:14Z smokeink quit (Quit: Lost terminal) 2017-03-27T15:26:17Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-27T15:29:13Z jasom: didi: I heard it on the talk about lisp standardization by (I think) Seibel 2017-03-27T15:30:12Z Xach: yeah 2017-03-27T15:30:23Z jasom: https://soundcloud.com/zach-beane/peter-seibel-common-lisp <-- that one 2017-03-27T15:31:16Z saturniid joined #lisp 2017-03-27T15:33:27Z didi: jasom: Right, that's it. 2017-03-27T15:35:23Z saturniid quit (Read error: Connection reset by peer) 2017-03-27T15:35:39Z saturniid joined #lisp 2017-03-27T15:36:09Z saturniid quit (Remote host closed the connection) 2017-03-27T15:37:48Z judododo joined #lisp 2017-03-27T15:37:53Z judododo quit (Client Quit) 2017-03-27T15:39:38Z maarhart joined #lisp 2017-03-27T15:41:07Z EvW1 joined #lisp 2017-03-27T15:43:45Z Bike joined #lisp 2017-03-27T15:44:36Z maarhart quit (Quit: Mutter: www.mutterirc.com) 2017-03-27T15:45:13Z prole joined #lisp 2017-03-27T15:46:39Z ebrasca joined #lisp 2017-03-27T15:46:55Z dingusman quit (Ping timeout: 260 seconds) 2017-03-27T15:47:45Z sellout- quit (Quit: Leaving.) 2017-03-27T15:49:40Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-27T15:49:51Z maarhart joined #lisp 2017-03-27T15:54:20Z Karl_Dscc quit (Remote host closed the connection) 2017-03-27T15:54:39Z onehrxn_ joined #lisp 2017-03-27T15:55:13Z sz0 joined #lisp 2017-03-27T15:55:14Z maarhart quit (Quit: Mutter: www.mutterirc.com) 2017-03-27T15:56:39Z thecha joined #lisp 2017-03-27T15:57:12Z onehrxn quit (Ping timeout: 256 seconds) 2017-03-27T15:57:32Z sjl quit (Ping timeout: 258 seconds) 2017-03-27T15:58:23Z maarhart joined #lisp 2017-03-27T16:01:33Z maarhart quit (Client Quit) 2017-03-27T16:03:55Z jerme joined #lisp 2017-03-27T16:05:14Z Jesin quit (Quit: Leaving) 2017-03-27T16:05:58Z varjag joined #lisp 2017-03-27T16:06:47Z didi: And hosted by no one else than our hero, Xach. :-) 2017-03-27T16:07:14Z thecha: hi didi 2017-03-27T16:07:20Z Xach: that talk made an impression on me and i wanted to make sure it wasn't lost 2017-03-27T16:07:21Z iago_ is now known as iago 2017-03-27T16:07:22Z didi: thecha: o/ 2017-03-27T16:07:27Z thecha: please, dont ruin my lab 2017-03-27T16:07:31Z thecha: hi xach 2017-03-27T16:07:44Z didi: Xach: I heard it lots of time. 2017-03-27T16:07:59Z didi: thecha: Which lab? Are you here? /me looks around 2017-03-27T16:08:02Z Xach: Hello thecha. 2017-03-27T16:10:13Z o1e9 quit (Quit: Ex-Chat) 2017-03-27T16:10:28Z snowcrshd quit (Ping timeout: 240 seconds) 2017-03-27T16:11:47Z Jesin joined #lisp 2017-03-27T16:12:32Z shka_ joined #lisp 2017-03-27T16:14:15Z vydd joined #lisp 2017-03-27T16:19:21Z thecha: hi friend 2017-03-27T16:19:33Z thecha: didi dont you know dexter? 2017-03-27T16:19:35Z phoe: hey what's up 2017-03-27T16:19:42Z thecha: and his hillarious sister? 2017-03-27T16:19:49Z thecha: hi phoe nice to meet you friend 2017-03-27T16:20:23Z didi: thecha: Oh, right. :-) 2017-03-27T16:20:46Z thecha: or was it dede? 2017-03-27T16:20:55Z didi: Deedee? 2017-03-27T16:21:00Z thecha: i think it was dede and not didi right? in that case i am awfully sorry 2017-03-27T16:21:07Z thecha: yes dee dee 2017-03-27T16:21:18Z thecha: the opressor of geeks 2017-03-27T16:22:08Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-27T16:26:34Z mishoo joined #lisp 2017-03-27T16:27:43Z dcluna quit (Ping timeout: 246 seconds) 2017-03-27T16:27:54Z haom joined #lisp 2017-03-27T16:28:04Z loke___ quit (Ping timeout: 246 seconds) 2017-03-27T16:29:11Z carlosdagos quit (Ping timeout: 268 seconds) 2017-03-27T16:30:31Z dcluna joined #lisp 2017-03-27T16:32:29Z haom left #lisp 2017-03-27T16:33:19Z milanj quit (Quit: This computer has gone to sleep) 2017-03-27T16:34:33Z damke joined #lisp 2017-03-27T16:35:49Z dingusman joined #lisp 2017-03-27T16:36:37Z damke_ joined #lisp 2017-03-27T16:38:34Z EvW1 quit (Ping timeout: 256 seconds) 2017-03-27T16:38:48Z nowhere_man joined #lisp 2017-03-27T16:39:04Z NeverDie quit (Quit: http://radiux.io/) 2017-03-27T16:39:40Z damke quit (Ping timeout: 268 seconds) 2017-03-27T16:39:52Z alexshendi joined #lisp 2017-03-27T16:40:44Z jasom: ugh; it appears that babel does *not* evaluate lisp forms at the top-level. That's somewhat frustrating... 2017-03-27T16:41:35Z hhdave quit (Ping timeout: 240 seconds) 2017-03-27T16:42:45Z _cosmonaut_ quit (Ping timeout: 268 seconds) 2017-03-27T16:43:23Z Bike: the string encoder/decoder thing? 2017-03-27T16:47:15Z damke joined #lisp 2017-03-27T16:50:09Z damke_ quit (Ping timeout: 268 seconds) 2017-03-27T16:53:47Z neoncontrails quit (Remote host closed the connection) 2017-03-27T16:54:26Z neoncontrails joined #lisp 2017-03-27T16:56:46Z dingusman quit (Ping timeout: 246 seconds) 2017-03-27T16:56:58Z okflo joined #lisp 2017-03-27T16:58:31Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-27T17:03:01Z m00natic quit (Remote host closed the connection) 2017-03-27T17:04:28Z mathrick quit (Ping timeout: 246 seconds) 2017-03-27T17:06:05Z ogamita quit (Ping timeout: 240 seconds) 2017-03-27T17:13:22Z X-Scale joined #lisp 2017-03-27T17:14:02Z NeverDie joined #lisp 2017-03-27T17:16:10Z Amplituhedron joined #lisp 2017-03-27T17:21:55Z scymtym: probably the org-mode thing 2017-03-27T17:22:48Z thecha: is elisp a lot different from common lisp? 2017-03-27T17:23:40Z bocaneri quit (Read error: Connection reset by peer) 2017-03-27T17:23:53Z Xach: thecha: yes 2017-03-27T17:24:40Z Amplituhedron quit (Ping timeout: 260 seconds) 2017-03-27T17:27:51Z bariscant quit (Remote host closed the connection) 2017-03-27T17:27:58Z MoALTz joined #lisp 2017-03-27T17:28:16Z bariscant joined #lisp 2017-03-27T17:28:42Z snowcrshd joined #lisp 2017-03-27T17:28:58Z Lord_of_Life joined #lisp 2017-03-27T17:29:48Z tumdum joined #lisp 2017-03-27T17:29:48Z tumdum quit (Changing host) 2017-03-27T17:29:48Z tumdum joined #lisp 2017-03-27T17:29:59Z mathrick joined #lisp 2017-03-27T17:33:48Z damke_ joined #lisp 2017-03-27T17:35:47Z damke quit (Ping timeout: 268 seconds) 2017-03-27T17:36:45Z maarhart joined #lisp 2017-03-27T17:38:31Z jmarciano joined #lisp 2017-03-27T17:39:50Z jmarciano: How do I exit nicely from Lisp of my CGI is called without parameters? 2017-03-27T17:40:27Z phoe: jmarciano: CGI? 2017-03-27T17:40:34Z jmarciano: As simple (defun main () (exit)) is hanging long time. 2017-03-27T17:40:46Z jmarciano: Yes, I call it through CGI, through web server 2017-03-27T17:40:52Z phoe: jmarciano: hm, I see. 2017-03-27T17:41:05Z phoe: how long? 2017-03-27T17:41:21Z phoe: are you sure you're not loading Quicklisp for example or other things in your RC file that might slow down startup? 2017-03-27T17:41:27Z jmarciano: in CLISP maybe 30 seconds I don't know, then I ge error "Ctrl-C: User break" 2017-03-27T17:41:57Z jmarciano: right now I am just using (defun main () (exit)) 2017-03-27T17:42:26Z phoe: jmarciano: what about other implementations? 2017-03-27T17:42:30Z phoe: have you tried any? 2017-03-27T17:42:50Z phoe: and how long does CLISP take to load when invoked from console without CGI? 2017-03-27T17:42:59Z jmarciano: nothing, just quick 2017-03-27T17:43:13Z jmarciano: yes I tried with SBCL 2017-03-27T17:43:32Z jmarciano: basically with call like test.cgi?anything is ok 2017-03-27T17:43:40Z jmarciano: I made memory image before 2017-03-27T17:44:38Z maarhart quit (Quit: Mutter: www.mutterirc.com) 2017-03-27T17:44:57Z blackwolf joined #lisp 2017-03-27T17:45:48Z angavrilov quit (Ping timeout: 240 seconds) 2017-03-27T17:48:42Z jmarciano: I see now. If I close *standard-input* and *standard-output* then it is finishing 2017-03-27T17:49:14Z damke_ quit (Quit: quit) 2017-03-27T17:49:27Z pebblexe: has anyone seen this: http://fare.livejournal.com/188429.html#comments? I was really surprised. 2017-03-27T17:49:47Z pebblexe: sorry http://fare.livejournal.com/188429.html is a better link 2017-03-27T17:50:08Z dlowe: pebblexe: what's surprising? 2017-03-27T17:50:42Z pebblexe: that Fare might move to racket. 2017-03-27T17:51:11Z didi: Fare has being talking about jumping ship for a while. Years, maybe. 2017-03-27T17:51:15Z dlowe: *shrug* I hear it's nice. 2017-03-27T17:51:22Z pebblexe: oh, I never knew that. 2017-03-27T17:52:18Z phoe: looks like a few good lesssons to be learned by Common Lisp then. 2017-03-27T17:54:36Z Karl_Dscc joined #lisp 2017-03-27T17:55:21Z JuanDaugherty joined #lisp 2017-03-27T17:56:13Z neoncontrails joined #lisp 2017-03-27T17:56:15Z neoncontrails quit (Remote host closed the connection) 2017-03-27T17:56:26Z marsjaninzmarsa joined #lisp 2017-03-27T17:56:53Z neoncontrails joined #lisp 2017-03-27T17:57:49Z rpg joined #lisp 2017-03-27T17:58:04Z neoncont_ joined #lisp 2017-03-27T17:58:08Z neoncont_ quit (Remote host closed the connection) 2017-03-27T17:58:11Z neoncontrails quit (Read error: Connection reset by peer) 2017-03-27T17:58:43Z neoncontrails joined #lisp 2017-03-27T18:01:00Z jmarciano: like if I call lisp from CGI, I just wait and still get CTRL-C 2017-03-27T18:02:08Z jmarciano quit (Quit: no connection) 2017-03-27T18:02:15Z g0d355__ joined #lisp 2017-03-27T18:03:22Z neoncontrails quit (Ping timeout: 264 seconds) 2017-03-27T18:04:11Z Xach: years 2017-03-27T18:04:25Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-27T18:05:10Z jasom: scymtym, Bike yes the org-mode thing 2017-03-27T18:06:35Z raynold joined #lisp 2017-03-27T18:08:35Z phoe: jmasseo: is there a CGI timeout? 2017-03-27T18:08:42Z phoe: the 30 seconds smells like it 2017-03-27T18:09:05Z NeverDie quit (Ping timeout: 240 seconds) 2017-03-27T18:10:15Z NeverDie joined #lisp 2017-03-27T18:15:46Z BlueRavenGT joined #lisp 2017-03-27T18:18:35Z jasom: looks like jmarciano has left, but I'm pretty sure a CGI script has to return a response that includes headers, so the server may be just waiting for that. 2017-03-27T18:21:06Z milanj joined #lisp 2017-03-27T18:22:01Z shrdlu68 joined #lisp 2017-03-27T18:22:30Z shrdlu68: Is there a destructive version of ldb or dpb? 2017-03-27T18:23:14Z maarhart joined #lisp 2017-03-27T18:23:28Z Bike: no, you can't alter integers. 2017-03-27T18:23:40Z Kundry_Wag quit (Remote host closed the connection) 2017-03-27T18:24:15Z Kundry_Wag joined #lisp 2017-03-27T18:25:41Z rumbler31: i think theres a setf-able form for writing bytespecs 2017-03-27T18:28:20Z shrdlu68: rumbler31: Ah, yes, that's ldb, and it does what I want. 2017-03-27T18:28:49Z Kundry_Wag quit (Ping timeout: 246 seconds) 2017-03-27T18:29:37Z phoe: jasom: memo him. 2017-03-27T18:29:46Z phoe: minion: memo for jmarciano: looks like jmarciano has left, but I'm pretty sure a CGI script has to return a response that includes headers, so the server 2017-03-27T18:29:46Z minion: Remembered. I'll tell jmarciano when he/she/it next speaks. 2017-03-27T18:29:54Z phoe: minion: memo for jmarciano: may be just waiting for that. 2017-03-27T18:29:55Z minion: Remembered. I'll tell jmarciano when he/she/it next speaks. 2017-03-27T18:29:56Z NeverDie: L 2017-03-27T18:29:59Z maarhart quit (Quit: Mutter: www.mutterirc.com) 2017-03-27T18:31:54Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-27T18:33:48Z jerme joined #lisp 2017-03-27T18:37:49Z didi: It is a little odd to me that `subseq' has START as a expected parameter but `find' has START as a key that defaults to 0. 2017-03-27T18:39:41Z didi: Well, `find', `reduce', `position', ... 2017-03-27T18:40:45Z shka_: didi: historical reasons 2017-03-27T18:40:58Z shka_: there is plenty of stuff like that in cl 2017-03-27T18:41:17Z didi: shka_: Yeah? Hum. I thought there might be some other reason I am not seeing. 2017-03-27T18:41:36Z shka_: not really, it is just a mess 2017-03-27T18:41:57Z shka_: i have rather high mess tolerance so i don't mind it 2017-03-27T18:42:04Z shka_: but it is mess 2017-03-27T18:42:12Z didi: Ah, OK, because I don't think it is a "mess". 2017-03-27T18:42:34Z mood: The reason for subseq not having START as an optional keyword argument is probably that the result is not much of a subsequence 2017-03-27T18:43:52Z tumdum quit (Ping timeout: 246 seconds) 2017-03-27T18:44:49Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-27T18:45:59Z didi: mood: oic 2017-03-27T18:47:39Z rippa joined #lisp 2017-03-27T18:49:32Z Bike: (subseq foo) = foo? 2017-03-27T18:51:19Z mood: Bike: Almost, except it will be a copy. So (subseq foo) = (copy-seq foo) 2017-03-27T18:51:44Z prole quit (Remote host closed the connection) 2017-03-27T18:54:48Z alexshendi quit (Ping timeout: 240 seconds) 2017-03-27T18:54:56Z iago: jasom: as jmarciano says he calls the CGI through a web server, most likely the web server would flag output without headers as an error, apache as example returns a 500 response and logs "Premature end of script headers" 2017-03-27T18:55:35Z iago: anyway the only http header required in a response is Content-type (print "Content-type: text/plain #\Return #\Newline #\Return #\Newline") 2017-03-27T18:56:35Z daviid quit (Ping timeout: 240 seconds) 2017-03-27T18:58:43Z neoncontrails joined #lisp 2017-03-27T19:03:52Z didi: I want to collect only unique elements. Is https://paste.debian.net/hidden/a485a9fc too evil? I know can collect them and then use `remove-duplicates'. 2017-03-27T19:03:59Z didi: s/can/I can 2017-03-27T19:04:08Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-27T19:04:26Z didi: My issue is with calling (member x l) before "defining" l. 2017-03-27T19:07:36Z phoe: well, it will work. 2017-03-27T19:07:51Z phoe: you can store them in a hashtable too. 2017-03-27T19:08:05Z Kundry_Wag joined #lisp 2017-03-27T19:08:14Z didi: phoe: Hum. True. 2017-03-27T19:08:38Z didi: phoe: Thank you. 2017-03-27T19:08:46Z phoe: (loop with elts = nil for elt in list unless (gethash x table) do (setf (gethash x table) t) (push x elts) finally (return elts)) 2017-03-27T19:09:07Z phoe: this probably can be written better 2017-03-27T19:09:34Z wheelsucker quit (Remote host closed the connection) 2017-03-27T19:09:46Z phoe: I don't know if I can legally "unless (gethash x table) collect x do (setf ...)" 2017-03-27T19:09:46Z didi: phoe: What about using only the hash-table and in the end, collect the keys? 2017-03-27T19:09:57Z phoe: didi: can do, sure thing. 2017-03-27T19:10:35Z bariscant quit (Read error: Connection reset by peer) 2017-03-27T19:10:36Z phoe: you can use alexandria:hash-table-keys. 2017-03-27T19:10:50Z didi: phoe: Cool, thanks. 2017-03-27T19:10:57Z wheelsucker joined #lisp 2017-03-27T19:11:04Z bariscant joined #lisp 2017-03-27T19:11:59Z dilated_dinosaur joined #lisp 2017-03-27T19:14:56Z daviid joined #lisp 2017-03-27T19:16:24Z Lord_of_Life quit (Excess Flood) 2017-03-27T19:16:30Z Lord_of_Life joined #lisp 2017-03-27T19:20:37Z Balooga_ joined #lisp 2017-03-27T19:27:32Z billstclair quit (Ping timeout: 255 seconds) 2017-03-27T19:28:10Z warweasle quit (Quit: reboot) 2017-03-27T19:28:43Z billstclair joined #lisp 2017-03-27T19:29:30Z nirved quit (Quit: Leaving) 2017-03-27T19:30:19Z didi: Why doesn't `make-hash-table' have an :initial-contents key, like `make-array'? 2017-03-27T19:30:33Z didi: Oh, because then what would be the values. 2017-03-27T19:30:38Z didi: Move along. 2017-03-27T19:31:59Z rpav: see alist-hash-table in alexandria or similar 2017-03-27T19:32:14Z didi: rpav: Thanks. 2017-03-27T19:33:05Z didi: Hum. Odd use of the &rest parameter. 2017-03-27T19:33:46Z rpav: it uses APPLY, so 2017-03-27T19:34:27Z didi: Indeed. I guess it is so they didn't have to type the &key parameters and also allow for extensions, like SBCL's? 2017-03-27T19:34:47Z warweasle joined #lisp 2017-03-27T19:36:27Z marvin2 joined #lisp 2017-03-27T19:41:48Z wooden_ quit (Ping timeout: 240 seconds) 2017-03-27T19:42:35Z ekinmur joined #lisp 2017-03-27T19:43:34Z bariscant quit (Ping timeout: 264 seconds) 2017-03-27T19:44:50Z jasom: for very small numbers of unique elements, pushnew might be faster than using a hash-table, and is somewhat less code; it's O(n^2) in the worst-case though 2017-03-27T19:45:17Z Kundry_Wag quit (Remote host closed the connection) 2017-03-27T19:45:32Z cyraxjoe quit (Ping timeout: 255 seconds) 2017-03-27T19:45:37Z scymtym quit (Ping timeout: 258 seconds) 2017-03-27T19:45:47Z didi: jasom: Thanks. 2017-03-27T19:45:53Z Kundry_Wag joined #lisp 2017-03-27T19:45:59Z vlatkoB_ quit (Remote host closed the connection) 2017-03-27T19:47:47Z ggherdov quit (Ping timeout: 255 seconds) 2017-03-27T19:48:59Z cyraxjoe joined #lisp 2017-03-27T19:49:18Z Kundry_Wag_ joined #lisp 2017-03-27T19:49:38Z bariscant joined #lisp 2017-03-27T19:49:57Z Kundry_Wag quit (Ping timeout: 240 seconds) 2017-03-27T19:50:02Z vhost- quit (Ping timeout: 255 seconds) 2017-03-27T19:50:29Z vhost- joined #lisp 2017-03-27T19:51:07Z ggherdov joined #lisp 2017-03-27T19:52:28Z defaultxr joined #lisp 2017-03-27T19:55:46Z puchacz joined #lisp 2017-03-27T19:56:25Z puchacz: hi, is anybody using any css parser? 2017-03-27T19:57:09Z ekinmur quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-27T19:59:42Z Lord_of_Life quit (Excess Flood) 2017-03-27T20:00:58Z Lord_of_Life joined #lisp 2017-03-27T20:01:43Z bariscant quit (Ping timeout: 258 seconds) 2017-03-27T20:02:23Z Lord_of_Life quit (Excess Flood) 2017-03-27T20:09:25Z shka_ quit (Ping timeout: 260 seconds) 2017-03-27T20:09:59Z Kundry_Wag_ quit (Remote host closed the connection) 2017-03-27T20:10:10Z rjid joined #lisp 2017-03-27T20:10:32Z Kundry_Wag joined #lisp 2017-03-27T20:11:04Z bariscant joined #lisp 2017-03-27T20:11:07Z g0d355__ quit (Remote host closed the connection) 2017-03-27T20:14:48Z puchacz quit (Quit: Konversation terminated!) 2017-03-27T20:14:52Z Kundry_Wag quit (Ping timeout: 246 seconds) 2017-03-27T20:21:39Z andrzejk_ joined #lisp 2017-03-27T20:26:03Z manualcrank joined #lisp 2017-03-27T20:30:53Z azahi joined #lisp 2017-03-27T20:32:10Z Balooga_ quit (Ping timeout: 264 seconds) 2017-03-27T20:34:13Z Balooga_ joined #lisp 2017-03-27T20:37:28Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-27T20:37:50Z jerme joined #lisp 2017-03-27T20:40:46Z bariscant quit (Ping timeout: 246 seconds) 2017-03-27T20:41:04Z Ven joined #lisp 2017-03-27T20:41:28Z Ven is now known as Guest82746 2017-03-27T20:42:24Z scymtym joined #lisp 2017-03-27T20:44:22Z Jesin quit (Quit: Leaving) 2017-03-27T20:45:00Z prxq joined #lisp 2017-03-27T20:46:25Z rjid quit (Ping timeout: 260 seconds) 2017-03-27T20:46:34Z rumbler31 quit (Ping timeout: 264 seconds) 2017-03-27T20:46:37Z MoALTz quit (Quit: Leaving) 2017-03-27T20:47:09Z Jesin joined #lisp 2017-03-27T20:50:27Z andrzejk_ quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-27T20:53:14Z bariscant joined #lisp 2017-03-27T20:55:08Z rumbler31 joined #lisp 2017-03-27T20:56:49Z warweasle quit (Quit: be back soon) 2017-03-27T21:01:45Z snowcrshd quit (Ping timeout: 268 seconds) 2017-03-27T21:05:05Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-27T21:07:21Z Guest82746 quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-27T21:08:35Z Kundry_Wag joined #lisp 2017-03-27T21:08:40Z rumbler31 quit (Ping timeout: 260 seconds) 2017-03-27T21:14:45Z iago quit (Ping timeout: 260 seconds) 2017-03-27T21:17:36Z azzamsa joined #lisp 2017-03-27T21:17:45Z azzamsa quit (Remote host closed the connection) 2017-03-27T21:18:06Z azzamsa joined #lisp 2017-03-27T21:18:30Z Ven_ joined #lisp 2017-03-27T21:19:06Z gingerale quit (Remote host closed the connection) 2017-03-27T21:19:32Z shrdlu68 left #lisp 2017-03-27T21:20:27Z bariscant quit (Ping timeout: 240 seconds) 2017-03-27T21:24:50Z azzamsa quit (Remote host closed the connection) 2017-03-27T21:24:53Z Tex_Nick joined #lisp 2017-03-27T21:26:20Z Ven_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-27T21:26:33Z Ven_ joined #lisp 2017-03-27T21:26:54Z terpri quit (Remote host closed the connection) 2017-03-27T21:27:52Z sz0 joined #lisp 2017-03-27T21:28:05Z Ven_ quit (Client Quit) 2017-03-27T21:28:57Z azzamsa joined #lisp 2017-03-27T21:31:43Z Harag1 joined #lisp 2017-03-27T21:32:46Z Harag quit (Ping timeout: 264 seconds) 2017-03-27T21:32:46Z Harag1 is now known as Harag 2017-03-27T21:33:53Z seg quit (Ping timeout: 260 seconds) 2017-03-27T21:36:06Z prxq quit (Remote host closed the connection) 2017-03-27T21:36:37Z Kundry_Wag quit (Remote host closed the connection) 2017-03-27T21:37:11Z Kundry_Wag joined #lisp 2017-03-27T21:38:32Z Baggers joined #lisp 2017-03-27T21:40:13Z seg joined #lisp 2017-03-27T21:40:13Z blackwolf quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-27T21:40:53Z neoncontrails quit (Remote host closed the connection) 2017-03-27T21:41:20Z Balooga_ quit (Ping timeout: 260 seconds) 2017-03-27T21:41:35Z Kundry_Wag quit (Ping timeout: 240 seconds) 2017-03-27T21:42:06Z neoncontrails joined #lisp 2017-03-27T21:42:12Z neoncontrails quit (Remote host closed the connection) 2017-03-27T21:42:26Z neoncontrails joined #lisp 2017-03-27T21:43:30Z safe joined #lisp 2017-03-27T21:47:46Z Balooga_ joined #lisp 2017-03-27T21:55:30Z sjl joined #lisp 2017-03-27T22:02:49Z ryanwatkins quit (Ping timeout: 260 seconds) 2017-03-27T22:04:03Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-27T22:07:33Z decuser joined #lisp 2017-03-27T22:07:50Z shifty joined #lisp 2017-03-27T22:08:55Z Baggers left #lisp 2017-03-27T22:10:22Z Balooga_ quit (Ping timeout: 246 seconds) 2017-03-27T22:12:17Z BlueRavenGT quit (Read error: Connection reset by peer) 2017-03-27T22:12:54Z BlueRavenGT joined #lisp 2017-03-27T22:13:40Z azahi quit (Ping timeout: 260 seconds) 2017-03-27T22:15:30Z rumbler31 joined #lisp 2017-03-27T22:19:49Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-27T22:24:55Z azzamsa quit (Remote host closed the connection) 2017-03-27T22:25:57Z edgar-rft quit (Ping timeout: 240 seconds) 2017-03-27T22:26:17Z Balooga_ joined #lisp 2017-03-27T22:26:51Z burtons quit (Ping timeout: 268 seconds) 2017-03-27T22:31:22Z varjag quit (Ping timeout: 246 seconds) 2017-03-27T22:36:03Z edgar-rft joined #lisp 2017-03-27T22:46:56Z pmc joined #lisp 2017-03-27T22:48:18Z RedEight joined #lisp 2017-03-27T22:50:15Z jack_rabbit joined #lisp 2017-03-27T22:51:52Z wtetzner joined #lisp 2017-03-27T22:51:59Z wtetzner quit (Remote host closed the connection) 2017-03-27T22:52:06Z wtetzner joined #lisp 2017-03-27T22:53:05Z daviid quit (Ping timeout: 240 seconds) 2017-03-27T22:59:16Z Balooga_ is now known as Balooga 2017-03-27T23:02:48Z EvW joined #lisp 2017-03-27T23:05:45Z onehrxn_ quit 2017-03-27T23:06:07Z didi quit (Ping timeout: 240 seconds) 2017-03-27T23:06:19Z onehrxn joined #lisp 2017-03-27T23:12:48Z jself quit (Ping timeout: 240 seconds) 2017-03-27T23:13:49Z jself joined #lisp 2017-03-27T23:15:28Z onehrxn quit 2017-03-27T23:16:19Z Zotan quit (Remote host closed the connection) 2017-03-27T23:16:59Z axion: Does anyone know if I would be able to generate (declaim (ftype ..)) forms for various functions with a regular macro...or would I need like a compiler macro for it to take effect? 2017-03-27T23:17:42Z Bike: doing it with a macro is fine. declaim is just a macro itself. though you want it at top level. 2017-03-27T23:17:52Z axion: Ok 2017-03-27T23:17:53Z Bike: what do you have in mind? 2017-03-27T23:18:37Z Zotan joined #lisp 2017-03-27T23:19:07Z rpg_ joined #lisp 2017-03-27T23:20:00Z axion: Well, it's complicated. For performance reasons, I have 3-element single-float arrays, so I have some decls like: (declaim (ftype (function (vec3f vec3f) vec3f) min)). I want to transform these functions into GFs, because I want to support many different types of arrays, such as 4-element double-floats, for example. 2017-03-27T23:20:15Z axion: I want the compiler to be instructed as it currently is for fast code 2017-03-27T23:20:19Z axion: If that makes sense 2017-03-27T23:20:22Z rpg quit (Ping timeout: 246 seconds) 2017-03-27T23:20:41Z Bike: it does, but you should know that using generics will slow things down. 2017-03-27T23:20:42Z axion: (I'm writing a math library for interactive graphics) 2017-03-27T23:20:46Z edgar-rft quit (Ping timeout: 264 seconds) 2017-03-27T23:21:47Z axion: I haven't looked into this yet, but I was told by a friend that generics slowing things down is not always the case if the compiler can be instructed correctly 2017-03-27T23:22:06Z axion: I haven't tested this whole idea out yet to see if its worth it...just curious how to begin 2017-03-27T23:22:22Z Bike: no, well, generics have to do dispatch. it could be (and probably is) cached, but there's only so much to be done 2017-03-27T23:22:35Z Bike: dispatch at runtime, i mean 2017-03-27T23:22:46Z axion: For hat its worth, I'm only interested in SBCL performance, though comforming code is still important 2017-03-27T23:23:08Z Bike: sbcl still has to have a cache and do stuff 2017-03-27T23:23:10Z axion: Aha 2017-03-27T23:23:47Z Bike: if you have a call (vec* v1 v2) then even if v1 and v2 are known to be vec3fs, the compiler has to admit the possibility that you'll add subclasses of those later and a vec* method using them 2017-03-27T23:24:27Z axion: Currently I have this, which is very fast, but specific to 3-element, single-float [algebraic] vectors. https://gist.github.com/mfiano/db82186f44329ea4cbee0f6998adf714 2017-03-27T23:24:39Z axion: I want to support vec[2..4][i,f,d] as well 2017-03-27T23:25:22Z edgar-rft joined #lisp 2017-03-27T23:26:18Z axion: I'm just unsure how to begin with that idea for the most part 2017-03-27T23:26:35Z axion: Need to think more I guess. Well, thanks for your input and explanation which makes sense. 2017-03-27T23:27:08Z cromachina joined #lisp 2017-03-27T23:28:23Z warweasle joined #lisp 2017-03-27T23:31:52Z aeth: Bike: Is there a way to avoid any runtime dispatch other than to have a vec2*, vec3*, vec4*, vecd2*, vecd3*, vecd4*, etc.? 2017-03-27T23:32:15Z Bike: there is no way to avoid runtime dispatch. runtime dispatch is the entire point of generic functions. 2017-03-27T23:32:48Z aeth: But if the type is known... 2017-03-27T23:33:07Z Bike: you can subclass it 2017-03-27T23:33:09Z Bike: or redefine methods 2017-03-27T23:33:20Z Karl_Dscc quit (Remote host closed the connection) 2017-03-27T23:34:23Z aeth: I'm not talking about CLOS generics necessarily 2017-03-27T23:34:25Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-27T23:34:57Z aeth: e.g. CL implementations can change which + they use based on if they know the type, and then use a generic + if it's unknown 2017-03-27T23:35:28Z Bike: well. yeah you can have other kinds of dispatching functions, sure, and have the compiler simplify them. 2017-03-27T23:35:34Z Bike: then i'm not sure what you mean by "vec2*, [etc]" 2017-03-27T23:35:55Z aeth: Multiplication might be a bad example because * is used elsewhere 2017-03-27T23:36:07Z warweasle quit (Quit: brb) 2017-03-27T23:36:14Z aeth: And because as axion said there are four multiplications and assuming which one to use is bad 2017-03-27T23:36:14Z Bike: oh, that's supposed to be mutiplication 2017-03-27T23:36:25Z warweasle joined #lisp 2017-03-27T23:36:26Z aeth: Just s/*/+/g 2017-03-27T23:37:07Z axion: There are at least 4 different types of * for math vectors, so it is very ambiguous 2017-03-27T23:37:17Z warweasle quit (Remote host closed the connection) 2017-03-27T23:37:37Z aeth: Afaik, there isn't really a reason to be dynamic about a vector of size 2 that holds single-floats... it just needs to be generic to save the user's effort, and so there *is* a slow path if the type isn't given for some reason (like if it's not known at compile time!) 2017-03-27T23:37:46Z Bike: you can use whatever pillton's thing was called, which i forgot the name of again 2017-03-27T23:37:55Z Bike: or just something like (defun foo (x) (typecase x ...)) 2017-03-27T23:38:04Z Bike: and then if you declare foo inline the compiler can probably take care of it 2017-03-27T23:38:10Z aeth: In my own opinion, the proper solution would just be to add vectors and matrices to the numeric tower, but that'll never happen in enough implementations to be useful (probably never in more than one) 2017-03-27T23:38:31Z Bike: there are kind of a lot of cases, so a better way to do it might be nice 2017-03-27T23:38:53Z aeth: Bike: It's as easy as typecase? I've considered it before. 2017-03-27T23:39:06Z Bike: well, why not? 2017-03-27T23:39:28Z Bike: if you want no runtime dispatch, you have to have all the cases available to the compiler for any call 2017-03-27T23:39:40Z Bike: so your options are typecase or an equivalent 2017-03-27T23:41:46Z Bike: as a concrete example, in cleavir (defun car (o) (if (typeq o cons) (primop:car o) (if (typeq o null) nil (type-error)))), which is obviously basically a typecase 2017-03-27T23:41:52Z Bike: then it's inlined and you cut out the irrelevant cases 2017-03-27T23:42:04Z Bike: sbcl has a more involved mechanism with the same basic result 2017-03-27T23:43:48Z pillton: It is called specialization-store. 2017-03-27T23:44:07Z pillton: You don't need implementation support for the vectors and matrices. 2017-03-27T23:44:19Z pillton: You can do it portably. 2017-03-27T23:44:32Z axion: Hmm 2017-03-27T23:48:11Z atheris_ joined #lisp 2017-03-27T23:48:47Z pillton: I will put up what I have tonight to show it. 2017-03-27T23:49:01Z warweasle joined #lisp 2017-03-27T23:49:01Z carlosdagos joined #lisp 2017-03-27T23:49:09Z pillton: (fix-english *) 2017-03-27T23:49:14Z tenawa joined #lisp 2017-03-27T23:49:23Z atheris_ quit (Client Quit) 2017-03-27T23:51:01Z axion: I'm unsure where this topic has drifted to. I'm trying to understand what specialization-store is relevant to :) 2017-03-27T23:51:06Z axion needs sleep he thinks 2017-03-27T23:51:27Z pillton: Generic dispatch with types. 2017-03-27T23:52:10Z axion: Oh. Yeah that's another issue I have. Because I'm using type'd structs, they can no longer be dispatched on 2017-03-27T23:52:18Z axion: So maybe that will help there 2017-03-27T23:52:54Z pillton: Example usage can be found here: https://github.com/markcox80/specialization-store/blob/master/tests/standard-store-syntax-layer.lisp 2017-03-27T23:53:32Z pjb joined #lisp 2017-03-27T23:54:06Z pillton: defstore is similar to defgeneric and defspecialization is similar to defmethod. 2017-03-27T23:54:30Z raynold quit (Quit: Connection closed for inactivity) 2017-03-27T23:55:45Z axion: Interesting. Any major gotchas? 2017-03-27T23:56:03Z tenawa quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-27T23:58:29Z pillton: The only gotcha (which I don't consider major) is that the specialization selection process is only defined when the types being dispatched on form a tree. 2017-03-27T23:58:55Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-27T23:58:59Z pillton: There is no argument precedence either. 2017-03-27T23:59:29Z Bike: what happens if it doesn't form a tree 2017-03-28T00:00:18Z pillton: It invokes one of the applicable specializations. 2017-03-28T00:00:40Z pillton: Which one is undefined. 2017-03-28T00:01:09Z Bike: ah. wondering if you detected it. 2017-03-28T00:01:35Z mishoo quit (Ping timeout: 260 seconds) 2017-03-28T00:01:37Z pillton: The reason I don't consider it major is that the specialization, by definition, is defined for the given arguments. 2017-03-28T00:02:21Z Harag1 joined #lisp 2017-03-28T00:02:46Z Harag quit (Ping timeout: 264 seconds) 2017-03-28T00:02:46Z Harag1 is now known as Harag 2017-03-28T00:04:04Z azzamsa_ joined #lisp 2017-03-28T00:04:17Z aeth: pillton: you have one major advantage 2017-03-28T00:04:28Z aeth: pillton: Literally every competitor library that I have considered is licensed LLGPL 2017-03-28T00:04:44Z maarhart joined #lisp 2017-03-28T00:05:40Z EvW quit (Ping timeout: 256 seconds) 2017-03-28T00:07:03Z pillton: The integration with SLIME needs to be implemented. It has a MOP so that should be easy. 2017-03-28T00:07:13Z Guest16519 joined #lisp 2017-03-28T00:07:37Z azzamsa_ quit (Remote host closed the connection) 2017-03-28T00:07:46Z axion: Bike: You said the declaim must be toplevel, but what if it's in a (progn (declaim) (defun)) macro? 2017-03-28T00:07:52Z axion: Would that matter? 2017-03-28T00:07:54Z azzamsa joined #lisp 2017-03-28T00:07:57Z Bike: that's toplevel 2017-03-28T00:08:02Z axion: Ok good 2017-03-28T00:08:16Z Bike: (that is to say, subforms of a toplevel progn are also toplevel) 2017-03-28T00:08:42Z wtetzner quit (Remote host closed the connection) 2017-03-28T00:15:13Z daviid joined #lisp 2017-03-28T00:15:20Z carlosdagos quit (Ping timeout: 260 seconds) 2017-03-28T00:15:48Z BlueRavenGT quit (Ping timeout: 240 seconds) 2017-03-28T00:16:19Z maarhart quit (Quit: Mutter: www.mutterirc.com) 2017-03-28T00:16:57Z rumbler31 joined #lisp 2017-03-28T00:20:57Z pve quit (Ping timeout: 240 seconds) 2017-03-28T00:21:22Z rumbler31 quit (Ping timeout: 264 seconds) 2017-03-28T00:22:01Z l04m33 joined #lisp 2017-03-28T00:22:19Z Tex_Nick quit (Quit: In Linux, We Trust) 2017-03-28T00:25:00Z vicfred joined #lisp 2017-03-28T00:29:26Z RedEight quit (Quit: leaving) 2017-03-28T00:29:41Z Kundry_Wag joined #lisp 2017-03-28T00:30:22Z whiteline quit (Ping timeout: 264 seconds) 2017-03-28T00:35:15Z aeth: I noticed that specialization-store has one major dependency. introspect-environment. 2017-03-28T00:36:41Z azzamsa quit (Remote host closed the connection) 2017-03-28T00:37:22Z Kaisyu joined #lisp 2017-03-28T00:37:24Z pillton: and? 2017-03-28T00:38:01Z aeth: It looks like introspect-environment only supports SBCL, CCL, and CMUCL. 2017-03-28T00:38:10Z froggey quit (Ping timeout: 264 seconds) 2017-03-28T00:38:12Z aeth: That could be an issue for people who want to use ECL. 2017-03-28T00:38:35Z pillton: Introspect environment relies on implementations supporting cltl2. 2017-03-28T00:39:06Z pillton: Which is what is needed to do support the compile time optimizations that specialization-store is capable of doing. 2017-03-28T00:39:46Z froggey joined #lisp 2017-03-28T00:41:05Z terpri joined #lisp 2017-03-28T00:42:39Z pmc: what does a profiler provide beyond what operator time does? 2017-03-28T00:42:48Z onehrxn joined #lisp 2017-03-28T00:43:14Z Bike: tell you which functions were called, how often, and how much time per call 2017-03-28T00:43:27Z Bike: probably other stuff 2017-03-28T00:43:35Z pmc: ah. is there a profiler for GNU CLISP? 2017-03-28T00:43:56Z pjb: slime-profile 2017-03-28T00:44:04Z aeth: What exactly is &environment and would that information be necessary to create hygienic macros in CL? 2017-03-28T00:44:24Z Bike: you need it for macroexpand 2017-03-28T00:44:38Z pmc: I guess slime is for emacs only? (Using vi myself.) 2017-03-28T00:44:54Z aeth: pmc: there is a slimv 2017-03-28T00:45:10Z pmc: ok. thanks. 2017-03-28T00:45:16Z Bike: i don't remember the guts of hygienic macros, but i don't think you need environment arguments 2017-03-28T00:45:36Z aeth: Bike: I don't just mean the regular kind, I also mean the fancy kind in e.g. Racket 2017-03-28T00:45:48Z aeth: of which I am unqualified to talk about because I don't understand them yet. :-/ 2017-03-28T00:45:50Z Bike: i don't know anything about that 2017-03-28T00:45:50Z pillton: I think pjb has a paper on writing hygenic macros in a lisp with unhygenic macros. 2017-03-28T00:46:48Z Bike: as for what an environment argument is, it's a representation of the compile-time lexical environment that a macro form is situated in 2017-03-28T00:46:54Z Bike: clhs 3.1.1.3 2017-03-28T00:46:55Z specbot: Lexical Environments: http://www.lispworks.com/reference/HyperSpec/Body/03_aac.htm 2017-03-28T00:46:56Z warweasle quit (Quit: rcirc on GNU Emacs 24.5.1) 2017-03-28T00:48:07Z Bike: the only thing in here that's really accessible standardly is the macro definitions, from macroexpand-1 (and some other things imply access, like compiler-macro-function and get-setf-expansion) 2017-03-28T00:48:07Z aeth: Ah, then yes, it would be needed for Racket-style hygienic macros afaik. 2017-03-28T00:48:37Z aeth: (Unless I misinterpreted the long video describing them.) 2017-03-28T00:48:48Z pjb: pillton: nope. 2017-03-28T00:51:51Z aeth: I actually am wondering if I should implement cl-scheme's hygienic macros by first implementing hygienic macros in CL. It'd be overkill, but it would be more useful, and I often have (for much easier things) decided to implement it in CL first before porting it to the Scheme. 2017-03-28T00:52:35Z aeth: Although I guess that might not work because the Scheme would have to have a *globals* hash-table for the global environment... hmm... 2017-03-28T00:53:43Z discardedes joined #lisp 2017-03-28T00:57:54Z quazimodo joined #lisp 2017-03-28T00:58:17Z pillton: pjb: Oh sorry. It is the other Pascal. 2017-03-28T00:58:36Z pillton: Embedding Hygiene-Compatible Macros in an Unhygienic Macro System by Costanza et al. 2017-03-28T01:08:25Z Arathnim joined #lisp 2017-03-28T01:12:33Z pebblexe quit (Quit: Page closed) 2017-03-28T01:14:33Z smokeink joined #lisp 2017-03-28T01:15:25Z vicfred quit (Quit: Leaving) 2017-03-28T01:17:39Z shdeng joined #lisp 2017-03-28T01:21:21Z sz0 joined #lisp 2017-03-28T01:23:32Z NeverDie quit (Read error: Connection reset by peer) 2017-03-28T01:23:53Z FreeBirdLjj joined #lisp 2017-03-28T01:24:49Z NeverDie joined #lisp 2017-03-28T01:25:29Z NeverDie quit (Client Quit) 2017-03-28T01:25:48Z sz0 quit (Ping timeout: 240 seconds) 2017-03-28T01:25:55Z yaewa joined #lisp 2017-03-28T01:26:03Z NeverDie joined #lisp 2017-03-28T01:26:48Z moei quit (Ping timeout: 240 seconds) 2017-03-28T01:27:00Z sz0 joined #lisp 2017-03-28T01:27:28Z cyberlard quit (Ping timeout: 240 seconds) 2017-03-28T01:27:48Z ozzloy quit (Ping timeout: 240 seconds) 2017-03-28T01:28:35Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-28T01:28:37Z cods quit (Remote host closed the connection) 2017-03-28T01:28:52Z cods joined #lisp 2017-03-28T01:28:54Z ozzloy joined #lisp 2017-03-28T01:28:54Z ozzloy quit (Changing host) 2017-03-28T01:28:54Z ozzloy joined #lisp 2017-03-28T01:29:28Z mnoonan quit (Ping timeout: 240 seconds) 2017-03-28T01:30:27Z milanj quit (Quit: This computer has gone to sleep) 2017-03-28T01:30:28Z coyo quit (Ping timeout: 240 seconds) 2017-03-28T01:31:48Z bandu joined #lisp 2017-03-28T01:35:07Z terpri quit (Ping timeout: 240 seconds) 2017-03-28T01:35:51Z mnoonan joined #lisp 2017-03-28T01:37:32Z aeth: I am disappointed that common.lisp is not an entire implementation of Common Lisp. 2017-03-28T01:38:28Z Kundry_Wag quit (Remote host closed the connection) 2017-03-28T01:39:03Z Kundry_Wag joined #lisp 2017-03-28T01:39:37Z X-Scale quit (Ping timeout: 240 seconds) 2017-03-28T01:40:28Z cyberlard joined #lisp 2017-03-28T01:41:51Z [X-Scale] joined #lisp 2017-03-28T01:42:50Z [X-Scale] is now known as X-Scale 2017-03-28T01:43:07Z Kundry_Wag quit (Ping timeout: 240 seconds) 2017-03-28T01:43:58Z ekinmur joined #lisp 2017-03-28T01:45:23Z aeth: pillton: Let's say I have a scalar*vec that's an inlined function that takes a single-float scalar and a single-float vector of size 3 in that order and multiplies each element by the scalar. In fact, I have this. 2017-03-28T01:45:27Z aeth: I have this here. https://gitlab.com/zombie-raptor/zombie-raptor/blob/e051b4c73ab2ff03cccf2cab23e98342b0e8ca34/math/vector.lisp#L62-69 2017-03-28T01:46:40Z pillton: Ok. 2017-03-28T01:46:53Z aeth: pillton: I can just (defspecialization ** ((x single-float) (v vec)) ...) and it will produce the same results, but I can now also have other size vecs, and basically all useful combinations of numbers? 2017-03-28T01:47:18Z aeth: like e.g. single-float, double-float, fixnum paired with a vec3 of single-float, double-float, fixnum, or a vec2 of that, or a vec4 of that 2017-03-28T01:47:22Z aeth: in either order 2017-03-28T01:47:33Z pillton: Yep. 2017-03-28T01:47:42Z aeth: And the disassembly will be equivalent to if I had specified one of these as long as I declare types? 2017-03-28T01:47:59Z krwq joined #lisp 2017-03-28T01:48:07Z pjb: aeth: common.lisp is my common rc file for Common Lisp; it's loaded by the various implementations rc files. 2017-03-28T01:48:36Z aeth: pjb: common-common.lisp, then 2017-03-28T01:49:07Z pjb: aeth: now, perhaps we could open a contest about implementing Common Lisp in a single common.lisp file. 2017-03-28T01:49:10Z marusich joined #lisp 2017-03-28T01:49:46Z pjb quit (Quit: Good night! (How late I am!)) 2017-03-28T01:50:43Z aeth: pillton: does inlining work for trivial functions? 2017-03-28T01:51:22Z pillton: Only if the type information is available at compile time. 2017-03-28T01:52:11Z pillton: There are two ways to do it. You can specify inline, or you can specialize for each type. 2017-03-28T01:55:51Z pillton: aeth: http://paste.lisp.org/display/342617 2017-03-28T01:56:40Z pillton: I don't particularly like inlining as it messes with the stack trace. 2017-03-28T01:56:48Z pillton: ..and profiling. 2017-03-28T01:57:52Z Balooga quit (Ping timeout: 246 seconds) 2017-03-28T01:59:00Z pillton: Inlining in this example doesn't make sense since someone could do (scalar*vec 1d0 (make-single-float-vec)) which would require coercing the values to single-floats. 2017-03-28T01:59:55Z BlueRavenGT joined #lisp 2017-03-28T02:00:31Z FreeBirdLjj joined #lisp 2017-03-28T02:10:18Z pillton: aeth: I have to go and appease my stomach. 2017-03-28T02:20:46Z whiteline joined #lisp 2017-03-28T02:21:31Z krwq: Is loop always consider when to be associated with next action (do/collect...) or is there some other rule? i.e. http://paste.lisp.org/display/342621 works as expected but wondering if there are any gotchas to that 2017-03-28T02:22:04Z wooden_ joined #lisp 2017-03-28T02:23:20Z krwq: s/Is/Does 2017-03-28T02:26:18Z krwq: im not sure where to start reading this: http://www.lispworks.com/documentation/HyperSpec/Body/m_loop.htm 2017-03-28T02:27:57Z krwq: actually nvm i think i understand the spec this time (ive tried reading this exact page couple of time before - i think you broke me) 2017-03-28T02:28:28Z Guest16519 left #lisp 2017-03-28T02:30:36Z pmc quit (Quit: Leaving) 2017-03-28T02:33:07Z edgar-rft: krwq: better explanations can be found in and in Peter Seibel's "Practical Common Lisp" book. 2017-03-28T02:34:32Z loke: krwq: There is nothing gochya about that 2017-03-28T02:34:49Z loke: krwq: Why would you consider that to be gotcha? 2017-03-28T02:39:18Z krwq: loke: I was wondering if there are any cases which might not be intuitive 2017-03-28T02:39:31Z loke: krwq: Umm... Hmm... Nope 2017-03-28T02:40:16Z loke: krwq: LOOP is quite intuitive actually. I think the only annoying thing abou tit is the fact that it specifies that the binding of variables is over the entire loop. 2017-03-28T02:40:55Z BitPuffin|osx quit (Ping timeout: 246 seconds) 2017-03-28T02:42:05Z pillton: ...and things like (loop for x in nil maximize x) aren't defined. 2017-03-28T02:44:44Z krwq: pillton: that's ok since that doesn't make much sense from mathematical point of view 2017-03-28T02:49:42Z krwq quit (Remote host closed the connection) 2017-03-28T02:56:05Z jameser joined #lisp 2017-03-28T02:59:22Z TDT quit (Quit: TDT) 2017-03-28T03:00:12Z daviid quit (Ping timeout: 256 seconds) 2017-03-28T03:05:37Z raynold joined #lisp 2017-03-28T03:08:08Z sgript- quit (Ping timeout: 256 seconds) 2017-03-28T03:08:21Z decuser quit (Quit: rcirc on GNU Emacs 25.1.1) 2017-03-28T03:11:53Z EvW joined #lisp 2017-03-28T03:14:52Z marusich quit (Ping timeout: 246 seconds) 2017-03-28T03:16:55Z marusich joined #lisp 2017-03-28T03:20:28Z Autolycus joined #lisp 2017-03-28T03:20:57Z EvW quit (Ping timeout: 240 seconds) 2017-03-28T03:22:17Z terpri joined #lisp 2017-03-28T03:24:25Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-28T03:28:52Z marusich quit (Ping timeout: 246 seconds) 2017-03-28T03:36:37Z fiddlerwoaroof quit (Ping timeout: 240 seconds) 2017-03-28T03:41:55Z emaczen joined #lisp 2017-03-28T03:42:43Z shka_ joined #lisp 2017-03-28T03:48:39Z fiddlerwoaroof joined #lisp 2017-03-28T03:48:59Z ebrasca quit (Remote host closed the connection) 2017-03-28T03:49:23Z Harag quit (Ping timeout: 258 seconds) 2017-03-28T03:49:42Z decuser joined #lisp 2017-03-28T03:49:57Z myrkraverk quit (Read error: Connection reset by peer) 2017-03-28T03:51:00Z myrkraverk joined #lisp 2017-03-28T03:51:40Z emacsoma` joined #lisp 2017-03-28T03:51:51Z [X-Scale] joined #lisp 2017-03-28T03:51:52Z emacsomancer quit (Remote host closed the connection) 2017-03-28T03:53:28Z X-Scale quit (Ping timeout: 240 seconds) 2017-03-28T03:53:29Z [X-Scale] is now known as X-Scale 2017-03-28T03:56:18Z s3mi0 joined #lisp 2017-03-28T03:58:10Z john2x joined #lisp 2017-03-28T04:02:08Z shka_ quit (Ping timeout: 240 seconds) 2017-03-28T04:05:15Z sgript joined #lisp 2017-03-28T04:06:30Z wheelsucker quit (Ping timeout: 256 seconds) 2017-03-28T04:06:35Z BlueRavenGT quit (Ping timeout: 240 seconds) 2017-03-28T04:07:48Z bocaneri joined #lisp 2017-03-28T04:07:49Z bocaneri quit (Max SendQ exceeded) 2017-03-28T04:11:50Z bocaneri joined #lisp 2017-03-28T04:12:59Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-28T04:16:07Z jameser quit (Ping timeout: 246 seconds) 2017-03-28T04:21:36Z jameser joined #lisp 2017-03-28T04:25:06Z safe quit (Read error: Connection reset by peer) 2017-03-28T04:25:14Z neoncontrails quit (Remote host closed the connection) 2017-03-28T04:26:16Z ekinmur quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-28T04:31:12Z elinux joined #lisp 2017-03-28T04:31:36Z decuser quit (Quit: rcirc on GNU Emacs 25.1.1) 2017-03-28T04:39:34Z nowhere_man quit (Remote host closed the connection) 2017-03-28T04:40:12Z whoman joined #lisp 2017-03-28T04:42:23Z rippa joined #lisp 2017-03-28T04:42:56Z FreeBirdLjj joined #lisp 2017-03-28T04:43:14Z nowhere_man joined #lisp 2017-03-28T04:48:27Z [X-Scale] joined #lisp 2017-03-28T04:49:00Z X-Scale quit (Ping timeout: 256 seconds) 2017-03-28T04:49:25Z [X-Scale] is now known as X-Scale 2017-03-28T04:53:25Z oleo quit (Remote host closed the connection) 2017-03-28T05:03:31Z dec0n joined #lisp 2017-03-28T05:06:05Z s3mi0 quit (Ping timeout: 260 seconds) 2017-03-28T05:06:26Z fiddlerwoaroof quit (Ping timeout: 258 seconds) 2017-03-28T05:08:04Z beach: Good morning everyone! 2017-03-28T05:10:11Z loke: Beach! 2017-03-28T05:12:33Z fiddlerwoaroof joined #lisp 2017-03-28T05:12:41Z nowhere_man quit (Remote host closed the connection) 2017-03-28T05:13:07Z nowhere_man joined #lisp 2017-03-28T05:14:21Z daemoz: Morning! 2017-03-28T05:14:30Z rpg_ quit (Ping timeout: 256 seconds) 2017-03-28T05:15:00Z beach: Hello daemoz. 2017-03-28T05:15:31Z daemoz: beach: are you Europe? If it's morning there. 2017-03-28T05:17:02Z flip214: yes, it is. 2017-03-28T05:17:29Z Bike: it's just a greeting. 2017-03-28T05:18:01Z beach: daemoz: http://www.total-knowledge.com/~ilya/mips/ugt.html 2017-03-28T05:18:02Z daemoz: I know, was just curious. 2017-03-28T05:18:40Z beach: daemoz: Yes, I am in Europe. The beautiful city of Bordeaux to be more precise. 2017-03-28T05:19:10Z beach: And, no, it was not named after a Common Lisp library. It's the other way around. 2017-03-28T05:19:11Z daemoz: beach: Ahahaha, excellent greeting concept. Oh? I've never heard. Hope you like it there! 2017-03-28T05:19:21Z daemoz: I assume you do if you see it "beautiful" :) 2017-03-28T05:19:31Z loke: Beach's good morning greeting a reminder for me that it's probably time to go for lunch soon. 2017-03-28T05:19:32Z daemoz: Hah! 2017-03-28T05:20:19Z Harag joined #lisp 2017-03-28T05:22:15Z loke: It's pretty great. It's usually around 13:00 my time. 2017-03-28T05:22:24Z beach: loke: Careful, though. I assume that where you live, they don't bother with stupid stuff like daylight savings time. 2017-03-28T05:22:34Z loke: beach: That is true. 2017-03-28T05:22:40Z loke: No DST here. 2017-03-28T05:23:03Z neoncontrails joined #lisp 2017-03-28T05:23:23Z loke: I have to keep track of your DST though since I communicate a lot with Paris. 2017-03-28T05:23:23Z beach: So we are now one hour off. I wouldn't want you to eat lunch too early. 2017-03-28T05:23:39Z loke: beach: Wait what? You switched to summer time? Wtf... 2017-03-28T05:23:52Z beach: Yes, two days ago. 2017-03-28T05:23:57Z loke: Argh. 2017-03-28T05:24:13Z loke: So you're at UTC+2 now, yes>? 2017-03-28T05:24:17Z beach: Indeed. 2017-03-28T05:24:20Z loke: So 6 hours off from us 2017-03-28T05:24:34Z vlatkoB joined #lisp 2017-03-28T05:25:01Z loke: That's actually good, because it means that the call I have to make to a colleague of mine in Paris can be made one hour earlier, meaning that it'll probbaly not drag too late into evening for me. :-) 2017-03-28T05:25:18Z loke: Awesome. 2017-03-28T05:25:34Z whoman2 joined #lisp 2017-03-28T05:25:55Z loke: DST is incredibly stupid as a concept though. I've never met a single person who is in favour of it. Why on earth is it still a thing? 2017-03-28T05:26:07Z nowhere_man quit (Remote host closed the connection) 2017-03-28T05:26:20Z pillton: I want it! 2017-03-28T05:26:28Z pillton: Who wants sunrise at 4:45am? 2017-03-28T05:26:41Z bariscant joined #lisp 2017-03-28T05:26:42Z daemoz: Same reason I'm sure that American's like me are still stuck with imperial measurements. The adoption pains are percieved as too strong. 2017-03-28T05:26:45Z nowhere_man joined #lisp 2017-03-28T05:26:54Z daemoz: Hell, I'd switch in a heartbeat personally, however. 2017-03-28T05:27:07Z flip214: well, having an hour more sun is nice.... the transitions aren't. 2017-03-28T05:27:14Z marusich joined #lisp 2017-03-28T05:27:50Z loke: flip214: I think everybody want to stay at summertime even during winter. 2017-03-28T05:27:50Z beach: It used to be the case that people would read a book by daylight in the evening. Nowadays, probably more people pull the blinds and play video games. 2017-03-28T05:28:08Z whoman quit (Ping timeout: 240 seconds) 2017-03-28T05:28:28Z flip214: though there's never enough sun in winter anyway. 2017-03-28T05:28:59Z beach works on his ELS slides. 2017-03-28T05:29:08Z pillton: Well, the state I live in has an area of 1.853 million km^2. France is only 0.65 million km^2. 2017-03-28T05:30:44Z nowhere_man quit (Remote host closed the connection) 2017-03-28T05:30:53Z beach: And your state probably has way fewer people living there too. 2017-03-28T05:31:08Z whoman2 quit (Quit: Leaving) 2017-03-28T05:31:19Z bariscant quit (Read error: Connection reset by peer) 2017-03-28T05:31:28Z loke: pillton: The country I live in has an area of 720 km^2 2017-03-28T05:31:42Z loke: no powers of 10 there. 2017-03-28T05:31:50Z Bike: huh, western australia is larger than alaska. reading maps is hard 2017-03-28T05:31:52Z nowhere_man joined #lisp 2017-03-28T05:31:57Z fiddlerwoaroof quit (Ping timeout: 240 seconds) 2017-03-28T05:32:48Z flip214: even more so if they are using a coordinate transformation that mangles the area ;) 2017-03-28T05:33:06Z flip214: Bike: greenland is larger than australia 2017-03-28T05:33:17Z Bike: at this point i assume greenland is larger than everything 2017-03-28T05:34:36Z flip214: well, the USSR was still a bit bigger, IIRC ;P 2017-03-28T05:34:38Z loke: looking at most marks, greenland is larger than africa :-) 2017-03-28T05:35:00Z Bike: it has a national park bigger than texas 2017-03-28T05:35:06Z Autolycus quit 2017-03-28T05:36:11Z aeth: Greenland should be a continent. Look at the average map, and you'll see it's larger than the continent of Australia. 2017-03-28T05:36:27Z pillton: It isn't bigger than Australia. 2017-03-28T05:36:45Z edgar-rft: welcome to the mine-is-bigger-than-yours channel 2017-03-28T05:36:46Z discardedes quit (Read error: Connection reset by peer) 2017-03-28T05:36:46Z Bike: pretty sure it is 2017-03-28T05:36:51Z beach: It is not. 2017-03-28T05:36:53Z loke: Look on google earth. Antartica is larger than the rest of the world. 2017-03-28T05:37:22Z aeth: pillton: Greenland is bigger than Australia on the average map. That was my qualification, "Look at the average map" 2017-03-28T05:37:25Z Bike: well let me just get out my planimeter and 2017-03-28T05:37:30Z aeth: pillton: i.e. Mercator 2017-03-28T05:37:58Z loke: aeth: Also note how Sweden is larger than India. 2017-03-28T05:38:12Z aeth: https://upload.wikimedia.org/wikipedia/commons/f/f4/Mercator_projection_SW.jpg 2017-03-28T05:38:36Z pillton: aeth: Ok. I see. 2017-03-28T05:38:41Z fiddlerwoaroof joined #lisp 2017-03-28T05:38:45Z aeth: It's worse than I thought 2017-03-28T05:39:22Z pillton: You need to look up Fukunda's Underground Piano Illusion. Projections are awesome. 2017-03-28T05:39:29Z aeth: But, hey, when the ice all melts, everyone can move to the new, plentiful land in Antarctica and Greenland 2017-03-28T05:39:54Z aeth: That will be more than the rest of the world's land 2017-03-28T05:40:26Z Bike: i think the actual land under the ice sheets is smaller. 2017-03-28T05:40:28Z marusich quit (Ping timeout: 246 seconds) 2017-03-28T05:40:43Z Bike: also kind of alien blasted and infertile but whatever 2017-03-28T05:41:39Z edgar-rft: I assume the land under the oceans is bigger than all the continents together 2017-03-28T05:41:53Z Bike: ...well, yes. 2017-03-28T05:43:21Z edgar-rft: ...and if the ice melts the sea level will raise and all continents decrease in size, what then? 2017-03-28T05:43:53Z Bike: well, i'm dead, probably, so i'm not too concerned 2017-03-28T05:45:24Z loke: It's remarkable how red australia is. 2017-03-28T05:45:28Z loke: It looks like mars 2017-03-28T05:47:41Z aeth: Duh. That's where they faked the Mars landings. 2017-03-28T05:48:15Z edgar-rft: maybe australia is embarrassed because you look at it? 2017-03-28T05:49:26Z loke: Oh, look at that. A small town in the middle of nothingness. 2017-03-28T05:49:37Z loke: What do people that live in a place like Laverton actually do? 2017-03-28T05:50:16Z gen93 quit (Ping timeout: 246 seconds) 2017-03-28T05:51:05Z Bike: laverton, victoria? 2017-03-28T05:51:21Z edgar-rft: they eat laver all day long, what else 2017-03-28T05:51:41Z loke: Bike: No. WA 2017-03-28T05:52:23Z gen93 joined #lisp 2017-03-28T05:53:03Z Bike: mine, apparently 2017-03-28T05:53:12Z nowhere_man quit (Remote host closed the connection) 2017-03-28T05:54:46Z nowhere_man joined #lisp 2017-03-28T05:56:38Z flip214: oh, Bike -- a post-modern prometheus? 2017-03-28T05:57:22Z Bike: heh? 2017-03-28T05:57:28Z foliage joined #lisp 2017-03-28T05:58:08Z axion: Excuse the newbie question, but is there a function outside of LOOP that can concisely do the equivalent of: (loop for x in list append ..)? Maybe one of the MAP function incantations? 2017-03-28T05:58:41Z Bike: sadly no, there's one for nconc but not append 2017-03-28T05:58:54Z Bike: you can define "mappend" yourself, of course 2017-03-28T05:59:02Z axion: Aha ok, thanks 2017-03-28T05:59:29Z Bike: (defun mappend1 (function list) (loop for element in list appending (funcall function element))) 2017-03-28T05:59:46Z pillton: The system alexandria contains the function mappend. 2017-03-28T06:02:48Z onehrxn quit 2017-03-28T06:06:28Z axion: Aha 2017-03-28T06:06:33Z axion: Thanks 2017-03-28T06:10:57Z Arathnim quit (Quit: leaving) 2017-03-28T06:12:33Z john2x quit (Remote host closed the connection) 2017-03-28T06:13:06Z john2x joined #lisp 2017-03-28T06:14:30Z raynold quit (Quit: Connection closed for inactivity) 2017-03-28T06:17:09Z FreeBirdLjj quit 2017-03-28T06:18:18Z sfa joined #lisp 2017-03-28T06:18:58Z mathrick quit (Ping timeout: 246 seconds) 2017-03-28T06:28:12Z foliage quit (Remote host closed the connection) 2017-03-28T06:30:28Z scymtym quit (Ping timeout: 240 seconds) 2017-03-28T06:32:41Z angavrilov joined #lisp 2017-03-28T06:37:20Z dxtr: Is it possible to catch errors so I can log them instead of the thread just dying? 2017-03-28T06:37:42Z mathrick joined #lisp 2017-03-28T06:38:15Z phoe: dxtr: yes 2017-03-28T06:38:26Z Bike: well, in what context? is this that cgi business? 2017-03-28T06:38:29Z phoe: a simple wrapper around make-thread can do that. 2017-03-28T06:38:45Z Bike: _around_ make-thread, really? 2017-03-28T06:38:52Z phoe: asuefhsfs 2017-03-28T06:38:54Z Bike: or do you mean having your own make-thread. 2017-03-28T06:38:56Z phoe: around its lambda 2017-03-28T06:39:01Z Bike: right, ok. 2017-03-28T06:39:02Z phoe: you're correct. 2017-03-28T06:39:45Z phoe: (make-thread (lambda () (handler-case (foo) (error (e) (log-error e))))) something like that 2017-03-28T06:39:53Z dxtr: oh, neat 2017-03-28T06:40:02Z Bike: dxtr: http://www.gigamonkeys.com/book/beyond-exception-handling-conditions-and-restarts.html 2017-03-28T06:40:07Z dxtr: Speaking of which, do you know of any good logging libraries? 2017-03-28T06:40:09Z dxtr: Bike: Thanks! 2017-03-28T06:40:33Z loke: dxtr: I use log4cl. It's quite nice and has a neat Emacs integration thingy 2017-03-28T06:40:45Z dxtr: Cool, thanks! 2017-03-28T06:40:55Z nrp3c joined #lisp 2017-03-28T06:43:08Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-28T06:43:24Z MoALTz joined #lisp 2017-03-28T06:44:33Z nowhere_man quit (Ping timeout: 260 seconds) 2017-03-28T06:45:49Z mishoo joined #lisp 2017-03-28T06:47:35Z arbv quit (Ping timeout: 268 seconds) 2017-03-28T06:47:48Z pareidolia quit (Ping timeout: 260 seconds) 2017-03-28T06:48:00Z pareidolia joined #lisp 2017-03-28T06:50:08Z arbv joined #lisp 2017-03-28T06:56:09Z milanj joined #lisp 2017-03-28T07:08:46Z defaultxr quit (Ping timeout: 264 seconds) 2017-03-28T07:09:45Z vlatkoB_ joined #lisp 2017-03-28T07:09:48Z jdz quit (Ping timeout: 240 seconds) 2017-03-28T07:13:30Z vlatkoB quit (Ping timeout: 256 seconds) 2017-03-28T07:13:38Z jdz joined #lisp 2017-03-28T07:14:24Z vydd quit (Remote host closed the connection) 2017-03-28T07:15:53Z krwq joined #lisp 2017-03-28T07:15:57Z marvin2 quit (Ping timeout: 268 seconds) 2017-03-28T07:22:40Z Harag quit (Ping timeout: 246 seconds) 2017-03-28T07:34:29Z o1e9 joined #lisp 2017-03-28T07:35:59Z vydd joined #lisp 2017-03-28T07:36:19Z seg quit (Ping timeout: 246 seconds) 2017-03-28T07:37:30Z marusich joined #lisp 2017-03-28T07:39:57Z Younder quit (Quit: Leaving) 2017-03-28T07:40:13Z seg joined #lisp 2017-03-28T07:40:26Z varjag joined #lisp 2017-03-28T07:41:35Z nrp3c quit (Remote host closed the connection) 2017-03-28T07:41:47Z nowhere_man joined #lisp 2017-03-28T07:42:16Z scymtym joined #lisp 2017-03-28T07:42:39Z pve joined #lisp 2017-03-28T07:45:02Z HDurer quit (Ping timeout: 276 seconds) 2017-03-28T07:46:14Z vydd quit 2017-03-28T07:46:42Z HDurer joined #lisp 2017-03-28T07:46:42Z HDurer quit (Changing host) 2017-03-28T07:46:42Z HDurer joined #lisp 2017-03-28T07:50:40Z marusich quit (Ping timeout: 246 seconds) 2017-03-28T07:50:57Z sfa quit (Quit: leaving) 2017-03-28T07:51:24Z Bike quit (Quit: leaving) 2017-03-28T07:54:51Z ryanwatkins joined #lisp 2017-03-28T07:56:35Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-28T07:56:58Z foom quit (Ping timeout: 246 seconds) 2017-03-28T07:58:39Z marusich joined #lisp 2017-03-28T08:00:07Z X-Scale quit (Quit: HydraIRC -> http://www.hydrairc.com <- Now with extra fish!) 2017-03-28T08:03:09Z emaczen quit (Ping timeout: 258 seconds) 2017-03-28T08:09:16Z foom joined #lisp 2017-03-28T08:11:55Z hhdave joined #lisp 2017-03-28T08:14:01Z Harag joined #lisp 2017-03-28T08:14:26Z hhdave_ joined #lisp 2017-03-28T08:16:24Z ryanwatkins quit (Ping timeout: 256 seconds) 2017-03-28T08:16:28Z hhdave quit (Ping timeout: 260 seconds) 2017-03-28T08:16:28Z hhdave_ is now known as hhdave 2017-03-28T08:18:20Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-28T08:26:16Z Oddity quit (Ping timeout: 260 seconds) 2017-03-28T08:28:57Z pjb joined #lisp 2017-03-28T08:32:07Z smokeink quit (Ping timeout: 240 seconds) 2017-03-28T08:32:46Z Oddity joined #lisp 2017-03-28T08:32:46Z Oddity quit (Changing host) 2017-03-28T08:32:46Z Oddity joined #lisp 2017-03-28T08:33:58Z smokeink joined #lisp 2017-03-28T08:34:15Z azahi joined #lisp 2017-03-28T08:34:45Z vydd joined #lisp 2017-03-28T08:34:46Z marusich quit (Ping timeout: 246 seconds) 2017-03-28T08:35:16Z vydd quit (Client Quit) 2017-03-28T08:37:02Z Karl_Dscc joined #lisp 2017-03-28T08:38:58Z nowhere_man joined #lisp 2017-03-28T08:42:44Z marusich joined #lisp 2017-03-28T08:43:08Z Jonsky joined #lisp 2017-03-28T08:43:18Z Jonsky: https://pastebin.com/njTCh57v 2017-03-28T08:44:24Z Jonsky: Tried to make a macro and give it a keyword name so I can use in different packages. But it doesn't work. The '_ seem to be the problem. 2017-03-28T08:46:56Z scymtym: more importantly, a macro should not destructively modify any form it receives 2017-03-28T08:48:07Z Jonsky: oh yes, the nreverse is quite dangerous 2017-03-28T08:48:29Z Jonsky: Thanks for the tip 2017-03-28T08:48:34Z phoe_: and the consequences are undefined 2017-03-28T08:51:57Z smokeink quit (Quit: leaving) 2017-03-28T08:52:57Z phoe_: Jonsky: what's the use case of your macro though? 2017-03-28T08:54:55Z beach: Jonsky: You need to use an editor that knows how to indent Common Lisp code. 2017-03-28T08:55:34Z jack_rabbit joined #lisp 2017-03-28T08:55:55Z Jonsky: beach: sorry I don't know what happend. I use Emacs and Slime and the indentation is fine until I pasted to the pastebin... 2017-03-28T08:56:02Z beach: Jonsky: And the :from-end t should be on the next line, lined up with (nreverse....) 2017-03-28T08:56:38Z beach: Jonsky: What kind of object is the value of OUTER? 2017-03-28T08:56:41Z Jonsky: silly me, I could just dropped the nreverse and from-end. they cancel each other 2017-03-28T08:57:25Z Jonsky: I accidentall saw uiop:nest today and thought to myself "hey this looks like the pipe in bash.." 2017-03-28T08:57:44Z Jonsky: so I tried to make it. 2017-03-28T08:59:27Z Jonsky: (pipe '(a b c d) cdr butlast (elt _ 1)) ==> C 2017-03-28T08:59:46Z pjb: Jonsky: you don't need to use keywords to name operators that you want to use in a different package. 2017-03-28T08:59:52Z Jonsky: but only works in one package atm. 2017-03-28T09:00:17Z pjb: Jonsky: just export/use or import the symbol in the package you want to use it in, or qualify the symbol with its home pacakge. 2017-03-28T09:00:19Z Jonsky: pjb: I thought it's a trick I could use to avoid manually import it 2017-03-28T09:00:36Z pjb: This is not a good reason to use a keyword. 2017-03-28T09:00:45Z pjb: If everybody did that, you'd get a lot of collisions. 2017-03-28T09:01:07Z Jonsky: fair point 2017-03-28T09:01:32Z psacrifice joined #lisp 2017-03-28T09:01:44Z Jonsky: sorry about that. Just wanted to see how far I can twist things. 2017-03-28T09:02:17Z pjb quit (Read error: No route to host) 2017-03-28T09:03:08Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-03-28T09:03:28Z ogamita joined #lisp 2017-03-28T09:03:33Z pjb joined #lisp 2017-03-28T09:04:08Z ogamita quit (Client Quit) 2017-03-28T09:04:29Z cromachina quit (Ping timeout: 268 seconds) 2017-03-28T09:04:49Z cromachina joined #lisp 2017-03-28T09:05:45Z Jonsky: And again, thanks everyone. 2017-03-28T09:06:26Z phoe_: Jonsky: in Lisp, you can twist things quiiiiiite fat 2017-03-28T09:06:30Z phoe_: s/fat/far/ 2017-03-28T09:06:39Z phoe_: and the fact that you can does not mean that you should 2017-03-28T09:07:08Z bocaneri is now known as Sauvin 2017-03-28T09:10:25Z Karl_Dscc quit (Remote host closed the connection) 2017-03-28T09:10:36Z Oddity quit (Ping timeout: 260 seconds) 2017-03-28T09:17:19Z Oddity joined #lisp 2017-03-28T09:17:19Z Oddity quit (Changing host) 2017-03-28T09:17:19Z Oddity joined #lisp 2017-03-28T09:18:48Z mingus1 joined #lisp 2017-03-28T09:19:49Z gingerale joined #lisp 2017-03-28T09:21:37Z mingus quit (Ping timeout: 240 seconds) 2017-03-28T09:21:37Z mingus1 is now known as mingus 2017-03-28T09:21:47Z attila_lendvai joined #lisp 2017-03-28T09:21:47Z attila_lendvai quit (Changing host) 2017-03-28T09:21:47Z attila_lendvai joined #lisp 2017-03-28T09:22:19Z krwq: btw does anyone of you have a reader macro s/ mapping to regex-replace-all? 2017-03-28T09:23:18Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-28T09:23:35Z krwq quit (Remote host closed the connection) 2017-03-28T09:24:42Z ryanwatkins joined #lisp 2017-03-28T09:26:15Z Kundry_Wag joined #lisp 2017-03-28T09:30:54Z Kundry_Wag quit (Ping timeout: 260 seconds) 2017-03-28T09:34:43Z flip214: krwq is gone again... cl-interpol would have been the answer 2017-03-28T09:37:06Z emaczen joined #lisp 2017-03-28T09:37:36Z phoe_: minion: memo for krwq: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.20 2017-03-28T09:37:36Z minion: Remembered. I'll tell krwq when he/she/it next speaks. 2017-03-28T09:37:41Z DeadTrickster quit (Ping timeout: 260 seconds) 2017-03-28T09:37:47Z phoe_: uh, wrong one 2017-03-28T09:38:02Z phoe_: minion: memo for krwq: sorry, I wanted to send this one: krwq is gone again... cl-interpol would have been the answer 2017-03-28T09:38:02Z minion: Remembered. I'll tell krwq when he/she/it next speaks. 2017-03-28T09:38:23Z Karl_Dscc joined #lisp 2017-03-28T09:39:18Z flip214: minion: memo for krwq: cl-interpol has perl-like regex "strings" 2017-03-28T09:39:18Z minion: Remembered. I'll tell krwq when he/she/it next speaks. 2017-03-28T09:39:22Z john2x quit (Ping timeout: 264 seconds) 2017-03-28T09:40:56Z Oddity quit (Ping timeout: 260 seconds) 2017-03-28T09:40:57Z carlosdagos joined #lisp 2017-03-28T09:44:45Z psacrifice quit (Remote host closed the connection) 2017-03-28T09:47:41Z Oddity joined #lisp 2017-03-28T09:47:41Z Oddity quit (Changing host) 2017-03-28T09:47:41Z Oddity joined #lisp 2017-03-28T09:48:58Z Jonsky quit (Ping timeout: 246 seconds) 2017-03-28T09:50:12Z DeadTrickster joined #lisp 2017-03-28T09:51:09Z nirved joined #lisp 2017-03-28T09:52:00Z salva0 joined #lisp 2017-03-28T10:00:32Z Kundry_Wag joined #lisp 2017-03-28T10:00:56Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-28T10:04:39Z psacrifice joined #lisp 2017-03-28T10:04:46Z zzkt[m] quit (Read error: Connection reset by peer) 2017-03-28T10:04:46Z astronavt[m] quit (Read error: Connection reset by peer) 2017-03-28T10:04:47Z Jach[m] quit (Write error: Connection reset by peer) 2017-03-28T10:04:47Z RichardPaulBck[m quit (Remote host closed the connection) 2017-03-28T10:04:48Z harlequin78[m] quit (Read error: Connection reset by peer) 2017-03-28T10:04:48Z thorondor[m] quit (Read error: Connection reset by peer) 2017-03-28T10:04:49Z M-Illandan quit (Remote host closed the connection) 2017-03-28T10:07:30Z tumdum joined #lisp 2017-03-28T10:07:30Z tumdum quit (Changing host) 2017-03-28T10:07:30Z tumdum joined #lisp 2017-03-28T10:09:10Z jameser quit (Ping timeout: 256 seconds) 2017-03-28T10:10:06Z m00natic joined #lisp 2017-03-28T10:10:51Z ryanwatkins quit (Remote host closed the connection) 2017-03-28T10:11:33Z M-Illandan joined #lisp 2017-03-28T10:11:40Z ryanwatkins joined #lisp 2017-03-28T10:12:45Z john2x joined #lisp 2017-03-28T10:14:19Z FreeBirdLjj joined #lisp 2017-03-28T10:15:32Z ryanwatkins quit (Remote host closed the connection) 2017-03-28T10:22:46Z vibs29 quit (Ping timeout: 256 seconds) 2017-03-28T10:25:55Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-28T10:28:26Z vibs29 joined #lisp 2017-03-28T10:32:28Z pjb quit (Ping timeout: 240 seconds) 2017-03-28T10:34:27Z jfb4 quit (Ping timeout: 240 seconds) 2017-03-28T10:35:25Z raynold joined #lisp 2017-03-28T10:35:26Z attila_lendvai joined #lisp 2017-03-28T10:35:26Z attila_lendvai quit (Changing host) 2017-03-28T10:35:26Z attila_lendvai joined #lisp 2017-03-28T10:35:38Z jfb4 joined #lisp 2017-03-28T10:36:04Z Beetny joined #lisp 2017-03-28T10:40:45Z okflo` joined #lisp 2017-03-28T10:41:48Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-28T10:42:04Z bpanthi joined #lisp 2017-03-28T10:42:37Z mazoe joined #lisp 2017-03-28T10:44:06Z okflo quit (Ping timeout: 240 seconds) 2017-03-28T10:44:52Z astronavt[m] joined #lisp 2017-03-28T10:44:52Z RichardPaulBck[m joined #lisp 2017-03-28T10:44:55Z harlequin78[m] joined #lisp 2017-03-28T10:44:56Z Jach[m] joined #lisp 2017-03-28T10:44:58Z zzkt[m] joined #lisp 2017-03-28T10:45:04Z thorondor[m] joined #lisp 2017-03-28T10:56:29Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-28T11:00:41Z EvW joined #lisp 2017-03-28T11:03:43Z bpanthi quit (Quit: bpanthi) 2017-03-28T11:04:02Z m00natic quit (Remote host closed the connection) 2017-03-28T11:06:23Z thecha quit (Ping timeout: 258 seconds) 2017-03-28T11:12:44Z m00natic joined #lisp 2017-03-28T11:13:45Z milanj_ joined #lisp 2017-03-28T11:15:28Z milanj quit (Ping timeout: 256 seconds) 2017-03-28T11:20:21Z BitPuffin|osx joined #lisp 2017-03-28T11:21:35Z thecha joined #lisp 2017-03-28T11:22:28Z Lord_of_Life joined #lisp 2017-03-28T11:27:23Z ttt72 joined #lisp 2017-03-28T11:29:36Z Einwq joined #lisp 2017-03-28T11:30:28Z pjb joined #lisp 2017-03-28T11:30:36Z pjb is now known as Guest28143 2017-03-28T11:35:06Z carlosdagos quit (Ping timeout: 240 seconds) 2017-03-28T11:35:18Z Guest28143 quit (Ping timeout: 256 seconds) 2017-03-28T11:36:36Z tenawa joined #lisp 2017-03-28T11:37:52Z ttt72 quit (Quit: ttt72) 2017-03-28T11:38:54Z ttt72 joined #lisp 2017-03-28T11:39:07Z flak joined #lisp 2017-03-28T11:40:31Z carlosdagos joined #lisp 2017-03-28T11:41:27Z rippa quit (Ping timeout: 240 seconds) 2017-03-28T11:42:40Z pjb` joined #lisp 2017-03-28T11:43:19Z pjb` quit (Client Quit) 2017-03-28T11:43:37Z tenawa quit (Quit: Leaving) 2017-03-28T11:44:05Z pjb` joined #lisp 2017-03-28T11:45:48Z Beetny quit (Ping timeout: 240 seconds) 2017-03-28T11:45:58Z pjb` is now known as pjb 2017-03-28T11:46:18Z sfa joined #lisp 2017-03-28T11:47:05Z sfa quit (Client Quit) 2017-03-28T11:52:56Z thecha quit (Quit: Verlassend) 2017-03-28T11:57:09Z flak quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-28T11:57:27Z rippa joined #lisp 2017-03-28T11:58:31Z phoe quit (Quit: leaving) 2017-03-28T11:58:49Z mrottenkolber joined #lisp 2017-03-28T11:59:06Z EvW quit (Ping timeout: 256 seconds) 2017-03-28T12:01:22Z ttt72 quit (Quit: ttt72) 2017-03-28T12:01:29Z rpg joined #lisp 2017-03-28T12:01:48Z ttt72 joined #lisp 2017-03-28T12:01:54Z ttt72 quit (Remote host closed the connection) 2017-03-28T12:02:50Z Lord_of_Life quit (Excess Flood) 2017-03-28T12:02:58Z Lord_of_Life joined #lisp 2017-03-28T12:03:03Z jameser joined #lisp 2017-03-28T12:04:39Z easye: My mind boggles that I ever thought that XML was "sort of like an s-expr with named parentheses". 2017-03-28T12:05:27Z pjb: Well, sort of. But having such a complex syntax vs. the simplicity of parenthesed lists makes a big deal. 2017-03-28T12:06:11Z scymtym quit (Ping timeout: 258 seconds) 2017-03-28T12:06:50Z scymtym joined #lisp 2017-03-28T12:07:49Z carlosdagos quit (Ping timeout: 260 seconds) 2017-03-28T12:08:14Z easye: Yeah, I'm also wondering how we ever swallowed the "XML has a human editable syntax koolaid". My mind has trouble reading even 30 lines XML files. 2017-03-28T12:08:39Z easye: "trouble reading" meaning keeping track of what is nesting what. 2017-03-28T12:09:51Z easye: I guess I really used XML more pre-2006, which is when I really discovered Common Lisp. 2017-03-28T12:14:25Z d4ryus2 joined #lisp 2017-03-28T12:14:44Z EvW1 joined #lisp 2017-03-28T12:15:24Z yaewa quit (Quit: Leaving...) 2017-03-28T12:15:43Z moei joined #lisp 2017-03-28T12:17:46Z d4ryus1 quit (Ping timeout: 264 seconds) 2017-03-28T12:20:28Z sjl quit (Ping timeout: 240 seconds) 2017-03-28T12:20:34Z nowhere_man joined #lisp 2017-03-28T12:25:54Z psacrifice quit (Remote host closed the connection) 2017-03-28T12:28:10Z pjb: easye: well, human editable is vs. binary ASN.1 2017-03-28T12:28:23Z easye: Sure. Agreed. 2017-03-28T12:29:43Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-28T12:33:50Z TDT joined #lisp 2017-03-28T12:35:00Z rpg quit (Ping timeout: 260 seconds) 2017-03-28T12:36:01Z ryanwatkins joined #lisp 2017-03-28T12:49:48Z rumbler31 joined #lisp 2017-03-28T12:53:55Z daviid joined #lisp 2017-03-28T12:55:04Z Harag quit (Ping timeout: 260 seconds) 2017-03-28T12:55:54Z shdeng quit (Quit: Leaving) 2017-03-28T13:05:59Z didi joined #lisp 2017-03-28T13:08:55Z scymtym_ joined #lisp 2017-03-28T13:08:57Z scymtym quit (Remote host closed the connection) 2017-03-28T13:09:43Z didi: I have an external process which consumes a file with lots of configuration options. I am constructing this file on-the-fly. It doesn't feel feasible to write every option as a &key parameter of a function. I am thinking of passing these parameters as an alist. Is there a better way? 2017-03-28T13:10:26Z easye: didi: Use a JSON library, so non-lispers can easily edit the configuration? If you don't mind the QUICKLOAD dependency. 2017-03-28T13:11:03Z didi: easye: Nah, it is only for me. Also, the file has a format already. I am writing it as the external process expects it. 2017-03-28T13:11:13Z flip214: didi: or do a quick (LOOP for key = (read file) for value = (read file) collect (cons key value)) to provide some "standard" config file format. 2017-03-28T13:11:30Z flip214: (yes, the reader needs to have "#" set as comment character, etc.. see safe reading guidelines.) 2017-03-28T13:11:51Z didi: There is already a file format. The file format the external process expects. I am writing the file so the external process can process it. 2017-03-28T13:11:56Z flip214: didi: oh, in that case, just pass in an alist, a plist, a hash-table, or whatever is nice to build. 2017-03-28T13:12:28Z didi: flip214: This is the question. What is nicer? 2017-03-28T13:12:31Z easye: Rule of thumb: plist and alist are fine for < 100 element collections on modern hardware. 2017-03-28T13:12:44Z didi: easye: oic 2017-03-28T13:12:48Z flip214: didi: whatever is "more natural" for building. 2017-03-28T13:12:56Z easye: I always use ALEXANDRIA:mumble to manipulate. 2017-03-28T13:12:57Z didi: flip214: Thanks. 2017-03-28T13:13:06Z didi: easye: I will look into it. Thanks. 2017-03-28T13:13:08Z flip214: if you can guarantee there's no duplicate, alist/plist are fine too. 2017-03-28T13:13:16Z didi likes alists 2017-03-28T13:13:30Z jackdaniel: mumble? never used it 2017-03-28T13:13:54Z EvW1 quit (Ping timeout: 256 seconds) 2017-03-28T13:14:18Z easye: jackdaniel: (setf (symbol-macro 'mumble) "Whatever alist/plist/hashtable conversion you need") 2017-03-28T13:14:30Z jdz: flip214: alists/plists are even better if there are duplicates. 2017-03-28T13:14:41Z jdz: Better than hash-tables that is. 2017-03-28T13:14:47Z jackdaniel: ah, OK 2017-03-28T13:15:41Z jdz: Maybe not for generating external configuration, though. 2017-03-28T13:16:35Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-03-28T13:17:29Z flip214: jdz: not if the external tool doesn't expect it, and/or will behave surprisingly. taking the first/last value, _all_ values (accumulating as a list?), etc. 2017-03-28T13:20:57Z psacrifice joined #lisp 2017-03-28T13:21:28Z attila_lendvai joined #lisp 2017-03-28T13:21:28Z attila_lendvai quit (Changing host) 2017-03-28T13:21:28Z attila_lendvai joined #lisp 2017-03-28T13:25:25Z ryanwatkins quit (Ping timeout: 260 seconds) 2017-03-28T13:29:31Z ekinmur joined #lisp 2017-03-28T13:30:43Z yrk joined #lisp 2017-03-28T13:30:50Z jerme joined #lisp 2017-03-28T13:31:21Z Harag joined #lisp 2017-03-28T13:31:23Z yrk quit (Changing host) 2017-03-28T13:31:23Z yrk joined #lisp 2017-03-28T13:33:54Z DeadTrickster joined #lisp 2017-03-28T13:38:01Z Harag quit (Ping timeout: 260 seconds) 2017-03-28T13:38:20Z warweasle joined #lisp 2017-03-28T13:38:52Z cromachina quit (Read error: Connection reset by peer) 2017-03-28T13:41:06Z shifty quit (Ping timeout: 256 seconds) 2017-03-28T13:41:07Z attila_lendvai quit (Quit: Leaving.) 2017-03-28T13:41:53Z attila_lendvai joined #lisp 2017-03-28T13:41:53Z attila_lendvai quit (Changing host) 2017-03-28T13:41:53Z attila_lendvai joined #lisp 2017-03-28T13:53:15Z strelox joined #lisp 2017-03-28T13:55:12Z dec0n quit (Read error: Connection reset by peer) 2017-03-28T13:56:02Z marvin2 joined #lisp 2017-03-28T13:56:13Z loke___ joined #lisp 2017-03-28T13:57:24Z didi: Is there a better way to print a list a conses with format than first transforming it to a list of lists as in https://paste.debian.net/hidden/3903613a ? 2017-03-28T14:00:07Z phoe_: I have a request for a final review of my paper for ELS. https://cdn.discordapp.com/attachments/151825028009164800/296282222066139156/clus.pdf 2017-03-28T14:00:31Z didi: Hum, according to the manual, a plist might be easier to manipulate with format. 2017-03-28T14:01:02Z phoe_: didi: mostly because it's easier to iterate through a plist, just by cdr. 2017-03-28T14:01:03Z flip214: phoe_: feedback to the given mail address? 2017-03-28T14:01:15Z elinux quit (Quit: Leaving) 2017-03-28T14:01:20Z phoe_: ~{~A: ~A, ~} more or less 2017-03-28T14:01:24Z phoe_: flip214: or to me on IRC. 2017-03-28T14:01:49Z Karl_Dscc quit (Remote host closed the connection) 2017-03-28T14:01:58Z flip214: phoe_: a simple okay on IRC, longer feedback as email. 2017-03-28T14:02:00Z beach: didi: (loop for (x y) on list by #'cddr do... 2017-03-28T14:02:15Z phoe_: flip214: yes please. thanks! 2017-03-28T14:03:35Z didi: beach: But I mean, apparently I can use "~{ <~S,~S>~}." to print a plist using format. 2017-03-28T14:04:08Z carlosdagos joined #lisp 2017-03-28T14:04:12Z didi: I can't find a similar construction to print an alist. 2017-03-28T14:04:15Z beach: didi: Ah, Sorry, misunderstood. 2017-03-28T14:04:20Z didi: :-) 2017-03-28T14:04:35Z prole joined #lisp 2017-03-28T14:05:09Z burtons joined #lisp 2017-03-28T14:05:47Z didi *afk* 2017-03-28T14:06:43Z flip214: okay, email it is. 2017-03-28T14:06:50Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-28T14:07:54Z pjb: phoe_: if you have to print conses a lot, then write a formatter function: (format t "~{~/p:cons/~^ ~}" a-list) 2017-03-28T14:08:06Z phoe_: pjb: I see. 2017-03-28T14:08:12Z phoe_: didi: ^ 2017-03-28T14:08:30Z pjb: Sorry, yes didi: ^ 2017-03-28T14:08:31Z flip214: didi: beach suggested that I volunteer for next years' ELS, as a sub-reviewer of drafts or so. Would that help be appreciated? 2017-03-28T14:08:35Z carlosdagos quit (Ping timeout: 240 seconds) 2017-03-28T14:09:53Z ryanwatkins joined #lisp 2017-03-28T14:10:05Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-28T14:10:16Z l04m33 quit (Remote host closed the connection) 2017-03-28T14:11:55Z EvW joined #lisp 2017-03-28T14:15:31Z rpg joined #lisp 2017-03-28T14:16:01Z l04m33 joined #lisp 2017-03-28T14:16:57Z Bike joined #lisp 2017-03-28T14:17:58Z sjl joined #lisp 2017-03-28T14:20:33Z feidan joined #lisp 2017-03-28T14:22:37Z ghostnewbis joined #lisp 2017-03-28T14:23:04Z yeticry joined #lisp 2017-03-28T14:23:42Z ghostnewbis: hi 2017-03-28T14:24:51Z beach: Hello ghostnewbis. 2017-03-28T14:25:14Z Kundry_Wag_ joined #lisp 2017-03-28T14:25:48Z yeticry_ quit (Ping timeout: 240 seconds) 2017-03-28T14:26:43Z ekinmur quit (Read error: Connection reset by peer) 2017-03-28T14:26:51Z ekinmur_ joined #lisp 2017-03-28T14:27:00Z Kundry_Wag quit (Ping timeout: 256 seconds) 2017-03-28T14:29:49Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-28T14:30:26Z feidan quit 2017-03-28T14:31:19Z strelox quit (Ping timeout: 268 seconds) 2017-03-28T14:31:51Z scymtym_ quit (Ping timeout: 258 seconds) 2017-03-28T14:32:09Z Karl_Dscc joined #lisp 2017-03-28T14:32:28Z tumdum quit (Ping timeout: 240 seconds) 2017-03-28T14:32:35Z didi: pjb: Thank you. I don't think this occur much to me; this just happened because I am choosing between configuration argument formats. I think I will pick a plist because it is easier to print it to the format I need using FORMAT. 2017-03-28T14:33:04Z l04m33 quit (Ping timeout: 260 seconds) 2017-03-28T14:33:22Z didi: flip214: I don't know... I am not involved with ELS. But I like you, if this helps. :-) 2017-03-28T14:34:41Z tumdum joined #lisp 2017-03-28T14:34:41Z tumdum quit (Changing host) 2017-03-28T14:34:41Z tumdum joined #lisp 2017-03-28T14:38:44Z maarhart joined #lisp 2017-03-28T14:38:52Z l04m33 joined #lisp 2017-03-28T14:41:23Z maarhart quit (Client Quit) 2017-03-28T14:41:26Z didi: Ah, crap. The attributes are case-sensitive, so I can't simply (format "~A" :foo). :-( 2017-03-28T14:41:44Z milanj_ quit (Quit: This computer has gone to sleep) 2017-03-28T14:42:26Z didi: They seem to be all downcased. Can I force FORMAT to print them downcased? 2017-03-28T14:42:26Z jdz: But you can use ~( to case-convert. 2017-03-28T14:42:34Z jdz: clhs ~( 2017-03-28T14:42:36Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/22_cha.htm 2017-03-28T14:42:39Z didi: Ah, cool. Thank you, jdz. 2017-03-28T14:53:36Z l04m33 quit (Ping timeout: 260 seconds) 2017-03-28T14:57:02Z EvW quit (Ping timeout: 256 seconds) 2017-03-28T14:58:25Z shaftoe: compiling new version of sbcl, happy times 2017-03-28T14:58:49Z didi: So I have a repeating format control and thought: "I should call format inside a format." Then I remembered Xach's post about format. Finally I discovered ~@?. Nice. 2017-03-28T14:59:51Z l04m33 joined #lisp 2017-03-28T15:00:42Z Xach: I use ~{~} for that sometimes 2017-03-28T15:02:12Z ekinmur_ quit (Read error: Connection reset by peer) 2017-03-28T15:02:17Z didi: :-) 2017-03-28T15:02:41Z ekinmur joined #lisp 2017-03-28T15:04:50Z carlosdagos joined #lisp 2017-03-28T15:08:03Z jdz: ~{~^, ~} is very nice. 2017-03-28T15:08:29Z didi: Hum. No ~A or ~S inside it? 2017-03-28T15:08:42Z jdz: I just had a use for ~:{~A: ~A~:^, ~} yesterday. 2017-03-28T15:08:48Z didi: Ah, OK. 2017-03-28T15:09:01Z didi: Mine: "~{~(~A~)=~A~^, ~}" 2017-03-28T15:09:15Z jdz: Yes, looks about right. 2017-03-28T15:09:49Z carlosdagos quit (Ping timeout: 260 seconds) 2017-03-28T15:13:43Z vlatkoB_ quit (Remote host closed the connection) 2017-03-28T15:14:57Z vlatkoB joined #lisp 2017-03-28T15:15:26Z ekinmur quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-28T15:19:03Z snits left #lisp 2017-03-28T15:20:03Z snits joined #lisp 2017-03-28T15:22:53Z okflo` left #lisp 2017-03-28T15:23:55Z drewc quit (Ping timeout: 246 seconds) 2017-03-28T15:32:59Z rogersm joined #lisp 2017-03-28T15:33:44Z loke___ quit (Ping timeout: 260 seconds) 2017-03-28T15:36:24Z drewc joined #lisp 2017-03-28T15:38:21Z Lord_of_Life quit (Excess Flood) 2017-03-28T15:39:35Z maarhart joined #lisp 2017-03-28T15:39:35Z john2x quit (Ping timeout: 240 seconds) 2017-03-28T15:41:38Z Baggers joined #lisp 2017-03-28T15:41:58Z Lord_of_Life joined #lisp 2017-03-28T15:42:12Z maarhart quit (Client Quit) 2017-03-28T15:49:06Z Karl_Dscc quit (Remote host closed the connection) 2017-03-28T15:50:18Z p_l: Hey, is anyone working on HTTP2 implementation? 2017-03-28T15:50:21Z didi: I suddenly realized that instead of repeating a bunch of arguments down a stack of functions I can simply pass a thunk. 2017-03-28T15:53:26Z flip214: didi: *print-case 2017-03-28T15:53:32Z flip214: didi: *print-case* or similar is available too, IIRC. 2017-03-28T15:56:09Z didi: flip214: Thank you 2017-03-28T15:56:38Z phoe_ quit (Quit: Page closed) 2017-03-28T15:56:42Z rogersm quit (Quit: rogersm) 2017-03-28T15:58:29Z flip214: beach: I seem to have gotten the wrong person here. I'm sorry, would you please repeat who I should ask? Thank you. 2017-03-28T15:58:57Z beach: About ELS? 2017-03-28T15:59:08Z beach: Didier Verna. He does not hang out here. 2017-03-28T16:00:39Z milanj_ joined #lisp 2017-03-28T16:01:00Z easye: He hangs out at ELS. 2017-03-28T16:02:12Z shaftoe: p_l: ask dexador auth for http2 support ;) 2017-03-28T16:02:29Z p_l: shaftoe: ? 2017-03-28T16:02:41Z flip214: beach: ah, thanks. was confused about the "di.di" nick here, then ;) 2017-03-28T16:03:28Z p_l: ahh, I see fukamachi has been busy 2017-03-28T16:04:19Z psacrifice quit 2017-03-28T16:07:03Z iago_ joined #lisp 2017-03-28T16:07:05Z burtons quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-28T16:07:50Z Einwq quit (Quit: Leaving) 2017-03-28T16:08:14Z wedesoft joined #lisp 2017-03-28T16:08:18Z wedesoft quit (Read error: Connection reset by peer) 2017-03-28T16:12:40Z shka_ joined #lisp 2017-03-28T16:14:06Z mazoe quit (Ping timeout: 240 seconds) 2017-03-28T16:18:21Z damke joined #lisp 2017-03-28T16:18:27Z nirved quit (Quit: Leaving) 2017-03-28T16:19:21Z defaultxr joined #lisp 2017-03-28T16:21:22Z o1e9 quit (Quit: Ex-Chat) 2017-03-28T16:21:33Z iago_ quit (Quit: Leaving) 2017-03-28T16:22:49Z iago_ joined #lisp 2017-03-28T16:22:57Z vlnx quit (Ping timeout: 240 seconds) 2017-03-28T16:24:49Z vlnx joined #lisp 2017-03-28T16:26:33Z shaftoe: author i mean 2017-03-28T16:27:48Z p_l: shaftoe: HTTP2 is wildly different protocol, though 2017-03-28T16:28:14Z p_l somehow tends to think of symbolics network streams when it comes to implement it 2017-03-28T16:28:40Z p_l: something that probably would be rather slower than fukamachi's mad code 2017-03-28T16:29:37Z Amplituhedron joined #lisp 2017-03-28T16:30:08Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-28T16:31:29Z shka_: websockets? 2017-03-28T16:31:36Z pjb` joined #lisp 2017-03-28T16:32:50Z EvW joined #lisp 2017-03-28T16:33:02Z iago_ is now known as iago 2017-03-28T16:33:55Z p_l: shka_: websockets are rather orthogonal to HTTP2, not sure if they even can run over HTTP2 2017-03-28T16:34:28Z shka_: right, i heard about fukamachi mad code and somehow websockets came to my mind 2017-03-28T16:34:36Z p_l: :) 2017-03-28T16:34:39Z Amplituhedron quit (Ping timeout: 268 seconds) 2017-03-28T16:34:44Z p_l: shka_: I'm interested because of gRPC 2017-03-28T16:34:59Z shka_: right 2017-03-28T16:35:18Z shka_: honestly? 2017-03-28T16:35:23Z shka_: use Thrift 2017-03-28T16:40:44Z EvW quit (Ping timeout: 256 seconds) 2017-03-28T16:40:48Z hhdave quit (Ping timeout: 240 seconds) 2017-03-28T16:40:54Z trupanka joined #lisp 2017-03-28T16:41:04Z trupanka quit (Client Quit) 2017-03-28T16:41:43Z pebblexe joined #lisp 2017-03-28T16:42:43Z p_l: shka_: ... nope 2017-03-28T16:42:44Z p_l: NOPE 2017-03-28T16:42:48Z p_l: NOPENOPENOPENOPENOPE 2017-03-28T16:42:56Z p_l: I did that mistake once in production, never more 2017-03-28T16:43:02Z shka_: hehe 2017-03-28T16:43:30Z p_l: Thrift is so half-arsed solution that I think it's even worse than plain Protocol Buffer old-style services 2017-03-28T16:44:40Z Balooga joined #lisp 2017-03-28T16:45:03Z scymtym joined #lisp 2017-03-28T16:45:24Z p_l: it's definitely worse than ONC-RPC (the stuff that NFS uses) 2017-03-28T16:45:56Z p_l: on pretty much every axis, even, which is crazy 2017-03-28T16:46:03Z Amplituhedron joined #lisp 2017-03-28T16:46:42Z p_l: so, no, Thrift is never the answer. It might be a question, but remember that wizards are quick to anger and you're crunchy with ketchup 2017-03-28T16:46:45Z nowhere_man joined #lisp 2017-03-28T16:49:00Z shka_: ;-) 2017-03-28T16:49:08Z sjl quit (Ping timeout: 240 seconds) 2017-03-28T17:00:06Z didi: I run external processes in my program with `sb-ext:run-program'. I want to be somewhat more generic. Should I use `uiop/run-program:run-program' instead? 2017-03-28T17:01:46Z easye: didi: yes. 2017-03-28T17:02:14Z didi: easye: Thank you. 2017-03-28T17:04:50Z m00natic quit (Remote host closed the connection) 2017-03-28T17:05:37Z carlosdagos joined #lisp 2017-03-28T17:06:18Z burtons joined #lisp 2017-03-28T17:08:27Z Karl_Dscc joined #lisp 2017-03-28T17:11:16Z carlosdagos quit (Ping timeout: 260 seconds) 2017-03-28T17:14:46Z didi quit (Ping timeout: 258 seconds) 2017-03-28T17:15:47Z al-damiri joined #lisp 2017-03-28T17:18:31Z pjb is now known as Guest77402 2017-03-28T17:18:58Z pjb` is now known as pjb 2017-03-28T17:19:16Z marvin2 quit (Ping timeout: 256 seconds) 2017-03-28T17:21:00Z sword joined #lisp 2017-03-28T17:21:36Z sjl joined #lisp 2017-03-28T17:26:48Z pebblexe: is there an easy way to use keywords and lists? Something like (get-or-something? :hello '(:asdf 1 :hello 2 :bye 3)) -> 2 2017-03-28T17:28:44Z oleo joined #lisp 2017-03-28T17:34:51Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-28T17:35:14Z axion: getf? 2017-03-28T17:35:33Z iago: pebblexe: why not use hashmaps ? 2017-03-28T17:38:46Z Amplituhedron quit (Quit: Konversation terminated!) 2017-03-28T17:39:06Z pebblexe: axion: getf doesn't seem to work, I get The value :ASDF is not of the expected type (SATISFIES CCL::PLISTP). 2017-03-28T17:39:18Z emaczen quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-28T17:39:18Z pebblexe: iago: a hashmap? you mean a hashtable? 2017-03-28T17:39:23Z iago: yes 2017-03-28T17:39:54Z axion: pebblexe: use a paste service and show us what you are trying 2017-03-28T17:39:58Z pebblexe: iago: yeah I was thinking of that, but I only have a few elements and thought it might overkill 2017-03-28T17:40:02Z axion: http://paste.lisp.org 2017-03-28T17:40:28Z pebblexe: axion: it's something I'm just thinking about, I don't have good example code at the moment. Still trying to think about how do it. 2017-03-28T17:40:41Z jasom: pebblexe: looks liek you have the arguments reversed 2017-03-28T17:41:09Z axion: pebblexe: (getf '(:asdf 1 :hello 2 :bye 3) :hello) => 2 2017-03-28T17:41:23Z jasom: (getf '(:foo 1 :bar 2) :foo) ;=> 1 2017-03-28T17:41:24Z pebblexe: jasom: you're right! 2017-03-28T17:41:40Z pebblexe: my bad 2017-03-28T17:42:14Z jasom: pebblexe: if you use slime it shows you the arguments as you type which is useful. I think assoc is reversed from getf for historical reasons... 2017-03-28T17:42:48Z jasom: a plist is a list of alternating keys and values where the keys are symbols 2017-03-28T17:43:11Z jasom: an alist is a list of key/value cons cells, where you can use custom tests for the keys. 2017-03-28T17:43:41Z jasom: then there are hash-tables, which have better asymptotic complexity, plus they carry with them which equality test they use. 2017-03-28T17:45:31Z iago: with plists if the keyword is duplicated you get the first one or it's undefined ? 2017-03-28T17:47:52Z Karl_Dscc quit (Remote host closed the connection) 2017-03-28T17:47:53Z blackwolf joined #lisp 2017-03-28T17:48:59Z Bike: the first one. 2017-03-28T17:49:32Z oleo quit (Read error: Connection reset by peer) 2017-03-28T17:50:09Z moei quit (Quit: Leaving...) 2017-03-28T17:50:19Z jasom: with both plists and alists it's the first one 2017-03-28T17:50:47Z jasom: so they can be used as a poor-mans functional data structure, since consing is non-destructive 2017-03-28T17:52:54Z phoe joined #lisp 2017-03-28T17:56:16Z Lord_of_Life quit (Excess Flood) 2017-03-28T17:56:57Z oleo joined #lisp 2017-03-28T17:57:58Z Lord_of_Life joined #lisp 2017-03-28T17:59:38Z carlosdagos joined #lisp 2017-03-28T17:59:54Z neoncontrails quit (Read error: Connection reset by peer) 2017-03-28T18:00:48Z neoncontrails joined #lisp 2017-03-28T18:01:19Z vydd joined #lisp 2017-03-28T18:02:36Z Lord_of_Life quit (Excess Flood) 2017-03-28T18:04:38Z carlosda1 joined #lisp 2017-03-28T18:05:57Z carlosdagos quit (Ping timeout: 240 seconds) 2017-03-28T18:06:11Z pebblexe: can someone help me with an optima issue? I can't seem to use a function to generate the matching statement https://gist.github.com/pebblexe/afc2a76b0f7e903b419926f973a8a728 2017-03-28T18:07:34Z jasom: pebblexe: you want a guard expression for that 2017-03-28T18:08:04Z pebblexe: jasom: thanks! 2017-03-28T18:08:21Z jasom: (guard x (eql x (getf msg-type :subscribed))) 2017-03-28T18:09:56Z jasom: pebblexe: or you could do (optima:match (getf (reverse msg-type) message-type) (:subscribed ... 2017-03-28T18:10:41Z jasom: or, if you ensure that msg-type is already defined at read-time you can do (optima:match (#.(getf msg-type :subscribed) ... 2017-03-28T18:10:56Z jasom: TIMTOWTDI 2017-03-28T18:11:00Z pebblexe: jasom: thanks! 2017-03-28T18:11:26Z pebblexe: is that last one a compile time call or something? I've never seen #. 2017-03-28T18:11:49Z jasom: #.FOO evaluates FOO at read-time and reads in as the result of the evaluation 2017-03-28T18:12:06Z jasom: (read-from-string "#.(+ 1 2)") ;=> 3 2017-03-28T18:13:53Z phoe: (read-from-string "#.(format t \"This is a read-time side effect\")") 2017-03-28T18:14:19Z jasom: pebblexe: if you put the defvar of msg-type in a different file that the file you use it in, and make sure there is a dependency in the .asd file, then you can safely use it at read-time. 2017-03-28T18:15:02Z jasom: of course if all you are doing in optima:match is checking for integers, then you can use cl:case instead. 2017-03-28T18:15:04Z drewc quit (Ping timeout: 246 seconds) 2017-03-28T18:15:46Z MoALTz quit (Quit: Leaving) 2017-03-28T18:18:24Z varjag joined #lisp 2017-03-28T18:19:09Z pebblexe: how do I pass a list of stuff to a function? I have (record '(subscribe nonce options-json-dict subscription-topic)) but that's obviously not what I want... how do I pass a list as an argument? 2017-03-28T18:19:33Z Bike: apply 2017-03-28T18:20:03Z pebblexe: Bike: thanks! 2017-03-28T18:27:32Z drewc joined #lisp 2017-03-28T18:30:07Z Karl_Dscc joined #lisp 2017-03-28T18:30:36Z ryanwatkins quit (Ping timeout: 260 seconds) 2017-03-28T18:32:50Z drmeister: If I want to define a class where the :writer and :reader methods maintain a read/write lock (mutex) - how would I specify that? 2017-03-28T18:33:25Z araujo quit (Ping timeout: 260 seconds) 2017-03-28T18:35:09Z araujo joined #lisp 2017-03-28T18:36:38Z edgar-rft quit (Quit: edgar-rft) 2017-03-28T18:38:03Z drmeister: I suppose I could just write functions that do this. 2017-03-28T18:40:01Z moei joined #lisp 2017-03-28T18:49:43Z Baggers left #lisp 2017-03-28T18:50:56Z manualcrank joined #lisp 2017-03-28T18:54:25Z tenawa joined #lisp 2017-03-28T18:59:06Z alsten joined #lisp 2017-03-28T19:00:28Z phoe: drmeister: write your own methods for slots. 2017-03-28T19:00:38Z phoe: I wonder if MOP is capable of doing that. Probably it is. 2017-03-28T19:02:15Z alsten quit (Client Quit) 2017-03-28T19:05:15Z tenawa quit (Remote host closed the connection) 2017-03-28T19:07:20Z varjag: 3.7.1 in amop 2017-03-28T19:10:46Z eudoxia joined #lisp 2017-03-28T19:30:32Z BlueRavenGT joined #lisp 2017-03-28T19:33:47Z dyelar joined #lisp 2017-03-28T19:34:30Z raynold quit (Quit: Connection closed for inactivity) 2017-03-28T19:35:16Z BlueRavenGT quit (Ping timeout: 256 seconds) 2017-03-28T19:36:35Z wheelsucker joined #lisp 2017-03-28T19:36:45Z akkad left #lisp 2017-03-28T19:39:13Z carlosda1 quit (Ping timeout: 260 seconds) 2017-03-28T19:43:36Z shka_: phoe: sure 2017-03-28T19:44:18Z PinealGlandOptic joined #lisp 2017-03-28T19:47:40Z neoncontrails quit (Remote host closed the connection) 2017-03-28T19:49:35Z eudoxia quit (Quit: Leaving) 2017-03-28T19:55:28Z dxtr: What'd be the logical way of repeatedly looping over a list of threads and "join" them until the list is empty? 2017-03-28T19:55:58Z shka_: dxtr: dolist join? :-) 2017-03-28T19:56:07Z shka_: what you are doing anyway? 2017-03-28T19:56:24Z EvW joined #lisp 2017-03-28T19:56:30Z shka_: why do you need those threads? 2017-03-28T19:56:56Z shka_: usually, if you are not using lparallel, you are not doing it right :D 2017-03-28T19:57:03Z shka_ is fanboy 2017-03-28T19:57:08Z Kundry_Wag_ quit (Remote host closed the connection) 2017-03-28T19:57:28Z dlowe: If you want to join threads, doing them synchronously is going to be a lot easier than polling 2017-03-28T19:57:41Z Kundry_Wag joined #lisp 2017-03-28T19:58:05Z dxtr: Yeah I made this before I knew about lparallel (Like.. The other day) and then I thought it would be a good exercise anyway because the program already works 2017-03-28T19:58:08Z dxtr: Now I'm just turd polishing 2017-03-28T19:58:41Z rjid joined #lisp 2017-03-28T19:58:43Z dxtr: dlowe: Synchronously synchronizing tens of thousands of images over the net? No thanks :) 2017-03-28T19:59:04Z jasom: dxtr: (map nil #'thread-join threads) seems fairly concise 2017-03-28T19:59:09Z shka_: yup 2017-03-28T19:59:15Z shka_: don't make this complicated 2017-03-28T19:59:38Z terpri quit (Ping timeout: 256 seconds) 2017-03-28T19:59:55Z rjid left #lisp 2017-03-28T20:00:47Z damke_ joined #lisp 2017-03-28T20:00:49Z dlowe: dxtr: uh, no. joining the threads, not synchronously doing the work 2017-03-28T20:01:02Z dxtr: Oh, right 2017-03-28T20:01:33Z yrk quit (Read error: Connection reset by peer) 2017-03-28T20:01:53Z phoe: dxtr: (mapc #'thread-join threads) 2017-03-28T20:02:04Z Kundry_Wag quit (Ping timeout: 260 seconds) 2017-03-28T20:02:07Z phoe: three characters less 2017-03-28T20:02:20Z dxtr: That's basically what I'm doing now but I thought it could be a neat idea to catch threads that quit prematurely 2017-03-28T20:03:05Z damke quit (Ping timeout: 268 seconds) 2017-03-28T20:03:30Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-28T20:03:38Z dxtr: As I said; this is mostly turd polishing for educational purposes :) 2017-03-28T20:03:50Z dxtr: Everything already works 2017-03-28T20:04:04Z phoe: dxtr: why catch threads that quit prematurely? some kind of counter, or...? 2017-03-28T20:05:18Z phoe: you could periodically (remove-if-not #'thread-alive-p threads) - but then again, bt:join-thread does not offer any kind of timeout after which it stops waiting for the threads. 2017-03-28T20:05:32Z milanj__ joined #lisp 2017-03-28T20:05:34Z phoe: so either mapc #'join-thread, or writing your own loop that's more or less busy. 2017-03-28T20:05:47Z dxtr: phoe: Function: join-thread [sb-thread] thread &key default timeout 2017-03-28T20:06:03Z dxtr: If thread does not exit within timeout seconds and default is supplied, return two values: 1) default 2) :timeout. If default is not supplied, signal a join-thread-error with join-thread-problem equal to :timeout 2017-03-28T20:06:12Z dxtr: Am I misunderstanding something? 2017-03-28T20:06:35Z ghostnewbis quit (Ping timeout: 240 seconds) 2017-03-28T20:07:01Z phoe: dxtr: ooh, wait 2017-03-28T20:07:04Z phoe: sorry 2017-03-28T20:07:08Z phoe: you're not using bordeaux-threads 2017-03-28T20:07:19Z dxtr: No I am not :p 2017-03-28T20:07:22Z phoe: in this case, disregard what I said, there is a timeout. 2017-03-28T20:07:26Z dxtr: haha 2017-03-28T20:07:29Z wedesoft joined #lisp 2017-03-28T20:07:46Z milanj_ quit (Ping timeout: 246 seconds) 2017-03-28T20:07:53Z vlatkoB quit (Remote host closed the connection) 2017-03-28T20:08:03Z phoe: and you can write your own little loop. 2017-03-28T20:08:11Z judododo joined #lisp 2017-03-28T20:08:14Z dxtr: Yeah I haven't written many lines of lisp in my days so I don't know any of these fancy libraries 2017-03-28T20:08:18Z judododo quit (Client Quit) 2017-03-28T20:09:12Z dxtr: phoe: My question was basically what the most idiomatic way to write such a loop would be 2017-03-28T20:09:32Z dxtr: I already got crapped on for writing nested defuns :D 2017-03-28T20:10:01Z mrottenkolber quit (Ping timeout: 260 seconds) 2017-03-28T20:10:47Z phoe: dxtr: dunno, (loop with threads = (copy-list some-threads) do (mapc (rcurry #'join-thread :default nil :timeout 1) threads) (setf threads (delete-if-not #'thread-alive-p threads)) if (null threads) return t) 2017-03-28T20:10:51Z phoe: something like that mayhaps 2017-03-28T20:10:51Z dxtr: I was like "common lisp! Y u no scheme!?" 2017-03-28T20:11:29Z andrzejk_ joined #lisp 2017-03-28T20:11:43Z dxtr: IRC doesn't do embedded images, but you know what I mean 2017-03-28T20:11:47Z phoe: yes, I do 2017-03-28T20:11:51Z dxtr: :P 2017-03-28T20:12:41Z flip214: phoe: ~10 mins for the last 3 pages, or 2017-03-28T20:12:43Z flip214: so 2017-03-28T20:12:52Z dxtr: On the upside I got to write lisp for work 2017-03-28T20:13:25Z phoe: flip214: gasp! thanks! 2017-03-28T20:13:38Z phoe: I'll be able to incorporate your fixes. 2017-03-28T20:16:04Z PinealGlandOptic quit (Ping timeout: 260 seconds) 2017-03-28T20:17:07Z flip214: hooray! 2017-03-28T20:17:20Z flip214: "gasp"? is that so unexpected? 2017-03-28T20:19:31Z phoe: I wasn't sure 2017-03-28T20:19:33Z phoe: and now I am 2017-03-28T20:24:39Z flip214: phoe: mail gone 2017-03-28T20:24:47Z phoe: Wow! Thanks! 2017-03-28T20:24:51Z flip214: you're welcome. 2017-03-28T20:24:56Z phoe: I'll munch on them in an hour or two. 2017-03-28T20:25:05Z flip214: is that still "today"? ;) 2017-03-28T20:25:19Z phoe: Today enough for the US, which is where the programme chair for ELS is located. 2017-03-28T20:29:52Z ryanwatkins joined #lisp 2017-03-28T20:30:16Z BeepBeep joined #lisp 2017-03-28T20:30:36Z BeepBeep left #lisp 2017-03-28T20:34:51Z carlosda1 joined #lisp 2017-03-28T20:35:23Z Balooga quit (Remote host closed the connection) 2017-03-28T20:36:08Z pve quit (Ping timeout: 260 seconds) 2017-03-28T20:39:28Z carlosda1 quit (Ping timeout: 268 seconds) 2017-03-28T20:53:52Z sz0 joined #lisp 2017-03-28T20:56:36Z Mr_Tea joined #lisp 2017-03-28T21:01:15Z zagura joined #lisp 2017-03-28T21:02:21Z aeth: flip214: date -u -Iminutes 2017-03-28T21:02:23Z aeth: "2017-03-28T21:01+00:00" 2017-03-28T21:02:30Z aeth: phoe has 3 hours 2017-03-28T21:02:51Z zagura left #lisp 2017-03-28T21:03:05Z jasom: Very rough, partial draft of a clack tutorial: https://jasom.github.io/clack-tutorial/pages/getting-started-with-clack/ comments are welcome, either here or via github issues and/or pull requests: https://github.com/jasom/clack-tutorial 2017-03-28T21:03:32Z shifty joined #lisp 2017-03-28T21:07:33Z dxtr: Interesting 2017-03-28T21:07:53Z dxtr: (cl-ppcre:regex-replace "^\s+" " foo" "") returns " foo" and NIL 2017-03-28T21:08:00Z mood: jasom: Why does "Redefining the handler" pass a lambda to clackup, and not just 'handler ? 2017-03-28T21:08:00Z dxtr: :D 2017-03-28T21:08:13Z dxtr: oh 2017-03-28T21:08:14Z dxtr: \\s 2017-03-28T21:08:15Z mejja joined #lisp 2017-03-28T21:09:47Z head|cat joined #lisp 2017-03-28T21:10:17Z aeth: dxtr: Technically, in Scheme, inner defines where legal are translated into the rough equivalent of CL's labels, letrec*, and because it's a Lisp-1 it'll work the same for functions and not-functions. 2017-03-28T21:10:25Z aeth: If I'm reading r7rs.pdf correctly. 2017-03-28T21:11:13Z gingerale quit (Remote host closed the connection) 2017-03-28T21:11:32Z damke_ quit (Ping timeout: 268 seconds) 2017-03-28T21:11:42Z aeth: If you wanted to, you could probably create a defun* that parses inner defun*s that are at the top (up there with docstrings and declarations) as labels. And then act like you're in Scheme. 2017-03-28T21:12:00Z damke_ joined #lisp 2017-03-28T21:12:33Z dxtr: haha 2017-03-28T21:12:40Z aeth: i.e. stop permitting defun* definitions at the first thing that's not a declaration or docstring or defun* 2017-03-28T21:12:46Z aeth: and turn those defun*s into labels 2017-03-28T21:12:53Z BlueRavenGT joined #lisp 2017-03-28T21:13:24Z aeth: You could also add a define-varaible or something, for variables, to turn into let* 2017-03-28T21:13:29Z mood_ joined #lisp 2017-03-28T21:13:40Z dxtr: I don't know about cl but if I remember correctly defun (define?) in scheme is basically syntactic sugar for lambdas 2017-03-28T21:14:15Z Bike: (defun (foo ...arguments...) ...body...) is sugar for (define foo (lambda (...arguments...) ...body...)) 2017-03-28T21:14:28Z dxtr: alright 2017-03-28T21:14:30Z aeth: dxtr: Pretty much everything in Scheme is syntactic sugar for a lambda or a tail recursion 2017-03-28T21:14:42Z aeth: e.g. even lets are lambdas afaik 2017-03-28T21:14:48Z aeth: That's how they get the new lexical scope 2017-03-28T21:14:51Z dxtr: right 2017-03-28T21:14:54Z ryanwatkins quit (Read error: Connection reset by peer) 2017-03-28T21:14:59Z Bike: and yeah, an inner define in scheme is completely different from a lisp inner defun 2017-03-28T21:15:06Z slyrus joined #lisp 2017-03-28T21:15:33Z mejja: scheme is a _lisp_ ... 2017-03-28T21:15:41Z mejja nitpicks 2017-03-28T21:15:57Z dxtr: Scheme is a lisp but it isn't lisp 2017-03-28T21:16:01Z dxtr: Or so I heard 2017-03-28T21:16:38Z dxtr: I didn't dabble too much with schem 2017-03-28T21:16:40Z dxtr: scheme 2017-03-28T21:16:58Z ryanwatkins joined #lisp 2017-03-28T21:18:06Z rumbler31 quit (Ping timeout: 240 seconds) 2017-03-28T21:18:11Z dxtr: It was educational and fun but I didn't continue with it because srfi and everything else around it :p 2017-03-28T21:18:40Z dxtr: If I were to embed a scripting language into a project it'd probably be scheme, though 2017-03-28T21:18:58Z azahi quit (Ping timeout: 264 seconds) 2017-03-28T21:19:30Z aeth: dxtr: I agree completely, which is why I'm making a Scheme in CL so that it's embeddable. 2017-03-28T21:19:50Z aeth: So I'm probably one of the world's leading experts in translating between Scheme and CL at this point :-p 2017-03-28T21:20:12Z aeth: (If few people do something you're doing, you are automatically one of the top at it.) 2017-03-28T21:20:18Z mejja: afaik CL is the poor man's zetalisp 2017-03-28T21:20:23Z dxtr: Are you then going to go full circle and implement CL in your scheme-on-cl implementation? 2017-03-28T21:20:40Z aeth: No, but I am considering going full circle in cl-brainfuck. 2017-03-28T21:20:49Z damke joined #lisp 2017-03-28T21:20:59Z dxtr: right 2017-03-28T21:21:05Z aeth: Hopefully I'll soon at least have arrays (and strings and bytevectors etc) and conses 2017-03-28T21:22:17Z azahi joined #lisp 2017-03-28T21:22:50Z aeth: dxtr: CL on Scheme on CL would be too trivial. 2017-03-28T21:23:44Z dxtr: Is there a library function like string-trim that removes all whitespace, including unicode whitespace, or do I have to resort to cl-ppcre? 2017-03-28T21:23:52Z damke_ quit (Ping timeout: 268 seconds) 2017-03-28T21:23:58Z aeth: I can simply define a "cl" library for cl-scheme, implement all of CL as procedures/macros/etc. in that "cl" library, and then write a similar ability to define CL stuff for a child CL like I can define Scheme stuff for a child Scheme. 2017-03-28T21:24:19Z Bike: CL doesn't know about unicode categories without some extension, no 2017-03-28T21:24:29Z andrzejk_ quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-28T21:25:11Z dxtr: Bike: Which is why I said "library" :) I was hoping there was something like alexandria or uiop that had it. Already looked at those two but didn't find anything 2017-03-28T21:25:55Z dxtr: Thought "library" was broad enough to include non-standard stuff 2017-03-28T21:25:58Z Bike: there is http://weitz.de/cl-unicode/ 2017-03-28T21:26:06Z Bike: but it doesn't come with a whitespace remover that i can see 2017-03-28T21:26:14Z azahi quit (Client Quit) 2017-03-28T21:26:51Z angavrilov quit (Remote host closed the connection) 2017-03-28T21:26:59Z damke_ joined #lisp 2017-03-28T21:28:34Z oystewh joined #lisp 2017-03-28T21:29:22Z quazimodo joined #lisp 2017-03-28T21:29:25Z damke quit (Ping timeout: 268 seconds) 2017-03-28T21:32:07Z SAL9000 quit (Ping timeout: 246 seconds) 2017-03-28T21:33:48Z mejja: Maybe SICL is more upto date visavi unicode? 2017-03-28T21:34:56Z prole quit (Remote host closed the connection) 2017-03-28T21:35:37Z wedesoft quit (Remote host closed the connection) 2017-03-28T21:37:44Z tumdum quit (Ping timeout: 260 seconds) 2017-03-28T21:38:22Z mood_ quit (Quit: Gone.) 2017-03-28T21:38:33Z mood_ joined #lisp 2017-03-28T21:38:43Z jasom: sb-unicode is more up-to-date than cl-unicode 2017-03-28T21:39:07Z jasom: and sb-unicode is about 95% implementation independend (assuming code-points are char-code) 2017-03-28T21:40:09Z Jesin quit (Quit: Leaving) 2017-03-28T21:40:11Z jasom: mood: I'll have to increase my explanation of that 2017-03-28T21:41:25Z jasom: mood: clackup takes a function. #'handler would be the definition of handler at the time you call clackup, (lambda (x) (funcall 'handler x)) will call whatever the current definition of handler is a funcall time 2017-03-28T21:41:48Z jasom: "we call the function by name to allow redefinition" is probably way too terse 2017-03-28T21:45:33Z vlatkoB joined #lisp 2017-03-28T21:45:54Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-28T21:46:33Z damke joined #lisp 2017-03-28T21:47:55Z damke_ quit (Ping timeout: 268 seconds) 2017-03-28T21:48:52Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-28T21:49:16Z shka_ quit (Ping timeout: 246 seconds) 2017-03-28T21:50:01Z damke_ joined #lisp 2017-03-28T21:50:42Z didi joined #lisp 2017-03-28T21:51:08Z vlatkoB quit (Remote host closed the connection) 2017-03-28T21:52:12Z didi: I have a function WRITER that writes to a stream, and a function READER that reads from a string. To connect them, I do (with-input-from-string (in (with-output-to-string (out) (WRITER out))) (READER IN)). Is there a more direct way of connecting them? 2017-03-28T21:52:30Z didi: "reads from a stream*", sorry. 2017-03-28T21:52:51Z damke quit (Ping timeout: 268 seconds) 2017-03-28T21:55:34Z seg quit (Ping timeout: 264 seconds) 2017-03-28T21:56:08Z damke joined #lisp 2017-03-28T21:56:48Z wheelsucker quit (Quit: Client Quit) 2017-03-28T21:58:24Z damke_ quit (Ping timeout: 268 seconds) 2017-03-28T21:58:32Z didi: Uh, Common Lisp the top story of HN. 2017-03-28T21:59:17Z didi: Verbs, where they? 2017-03-28T22:00:27Z daemoz: didi: Awesome, looks like a needed manual. 2017-03-28T22:00:31Z seg joined #lisp 2017-03-28T22:01:25Z blackwolf quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-28T22:01:40Z damke_ joined #lisp 2017-03-28T22:01:57Z troydm quit (Ping timeout: 240 seconds) 2017-03-28T22:02:39Z pjb: didi: if you need a pipe, there's com.informatimago.clext.pipe 2017-03-28T22:02:46Z pjb: For use with threads. 2017-03-28T22:03:29Z pjb: https://www.informatimago.com/develop/lisp/doc/com.informatimago.clext.pipe.html 2017-03-28T22:03:50Z didi: pjb: I think this the logical step, tho I am trying to avoid (maybe unwisely) threads. 2017-03-28T22:04:34Z damke quit (Ping timeout: 268 seconds) 2017-03-28T22:05:06Z pjb: didi: if you can keep the whole string in memory, and if you can wait for the writing to be completed before starting the reading, then you can avoid pipe, and there won't be any easier way to do it using STREAMs. You could avoid streams, and just return the string, and take it as argument. 2017-03-28T22:05:11Z pjb: (reader (writer)). 2017-03-28T22:05:18Z pjb: ^ this is the lisp style. 2017-03-28T22:06:04Z decuser joined #lisp 2017-03-28T22:06:09Z damke joined #lisp 2017-03-28T22:06:22Z attila_lendvai joined #lisp 2017-03-28T22:06:22Z attila_lendvai quit (Changing host) 2017-03-28T22:06:22Z attila_lendvai joined #lisp 2017-03-28T22:06:45Z didi: I can wait. Hum, I might make my WRITER like FORMAT and return a string if the stream is NIL. 2017-03-28T22:07:02Z damke_ quit (Ping timeout: 268 seconds) 2017-03-28T22:07:11Z dxtr: Can I tell sbcl that "No, I don't want to use this variable so don't warn me" 2017-03-28T22:07:23Z dxtr: Or can I only get the second variable with multiple-value-bind? 2017-03-28T22:07:29Z didi: dxtr: (declare (ignore VAR)) 2017-03-28T22:08:16Z pjb: (nth-value 1 expr) 2017-03-28T22:08:16Z attila_lendvai quit (Read error: Connection reset by peer) 2017-03-28T22:08:18Z attila_lendvai1 joined #lisp 2017-03-28T22:08:18Z attila_lendvai1 is now known as attila_lendvai 2017-03-28T22:08:18Z attila_lendvai quit (Changing host) 2017-03-28T22:08:18Z attila_lendvai joined #lisp 2017-03-28T22:08:19Z mood is now known as mood__ 2017-03-28T22:08:24Z mood_ is now known as mood 2017-03-28T22:08:59Z dxtr: Oh yeah, nth-value 2017-03-28T22:10:28Z RedEight joined #lisp 2017-03-28T22:10:56Z RedEight quit (Client Quit) 2017-03-28T22:11:12Z RedEight joined #lisp 2017-03-28T22:11:25Z burtons quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-28T22:12:48Z varjag quit (Ping timeout: 256 seconds) 2017-03-28T22:17:59Z quazimodo quit (Ping timeout: 260 seconds) 2017-03-28T22:18:05Z rumbler31 joined #lisp 2017-03-28T22:18:14Z pebblexe quit (Ping timeout: 260 seconds) 2017-03-28T22:18:58Z carlosda1 joined #lisp 2017-03-28T22:19:39Z ryanwatkins quit (Remote host closed the connection) 2017-03-28T22:20:14Z ryanwatkins joined #lisp 2017-03-28T22:20:25Z MrWoohoo quit (Read error: Connection reset by peer) 2017-03-28T22:21:15Z EvW quit (Remote host closed the connection) 2017-03-28T22:21:28Z drewc quit (Ping timeout: 246 seconds) 2017-03-28T22:22:31Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-28T22:23:56Z SAL9000 joined #lisp 2017-03-28T22:23:58Z vydd quit 2017-03-28T22:28:00Z warweasle` joined #lisp 2017-03-28T22:28:20Z Jesin joined #lisp 2017-03-28T22:28:34Z warweasle quit (Quit: rcirc on GNU Emacs 24.4.1) 2017-03-28T22:28:42Z warweasle` is now known as warweasle 2017-03-28T22:29:53Z EvW1 joined #lisp 2017-03-28T22:32:57Z troydm joined #lisp 2017-03-28T22:34:06Z carlosda1 quit (Ping timeout: 240 seconds) 2017-03-28T22:34:11Z drewc joined #lisp 2017-03-28T22:42:39Z pjb quit (Remote host closed the connection) 2017-03-28T22:45:24Z ryanwatkins quit (Ping timeout: 260 seconds) 2017-03-28T22:48:18Z didi: Is there a reason for PRINT, PRINC and others to behave differently than FORMAT with respect to DESTINATION? i.e. FORMAT returns a string if DESTINATION is NIL but PRINT prints to standard-output. 2017-03-28T22:49:31Z dxtr: I would assume because, surprisingly enough, format is for formatting a string while print (and princ) is for printing strings 2017-03-28T22:49:37Z iago quit (Ping timeout: 260 seconds) 2017-03-28T22:50:38Z didi: I don't see a difference wrt DESTINATION x STREAM. 2017-03-28T22:52:40Z didi: ISTR FORMAT was a late addition to the standard. Maybe that's why? 2017-03-28T22:54:25Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-28T22:54:57Z TMA: PRINT has the stream as an optional parameter; NIL would have different connotation then (as NIL is the default default value of omitted optionals) 2017-03-28T22:55:42Z prxq joined #lisp 2017-03-28T22:55:48Z didi: Sure. But this is stated semantics. It could be something else. 2017-03-28T22:55:57Z TMA has always considered (format nil ...) as a special case anyway 2017-03-28T22:56:23Z dxtr: Well, is there another function that formats strings and returns them? 2017-03-28T22:56:50Z ryanwatkins joined #lisp 2017-03-28T22:58:22Z didi: Not that I know of. 2017-03-28T22:58:24Z dxtr: As I see it formatting a string doesn't imply you (at the same time) want to dump it to a stream while printing something means you want it out somewhere 2017-03-28T22:58:46Z didi: My horse is on historical reasons. 2017-03-28T22:59:01Z pmc joined #lisp 2017-03-28T22:59:32Z dxtr: Yeah, I'm not in a position to talk about historical stuff :p 2017-03-28T22:59:44Z didi: :-) 2017-03-28T23:00:06Z dxtr: Remember Commodore 64? Yeah, I don't 2017-03-28T23:00:08Z TMA: PRINT family return their first argument; that is not useful for FORMAT, a different convention was picked 2017-03-28T23:00:24Z prxq quit (Remote host closed the connection) 2017-03-28T23:00:55Z didi: TMA: HUm. 2017-03-28T23:02:18Z didi: PRINT could eval to the printed version as an string if (null STREAM). 2017-03-28T23:02:31Z didi: As in (format nil ...) 2017-03-28T23:05:24Z decuser quit (Quit: rcirc on GNU Emacs 25.1.1) 2017-03-28T23:05:37Z salva0 quit (Ping timeout: 268 seconds) 2017-03-28T23:06:03Z didi: Anyway, I am writing a function WRITE-OBJECT and I am thinking of copying FORMAT's parameters: (defun write-object (destination object) ...). 2017-03-28T23:14:30Z nrp3c joined #lisp 2017-03-28T23:14:34Z quazimodo joined #lisp 2017-03-28T23:15:38Z jasom: didi: instead you use princ-to-string 2017-03-28T23:16:10Z didi: jasom: Ah, nice. 2017-03-28T23:16:44Z Kundry_Wag joined #lisp 2017-03-28T23:17:29Z warweasle quit (Quit: bbl) 2017-03-28T23:17:53Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-28T23:18:15Z didi: Still, why not follow FORMAT's convention? 2017-03-28T23:18:43Z damke_ joined #lisp 2017-03-28T23:19:19Z mishoo quit (Ping timeout: 258 seconds) 2017-03-28T23:20:08Z cromachina joined #lisp 2017-03-28T23:20:13Z damke__ joined #lisp 2017-03-28T23:20:37Z damke quit (Ping timeout: 246 seconds) 2017-03-28T23:20:52Z nrp3c left #lisp 2017-03-28T23:21:23Z jasom: didi: print is much older than format; other than that I've got nothing 2017-03-28T23:21:33Z didi: jasom: Thank you. 2017-03-28T23:23:30Z damke_ quit (Ping timeout: 268 seconds) 2017-03-28T23:24:32Z Sauvin quit (Read error: Connection reset by peer) 2017-03-28T23:27:24Z bocaneri joined #lisp 2017-03-28T23:27:25Z bocaneri quit (Max SendQ exceeded) 2017-03-28T23:30:00Z aeth: oh wow, the CL story is still at the top 2017-03-28T23:30:24Z damke joined #lisp 2017-03-28T23:30:46Z carlosda1 joined #lisp 2017-03-28T23:30:54Z damke__ quit (Ping timeout: 268 seconds) 2017-03-28T23:31:18Z aeth: (of HN) 2017-03-28T23:31:29Z bocaneri joined #lisp 2017-03-28T23:33:53Z damke_ joined #lisp 2017-03-28T23:35:20Z carlosda1 quit (Ping timeout: 260 seconds) 2017-03-28T23:36:40Z damke quit (Ping timeout: 256 seconds) 2017-03-28T23:40:20Z damke joined #lisp 2017-03-28T23:43:14Z damke_ quit (Ping timeout: 268 seconds) 2017-03-28T23:44:29Z MrWoohoo joined #lisp 2017-03-28T23:46:56Z damke quit (Ping timeout: 268 seconds) 2017-03-28T23:46:59Z damke_ joined #lisp 2017-03-28T23:52:50Z Xach: I always dread those. 2017-03-28T23:53:13Z Xach: I can't bear the "why should i bother" variants 2017-03-28T23:54:20Z damke_ quit (Ping timeout: 268 seconds) 2017-03-28T23:54:50Z Jesin quit (Quit: Leaving) 2017-03-28T23:54:50Z aeth: "Have you considered using Clojure instead?" 2017-03-28T23:55:16Z damke_ joined #lisp 2017-03-28T23:55:51Z aeth: In fact, something just like that is the top reply to the top reply. https://news.ycombinator.com/item?id=13981261 2017-03-28T23:57:52Z Xach: don't trick me into looking 2017-03-28T23:58:38Z jasom: The site linked also instructs you in how to setup an asdf central registry 2017-03-28T23:58:53Z klltkr joined #lisp 2017-03-28T23:58:55Z aeth: "Clojure" 35x, "LISP" (case sensitive, pre-1980 style) 4x, "interpreter" (for a normally compiled language) 2x 2017-03-28T23:59:10Z aeth: No "how can you use a language whose only data structure is lists?" that I can find through simple searching. Yet. 2017-03-28T23:59:51Z jasom: Points for anybody who can decipher "The relation between the various native data-types were quite unclear to me." 2017-03-29T00:01:00Z aeth: does anyone else have some "I took a programming language class 10 years ago that spent two weeks on Scheme so let me lecture everyone on Common Lisp" bingo phrases to look for? 2017-03-29T00:03:23Z jasom: aeth: searching for either of iteration or recursion to look for things like "doesn't contain iteration" or "only has recursion" 2017-03-29T00:04:49Z damke_ quit (Ping timeout: 268 seconds) 2017-03-29T00:04:55Z Mr_Tea quit (Remote host closed the connection) 2017-03-29T00:05:15Z jasom: aeth: I saw one that could be paraphrased as "python is easier because you have source files instead of some giant memory image" 2017-03-29T00:05:17Z damke_ joined #lisp 2017-03-29T00:05:51Z _death: it seems if an entry has in the title, people jump to discuss instead of discussing the entry.. 2017-03-29T00:07:05Z aeth: _death: Until posts have a CAPTCHA requesting that someone answer several simple questions about the article, most people will just jump straight into the comments section, especially on third party commenting sites. 2017-03-29T00:07:31Z aeth: A behavior that's probably reinforced by paywalled sites that for some reason sometimes get to the top of these sites on title alone 2017-03-29T00:09:48Z rumbler31 joined #lisp 2017-03-29T00:10:53Z _death: aeth: yeah, been on these sites for a while.. btw I have an hn-filter.js greasemonkey script, so usually I only get programming-related stuff 2017-03-29T00:11:34Z aeth: off-topic is not as bad as it used to be 2017-03-29T00:11:43Z aeth: on the other hand, HN is slowly converging with /r/programming 2017-03-29T00:12:47Z _death: aeth: depends on what you consider off-topic.. sometimes the screenful of top entries decrease from 30 (all) to approx. 15.. 2017-03-29T00:13:22Z aeth: Someone should just write a bot to repost programming-related articles between /r/programming and HN 2017-03-29T00:14:12Z aeth: e.g. I got 216 karma from reposting a top HN article on SICP, and I probably could've gotten more if I had timed it to be posted hours earlier. https://www.reddit.com/r/programming/comments/60r6jb/beautiful_online_sicp/ 2017-03-29T00:14:32Z aeth: Lisp is a bit riskier, though, than the general programming stuff on HN 2017-03-29T00:15:11Z _death: aeth: https://i.imgur.com/4ltloa6.png is how it looks right now 2017-03-29T00:15:15Z rumbler31 quit (Remote host closed the connection) 2017-03-29T00:15:29Z aeth: ah 2017-03-29T00:16:34Z slyrus quit (Ping timeout: 264 seconds) 2017-03-29T00:16:46Z aeth: You're missing an AI one, and a statistics one, 2017-03-29T00:16:51Z aeth: but I think that's it 2017-03-29T00:17:56Z aeth: You have several articles that should be filtered. #16 and #20 and possibly #21 if you strictly want programming... and #28 2017-03-29T00:18:01Z BlueRavenGT quit (Ping timeout: 246 seconds) 2017-03-29T00:18:36Z EvW1 quit (Ping timeout: 256 seconds) 2017-03-29T00:18:49Z aeth: _death: stumpwm? 2017-03-29T00:18:59Z _death: yeah.. I do the filtering based on the domain.. so irrelevant entries with seldomly posted domains can get through 2017-03-29T00:19:03Z _death: aeth: yes 2017-03-29T00:19:12Z aeth: good 2017-03-29T00:24:32Z _death: for SICP (as well as On Lisp) I use the info versions 2017-03-29T00:25:07Z didi didn't know there is a On Lisp Info version 2017-03-29T00:26:15Z _death: http://community.schemewiki.org/?on-lisp 2017-03-29T00:26:39Z didi: Nice. Thank you. 2017-03-29T00:31:53Z carlosda1 joined #lisp 2017-03-29T00:34:40Z eazar001 quit (Quit: WeeChat 1.5) 2017-03-29T00:36:05Z damke joined #lisp 2017-03-29T00:36:29Z carlosda1 quit (Ping timeout: 260 seconds) 2017-03-29T00:36:53Z damke_ quit (Ping timeout: 268 seconds) 2017-03-29T00:39:23Z oystewh quit (Remote host closed the connection) 2017-03-29T00:40:08Z damke_ joined #lisp 2017-03-29T00:40:58Z eazar001 joined #lisp 2017-03-29T00:41:07Z didi quit (Ping timeout: 246 seconds) 2017-03-29T00:42:10Z damke quit (Ping timeout: 246 seconds) 2017-03-29T00:42:31Z RedEight quit (Quit: leaving) 2017-03-29T00:47:17Z damke joined #lisp 2017-03-29T00:48:08Z Karl_Dscc quit (Remote host closed the connection) 2017-03-29T00:48:36Z damke_ quit (Ping timeout: 268 seconds) 2017-03-29T00:53:44Z emacsoma` quit (Remote host closed the connection) 2017-03-29T01:00:51Z damke_ joined #lisp 2017-03-29T01:01:01Z neoncontrails joined #lisp 2017-03-29T01:04:01Z damke quit (Ping timeout: 268 seconds) 2017-03-29T01:05:18Z DataLinkDroid joined #lisp 2017-03-29T01:06:20Z Kundry_Wag quit (Remote host closed the connection) 2017-03-29T01:06:53Z Kundry_Wag joined #lisp 2017-03-29T01:07:48Z damke joined #lisp 2017-03-29T01:07:53Z jameser joined #lisp 2017-03-29T01:11:25Z Kundry_Wag quit (Ping timeout: 268 seconds) 2017-03-29T01:12:02Z damke_ quit (Ping timeout: 268 seconds) 2017-03-29T01:13:12Z Younder joined #lisp 2017-03-29T01:21:27Z defaultxr quit (Ping timeout: 240 seconds) 2017-03-29T01:27:39Z FreeBirdLjj joined #lisp 2017-03-29T01:27:41Z decuser joined #lisp 2017-03-29T01:28:41Z damke quit (Ping timeout: 268 seconds) 2017-03-29T01:29:19Z damke joined #lisp 2017-03-29T01:30:42Z pmc quit (Quit: Leaving) 2017-03-29T01:31:51Z damke_ joined #lisp 2017-03-29T01:32:20Z carlosda1 joined #lisp 2017-03-29T01:33:37Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2017-03-29T01:34:51Z damke quit (Ping timeout: 268 seconds) 2017-03-29T01:37:28Z carlosda1 quit (Ping timeout: 240 seconds) 2017-03-29T01:39:43Z rpg joined #lisp 2017-03-29T01:40:40Z mejja quit (Quit: \ No newline at end of file) 2017-03-29T01:41:04Z unbalancedparen joined #lisp 2017-03-29T01:41:50Z damke joined #lisp 2017-03-29T01:43:05Z HDurer2 quit (Ping timeout: 240 seconds) 2017-03-29T01:43:49Z damke__ joined #lisp 2017-03-29T01:44:43Z damke_ quit (Ping timeout: 268 seconds) 2017-03-29T01:47:11Z damke quit (Ping timeout: 268 seconds) 2017-03-29T01:48:55Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-29T01:49:36Z damke__ quit (Remote host closed the connection) 2017-03-29T01:50:12Z krwq joined #lisp 2017-03-29T01:50:16Z sjl quit (Ping timeout: 268 seconds) 2017-03-29T01:51:45Z damke__ joined #lisp 2017-03-29T01:54:01Z FreeBirdLjj joined #lisp 2017-03-29T01:54:31Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-29T01:54:51Z FreeBirdLjj joined #lisp 2017-03-29T01:56:43Z damke__ quit (Ping timeout: 246 seconds) 2017-03-29T01:58:10Z damke__ joined #lisp 2017-03-29T02:03:59Z damke__ quit (Remote host closed the connection) 2017-03-29T02:04:29Z damke__ joined #lisp 2017-03-29T02:07:32Z Kundry_Wag joined #lisp 2017-03-29T02:09:22Z rpg quit (Ping timeout: 264 seconds) 2017-03-29T02:10:17Z HDurer2 joined #lisp 2017-03-29T02:12:28Z Kundry_Wag quit (Ping timeout: 260 seconds) 2017-03-29T02:14:16Z DataLinkDroid quit (Ping timeout: 252 seconds) 2017-03-29T02:14:27Z nelder quit (Quit: Leaving) 2017-03-29T02:16:59Z Harag joined #lisp 2017-03-29T02:17:57Z rpg joined #lisp 2017-03-29T02:18:07Z john2x joined #lisp 2017-03-29T02:18:18Z pillton quit (Ping timeout: 252 seconds) 2017-03-29T02:20:34Z DataLinkDroid joined #lisp 2017-03-29T02:25:04Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-29T02:27:14Z vibs29 quit (Ping timeout: 256 seconds) 2017-03-29T02:27:28Z ryanwatk` joined #lisp 2017-03-29T02:29:25Z ryanwatkins quit (Ping timeout: 260 seconds) 2017-03-29T02:32:57Z rpg quit (Read error: Connection reset by peer) 2017-03-29T02:33:29Z rpg_ joined #lisp 2017-03-29T02:33:33Z vibs29 joined #lisp 2017-03-29T02:35:33Z FreeBirdLjj joined #lisp 2017-03-29T02:35:58Z justicefries joined #lisp 2017-03-29T02:47:11Z damke joined #lisp 2017-03-29T02:49:28Z damke__ quit (Ping timeout: 268 seconds) 2017-03-29T02:49:44Z decuser quit (Quit: rcirc on GNU Emacs 25.1.1) 2017-03-29T02:50:05Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-29T02:50:16Z eazar001 quit (Ping timeout: 246 seconds) 2017-03-29T02:51:26Z damke_ joined #lisp 2017-03-29T02:53:10Z damke quit (Ping timeout: 268 seconds) 2017-03-29T02:54:33Z unbalancedparen quit (Quit: WeeChat 1.7) 2017-03-29T02:56:38Z beach: Good morning everyone! 2017-03-29T02:57:06Z BitPuffin|osx quit (Ping timeout: 240 seconds) 2017-03-29T02:57:45Z FreeBirdLjj joined #lisp 2017-03-29T03:01:46Z damke_ quit (Read error: Connection reset by peer) 2017-03-29T03:02:03Z damke_ joined #lisp 2017-03-29T03:03:29Z ym quit (Remote host closed the connection) 2017-03-29T03:03:50Z Autolycus joined #lisp 2017-03-29T03:08:11Z Kundry_Wag joined #lisp 2017-03-29T03:10:45Z milanj__ quit (Quit: This computer has gone to sleep) 2017-03-29T03:13:34Z Kundry_Wag quit (Ping timeout: 264 seconds) 2017-03-29T03:14:15Z Jesin joined #lisp 2017-03-29T03:14:18Z wizzo quit (Ping timeout: 258 seconds) 2017-03-29T03:16:09Z wizzo joined #lisp 2017-03-29T03:17:13Z whoman joined #lisp 2017-03-29T03:17:34Z loke casually browses c.l.l sometimes. I've noted no WJ posts in a while. Is this Ragnarök? 2017-03-29T03:21:30Z DataLinkDroid quit (Quit: Ex-Chat) 2017-03-29T03:23:45Z eazar001 joined #lisp 2017-03-29T03:26:38Z ym joined #lisp 2017-03-29T03:28:47Z Autolycus quit 2017-03-29T03:29:00Z neoncontrails quit (Remote host closed the connection) 2017-03-29T03:31:49Z safe joined #lisp 2017-03-29T03:32:30Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-29T03:34:20Z carlosda1 joined #lisp 2017-03-29T03:38:07Z onehrxn_ joined #lisp 2017-03-29T03:38:27Z onehrxn_ quit (Remote host closed the connection) 2017-03-29T03:38:34Z carlosda1 quit (Ping timeout: 246 seconds) 2017-03-29T03:39:01Z onehrxn_ joined #lisp 2017-03-29T03:43:07Z jason_m quit (Ping timeout: 268 seconds) 2017-03-29T03:50:32Z FreeBirdLjj joined #lisp 2017-03-29T03:51:27Z Harag quit (Ping timeout: 240 seconds) 2017-03-29T03:53:02Z whoman quit (Quit: Leaving) 2017-03-29T03:53:27Z Kaisyu joined #lisp 2017-03-29T03:55:57Z onehrxn_ quit (Ping timeout: 240 seconds) 2017-03-29T03:56:34Z onehrxn_ joined #lisp 2017-03-29T03:56:43Z shka_ joined #lisp 2017-03-29T03:58:20Z defaultxr joined #lisp 2017-03-29T04:00:53Z onehrxn_ quit (Remote host closed the connection) 2017-03-29T04:02:10Z pillton joined #lisp 2017-03-29T04:05:26Z aeth quit (Quit: ...) 2017-03-29T04:06:01Z aeth joined #lisp 2017-03-29T04:07:43Z sellout- joined #lisp 2017-03-29T04:10:04Z samebchase quit (Ping timeout: 246 seconds) 2017-03-29T04:11:39Z samebchase joined #lisp 2017-03-29T04:12:25Z FreeBird_ joined #lisp 2017-03-29T04:12:57Z FreeBirdLjj quit (Ping timeout: 258 seconds) 2017-03-29T04:14:09Z smokeink joined #lisp 2017-03-29T04:16:08Z moei quit (Read error: Connection reset by peer) 2017-03-29T04:16:53Z FreeBird_ quit (Remote host closed the connection) 2017-03-29T04:17:01Z moei joined #lisp 2017-03-29T04:18:06Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-29T04:18:57Z Autolycus joined #lisp 2017-03-29T04:21:57Z daviid quit (Ping timeout: 240 seconds) 2017-03-29T04:23:59Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-29T04:24:08Z burtons joined #lisp 2017-03-29T04:26:06Z quazimodo joined #lisp 2017-03-29T04:29:30Z damke joined #lisp 2017-03-29T04:30:43Z smokeink quit (Ping timeout: 260 seconds) 2017-03-29T04:31:13Z damke_ quit (Ping timeout: 268 seconds) 2017-03-29T04:33:36Z psacrifice joined #lisp 2017-03-29T04:35:32Z decuser joined #lisp 2017-03-29T04:42:09Z FreeBirdLjj joined #lisp 2017-03-29T04:42:49Z vlatkoB joined #lisp 2017-03-29T04:49:53Z shka_ quit (Ping timeout: 260 seconds) 2017-03-29T04:50:41Z oleo quit (Quit: Leaving) 2017-03-29T04:50:59Z neoncontrails joined #lisp 2017-03-29T04:52:03Z damke_ joined #lisp 2017-03-29T04:52:28Z smokeink joined #lisp 2017-03-29T04:52:36Z NeverDie quit (Quit: http://radiux.io/) 2017-03-29T04:55:16Z damke quit (Ping timeout: 268 seconds) 2017-03-29T04:56:17Z NeverDie joined #lisp 2017-03-29T04:57:28Z onehrxn_ joined #lisp 2017-03-29T04:57:38Z onehrxn_ quit (Remote host closed the connection) 2017-03-29T04:57:51Z onehrxn_ joined #lisp 2017-03-29T05:00:45Z tumdum joined #lisp 2017-03-29T05:02:53Z neoncontrails quit (Remote host closed the connection) 2017-03-29T05:03:36Z Autolycus quit 2017-03-29T05:05:43Z tumdum quit (Ping timeout: 246 seconds) 2017-03-29T05:07:25Z dec0n joined #lisp 2017-03-29T05:10:55Z Kundry_Wag joined #lisp 2017-03-29T05:14:24Z rpg_ quit (Ping timeout: 256 seconds) 2017-03-29T05:15:05Z Kundry_Wag quit (Ping timeout: 240 seconds) 2017-03-29T05:17:39Z enitiz joined #lisp 2017-03-29T05:20:05Z sgript quit (Ping timeout: 240 seconds) 2017-03-29T05:20:59Z shdeng joined #lisp 2017-03-29T05:21:03Z sgript joined #lisp 2017-03-29T05:21:22Z eagleflo quit (Ping timeout: 264 seconds) 2017-03-29T05:21:35Z eagleflo joined #lisp 2017-03-29T05:26:19Z stardiviner joined #lisp 2017-03-29T05:27:41Z ebrasca joined #lisp 2017-03-29T05:28:07Z ebrasca is now known as ebrasca-afk 2017-03-29T05:35:06Z carlosda1 joined #lisp 2017-03-29T05:38:30Z sellout- quit (Quit: Leaving.) 2017-03-29T05:39:35Z carlosda1 quit (Ping timeout: 258 seconds) 2017-03-29T05:39:58Z stardiviner quit (Quit: WeeChat 1.7) 2017-03-29T05:41:13Z smokeink quit (Ping timeout: 260 seconds) 2017-03-29T05:42:44Z Harag joined #lisp 2017-03-29T05:51:23Z damke joined #lisp 2017-03-29T05:52:37Z damke_ quit (Ping timeout: 268 seconds) 2017-03-29T05:55:35Z heurist quit (Ping timeout: 240 seconds) 2017-03-29T05:56:05Z luis quit (Ping timeout: 240 seconds) 2017-03-29T05:56:58Z luis joined #lisp 2017-03-29T05:57:08Z heurist joined #lisp 2017-03-29T05:58:46Z elinux joined #lisp 2017-03-29T06:00:29Z okflo joined #lisp 2017-03-29T06:01:28Z spatial_ joined #lisp 2017-03-29T06:01:53Z spatial_: http://lpaste.net/354050 init is called for every repeat ? 2017-03-29T06:02:56Z pillton: If by repeat you mean every iteration of the outer loop, then yes. 2017-03-29T06:06:32Z john2x quit (Ping timeout: 256 seconds) 2017-03-29T06:11:08Z mishoo joined #lisp 2017-03-29T06:11:53Z Kundry_Wag joined #lisp 2017-03-29T06:13:50Z smokeink joined #lisp 2017-03-29T06:13:53Z gabriel_laddel_p joined #lisp 2017-03-29T06:14:18Z damke_ joined #lisp 2017-03-29T06:14:45Z gabriel_laddel_p quit (Changing host) 2017-03-29T06:14:45Z gabriel_laddel_p joined #lisp 2017-03-29T06:14:46Z gabriel_laddel_p quit (Changing host) 2017-03-29T06:14:46Z gabriel_laddel_p joined #lisp 2017-03-29T06:16:10Z Kundry_Wag quit (Ping timeout: 256 seconds) 2017-03-29T06:17:05Z gabriel_laddel_p quit (Client Quit) 2017-03-29T06:17:13Z sbodin joined #lisp 2017-03-29T06:17:17Z damke quit (Ping timeout: 268 seconds) 2017-03-29T06:18:24Z MoALTz joined #lisp 2017-03-29T06:22:44Z Jesin quit (Ping timeout: 260 seconds) 2017-03-29T06:29:27Z spatial_ quit (Quit: Page closed) 2017-03-29T06:31:44Z john2x joined #lisp 2017-03-29T06:38:35Z scymtym quit (Ping timeout: 240 seconds) 2017-03-29T06:40:56Z smokeink quit (Ping timeout: 260 seconds) 2017-03-29T06:42:27Z onehrxn_ quit 2017-03-29T06:42:54Z onehrxn_ joined #lisp 2017-03-29T06:43:55Z onehrxn_ quit (Client Quit) 2017-03-29T06:44:15Z onehrxn_ joined #lisp 2017-03-29T06:45:50Z damke joined #lisp 2017-03-29T06:46:26Z varjag joined #lisp 2017-03-29T06:48:07Z damke_ quit (Ping timeout: 268 seconds) 2017-03-29T06:48:21Z angavrilov joined #lisp 2017-03-29T06:49:02Z sbodin quit (Ping timeout: 256 seconds) 2017-03-29T06:49:43Z onehrxn_ is now known as onehrxn 2017-03-29T06:55:37Z phoe: > * The relation between the various native data-types were quite unclear to me. 2017-03-29T06:55:43Z phoe: http://sellout.github.io/media/CL-type-hierarchy.png 2017-03-29T06:55:46Z phoe: Also good morning. 2017-03-29T06:56:26Z flip214: phoe: got the edits all wrapped up? 2017-03-29T06:56:56Z phoe: flip214: yes, just looking at the final PDF once again. 2017-03-29T06:57:17Z phoe: Decided it was worth to look at it for the final time after sleeping. 2017-03-29T06:57:30Z phoe: Bbl - I need to begin the day. 2017-03-29T07:01:05Z safe quit (Read error: Connection reset by peer) 2017-03-29T07:05:13Z nowhere_man quit (Ping timeout: 260 seconds) 2017-03-29T07:07:57Z milanj__ joined #lisp 2017-03-29T07:10:39Z enitiz quit (Quit: Mutter: www.mutterirc.com) 2017-03-29T07:10:56Z Oladon quit (Ping timeout: 268 seconds) 2017-03-29T07:12:24Z Kundry_Wag joined #lisp 2017-03-29T07:12:30Z mateuszb quit (Read error: Connection reset by peer) 2017-03-29T07:12:58Z mateuszb joined #lisp 2017-03-29T07:13:24Z vlatkoB quit (Ping timeout: 256 seconds) 2017-03-29T07:15:04Z Oladon joined #lisp 2017-03-29T07:15:19Z vlatkoB joined #lisp 2017-03-29T07:15:29Z sbodin joined #lisp 2017-03-29T07:16:48Z Kundry_Wag quit (Ping timeout: 240 seconds) 2017-03-29T07:17:05Z nrp3c joined #lisp 2017-03-29T07:19:10Z nrp3c: Hey guys, I'm still new to common lisp, but I am trying to start on wrapping up the matrix chat protocol into a nice library. I've been looking at other api libraries and how they are implemented, and am getting an idea of a general way to go about it, but is there anything extra I could read on designing a decently sized library like this? I feel like I can piece together most things, however I'm worried I'll waste 2017-03-29T07:19:10Z nrp3c: a lot of time constructing everything in a non-lispy way. 2017-03-29T07:22:13Z varjag: nrp3c: not sure there's anything to read anything specific on library-binding 2017-03-29T07:22:52Z varjag: looking at the existing APIs (esp. related to domain area of your lib) is a good start 2017-03-29T07:23:22Z nrp3c: That's kinda what I figured, but it never hurts to ask 2017-03-29T07:23:28Z varjag: the modern way in general is a clos interface 2017-03-29T07:23:57Z varjag: with classes abstracting entities and generic functions/methods forming relationship/protocols between them 2017-03-29T07:24:05Z nrp3c: So, a CLOS object with some slots for a token and other persistent data, and the methods are calls to the endpoints? 2017-03-29T07:24:10Z nrp3c: I see 2017-03-29T07:24:44Z varjag: sounds about right 2017-03-29T07:25:03Z varjag: although if you wrap some library into FFI, a good abstraction is often tricky to figure out 2017-03-29T07:25:43Z sbodin quit (Ping timeout: 246 seconds) 2017-03-29T07:26:53Z nrp3c: I'm not sure if my knowledge of lisp is good enough to constitute getting everything into an FFI, just yet 2017-03-29T07:27:48Z mishoo quit (Ping timeout: 240 seconds) 2017-03-29T07:27:48Z eazar001 quit (Ping timeout: 240 seconds) 2017-03-29T07:28:15Z beach: nrp3c: Start by figuring out what operations you want to support and on which data types. 2017-03-29T07:28:23Z varjag: i mean if you use an existing library written in c, wrapped with foreign-function interface 2017-03-29T07:28:32Z beach: nrp3c: Then create a generic function for each operation, and classes for the data types. 2017-03-29T07:28:33Z varjag: if it's not the case, you have much more design leeway 2017-03-29T07:29:15Z beach: nrp3c: Create a file containing the ASDF system definition, and a file defining one or more packages for your library. 2017-03-29T07:29:20Z nrp3c: varjag: Ah. Currently the API I'm referring too doesn't have a c library, afaik 2017-03-29T07:29:29Z varjag: good :) 2017-03-29T07:30:44Z nrp3c: beach: sounds manageable 2017-03-29T07:31:26Z nrp3c just gets overwhelmed easy when he sees a crazy long macro or function for generic calls to an api, which he as run into a few times whilst looking at other api wrappers 2017-03-29T07:31:30Z beach: nrp3c: It is. Also, from your own package, export the names of generic functions and classes you want client code to be exposed to. 2017-03-29T07:31:54Z defaultxr quit (Ping timeout: 268 seconds) 2017-03-29T07:32:00Z salva0 joined #lisp 2017-03-29T07:32:23Z varjag: if you need crazy long macro you make crazy long macro 2017-03-29T07:32:28Z varjag: but often you can do without 2017-03-29T07:32:29Z splittist: nrp3c: that comes from getting sick of typing almost the same wrapping code a bunch of times. No-one starts with the crazy macro. 2017-03-29T07:32:54Z beach: nrp3c: You can look at this simple library as a model: https://github.com/robert-strandh/Clump 2017-03-29T07:32:55Z nrp3c: I see 2017-03-29T07:33:47Z nrp3c: beach: thanks 2017-03-29T07:34:07Z varjag: i've been coding a new project at $work since december and have yet to define a macro there 2017-03-29T07:34:07Z nrp3c: Well this all seems alright. Thanks varjag, splittist and beach 2017-03-29T07:34:18Z beach: Sure. Good luck. 2017-03-29T07:34:24Z varjag: you welcome 2017-03-29T07:34:30Z jameser_ joined #lisp 2017-03-29T07:35:30Z dtornabene joined #lisp 2017-03-29T07:35:51Z carlosda1 joined #lisp 2017-03-29T07:36:28Z jameser quit (Ping timeout: 240 seconds) 2017-03-29T07:40:34Z carlosda1 quit (Ping timeout: 264 seconds) 2017-03-29T07:41:13Z nrp3c left #lisp 2017-03-29T07:42:35Z _cosmonaut_ joined #lisp 2017-03-29T07:42:46Z scymtym joined #lisp 2017-03-29T07:45:19Z mishoo joined #lisp 2017-03-29T07:50:24Z gingerale joined #lisp 2017-03-29T07:50:46Z marusich quit (Quit: Leaving) 2017-03-29T07:52:00Z nowhere_man joined #lisp 2017-03-29T07:57:35Z salva0 quit (Ping timeout: 258 seconds) 2017-03-29T07:58:42Z nirved joined #lisp 2017-03-29T07:59:49Z mrottenkolber joined #lisp 2017-03-29T08:03:10Z _cosmonaut_ quit (Quit: Leaving.) 2017-03-29T08:03:28Z _cosmonaut_ joined #lisp 2017-03-29T08:05:02Z shaftoe: someone remind me how to check the type of a variable please 2017-03-29T08:07:27Z smokeink joined #lisp 2017-03-29T08:08:33Z _cosmonaut_ quit (Read error: Connection reset by peer) 2017-03-29T08:08:42Z _cosmonaut_ joined #lisp 2017-03-29T08:09:34Z damke__ joined #lisp 2017-03-29T08:09:38Z phoe: shaftoe: type-of 2017-03-29T08:09:39Z phoe: clhs type-of 2017-03-29T08:09:40Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_tp_of.htm 2017-03-29T08:09:48Z phoe: that gives you the type of an object at runtime. 2017-03-29T08:09:53Z phoe: or do you want something else? 2017-03-29T08:10:08Z damke quit (Ping timeout: 268 seconds) 2017-03-29T08:11:10Z phoe: https://cdn.discordapp.com/attachments/151825028009164800/296556809311879169/clus.pdf <- there. Good enough. flip214 - your changes are included. 2017-03-29T08:11:19Z shaftoe: that was it 2017-03-29T08:11:37Z salva0 joined #lisp 2017-03-29T08:12:06Z Bike quit (Quit: sleep tho) 2017-03-29T08:12:11Z phoe: The last one, about the link - I have the link in my bibtex, but the layout decides not to display it. I think it knows better than me in this case, especially that the source is rather well-known and can be googled. 2017-03-29T08:12:29Z presiden joined #lisp 2017-03-29T08:12:36Z hhdave joined #lisp 2017-03-29T08:13:09Z Kundry_Wag joined #lisp 2017-03-29T08:13:20Z _cosmonaut_ quit (Ping timeout: 260 seconds) 2017-03-29T08:14:37Z hhdave_ joined #lisp 2017-03-29T08:15:50Z damke joined #lisp 2017-03-29T08:16:18Z damke__ quit (Ping timeout: 268 seconds) 2017-03-29T08:16:29Z splittist: I would like to thank Professor Robert Strandh, Philipp Marek, and W lodzimierz and Ma lgorzata Moczurad for general support during the creation of this work, including, but not limited to, proofreading, advice, and moral support; one more thank you to Robert Strandh for allowing me to use his TEX layout for papers. 2017-03-29T08:16:48Z hhdave quit (Ping timeout: 240 seconds) 2017-03-29T08:16:48Z hhdave_ is now known as hhdave 2017-03-29T08:17:25Z phoe: splittist: hm? 2017-03-29T08:18:00Z Kundry_Wag quit (Ping timeout: 256 seconds) 2017-03-29T08:18:22Z phoe: Did I miss someone? 2017-03-29T08:18:26Z phoe: It's possible that I have. 2017-03-29T08:19:15Z splittist: I just made a few minor edits ("and") ("you") ("for") 2017-03-29T08:19:27Z phoe: Oh - thanks. 2017-03-29T08:19:37Z krwq: splittist: i do not know what this is about since I didn't track the conv but Wlodzimierz does not have a space in it and same Malgorzata 2017-03-29T08:19:37Z minion: krwq, memo from phoe_: /usr/lib/libstdc++.so.6: version GLIBCXX_3.4.20 2017-03-29T08:19:37Z minion: krwq, memo from phoe_: sorry, I wanted to send this one: krwq is gone again... cl-interpol would have been the answer 2017-03-29T08:19:37Z minion: krwq, memo from flip214: cl-interpol has perl-like regex "strings" 2017-03-29T08:19:49Z edgar-rft joined #lisp 2017-03-29T08:20:02Z DeadTrickster quit (Remote host closed the connection) 2017-03-29T08:20:12Z flip214: phoe: thanks for mentioning me! 2017-03-29T08:20:17Z attila_lendvai joined #lisp 2017-03-29T08:20:17Z attila_lendvai quit (Changing host) 2017-03-29T08:20:17Z attila_lendvai joined #lisp 2017-03-29T08:20:31Z phoe: krwq: disregard this first memo 2017-03-29T08:20:49Z phoe: flip214: no, I thank you for the review! 2017-03-29T08:20:55Z phoe: :) 2017-03-29T08:21:10Z phoe: krwq: yes yes, it's Włodzimierz and Małgorzata 2017-03-29T08:21:17Z phoe: I caught these 2017-03-29T08:21:20Z splittist: krwq: that's an artifact from cut-n-pasting from pdf to web 2017-03-29T08:21:42Z splittist: as phoe says, he has it correct (: 2017-03-29T08:22:34Z krwq: ok, I'm gonna be going right now - see you! 2017-03-29T08:22:40Z phoe: See you! 2017-03-29T08:22:49Z krwq quit (Remote host closed the connection) 2017-03-29T08:28:29Z _cosmonaut_ joined #lisp 2017-03-29T08:28:38Z damke_ joined #lisp 2017-03-29T08:29:27Z phoe: Okay. Enough. 2017-03-29T08:29:28Z phoe: https://cdn.discordapp.com/attachments/151825028009164800/296561454562279424/clus.pdf 2017-03-29T08:29:31Z phoe: Shipping it. 2017-03-29T08:30:31Z jameser_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-29T08:31:32Z damke__ joined #lisp 2017-03-29T08:31:32Z smokeink quit (Ping timeout: 260 seconds) 2017-03-29T08:31:36Z jdz: shaftoe: check-type 2017-03-29T08:31:43Z damke quit (Ping timeout: 268 seconds) 2017-03-29T08:32:03Z jameser joined #lisp 2017-03-29T08:34:11Z damke_ quit (Ping timeout: 268 seconds) 2017-03-29T08:36:06Z iago joined #lisp 2017-03-29T08:36:45Z psacrifice quit (Remote host closed the connection) 2017-03-29T08:37:28Z psacrifice joined #lisp 2017-03-29T08:46:54Z l04m33 quit (Ping timeout: 256 seconds) 2017-03-29T08:47:09Z Guest77402 is now known as pjb 2017-03-29T08:47:14Z Karl_Dscc joined #lisp 2017-03-29T08:48:18Z l04m33 joined #lisp 2017-03-29T08:58:59Z lvo joined #lisp 2017-03-29T08:59:43Z loke: phoe: Are you manually rewriting the CL spec? 2017-03-29T08:59:49Z loke: Or converting the TeX soruces? 2017-03-29T09:00:17Z damke joined #lisp 2017-03-29T09:00:28Z splittist: loke: there's a whole paper about what he's doing (: 2017-03-29T09:01:15Z phoe: loke: I think 10%-90%. 2017-03-29T09:01:22Z phoe: Converting the TeX sources while making fixes. 2017-03-29T09:01:31Z loke: phoe: What are you converting it to? 2017-03-29T09:01:37Z loke: What's the destination format? 2017-03-29T09:01:39Z phoe: DokuWiki markup, simpler and cleaner. 2017-03-29T09:01:47Z phoe: But there's an idea to turn it into sexprs later on. 2017-03-29T09:01:53Z loke: phoe: Is that format machine readable? 2017-03-29T09:02:01Z phoe: Define "machine-readable". 2017-03-29T09:02:06Z loke: I'd really like to have a machine readable documentation that I can integrate in Emacs. 2017-03-29T09:02:13Z phoe: That's the final plan. 2017-03-29T09:02:24Z loke: Machine-processeable, I guess I meant. 2017-03-29T09:02:36Z phoe: The sexpr version that this other person was thinking about will be as machine-processable as it's possible. 2017-03-29T09:02:44Z phoe: DokuWiki - it's possible to script it, too. 2017-03-29T09:03:00Z phoe: If DokuWiki can generate XHTML from it, then you can generate Emacs documentation from it, too. 2017-03-29T09:03:06Z phoe: s/Emacs/Emacs-readable/ 2017-03-29T09:03:10Z damke__ quit (Ping timeout: 268 seconds) 2017-03-29T09:03:16Z phoe: tl;dr yes, it is machine-readable. 2017-03-29T09:03:18Z loke: Neat. 2017-03-29T09:03:38Z loke: How far did you get? I spent time a couple of yeara ago to cerate a converter for the TeX sources, but never managed to get very far. 2017-03-29T09:03:47Z loke: The source format is _incredibly_ ad-hoc. 2017-03-29T09:04:55Z carlosda1 joined #lisp 2017-03-29T09:04:57Z psacrifice quit (Ping timeout: 240 seconds) 2017-03-29T09:05:32Z psacrifice joined #lisp 2017-03-29T09:06:17Z phoe: It is. 2017-03-29T09:06:22Z phoe: I have all the dictionaries and the glossary parsed. 2017-03-29T09:06:38Z phoe: I thought I would be able to finish everything by ELS, but two weeks' sickness kicked these plans out of the window. 2017-03-29T09:07:02Z phoe: But - I have to finish the concepts/chapters, fix the links, and I'm mostly done with the informal part. 2017-03-29T09:07:46Z phoe: loke: http://phoe.tymoon.eu/clus/doku.php?id=clus:todo 2017-03-29T09:14:13Z Kundry_Wag joined #lisp 2017-03-29T09:18:38Z Kundry_Wag quit (Ping timeout: 256 seconds) 2017-03-29T09:18:55Z onehrxn_ joined #lisp 2017-03-29T09:20:54Z onehrxn quit (Ping timeout: 256 seconds) 2017-03-29T09:21:17Z Karl_Dscc quit (Remote host closed the connection) 2017-03-29T09:26:07Z damke_ joined #lisp 2017-03-29T09:26:13Z bariscant joined #lisp 2017-03-29T09:29:04Z damke quit (Ping timeout: 268 seconds) 2017-03-29T09:30:18Z milanj__ quit (Quit: This computer has gone to sleep) 2017-03-29T09:35:57Z carlosda1 quit (Ping timeout: 240 seconds) 2017-03-29T09:37:24Z onehrxn_ quit 2017-03-29T09:37:40Z onehrxn joined #lisp 2017-03-29T09:39:59Z NeverDie_ joined #lisp 2017-03-29T09:41:24Z NeverDie quit (Ping timeout: 268 seconds) 2017-03-29T09:41:34Z loke: phoe: Do you have a list of chapters that are not done? 2017-03-29T09:41:38Z NeverDie joined #lisp 2017-03-29T09:41:47Z daviid joined #lisp 2017-03-29T09:44:55Z NeverDie_ quit (Ping timeout: 258 seconds) 2017-03-29T09:47:53Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-29T09:51:16Z NeverDie quit (Ping timeout: 268 seconds) 2017-03-29T09:54:12Z Karl_Dscc joined #lisp 2017-03-29T09:59:44Z Oddity quit (Ping timeout: 260 seconds) 2017-03-29T10:00:39Z ym quit (Remote host closed the connection) 2017-03-29T10:01:23Z ym joined #lisp 2017-03-29T10:02:35Z justicefries quit 2017-03-29T10:03:16Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-29T10:06:18Z Oddity joined #lisp 2017-03-29T10:06:18Z Oddity quit (Changing host) 2017-03-29T10:06:18Z Oddity joined #lisp 2017-03-29T10:06:35Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-29T10:11:01Z sjl joined #lisp 2017-03-29T10:13:20Z ym quit (Quit: Leaving) 2017-03-29T10:14:47Z thereyougo joined #lisp 2017-03-29T10:14:51Z thereyougo: when in doubt use lisp ? 2017-03-29T10:15:44Z thereyougo: anyone here ? 2017-03-29T10:15:46Z thereyougo left #lisp 2017-03-29T10:16:35Z damke joined #lisp 2017-03-29T10:16:42Z psacrifice quit 2017-03-29T10:16:55Z NeverDie joined #lisp 2017-03-29T10:17:33Z burtons quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-29T10:18:52Z Oddity quit (Ping timeout: 260 seconds) 2017-03-29T10:19:01Z bariscant quit (Quit: Leaving) 2017-03-29T10:19:09Z damke__ joined #lisp 2017-03-29T10:19:38Z damke_ quit (Ping timeout: 268 seconds) 2017-03-29T10:21:32Z ebrasca-afk quit (Remote host closed the connection) 2017-03-29T10:22:06Z damke quit (Ping timeout: 268 seconds) 2017-03-29T10:25:32Z Oddity joined #lisp 2017-03-29T10:25:32Z Oddity quit (Changing host) 2017-03-29T10:25:32Z Oddity joined #lisp 2017-03-29T10:26:29Z Xach: Nobody here. 2017-03-29T10:28:10Z mingus quit (Quit: mingus) 2017-03-29T10:29:27Z pjb: Leave him in doubt, so he use lisp! 2017-03-29T10:31:09Z mingus joined #lisp 2017-03-29T10:31:13Z FreeBirdLjj joined #lisp 2017-03-29T10:31:21Z knobo: split-sequence is quite simple. For example quote char for delimiter could be useful. 2017-03-29T10:32:39Z carlosda1 joined #lisp 2017-03-29T10:37:32Z carlosda1 quit (Ping timeout: 260 seconds) 2017-03-29T10:38:11Z m00natic joined #lisp 2017-03-29T10:46:51Z damke__ quit (Read error: Connection reset by peer) 2017-03-29T10:47:03Z smokeink joined #lisp 2017-03-29T10:47:47Z damke__ joined #lisp 2017-03-29T10:48:28Z seg quit (Ping timeout: 240 seconds) 2017-03-29T10:49:46Z milanj__ joined #lisp 2017-03-29T10:50:14Z seg joined #lisp 2017-03-29T10:50:53Z jackdaniel: I'm not here either 2017-03-29T10:51:21Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-29T10:52:07Z Kundry_Wag joined #lisp 2017-03-29T10:52:09Z Kundry_Wag quit (Remote host closed the connection) 2017-03-29T10:52:48Z lvo quit (Ping timeout: 240 seconds) 2017-03-29T10:53:04Z dxtr: So the more I'm toying with lisp the more I like it 2017-03-29T10:55:43Z smokeink quit (Ping timeout: 260 seconds) 2017-03-29T10:56:12Z iago: dxt: same here, but with a feeling of climbing a slope, and when it seems you see the top, a bad step make you slip and tumble down to the bottom, I don't think i will be ever able to master lisp :-/ 2017-03-29T10:56:49Z DeadTrickster joined #lisp 2017-03-29T10:57:01Z dxtr: iago: I just have a hard time remember the library functions 2017-03-29T10:57:05Z dxtr: But that's what Google is for 2017-03-29T10:57:18Z dxtr: And Zeal 2017-03-29T10:57:30Z dxtr: and auto-complete in emacs 2017-03-29T10:58:37Z iago: dxtr: hmm my emacs don't auto-complete lisp. is it a special mode or something like that ? I just use Lisp mode 2017-03-29T10:58:50Z dxtr: auto-complete-mode 2017-03-29T10:58:55Z iago: oh 2017-03-29T10:58:56Z dxtr: And possibly ac-slime 2017-03-29T10:58:57Z jameser quit (Ping timeout: 240 seconds) 2017-03-29T10:59:06Z jackdaniel: iago: use slime 2017-03-29T10:59:08Z Kundry_Wag joined #lisp 2017-03-29T10:59:36Z jackdaniel: then you get completion with M-Tab and Tab 2017-03-29T10:59:40Z jackdaniel: in slime-mode 2017-03-29T11:00:14Z iago: jackdaniel: i use slime but just for running scripts, and actually prefer a bash shell ... i guess I am doing something wrong 2017-03-29T11:00:23Z dxtr: iago: It's a package that is literally called auto-complete. There's also company but that never worked quite well for me so I decided to try out auto-complete the other day 2017-03-29T11:02:03Z dxtr: I write a function in my file buffer, C-c, C-x o, try the function 2017-03-29T11:02:34Z iago: ok, just started slime, and I am in Lisp major mode, ?sbcl minor mode ... should I change to slime-mode ? 2017-03-29T11:02:37Z dxtr: C-c also has the benefit of highlighting errors 2017-03-29T11:02:44Z iago: C-c C-x is undefined in my emacs 2017-03-29T11:02:54Z nydel: whichever repository my OS's pacman uses always has an easy emacs-slime, then you launch emacs & meta-x 'slime' return, autocomplete enabled after that. even if not how you normally do things, worth trying, makes for happy hacking 2017-03-29T11:02:55Z dxtr: I never said C-c C-x 2017-03-29T11:03:12Z dxtr: With C-c I meant C-c C-c, though :p 2017-03-29T11:03:32Z iago: ops 2017-03-29T11:03:37Z iago: now i see the coma sorry 2017-03-29T11:04:00Z dxtr: Go to the end of a function (just after the last parenthesis), press C-c C-c 2017-03-29T11:04:19Z dxtr: You should see something like ; compiling (DEFUN GET-TOKEN-BY-TEXT ...) in your slime window 2017-03-29T11:04:25Z dxtr: s/window/buffer/ 2017-03-29T11:04:45Z dxtr: Then you can try out the function as usual in your slime buffer 2017-03-29T11:05:13Z iago: so actually slime mode is enabled, ?sbcl is slime mode 2017-03-29T11:05:14Z dxtr: I also get compiler errors highlighted in my file buffer. But that might be because of flycheck 2017-03-29T11:05:31Z john2x quit (Ping timeout: 246 seconds) 2017-03-29T11:05:32Z iago: dxtr: ah I see, I can evaluate it that way 2017-03-29T11:05:40Z dxtr: Well yeah 2017-03-29T11:06:22Z nydel: C-c C-l for the entire file. also autocomplete in the buffer adjacent to superior-lisp is usually not just tab but C-c tab 2017-03-29T11:06:46Z dxtr: There's also slime-eval-region (C-c C-r), slime-eval-defun (C-M-x), slime-eval-buffer, etc 2017-03-29T11:07:13Z dxtr: nydel: Technically C-c C-l is *a* file, not the file. You could evaluate whatever file you want :) 2017-03-29T11:07:18Z dxtr: slime-eval-buffer is the current buffer 2017-03-29T11:07:33Z nydel: dxtr: C-c C-l return.. my mistake. 2017-03-29T11:07:42Z dxtr: Well you're not wrong 2017-03-29T11:08:01Z nydel: it's an important distinction hehe 2017-03-29T11:10:17Z iago: dxt:well yes looks like I must read more about slime, I just used it as if it were a shell, typing (load "blah.lisp") in the inferior-lisp buffer 2017-03-29T11:11:03Z EvW joined #lisp 2017-03-29T11:11:25Z dxtr: iago: I've read that a lot of people basically write their code in slime and then copy it to the file buffer 2017-03-29T11:11:41Z dxtr: I tried that. Didn't quite work for me 2017-03-29T11:11:46Z iago: oh 2017-03-29T11:12:13Z dxtr: Do you guys have lisp-mode enabled in your slime buffer? 2017-03-29T11:16:12Z smokeink joined #lisp 2017-03-29T11:16:29Z _cosmonaut_1 joined #lisp 2017-03-29T11:16:43Z _cosmonaut_ quit (Ping timeout: 260 seconds) 2017-03-29T11:22:27Z _cosmonaut_1 quit (Ping timeout: 240 seconds) 2017-03-29T11:22:32Z Amplituhedron joined #lisp 2017-03-29T11:24:33Z _cosmonaut_ joined #lisp 2017-03-29T11:27:57Z lvo joined #lisp 2017-03-29T11:28:05Z presiden quit (Ping timeout: 240 seconds) 2017-03-29T11:28:05Z damke__ quit (Ping timeout: 268 seconds) 2017-03-29T11:28:58Z _cosmonaut_ quit (Ping timeout: 246 seconds) 2017-03-29T11:29:48Z _cosmonaut_ joined #lisp 2017-03-29T11:37:08Z _cosmonaut_ quit (Ping timeout: 260 seconds) 2017-03-29T11:38:55Z _cosmonaut_ joined #lisp 2017-03-29T11:40:30Z Kundry_Wag quit (Remote host closed the connection) 2017-03-29T11:40:41Z presiden joined #lisp 2017-03-29T11:43:19Z _cosmonaut_ quit (Ping timeout: 246 seconds) 2017-03-29T11:44:07Z m00natic quit (Remote host closed the connection) 2017-03-29T11:44:08Z _cosmonaut_ joined #lisp 2017-03-29T11:45:46Z snowcrshd joined #lisp 2017-03-29T11:49:22Z carlosda1 joined #lisp 2017-03-29T11:51:18Z JuanDaugherty joined #lisp 2017-03-29T11:52:17Z Karl_Dscc quit (Remote host closed the connection) 2017-03-29T11:53:20Z _cosmonaut_ quit (Ping timeout: 256 seconds) 2017-03-29T11:53:38Z _cosmonaut_ joined #lisp 2017-03-29T11:53:38Z _cosmonaut_ quit (Client Quit) 2017-03-29T11:53:49Z presiden quit (Ping timeout: 246 seconds) 2017-03-29T11:56:44Z bariscant joined #lisp 2017-03-29T12:00:01Z damke__ joined #lisp 2017-03-29T12:00:29Z rpg joined #lisp 2017-03-29T12:01:58Z Kundry_Wag joined #lisp 2017-03-29T12:03:28Z sjl quit (Ping timeout: 240 seconds) 2017-03-29T12:05:26Z BitPuffin|osx joined #lisp 2017-03-29T12:06:33Z presiden joined #lisp 2017-03-29T12:07:05Z Kundry_Wag quit (Ping timeout: 240 seconds) 2017-03-29T12:10:10Z o1e9 joined #lisp 2017-03-29T12:14:51Z d4ryus3 joined #lisp 2017-03-29T12:17:52Z d4ryus2 quit (Ping timeout: 258 seconds) 2017-03-29T12:19:52Z wtetzner joined #lisp 2017-03-29T12:21:02Z lvo quit (Remote host closed the connection) 2017-03-29T12:21:09Z Karl_Dscc joined #lisp 2017-03-29T12:23:08Z wtetzner quit (Remote host closed the connection) 2017-03-29T12:23:09Z sjl joined #lisp 2017-03-29T12:26:08Z Kundry_Wag joined #lisp 2017-03-29T12:26:55Z dtornabene quit (Quit: Leaving) 2017-03-29T12:27:54Z nowhere_man joined #lisp 2017-03-29T12:27:58Z carlosda1 quit (Ping timeout: 264 seconds) 2017-03-29T12:28:17Z TDT quit (Quit: TDT) 2017-03-29T12:29:27Z rpg quit (Ping timeout: 240 seconds) 2017-03-29T12:30:07Z shdeng quit (Quit: Leaving) 2017-03-29T12:30:58Z Kundry_Wag quit (Remote host closed the connection) 2017-03-29T12:34:19Z carlosda1 joined #lisp 2017-03-29T12:34:42Z mazoe joined #lisp 2017-03-29T12:37:34Z Karl_Dscc quit (Ping timeout: 264 seconds) 2017-03-29T12:43:00Z Karl_Dscc joined #lisp 2017-03-29T12:44:24Z _cosmonaut_ joined #lisp 2017-03-29T12:46:07Z jameser joined #lisp 2017-03-29T12:47:46Z MrWoohoo quit (Ping timeout: 258 seconds) 2017-03-29T12:51:47Z dlowe: I usually use a file buffer instead of the repl 2017-03-29T12:59:20Z john2x joined #lisp 2017-03-29T13:05:51Z jdz: Slime repl has slime-repl mode, duh! 2017-03-29T13:06:49Z drewc: I use the file buffer for writing code, and the repl to test it. Often I'll make a t/file.lisp and use that to write tests, with the repl used only to run them. 2017-03-29T13:09:13Z _cosmonaut_ quit (Ping timeout: 260 seconds) 2017-03-29T13:11:03Z Harag quit (Ping timeout: 260 seconds) 2017-03-29T13:12:20Z splittist: The real dilemma is whether to use paredit in the repl or not. Both choices feel wrong to me ): 2017-03-29T13:16:31Z _cosmonaut_ joined #lisp 2017-03-29T13:16:53Z Amplituhedron quit (Ping timeout: 260 seconds) 2017-03-29T13:19:30Z _cosmonaut_ quit (Client Quit) 2017-03-29T13:20:31Z _cosmonaut_ joined #lisp 2017-03-29T13:21:08Z dxtr: Or should the toilet paper face the front or the back? 2017-03-29T13:21:39Z flip214: both ways. 2017-03-29T13:21:49Z flip214: like a möbius strip. 2017-03-29T13:22:08Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-29T13:24:00Z EvW quit (Ping timeout: 256 seconds) 2017-03-29T13:24:49Z Amplituhedron joined #lisp 2017-03-29T13:25:43Z TDT joined #lisp 2017-03-29T13:27:46Z EvW1 joined #lisp 2017-03-29T13:27:47Z jdz: Toilet paper is easy: the end should be to the front. 2017-03-29T13:28:28Z jdz: I had problems with paredit in repl buffer long time ago, but since then somebody said it's no longer a problem, so not sure any more... 2017-03-29T13:29:10Z jdz: Ugh, there's a wikipedia entry: https://en.wikipedia.org/wiki/Toilet_paper_orientation 2017-03-29T13:29:52Z damke joined #lisp 2017-03-29T13:31:25Z damke__ quit (Ping timeout: 268 seconds) 2017-03-29T13:33:40Z dxtr: hah 2017-03-29T13:35:39Z damke quit (Remote host closed the connection) 2017-03-29T13:36:12Z damke joined #lisp 2017-03-29T13:36:34Z gigetoo quit (Read error: Connection reset by peer) 2017-03-29T13:36:35Z CDag joined #lisp 2017-03-29T13:37:01Z jerme joined #lisp 2017-03-29T13:39:13Z gigetoo joined #lisp 2017-03-29T13:43:16Z mishoo quit (Ping timeout: 256 seconds) 2017-03-29T13:44:56Z decuser quit (Quit: rcirc on GNU Emacs 25.1.1) 2017-03-29T13:45:14Z jameser quit (Read error: Connection reset by peer) 2017-03-29T13:45:24Z jameser_ joined #lisp 2017-03-29T13:48:40Z CDag left #lisp 2017-03-29T13:51:57Z Amplituhedron quit (Ping timeout: 240 seconds) 2017-03-29T13:52:05Z _cosmonaut_ quit (Ping timeout: 240 seconds) 2017-03-29T13:53:02Z bariscant quit (Remote host closed the connection) 2017-03-29T13:53:53Z jameser_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-29T13:54:36Z bariscant joined #lisp 2017-03-29T13:55:12Z cromachina quit (Read error: Connection reset by peer) 2017-03-29T13:55:26Z oleo joined #lisp 2017-03-29T13:55:41Z bariscant quit (Remote host closed the connection) 2017-03-29T13:55:45Z jameser joined #lisp 2017-03-29T13:56:49Z rumbler31 joined #lisp 2017-03-29T13:59:56Z jameser quit (Client Quit) 2017-03-29T14:01:01Z Amplituhedron joined #lisp 2017-03-29T14:02:41Z iago quit (Quit: Leaving) 2017-03-29T14:04:06Z burtons joined #lisp 2017-03-29T14:07:41Z damke_ joined #lisp 2017-03-29T14:09:39Z damke quit (Ping timeout: 268 seconds) 2017-03-29T14:09:56Z dec0n quit (Read error: Connection reset by peer) 2017-03-29T14:11:19Z damke joined #lisp 2017-03-29T14:13:58Z damke_ quit (Ping timeout: 268 seconds) 2017-03-29T14:14:36Z rtmpdavid` joined #lisp 2017-03-29T14:14:51Z rtmpdavid` quit (Remote host closed the connection) 2017-03-29T14:15:34Z EvW1 quit (Ping timeout: 256 seconds) 2017-03-29T14:18:15Z edgar-rft quit (Quit: edgar-rft) 2017-03-29T14:21:06Z damke_ joined #lisp 2017-03-29T14:22:01Z cods quit (Quit: brb) 2017-03-29T14:23:13Z damke quit (Ping timeout: 268 seconds) 2017-03-29T14:27:05Z mrottenkolber quit (Ping timeout: 240 seconds) 2017-03-29T14:31:27Z damke joined #lisp 2017-03-29T14:33:22Z drewc quit (Ping timeout: 264 seconds) 2017-03-29T14:33:24Z nyef: Going back about an hour, toilet paper should normally be flap-forward, but the exception would be in situations where a cat or toddler is around that likes to bat at the roll to make the paper spill out onto the floor. 2017-03-29T14:34:04Z Karunamon|2 is now known as Karunamon 2017-03-29T14:34:29Z damke_ quit (Read error: Connection reset by peer) 2017-03-29T14:35:07Z smokeink quit (Remote host closed the connection) 2017-03-29T14:35:52Z scymtym quit (Ping timeout: 258 seconds) 2017-03-29T14:36:46Z ekinmur joined #lisp 2017-03-29T14:38:16Z jdz: nyef: yes, that's one of the cases in the wikipedia entry :) 2017-03-29T14:38:51Z unbalancedparen joined #lisp 2017-03-29T14:39:31Z lonjil quit (Ping timeout: 255 seconds) 2017-03-29T14:39:46Z smokeink joined #lisp 2017-03-29T14:39:52Z john2x quit (Ping timeout: 268 seconds) 2017-03-29T14:40:40Z Karunamon: hey there - a question i'm sure comes up a great deal, but what would you recommend for someone who wants to learn a lisp dialect without having to pick up emacs at the same time? 2017-03-29T14:41:48Z dlowe: Common Lisp is great. 2017-03-29T14:42:13Z dlowe: If you're a vim fan, there's slimv in the core distribution 2017-03-29T14:42:18Z jackdaniel: Karunamon: there is jupyter for common lisp, also geany has experimental plugin for it 2017-03-29T14:42:20Z Karunamon: i more meant for IDE purpos- okay yeah :) 2017-03-29T14:42:25Z jackdaniel: same goes for sublime I think 2017-03-29T14:42:29Z nyef: Karunamon: Learn emacs first? d-: 2017-03-29T14:42:58Z jackdaniel: Karunamon: https://phab.jasom.org/diffusion/GL/ 2017-03-29T14:43:14Z dlowe: If you want to play around, you can use lispworks for free and it has its own IDE built-in 2017-03-29T14:43:17Z Karunamon: emacs has been on my "learn this" list for ages but I keep faceplanting the difficulty curve in a way I didnt with vim 2017-03-29T14:43:19Z jackdaniel: https://www.marktrapp.com/blog/2014/01/20/lisp-with-os-x-sublime-text/ 2017-03-29T14:43:39Z jackdaniel: https://github.com/fredokun/cl-jupyter 2017-03-29T14:43:41Z jackdaniel: Karunamon: ↑ 2017-03-29T14:43:52Z dlowe: Karunamon: the difficulty curve can be lessened a lot by just using it like a gui editor at first. 2017-03-29T14:43:54Z jackdaniel: but you'll get most support with emacs here 2017-03-29T14:44:05Z smokeink quit (Ping timeout: 240 seconds) 2017-03-29T14:44:13Z dlowe: Enable the menu bar, use the mouse and arrow keys 2017-03-29T14:44:35Z dlowe: The menu items have the keyboard shortcuts on them 2017-03-29T14:45:02Z prole joined #lisp 2017-03-29T14:45:17Z dlowe: It's a much nicer, more organic way to use it rather than trying to consume the tutorial all at once 2017-03-29T14:46:06Z drewc joined #lisp 2017-03-29T14:46:28Z sellout- joined #lisp 2017-03-29T14:47:29Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-29T14:47:50Z sjl: Karunamon: just use whatever editor you want. Vim is fine, there's options for using it with CL if you want integration. 2017-03-29T14:48:54Z pjb is now known as opinionatedpu 2017-03-29T14:49:22Z jdz: That's a bad advice. 2017-03-29T14:49:32Z daviid quit (Ping timeout: 260 seconds) 2017-03-29T14:49:52Z quazimodo quit (Ping timeout: 246 seconds) 2017-03-29T14:49:54Z jdz: Slime is the best thing since sliced bread. 2017-03-29T14:50:03Z opinionatedpu is now known as pjb 2017-03-29T14:50:25Z pjb: use whatever editor you want, as long as it's GNU emacs. 2017-03-29T14:50:44Z pjb: (some years ago, Xemacs would have been an option, but not really anymore). 2017-03-29T14:50:51Z Fade: even the gooey IDEs use emacs. 2017-03-29T14:50:59Z slyrus joined #lisp 2017-03-29T14:51:15Z pjb: Indeed. 2017-03-29T14:51:36Z pjb: And even macOS NSText and NSTextField use emacs key bindings. Including C-t ! 2017-03-29T14:52:28Z sjl: And even Vim, with vim-rsi 2017-03-29T14:52:48Z dlowe: it's not bad advice. You don't HAVE to use the best thing. 2017-03-29T14:52:48Z carlosda1 quit (Ping timeout: 260 seconds) 2017-03-29T14:53:01Z dlowe: premature optimization etc etc 2017-03-29T14:53:56Z sjl: You Must Learn To Use This One Local Maxima Or You're Bad 2017-03-29T14:54:12Z joneshf-laptop quit (Ping timeout: 260 seconds) 2017-03-29T14:54:16Z dlowe: Q: "This lisp thing looks fun, I want to try it." A: "Okay, but first you must change editors which is incredibly not fun, before you get to the fun part." 2017-03-29T14:54:18Z nyef still largely doesn't use SLIME. 2017-03-29T14:54:22Z sjl: Don't worry about the editor bikeshed, just make things 2017-03-29T14:55:08Z jdz: That's not premature optimization at all; for instance, Slime will indent the code properly, and everybody here would expect the code to be indented properly when advice is being sought here. 2017-03-29T14:55:23Z nyef: Make sure your editor can do paren-balancing, and ideally has a Common Lisp indent mode or allows you to write your own indent rules, or prepare to have to do your indenting yourself. Beyond that, editor integration is gravy. 2017-03-29T14:56:01Z sjl: the pen and paper I did the Schemer books with didn't have autoindent or paren balancing and it worked just fine 2017-03-29T14:56:28Z sjl: but yeah, you probably want an editor that will indent your code. most of them will. 2017-03-29T14:56:38Z jdz: Yeah, for some values of "just fine". I've also written lisp code in Notepad (back in the day), would not call it a fun experience at all. 2017-03-29T14:57:01Z slyrus_ joined #lisp 2017-03-29T14:57:01Z nyef: And, of course, some code should be indented six feet downwards and covered with dirt. d-: 2017-03-29T14:57:38Z jdz: Relevant: https://twitter.com/sudosev/status/846376181637238785 2017-03-29T14:57:55Z pjb: Q: "This lisp thing looks fun, I want to try it." A: "I see you're a discriminating padawan, you're already using emacs and have been since primary school to write your English homework." 2017-03-29T14:58:48Z sjl: *presents pinkies already mangled into gnarled stumps* 2017-03-29T14:58:49Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-29T14:58:50Z sjl: You are the chosen one 2017-03-29T14:59:43Z pjb: 1- teach lisp in the terminal REPL. 2- make them use ed to edit lisp code. 3- make them implement ed in lisp using ed! 4- let them glimpse at you using emacs for your lisping. 2017-03-29T14:59:43Z sjl: You merely adopted the carpal tunnel, I was born with it 2017-03-29T15:00:14Z pjb: I mean, it worked on me: they taught me FORTRAN IV, and made me write an ED in FORTRAN on VAX! 2017-03-29T15:00:50Z pjb: Then when I saw a hacker using emacs, nobody had to advocate it to me! 2017-03-29T15:01:25Z splittist: sjl: crtl goes next to the space bar. alt goes next to control. (hyper and meta left as an exercise.) 2017-03-29T15:01:34Z eazar001 joined #lisp 2017-03-29T15:02:03Z pjb: splittist: radical emacser: C- is the space bar! 2017-03-29T15:02:29Z sjl: what about the headstick? 2017-03-29T15:02:40Z pjb: For s-. 2017-03-29T15:02:49Z jdz: Relevant: https://xkcd.com/1172/ 2017-03-29T15:03:06Z didi joined #lisp 2017-03-29T15:03:15Z sjl: alternative solution: throw cash at lispworks 2017-03-29T15:03:56Z didi: Should I use (defun my-test (&key (test 'eql)) ...) or (defun my-test (&key (test #'eql)) ...)? i.e. 'eql or #'eql? 2017-03-29T15:04:04Z pjb: alternative solution: build your own mechanical keyboard. 2017-03-29T15:04:59Z pjb: alternative solution: invest in mind reading devices. 2017-03-29T15:05:19Z pjb: didi: for CL functions it doesn't make any difference. 2017-03-29T15:05:35Z pjb: for your own functions it may be semantically different! 2017-03-29T15:05:54Z pjb: I prefer 'eql since it's easier. 2017-03-29T15:07:15Z pjb: arguably, #'eql would be more efficient. 2017-03-29T15:07:17Z didi: One issue with #'eql is that it fails with (declare (type (member 'eql))). 2017-03-29T15:07:56Z pjb: Indeed, and with a symbol, you could have attributes attached to it (in its plist), that you could use to optimize its use. 2017-03-29T15:08:41Z didi: I think I've never looked inside a symbol's plist. 2017-03-29T15:09:01Z joneshf-laptop joined #lisp 2017-03-29T15:09:28Z shifty quit (Ping timeout: 240 seconds) 2017-03-29T15:09:42Z rippa joined #lisp 2017-03-29T15:16:44Z rpg joined #lisp 2017-03-29T15:16:57Z al-damiri joined #lisp 2017-03-29T15:21:44Z cods joined #lisp 2017-03-29T15:22:56Z mishoo joined #lisp 2017-03-29T15:23:28Z sjl quit (Ping timeout: 246 seconds) 2017-03-29T15:24:57Z onehrxn quit (Ping timeout: 240 seconds) 2017-03-29T15:26:43Z _cosmonaut_ joined #lisp 2017-03-29T15:27:12Z onehrxn joined #lisp 2017-03-29T15:31:08Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-29T15:43:53Z gabriel_laddel_p joined #lisp 2017-03-29T15:45:43Z gabriel_laddel_p quit (Client Quit) 2017-03-29T15:49:13Z okflo` joined #lisp 2017-03-29T15:49:40Z Bike joined #lisp 2017-03-29T15:50:35Z lonjil joined #lisp 2017-03-29T15:52:35Z o1e9 quit (Quit: Ex-Chat) 2017-03-29T15:52:52Z okflo quit (Ping timeout: 246 seconds) 2017-03-29T16:00:34Z okflo`: pjb: how did you remap the spacebar to ctrl? with xcape? what key do you use as space instead - still spacebar if only hit (without a second key)? 2017-03-29T16:01:14Z pjb: with xmodmap. 2017-03-29T16:01:42Z okflo`: ok, so you have an alternative key for space? 2017-03-29T16:01:49Z pjb: I don't really do it. Space bars have considerably shrunk with the addition of modifiers left and right to it. 2017-03-29T16:02:05Z pjb: Some of the early keyboards had a space bar almost as wide as the keyboard. 2017-03-29T16:02:24Z damke_ joined #lisp 2017-03-29T16:02:25Z pjb: I've seen laptops with a 3-key wide space bar! 2017-03-29T16:03:34Z splittist: That's all that's needed. You only need to look at a used keyboard to see that the area of the spacebar actually used is about a key and a bit wide. (Well, maybe two keys.) 2017-03-29T16:03:43Z okflo`: but the idea sounds interesting, i'll try... ;) 2017-03-29T16:03:53Z splittist: Where by 'used' I mean 'dirty' (: 2017-03-29T16:04:05Z sjl joined #lisp 2017-03-29T16:04:21Z milanj__ quit (Quit: This computer has gone to sleep) 2017-03-29T16:04:21Z damke quit (Ping timeout: 268 seconds) 2017-03-29T16:06:32Z didi: I am this -> <- close from using multiple inheritance. 2017-03-29T16:06:38Z shaftoe: i like keyboards that have hardware switches to remap caps/ctrl 2017-03-29T16:06:39Z didi: Exciting times. 2017-03-29T16:06:52Z shaftoe: didi: :do it and dont look back 2017-03-29T16:06:57Z didi: :-) 2017-03-29T16:10:21Z analognoise joined #lisp 2017-03-29T16:10:50Z tumdum joined #lisp 2017-03-29T16:10:57Z tumdum quit (Changing host) 2017-03-29T16:10:57Z tumdum joined #lisp 2017-03-29T16:15:52Z ekinmur quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-29T16:16:02Z _cosmonaut_ quit (Quit: Leaving.) 2017-03-29T16:16:08Z scymtym joined #lisp 2017-03-29T16:19:04Z antoszka: shaftoe: just setxkbmap -layout -option ctrl:nocaps 2017-03-29T16:19:12Z antoszka: shaftoe: no need for hardware support. 2017-03-29T16:20:16Z shka_ joined #lisp 2017-03-29T16:25:18Z wheelsucker joined #lisp 2017-03-29T16:27:15Z TDT quit (Quit: TDT) 2017-03-29T16:31:56Z daviid joined #lisp 2017-03-29T16:32:58Z warweasle joined #lisp 2017-03-29T16:35:51Z damke joined #lisp 2017-03-29T16:37:02Z damke_ quit (Ping timeout: 268 seconds) 2017-03-29T16:37:28Z slyrus_ quit (Ping timeout: 240 seconds) 2017-03-29T16:38:35Z hhdave quit (Ping timeout: 240 seconds) 2017-03-29T16:39:35Z damke_ joined #lisp 2017-03-29T16:39:58Z jdz quit (Ping timeout: 264 seconds) 2017-03-29T16:40:06Z jdz joined #lisp 2017-03-29T16:41:12Z ryanwatk` quit (Ping timeout: 256 seconds) 2017-03-29T16:41:43Z varjag joined #lisp 2017-03-29T16:42:35Z damke quit (Ping timeout: 268 seconds) 2017-03-29T16:42:57Z pve joined #lisp 2017-03-29T16:43:55Z hlavaty quit (Remote host closed the connection) 2017-03-29T16:44:38Z damke joined #lisp 2017-03-29T16:45:52Z defaultxr joined #lisp 2017-03-29T16:46:54Z damke_ quit (Ping timeout: 268 seconds) 2017-03-29T16:47:23Z sellout-1 joined #lisp 2017-03-29T16:48:52Z sellout- quit (Ping timeout: 246 seconds) 2017-03-29T16:49:47Z carlosda1 joined #lisp 2017-03-29T16:50:58Z drewc quit (Ping timeout: 246 seconds) 2017-03-29T16:51:35Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-03-29T16:51:52Z Karl_Dscc quit (Remote host closed the connection) 2017-03-29T16:54:09Z carlosda1 quit (Ping timeout: 260 seconds) 2017-03-29T16:54:23Z myrkraverk quit (Remote host closed the connection) 2017-03-29T16:57:32Z DeadTrickster joined #lisp 2017-03-29T16:58:32Z neoncontrails joined #lisp 2017-03-29T17:00:47Z X-Scale joined #lisp 2017-03-29T17:03:48Z unbalancedparen quit (Ping timeout: 240 seconds) 2017-03-29T17:03:56Z drewc joined #lisp 2017-03-29T17:08:24Z myrkraverk joined #lisp 2017-03-29T17:15:02Z MoALTz quit (Quit: Leaving) 2017-03-29T17:17:35Z gargaml quit (Quit: WeeChat 1.7) 2017-03-29T17:22:12Z rpg: The SBCL manual says the default dynamic space is platform-dependent. Is there some way to find out what your platform's default is? 2017-03-29T17:22:44Z Xach: rpg: (sb-ext:dynamic-space-size) reports the dynamic space size 2017-03-29T17:23:27Z pjb quit (Remote host closed the connection) 2017-03-29T17:23:30Z bocaneri quit (Read error: Connection reset by peer) 2017-03-29T17:24:31Z Xach: Is that what you mean? 2017-03-29T17:27:04Z jackdaniel quit (Remote host closed the connection) 2017-03-29T17:28:09Z MoALTz joined #lisp 2017-03-29T17:30:35Z jasom: How have I not seen fukamachi's version of electron integration before? https://www.slideshare.net/fukamachi/sblint?next_slideshow=1 2017-03-29T17:32:25Z jackdaniel joined #lisp 2017-03-29T17:35:01Z rpg: Xach: Thanks! Wonder if it would be appropriate to have cross-reference in the manual from --dynamic-space-size to (sb-ext:dynamic-space-size). 2017-03-29T17:36:14Z wheelsucker quit (Read error: Connection reset by peer) 2017-03-29T17:37:42Z drewc quit (Remote host closed the connection) 2017-03-29T17:39:34Z mood: jasom: Better link: https://www.slideshare.net/fukamachi/building-gui-app-with-electron-and-lisp :) 2017-03-29T17:39:51Z BlueRavenGT joined #lisp 2017-03-29T17:40:29Z payphone joined #lisp 2017-03-29T17:40:35Z jasom: mood: thanks 2017-03-29T17:40:58Z jasom: mood: must have auto-advanced when I finished the previous one 2017-03-29T17:42:21Z milanj joined #lisp 2017-03-29T17:44:28Z mood: jasom: But thank you for the link, very interesting 2017-03-29T17:44:51Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-29T17:46:20Z mood: fukamachi has an interesting naming convention: clack -> lack (+ clack), prove -> rove. I guess he'll one day end up with k and e, and then they'll be done 2017-03-29T17:47:51Z Amplituhedron quit (Quit: Konversation terminated!) 2017-03-29T17:51:39Z daemoz quit (Ping timeout: 268 seconds) 2017-03-29T17:54:41Z manualcrank joined #lisp 2017-03-29T17:55:22Z marvin2 joined #lisp 2017-03-29T17:59:39Z TDT joined #lisp 2017-03-29T18:00:53Z jasom: jackdaniel, Karunamon, geany-lisp is on github now, including an ubuntu package: https://github.com/jasom/geany-lisp/releases 2017-03-29T18:00:58Z carlosda1 joined #lisp 2017-03-29T18:05:05Z carlosda1 quit (Ping timeout: 240 seconds) 2017-03-29T18:06:29Z tumdum quit (Ping timeout: 260 seconds) 2017-03-29T18:07:27Z sjl quit (Ping timeout: 240 seconds) 2017-03-29T18:12:54Z Baggers joined #lisp 2017-03-29T18:13:01Z pmc joined #lisp 2017-03-29T18:14:24Z carlosda1 joined #lisp 2017-03-29T18:15:13Z slyrus_ joined #lisp 2017-03-29T18:16:03Z pmc quit (Client Quit) 2017-03-29T18:19:14Z carlosda1 quit (Ping timeout: 256 seconds) 2017-03-29T18:20:32Z otjura joined #lisp 2017-03-29T18:21:10Z shpx joined #lisp 2017-03-29T18:21:42Z raynold joined #lisp 2017-03-29T18:21:57Z Baggers left #lisp 2017-03-29T18:23:11Z sellout-1 quit (Quit: Leaving.) 2017-03-29T18:24:47Z elinux quit (Quit: Leaving) 2017-03-29T18:27:06Z sjl joined #lisp 2017-03-29T18:27:49Z azahi joined #lisp 2017-03-29T18:28:27Z daemoz joined #lisp 2017-03-29T18:29:40Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-29T18:32:19Z neoncontrails joined #lisp 2017-03-29T18:33:03Z nirved quit (Quit: Leaving) 2017-03-29T18:33:49Z ryanwatkins joined #lisp 2017-03-29T18:38:55Z zaquest quit (Remote host closed the connection) 2017-03-29T18:39:19Z zaquest joined #lisp 2017-03-29T18:41:20Z Tex_Nick joined #lisp 2017-03-29T18:43:27Z sjl quit (Ping timeout: 240 seconds) 2017-03-29T18:43:31Z sjl__ joined #lisp 2017-03-29T18:54:24Z carlosda1 joined #lisp 2017-03-29T19:02:37Z nowhere_man joined #lisp 2017-03-29T19:04:25Z damke quit (Ping timeout: 268 seconds) 2017-03-29T19:06:41Z damke joined #lisp 2017-03-29T19:10:14Z slyrus_ quit (Ping timeout: 256 seconds) 2017-03-29T19:14:23Z phoe: loke: all of them. 2017-03-29T19:14:28Z phoe: None of the chapters are done just yet. 2017-03-29T19:14:32Z phoe: So I don't need a list. 2017-03-29T19:19:45Z dxtr: So I bought that "Common lisp in the wild" book 2017-03-29T19:20:05Z dxtr: Has anyone else read it? 2017-03-29T19:22:16Z dlowe: Never heard of it. Interesting pricing structure. 2017-03-29T19:23:07Z dxtr: I thought it was interesting because it covers the exact subject that kept me away from lisp for so long :p 2017-03-29T19:24:58Z dxtr: And it seems like decent reference material 2017-03-29T19:32:16Z sjl__ quit (Read error: Connection reset by peer) 2017-03-29T19:34:00Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-29T19:39:31Z pmc joined #lisp 2017-03-29T19:40:55Z presiden: pricing structure? 2017-03-29T19:42:52Z _I_R_C_F_R_E_A_K joined #lisp 2017-03-29T19:47:28Z ryanwatkins quit (Ping timeout: 240 seconds) 2017-03-29T19:48:04Z jmsb joined #lisp 2017-03-29T19:48:49Z didi quit (Quit: you can't /fire me, I /quit) 2017-03-29T19:49:51Z azahi quit (Quit: Bye) 2017-03-29T19:49:54Z _I_R_C_F_R_E_A_K left #lisp 2017-03-29T19:49:55Z _I_R_C_F_R_E_A_K joined #lisp 2017-03-29T19:50:07Z _I_R_C_F_R_E_A_K left #lisp 2017-03-29T19:50:08Z _I_R_C_F_R_E_A_K joined #lisp 2017-03-29T19:50:20Z _I_R_C_F_R_E_A_K left #lisp 2017-03-29T19:50:20Z _I_R_C_F_R_E_A_K joined #lisp 2017-03-29T19:50:43Z _I_R_C_F_R_E_A_K left #lisp 2017-03-29T19:50:57Z yrk joined #lisp 2017-03-29T19:51:35Z yrk quit (Changing host) 2017-03-29T19:51:35Z yrk joined #lisp 2017-03-29T19:54:41Z Baggers joined #lisp 2017-03-29T19:54:45Z mishoo quit (Ping timeout: 260 seconds) 2017-03-29T19:56:14Z dioxirane joined #lisp 2017-03-29T19:56:38Z otjura quit (Quit: Konversation terminated!) 2017-03-29T19:57:31Z daviid quit (Ping timeout: 246 seconds) 2017-03-29T20:02:32Z azahi joined #lisp 2017-03-29T20:05:22Z RedEight joined #lisp 2017-03-29T20:05:33Z ircbrowse quit (Ping timeout: 245 seconds) 2017-03-29T20:07:27Z azahi quit (Ping timeout: 240 seconds) 2017-03-29T20:07:32Z slyrus_ joined #lisp 2017-03-29T20:10:18Z ircbrowse joined #lisp 2017-03-29T20:10:19Z vlatkoB quit (Remote host closed the connection) 2017-03-29T20:12:27Z carlosda1 quit (Ping timeout: 240 seconds) 2017-03-29T20:12:30Z dioxirane quit (Ping timeout: 260 seconds) 2017-03-29T20:14:13Z edgar-rft joined #lisp 2017-03-29T20:17:07Z slyrus_ quit (Ping timeout: 246 seconds) 2017-03-29T20:17:11Z j0nii joined #lisp 2017-03-29T20:19:27Z j0nii quit (Client Quit) 2017-03-29T20:19:57Z iago_ joined #lisp 2017-03-29T20:22:05Z MoALTz quit (Quit: Leaving) 2017-03-29T20:29:34Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-29T20:30:24Z oystewh joined #lisp 2017-03-29T20:35:27Z aeth_ joined #lisp 2017-03-29T20:35:56Z axion: Do any of the alexandria MAP-* functions create a list of all combinations given 2 sets? I'm having a hard time understanding them and want to know if I wrote this function for nothing (and inefficiently). Example: (my-fun '(f d i) '((2 1) (3 1))) => ((3 I) (3 D) (3 F) (2 I) (2 D) (2 F)) 2017-03-29T20:36:05Z aeth quit (Quit: Reconnecting) 2017-03-29T20:36:20Z damke__ joined #lisp 2017-03-29T20:37:32Z damke quit (Ping timeout: 268 seconds) 2017-03-29T20:37:50Z aeth_: that's almost the cartesian product... strange that CL supports lists as sets (mostly) except for that (unless they call it something else) 2017-03-29T20:39:07Z aeth_: (my-fun '(2 3) '(f d i)) would be the API for that 2017-03-29T20:39:13Z axion: Oh wait. My explanation was a bit wrong, and no there won't be what I'm looking for. each tuples product is used 2017-03-29T20:39:17Z axion: THanks :) 2017-03-29T20:39:19Z aeth_: ah 2017-03-29T20:39:52Z otjura joined #lisp 2017-03-29T20:40:12Z axion: Ignore me. I just sat down coding for the day, apparently forgetting where I left off and what my code was doing. 2017-03-29T20:40:45Z aeth_ is now known as aeth 2017-03-29T20:59:18Z mrSpec quit (Ping timeout: 245 seconds) 2017-03-29T20:59:37Z iago_ quit (Ping timeout: 260 seconds) 2017-03-29T20:59:50Z mrSpec joined #lisp 2017-03-29T21:00:13Z gingerale quit (Remote host closed the connection) 2017-03-29T21:00:14Z mrSpec is now known as Guest20460 2017-03-29T21:04:38Z mishoo joined #lisp 2017-03-29T21:05:11Z slyrus_ joined #lisp 2017-03-29T21:06:18Z damke joined #lisp 2017-03-29T21:07:03Z shka_ quit (Ping timeout: 260 seconds) 2017-03-29T21:08:10Z strykerkkd joined #lisp 2017-03-29T21:08:15Z stryker_kkd joined #lisp 2017-03-29T21:08:26Z strykerkkd quit (Remote host closed the connection) 2017-03-29T21:08:59Z damke__ quit (Ping timeout: 268 seconds) 2017-03-29T21:13:31Z okflo` left #lisp 2017-03-29T21:14:44Z Balooga joined #lisp 2017-03-29T21:23:46Z damke_ joined #lisp 2017-03-29T21:26:05Z damke quit (Ping timeout: 327 seconds) 2017-03-29T21:26:57Z TDT quit (Quit: TDT) 2017-03-29T21:26:57Z BlueRavenGT quit (Ping timeout: 240 seconds) 2017-03-29T21:27:58Z rumbler31 quit (Ping timeout: 259 seconds) 2017-03-29T21:40:12Z edgar-rft quit (Quit: edgar-rft) 2017-03-29T21:44:56Z beaky quit (Ping timeout: 256 seconds) 2017-03-29T21:45:04Z ryanwatkins joined #lisp 2017-03-29T21:45:58Z TDT joined #lisp 2017-03-29T21:46:31Z wtetzner joined #lisp 2017-03-29T21:46:35Z BitPuffin|osx quit (Ping timeout: 240 seconds) 2017-03-29T21:47:55Z beaky joined #lisp 2017-03-29T21:50:29Z TDT quit (Ping timeout: 260 seconds) 2017-03-29T21:52:35Z rjeli quit (Ping timeout: 240 seconds) 2017-03-29T21:53:43Z enzuru joined #lisp 2017-03-29T21:55:18Z rjeli joined #lisp 2017-03-29T22:07:14Z Karl_Dscc joined #lisp 2017-03-29T22:08:23Z eazar001 quit (Quit: WeeChat 1.5) 2017-03-29T22:09:29Z eazar001 joined #lisp 2017-03-29T22:14:01Z angavrilov quit (Remote host closed the connection) 2017-03-29T22:14:10Z presiden quit (Ping timeout: 264 seconds) 2017-03-29T22:14:12Z wtetzner quit (Remote host closed the connection) 2017-03-29T22:18:37Z neoncontrails quit (Remote host closed the connection) 2017-03-29T22:18:41Z pmc quit (Quit: Leaving) 2017-03-29T22:26:10Z presiden joined #lisp 2017-03-29T22:28:16Z mishoo quit (Ping timeout: 260 seconds) 2017-03-29T22:30:30Z xuxuru joined #lisp 2017-03-29T22:35:57Z prole quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2017-03-29T22:42:28Z varjag quit (Ping timeout: 240 seconds) 2017-03-29T22:43:14Z otjura quit (Quit: Konversation terminated!) 2017-03-29T22:43:56Z Myk267 joined #lisp 2017-03-29T22:44:08Z daviid joined #lisp 2017-03-29T22:49:43Z quazimodo joined #lisp 2017-03-29T22:55:11Z Tex_Nick quit (Quit: In Linux, We Trust) 2017-03-29T23:01:32Z jmsb quit (Remote host closed the connection) 2017-03-29T23:03:43Z Baggers quit (Remote host closed the connection) 2017-03-29T23:05:32Z nullman quit (Ping timeout: 268 seconds) 2017-03-29T23:06:13Z nelder joined #lisp 2017-03-29T23:07:28Z nullman joined #lisp 2017-03-29T23:07:35Z gigetoo quit (Ping timeout: 240 seconds) 2017-03-29T23:09:49Z gigetoo joined #lisp 2017-03-29T23:11:51Z chatter29 joined #lisp 2017-03-29T23:12:07Z chatter29 quit (Client Quit) 2017-03-29T23:12:17Z chatter29 joined #lisp 2017-03-29T23:13:42Z chatter29 quit (Client Quit) 2017-03-29T23:18:12Z attila_lendvai joined #lisp 2017-03-29T23:18:12Z attila_lendvai quit (Changing host) 2017-03-29T23:18:12Z attila_lendvai joined #lisp 2017-03-29T23:24:48Z xuxuru quit (Quit: xuxuru) 2017-03-29T23:26:17Z onehrxn quit (Quit: Leave for a while) 2017-03-29T23:32:04Z damke joined #lisp 2017-03-29T23:32:35Z shpx quit (Ping timeout: 240 seconds) 2017-03-29T23:34:52Z damke_ quit (Ping timeout: 256 seconds) 2017-03-29T23:36:46Z RedEight quit (Quit: leaving) 2017-03-29T23:40:53Z stryker_kkd quit (Quit: Leaving) 2017-03-29T23:47:24Z wtetzner joined #lisp 2017-03-29T23:49:36Z pve quit (Ping timeout: 256 seconds) 2017-03-29T23:50:14Z rumbler31 joined #lisp 2017-03-29T23:51:20Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-29T23:52:10Z clintm quit (Remote host closed the connection) 2017-03-29T23:54:23Z sz0 joined #lisp 2017-03-29T23:54:28Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-29T23:56:34Z Myk267 quit (Quit: Leaving) 2017-03-29T23:57:18Z moei quit (Quit: Leaving...) 2017-03-29T23:58:55Z presiden quit (Read error: Connection reset by peer) 2017-03-30T00:00:14Z cromachina joined #lisp 2017-03-30T00:04:06Z Kundry_Wag joined #lisp 2017-03-30T00:05:30Z seg quit (Ping timeout: 258 seconds) 2017-03-30T00:07:07Z wtetzner quit (Remote host closed the connection) 2017-03-30T00:08:00Z pmc joined #lisp 2017-03-30T00:08:07Z Balooga_ joined #lisp 2017-03-30T00:10:15Z seg joined #lisp 2017-03-30T00:10:42Z rumbler31 joined #lisp 2017-03-30T00:11:08Z Balooga quit (Ping timeout: 256 seconds) 2017-03-30T00:14:46Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-30T00:15:18Z presiden joined #lisp 2017-03-30T00:16:37Z Karl_Dscc quit (Remote host closed the connection) 2017-03-30T00:17:59Z pmc quit (Quit: Leaving) 2017-03-30T00:24:32Z analognoise quit (Remote host closed the connection) 2017-03-30T00:24:48Z rumbler31 joined #lisp 2017-03-30T00:25:10Z neoncontrails joined #lisp 2017-03-30T00:26:03Z Tex_Nick joined #lisp 2017-03-30T00:26:06Z Tex_Nick quit (Remote host closed the connection) 2017-03-30T00:26:38Z Tex_Nick joined #lisp 2017-03-30T00:27:10Z TDT joined #lisp 2017-03-30T00:27:27Z JuanDaugherty joined #lisp 2017-03-30T00:29:05Z rumbler31 quit (Ping timeout: 240 seconds) 2017-03-30T00:38:17Z wtetzner joined #lisp 2017-03-30T00:41:43Z slyrus_ quit (Ping timeout: 246 seconds) 2017-03-30T00:41:48Z bungoman joined #lisp 2017-03-30T00:45:44Z wtetzner quit (Remote host closed the connection) 2017-03-30T00:54:05Z slyrus quit (Ping timeout: 240 seconds) 2017-03-30T01:00:18Z ryanwatkins quit (Remote host closed the connection) 2017-03-30T01:01:00Z rumbler31 joined #lisp 2017-03-30T01:05:10Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-30T01:11:59Z slyrus joined #lisp 2017-03-30T01:12:43Z john2x joined #lisp 2017-03-30T01:21:47Z ryanwatkins joined #lisp 2017-03-30T01:22:03Z Kaisyu joined #lisp 2017-03-30T01:23:47Z FreeBirdLjj joined #lisp 2017-03-30T01:26:03Z burtons quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-30T01:28:05Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-30T01:36:04Z krwq joined #lisp 2017-03-30T01:40:31Z neoncontrails quit (Remote host closed the connection) 2017-03-30T01:43:23Z stardiviner joined #lisp 2017-03-30T01:46:46Z neoncontrails joined #lisp 2017-03-30T01:47:27Z Kundry_Wag quit (Remote host closed the connection) 2017-03-30T01:48:44Z pmc joined #lisp 2017-03-30T01:53:46Z Balooga_ quit (Ping timeout: 264 seconds) 2017-03-30T01:57:49Z FreeBirdLjj joined #lisp 2017-03-30T02:04:25Z krwq: TIL: (defparameter *x* "~/") #p#.*x* 2017-03-30T02:04:42Z eazar001 quit (Quit: WeeChat 1.5) 2017-03-30T02:05:22Z nyef: krwq: Which, of course, depends on your implementation's pathname reader being able to handle shell-style ~ escapes for home directories. 2017-03-30T02:06:05Z krwq: nyef: which implementation does not handle it? 2017-03-30T02:06:46Z nyef: Off the top of my head, I wouldn't expect Genera to. Beyond that, I don't know. 2017-03-30T02:06:47Z krwq: there is nothing to handle, just pass it to underlying api and it will work 2017-03-30T02:07:00Z nyef: Umm... No, it won't. 2017-03-30T02:07:10Z krwq: well, i don't care about genera 2017-03-30T02:07:20Z krwq: i'd rather fix genera than get rid of this convenience 2017-03-30T02:07:28Z nyef: Fair enough. I only care about Genera because I recently got a MacIvory 2 board. 2017-03-30T02:07:38Z nyef: Otherwise I only care about SBCL. 2017-03-30T02:07:53Z krwq: nyef: what's that? 2017-03-30T02:08:08Z nyef: NuBus card with a LispM CPU that runs Genera. 2017-03-30T02:08:32Z krwq: LispM CPU? 2017-03-30T02:08:37Z nyef: Lisp Machine. 2017-03-30T02:08:52Z nyef: Currently it's sitting in my Mac IIfx. 2017-03-30T02:09:52Z krwq: what will you use that for? 2017-03-30T02:10:01Z neoncontrails quit (Remote host closed the connection) 2017-03-30T02:10:08Z rumbler31 joined #lisp 2017-03-30T02:10:24Z nyef: Not much. I mostly want to see what the overall environment was like back in the day. 2017-03-30T02:10:48Z nyef: Anyway, I was going to suggest another trick for you: #.` 2017-03-30T02:10:54Z Kundry_Wag joined #lisp 2017-03-30T02:11:27Z edgar-rft joined #lisp 2017-03-30T02:11:40Z krwq: that's gonna kill my lisp 2017-03-30T02:11:51Z nyef: Heh. And a quick grep of the SBCL source tree shows that I'm not the only one to use it. (-: 2017-03-30T02:12:36Z krwq: nyef: what does that do actualy? more literal literals? 2017-03-30T02:13:00Z nyef: Roughly, it's a read-time template expansion. 2017-03-30T02:13:29Z krwq: wtf 2017-03-30T02:13:33Z krwq: that's too meta 2017-03-30T02:13:50Z nyef: You know how `(... ,(whatever ...) ...) lets you splice together some code to return from a macro? 2017-03-30T02:14:19Z krwq: i do know that 2017-03-30T02:14:30Z nyef: This lets you do it at read-time, and you don't need to involve the macro. 2017-03-30T02:14:46Z nyef: It's one of those things that you don't need all that often, but when you do it's immensely helpful. 2017-03-30T02:14:48Z krwq: so it's basically macrolet shortcut 2017-03-30T02:16:01Z nyef: Some quick digging shows that it's used in a couple of places in UIOP, and ten other places in SBCL. 2017-03-30T02:16:04Z krwq: except it happens on readtime which sounds quite insecure 2017-03-30T02:16:16Z rumbler31 quit (Remote host closed the connection) 2017-03-30T02:16:43Z krwq: i'll probably use it 2017-03-30T02:16:53Z krwq: nice trick nyef 2017-03-30T02:17:52Z nyef: There's also #+#.(cl:if ... '(and) '(or)) 2017-03-30T02:21:38Z nyef: (Some 17 instances of that in SBCL, which is *way* lower than I remembered... I think someone introduced a feature for 64-bitness.) 2017-03-30T02:22:05Z smokeink joined #lisp 2017-03-30T02:22:32Z neoncontrails joined #lisp 2017-03-30T02:23:44Z TDT quit (Quit: TDT) 2017-03-30T02:24:17Z p_l: nyef: ohhh, a MI-II board? 2017-03-30T02:24:45Z p_l recently played a bit with building OpenGenera environments again 2017-03-30T02:25:58Z nyef: p_l: Yeah. It might-or-might-not have a thermal issue. I had it running and took a break to play some Skyrim, and when I came back to it the Ivory simply wouldn't respond to anything, but it recovered well enough after having the system powered down for a while. 2017-03-30T02:26:26Z nyef: Currently it's at home, and I'm not until about Easter, though. 2017-03-30T02:26:45Z p_l: ouch 2017-03-30T02:26:55Z ryanwatk` joined #lisp 2017-03-30T02:27:04Z p_l: apparently Ivory systems are the most annoying to repair 2017-03-30T02:27:15Z nyef: Spent a little time doing an initial feasibility study for writing an emulator. 2017-03-30T02:27:19Z p_l: heard something about XL1200 being near impossible 2017-03-30T02:27:41Z nyef: But the conclusion that I came to was "try to get snap4 running first/instead". 2017-03-30T02:27:58Z smokeink quit (Ping timeout: 264 seconds) 2017-03-30T02:28:26Z smokeink joined #lisp 2017-03-30T02:28:35Z p_l: I can get you a vagrant setup running OG2 (though a bit mangled) easily, or somehow package up the image that I have with snap4 and old enough X11 to have no issues (and with NIS and the like) 2017-03-30T02:28:45Z p_l: but the latter is vmware based 2017-03-30T02:28:52Z ryanwatkins quit (Ping timeout: 258 seconds) 2017-03-30T02:29:29Z nyef: Yeah, I should be able to bodge something together myself, either as a chroot or using virtualbox. 2017-03-30T02:29:42Z nyef: I have a copy of snap4 from when it was new. (-: 2017-03-30T02:30:05Z p_l: me too, as well as a heavily fixed repo including floating point fixes, but that repo is embargoed due to PII leak 2017-03-30T02:30:28Z nyef: "PII"? 2017-03-30T02:30:36Z p_l: Personally Identifying Information 2017-03-30T02:30:39Z nyef: Ah. 2017-03-30T02:30:45Z paroneayea quit (Read error: Connection reset by peer) 2017-03-30T02:31:02Z p_l: essentially there was a bunch of stuff that shouldn't have gone into it in various disk images etc. 2017-03-30T02:31:07Z nyef: The other conclusion that I came to was that I'd have better luck putting together a microExplorer emulator, even if I don't have any mX hardware to work with. 2017-03-30T02:31:16Z paroneayea joined #lisp 2017-03-30T02:31:25Z p_l: some of the experiments involved patching OpenGenera to read LMFS from Ivory systems 2017-03-30T02:31:50Z p_l: (there's a very... linux~ish problem in doing that) 2017-03-30T02:32:33Z p_l: nyef: I think the only bits you can't sniff from VLM sources is how to implement the MMU registers you need to sniff for Ivory rev4 (last silicon) emulator 2017-03-30T02:32:35Z nyef: Because I have all of the ROM images and software to run an mX bar some 16384 bits of on-CPU ROM, and I can almost-certainly bluff my way past that for ROM. 2017-03-30T02:33:11Z nyef: Err... /for ROM/for initial emulation/. 2017-03-30T02:34:25Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-30T02:35:20Z nyef: In a way, I really have come full circle. 2017-03-30T02:35:55Z p_l: ehh, I think an Ivory emulator, given the availability of OS sources, could be made rather simply 2017-03-30T02:36:05Z p_l: the funny part would be diagnosing FEP ;) 2017-03-30T02:36:26Z p_l: but KLH10-style "no FEP" could be done 2017-03-30T02:36:46Z rumbler31 joined #lisp 2017-03-30T02:36:58Z nyef: Initial diagnosis of FEP code shows that 3600 machines use a 68k FEP, Ivory machines use an Ivory FEP, and I'm not sure *what* the VLM does. 2017-03-30T02:41:25Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-30T02:41:57Z nyef: Basically, my concern with writing a non-MacIvory Ivory emulation is getting copies of a Device PROM, any other board-specific ROMs, and volatile (clock-chip?) configuration memories from a real machine. 2017-03-30T02:43:40Z p_l: nyef: I'd probably just use the source code and binaries included in Genera 8.3 iso and OpenGenera 2.0 2017-03-30T02:45:18Z nyef: p_l: Well, as far as the FEP files go, sure. But bootstrapping a bare machine to the point of trying to start the FEP is another matter. 2017-03-30T02:46:21Z araujo quit (Read error: Connection timed out) 2017-03-30T02:46:57Z araujo joined #lisp 2017-03-30T02:48:43Z pedh joined #lisp 2017-03-30T02:49:34Z smokeink quit (Ping timeout: 264 seconds) 2017-03-30T02:50:35Z pedh quit (Remote host closed the connection) 2017-03-30T02:54:25Z p_l: nyef: well, in case of emulator, we can skip most of non-FEP if not all 2017-03-30T02:54:50Z rumbler31 joined #lisp 2017-03-30T02:56:21Z nyef: The thing is, the pre-FEP code is likely to do a decent chunk of basic sanity checking. 2017-03-30T02:56:46Z l04m33 quit (Remote host closed the connection) 2017-03-30T02:57:54Z p_l: you mean the stuff iverify does? ;) 2017-03-30T02:58:19Z pedh joined #lisp 2017-03-30T02:58:29Z nyef: Don't know. 2017-03-30T02:58:55Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-30T02:59:36Z nyef: What I distinctly remember is that the initial part of the on-board microcode ROMs for the TI Explorer Raven CPU basically did a decent test of the CPU memory spaces, the ALU, the barrel shifter, and so on. 2017-03-30T02:59:40Z p_l: nyef: iverify is, iirc, the instruction set checker 2017-03-30T03:00:14Z nyef: Am I going to find that on the Genera 8.3 distribution CD? 2017-03-30T03:02:36Z peccu1 quit (Ping timeout: 258 seconds) 2017-03-30T03:03:50Z nyef: Hrm. To a zero'th approximation, no. 2017-03-30T03:04:22Z Beetny joined #lisp 2017-03-30T03:04:53Z p_l: nyef: can't find the instruction verification set, somehow :/ 2017-03-30T03:06:11Z nyef: Damn. 2017-03-30T03:07:22Z pedh quit (Quit: pedh) 2017-03-30T03:07:52Z rumbler31 joined #lisp 2017-03-30T03:08:55Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-30T03:09:01Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-30T03:09:23Z nyef: The other side of all this, if I'm looking to emulate specifically the MacIvory, is that I need a Mac emulator to work from. 2017-03-30T03:10:13Z l04m33 joined #lisp 2017-03-30T03:10:21Z damke quit (Ping timeout: 268 seconds) 2017-03-30T03:12:13Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-30T03:12:27Z daviid quit (Ping timeout: 240 seconds) 2017-03-30T03:17:11Z damke joined #lisp 2017-03-30T03:17:22Z nyef: Ooh. Found the C source code for the lisp-side MacIvory programs. 2017-03-30T03:19:00Z l04m33: Anybody here working with XML files recently? What library should I use If I want to parse one? 2017-03-30T03:19:25Z l04m33: The fxml/cxml/sxml or whatever libraries seemed a bit confusing 2017-03-30T03:21:19Z krwq: go for cxml 2017-03-30T03:21:57Z nyef misses XML-mixed-mode. 2017-03-30T03:22:14Z loke usually uses cxml and dom 2017-03-30T03:22:23Z loke: I eman cxml-dom 2017-03-30T03:22:36Z pedh joined #lisp 2017-03-30T03:22:38Z loke: As well as xpath, which works with cml-dom 2017-03-30T03:23:54Z l04m33: You sure about that? It seems cxml is quite ... old 2017-03-30T03:24:00Z krwq: or clpython and parse in python 2017-03-30T03:24:12Z l04m33: What do you think about plump? 2017-03-30T03:24:13Z loke: l04m33: does it matter? XML hasn't changed in quite some time. 2017-03-30T03:24:35Z krwq: loke: xpath and xslt have been updated though 2017-03-30T03:25:19Z p_l: nyef: well, yeah, they are also part of VLM 2017-03-30T03:25:33Z l04m33: nothing wrong about being old, I'm just wondering whether it's still being properly maintained 2017-03-30T03:25:52Z p_l: nyef: the code is also shared partially with SGI and SunOS hosts for VME UX-series 2017-03-30T03:26:25Z nyef: p_l: Sure, but I'm looking in the image I took of the Genera install CDs that came with my MacIvory. 2017-03-30T03:26:56Z p_l: the mac-specific bits afaik were done by SunRPC 2017-03-30T03:27:07Z smokeink joined #lisp 2017-03-30T03:28:34Z pedh quit (Remote host closed the connection) 2017-03-30T03:29:17Z FreeBirdLjj joined #lisp 2017-03-30T03:31:17Z l04m33: krwq: clpython is interesting. I don't think I'm going to use it here though 2017-03-30T03:32:12Z safe joined #lisp 2017-03-30T03:33:00Z krwq quit (Remote host closed the connection) 2017-03-30T03:36:27Z smokeink quit (Ping timeout: 240 seconds) 2017-03-30T03:40:52Z l04m33: nyef: What's XML-mixed-mode? Tried google and this seemed to be the only result: https://sourceforge.net/p/sbcl/sbcl-page/ci/master/tree/xml-mixed-mode.lisp 2017-03-30T03:41:00Z jmsb joined #lisp 2017-03-30T03:42:26Z nyef: l04m33: Looks about right, yes. Basically, there's a reader macro defined so that you can sortof bust out into XML in the middle of your Lisp source code. 2017-03-30T03:42:51Z sfa joined #lisp 2017-03-30T03:46:58Z l04m33: nyef: Ah, I see. Should have guessed that when seeing all those '*-reader' names. I'm not quite confident in using this thing :) 2017-03-30T03:47:01Z enzuru quit (Ping timeout: 260 seconds) 2017-03-30T03:48:56Z nyef: IIRC, the original version was by chandler (Brian Mastenbrook), as part of his collection of web things. 2017-03-30T03:51:02Z smokeink joined #lisp 2017-03-30T03:54:37Z milanj quit (Quit: This computer has gone to sleep) 2017-03-30T03:57:32Z neoncontrails quit (Remote host closed the connection) 2017-03-30T03:59:21Z l04m33: nyef: And it dates all the way back to 2005! I believe I was in high school back then. What a history... 2017-03-30T03:59:37Z l04m33: I found the Planet Lisp archive: http://planet.lisp.org/2005/12.html 2017-03-30T04:01:48Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-30T04:04:20Z nyef: Hunh. Apparently I started seriously using Common Lisp as a programming language on November 7th, 2003. 2017-03-30T04:04:42Z smokeink quit (Ping timeout: 258 seconds) 2017-03-30T04:04:44Z axion: Impressive 2017-03-30T04:05:08Z axion: Only around 2008 myself, though exclusively 2017-03-30T04:05:09Z nyef: ... to write a LispM emulator. 2017-03-30T04:06:33Z nyef: Of the nine people who helped me with optimization back then, *two* appear to still be around. 2017-03-30T04:06:50Z eazar001 joined #lisp 2017-03-30T04:07:07Z smokeink joined #lisp 2017-03-30T04:07:20Z Blkt quit (Read error: Connection reset by peer) 2017-03-30T04:07:20Z fe[nl]ix quit (Read error: Connection reset by peer) 2017-03-30T04:08:21Z beach: Good morning everyone! 2017-03-30T04:08:37Z safe quit (Read error: Connection reset by peer) 2017-03-30T04:08:43Z Blkt joined #lisp 2017-03-30T04:08:57Z fe[nl]ix joined #lisp 2017-03-30T04:09:44Z nyef: Hello beach. 2017-03-30T04:11:57Z l04m33: beach: Morning 2017-03-30T04:12:06Z l04m33 leant not to resist UGT 2017-03-30T04:12:37Z l04m33: List never gets old I think ;) 2017-03-30T04:12:44Z l04m33: s/List/Lisp/ 2017-03-30T04:14:51Z beach: For my incremental Common Lisp parser, I had to factor the SICL reader, so that the main reader routine would be small and it would call other functions to do its work. This factoring allowed me to write a special main routine for the incremental parser. I didn't see how to do it any other way. 2017-03-30T04:15:53Z bocaneri joined #lisp 2017-03-30T04:15:54Z bocaneri quit (Max SendQ exceeded) 2017-03-30T04:18:40Z bocaneri joined #lisp 2017-03-30T04:23:36Z safe joined #lisp 2017-03-30T04:23:50Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-30T04:27:42Z john2x quit (Ping timeout: 258 seconds) 2017-03-30T04:28:05Z bocaneri quit (Quit: Leaving) 2017-03-30T04:28:31Z bocaneri joined #lisp 2017-03-30T04:28:32Z bocaneri quit (Max SendQ exceeded) 2017-03-30T04:29:38Z shpx joined #lisp 2017-03-30T04:34:50Z shpx quit (Ping timeout: 268 seconds) 2017-03-30T04:35:23Z tmc_ joined #lisp 2017-03-30T04:35:27Z seg quit (Ping timeout: 240 seconds) 2017-03-30T04:35:59Z shdeng joined #lisp 2017-03-30T04:36:36Z tmc quit (Read error: Connection reset by peer) 2017-03-30T04:36:58Z djinni`_ quit (Quit: Leaving) 2017-03-30T04:39:56Z shka_ joined #lisp 2017-03-30T04:40:12Z seg joined #lisp 2017-03-30T04:40:32Z djinni` joined #lisp 2017-03-30T04:43:47Z bocaneri joined #lisp 2017-03-30T04:44:59Z neoncontrails joined #lisp 2017-03-30T04:46:21Z psacrifice joined #lisp 2017-03-30T04:46:22Z l04m33: beach: noob question: How do I try out SICL? Do I just load the parts I need? 2017-03-30T04:48:52Z beach: l04m33: I am afraid there is no reasonable way to try out the entire system. Some parts work such as LOOP, FORMAT, the reader, etc. 2017-03-30T04:49:24Z beach: l04m33: And, of course, the compiler framework (Cleavir) works, but using it requires you to write a compiler for your implementation. 2017-03-30T04:49:53Z FreeBirdLjj joined #lisp 2017-03-30T04:51:33Z l04m33: beach: Thanks for clearing that up. I think the 'Quick Start' section in it's README is terrible then. 2017-03-30T04:52:01Z beach: I didn't write it. I'll have a look and maybe remove it. Thanks. 2017-03-30T04:52:21Z beach: I guess I clicked on `merge this pull request' a bit too fast. 2017-03-30T04:53:14Z Bike: ...well that quick start just says how to download it :| 2017-03-30T04:53:37Z l04m33: And the whole SICL system looked like Lisp of Theseus to me 2017-03-30T04:53:47Z Bike: well, you're not wrong 2017-03-30T04:53:51Z Bike: except that there's no sail atm 2017-03-30T04:54:13Z Bike: but the rudder... it's a pretty great rudder. 2017-03-30T04:54:30Z Bike: anyway it would be nice to have a list of systems that can be loaded maybe 2017-03-30T04:57:09Z beach: Maybe so, yes. Of course, some systems (such as LOOP, FORMAT, CLOS, etc) are designed as parts of a Common Lisp implementation, and can not easily be loaded into an existing implementation. 2017-03-30T04:57:50Z Bike: you can't have sicl-loop:loop or something? 2017-03-30T04:58:00Z beach: Almost. 2017-03-30T04:58:07Z beach: loop-aux or something like that. 2017-03-30T04:59:06Z beach: No, you are right, sicl-loop:loop 2017-03-30T04:59:09Z damke_ joined #lisp 2017-03-30T04:59:52Z slyrus_ joined #lisp 2017-03-30T04:59:54Z beach: But I haven't figured out an easy way to explain how to install SICL LOOP to someone who is not a Common Lisp implementor. 2017-03-30T05:00:05Z slyrus: nyef: I think I did my first grad school homework assignments in lisp in 2001. Time flies. 2017-03-30T05:00:46Z Bike: when i load cleavir in sbcl i quickload some stuff and then load a file with implementation glue. is loop harder? 2017-03-30T05:00:59Z beach: No. 2017-03-30T05:01:09Z beach: But you qualify as an implementor. 2017-03-30T05:01:20Z oleo quit (Quit: Leaving) 2017-03-30T05:01:21Z damke quit (Ping timeout: 268 seconds) 2017-03-30T05:02:03Z beach: slyrus: And that was Common Lisp? 2017-03-30T05:02:22Z Bike: yeah, but i think most lispers would understand "quickload this, load this, and then you have this package available" 2017-03-30T05:02:29Z slyrus: yes. I had to use scheme for undergrad many years before that, but it didn't stick. 2017-03-30T05:02:57Z peccu1 joined #lisp 2017-03-30T05:03:04Z beach: Bike: OK, I'll see what I can do in that spirit. 2017-03-30T05:04:03Z Bike: maybe i should put my glue somewhere, actually... though i'm not sure how implementation specific dependencies would work 2017-03-30T05:04:14Z safe quit (Quit: Leaving) 2017-03-30T05:06:47Z beach: Me neither. 2017-03-30T05:07:37Z Bike: i mean, i know how to do it in asdf, but it would be a little weird to just put in all the cleavir systems. 2017-03-30T05:08:32Z aeth: Is the SICL struct approach still to implement structs via CLOS? It would be interesting to benchmark some struct-heavy CL code when SICL is ready to see if it loses struct performance over SBCL and if so by how much. 2017-03-30T05:08:45Z aeth: It doesn't look like they're implemented yet at all, though. https://github.com/robert-strandh/SICL/search?utf8=%E2%9C%93&q=struct&type= 2017-03-30T05:09:09Z aeth: I'm curious as to how that would work because it doesn't seem like it would. 2017-03-30T05:09:14Z Bike: sicl doesn't, like, have a backend, dog 2017-03-30T05:09:23Z dec0n joined #lisp 2017-03-30T05:09:24Z Bike: there is not a lot to compare 2017-03-30T05:10:43Z Bike: but it probably hasn't changed. speed isn't the primary goal anyway 2017-03-30T05:15:56Z karswell quit (Remote host closed the connection) 2017-03-30T05:15:57Z karswell joined #lisp 2017-03-30T05:15:57Z Bike: the thing is that most of what makes structs fast is due to the (lack of) redefinition rules, and sicl wants to have safe redefinitions 2017-03-30T05:15:57Z Harag joined #lisp 2017-03-30T05:15:57Z rpg quit (Ping timeout: 258 seconds) 2017-03-30T05:15:58Z beach: Maybe what I should do is to write instructions for building the SICL-in-SBCL system, and to work on the REPL of that system so that it's reasonably stable. 2017-03-30T05:15:59Z vlatkoB joined #lisp 2017-03-30T05:16:53Z aeth: Bike: Some things would (probably) never be redefined, though, like (defstruct (point (:type (vector single-float))) (x 0f0 :type single-float) (y 0f0 :type single-float) (z 0f0 :type single-float)) 2017-03-30T05:17:12Z aeth: And in the rare cases where such a heavy refactoring is necessary, M-x s-r-i-l isn't that big of a deal. 2017-03-30T05:17:55Z Bike: "probably" isn't good enough for a dumb machine 2017-03-30T05:18:03Z loke: aeth: M-x set-rmail-inbox-list ? 2017-03-30T05:18:07Z Bike: and sicl is intended to be usable as an operating system component 2017-03-30T05:18:11Z Bike: slime restart inferior lisp, i think 2017-03-30T05:18:17Z aeth: loke: slime-restart-inferior-lisp 2017-03-30T05:18:23Z loke: Bike: I know. I was joking. :-) 2017-03-30T05:18:28Z Bike: oh 2017-03-30T05:18:31Z Bike: i'm not good with those things 2017-03-30T05:18:33Z aeth: if I had something else that clashed with that I'd have to uninstall it immediately :-p 2017-03-30T05:18:40Z loke: There are exactly two Emacs functions that match s-r-i-l 2017-03-30T05:18:58Z loke: set-rmail-inbox-list actually does clash 2017-03-30T05:19:07Z aeth: I don't have that installed 2017-03-30T05:19:16Z Bike: i just do ,rTABt 2017-03-30T05:19:19Z loke: aeth: It's loaded as part of Gnus, I think. 2017-03-30T05:20:58Z aeth: ah 2017-03-30T05:20:58Z nelder quit (Ping timeout: 240 seconds) 2017-03-30T05:20:58Z aeth: well, then sl-r-i-l 2017-03-30T05:20:58Z loke: I do ,resTAG 2017-03-30T05:20:58Z aeth: Anyway, if you play too much with packages and structs, you get to know s-r-i-l (or sl-r-i-l, I guess) pretty well :-p 2017-03-30T05:20:59Z nelder joined #lisp 2017-03-30T05:20:59Z shka_ quit (Ping timeout: 240 seconds) 2017-03-30T05:22:10Z aeth: Bike: SICL needs to come up with some clever solution, then, because if I were writing an OS it'd be full of structs of arrays where possible. 2017-03-30T05:22:57Z aeth: If you compete with C, you kind of have to lower yourself almost to its level at some parts (but keep the type and bounds checks) 2017-03-30T05:23:18Z jameser joined #lisp 2017-03-30T05:23:49Z Bike: time for me to say "not my department" i think, though it would be nice if there was some kind of system for sanely recompiling modules/using unredefinable stuff only within modules 2017-03-30T05:24:17Z nyef: I rather expect that the point is not to compete with C, it's to transcend it. 2017-03-30T05:24:21Z aeth: Iirc, the main thing keeping OSes with large components in C and C++ is performance. Personally, I'd love to see large parts of a Linux distro rewritten in CL, perhaps even including systemd. 2017-03-30T05:24:42Z aeth: nyef: Some things would probably heavily use structs, e.g. networking. 2017-03-30T05:24:53Z aeth: nyef: Other things would be much higher level and mostly use CLOS. 2017-03-30T05:24:56Z Bike: i would think inertia is a major components 2017-03-30T05:24:58Z vibs29 quit (Quit: bye) 2017-03-30T05:24:59Z aeth: The miracle of CL is that you can do both in the same language. 2017-03-30T05:25:17Z vibs29 joined #lisp 2017-03-30T05:26:00Z loke: aeth: I'd say _particularly_ systemd 2017-03-30T05:26:03Z aeth: If something was designed to work in the C world, it probably most obviously translates to CL structs and/or arrays, anyway. 2017-03-30T05:26:09Z nyef: I'd expect networking to have something for packet buffers, and then move to CLOS or some other higher-level abstraction very quickly. 2017-03-30T05:27:05Z aeth: loke: I would love to see KDE + package manager + systemd-replacement + text editor (and/or IDE) + web browser in CL, on top of the Linux kernel, in a sort of Android-like approach. 2017-03-30T05:27:08Z reinuseslisp joined #lisp 2017-03-30T05:27:21Z aeth: s/in CL/replaced by something in CL/ 2017-03-30T05:27:54Z loke: aeth: Yes. But to really take advantage of Lisp, one would need to adopt some of the ideas of Beach. 2017-03-30T05:28:32Z loke: His opinion is that the entire kernel should be replaced, but I'm less convinced of that (although I'd love to see it done) 2017-03-30T05:28:47Z aeth: I think that a CL kernel is probably decades away (it would need to replicate all the driver-efforts of Linux to be useful, and port a ton of software), while a CL userspace could be as soon as 5 years away. 2017-03-30T05:29:06Z aeth: If you spin it as a hot new Linux distro, few people even need to notice that it's mostly written in CL. 2017-03-30T05:29:09Z loke: However. I agree with him that there needs to be only a single Lisp image. But... That raises security concerns if it's implemented on top of SBCL as is. 2017-03-30T05:29:20Z aeth: If you spin it as a new OS with a new kernel, few people will use it outside of a VM. 2017-03-30T05:29:28Z loke: aeth: I agree with you. 2017-03-30T05:29:40Z daemoz: aeth: I feel like with a project that big you'd be rewriting the implementation anyways. 2017-03-30T05:29:52Z daemoz: loke, sorry 2017-03-30T05:30:34Z loke: daemoz: Well, sure. But the implementation can't be exclusively used for that purpose, since then there would not be enough intertia. 2017-03-30T05:30:53Z daemoz: loke: definitely. 2017-03-30T05:31:35Z nyef: I don't agree that a single-address-space model is appropriate, but I'd be quite happy to see a good Common Lisp counterexample. (-: 2017-03-30T05:32:09Z loke: So, IMHO, before such a project can take off, one would need to add the necessary security frameworks to either SBCL or CCL. And by security framework, I mean a way to completely separate domains inside a single runtime. Beach's has done some writing on that. 2017-03-30T05:32:32Z daemoz: nyef: explain? 2017-03-30T05:32:34Z tokenrove quit (Ping timeout: 246 seconds) 2017-03-30T05:32:59Z okflo joined #lisp 2017-03-30T05:33:17Z loke: However, a much easier alternative would be to implement a fast, stable and secure IPC mechanism. There are a few around, but I haven't seen any that would be good enough. 2017-03-30T05:33:35Z nyef: daemoz: It is a lot easier to show that program A cannot corrupt the data or code of program B, no matter the input to A, if they are in separate address spaces with no shared memory. 2017-03-30T05:33:53Z forgot quit (Ping timeout: 260 seconds) 2017-03-30T05:33:58Z smokeink quit (Ping timeout: 264 seconds) 2017-03-30T05:34:42Z nyef: Essentially, there's a cost to having separate address spaces, but there's a very large benefit in terms of security and reliability. 2017-03-30T05:34:43Z daemoz: nyef: I suppose you could sort-of take the container approach? programs run inside a particular instance of a lisp runtime? 2017-03-30T05:34:50Z tokenrove joined #lisp 2017-03-30T05:34:53Z aeth: loke: I think an OS or an OS-except-for-the-kernel project should start at the highest level, in an existing CL implementation, and work its way down. Emacs would be a good place to start, in part because it really does show its age and uses exactly the kind of legacy Lisp that CL was literally designed to kill. 2017-03-30T05:35:18Z loke: nyef: If there are multiple address spaces (i.e. processes since we're talking about Linux) then communication between those processes needs to be as simple and seamless (and fast) as possible. 2017-03-30T05:35:27Z forgot joined #lisp 2017-03-30T05:35:30Z loke: aeth: I agree with that 2017-03-30T05:35:39Z nyef: The problem with "containerized" processes within the same address space is making sure that the containers don't leak. 2017-03-30T05:36:01Z daemoz: couldn't there be some os-level protection against that? 2017-03-30T05:36:07Z nyef: It's a whole lot easier to show that the separate address spaces don't leak than it is to show that anything within an address space doesn't leak. 2017-03-30T05:36:30Z loke: aeth: Sure, emacs is a good place, but the problem with that is that Emacs is so bloody good as is. :-) 2017-03-30T05:36:31Z nyef: At the point where you're bringing os-level protection in, why are you not using separate address spaces? 2017-03-30T05:37:05Z loke: aeth: Systemd, in all its absolute shittyness, suceeded because it replaced something that had real problems. 2017-03-30T05:37:11Z daemoz: I guess that's what I'm saying, bringing about that abstraction would be necessary, and seems totally do-able. 2017-03-30T05:37:47Z loke: Emacs has problems, but it's not defined by its problems in the same way as sysvinit was. 2017-03-30T05:37:48Z okflo quit (Remote host closed the connection) 2017-03-30T05:39:20Z aeth: loke: emacs is a terminal-first application, and it forces everything into buffers even where it doesn't make sense, and it's mostly written in a terrible *and* slow Lisp. 2017-03-30T05:39:33Z aeth: And quite a few of those Emacs Lisp packages are written by people who don't know Lisp well! 2017-03-30T05:40:02Z loke: aeth: Sure, but it's also very good. :-) To replace it, you need to build something better. That's hard. 2017-03-30T05:40:32Z nyef: Anyway, the conclusion that I came to last time I looked at LispOS work was that it's a huge amount of work, that it should start at the userland, and that one of the make-or-break factors would be the GC. 2017-03-30T05:40:33Z l04m33: Seeing all your Lisp OS discussions... So what do you think about *embedding* a CL environment in the Linux kernel? 2017-03-30T05:40:38Z loke: Not necessarily difficult though. But it's a hard job. 2017-03-30T05:40:51Z daemoz: Getting the rest of a typical userspace implemented in lisp seems a more pressing issue. Although it's good to go slow and have a quality foundation. 2017-03-30T05:40:52Z nyef: l04m33: Dear god, no. 2017-03-30T05:40:56Z aeth: loke: Imo emacs is only good ebcause this is #lisp and it's good for CL. Its support is really hit-or-miss and language-dependent. SLIME just happens to be amazing. 2017-03-30T05:41:03Z aeth: s/ebcause/because/ 2017-03-30T05:41:06Z vtomole joined #lisp 2017-03-30T05:41:07Z l04m33: nyef: why's that? 2017-03-30T05:41:14Z nyef: l04m33: And I say the as a CL implementation maintainer and an occasional Linux kernel hacker. 2017-03-30T05:41:24Z loke: aeth: I don't agree. I use Emacs for everything. Hello, I'm even chatting with you right now in Emacs. 2017-03-30T05:41:32Z aeth: nyef: which implementation? 2017-03-30T05:41:37Z loke: I use it for email, for terminals, for C and C++ development. 2017-03-30T05:41:47Z nyef: aeth: SBCL, of course. 2017-03-30T05:41:58Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-30T05:42:26Z damke joined #lisp 2017-03-30T05:42:56Z nyef: l04m33: I can think of very few benefits that would come from embedding a CL implementation in the Linux kernel, and the security and stability implications are downright frightening. 2017-03-30T05:42:57Z sfa quit (Ping timeout: 240 seconds) 2017-03-30T05:43:34Z aeth: nyef: So I assume you're the main recent contributor on the list of commits? 2017-03-30T05:44:28Z rtmpdavid quit (Read error: Connection reset by peer) 2017-03-30T05:44:44Z nyef: aeth: No, my commit rate tends to be bursty. 2017-03-30T05:44:48Z aeth: ah 2017-03-30T05:45:01Z aeth: is most of your work on a branch that hasn't been merged yet? 2017-03-30T05:45:02Z nyef: aeth: I tend to focus on deep compiler bugs and less-used backends. 2017-03-30T05:45:08Z damke_ quit (Ping timeout: 268 seconds) 2017-03-30T05:45:33Z nyef: aeth: And occasional tilting at windmills. 2017-03-30T05:45:45Z aeth: ah 2017-03-30T05:45:51Z aeth: What do you think of RISC-V? 2017-03-30T05:45:57Z l04m33: nyef: The benefits are handing over the lowlevel stuff like memory, processes and hardware management to the Linux kernel, so we can build things upon Common Lisp faster. 2017-03-30T05:46:22Z l04m33: nyef: You won't gain much security by starting from scratch anyway 2017-03-30T05:46:29Z nyef: l04m33: Why not just... run CL as a user process, then? 2017-03-30T05:48:21Z loke: nyef: I follow the sbcl mailing list. Who are you there? :-) 2017-03-30T05:48:21Z l04m33: nyef: Why are we talking about Lisp OS here then... 2017-03-30T05:48:21Z damke quit (Remote host closed the connection) 2017-03-30T05:48:21Z nyef: loke: My name is Alastair Bridgewater. 2017-03-30T05:48:27Z loke: nyef: Oh, I see Thanks. :-) 2017-03-30T05:48:43Z damke joined #lisp 2017-03-30T05:48:50Z l04m33: nyef: With a CL environment in the kernel, we can start replacing small (maybe better?) pieces of the kernel, with all the base facilities already there, isn't that more pleasant to work with? 2017-03-30T05:49:03Z sfa joined #lisp 2017-03-30T05:49:26Z aeth: l04m33: Basically everything that KDE provides (unless it's a useless feature) should be done in CL (web browser, file manager, terminal, text editor, non-tiling window manager (CL already has a tiling one), etc.) 2017-03-30T05:49:35Z aeth: As a much higher priority imo than a kernel 2017-03-30T05:50:21Z aeth: In 2017, unless something is a Unix or Windows, it is probably just running in a VM, so kernels aren't a priority imo. 2017-03-30T05:50:25Z nyef: l04m33: What pieces would you replace? You can already write device drivers in userspace, and almost all of the other parts of a kernel you can simulate in user space anyway. 2017-03-30T05:50:25Z daemoz: Highly agree. I think nyef was saying it should start in userspace as well. 2017-03-30T05:50:48Z aeth: And if you partially replace an application in CL piece by piece, you're going to keep a lot of its assumptions. 2017-03-30T05:51:08Z scymtym quit (Ping timeout: 256 seconds) 2017-03-30T05:51:34Z damke_ joined #lisp 2017-03-30T05:51:38Z loke: aeth: Stumpwm has non-tiling support too. 2017-03-30T05:51:52Z nyef: For my recent Linux kernel work, one of my investigative tools is an SBCL program that maps a chunk of PCI space into its address space and pokes around directly. 2017-03-30T05:52:00Z aeth: The main place where a Lisp kernel could make sense is on servers, where drivers matter less and where odds are it probably is running in a VM, anyway. 2017-03-30T05:52:06Z nyef: I've written USB device drivers from SBCL as well. 2017-03-30T05:52:12Z mishoo joined #lisp 2017-03-30T05:52:38Z nyef: But if you want a LispOS to try *now*, try Mezzano. 2017-03-30T05:53:06Z l04m33: nyef: A new mem alloc or TCP flow control algorithm maybe? They are relatively higher level, and using lisp should make the development process faster and more pleasant. 2017-03-30T05:53:34Z aeth: The problem is, if you wanted to make an end-user OS (like Mezzano) be useful, you'd probably have to spend a lot of work (see how much work the mesa people put in) on graphics drivers. And that work will only increase over time, especially if nvidia remains mostly uncooperative with FOSS driver implementations. 2017-03-30T05:53:46Z damke quit (Ping timeout: 268 seconds) 2017-03-30T05:53:54Z nyef: TCP flow control? You already have the ability to create a packet device interface in userland, you know. 2017-03-30T05:54:02Z aeth: A server Lisp kernel (mostly) avoids all that GPU nonsense. 2017-03-30T05:54:23Z nyef: Memory allocation? You need that in userland *anyway*. That's part of what the GC is for. 2017-03-30T05:54:57Z l04m33: I'm just stating a wild new idea that came to my mind, no disrespect to your original ones ;) 2017-03-30T05:55:38Z daemoz: Mezzano seems interesting. What functions does it have? 2017-03-30T05:55:43Z nyef: aeth: Just waiting on the PMU firmware now, AIUI. 2017-03-30T05:56:31Z nyef: aeth: That said, there's a huge number of rough edges just in terms of basic hardware support on the cards that don't need signed firmware. 2017-03-30T05:56:35Z presiden quit (Ping timeout: 240 seconds) 2017-03-30T05:56:53Z nyef has been hacking on nouveau recently. 2017-03-30T05:56:59Z aeth: ah 2017-03-30T05:57:25Z damke_ quit (Remote host closed the connection) 2017-03-30T05:57:34Z aeth: Afaik, a working kernel isn't that hard. A working kernel with drivers for almost everything that people will want to use is near-impossible. 2017-03-30T05:57:53Z aeth: Especially with ARM thrown into the mix. 2017-03-30T05:57:54Z damke_ joined #lisp 2017-03-30T05:58:08Z l04m33: nyef: User space drivers are *slow* with all those context switches. And the point is, we like Lisp. Everything works fine now, why bother touching them? 2017-03-30T05:59:32Z nyef: l04m33: Sure. Slow. Whatever. It lets you develop the drivers in Lisp, from within a working system environment, so that when you *do* run your new standalone non-Linux Lisp kernel you have device drivers. It's a bootstrap strategy. 2017-03-30T06:00:44Z aeth: It also a strategy that afaik doesn't force the GPL on the new Lisp kernel. Or does it? 2017-03-30T06:00:51Z nyef: froggey has done an amazing job with Mezzano, btw. But it still highlights the amount of work still to be done. 2017-03-30T06:01:39Z nyef: It shouldn't. My understanding is that the GPLness stops at the Linux kernel ABI, so you can ioctl(2) and whatnot directly and not get infected. 2017-03-30T06:06:22Z aeth: I'm guessing that the GPL would be a poor fit for an everything-in-the-same-process LispOS 2017-03-30T06:08:06Z nyef: The other thing is, before we go off implementing Yet Another LispOS Project, how about we get our ducks in a row in terms of hosted Lisp environments? 2017-03-30T06:08:24Z daemoz: What do you mean? 2017-03-30T06:10:24Z vtomole quit (Ping timeout: 260 seconds) 2017-03-30T06:10:41Z aeth: What do you mean? 2017-03-30T06:11:07Z nyef: I mean that the state of the art in open source Lisp development environments is basically Emacs and SLIME, and pick your poison for underlying implementation. Documentation tends to be an afterthought at best. 2017-03-30T06:11:58Z nyef: I'm intimately aware of some of the failings of SBCL as an implementation, and I'm sure that CCL has its own problems (because what implementation doesn't?) 2017-03-30T06:13:06Z aeth: Right. (1) replace Emacs+SLIME, (2a) rough feature parity with KDE, (2b) package manager (a distro package manager for all languages, not just CL libraries) 2017-03-30T06:13:12Z aeth: And at that point you'd hardly have to leave the CL universe. 2017-03-30T06:13:19Z aeth: But it probably has to be done in that order, before anything else. 2017-03-30T06:13:27Z nyef: That doesn't mean that SBCL or CCL are bad, necessarily, just that they have problems. 2017-03-30T06:13:57Z nyef: Feature parity with which version of KDE? Because I can't stand to run KDE 5. 2017-03-30T06:14:24Z aeth: I don't mean the details, I mean the wide scope 2017-03-30T06:14:30Z nyef: Yeah, okay. That's fair. 2017-03-30T06:15:05Z aeth: e.g. KDE has a terminal, a file manager, a web browser, a text editor *and* an IDE, etc. 2017-03-30T06:15:20Z aeth: Even parts of an office suite, which is probably too much to be thinking about 2017-03-30T06:15:50Z nyef: Basically, a decently full-featured Linux Desktop Environment, capable of operating on the level of a second-tier DE in the modern Linux world, written in CL? 2017-03-30T06:15:51Z aeth: There are several other DEs but not as complete as KDE. 2017-03-30T06:16:03Z aeth: Yes. 2017-03-30T06:16:37Z aeth: Once you get the text editor, window manager, web browser, and terminal, you make it possible for someone to basically live mostly with CL applications, if not entirely. 2017-03-30T06:16:43Z nyef: Even that is a lot of work, but yes. 2017-03-30T06:16:47Z aeth: The web browser will be by far the hardest. 2017-03-30T06:16:56Z aeth: The web has become a monstrosity in the last 10 years. 2017-03-30T06:16:59Z aeth: It might not be possible. 2017-03-30T06:17:36Z nyef: There's a fundamental question that you need to address before you really start in on this, though: What UI toolkit? 2017-03-30T06:17:39Z daemoz: Seems like there are already some web browsers written in lisp around. 2017-03-30T06:18:14Z attila_lendvai joined #lisp 2017-03-30T06:18:14Z attila_lendvai quit (Changing host) 2017-03-30T06:18:14Z attila_lendvai joined #lisp 2017-03-30T06:18:26Z nyef: Hell, what *interaction style*? 2017-03-30T06:18:32Z aeth: daemoz: probably no CL web browsers that approach the second-tier web browsers that come with most DEs. 2017-03-30T06:18:35Z angavrilov joined #lisp 2017-03-30T06:18:58Z aeth: nyef: probably whichever toolkit is used by step (1), the emacs 2017-03-30T06:19:23Z aeth: If it's Second Climacs, then it's CLIMatis. 2017-03-30T06:19:27Z aeth: If it's something else, then who knows. 2017-03-30T06:20:26Z aeth: The terminal should follow pretty easily from the emacs. The graphical file manager will be more of a test of generality. 2017-03-30T06:20:56Z nyef: And then there's this bit about Xorg vs. Wayland, and the simple fact that a goodly part of a modern desktop UI uses X extensions that CLX doesn't implement. 2017-03-30T06:21:40Z aeth: That's a trickier question. Wayland's future isn't secure yet, and Wayland means that it can't be as purist as CLX. 2017-03-30T06:21:43Z jdz: That's solved by not using X :) 2017-03-30T06:21:56Z nyef: Plus if you want that path to a standalone LispOS, you either need to be prepared to reimplement X11 or Wayland, or have a shearing layer in there so that you can run straight on a framebuffer with possible acceleration functions. 2017-03-30T06:22:29Z nyef: jdz: So... straight bindings to the Linux DRM and Input drivers? 2017-03-30T06:23:15Z aeth: nyef: It would be funny if someone wrote a Wayland in SBCL that was more performant than the reference implementation, and thus became the dominant solution in future Linux distros. It probably won't happen, though. 2017-03-30T06:23:31Z aeth: And people probably wouldn't like the RAM usage and GC. 2017-03-30T06:23:34Z jdz: As much as I personally would like everything to be in lisp I think it's counter-productive to not use all the labour that's been poured in drivers and libraries, such as libGL^Wvulcan. 2017-03-30T06:23:44Z john2x joined #lisp 2017-03-30T06:24:14Z mood_btf joined #lisp 2017-03-30T06:24:29Z aeth: Does CFFI work well in the other direction, anyway? 2017-03-30T06:24:41Z nyef: jdz: That too. 2017-03-30T06:24:47Z aeth: I would think most of the work would be using C libraries in CL. 2017-03-30T06:24:58Z aeth: s/would be/would be put into/ 2017-03-30T06:25:43Z reinuseslisp quit (Quit: Leaving) 2017-03-30T06:25:50Z aeth: jdz: I think the big tests would be Steam and Firefox/Chrome. You should be able to run those in whatever you're building if you expect people to use it. 2017-03-30T06:26:32Z aeth: (Obviously, only if we're talking about an on-Linux solution) 2017-03-30T06:27:57Z john2x quit (Ping timeout: 240 seconds) 2017-03-30T06:29:02Z aeth: One question: If there should be a terminal in CL, should there also be a conforming POSIX shell written in CL? Because the shell is probably more important than the terminal. 2017-03-30T06:29:27Z jdz: Why do you need a terminal? 2017-03-30T06:29:31Z jdz: And a shell? 2017-03-30T06:30:00Z jdz: My shell is the REPL. 2017-03-30T06:30:10Z shpx joined #lisp 2017-03-30T06:30:28Z nyef: Terminal, because you still need access to the Linux command line. Not shell, because we'd want Lisp Listener windows instead. 2017-03-30T06:31:07Z aeth: jdz: (1) People are going to use one anyway if you're on Linux. (2) That shell could then be ported to a true LispOS and help make porting applications easier, in the very long run. 2017-03-30T06:31:13Z arquebus joined #lisp 2017-03-30T06:31:22Z anachrome quit (Ping timeout: 256 seconds) 2017-03-30T06:31:30Z john2x joined #lisp 2017-03-30T06:31:44Z anachrome joined #lisp 2017-03-30T06:31:51Z aeth: jdz: and (3) ideally, that shell should be a gateway designed to convince people to switch to a Lisp REPL-as-shell 2017-03-30T06:31:57Z jdz: I don't see anybody except smug lisp weenies running a LispOS. 2017-03-30T06:32:35Z aeth: A LispOS within the next 10 years in a practical use would only be useful as a server (in a VM) for Lisp server applications. 2017-03-30T06:32:36Z jackdaniel: because being LispOS isn't quality in itself. If it features stuff not available in other OS'es, it would be used 2017-03-30T06:33:12Z aeth: There could be performance advantages to having the (virtualized) OS and the application be in the same language. 2017-03-30T06:33:29Z jdz: jackdaniel: it has to have that "stuff not available in other OS'es" in addition to what the other OS'es have. 2017-03-30T06:33:30Z aeth: Those advantages are completely negated by the much larger drivers issue, except in the case of VM servers. 2017-03-30T06:33:38Z jackdaniel: jdz: agreed 2017-03-30T06:34:32Z aeth: Is there an encrypted remote REPL, sort of like ssh, or does everyone who uses a remote REPL use ssh for that task? 2017-03-30T06:34:59Z nyef: People will also be more likely to want to use a LispOS if they already want to use Lisp. 2017-03-30T06:35:05Z shpx quit (Ping timeout: 268 seconds) 2017-03-30T06:35:20Z aeth: Direct use of an encrypted REPL could encourage a Lisp server OS more. 2017-03-30T06:35:56Z aeth: It would also be interesting to see what an emacs-replacement could do for remote text editing other than just running it in a terminal. 2017-03-30T06:35:59Z damke joined #lisp 2017-03-30T06:36:56Z damke_ quit (Ping timeout: 268 seconds) 2017-03-30T06:37:04Z jdz: Not sure this has been mentioned here but for the server use-case there are the "unikernels": http://unikernel.org/projects/ 2017-03-30T06:41:06Z jdz: This was the presentation I found interesting (a while ago): http://slides.com/technolo-g/intro-to-unikernels-and-erlang-on-xen-ling-demo#/ 2017-03-30T06:42:49Z chens joined #lisp 2017-03-30T06:43:43Z damke quit (Ping timeout: 268 seconds) 2017-03-30T06:43:49Z jdz: A while back turns out to be almost 2 years ago. 2017-03-30T06:44:35Z damke joined #lisp 2017-03-30T06:49:58Z sfa quit (Quit: Lost terminal) 2017-03-30T06:50:22Z arquebus quit (Quit: Leaving) 2017-03-30T06:55:28Z mishoo quit (Ping timeout: 240 seconds) 2017-03-30T06:56:58Z neoncontrails quit (Remote host closed the connection) 2017-03-30T06:57:18Z test1600 joined #lisp 2017-03-30T07:03:05Z flip214: well, all the device-driver and boot-init stuff might happily live within some BSD/Linux and systemV/systemD/whatever things. 2017-03-30T07:03:45Z flip214: from a user perspective, the UI parts need to be changable via the "Lisp Machine" first - UI, window manager, tool kits, workspace behaviour, ... 2017-03-30T07:04:37Z flip214: the "boring" back-end stuff (like loading firmware for the wifi card) is well contained within a few (maintained!) C programs. 2017-03-30T07:06:39Z aeth: The Lisp environment advantages aren't as big in something like that, anyway. I'm not sure I'd want to C-c some random function in a USB driver. 2017-03-30T07:09:59Z vlatkoB_ joined #lisp 2017-03-30T07:10:10Z damke__ joined #lisp 2017-03-30T07:10:14Z damke quit (Ping timeout: 268 seconds) 2017-03-30T07:11:55Z mishoo joined #lisp 2017-03-30T07:13:07Z shifty joined #lisp 2017-03-30T07:13:28Z vlatkoB quit (Ping timeout: 240 seconds) 2017-03-30T07:16:07Z wooden__ joined #lisp 2017-03-30T07:16:37Z marvin2 quit (Ping timeout: 260 seconds) 2017-03-30T07:17:46Z jackdaniel: aeth: if you have written some drivers (for Linux for instance), then you know that the biggest adventage comes from macros, not real-time recompilation 2017-03-30T07:17:47Z nowhere_man quit (Ping timeout: 260 seconds) 2017-03-30T07:17:57Z wooden_ quit (Ping timeout: 240 seconds) 2017-03-30T07:18:17Z jackdaniel: a lot of boilerplate is there to make it working with existing abstractions 2017-03-30T07:20:12Z eazar001 quit (Ping timeout: 258 seconds) 2017-03-30T07:21:58Z benny quit (Ping timeout: 264 seconds) 2017-03-30T07:23:26Z benny joined #lisp 2017-03-30T07:26:38Z varjag joined #lisp 2017-03-30T07:26:58Z Bike quit (Quit: sleep) 2017-03-30T07:28:04Z jmsb quit (Ping timeout: 246 seconds) 2017-03-30T07:28:11Z scymtym joined #lisp 2017-03-30T07:30:44Z gargaml joined #lisp 2017-03-30T07:32:20Z phoe_ joined #lisp 2017-03-30T07:40:44Z milanj joined #lisp 2017-03-30T07:48:04Z seg quit (Ping timeout: 240 seconds) 2017-03-30T07:50:13Z MoALTz joined #lisp 2017-03-30T07:50:13Z seg joined #lisp 2017-03-30T07:54:34Z sveit joined #lisp 2017-03-30T08:02:03Z Guest20460 quit (Changing host) 2017-03-30T08:02:03Z Guest20460 joined #lisp 2017-03-30T08:02:15Z Guest20460 is now known as mrSpec 2017-03-30T08:03:05Z shifty quit (Quit: Leaving) 2017-03-30T08:03:26Z shifty joined #lisp 2017-03-30T08:06:32Z shifty779 joined #lisp 2017-03-30T08:06:43Z shifty779 left #lisp 2017-03-30T08:08:03Z okflo joined #lisp 2017-03-30T08:09:23Z nirved joined #lisp 2017-03-30T08:11:27Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-30T08:14:53Z hhdave joined #lisp 2017-03-30T08:16:21Z damke joined #lisp 2017-03-30T08:16:52Z psacrifice quit (Remote host closed the connection) 2017-03-30T08:19:18Z damke__ quit (Ping timeout: 268 seconds) 2017-03-30T08:19:32Z elazul joined #lisp 2017-03-30T08:23:04Z defaultxr quit (Ping timeout: 240 seconds) 2017-03-30T08:24:04Z pve joined #lisp 2017-03-30T08:24:08Z daemoz quit (Ping timeout: 256 seconds) 2017-03-30T08:26:10Z quazimodo quit (Ping timeout: 264 seconds) 2017-03-30T08:30:32Z ogamita joined #lisp 2017-03-30T08:30:42Z shpx joined #lisp 2017-03-30T08:33:31Z troydm quit (Ping timeout: 246 seconds) 2017-03-30T08:35:27Z shpx quit (Ping timeout: 240 seconds) 2017-03-30T08:37:36Z daemoz joined #lisp 2017-03-30T08:51:54Z gargaml quit (Quit: WeeChat 1.7) 2017-03-30T08:52:43Z quazimodo joined #lisp 2017-03-30T08:53:33Z gargaml joined #lisp 2017-03-30T08:53:41Z gargaml quit (Client Quit) 2017-03-30T08:53:55Z gargaml joined #lisp 2017-03-30T08:53:57Z gargaml quit (Client Quit) 2017-03-30T08:54:40Z gargaml joined #lisp 2017-03-30T08:56:09Z gingerale joined #lisp 2017-03-30T08:57:17Z tiago joined #lisp 2017-03-30T08:57:17Z tiago quit (Changing host) 2017-03-30T08:57:17Z tiago joined #lisp 2017-03-30T08:57:55Z Tex_Nick quit (Quit: In Linux, We Trust) 2017-03-30T08:59:10Z gigetoo quit (Ping timeout: 264 seconds) 2017-03-30T08:59:39Z gigetoo joined #lisp 2017-03-30T08:59:42Z psacrifice joined #lisp 2017-03-30T09:04:35Z gacepa joined #lisp 2017-03-30T09:05:22Z foom quit (Ping timeout: 246 seconds) 2017-03-30T09:05:49Z beach: What is the result supposed to be of (with-input-from-string (var "(234")) (read var nil nil))? 2017-03-30T09:06:50Z phoe_: clhs read 2017-03-30T09:06:50Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_rd_rd.htm 2017-03-30T09:07:00Z beach: Notice the "supposed to". I.e., what does the Common Lisp HyperSpec say about it? 2017-03-30T09:07:34Z mateuszb quit (Ping timeout: 264 seconds) 2017-03-30T09:08:11Z phoe_: I think NIL because end of file happens, at which point NIL is returned instead of an error. 2017-03-30T09:08:17Z beach: I am asking because my interpretation is that it should return NIL, but the version of SBCL that I have installed signals an error. 2017-03-30T09:08:28Z Karl_Dscc joined #lisp 2017-03-30T09:08:32Z daemoz: returns nil for me 2017-03-30T09:08:37Z beach: Oh! 2017-03-30T09:09:22Z beach: My SBCL is a bit old. Thanks daemoz! I have 1.3.11. 2017-03-30T09:09:37Z foom joined #lisp 2017-03-30T09:10:06Z phoe_: beach: your parens don't match in there. 2017-03-30T09:10:09Z phoe_: (with-input-from-string (var "(234") (read var nil nil)) I think. 2017-03-30T09:10:22Z phoe_: But I have 1.3.14 and I get an end of file nonetheless. 2017-03-30T09:10:24Z daemoz: 1.3.12 over here 2017-03-30T09:10:25Z easye: phoe_: THat's the question. 2017-03-30T09:10:27Z phoe_: I mean, uh. 2017-03-30T09:10:34Z phoe_: Error. 2017-03-30T09:10:38Z easye: What happens with "invalid" input? 2017-03-30T09:10:44Z phoe_: No no. 2017-03-30T09:10:53Z phoe_: (with-input-from-string (var "(234")) 2017-03-30T09:10:59Z phoe_: This is the whole first expression. 2017-03-30T09:11:04Z phoe_: (read var nil nil) 2017-03-30T09:11:07Z phoe_: This is the second one. 2017-03-30T09:11:08Z phoe_: ) 2017-03-30T09:11:08Z ogamita quit (Read error: No route to host) 2017-03-30T09:11:10Z daemoz: right. 2017-03-30T09:11:12Z phoe_: This gives an error. 2017-03-30T09:11:40Z beach: phoe_: Yes, you are right. (with-input-from-string (var "(234") (read var nil nil)) is what I meant. 2017-03-30T09:12:22Z daemoz: beach: oh, well that returns EOF for me. 2017-03-30T09:12:31Z beach: Ah, OK, thanks. 2017-03-30T09:12:48Z beach: Do we agree that it should return NIL? 2017-03-30T09:12:58Z phoe_: "read signals an error of type end-of-file, regardless of eof-error-p, if the file ends in the middle of an object representation. " 2017-03-30T09:13:08Z phoe_: No, I don't. 2017-03-30T09:13:23Z beach: Oh, let me check that again... 2017-03-30T09:13:36Z phoe_: Exceptional Situations. 2017-03-30T09:14:04Z beach: Yes, I see it. Thanks! 2017-03-30T09:14:11Z phoe_: "For example, if a file does not contain enough right parentheses to balance the left parentheses in it, read signals an error. " 2017-03-30T09:14:46Z mateuszb joined #lisp 2017-03-30T09:14:54Z damke_ joined #lisp 2017-03-30T09:15:58Z quazimodo quit (Ping timeout: 258 seconds) 2017-03-30T09:17:11Z beach: So if the reader calls itself recursively, then not only must it call with recursive-p true, but also eof-error-p true? 2017-03-30T09:17:16Z damke quit (Ping timeout: 268 seconds) 2017-03-30T09:18:07Z beach: I am saying that because it says "This is detected when read or read-preserving-whitespace is called with recursive-p and eof-error-p non-nil,...", notice the AND between the two, as opposed to OR. 2017-03-30T09:21:47Z Karl_Dscc quit (Remote host closed the connection) 2017-03-30T09:22:34Z iago joined #lisp 2017-03-30T09:24:34Z M-Illandan quit (Remote host closed the connection) 2017-03-30T09:24:34Z Jach[m] quit (Remote host closed the connection) 2017-03-30T09:24:34Z astronavt[m] quit (Remote host closed the connection) 2017-03-30T09:24:34Z zzkt[m] quit (Read error: Connection reset by peer) 2017-03-30T09:24:34Z thorondor[m] quit (Remote host closed the connection) 2017-03-30T09:24:35Z RichardPaulBck[m quit (Write error: Connection reset by peer) 2017-03-30T09:24:36Z harlequin78[m] quit (Read error: Connection reset by peer) 2017-03-30T09:27:54Z M-Illandan joined #lisp 2017-03-30T09:30:10Z smokeink joined #lisp 2017-03-30T09:33:55Z phoe_: Hm. 2017-03-30T09:33:59Z phoe_: I have no idea. 2017-03-30T09:34:02Z ogamita joined #lisp 2017-03-30T09:34:21Z phoe_: It seems so. 2017-03-30T09:34:30Z raynold quit (Quit: Connection closed for inactivity) 2017-03-30T09:35:54Z astronavt[m] joined #lisp 2017-03-30T09:35:54Z RichardPaulBck[m joined #lisp 2017-03-30T09:35:55Z harlequin78[m] joined #lisp 2017-03-30T09:36:01Z Jach[m] joined #lisp 2017-03-30T09:36:01Z zzkt[m] joined #lisp 2017-03-30T09:36:02Z thorondor[m] joined #lisp 2017-03-30T09:36:23Z beach: Doesn't matter much for now. Thanks for all the help. 2017-03-30T09:43:41Z chens quit (Remote host closed the connection) 2017-03-30T09:52:32Z Karl_Dscc joined #lisp 2017-03-30T10:05:34Z sjl__ joined #lisp 2017-03-30T10:08:22Z mood_btf quit 2017-03-30T10:08:36Z strelox joined #lisp 2017-03-30T10:15:08Z test1600 quit (Read error: Connection reset by peer) 2017-03-30T10:18:05Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-30T10:18:22Z psacrifice quit (Ping timeout: 264 seconds) 2017-03-30T10:19:46Z easye: Anybody know the DOS-like stuff present in Windows? To avoid needing to set an execute bit, I'd like to do the equivalent of "sh script.sh" for an "script.bat" file, i.e. is there a "batch interpreter" invocation that I can rely on? 2017-03-30T10:20:15Z m00natic joined #lisp 2017-03-30T10:21:05Z iago: easye: start /d C:\path\to\script script.bat 2017-03-30T10:21:51Z easye: iago: Thanks. ```start``` is present on contemporary Windows {7,8,10}? 2017-03-30T10:22:24Z easye: Does ```start``` have an absolute path or is it part of the shell? 2017-03-30T10:22:42Z iago: afaik yes, but let me start an win 7 vm and I'll test it 2017-03-30T10:23:07Z easye: iago: no need. I will take your word for it, and I need to test later anyways. 2017-03-30T10:23:47Z easye: What about the COMSPEC variable? Should that always denote a "command interpreter"? 2017-03-30T10:24:47Z iago: easye: on NT yes, in modern windows not sure 2017-03-30T10:24:55Z psacrifice joined #lisp 2017-03-30T10:26:33Z splittist: "When executing a command line whose first token is the string "CMD " 2017-03-30T10:26:33Z splittist: without an extension or path qualifier, then "CMD" is replaced with 2017-03-30T10:26:33Z splittist: the value of the COMSPEC variable. This prevents picking up CMD.EXE 2017-03-30T10:26:33Z splittist: from the current directory." 2017-03-30T10:26:35Z flip214: easye: "start" is available from cmd.exe in NT4.0 already 2017-03-30T10:26:39Z easye: Cool. I'll do a bit of googling to figure this out in detail later, but just wanted to have a plausible "placeholder" that might work on WInodws later. 2017-03-30T10:27:02Z flip214: you might want "cmd /c start ...", though 2017-03-30T10:27:33Z easye: flip214: does a naked "cmd" without a path always exec() under Windows? 2017-03-30T10:27:53Z flip214: easye: sorry, I don't understand the question. 2017-03-30T10:28:03Z flip214: start => run => cmd does run a new process. 2017-03-30T10:28:17Z easye: THe question is what is the absolute pathname of "cmd". 2017-03-30T10:28:24Z flip214: but there's no "exec" in windows per se - there's "createprocess", which does the equivalent of fork() too 2017-03-30T10:28:27Z easye: I am invoking from UIOP/RUN-PROGRAM 2017-03-30T10:28:31Z flip214: oh, right. 2017-03-30T10:28:39Z flip214: %SYSTEMROOT%\system32\cmd.exe is a good bet. 2017-03-30T10:28:47Z marvin2 joined #lisp 2017-03-30T10:28:51Z flip214: and %SYSTEMROOT% is the environment variable. 2017-03-30T10:29:00Z marvin2 left #lisp 2017-03-30T10:29:17Z easye: Not sure if I have a reasonable environment set in UIOP/RUN-PROGRAM. More stuff to test later. 2017-03-30T10:29:26Z jackdaniel: easye: ComSpec 2017-03-30T10:29:31Z easye: Again, thanks for the initial direction to stumble in. 2017-03-30T10:29:42Z flip214: there should be, because this is a GLOBAL environment variable that should get exported to every process. 2017-03-30T10:29:49Z jackdaniel: easye: http://paste.lisp.org/display/342889 2017-03-30T10:30:00Z jackdaniel: thanks to that you don't have to guess 2017-03-30T10:30:02Z marvin2 joined #lisp 2017-03-30T10:30:12Z easye: jackdaniel: Thanks. 2017-03-30T10:30:18Z flip214: also note that if you're running "...\cmd.exe /c ...\script.path" you don't need "start" 2017-03-30T10:30:23Z flip214: and possible don't _want_ it 2017-03-30T10:30:26Z easye: flip214: check. 2017-03-30T10:30:36Z flip214: because that would just detach it from your process 2017-03-30T10:30:49Z easye: `start` is part of the WIndows SHell stuff right? DOes it open a "GUI"? 2017-03-30T10:31:01Z flip214: like "bash -c script &" would only give the exit code of bash starting async, not the called script. 2017-03-30T10:31:11Z flip214: easye: start is in cmd.exe, since NT 4.0 or so. 2017-03-30T10:31:18Z flip214: at least. not sure about 3.51 ;) 2017-03-30T10:31:19Z shpx joined #lisp 2017-03-30T10:31:19Z shpx quit (Changing host) 2017-03-30T10:31:19Z shpx joined #lisp 2017-03-30T10:32:08Z flip214: easye: https://technet.microsoft.com/en-us/library/cc770297(v=ws.11).aspx for the arguments. 2017-03-30T10:32:21Z flip214: /b 2017-03-30T10:32:21Z flip214: 2017-03-30T10:32:22Z flip214: Starts an application without opening a new Command Prompt window. 2017-03-30T10:32:28Z flip214: might be what you want. 2017-03-30T10:32:53Z easye: Hmmm. That technote flip214 is from 2012, makes no statements about Windows {8,10} 2017-03-30T10:34:10Z easye: I assume it is still good. Windows 8 should be a compatible target for M$FT at this point. 2017-03-30T10:34:30Z easye: err "makes no statement about Windows {9,10}" 2017-03-30T10:34:32Z flip214: easye: in windows, "some things never change" 2017-03-30T10:34:45Z easye: Except when they do... 2017-03-30T10:34:49Z flip214: https://en.wikipedia.org/wiki/Some_Things_Never_Change 2017-03-30T10:35:10Z easye loves Supertramp 2017-03-30T10:35:40Z shpx quit (Ping timeout: 246 seconds) 2017-03-30T10:36:36Z easye: Oh. There was no Windows 9. 2017-03-30T10:36:39Z flip214: ah, so you recognize the punes. Well, I'll take the long way home, and you're bloody well right. Better not hide in your shell, though. 2017-03-30T10:36:54Z easye groans. 2017-03-30T10:39:28Z abel-abel joined #lisp 2017-03-30T10:40:29Z flip214: Sorry, you're not my kind of lady. From now on, even in the quietest moments, the two of us will be reminded of sister moonshine. When you're gone hollywood, did you have breakfast in america and a casual conversation, or were you just another nervous wreck? 2017-03-30T10:40:40Z flip214: sorry, couldn't resist.... how many did you spot? 2017-03-30T10:41:07Z flip214: ah, my new meme here will now be "easye does it" ;P 2017-03-30T10:42:05Z easye: flip214: Not many. 100%/75%/0% if your previous three puns. 2017-03-30T10:45:44Z flip214: how can you give sub-1.0 percentages? that would require you to recognize the not-yet-recognized titles, too... I guess you did a lookup on wikipedia or so ;) 2017-03-30T10:45:55Z flip214: never mind. 2017-03-30T10:50:00Z iago: easye: for the path to the executable you can use where command that the equivalent to *nix which ... where cmd .. returns C:\Windows\System32\cmd.exe 2017-03-30T10:51:17Z snowcrshd quit (Ping timeout: 260 seconds) 2017-03-30T10:51:26Z test1600 joined #lisp 2017-03-30T10:51:29Z snowcrshd joined #lisp 2017-03-30T10:51:33Z easye: iago: check. ALready using that succesfully in . I think I will stick with a `where cmd` to bootstrap things. 2017-03-30T10:57:34Z onehrxn joined #lisp 2017-03-30T10:57:35Z damke joined #lisp 2017-03-30T11:00:52Z damke_ quit (Ping timeout: 268 seconds) 2017-03-30T11:01:00Z abel-abel quit (Quit: Leaving) 2017-03-30T11:01:07Z _cosmonaut_ joined #lisp 2017-03-30T11:03:05Z stardiviner quit (Ping timeout: 240 seconds) 2017-03-30T11:03:36Z stardiviner joined #lisp 2017-03-30T11:11:26Z mrottenkolber joined #lisp 2017-03-30T11:13:41Z FreeBirdLjj joined #lisp 2017-03-30T11:16:11Z damke_ joined #lisp 2017-03-30T11:17:17Z onehrxn quit (Remote host closed the connection) 2017-03-30T11:18:03Z onehrxn joined #lisp 2017-03-30T11:18:08Z damke quit (Ping timeout: 268 seconds) 2017-03-30T11:19:01Z dilated_dinosaur quit (Ping timeout: 258 seconds) 2017-03-30T11:20:02Z gacepa quit (Quit: Connection closed for inactivity) 2017-03-30T11:22:27Z damke_ quit (Ping timeout: 268 seconds) 2017-03-30T11:22:55Z john2x quit (Ping timeout: 246 seconds) 2017-03-30T11:24:01Z damke_ joined #lisp 2017-03-30T11:25:16Z rumbler31 joined #lisp 2017-03-30T11:29:34Z rumbler31 quit (Ping timeout: 246 seconds) 2017-03-30T11:30:13Z shpx joined #lisp 2017-03-30T11:35:10Z Beetny quit (Ping timeout: 246 seconds) 2017-03-30T11:35:24Z shpx quit (Ping timeout: 268 seconds) 2017-03-30T11:38:52Z nowhere_man joined #lisp 2017-03-30T11:47:48Z o1e9 joined #lisp 2017-03-30T11:51:25Z sjl__ quit (Ping timeout: 260 seconds) 2017-03-30T11:54:20Z shka quit (Quit: Konversation terminated!) 2017-03-30T11:55:22Z bariscant joined #lisp 2017-03-30T11:56:10Z MrBusiness quit (Ping timeout: 246 seconds) 2017-03-30T11:59:04Z quazimodo joined #lisp 2017-03-30T11:59:45Z shka joined #lisp 2017-03-30T12:00:01Z stardiviner quit (Ping timeout: 246 seconds) 2017-03-30T12:00:29Z stardiviner joined #lisp 2017-03-30T12:01:16Z rpg joined #lisp 2017-03-30T12:03:30Z EvW joined #lisp 2017-03-30T12:03:53Z damke_ quit (Read error: Connection reset by peer) 2017-03-30T12:04:09Z damke_ joined #lisp 2017-03-30T12:09:56Z damke_ quit (Ping timeout: 268 seconds) 2017-03-30T12:10:25Z damke_ joined #lisp 2017-03-30T12:11:00Z daniel-s joined #lisp 2017-03-30T12:12:07Z ogamita quit (Remote host closed the connection) 2017-03-30T12:14:44Z PuercoPop left #lisp 2017-03-30T12:15:06Z d4ryus4 joined #lisp 2017-03-30T12:15:16Z john2x joined #lisp 2017-03-30T12:15:25Z damke joined #lisp 2017-03-30T12:16:43Z damke_ quit (Ping timeout: 268 seconds) 2017-03-30T12:18:08Z sjl__ joined #lisp 2017-03-30T12:18:34Z d4ryus3 quit (Ping timeout: 268 seconds) 2017-03-30T12:18:35Z namosca joined #lisp 2017-03-30T12:18:42Z namosca left #lisp 2017-03-30T12:19:37Z damke quit (Ping timeout: 246 seconds) 2017-03-30T12:21:40Z damke joined #lisp 2017-03-30T12:22:56Z psacrifice quit 2017-03-30T12:25:52Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-30T12:29:23Z sjl__ quit (Quit: WeeChat 1.3) 2017-03-30T12:29:45Z sjl joined #lisp 2017-03-30T12:35:22Z alienbot joined #lisp 2017-03-30T12:38:57Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-30T12:41:25Z oystewh: what's the name of the =#1 .... #1 concept? 2017-03-30T12:41:42Z test1600 quit (Quit: Leaving) 2017-03-30T12:41:59Z TDT joined #lisp 2017-03-30T12:43:15Z Xach: oystewh: I can't think of a name, but it's involved with printing circular structure, and the read-macro is referred to as sharpsign sharpsign in the spec. 2017-03-30T12:44:36Z splittist: The spec just talks about references and labels 2017-03-30T12:46:17Z oystewh: thanks. i came across a code snippet: 2017-03-30T12:46:17Z oystewh: (let ((target #1=(make-array (* HORZ VERT) 2017-03-30T12:46:17Z oystewh: :element-type 'single-float 2017-03-30T12:46:17Z oystewh: :initial-element 0f0)) 2017-03-30T12:46:19Z oystewh: (source #1#)) 2017-03-30T12:46:53Z Xach: I don't think that is very good style. 2017-03-30T12:47:34Z Xach: If it were me, I would use copy-seq instead. 2017-03-30T12:47:37Z oystewh: what does it do, is it a syntactic shortcut (ie make source a vector with the same params), or make source and torget the same vectors, or ... 2017-03-30T12:47:51Z oystewh: *same vector 2017-03-30T12:48:13Z oystewh: right 2017-03-30T12:48:14Z Xach: It is a syntactic shortcut. When the code is read, the initialization forms for TARGET and SOURCE are the same. When evaluated, distinct objects are created. 2017-03-30T12:48:25Z oystewh: ok, thanks 2017-03-30T12:48:30Z Xach: the fact that they are the same (eq) object is not important to evaluation. 2017-03-30T12:48:55Z splittist: clhs 2.4.8.16 2017-03-30T12:48:56Z specbot: Sharpsign Sharpsign: http://www.lispworks.com/reference/HyperSpec/Body/02_dhp.htm 2017-03-30T12:49:10Z splittist: cltl2 22.1.4 2017-03-30T12:49:43Z stardiviner quit (Ping timeout: 246 seconds) 2017-03-30T12:50:26Z dxtr: Xach: Did you have an opinion on "Common Lisp In The Wild" that you posted on your blog a while ago? 2017-03-30T12:50:38Z quazimodo quit (Ping timeout: 268 seconds) 2017-03-30T12:50:44Z Xach: dxtr: I don't. 2017-03-30T12:50:49Z Xach: neither positive nor negative 2017-03-30T12:51:01Z dxtr: Alright 2017-03-30T12:51:05Z dxtr: Well I bought thanks to you :p 2017-03-30T12:51:15Z dxtr: Seems like good reference material 2017-03-30T12:54:30Z stardiviner joined #lisp 2017-03-30T12:57:50Z quazimodo joined #lisp 2017-03-30T12:58:57Z l04m33 quit (Ping timeout: 240 seconds) 2017-03-30T12:59:44Z Xach: cool 2017-03-30T13:00:45Z shdeng quit (Quit: Leaving) 2017-03-30T13:01:08Z damke quit (Quit: quit) 2017-03-30T13:01:42Z Beetle joined #lisp 2017-03-30T13:03:09Z damke joined #lisp 2017-03-30T13:05:29Z FreeBirdLjj joined #lisp 2017-03-30T13:05:41Z test1600 joined #lisp 2017-03-30T13:06:40Z White_Flame quit (Ping timeout: 268 seconds) 2017-03-30T13:07:35Z BitPuffin|osx joined #lisp 2017-03-30T13:08:34Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-30T13:11:21Z l04m33 joined #lisp 2017-03-30T13:11:48Z switchy quit (Ping timeout: 240 seconds) 2017-03-30T13:15:18Z _cosmonaut_ quit (Ping timeout: 268 seconds) 2017-03-30T13:18:08Z setheus quit (Ping timeout: 240 seconds) 2017-03-30T13:18:10Z sake joined #lisp 2017-03-30T13:18:33Z sake is now known as Guest41118 2017-03-30T13:19:23Z setheus joined #lisp 2017-03-30T13:20:20Z switchy joined #lisp 2017-03-30T13:24:43Z stardiviner quit (Ping timeout: 246 seconds) 2017-03-30T13:24:54Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-30T13:25:28Z stardiviner joined #lisp 2017-03-30T13:30:18Z rumbler31 joined #lisp 2017-03-30T13:30:27Z FreeBirdLjj joined #lisp 2017-03-30T13:32:13Z _cosmonaut_ joined #lisp 2017-03-30T13:35:37Z jerme joined #lisp 2017-03-30T13:38:05Z damke_ joined #lisp 2017-03-30T13:40:09Z damke__ joined #lisp 2017-03-30T13:40:25Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-30T13:40:35Z damke quit (Ping timeout: 268 seconds) 2017-03-30T13:42:37Z burtons joined #lisp 2017-03-30T13:42:57Z smokeink quit (Ping timeout: 260 seconds) 2017-03-30T13:43:03Z damke_ quit (Ping timeout: 268 seconds) 2017-03-30T13:43:38Z malice joined #lisp 2017-03-30T13:44:43Z malice: Hi! I have a class with a fields X and Y. I want to Y be set to T if X is provided, otherwise to NIL. I've tried initialize-instance :after method with keyword value X and provided-p predicate, but it does not really work - predicate is always T. 2017-03-30T13:44:48Z malice: How can I achieve what I want? 2017-03-30T13:46:02Z beach: OK, let's back off a bit. First of all, they are called SLOTs not fields. Next, what do you mean by a slot being provided? Do you mean that it has a bunch of :INITARGs that can be passed to INITIALIZE-INSTANCE, or do you mean that the class has the slot X in the first place? 2017-03-30T13:46:14Z Xach: malice: can you show your class definition and initialize-instance :after method? 2017-03-30T13:46:39Z alienbot quit (Read error: Connection reset by peer) 2017-03-30T13:47:31Z malice: Yeah, sorry. 2017-03-30T13:47:52Z malice: beach: :initarg passed 2017-03-30T13:48:27Z beach: malice: So what if no :INITARG is passed, but it has an :INITFORM? 2017-03-30T13:48:28Z stardiviner quit (Ping timeout: 240 seconds) 2017-03-30T13:48:37Z beach: malice: Do you then also want to set Y? 2017-03-30T13:48:44Z malice: http://paste.lisp.org/display/342907 2017-03-30T13:48:59Z oleo joined #lisp 2017-03-30T13:49:07Z malice: I am talking about value and activep 2017-03-30T13:49:24Z malice: I want to set activep to T if value has been passed as an argument during the creation 2017-03-30T13:49:35Z malice: however, value should be NIL by default (same as activep) 2017-03-30T13:50:22Z seg quit (Ping timeout: 260 seconds) 2017-03-30T13:50:51Z malice: beach: in other words, no, I want Y to be NIL then 2017-03-30T13:51:34Z Karl_Dscc quit (Remote host closed the connection) 2017-03-30T13:51:53Z seg joined #lisp 2017-03-30T13:51:58Z malice: And sorry for the wrong names, I get that wrong every time :) 2017-03-30T13:53:16Z beach: It works for me here. 2017-03-30T13:53:34Z beach: Not your particular example, but a similar one I made up. 2017-03-30T13:54:09Z malice: Meh. It looks like I didn't compile some form. Yes, after quickloading it again it works. 2017-03-30T13:54:20Z malice: Glad I did that fine then :) 2017-03-30T13:54:22Z malice: Thanks for help! 2017-03-30T13:54:25Z quazimodo joined #lisp 2017-03-30T13:54:54Z beach: malice: It is a bad idea to have the same name of a slot and its accessor. 2017-03-30T13:55:06Z malice: beach: why? 2017-03-30T13:55:21Z malice: You mean, I should have %slot and accessor? 2017-03-30T13:55:28Z phoe_: exporting the accessor name also exports the slot name 2017-03-30T13:55:34Z beach: malice: Because, presumably, you want to export the name of the accessor, but prevent client code from using slot-value. 2017-03-30T13:55:40Z malice: Oh. 2017-03-30T13:55:45Z malice: I didn't think of that. 2017-03-30T13:55:51Z malice: Thanks for noting. 2017-03-30T13:56:03Z beach: malice: That's the very reason for my convention of preceding slot names with a %. 2017-03-30T13:56:15Z malice: I will use it then. Thank you for noticing it. 2017-03-30T13:56:23Z beach: Sure. 2017-03-30T13:59:57Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-30T14:00:13Z bocaneri quit (Ping timeout: 260 seconds) 2017-03-30T14:00:33Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-30T14:01:22Z jerme joined #lisp 2017-03-30T14:02:03Z lexicall joined #lisp 2017-03-30T14:02:06Z quazimodo joined #lisp 2017-03-30T14:02:57Z Xach: That is a very impressive way of doubling the population of programmers who follow that practice 2017-03-30T14:03:02Z Xach: That growth rate is hard to sustain 2017-03-30T14:03:30Z malice: Do you disagree with beach's practice, Xach? 2017-03-30T14:03:35Z Cthulhux is now known as christopherlauer 2017-03-30T14:03:46Z Xach: I do not know of anyone who follows it 2017-03-30T14:03:52Z Xach: (well, two, now) 2017-03-30T14:04:02Z malice: Do you suggest other solution? 2017-03-30T14:04:18Z malice: Or do you just think that providing the name is not a problem? 2017-03-30T14:04:32Z beach: malice: The other solution I have seen is to name the slot BLA and the accessor BLA-OF. 2017-03-30T14:04:41Z beach: I definitely do not like that convention. 2017-03-30T14:04:48Z cromachina quit (Read error: Connection reset by peer) 2017-03-30T14:04:55Z Xach: I understand the notion and I do not disagree with it, but I feel like using slot-value directly on a slot is a half-step toward using an unexported symbol. 2017-03-30T14:05:31Z Xach: In other words, using slot-value when there is an accessor is already a sign of "I am messing around with something even though I probably shouldn't" and is avoided. 2017-03-30T14:05:35Z Xach: But maybe my impression is wrong. 2017-03-30T14:05:56Z Xach: beach and I are united in distaste for bla-of. 2017-03-30T14:06:44Z Xach: I really like to think of objects not as buckets of mapping slot-names to values, but of participants in a protocol of generic functions, and some of those generic functions might possibly be implemented by slot values, but not necessarily (and the user should not have to care too much how the generic functions are implemented) 2017-03-30T14:07:15Z beach: malice: Right, what Xach says. You can just consider the use of SLOT-VALUE as a violation of abstraction barriers, just like the use of ::. 2017-03-30T14:07:19Z Xach: Also I wish there were more describe-object methods in the wild 2017-03-30T14:07:33Z Harag quit (Remote host closed the connection) 2017-03-30T14:07:45Z Harag joined #lisp 2017-03-30T14:08:34Z Xach: Mainly because I am guilty of the shortcut of using DESCRIBE to see and access object slots directly in the repl. I wish sometimes for a describe-object :after that says "Look also at this global hash table" or "read the docs here" or something. 2017-03-30T14:09:56Z rpg joined #lisp 2017-03-30T14:09:57Z dec0n quit (Read error: Connection reset by peer) 2017-03-30T14:10:01Z Xach: There are many different styles and practices for common lisp code and the general rule is, when you are working with someone else or a group, use what the group prefers. (The less you are being paid by the group, the less you are bound by their style.) 2017-03-30T14:10:30Z nyef: Note that "payment" is not necessarily monetary. 2017-03-30T14:10:32Z Xach: I saw some code recently that uses a lot of with-slots to work with everything. I really don't like that style very much. 2017-03-30T14:10:38Z Xach: Very much not necessarily. 2017-03-30T14:11:12Z Xach: The with-slots code was ported from ruby. I never saw the original ruby. I don't know how much that influenced the use of with-slots, or if the author just normally wrote CL that way. 2017-03-30T14:11:24Z beach: My old code used WITH-SLOTS a lot. Now I use WITH-ACCESSORS. 2017-03-30T14:11:58Z Harag quit (Ping timeout: 246 seconds) 2017-03-30T14:12:22Z Xach: A lot? 2017-03-30T14:12:28Z malice: Xach: thanks for the note about DESRIBE. I will try to take that into account. 2017-03-30T14:13:01Z Xach: I see quite a lot of print-object methods but very few describe-object methods. 2017-03-30T14:13:06Z yeticry_ joined #lisp 2017-03-30T14:13:06Z beach: Xach: Internally, in a module, I used to use either slot-value or with-slots, considering that this was the `private' way of manipulating the data. 2017-03-30T14:13:15Z malice: Although I guess I'll use beach's notation as its logic is sound to me. 2017-03-30T14:13:46Z l04m33 quit (Ping timeout: 256 seconds) 2017-03-30T14:14:02Z yeticry quit (Read error: Connection reset by peer) 2017-03-30T14:14:05Z rpg quit (Ping timeout: 240 seconds) 2017-03-30T14:14:09Z l04m33 joined #lisp 2017-03-30T14:14:10Z beach: Now, I am much more concerned with internal protocols, so I use accessors or WITH-ACCESSORS for internal manipulation as well. 2017-03-30T14:14:31Z malice: At least I'm not using gensyms for slot names :) 2017-03-30T14:14:53Z beach: Thereby, the name of the slot has only one purpose, namely to be recognized when the class is redefined, or when a slot is used again in a subclass. 2017-03-30T14:15:21Z beach: malice: I would use uninterned symbols if it weren't for the last problem I mentioned. 2017-03-30T14:15:49Z daniel-s quit (Remote host closed the connection) 2017-03-30T14:15:57Z malice: Yes, I think using gensyms would be a terrible idea. 2017-03-30T14:16:02Z beach: ... i.e, when you read the code again, a new slot will be created. 2017-03-30T14:16:08Z test1600 quit (Quit: Leaving) 2017-03-30T14:17:10Z malice: It would also be hard to override the slot in the subclass(is that how it's called in CL?) 2017-03-30T14:17:28Z malice: I kind of know how CLOS works, but I always get names wrong. 2017-03-30T14:17:38Z malice: There are so many conventions in OOP world 2017-03-30T14:17:41Z beach: WITH-ACCESSORS is quite useful, especially for someone like me who uses explicit package prefixes rather than :USE. Then I can give local names for the accessors. 2017-03-30T14:18:16Z beach: malice: Yes, that's what I meant by a the slot being "used again in a subclass". 2017-03-30T14:18:33Z malice: Sure. 2017-03-30T14:18:57Z mishoo quit (Ping timeout: 240 seconds) 2017-03-30T14:19:10Z beach: It is not necessarily `override'. The slot options are merged according to the rules of CLOS. 2017-03-30T14:19:31Z Harag joined #lisp 2017-03-30T14:19:36Z malice: Well, it was a mental shortcut. I know that there are different ways(e.g. union) of merging the slots. 2017-03-30T14:19:46Z malice: But I don't like being that verbose. 2017-03-30T14:19:50Z snowcrshd quit (Remote host closed the connection) 2017-03-30T14:21:49Z beach: So for instance, if you have (defclass aa () ((%x :initarg :x))) and (defclass bb (aa) ((%x :initarg :y))) you can use either :x or :y to initialize an instance of BB. 2017-03-30T14:22:12Z Karl_Dscc joined #lisp 2017-03-30T14:22:24Z malice: yes 2017-03-30T14:27:05Z phoe_: At least I'm not using gensyms for slot names :) 2017-03-30T14:27:20Z phoe_: holy cow, that would be evil. 2017-03-30T14:27:41Z snowcrshd joined #lisp 2017-03-30T14:28:01Z flip214: phoe_: that's just the "private slot" equivalent, isn't it? 2017-03-30T14:28:09Z phoe_: flip214: uh yes, but why 2017-03-30T14:28:19Z phoe_: you can just make a slot without any reader/writer methods 2017-03-30T14:28:28Z phoe_: it's already private enough this way 2017-03-30T14:28:31Z beach: flip214: Except that it would make it very difficult to develop the code, as we pointed out. 2017-03-30T14:28:32Z flip214: that won't help against (slot-value) 2017-03-30T14:28:39Z namosca joined #lisp 2017-03-30T14:28:40Z flip214: yeah, sorry for intruding. 2017-03-30T14:28:50Z namosca left #lisp 2017-03-30T14:28:58Z beach: No, not at all. I just thought you missed that discussion. 2017-03-30T14:29:15Z phoe_: flip214: gensyms won't help against slot-value nonetheless 2017-03-30T14:29:17Z flip214: beach: well, just have a macro that builds the class and installs symbol-macros for the currently compiled file... 2017-03-30T14:29:31Z flip214: phoe_: not if using CLOS, yeah. 2017-03-30T14:29:37Z phoe_: I can use MOP to extract all symbols that name slots in a class 2017-03-30T14:29:50Z phoe_: it would be much more funny in structures. 2017-03-30T14:30:03Z flip214: but then, as soon as I can get the raw pointer value, I can go the mmap route anyway ;) 2017-03-30T14:30:52Z shrdlu68 joined #lisp 2017-03-30T14:31:16Z flip214: _REAL_ data encapsulation means a different process, container, VM, or physical host anyway. bonus points for hacking across-the-sea ;) 2017-03-30T14:32:57Z lexicall quit (Quit: Ah, my macbook is gonna sleep!) 2017-03-30T14:34:07Z stardiviner joined #lisp 2017-03-30T14:36:03Z scymtym quit (Ping timeout: 258 seconds) 2017-03-30T14:36:38Z malice: Question: I know of existence of IGNORE-ERRORS. Is there IGNORE-WARNINGS, or do I have to write it myself? 2017-03-30T14:37:50Z bariscant quit (Quit: Leaving) 2017-03-30T14:38:27Z rpg joined #lisp 2017-03-30T14:39:05Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-30T14:40:46Z stardiviner quit (Quit: WeeChat 1.7) 2017-03-30T14:41:04Z FreeBirdLjj joined #lisp 2017-03-30T14:41:40Z malice: I guess that means there's no IGNORE-WARNINGS then. 2017-03-30T14:42:40Z jdz: (handler-bind ((warning #'(lambda (condition) (let ((restart (find-restart 'muffle-warning))) (when restart (invoke-restart restart)))))) ... do dangerous stuff ...) 2017-03-30T14:44:10Z jdz: Oh, it can be simplified to just (handler-bind ((warning #'muffle-warning)) ... do stuff ...) 2017-03-30T14:44:32Z mrottenkolber quit (Ping timeout: 260 seconds) 2017-03-30T14:45:29Z malice: Thanks jdz, second option is easier. Too bad it's not already there :) 2017-03-30T14:45:30Z l04m33 quit (Ping timeout: 256 seconds) 2017-03-30T14:45:34Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-30T14:45:57Z l04m33 joined #lisp 2017-03-30T14:45:58Z jdz: You should never use IGNORE-ERRORS. 2017-03-30T14:46:11Z malice: I don't. 2017-03-30T14:46:12Z jdz: Except in REPL when you are absolutely sure what's going on. 2017-03-30T14:48:19Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-30T14:48:43Z sjl quit (Read error: Connection reset by peer) 2017-03-30T14:50:05Z Karl_Dscc quit (Remote host closed the connection) 2017-03-30T14:50:56Z pjb joined #lisp 2017-03-30T14:51:44Z EvW quit (Ping timeout: 256 seconds) 2017-03-30T14:53:20Z rippa joined #lisp 2017-03-30T14:57:08Z snowcrshd quit (Remote host closed the connection) 2017-03-30T14:57:39Z vicfred joined #lisp 2017-03-30T15:01:13Z phoe_ quit (Quit: Page closed) 2017-03-30T15:01:55Z pjb quit (Read error: No route to host) 2017-03-30T15:01:58Z malice quit (Remote host closed the connection) 2017-03-30T15:02:47Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-30T15:03:13Z Guest82576 joined #lisp 2017-03-30T15:03:16Z jerme joined #lisp 2017-03-30T15:03:21Z JuanDaugherty joined #lisp 2017-03-30T15:04:58Z Lord_of_Life joined #lisp 2017-03-30T15:10:17Z Amplituhedron joined #lisp 2017-03-30T15:11:33Z Bike joined #lisp 2017-03-30T15:12:19Z acherontius joined #lisp 2017-03-30T15:13:50Z moei joined #lisp 2017-03-30T15:13:58Z moei quit (Client Quit) 2017-03-30T15:14:20Z moei joined #lisp 2017-03-30T15:17:57Z acherontius quit (Remote host closed the connection) 2017-03-30T15:23:34Z Harag quit (Ping timeout: 268 seconds) 2017-03-30T15:24:25Z Khisanth quit (Ping timeout: 246 seconds) 2017-03-30T15:27:37Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-30T15:29:14Z o1e9 quit (Quit: Ex-Chat) 2017-03-30T15:31:18Z sz0 joined #lisp 2017-03-30T15:32:23Z rpg joined #lisp 2017-03-30T15:33:56Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-30T15:36:15Z jerme joined #lisp 2017-03-30T15:36:51Z rpg_ joined #lisp 2017-03-30T15:37:04Z rpg quit (Ping timeout: 256 seconds) 2017-03-30T15:37:27Z Khisanth joined #lisp 2017-03-30T15:40:33Z Lord_of_Life quit (Excess Flood) 2017-03-30T15:42:08Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-30T15:44:58Z Lord_of_Life joined #lisp 2017-03-30T15:45:25Z _cosmonaut_ quit (Quit: Leaving.) 2017-03-30T15:45:57Z angavrilov quit (Ping timeout: 240 seconds) 2017-03-30T15:47:28Z angavrilov joined #lisp 2017-03-30T15:48:20Z Guest82576 quit (Read error: No route to host) 2017-03-30T15:48:24Z _cosmonaut_ joined #lisp 2017-03-30T15:49:16Z okflo` joined #lisp 2017-03-30T15:49:43Z Guest82576 joined #lisp 2017-03-30T15:51:40Z shpx joined #lisp 2017-03-30T15:51:48Z shifty quit (Ping timeout: 240 seconds) 2017-03-30T15:52:12Z pansophical quit (Read error: Connection reset by peer) 2017-03-30T15:53:09Z okflo quit (Ping timeout: 260 seconds) 2017-03-30T15:55:56Z pansophical joined #lisp 2017-03-30T15:55:57Z pansophical quit (Changing host) 2017-03-30T15:55:57Z pansophical joined #lisp 2017-03-30T15:57:51Z eazar001 joined #lisp 2017-03-30T15:58:27Z john2x quit (Ping timeout: 240 seconds) 2017-03-30T16:03:27Z nowhere_man joined #lisp 2017-03-30T16:03:33Z jmarciano joined #lisp 2017-03-30T16:03:54Z onehrxn quit (Quit: Leave for a while) 2017-03-30T16:03:59Z damke joined #lisp 2017-03-30T16:04:43Z jmarciano: somebody have experience with hunchentoot? May I use it without running a webserver, in particular to simply accept the POST parameters through CGI? 2017-03-30T16:04:43Z minion: jmarciano, memo from phoe: looks like jmarciano has left, but I'm pretty sure a CGI script has to return a response that includes headers, so the server 2017-03-30T16:04:43Z minion: jmarciano, memo from phoe: may be just waiting for that. 2017-03-30T16:06:07Z damke__ quit (Ping timeout: 268 seconds) 2017-03-30T16:09:33Z sjl joined #lisp 2017-03-30T16:11:21Z strelox quit (Ping timeout: 260 seconds) 2017-03-30T16:12:37Z defaultxr joined #lisp 2017-03-30T16:13:26Z m00natic quit (Remote host closed the connection) 2017-03-30T16:14:21Z neoncontrails joined #lisp 2017-03-30T16:15:46Z al-damiri joined #lisp 2017-03-30T16:17:42Z prole joined #lisp 2017-03-30T16:20:54Z mejja joined #lisp 2017-03-30T16:22:12Z Amplituhedron quit (Quit: Konversation terminated!) 2017-03-30T16:23:16Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-30T16:23:19Z Lord_of_Life quit (Excess Flood) 2017-03-30T16:23:26Z Guest82576: jmarciano: hunchentoot IS a web server. 2017-03-30T16:24:15Z Jesin joined #lisp 2017-03-30T16:24:30Z Guest82576: jmarciano: however, it's usually advised to use it behind another web server such as lighttp or apache (or pound, etc), because it doesn't implement some nice features such as security and load balancing, etc. 2017-03-30T16:25:33Z rumbler31 quit (Remote host closed the connection) 2017-03-30T16:25:42Z shrdlu68: I use it behind nginx, works very well :) 2017-03-30T16:26:00Z varjag joined #lisp 2017-03-30T16:26:03Z jmarciano: Is there way to use hunchentoot to read POST without launchig web server? 2017-03-30T16:26:05Z nyef: Running 'toot behind nginx in production, myself. 2017-03-30T16:26:28Z shpx quit (Ping timeout: 268 seconds) 2017-03-30T16:26:37Z shrdlu68: jmarciano: Yes, just start an acceptor on the port you want. 2017-03-30T16:26:52Z shpx joined #lisp 2017-03-30T16:26:58Z shrdlu68: It has very good documentation: http://weitz.de/hunchentoot/#reference 2017-03-30T16:27:06Z nyef: shrdlu68: Umm... That sould be "launching the web server", so no. 2017-03-30T16:27:09Z Lord_of_Life joined #lisp 2017-03-30T16:27:11Z nyef: s/sould/would/ 2017-03-30T16:27:13Z rpg_ quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-30T16:27:20Z jmarciano: acceptor is to launch web server 2017-03-30T16:28:44Z shrdlu68: Hehe, well... 2017-03-30T16:28:50Z jmarciano: or maybe ther is other system to read POST 2017-03-30T16:28:50Z rpg joined #lisp 2017-03-30T16:29:40Z shrdlu68: jmarciano: I don't understand. Reading POST implies doing http, which implies doing networking. 2017-03-30T16:30:05Z shrdlu68: "Reading POST" is, by definition, doing what servers do. 2017-03-30T16:30:36Z nyef: shrdlu68: But this is a "CGI script" scenario, not a "full web server" scenario. Different protocols apply. 2017-03-30T16:30:43Z jmarciano: yes 2017-03-30T16:31:11Z jmarciano: I am already reading it, it is just to read *standard-input* and I am parsing, good enough for my needs. 2017-03-30T16:31:25Z jmarciano: Yet looking for system which maybe supports it 2017-03-30T16:32:04Z vicfred quit (Quit: Leaving) 2017-03-30T16:33:42Z jmarciano: OK I found something by Fukamachi, http-body, so I will try that one. 2017-03-30T16:33:44Z marsjaninzmarsa quit (Ping timeout: 258 seconds) 2017-03-30T16:34:12Z tumdum joined #lisp 2017-03-30T16:34:12Z tumdum quit (Changing host) 2017-03-30T16:34:12Z tumdum joined #lisp 2017-03-30T16:36:51Z mishoo joined #lisp 2017-03-30T16:37:14Z otjura joined #lisp 2017-03-30T16:38:54Z Guest82576: jmarciano: you can't implement a CGI using Hunchentoot. You can implement an servlet in Hunchentoot. 2017-03-30T16:39:10Z jmarciano: aha. OK I just read to parse POST/GET 2017-03-30T16:39:13Z Guest82576: You could call an external CGI from a Hunchentoot servelet. 2017-03-30T16:39:49Z Guest82576: but the point of lisp and hunchentoot is to avoid CGI, and implement servlet directly in the server in lisp. 2017-03-30T16:40:17Z nyef: No, the point of lisp is *not* to avoid CGI. 2017-03-30T16:40:28Z nyef: The point of Hunchentoot is to avoid CGI. 2017-03-30T16:40:55Z jmarciano: I have no reason to avoid it, it is workable solution I am using for decades now 2017-03-30T16:40:56Z nyef: It is usually a good idea, for many reasons, to avoid CGI, but the use of Lisp is orthogonal to that. 2017-03-30T16:41:27Z jmarciano: myself I am simply accepting leads/inquiries, so that is not "application" 2017-03-30T16:41:40Z Balooga_ joined #lisp 2017-03-30T16:42:45Z shrdlu68: jmarciano: Just curious: how are you getting the POST requests in the first place? 2017-03-30T16:42:59Z jmarciano: I just read *standard-input* 2017-03-30T16:43:28Z shrdlu68: What sends the POST? 2017-03-30T16:43:36Z FreeBirdLjj joined #lisp 2017-03-30T16:43:41Z jmarciano: just FORM in the HTML page 2017-03-30T16:44:35Z shrdlu68: What does the networking? 2017-03-30T16:44:44Z jmarciano: nginx 2017-03-30T16:44:54Z nyef: The web browser sends a POST request to the web server. The web server notes that this is a CGI request and executes the CGI "script" to handle it, using the CGI protocols (which are largely based around standard input and standard output). 2017-03-30T16:45:27Z rumbler31 joined #lisp 2017-03-30T16:45:32Z Guest82576: jmarciano: CGI is an interface between a web server and an external command. The POST parameters passed on stdin or the GET parameters passed in the environment variables, etc. are all produced by the web server from its interpretation of the http protocol. The web server implements the http protocol. 2017-03-30T16:45:32Z nyef: One advantage to using CGI, by the way, is that you don't have to worry about also starting up some long-lived lisp process that may die on you / get killed. 2017-03-30T16:46:21Z shrdlu68: nyef: I've been using CL in production sites and that's never happened. 2017-03-30T16:47:09Z nyef: shrdlu68: I've been using CL in production as well. Startup is a pain, stuff goes wrong, shit happens. 2017-03-30T16:47:29Z gargaml quit (Quit: WeeChat 1.7) 2017-03-30T16:47:58Z shrdlu68: Isn't there a CL CGI implementation? 2017-03-30T16:48:04Z FreeBirdLjj quit (Ping timeout: 246 seconds) 2017-03-30T16:48:26Z jmarciano: that's exactly what I am wondering about 2017-03-30T16:48:58Z hhdave quit (Ping timeout: 264 seconds) 2017-03-30T16:49:18Z nyef: shrdlu68: Simple example: Hunchentoot on SBCL, talking to a postgresql database via postmodern. Default taskmaster and acceptor. Start ramping up the number of concurrent requests. At a certain threshold number of requests, almost all of them start timing out completely. 2017-03-30T16:50:09Z nyef: Use a database connection pool? Suddenly you're out of connections at the DB level and your web requests fail due to the database refusing connections. 2017-03-30T16:50:33Z nyef: Stuff /goes wrong/ in production. 2017-03-30T16:51:05Z shrdlu68: nyef: That's precisely the same set up I typically use. What request rate does it take to cause this? 2017-03-30T16:51:30Z raynold joined #lisp 2017-03-30T16:52:18Z nyef: I forget. It was a few years ago that we ran into it, and we switched to a thread-pool taskmaster, multiple process instances, and so on. 2017-03-30T16:52:54Z shrdlu68: That's a pretty serious problem 2017-03-30T16:53:01Z shrdlu68 shudders 2017-03-30T16:53:11Z jasom: I use N worker threads and one DB connection per thread 2017-03-30T16:53:35Z nyef: Yes. It turned out to be that stopping the world for GC with too many threads, all of which are busy doing stuff, gets to be expensive. 2017-03-30T16:54:33Z nyef: Especially with new threads being born and old threads dying constantly. 2017-03-30T16:54:43Z shrdlu68: I'm going to hit one of my servers to try and reproduce that. 2017-03-30T16:55:04Z nyef: Mmm. Apachebench or whatever it's called should be able to do it. 2017-03-30T16:55:06Z dlowe: there were similar problems with our reservation system. We eventually went process-only to deal with it 2017-03-30T16:55:30Z dlowe: That was for both sbcl and ccl 2017-03-30T16:55:35Z nyef: You might need to break 100 concurrent connections, you might not. 2017-03-30T16:55:40Z jasom: DO NOT USE apachebench! 2017-03-30T16:55:51Z shrdlu68: Why not? 2017-03-30T16:56:00Z nyef: jasom: Security issues, or it just being a lousy benchmark? 2017-03-30T16:56:01Z jasom: it makes HTTP/1.0 requests and does so in odd ways 2017-03-30T16:56:05Z nyef: Ah. 2017-03-30T16:56:25Z nyef: Okay, well, whatever tool works to generate a number of sustained concurrent connections then. 2017-03-30T16:56:39Z nyef: Sorry, sustained concurrent requests. 2017-03-30T16:57:08Z jasom: there was a nice one open sourced by someone surprising (HP maybe?) a few years back. I'm totally blanking on the name though... 2017-03-30T16:57:21Z wheelsucker joined #lisp 2017-03-30T16:57:30Z jasom: https://github.com/httperf/httperf 2017-03-30T16:57:35Z shrdlu68: So is this a cl/hunchentoot/postmodern/postgresql problem? 2017-03-30T16:58:22Z shrdlu68: Where excatly is the bottleneck, and why wouldn't the same thing happen in some python or php web framework? 2017-03-30T16:58:32Z shka_ joined #lisp 2017-03-30T16:58:36Z jasom: shrdlu68: I've seen similar issues with redis if you use one thread per connection (or huge numbers of worker threads). Obviously one DB connection per request will quickly cause problems too... 2017-03-30T16:59:30Z nyef: Yeah, one thread per connection with no connection limit *will* run into problems, no matter what implementation technology you use. 2017-03-30T17:00:36Z shrdlu68: nyef: At the time, were you also reverse-proxying behind nginx? 2017-03-30T17:00:43Z jasom: If your state is in the DB anyways though, it's trivial to split into multiple processes. Just make sure you call GC everny N requests to keep sbcl from consuming all your RAM. 2017-03-30T17:00:52Z nyef: But the sort of "after this point *all* requests break" failure mode rather than "after this point new requests break" was a bit of a surprise. 2017-03-30T17:01:00Z nyef: shrdlu68: Yes. 2017-03-30T17:01:12Z nyef: shrdlu68: Or it might have been pound. One or the other. 2017-03-30T17:02:04Z marsjaninzmarsa joined #lisp 2017-03-30T17:02:17Z marvin2 quit (Read error: Connection reset by peer) 2017-03-30T17:02:24Z Guest82576 quit (Quit: Good night!) 2017-03-30T17:03:40Z jmarciano: OK I found my solution by jasom, as I just need to (listen *standard-input*) to recognize if it is there or not. 2017-03-30T17:03:52Z jmarciano: Now I can parse POST myself 2017-03-30T17:05:24Z bocaneri joined #lisp 2017-03-30T17:09:36Z eudoxia joined #lisp 2017-03-30T17:10:35Z Karl_Dscc joined #lisp 2017-03-30T17:12:03Z daviid joined #lisp 2017-03-30T17:18:47Z jmsb joined #lisp 2017-03-30T17:24:18Z terpri joined #lisp 2017-03-30T17:27:01Z otjura quit (Ping timeout: 258 seconds) 2017-03-30T17:27:35Z gigamonkey joined #lisp 2017-03-30T17:28:38Z bocaneri quit (Read error: Connection reset by peer) 2017-03-30T17:31:25Z gigamonkey: What's up Lispers? Only been a decade or so since I hung out here regularly. 2017-03-30T17:31:27Z iago_ joined #lisp 2017-03-30T17:31:52Z Xach: gigamonkey: nothing has changed 2017-03-30T17:31:52Z jackdaniel: gigamonkey: you don't know me, but I admire your gift to CL community, thanks! 2017-03-30T17:32:02Z shrdlu68 quit (Ping timeout: 260 seconds) 2017-03-30T17:32:09Z Xach: Wait, I mean everything has changed. 2017-03-30T17:32:09Z gigamonkey: jackdaniel: thanks! 2017-03-30T17:32:17Z nyef: gigamonkey: Welcome back. 2017-03-30T17:32:18Z gigamonkey: Quicklisp still in Beta I see. 2017-03-30T17:32:23Z Xach: Working on it! 2017-03-30T17:32:26Z rpav: a few things got slight upgrades? 2017-03-30T17:32:27Z phoe: gigamonkey: some things in Lisp don't change... quickly. 2017-03-30T17:32:53Z phoe: gigamonkey: hello and thanks for the book! It's a pleasure to be able to IRC you in person. 2017-03-30T17:33:31Z RedEight joined #lisp 2017-03-30T17:33:56Z dlowe: gigamonkey: long time :D Are you finally returning to the fold? 2017-03-30T17:34:06Z shka_: gigamonkey: hi! 2017-03-30T17:34:18Z axion: gigamonkey: Nice to hear from you again 2017-03-30T17:34:42Z shka_: gigamonkey: PCL is what brought me into CL 2017-03-30T17:34:42Z gigamonkey: dlowe: I don't know what I'm doing. I quit Twitter a few weeks ago. 2017-03-30T17:34:54Z gigamonkey: Now I'm ostensibly writing a book about math for middle-school aged kids. 2017-03-30T17:35:03Z gigamonkey: Also thinking about a book about the history of the Turing Test, chatbots, etc. 2017-03-30T17:35:07Z Xach: ah, living off those sweet options 2017-03-30T17:35:31Z gigamonkey: So, is mocl a real thing? 2017-03-30T17:35:36Z Xach: It is 2017-03-30T17:35:39Z dlowe: gigamonkey: You know, PCL was a great book, but Coders At Work was just the best. You have the cred now to really dig into computer history if you want. 2017-03-30T17:35:41Z nyef: gigamonkey: The Turing Test as a measure of human gulliability rather than of computer intelligence? 2017-03-30T17:36:22Z iago quit (Remote host closed the connection) 2017-03-30T17:36:24Z gigamonkey: nyef: something like that. 2017-03-30T17:36:46Z eudoxia: gigamonkey: hey! PCL was the first programming book I read cover to cover :) 2017-03-30T17:36:56Z Bike: very weizenbaum 2017-03-30T17:36:57Z gigamonkey: Basically an extended dance remix version of this thing I wrote back in college: http://gigamonkeys.com/turing/ 2017-03-30T17:37:27Z gigamonkey: Incorporating all the stuff that has happened (and not happened) in the intervening decades. 2017-03-30T17:37:56Z iago_ is now known as iago 2017-03-30T17:38:53Z gigamonkey: Any other cool new Lisp technology I should know about? 2017-03-30T17:38:59Z gigamonkey really has not been keeping up. 2017-03-30T17:39:13Z lnostdal quit (Read error: Connection reset by peer) 2017-03-30T17:39:27Z lnostdal joined #lisp 2017-03-30T17:39:46Z jackdaniel: gigamonkey: Clasp (new implementation targetting LLVM - forked from ECL) 2017-03-30T17:40:05Z jackdaniel: SICL (new implementation in CL using CLOS with reusable components) 2017-03-30T17:40:13Z jackdaniel: McCLIM has some development lately 2017-03-30T17:40:33Z jackdaniel: same goes for ECL 2017-03-30T17:41:04Z jackdaniel: ASDF hits 3.3 version 2017-03-30T17:41:28Z jackdaniel: (with new deployment features) 2017-03-30T17:41:44Z phoe: it's barely technology, but I've been parsing the dpANS sources into yet another specification and got to about 70% so far, http://phoe.tymoon.eu/clus/doku.php?id=clus:todo 2017-03-30T17:42:09Z eudoxia: phoe: noice 2017-03-30T17:42:18Z eudoxia: hope you don't horribly burn out on that like I did :) 2017-03-30T17:42:39Z luis: SLIME's got a macrostepper (but I may well be the only one who was excited about it) 2017-03-30T17:43:08Z phoe: eudoxia: oh, I did burn out on it, ended up spending two weeks sick because of it (and that's why I don't have the whole thing finished before the ELS) 2017-03-30T17:43:12Z gigamonkey: phoe: Trying to take down the HyperSpec? 2017-03-30T17:43:22Z terpri quit (Ping timeout: 246 seconds) 2017-03-30T17:43:23Z phoe: luis: I actually used this thing so many times, oh gosh, it's useful. 2017-03-30T17:43:27Z rpg: Could someone hit me with a cluestick about SBCL command line arguments? This one isn't working for me and I can't tell why: https://pastebin.com/gscKDhHF 2017-03-30T17:43:34Z phoe: gigamonkey: I can't take down the HyperSpec, it's immortal. 2017-03-30T17:43:44Z phoe: But I can make something that's similar but more useful. 2017-03-30T17:43:54Z rpg: Despite the attempt to disable the userinit, SBCL is still loading it. 2017-03-30T17:43:55Z eudoxia: just replacing the hyperspec with better CSS would be nice 2017-03-30T17:43:58Z axion: gigamonkey: a SLIME alternative called Sly that Ive been using for a year 2017-03-30T17:44:15Z gigamonkey: axion: that you wrote? 2017-03-30T17:44:21Z axion: Nope 2017-03-30T17:44:24Z nyef: rpg: How about --no-userinit --no-sysinit ? 2017-03-30T17:44:26Z gigamonkey: Found lying on the street? 2017-03-30T17:44:37Z rpg: nyef: Thanks; I'll try. 2017-03-30T17:44:51Z axion: Haha, no. Highly rrcommended to me by a few folks. 2017-03-30T17:44:57Z jmarciano: rpg: I see no quotes on eval 2017-03-30T17:45:05Z eudoxia: I've also been using Sly and it is Good 2017-03-30T17:45:43Z gigamonkey: Wow. I'm blanking on the thing SLIME replaced. ILISP? 2017-03-30T17:45:50Z Xach: ILISP is it. 2017-03-30T17:45:54Z Xach: And ELI, for some 2017-03-30T17:45:58Z gigamonkey: blech. 2017-03-30T17:46:17Z gigamonkey: That was always just Allegro, right? 2017-03-30T17:46:36Z Xach: Yeah. 2017-03-30T17:46:47Z gigamonkey: Well, I guess a decade later it's maybe time to overthrow the old regime again. 2017-03-30T17:46:49Z rpg: jmarciano: I don't see why that would cause it to load my user init, unless it's just throwing up its hands 2017-03-30T17:47:08Z milanj quit (Quit: This computer has gone to sleep) 2017-03-30T17:47:18Z rpg: One thing that ELI still wins on is flexibliity to use the debugger (on ACL, of course). 2017-03-30T17:47:26Z damke quit (Quit: quit) 2017-03-30T17:47:41Z jackdaniel: rpg: he means that it may blow your shell (because it will treat #\( in its own way), unless you wrap it in two #\' 2017-03-30T17:47:56Z rpg: jackdaniel: OK, I'll try that, thanks. 2017-03-30T17:47:57Z jackdaniel: no-userinit is the option you look for, as nyef said 2017-03-30T17:48:17Z rpg: I tried substituting no-userinit and no-sysinit, but without any luck 2017-03-30T17:48:44Z rpg: This worked before I added the dynamic-space-size argument, so somehow that seems to be blowing this up. 2017-03-30T17:48:45Z troydm joined #lisp 2017-03-30T17:49:10Z rpg: I.e., the --userinit /dev/null used to work fine, even if it's theoretically not as good as --no-userinit. 2017-03-30T17:49:17Z nyef: Ah. I see it. 2017-03-30T17:49:33Z nyef: rpg: Move --noinform to before --end-runtime-options 2017-03-30T17:49:37Z jackdaniel: you have spurious no-initform 2017-03-30T17:49:40Z jackdaniel: sbcl --dynamic-space-size 4000 --end-runtime-options --no-userinit --no-sysinit --disable-debugger --eval '(print "hi")' --eval '(quit)' 2017-03-30T17:49:53Z jackdaniel: hah, too late 2017-03-30T17:49:55Z snowcrshd joined #lisp 2017-03-30T17:50:25Z rpg: Actually it looks like --noinform is just bad. It's not a runtime option or a toplevel option. 2017-03-30T17:50:30Z nyef: Okay then. 2017-03-30T17:50:49Z jackdaniel: 4096 would fit heap better :) 2017-03-30T17:50:52Z rpg: but again, that used to work, before the introduction of the --dynamic-space-size argument. Somehow that's implicated. 2017-03-30T17:51:07Z nyef: No, --noinform looks good as a runtime option. 2017-03-30T17:51:16Z Balooga_: gigamonkey: What brings you back? 2017-03-30T17:51:45Z rpg: nyef: Oh, yes, you are right. 2017-03-30T17:52:02Z troydm quit (Client Quit) 2017-03-30T17:52:04Z gigamonkey: Nothing in particular. I've been doing a tiny bit of hacking, mostly to make diagrams for the book I'm working on. 2017-03-30T17:52:20Z gigamonkey: Which lead me to upgrade my Lisp env which made me think of good ol' #lisp. 2017-03-30T17:52:35Z rpg: Thank you very much. 2017-03-30T17:53:15Z mathrick quit (Read error: Connection reset by peer) 2017-03-30T17:53:27Z nyef: gigamonkey: Oh, right. Other things since you left would include two new SBCL backends for ARM and Aarch64. 2017-03-30T17:54:31Z gigamonkey: We still at war with the Schemers? ;-) 2017-03-30T17:54:37Z d4gg4d_ joined #lisp 2017-03-30T17:54:37Z redcedar_ joined #lisp 2017-03-30T17:54:41Z rvirding_ joined #lisp 2017-03-30T17:54:51Z Kaisyu quit (Quit: Connection closed for inactivity) 2017-03-30T17:54:59Z rpg: Thanks everyone! 2017-03-30T17:55:09Z john2x joined #lisp 2017-03-30T17:55:11Z kilimanjaro_ joined #lisp 2017-03-30T17:55:17Z l1x_ joined #lisp 2017-03-30T17:55:18Z shrdlu68 joined #lisp 2017-03-30T17:55:20Z unrahul_ joined #lisp 2017-03-30T17:55:45Z jackdaniel: rather not, some people from here even cross the boundries (hanging in both communities) 2017-03-30T17:55:59Z varjag: wow, a gigamonkey in the wild 2017-03-30T17:56:13Z troydm joined #lisp 2017-03-30T17:57:00Z nydel_ joined #lisp 2017-03-30T17:57:03Z ramus_ joined #lisp 2017-03-30T17:57:06Z Faed joined #lisp 2017-03-30T17:57:31Z Nazral_ joined #lisp 2017-03-30T17:57:35Z djh_ joined #lisp 2017-03-30T17:57:51Z attila_lendvai: I guess that depends on the binding of "we"... :) 2017-03-30T17:58:23Z gigamonkey: I was always a man of peace, myself. 2017-03-30T17:58:57Z varjag: scheme is dead.. drscheme turned racket and stole its thunder 2017-03-30T17:59:14Z jackdaniel: varjag: guile had a new release lately 2017-03-30T17:59:23Z shrdlu68: gigamonkey: Hello from Africa! 2017-03-30T17:59:26Z jackdaniel: same goes for chicken ;) 2017-03-30T17:59:27Z john2x quit (Ping timeout: 240 seconds) 2017-03-30T17:59:34Z rvirding quit (Ping timeout: 276 seconds) 2017-03-30T17:59:34Z d4gg4d quit (Ping timeout: 276 seconds) 2017-03-30T17:59:34Z ramus quit (Ping timeout: 276 seconds) 2017-03-30T17:59:35Z nydel quit (Ping timeout: 276 seconds) 2017-03-30T17:59:35Z redcedar quit (Ping timeout: 276 seconds) 2017-03-30T17:59:35Z askatasuna quit (Ping timeout: 276 seconds) 2017-03-30T17:59:35Z astronavt[m] quit (Ping timeout: 276 seconds) 2017-03-30T17:59:35Z brucem quit (Ping timeout: 276 seconds) 2017-03-30T17:59:35Z djh quit (Ping timeout: 276 seconds) 2017-03-30T17:59:35Z Fade quit (Ping timeout: 276 seconds) 2017-03-30T17:59:35Z Urfin quit (Ping timeout: 276 seconds) 2017-03-30T17:59:35Z unrahul quit (Ping timeout: 276 seconds) 2017-03-30T17:59:35Z kilimanjaro quit (Ping timeout: 276 seconds) 2017-03-30T17:59:35Z l1x quit (Ping timeout: 276 seconds) 2017-03-30T17:59:35Z aaronjensen quit (Ping timeout: 276 seconds) 2017-03-30T17:59:36Z sukaeto quit (Ping timeout: 276 seconds) 2017-03-30T17:59:36Z Nazral quit (Ping timeout: 276 seconds) 2017-03-30T17:59:36Z rpg quit (Ping timeout: 269 seconds) 2017-03-30T17:59:42Z rvirding_ is now known as rvirding 2017-03-30T17:59:59Z redcedar_ is now known as redcedar 2017-03-30T18:00:38Z Urfin joined #lisp 2017-03-30T18:00:46Z jackdaniel: dto writes a book about game development in CL: http://xelf.me/guide.html 2017-03-30T18:00:53Z astronavt[m] joined #lisp 2017-03-30T18:00:55Z jackdaniel: he put it on twitter, so I feel free to repost ;) 2017-03-30T18:01:00Z sjl quit (Ping timeout: 260 seconds) 2017-03-30T18:01:02Z askatasuna joined #lisp 2017-03-30T18:01:16Z brucem joined #lisp 2017-03-30T18:01:23Z kilimanjaro_ is now known as kilimanjaro 2017-03-30T18:01:30Z sukaeto joined #lisp 2017-03-30T18:01:38Z jackdaniel: just the outline 2017-03-30T18:02:28Z gigamonkey: shrdlu68: hello! 2017-03-30T18:02:48Z l1x_ is now known as l1x 2017-03-30T18:03:03Z unrahul_ is now known as unrahul 2017-03-30T18:03:39Z vydd joined #lisp 2017-03-30T18:03:46Z lmohseni joined #lisp 2017-03-30T18:04:47Z lmohseni: /join #erc 2017-03-30T18:04:47Z lmohseni: 2017-03-30T18:04:47Z lmohseni: 2017-03-30T18:04:47Z lmohseni: [Thu Mar 30 2017] 2017-03-30T18:04:50Z lmohseni: -moon.freenode.net- *** Looking up your hostname... [11:03] 2017-03-30T18:04:54Z lmohseni: -moon.freenode.net- *** Checking Ident 2017-03-30T18:04:57Z lmohseni: -moon.freenode.net- *** Couldn't look up your hostname 2017-03-30T18:05:00Z lmohseni: -moon.freenode.net- *** No Ident response 2017-03-30T18:05:03Z lmohseni: *** Welcome to the freenode Internet Relay Chat Network lmohseni 2017-03-30T18:05:03Z lmohseni quit (Killed (Sigyn (Spam is off topic on freenode.))) 2017-03-30T18:05:24Z Karl_Dscc quit (Remote host closed the connection) 2017-03-30T18:05:48Z emerson joined #lisp 2017-03-30T18:07:05Z eudoxia quit (Quit: Leaving) 2017-03-30T18:14:02Z BlueRavenGT joined #lisp 2017-03-30T18:14:27Z Xach: Hmm, I have lost autodoc in the repl. How can I get it back? 2017-03-30T18:14:33Z Xach hates to restart with all this state 2017-03-30T18:15:12Z phoe: Xach: disconnect and reconnect the SLIME session perhaps 2017-03-30T18:15:31Z phoe: if anything, swank:create-server on a new port and connect to that new one, close the old repl afterwards 2017-03-30T18:15:40Z phoe: might help, and the Lisp image won't be doomed to die 2017-03-30T18:15:45Z phoe: (yet) 2017-03-30T18:16:25Z Xach: that worked all right. lost some history but not a huge deal. 2017-03-30T18:16:28Z Xach: thanks! 2017-03-30T18:17:14Z phoe: Xach: no problem 2017-03-30T18:18:01Z phoe: and if you accidentally close your buffer, you can always type commands into the inferior lisp 2017-03-30T18:20:08Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-30T18:24:24Z rpg joined #lisp 2017-03-30T18:36:25Z Karl_Dscc joined #lisp 2017-03-30T18:39:27Z tumdum quit (Ping timeout: 240 seconds) 2017-03-30T18:39:49Z Baggers joined #lisp 2017-03-30T18:40:11Z astronavt[m] quit (*.net *.split) 2017-03-30T18:46:17Z astronavt[m] joined #lisp 2017-03-30T18:57:24Z head|cat quit (Quit: WeeChat 0.4.2) 2017-03-30T19:00:57Z jmarciano quit (Ping timeout: 240 seconds) 2017-03-30T19:02:23Z yoosi joined #lisp 2017-03-30T19:02:36Z Balooga_ quit (Ping timeout: 260 seconds) 2017-03-30T19:04:23Z EvW joined #lisp 2017-03-30T19:06:16Z sjl joined #lisp 2017-03-30T19:10:23Z Karl_Dscc quit (Remote host closed the connection) 2017-03-30T19:11:32Z vtomole joined #lisp 2017-03-30T19:12:21Z Nazral_ is now known as Nazral 2017-03-30T19:13:36Z terpri joined #lisp 2017-03-30T19:17:20Z vtomole quit (Ping timeout: 260 seconds) 2017-03-30T19:19:38Z dilated_dinosaur joined #lisp 2017-03-30T19:20:56Z scymtym joined #lisp 2017-03-30T19:24:19Z warweasle quit (Quit: life) 2017-03-30T19:24:25Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-30T19:24:42Z nydel_ is now known as nydel 2017-03-30T19:28:37Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-30T19:34:13Z neoncontrails quit (Remote host closed the connection) 2017-03-30T19:44:10Z dxtr: So I can't create an sbcl image if I am using threads? 2017-03-30T19:44:26Z dxtr: Or do I have to do something fancy? 2017-03-30T19:44:32Z phoe: dxtr: there are tools for this 2017-03-30T19:44:35Z j0nii joined #lisp 2017-03-30T19:44:50Z dxtr: What tools? 2017-03-30T19:46:29Z phoe: I don't recall the names, sadly 2017-03-30T19:50:18Z rpav: just don't create threads before dumping the image, then create them on load? 2017-03-30T19:53:26Z TDT quit (Quit: TDT) 2017-03-30T19:55:24Z aaronjensen joined #lisp 2017-03-30T19:55:30Z Balooga joined #lisp 2017-03-30T19:55:34Z okflo` quit (Remote host closed the connection) 2017-03-30T19:56:04Z john2x joined #lisp 2017-03-30T20:00:47Z john2x quit (Ping timeout: 260 seconds) 2017-03-30T20:02:40Z gigamonkey: minion: you still here? 2017-03-30T20:02:40Z minion: what's up? 2017-03-30T20:02:54Z phoe: gigamonkey: minion is a bot. 2017-03-30T20:03:01Z gigamonkey: phoe: I'm aware. 2017-03-30T20:03:23Z phoe: gigamonkey: oh. 2017-03-30T20:03:53Z gigamonkey: I haven't been in this channel in about a decade. Just seeing if it was still running. 2017-03-30T20:04:47Z aeth: phoe: You don't even need to do that afaik. If the inferior Lisp is alive slime will ask you if you want to create a new one, and you can just say no, iirc. 2017-03-30T20:04:56Z aeth: (I do things that break things a lot.) 2017-03-30T20:05:43Z aeth: i.e. close *slime-repl foo*, then do M-x slime, then say no 2017-03-30T20:05:50Z phoe: aeth: oh, right. 2017-03-30T20:05:54Z daemoz: Ey, gigamonkey! Reading your book! Appreciate it! 2017-03-30T20:05:59Z vlatkoB_ quit (Remote host closed the connection) 2017-03-30T20:06:01Z gigamonkey: Cool! 2017-03-30T20:06:36Z rjid joined #lisp 2017-03-30T20:11:32Z whoman joined #lisp 2017-03-30T20:13:02Z retroj joined #lisp 2017-03-30T20:14:25Z retroj left #lisp 2017-03-30T20:16:26Z milanj joined #lisp 2017-03-30T20:16:28Z aeth: gigamonkey: The main development that I've watched grow over the past 5 years is the community around the channel #lispgames and the libraries, frameworks, engines, etc., associated with it. (Lisp games uses the broader definition of Lisp, but is mostly Common Lisp). 2017-03-30T20:16:45Z aeth: It is probably the largest non-web subcommunity of the Lisp community, at least in terms of activity. 2017-03-30T20:17:29Z aeth: (I count graphics libraries and math libraries that are mostly useful for graphics in with Lisp games as there is a large overlap, even though neither are technically games.) 2017-03-30T20:19:00Z aeth: One example of this is this recent talk on CEPL: https://youtu.be/XEtlxJsPR40 2017-03-30T20:19:13Z aeth: There are *several* other major ones, though, including Clinch and Sketch. 2017-03-30T20:21:03Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-30T20:21:22Z gigamonkey: Neat. 2017-03-30T20:21:44Z mrottenkolber joined #lisp 2017-03-30T20:23:00Z me__ joined #lisp 2017-03-30T20:24:45Z rjid: Last but not least the development of new CL implementations (e.g. Clasp). 2017-03-30T20:24:54Z Myk267 joined #lisp 2017-03-30T20:24:59Z NeverDie quit (Read error: Connection reset by peer) 2017-03-30T20:26:06Z NeverDie joined #lisp 2017-03-30T20:26:25Z whoman: some things like cepl are too modern 2017-03-30T20:26:28Z Myk267 quit (Client Quit) 2017-03-30T20:27:02Z aeth: I agree that Clasp looks interesting, especially if you want to use C++ libraries. SICL is also an interesting project, but it is less further developed than Clasp at the moment. Parts of it are used by Clasp, though. It's a fresh CL in CL, with the end goal of using it in an operating system. https://github.com/robert-strandh/SICL 2017-03-30T20:27:11Z aeth: And this is clasp. https://github.com/drmeister/clasp 2017-03-30T20:27:19Z Myk267 joined #lisp 2017-03-30T20:28:00Z attila_lendvai joined #lisp 2017-03-30T20:28:00Z attila_lendvai quit (Changing host) 2017-03-30T20:28:00Z attila_lendvai joined #lisp 2017-03-30T20:28:40Z aeth: Clasp's goal is pretty different, interoperability with C++ 2017-03-30T20:31:10Z g0d355__ joined #lisp 2017-03-30T20:31:10Z g0d355__ quit (Excess Flood) 2017-03-30T20:31:33Z aeth: Another recent development is that Hunchentoot has serious competition now. There's a "new" (started in 2014) web server in CL. https://github.com/fukamachi/woo 2017-03-30T20:32:16Z Baggers: woah, gigamonkey. Quick thanks for all the stuff you made, really helped with getting started 2017-03-30T20:33:12Z Baggers: whoman: I havent be accused of being too modern before :) Could you expand on that? 2017-03-30T20:33:37Z aeth: Baggers: you should put "Neat." in your readme under a new quotes section. 2017-03-30T20:33:53Z whoman: Baggers, a little inside joke for myself mostly... ive been reading on the PLATO computer system, from the 60s. great stuff when computers were still new 2017-03-30T20:34:12Z Baggers: whoman: cool! 2017-03-30T20:34:31Z Baggers: aeth: hehe looks like a review to me! 2017-03-30T20:35:06Z whoman: yeah its very cool =) its inspired a more clear direction on my current project. i was somewhat poking fun for some LISP package to require recent opengl graphics, even though most of my projects have used opengl in some way. 2017-03-30T20:35:34Z gigamonkey quit (Ping timeout: 240 seconds) 2017-03-30T20:38:27Z Baggers: hehe yeah it's a strange mix. but damn you Im not meant to be procastinating reading about plato 2017-03-30T20:42:41Z whoman: hehehe 2017-03-30T20:43:10Z whoman: can't believe i havent come across it before. the orange has really got/gut me where it counts too 2017-03-30T20:45:28Z daemoz quit (Ping timeout: 268 seconds) 2017-03-30T20:46:00Z rjid quit (Ping timeout: 260 seconds) 2017-03-30T20:47:26Z edgar-rft quit (Quit: edgar-rft) 2017-03-30T20:47:31Z snits quit (Read error: Connection reset by peer) 2017-03-30T20:47:32Z MrBusiness joined #lisp 2017-03-30T20:50:12Z mejja quit (Quit: \ No newline at end of file) 2017-03-30T20:50:22Z pmc quit (Quit: Leaving) 2017-03-30T20:50:24Z gingerale quit (Remote host closed the connection) 2017-03-30T20:52:55Z neoncontrails joined #lisp 2017-03-30T20:53:22Z snits joined #lisp 2017-03-30T20:58:38Z theseb joined #lisp 2017-03-30T21:00:57Z daemoz joined #lisp 2017-03-30T21:02:11Z theseb: Is this ok?....I like to avoid cons cells and use the list itself as the primitive data structure....I know lists are made from conses... What I mean is...I choose to never use that fact and in fact I made a minimal lisp where there are no conses but everything is built from lists only. I even think Clojure does this iirc. So is that really that heretical and bad? 2017-03-30T21:02:15Z gigamonkey joined #lisp 2017-03-30T21:02:55Z Xach: Conses are a useful two-element data structure. I don't think it is a great idea to avoid or ignore them. I think it is good to use them where you need them appropriately. 2017-03-30T21:03:52Z theseb: Xach: Yes but why not just use a 2 element list instead of a cons? Not sure what cons brings to the table there. 2017-03-30T21:03:56Z Xach: If you are using lists, it is ok to ignore the consy nature of them and use first and rest, but you should not ignore the realities of the data structure performance that comes from conses. 2017-03-30T21:03:57Z varjag: cons is the easiest way to add on a new value on a list 2017-03-30T21:04:12Z Xach: Yes, that is a very good point. 2017-03-30T21:04:32Z Xach: theseb: a two-element list is wasteful. 2017-03-30T21:04:57Z p9fn left #lisp 2017-03-30T21:05:08Z theseb: ah so conses are *optimizations*...so some may choose to do it my "wasteful" way to trade speed for a gram of simplicity? 2017-03-30T21:05:13Z varjag: no 2017-03-30T21:05:14Z theseb: is that allowed? 2017-03-30T21:05:22Z varjag: they are not optimisations 2017-03-30T21:05:24Z Xach: theseb: It is not simpler. 2017-03-30T21:05:42Z varjag: lists are abstraction over conses 2017-03-30T21:05:45Z theseb: (a b) seems cleaner than (a (b . null)) or however you write it 2017-03-30T21:05:57Z varjag: you have it wrong way 2017-03-30T21:06:50Z varjag: how do you write (a . b) with lists? 2017-03-30T21:07:23Z varjag: how do you append an atom A to a list (b)? 2017-03-30T21:07:33Z varjag: are you going to make a list first and then APPEND? 2017-03-30T21:08:20Z snowcrshd quit (Remote host closed the connection) 2017-03-30T21:08:34Z gigamonkey quit (Ping timeout: 240 seconds) 2017-03-30T21:08:35Z kori quit (Ping timeout: 240 seconds) 2017-03-30T21:08:57Z ikopico quit (Ping timeout: 240 seconds) 2017-03-30T21:09:07Z wheelsucker quit (Read error: Connection reset by peer) 2017-03-30T21:09:58Z theseb: varjag: i would just avoid (a . b) and do whatever extra steps i'd need to only work with (a b) 2017-03-30T21:10:41Z varjag: wasteful but ok 2017-03-30T21:10:41Z theseb: varjag: if appending or any other operation was a problem I'd just write a macro and make my own little lisp variant to avoid conses always.....This isn't serious....it is just a pet peeve of mine 2017-03-30T21:11:06Z varjag: i feel it's a fundamental misunderstanding of what linked list is 2017-03-30T21:11:33Z angavrilov quit (Remote host closed the connection) 2017-03-30T21:11:34Z theseb: i agree (a (b (c (d (e null))))) is elegant in the sense that you're building all lists from pairs... 2017-03-30T21:11:53Z vydd quit 2017-03-30T21:11:56Z varjag: your common lisp implementation build them from pairs no matter like you or not 2017-03-30T21:12:04Z theseb: yes from another perspective (a b c d) is simpler and elegant too 2017-03-30T21:12:12Z theseb: yet* 2017-03-30T21:12:41Z aeth: theseb: s-expressions are binary trees, not lists. car is the left arrow, cdr is the right arrow, and a linked list in Lisp is a special case where each left child is not itself a cons pair 2017-03-30T21:13:25Z aeth: a dotted list is a special case that ends on something other than NIL. Ending on NIL is typical. 2017-03-30T21:14:34Z aeth: e.g. https://en.wikipedia.org/wiki/S-expression#/media/File:Corrected_S-expression_tree_2.png 2017-03-30T21:15:21Z aeth: There are actually no lists in Lisp, despite the name. 2017-03-30T21:15:29Z prxq joined #lisp 2017-03-30T21:15:36Z aeth: There's just syntactic sugar over cons in the reader and printer 2017-03-30T21:16:02Z ikopico joined #lisp 2017-03-30T21:16:41Z aeth: Sorry, a flat linked list is the special case. Obviously you can have a car as a list itself, and that's how you get nested lists. 2017-03-30T21:17:06Z theseb: my brain seems to like treating lists as the fundamental primitive but i'm not confident enough in my lisp skills to comfortably disagree with the lisp gods 2017-03-30T21:18:05Z kori joined #lisp 2017-03-30T21:18:41Z aeth: and it's '(a . (b . (c . (d . (e . nil))))) 2017-03-30T21:18:53Z aeth: => (A B C D E) 2017-03-30T21:18:53Z theseb: aeth: i'm not the only one that thinks this way....see http://ergoemacs.org/emacs/lisp_list_problem.html 2017-03-30T21:18:57Z Bike: in any case it's not a huge deal 2017-03-30T21:19:23Z theseb: aeth: the cons way has *implementation* simplicity....the list way seems to have some other kind of simplicity i can't name yet 2017-03-30T21:19:44Z Bike: prove the kolmogorov simplicity, i m o 2017-03-30T21:19:48Z varjag: theseb: your brain thinks that, but then you try to create a circular list 2017-03-30T21:19:53Z varjag: and your brain is fried :) 2017-03-30T21:20:11Z kori quit (Changing host) 2017-03-30T21:20:11Z kori joined #lisp 2017-03-30T21:20:31Z theseb: oh hey....Python never exposes conses 2017-03-30T21:20:50Z theseb: I'm only mentioning other examples because I'm not confident in my lisp skills to just do my own thing 2017-03-30T21:21:05Z theseb: i feel better if other smart dudes kinda do what i seem to like 2017-03-30T21:21:25Z bariscant joined #lisp 2017-03-30T21:21:39Z slyrus_: do folks have a naming convention they like for test suites for various libraries that they don't want to actually include in the library? e.g., I use opticl-more-test for the opticl test stuff, but I'm not thrilled with the naming convention. 2017-03-30T21:21:54Z varjag: theseb: python has no linked lists, so it's no wonder 2017-03-30T21:21:59Z Bike: making a (bad but working) lisp implementation is really easy. you don't need confidence. just go wack 2017-03-30T21:22:16Z varjag: afaik it's an array down under 2017-03-30T21:22:19Z Bike: slyrus_: i thought just whatever-tests. 2017-03-30T21:22:30Z TMA: theseb: in a sense you are both right and wrong. right, because list (the data structure) corresponds with list (the concept - like the shopping list); wrong because you ascribe the property of being fundamental (which it is not, because it consists of simpler parts) 2017-03-30T21:23:16Z moei quit (Quit: Leaving...) 2017-03-30T21:23:31Z prxq: the cons cell approach is very clean mathematically, IMNSHO. There may be other ways of defining lists, but the nested head/rest way is very mathematical. 2017-03-30T21:23:34Z theseb: varjag: i think Knuth said "premature optimization is the root of all evil"....there arguably is a sort of beauty in 100% ignoring performance and seeing how butt simple you can design a language 2017-03-30T21:23:44Z aeth: theseb: Python lists are more like CL adjustable vectors afaik 2017-03-30T21:23:48Z aeth: Not linked lists. 2017-03-30T21:23:50Z varjag: yeah, and what you design is not simple 2017-03-30T21:23:51Z slyrus_: bike: yes, that's simpler. thanks. 2017-03-30T21:23:52Z varjag: that's the problem 2017-03-30T21:24:07Z Bike: or singular "test", if you still need something to bikeshed. 2017-03-30T21:24:19Z varjag: push A onto a list (B) 2017-03-30T21:24:20Z slyrus_: varjag: how about a cl-jpeg-tests library? it would be nice to have a test for the cached-source-p stuff (which I don't have ATM). 2017-03-30T21:24:35Z slyrus_: I'd like to see a test for it before I take a hack at reorganizing the code. 2017-03-30T21:24:38Z varjag: slyrus_: yes, yes.. 2017-03-30T21:25:27Z varjag: slyrus_: i'll try to find code that uses that for a start 2017-03-30T21:25:35Z varjag: and work out a test from there 2017-03-30T21:25:39Z TDT joined #lisp 2017-03-30T21:25:43Z varjag: not sure about proper library yet 2017-03-30T21:25:45Z slyrus_: Ok. do you want me to put a skeleton project together or should I wait for you to do it? 2017-03-30T21:25:49Z slyrus_: oh, ok. 2017-03-30T21:25:49Z varjag: kinda stretched thin atm 2017-03-30T21:26:01Z varjag: yes i would appreciate that actually a lot 2017-03-30T21:26:08Z slyrus_: ok, will do. 2017-03-30T21:26:10Z varjag: the skeleton thing 2017-03-30T21:26:12Z varjag: thanks! 2017-03-30T21:26:45Z manualcrank joined #lisp 2017-03-30T21:26:46Z varjag: i think cached-source-p was used for video playback in mezzano 2017-03-30T21:27:05Z varjag: hm 2017-03-30T21:27:44Z theseb: aeth: aha! so maybe all i'm saying at the end of all this is simply that i prefer vectors better than lists 2017-03-30T21:27:51Z aeth: theseb: You can get by very far in Common Lisp mostly using vectors, hash-tables, etc., and only using lists where required (e.g. &rest arguments, macros, alists, plists) 2017-03-30T21:29:01Z prxq: theseb: why? 2017-03-30T21:29:37Z varjag: slyrus_: any ideas how to test image output with this? 2017-03-30T21:29:59Z slyrus_: put some known good images in the library and compare the outputs 2017-03-30T21:30:05Z varjag: due to fixnum precision issues, results are not byte identical 2017-03-30T21:30:08Z varjag: across platforms 2017-03-30T21:30:10Z slyrus_: yeah, maybe 2017-03-30T21:30:13Z aeth: theseb: e.g. (defparameter *foo* (make-array 4 :adjustable t :fill-pointer 4 :initial-contents '(0 1 2 3))) (vector-push-extend 4 *foo*) *foo* => #(0 1 2 3 4) 2017-03-30T21:30:36Z slyrus_: we could sum the pixelwise difference and try to make sure it's below some threshold 2017-03-30T21:30:48Z varjag: could work 2017-03-30T21:30:49Z aeth: (okay, you do have to use lists sometimes in trivial cases like initial-contents, but they're trivial when used like that and the implementation could even potentially optimize them away) 2017-03-30T21:32:21Z marsjaninzmarsa quit (Ping timeout: 258 seconds) 2017-03-30T21:33:00Z theseb: prxq: why do i like vectors? see above but basically the *look* cleaner 2017-03-30T21:33:14Z theseb: prxq: that's one reason but there are more 2017-03-30T21:35:13Z prxq: any technical reason? 2017-03-30T21:35:58Z aeth: theseb: One of the main reasons to use vectors in CL is if you know the type of something. e.g. (make-array 3 :element-type 'single-float :initial-contents '(0f0 1f0 2f0)) and now you have a size-3 vector. The other is when you want random access. 2017-03-30T21:36:20Z aeth: In reality you'd put my example behind some inlined function so you could just do something like (vec 0f0 1f0 2f0) or (vec3 0f0 1f0 2f0) depending on what you want to use. 2017-03-30T21:36:48Z aeth: Sorry, type *and* fixed size. 2017-03-30T21:37:21Z Bike: 'know the type'? 2017-03-30T21:37:33Z Bike: oh, if you know the type, not to know the type 2017-03-30T21:38:08Z askatasuna quit (Ping timeout: 240 seconds) 2017-03-30T21:38:16Z aeth: If you find yourself making something of the same type and of fixed size, you either want a vector or a struct that is stored as a vector. (If you find yourself wanting something that's typed and of a set size, but with different known and always-fixed types, then you're stuck with a regular struct.) 2017-03-30T21:39:00Z aeth: (A struct stored as a vector afaik just automatically generates a lot of boilerplate that you might want like make-foo and foo-x, foo-y, foo-z) 2017-03-30T21:40:00Z aeth: Sorry, something where everything is all the same type. And it is probably going to be a numerical type, because I'm not aware of non-numerical types that implementations upgrade other than char (the string representation in CL) 2017-03-30T21:41:29Z aeth: Stuff of *just* fixed size can also be useful as vectors, e.g. stack (support built in) or queues (you need to do these yourself, but they're trivial). Adjusting (e.g. vector-push-extend instead of vector-push) probably kills a lot of the benefits, though. 2017-03-30T21:42:25Z aeth: The other way to do queues and stack are with lists (like with vectors, only stack support is built in), and this is more useful if the size isn't known and needs to be arbitrary. 2017-03-30T21:42:51Z aeth: And that wall of text are the technical reasons that I know of. Note the lack of looks in that wall. 2017-03-30T21:43:38Z Josh_2 joined #lisp 2017-03-30T21:47:25Z TDT quit (Quit: TDT) 2017-03-30T21:48:03Z aeth: You want lists for most trees (like source code, i.e. in macros) and, as I said, for most arbitrarily-sized (as opposed to known-sized) things (but not all! random access, types, etc. could play a role... and e.g. hash-tables or certain vectors might be a better fit). 2017-03-30T21:48:29Z White_Flame joined #lisp 2017-03-30T21:48:43Z aeth: Lisp source code is made of trees, thus lists. 2017-03-30T21:48:56Z aeth: Also, the source is arbitrarily-sized. 2017-03-30T21:48:57Z askatasuna joined #lisp 2017-03-30T21:50:35Z aeth: Oh, and Lisp source is sequential. 2017-03-30T21:56:43Z john2x joined #lisp 2017-03-30T21:56:53Z MoALTz quit (Quit: Leaving) 2017-03-30T21:58:57Z shpx quit (Ping timeout: 240 seconds) 2017-03-30T22:01:04Z Trystam joined #lisp 2017-03-30T22:01:18Z aeth: That being said, there are languages built around other things, like strings (Tcl) or hash tables (Lua comes close here) or a stack (Forth) and probably even arrays (APL?). 2017-03-30T22:01:25Z jasom: aeth: I think the "fixed size" is not a requirement for vectors; vector-push-extend can be better than cons in many situations. 2017-03-30T22:01:34Z john2x quit (Ping timeout: 264 seconds) 2017-03-30T22:01:42Z slyrus_: varjag: https://github.com/sharplispers/cl-jpeg-tests 2017-03-30T22:02:54Z aeth: jasom: You're right. I just gave heuristics that can be wrong. In practice, always benchmark. 2017-03-30T22:03:01Z Tristam quit (Ping timeout: 258 seconds) 2017-03-30T22:03:28Z Trystam is now known as Tristam 2017-03-30T22:03:58Z jasom: one reason to use lists over vectors is that there are more list manipulation functions than sequence+vector manipulation functions, though I think alexandria fixes most of those. 2017-03-30T22:04:05Z lpaste_ quit (Ping timeout: 240 seconds) 2017-03-30T22:04:17Z jasom: if you ever need random-access, a vector is an obvious win too 2017-03-30T22:04:53Z aeth: jasom: Every project should probably (:use #:cl #:alexandria) 2017-03-30T22:05:01Z jasom: aeth: indeed. 2017-03-30T22:05:03Z aeth: At this point, I'm not even aware of what's in CL and what's in Alexandria 2017-03-30T22:05:05Z gigamonkey joined #lisp 2017-03-30T22:05:26Z jasom should just make a package that has alexandria and split sequence re-exported and use that in all his projects 2017-03-30T22:05:27Z aeth: Iirc, some implementations even use Alexandria functions internally. 2017-03-30T22:06:09Z jasom: aeth: I think it may have been the other way around; certain functions were implemented in many places and alexandria adopted them 2017-03-30T22:06:15Z aeth: ah 2017-03-30T22:06:30Z varjag: slyrus_: thanks a lot 2017-03-30T22:06:39Z theseb: aeth: your Tcl, Forth, Lua, etc list is interesting....everyone can pick their favorite primitive to build their universe out of 2017-03-30T22:06:49Z bariscant quit (Quit: Leaving) 2017-03-30T22:07:26Z theseb: jasom: i'd think random access is something you may want more often than not 2017-03-30T22:08:35Z aeth: theseb: Personally, my default is an array, and I mainly work with lists in macros. 2017-03-30T22:08:47Z aeth: It probably depends on what domain you're mostly programming in, though. 2017-03-30T22:09:27Z jasom: aeth: I think that's a good idea; lists are for trees and sequences with shared-structure; vectors for everything else. I'm trying to switch to that, but I have some bad habits. 2017-03-30T22:09:28Z slyrus_: varjag: you're welcome. it's just the start :) 2017-03-30T22:09:35Z gigamonkey quit (Ping timeout: 240 seconds) 2017-03-30T22:11:24Z aeth: jasom: The easiest way to switch over is by using sequence functions like map instead of mapcar and elt instead of nth. Then it's not as hard. 2017-03-30T22:12:10Z whoman: seek whence 2017-03-30T22:12:14Z aeth: You might need type declarations in places to not get CL to slow down, though. 2017-03-30T22:12:22Z iago quit (Quit: Leaving) 2017-03-30T22:13:02Z varjag quit (Ping timeout: 268 seconds) 2017-03-30T22:13:22Z aeth: jasom: I made this to make working with arrays nicer, at least the kind I always use. https://gitlab.com/zombie-raptor/zombie-raptor/blob/9b181dbc250931603d75f3260a8aaaf734a80190/util/util.lisp#L36-50 2017-03-30T22:13:42Z lpaste joined #lisp 2017-03-30T22:13:45Z aeth: It used to be slightly nicer but I had to replace (,,size) with ,,size to make it work with multi-dimensional arrays. 2017-03-30T22:14:01Z prxq quit (Remote host closed the connection) 2017-03-30T22:15:35Z aeth: That defines a type foo, a make-foo, and an optional foo so e.g. (make-foo :initial-element 32) vs. (foo 32 33 34 35) 2017-03-30T22:17:45Z aeth: e.g. (define-array-and-type vec (single-float '(3)) (x y z)) with the last list being optional. Special handling of * could be done if arbitrarily-sized arrays were needed, but I don't use them. Similarly, more keyword arguments from make-array could be used in make-foo 2017-03-30T22:20:30Z theseb left #lisp 2017-03-30T22:20:34Z aeth: I think inlining is needed in the case of initial-contents to avoid creating garbage with the initial contents list. 2017-03-30T22:29:31Z mishoo quit (Ping timeout: 260 seconds) 2017-03-30T22:29:55Z zooey quit (Ping timeout: 240 seconds) 2017-03-30T22:30:48Z HDurer2 quit (Ping timeout: 240 seconds) 2017-03-30T22:35:16Z zooey joined #lisp 2017-03-30T22:35:29Z HDurer2 joined #lisp 2017-03-30T22:39:24Z rpg quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-30T22:39:26Z ryanwatk` quit (Remote host closed the connection) 2017-03-30T22:40:03Z ryanwatkins joined #lisp 2017-03-30T22:43:20Z marsjaninzmarsa joined #lisp 2017-03-30T22:49:23Z nirved quit (Quit: Leaving) 2017-03-30T22:54:31Z attila_lendvai quit (Quit: Leaving.) 2017-03-30T22:54:37Z attila_lendvai joined #lisp 2017-03-30T22:55:29Z shpx joined #lisp 2017-03-30T22:55:40Z DeadTrickster quit (Ping timeout: 256 seconds) 2017-03-30T23:00:26Z shpx quit (Ping timeout: 260 seconds) 2017-03-30T23:00:46Z JuanDaugherty joined #lisp 2017-03-30T23:00:59Z john2x joined #lisp 2017-03-30T23:02:28Z j0nii quit (Ping timeout: 256 seconds) 2017-03-30T23:03:56Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-03-30T23:05:30Z john2x quit (Ping timeout: 258 seconds) 2017-03-30T23:05:30Z gigamonkey joined #lisp 2017-03-30T23:06:29Z mazoe quit (Remote host closed the connection) 2017-03-30T23:07:17Z DeadTrickster joined #lisp 2017-03-30T23:08:54Z safe joined #lisp 2017-03-30T23:09:41Z gigamonkey quit (Read error: Connection reset by peer) 2017-03-30T23:12:53Z unbalancedparen joined #lisp 2017-03-30T23:12:53Z unbalancedparen quit (Client Quit) 2017-03-30T23:18:06Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-30T23:18:56Z quazimodo joined #lisp 2017-03-30T23:20:00Z pjb joined #lisp 2017-03-30T23:21:59Z shpx joined #lisp 2017-03-30T23:22:16Z cromachina joined #lisp 2017-03-30T23:27:19Z yrk quit (Read error: Connection reset by peer) 2017-03-30T23:27:22Z whoman quit (Ping timeout: 264 seconds) 2017-03-30T23:34:55Z burtons quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-30T23:35:37Z Baggers left #lisp 2017-03-30T23:37:13Z pve quit (Ping timeout: 246 seconds) 2017-03-30T23:40:43Z prole: Hie, I want to compare the complexity of very little algorithms; and time don't show enough information for me (cpu cycle changing at each call, and the real time being too little). Is there a way to have more information than the function "time"? thanks. 2017-03-30T23:41:42Z axion: a profiler 2017-03-30T23:41:53Z axion: SBCL includes too. Check out the docs 2017-03-30T23:41:56Z axion: two* 2017-03-30T23:44:02Z nelder quit (Quit: Leaving) 2017-03-30T23:44:46Z BlueRavenGT quit (Ping timeout: 264 seconds) 2017-03-30T23:45:11Z SAL9000 quit (Quit: ZNC - http://znc.in) 2017-03-30T23:45:32Z SAL9000 joined #lisp 2017-03-30T23:47:53Z jasom: prole: also run them in a loop 2017-03-30T23:48:01Z TDT joined #lisp 2017-03-30T23:48:14Z jasom: e.g. if one run is 6ms, then time a run of doing the same thing 1000 times for ~6s 2017-03-30T23:48:45Z axion: You can also shove them in a function and DISASSEMBLE 2017-03-30T23:50:51Z pjb: prole: you can write a code walker that will analyse the time and space complexity of little functions. 2017-03-30T23:51:41Z john2x joined #lisp 2017-03-30T23:52:43Z rumbler3_ joined #lisp 2017-03-30T23:55:05Z shka_ quit (Ping timeout: 240 seconds) 2017-03-30T23:55:25Z axion: prole: Also checkout trivial-benchmark I think it's called, by Shinmera 2017-03-30T23:57:26Z SAL9000 quit (Ping timeout: 256 seconds) 2017-03-30T23:58:11Z slyrus_ quit (Ping timeout: 260 seconds) 2017-03-30T23:59:30Z slyrus_ joined #lisp 2017-03-31T00:00:20Z mrottenkolber quit (Ping timeout: 268 seconds) 2017-03-31T00:00:38Z yoosi quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-31T00:01:24Z EvW quit (Ping timeout: 256 seconds) 2017-03-31T00:07:23Z rumbler3_ quit (Remote host closed the connection) 2017-03-31T00:09:29Z aeth: If all of those fail, you can try (disassemble #'foo) to see if you can get a picture of what's going on. 2017-03-31T00:10:03Z aeth: SBCL comments its disassembly, which helps. 2017-03-31T00:11:59Z shrdlu68 left #lisp 2017-03-31T00:12:14Z aeth: If the disassemblies are very close (I've seen one that only differs by one instruction, and sometimes they're identical even though they're implemented differently) then there isn't that much point profiling. 2017-03-31T00:16:06Z aeth: I've also used all of the above methods, too. Just be careful not to exhaust the heap if you time a very large loop or run trivial-benchmark's benchmark:with-timing. 2017-03-31T00:19:56Z RedEight quit (Quit: leaving) 2017-03-31T00:20:08Z sjl quit (Ping timeout: 240 seconds) 2017-03-31T00:23:05Z prole: thanks a lot 2017-03-31T00:24:27Z shpx quit (Ping timeout: 240 seconds) 2017-03-31T00:24:50Z nicdev: is there an example how to handle api calls with includes spaces with drakma? when I call URL-ENCODE on the paramenters that have space, the for some reason the resulting "part1+part2" is what the service i am seeing recieves rather than intended "part1 part2" 2017-03-31T00:25:14Z nicdev: s/seeing/calling 2017-03-31T00:33:02Z eazar001 quit (Quit: WeeChat 1.5) 2017-03-31T00:35:39Z bocaneri joined #lisp 2017-03-31T00:37:58Z ramus_ is now known as ramus 2017-03-31T00:38:55Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-31T00:39:42Z jmarciano joined #lisp 2017-03-31T00:39:51Z jmarciano: how do I verify existence of directory with SBCL? 2017-03-31T00:44:46Z slyrus_ quit (Ping timeout: 264 seconds) 2017-03-31T00:45:46Z aeth: jmarciano: (uiop:directory-exists-p foo) 2017-03-31T00:47:09Z jmarciano: alright 2017-03-31T00:47:10Z john2x quit (Ping timeout: 264 seconds) 2017-03-31T00:52:15Z jmarciano: any system to convert strings to bytes? 2017-03-31T00:52:27Z pillton: babel 2017-03-31T00:53:45Z jmarciano: thank 2017-03-31T00:53:45Z jmarciano: s 2017-03-31T00:53:50Z l04m33: hello folks 2017-03-31T00:53:59Z pillton: jmariciano: There is a function string-to-octets. 2017-03-31T00:54:05Z l04m33: what a shame I missed the legendary gigamonkey 2017-03-31T00:54:18Z jmarciano: pillton: aha I se something, I will tst now 2017-03-31T00:54:49Z pillton: jmariciano: I think something is wrong with the 'e' key on your keyboard. 2017-03-31T00:54:50Z mejja joined #lisp 2017-03-31T00:54:59Z jmarciano: ee no 2017-03-31T00:56:07Z l04m33 quit (Quit: leaving) 2017-03-31T00:57:46Z l04m33 joined #lisp 2017-03-31T00:59:56Z jmarciano: which system to use to replace CLISP's make-pipe-output-stream to have it common? 2017-03-31T01:00:33Z eazar001 joined #lisp 2017-03-31T01:00:41Z jmarciano: that one runs command to which I can write some input 2017-03-31T01:01:50Z grublet joined #lisp 2017-03-31T01:06:35Z karswell quit (Ping timeout: 240 seconds) 2017-03-31T01:06:44Z nelder joined #lisp 2017-03-31T01:07:14Z pent joined #lisp 2017-03-31T01:07:58Z pent_ quit (Read error: Connection reset by peer) 2017-03-31T01:10:11Z karswell joined #lisp 2017-03-31T01:10:13Z Kundry_Wag quit (Remote host closed the connection) 2017-03-31T01:10:46Z Kundry_Wag joined #lisp 2017-03-31T01:13:05Z shifty joined #lisp 2017-03-31T01:14:09Z me__ is now known as nacci 2017-03-31T01:15:11Z Kundry_Wag quit (Ping timeout: 260 seconds) 2017-03-31T01:20:42Z ryanwatk` joined #lisp 2017-03-31T01:21:06Z pillton: Not all implementations support that feature. 2017-03-31T01:21:58Z ryanwatkins quit (Ping timeout: 258 seconds) 2017-03-31T01:22:31Z l04m33: jmarciano: by 'have it common', do you mean 'portable'? 2017-03-31T01:23:48Z l04m33: uiop:run-program may do, but it's blocking, you may need threads 2017-03-31T01:24:23Z pillton: Most implementations have a make-fd-stream so you could use that in combination with pipe(2). 2017-03-31T01:25:39Z pillton: Or some trickery with mkfifo(1) and open. 2017-03-31T01:25:53Z burtons joined #lisp 2017-03-31T01:27:27Z ryanwatkins joined #lisp 2017-03-31T01:28:33Z ryanwatk` quit (Ping timeout: 260 seconds) 2017-03-31T01:28:50Z jmarciano: pillton: I don't see in SBCL make-fd-stream, also not in CLISP 2017-03-31T01:29:10Z prole quit (Remote host closed the connection) 2017-03-31T01:30:25Z pillton: (apropos "make-fd-stream") 2017-03-31T01:30:26Z jmarciano: I will try uiop thanks 2017-03-31T01:31:13Z nelder left #lisp 2017-03-31T01:31:50Z brucem quit (Changing host) 2017-03-31T01:31:50Z brucem joined #lisp 2017-03-31T01:32:13Z pillton: I have heard that newer versions of uiop contain an implementation of run-program which supports piping. 2017-03-31T01:35:25Z l04m33: pillton: yes it does, there're :input and :output arguments 2017-03-31T01:37:26Z SAL9000 joined #lisp 2017-03-31T01:37:49Z john2x joined #lisp 2017-03-31T01:41:06Z pillton: IIRC it doesn't currently support pipes because it uses uiop:slurp-input-stream. 2017-03-31T01:42:46Z l04m33: Oh, I'm not aware it's different from piping. Didn't dig into the implementation :p 2017-03-31T01:43:27Z BusFactor1 quit (Ping timeout: 240 seconds) 2017-03-31T01:43:28Z pillton: The other problem you have to be aware of is dangling file descriptors after forking. 2017-03-31T01:44:20Z pillton: Do all implementations support execve when threads are enabled? 2017-03-31T01:44:41Z jmarciano: (with-open-stream (s (uiop:run-program "mail admin" :input t)) 2017-03-31T01:44:41Z jmarciano: (princ "Hello" s)) 2017-03-31T01:44:47Z jmarciano: I am trying that, yet not getting it 2017-03-31T01:45:07Z jmarciano: maybe that is not good, it would close standard input 2017-03-31T01:45:43Z pillton: Have you read (documentation 'uiop:run-program 'function) ? 2017-03-31T01:46:33Z jmarciano: as much as it is there 2017-03-31T01:46:35Z l04m33: pillton: ah, you've got a point. Not been considering that with my trivial fork-and-die programs 2017-03-31T01:49:04Z l04m33: jmarciano: try this: (with-output-to-string (ost) 2017-03-31T01:49:07Z l04m33: (with-input-from-string (ist "hello") 2017-03-31T01:49:10Z l04m33: (uiop:run-program "cat" :input ist :output ost))) 2017-03-31T01:49:30Z l04m33: ah, my bad, newlines 2017-03-31T01:49:33Z jmarciano: yes 2017-03-31T01:49:38Z jmarciano: I was just trying 2017-03-31T01:49:43Z jmarciano: (with-input-from-string (s "Hello") 2017-03-31T01:49:44Z jmarciano: (uiop:run-program "mail admin" :input s)) 2017-03-31T01:50:31Z jmarciano: do I need output? 2017-03-31T01:51:30Z pillton: No. /dev/null gets cranky otherwise. 2017-03-31T01:51:35Z shpx joined #lisp 2017-03-31T01:51:35Z shpx quit (Changing host) 2017-03-31T01:51:35Z shpx joined #lisp 2017-03-31T01:52:48Z jmarciano: l04m33: pillton thanks, it is working now both on CLISP and SBCL 2017-03-31T01:54:13Z l04m33: no problem 2017-03-31T01:54:49Z emaczen joined #lisp 2017-03-31T01:55:30Z pillton: Are you sure that your problem fits the constraint of having to construct all of the data prior to feeding it to run-program? 2017-03-31T01:56:27Z jmarciano: I am sending multiple emails with attachments, it works 2017-03-31T01:56:59Z pillton: Ok. No worries. 2017-03-31T01:57:01Z Balooga quit (Ping timeout: 260 seconds) 2017-03-31T01:57:15Z jmarciano: unless run-program requires just one command, as mail is little longer command there 2017-03-31T01:59:30Z l04m33: jmarciano: I think what pillton meant was, If you need to continuously send input to a daemon process, things get hairy real quick 2017-03-31T02:00:09Z l04m33: and uiop:run-program may not be suitable 2017-03-31T02:00:21Z jmarciano: no 2017-03-31T02:00:35Z jmarciano: it is not daemon, just mail command from GNU Mailutils 2017-03-31T02:00:44Z shdeng joined #lisp 2017-03-31T02:00:55Z l04m33: oh it's fine then 2017-03-31T02:02:15Z nowhere_man quit (Remote host closed the connection) 2017-03-31T02:03:03Z Karl_Dscc joined #lisp 2017-03-31T02:05:40Z jmarciano: SBCL has no function ED? 2017-03-31T02:06:34Z shpx quit (Ping timeout: 240 seconds) 2017-03-31T02:06:49Z jmarciano: OK I found what is missing 2017-03-31T02:07:54Z rumbler3_ joined #lisp 2017-03-31T02:09:05Z burtons quit (Ping timeout: 240 seconds) 2017-03-31T02:09:30Z ryanwatkins quit (Ping timeout: 258 seconds) 2017-03-31T02:11:16Z jameser joined #lisp 2017-03-31T02:11:56Z FreeBirdLjj joined #lisp 2017-03-31T02:12:05Z rumbler3_ quit (Ping timeout: 240 seconds) 2017-03-31T02:12:36Z pjb: jmarciano: you can easily implement ed yourself. 2017-03-31T02:13:35Z jmarciano: there in sbcl, I just need to set it 2017-03-31T02:13:51Z jmarciano: I mean there is possibility 2017-03-31T02:14:00Z shpx joined #lisp 2017-03-31T02:16:16Z Myk267 quit (Quit: Leaving) 2017-03-31T02:16:21Z jmarciano: what could be alternative, portable for (system::getenv) from clisp? 2017-03-31T02:16:29Z jmarciano: to get list of environment 2017-03-31T02:17:36Z ryanwatkins joined #lisp 2017-03-31T02:18:05Z pjb: Don't use unexported symbols. Use ext:getenv instead. 2017-03-31T02:18:21Z jmarciano: aha I get it 2017-03-31T02:18:31Z jmarciano: and which is portable one? 2017-03-31T02:18:40Z pjb: asdf:getenv 2017-03-31T02:18:57Z pjb: or uiop/os:getenv it's the same. 2017-03-31T02:20:04Z jmarciano: is not giving me the list 2017-03-31T02:20:12Z mejja quit (Quit: \ No newline at end of file) 2017-03-31T02:20:57Z jmarciano: that is to query, yet not to give list of all environemnt variables 2017-03-31T02:21:38Z pjb: I don't think it's generally available. 2017-03-31T02:21:49Z jmarciano: ok I can make 2017-03-31T02:22:20Z pjb: You can use CFFI to access extern char **environ; 2017-03-31T02:22:30Z jmarciano: aha 2017-03-31T02:26:10Z jmarciano: I don't know how. 2017-03-31T02:26:45Z jmarciano: that is foreign what? 2017-03-31T02:30:02Z pjb: Foreign Function Interface 2017-03-31T02:30:11Z pjb: there is documentation around. 2017-03-31T02:30:17Z jmarciano: yes, and **environ is foreign which one? 2017-03-31T02:30:37Z pjb: is foreign C variable. 2017-03-31T02:32:02Z jmarciano: hmm, I don't see (cffi:foreign*variable... that is why I ask 2017-03-31T02:34:02Z jmarciano: but I OK, I will just use list of variables i need 2017-03-31T02:35:04Z Karl_Dscc quit (Remote host closed the connection) 2017-03-31T02:35:17Z jmarciano: I cannot compile CLISP on server, so I need to make it portable 2017-03-31T02:36:53Z TDT quit (Quit: TDT) 2017-03-31T02:38:30Z lexicall joined #lisp 2017-03-31T02:40:57Z Josh_2 quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-31T02:41:58Z hao__ joined #lisp 2017-03-31T02:48:28Z pjb quit (Ping timeout: 240 seconds) 2017-03-31T02:56:04Z lexicall quit (Quit: Ah, my macbook is gonna sleep!) 2017-03-31T03:02:44Z shpx quit (Ping timeout: 256 seconds) 2017-03-31T03:03:31Z zooey quit (Ping timeout: 240 seconds) 2017-03-31T03:04:31Z raynold quit (Quit: Connection closed for inactivity) 2017-03-31T03:04:51Z jmarciano quit (Ping timeout: 260 seconds) 2017-03-31T03:05:00Z Myk267 joined #lisp 2017-03-31T03:05:56Z zooey joined #lisp 2017-03-31T03:06:35Z gigetoo quit (Ping timeout: 240 seconds) 2017-03-31T03:08:57Z hvxgr quit (Ping timeout: 240 seconds) 2017-03-31T03:09:26Z hao__ quit (Quit: Leaving) 2017-03-31T03:09:49Z gigetoo joined #lisp 2017-03-31T03:10:48Z nacci quit (Ping timeout: 240 seconds) 2017-03-31T03:11:39Z Myk267 quit (Quit: Leaving) 2017-03-31T03:12:38Z Kundry_Wag joined #lisp 2017-03-31T03:13:06Z nacci joined #lisp 2017-03-31T03:13:57Z milanj quit (Quit: This computer has gone to sleep) 2017-03-31T03:14:13Z Myk267 joined #lisp 2017-03-31T03:18:03Z Kundry_Wag quit (Ping timeout: 240 seconds) 2017-03-31T03:23:24Z nacci quit (Read error: No route to host) 2017-03-31T03:26:18Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-31T03:27:07Z eazar001 quit (Quit: WeeChat 1.5) 2017-03-31T03:35:46Z vibs29 quit (Ping timeout: 264 seconds) 2017-03-31T03:35:56Z sbodin joined #lisp 2017-03-31T03:37:35Z l04m33 quit (Ping timeout: 240 seconds) 2017-03-31T03:40:25Z vibs29 joined #lisp 2017-03-31T03:42:07Z hvxgr joined #lisp 2017-03-31T03:42:58Z test1600 joined #lisp 2017-03-31T03:43:10Z l04m33 joined #lisp 2017-03-31T03:43:33Z sellout- joined #lisp 2017-03-31T03:48:31Z FreeBirdLjj joined #lisp 2017-03-31T03:49:49Z sellout- quit (Quit: Leaving.) 2017-03-31T03:51:16Z sz0 joined #lisp 2017-03-31T03:56:54Z andrzejk_ joined #lisp 2017-03-31T04:05:20Z krwq joined #lisp 2017-03-31T04:07:52Z eazar001 joined #lisp 2017-03-31T04:11:20Z krwq: why do people choose to write (in-package #:foo) instead of (in-package :foo)? is interning a package name into a namespace considered a bad practice? 2017-03-31T04:11:47Z Bike: it's not a big deal 2017-03-31T04:12:08Z Bike: it just means the keyword sticks around 2017-03-31T04:12:57Z l04m33 quit (Ping timeout: 240 seconds) 2017-03-31T04:12:58Z krwq: i have a function defined which takes a package name as an argument, now i need to do it by then 2017-03-31T04:13:05Z krwq: them* 2017-03-31T04:13:32Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-31T04:13:51Z l04m33 joined #lisp 2017-03-31T04:15:42Z nyef: Package manipulation typically uses string designators anyway. 2017-03-31T04:16:15Z krwq: why do you say so? 2017-03-31T04:16:41Z krwq: people don't just write keyword and then check for symbol-name when converting to string? 2017-03-31T04:16:46Z rumbler3_ joined #lisp 2017-03-31T04:17:44Z test1600 quit (Quit: Leaving) 2017-03-31T04:20:23Z drmeister: What is the emacs tool? lisp tool? that allows remote editing of source code when slime is connecting to a remote server? 2017-03-31T04:21:04Z krwq: drmeister: technically... 2017-03-31T04:21:15Z ryanwatk` joined #lisp 2017-03-31T04:22:54Z drmeister: It's called "technically"? 2017-03-31T04:22:56Z vlatkoB joined #lisp 2017-03-31T04:24:01Z krwq: you answered your owned question 2017-03-31T04:24:03Z ryanwatkins quit (Ping timeout: 240 seconds) 2017-03-31T04:24:08Z krwq: your own* 2017-03-31T04:25:30Z john2x quit (Ping timeout: 268 seconds) 2017-03-31T04:26:47Z drmeister: About a week ago someone mentioned to me here or in #clasp that there is a package that I install and emacs will copy source code from a remote server to allow me to edit it locally. They said I would need this to use M-. in slime when I'm using slime-connect to connect to a remote Common Lisp. 2017-03-31T04:27:07Z drmeister: I may have been misinformed or misunderstood. 2017-03-31T04:27:13Z nyef: drmeister: tramp 2017-03-31T04:27:14Z andrzejk_ quit (Quit: My iMac has gone to sleep. ZZZzzz…) 2017-03-31T04:27:26Z drmeister: tramp - that was it! Thanks 2017-03-31T04:28:03Z nyef: Doesn't really need installing these days, but I have to look up how to get it started every time I need it. 2017-03-31T04:29:00Z nyef: C-x C-f /ssh:172.16.0.254:src/sbcl/sbcl-arm-git/src/... 2017-03-31T04:29:10Z nyef: Also does dired mode and whatnot over the link. 2017-03-31T04:29:40Z nyef: And then the other thing to remember is M-x tramp-cleanup-all-connections or whatever it's called, if your ssh link ends up going away for whatever reason. 2017-03-31T04:29:48Z ryanwatk` quit (Ping timeout: 240 seconds) 2017-03-31T04:30:19Z john2x joined #lisp 2017-03-31T04:30:53Z krwq quit (Remote host closed the connection) 2017-03-31T04:35:44Z smokeink joined #lisp 2017-03-31T04:37:48Z krwq joined #lisp 2017-03-31T04:41:07Z FreeBirdLjj joined #lisp 2017-03-31T04:49:14Z andrzejk_ joined #lisp 2017-03-31T04:50:30Z sbodin quit (Ping timeout: 258 seconds) 2017-03-31T04:58:02Z Jesin quit (Remote host closed the connection) 2017-03-31T04:59:22Z emaczen: http://paste.lisp.org/+7CN7 -- Why isn't the case preserved? 2017-03-31T05:00:16Z nyef: emaczen: Because 'Name is read before the rebinding and mutation of *READTABLE* occurs. 2017-03-31T05:00:23Z krwq: emaczen: because before your readtable gets changed that symbol will be already read 2017-03-31T05:00:56Z nyef: emaczen: Try (let ((*readtable* (copy-readtable nil))) (setf (readtable-case *readtable*) :preserve) (read-from-string "Name")) 2017-03-31T05:01:54Z emaczen: nyef: How can I delay reading 'Name? 2017-03-31T05:02:39Z krwq: emaczen: change syntax write quoted symbol 2017-03-31T05:02:46Z Jesin joined #lisp 2017-03-31T05:03:07Z emaczen: krwq: Will you be more specific? 2017-03-31T05:03:13Z krwq: do exactly what nyef said 2017-03-31T05:03:15Z shka_ joined #lisp 2017-03-31T05:03:48Z sfa joined #lisp 2017-03-31T05:05:30Z neoncont_ joined #lisp 2017-03-31T05:05:55Z dec0n joined #lisp 2017-03-31T05:06:55Z bungoman quit (Ping timeout: 246 seconds) 2017-03-31T05:06:57Z neoncontrails quit (Ping timeout: 240 seconds) 2017-03-31T05:07:47Z neoncontrails joined #lisp 2017-03-31T05:08:14Z bungoman joined #lisp 2017-03-31T05:08:50Z nyef: emaczen: You could also arrange to wrap the readtable hacking around the invocation of COMPILE-FILE, or... Yes, COMPILE-FILE binds *READTABLE* to itself, so you can straight-up (setf *readtable* (let ((rt (copy-readtable nil))) (setf (readtable-case rt) :preserve) rt)) at the start of a file and then the rest of the file would preserve case. 2017-03-31T05:09:08Z nyef: Or use reader macros to smash things around, or... 2017-03-31T05:09:23Z nyef: Basically, there are options, but they each have drawbacks and advantages. 2017-03-31T05:10:22Z mathrick joined #lisp 2017-03-31T05:10:34Z neoncont_ quit (Ping timeout: 264 seconds) 2017-03-31T05:15:12Z Kundry_Wag joined #lisp 2017-03-31T05:15:30Z oleo quit (Quit: Leaving) 2017-03-31T05:15:30Z okflo joined #lisp 2017-03-31T05:15:33Z dec0n quit (Quit: Leaving) 2017-03-31T05:15:49Z dec0n joined #lisp 2017-03-31T05:16:39Z krwq: btw emacszen even if you made that work it would not work because READ-FROM-STRING is the actual name 2017-03-31T05:16:47Z Harag joined #lisp 2017-03-31T05:17:30Z krwq: emacszen and actually if you rewrote a meaning of bracket in your let statement - what do you thing should happen 2017-03-31T05:17:41Z krwq: think* 2017-03-31T05:17:48Z krwq: omg my spelling is so bad 2017-03-31T05:19:27Z flip214: nyef: *readtable* needs an (eval-when )... 2017-03-31T05:19:48Z Kundry_Wag quit (Ping timeout: 240 seconds) 2017-03-31T05:20:28Z jasom: emaczen: there is named-readtables which can help with having a custom readtable for an individual files 2017-03-31T05:21:09Z jasom: ... "for an individual files" <-- clearly time for bed 2017-03-31T05:21:38Z nyef: ... right, right. An eval-when is required there, yes. 2017-03-31T05:22:17Z emaczen: krwq: I just wrote a reader-macro and it seems to be doing what I wanted :) 2017-03-31T05:22:46Z nyef: I'm going to blame any mistakes on it being too early in the morning, and me having had too much alcohol already. 2017-03-31T05:23:07Z krwq: emaczen: what is it doing? :) 2017-03-31T05:23:37Z sfa quit (Quit: leaving) 2017-03-31T05:23:48Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-31T05:23:53Z flip214: nyef: "too much already" doesn't sound good. 2017-03-31T05:24:04Z flip214: need a listener (or at least reader)? 2017-03-31T05:24:18Z FreeBirdLjj joined #lisp 2017-03-31T05:24:37Z emaczen: krwq: I'm using #\[ and #\] with read-delimited-list with the same let fom 2017-03-31T05:24:38Z emaczen: form* 2017-03-31T05:25:24Z krwq: could you give an example? 2017-03-31T05:26:54Z emaczen: If I type [ Name ] into the REPL it returns (|Name|) 2017-03-31T05:27:34Z krwq: what if you type [ a b ] 2017-03-31T05:27:50Z nyef: flip214: Meh. Maybe three ounces of booze? But I'm tired as well as slightly inebriated. 2017-03-31T05:28:08Z emaczen: (|a| |b|) -- is what you get 2017-03-31T05:28:31Z krwq: emacs i was wondering (|a b|) vs (|a| |b|) 2017-03-31T05:29:54Z emaczen: krwq: whitespace delimits so you can't get |a b| simply at least -- I'm sure someone could 2017-03-31T05:31:14Z mishoo joined #lisp 2017-03-31T05:31:48Z drmeister: Off topic - but involving Common Lisp - Does anyone use docker on OS X? 2017-03-31T05:32:11Z krwq: emaczen: could you share the code? i'm learning reader macros myself and was wondering how did you approach the problem 2017-03-31T05:32:35Z drmeister: I'm trying to containerize clasp running within a jupyter notebook. I can't get the bloody ports to connect and no response from #docker members (sigh) 2017-03-31T05:33:57Z emaczen: krwq: Sure, I will annotate my paste 2017-03-31T05:35:20Z krwq: drmeister: is it clasp specific problem? 2017-03-31T05:35:31Z krwq: emaczen: thanks emaczen 2017-03-31T05:35:58Z wtmpsts joined #lisp 2017-03-31T05:36:05Z Harag quit (Ping timeout: 240 seconds) 2017-03-31T05:37:33Z drmeister: krwq: No, I think it's a me specific problem. I can get clasp running within a docker container running a jupyter notebook server. Then I run the server with: docker run -p 8888:8888 drmeister/cando /bin/bash and then: jupyter notebook --no-browser --port=8888 2017-03-31T05:37:58Z drmeister: No way, no how can I connect to the jupyter notebook server which should be at 192.168.99.100:8888 2017-03-31T05:38:32Z BusFactor1 joined #lisp 2017-03-31T05:38:36Z emaczen: krwq: I annotated the paste -- remember what jasom said about readtables being specific to files only and that you would need to use that package he mentioned 2017-03-31T05:39:01Z krwq: emaczen: could you share the paste? 2017-03-31T05:39:09Z krwq: emaczen: i'm not sure if i missed it 2017-03-31T05:39:15Z emaczen: http://paste.lisp.org/+7CN7/1 2017-03-31T05:39:33Z wtmpsts left #lisp 2017-03-31T05:39:58Z drmeister: Port 21 (ssh) is open. I can go: ssh 192.168.99.100 and it will ask for a password, ping 192.168.99.100 <-- pings return 2017-03-31T05:40:22Z beach: Good morning everyone! 2017-03-31T05:40:28Z krwq: omg I didn't know the read-delimited-list was actual thing, i though this was your thing :P 2017-03-31T05:40:28Z BusFactor1: morning beach 2017-03-31T05:40:31Z krwq: hi beach 2017-03-31T05:40:36Z drmeister: Port scan of 192.168.99.100 shows only port 21 and 2376 are open 2017-03-31T05:41:06Z shka_ quit (Ping timeout: 258 seconds) 2017-03-31T05:41:17Z nyef: drmeister: Firewall of some sort, or the notebook binding only the loopback interface? 2017-03-31T05:41:29Z emaczen: morning beach 2017-03-31T05:41:59Z nyef: drmeister: ssh in and do a netstat -l 2017-03-31T05:42:38Z emaczen: krwq: writing literal hash-table syntax is fun, pass t to the recursive parameter of read-delimited list and your hash-tables can be nested 2017-03-31T05:43:29Z jasom: and if it's only binding to loopback then ssh -L8888:localhost:8888 user@host to tunnel it 2017-03-31T05:43:48Z krwq: emaczen: where do you find complete list of all reader related functions? 2017-03-31T05:44:01Z nyef: drmeister: Actually, make that -ln. If it reports 127.0.0.1:8888, it's only binding loopback. If it reports 0.0.0.0:8888, it's a firewall. 2017-03-31T05:44:19Z nyef: If it doesn't report a :8888, the server isn't running. 2017-03-31T05:44:33Z krwq: btw has anyone had any success with running sbcl in bash for windows? it was doing some really weird stuff for me 2017-03-31T05:45:15Z emaczen: krwq: I open gcl.texinfo in emacs which is the same interface as the documentation you get from emacs when evaluating "C-h i" 2017-03-31T05:46:04Z krwq: emaczen: what's C-h i? 2017-03-31T05:46:04Z jasom: krwq: which bash for windows? 2017-03-31T05:46:07Z emaczen: krwq: CLHS has slime-bindings C-c C-d C-h I think is the default 2017-03-31T05:46:15Z krwq: jasom: builtin one on windows 10 2017-03-31T05:46:17Z emaczen: krwq: Are you using emacs? 2017-03-31T05:46:32Z krwq: emaczen: yes, in which mode does this shortcut work? 2017-03-31T05:46:39Z krwq: i tried in slime-repl and nothing 2017-03-31T05:47:04Z jasom: krwq: IIRC the official builds are with msys, so may not work correctly; it may be worth at least trying to build from source 2017-03-31T05:47:42Z krwq: jasom: makes sense, i think i will try at one point but i only use windows at work 2017-03-31T05:47:43Z emaczen: krwq: I'm pretty sure it is default (it just worked for me in the REPL) 2017-03-31T05:48:30Z krwq: emaczen: it is displaying help for me after i do C-C C-d C-h and then I is just typing it 2017-03-31T05:49:18Z emaczen: For emacs keybindings you can run "C-h k" and then type out the keybinding and it should open the documentation in a new buffer. 2017-03-31T05:49:34Z mood_btf joined #lisp 2017-03-31T05:49:34Z krwq: it says it is unbound i already tried 2017-03-31T05:49:49Z krwq: what function does it run for you 2017-03-31T05:49:58Z emaczen: krwq: it runs "info" 2017-03-31T05:50:01Z krwq: and which slime version do you have 2017-03-31T05:50:29Z emaczen: 2.19 2017-03-31T05:50:38Z krwq: emaczen: this one works, the slime version :) 2017-03-31T05:50:49Z emaczen: how old is 2.19? 2017-03-31T05:51:22Z krwq: emaczen: i have the version from sources from couple days ago and it also says 2.19 2017-03-31T05:54:10Z neoncontrails quit (Remote host closed the connection) 2017-03-31T05:54:40Z neoncontrails joined #lisp 2017-03-31T05:55:03Z Bike quit (Quit: slug gourmet) 2017-03-31T05:55:03Z phoe quit (Ping timeout: 240 seconds) 2017-03-31T05:56:09Z phoe joined #lisp 2017-03-31T05:56:14Z drmeister: nyef: Thanks - it took me a while to figure out how to login 2017-03-31T05:56:16Z drmeister: https://www.irccloud.com/pastebin/yeJKMqYd/ 2017-03-31T05:56:51Z safe quit (Read error: Connection reset by peer) 2017-03-31T05:56:54Z drmeister: In this case I'm running nginx - a web server - opening port 80. I can use my browser to access: localhost:80 2017-03-31T05:57:15Z drmeister: I don't see 80 anywhere in there but I can access it though my browser 2017-03-31T05:57:29Z drmeister: When I start up jupyter - I get nuttin' 2017-03-31T05:57:30Z nyef: How odd. 2017-03-31T05:58:43Z nyef: I'm out of ideas here, unfortunately. 2017-03-31T05:59:15Z krwq: emaczen: I think your shortcut is C-c C-d h on my slime unless this is different 2017-03-31T05:59:32Z neoncontrails quit (Ping timeout: 256 seconds) 2017-03-31T06:01:03Z mood_btf: drmeister: What's the docker image you're using? Does it expose whatever port jupyter listens on? 2017-03-31T06:01:49Z drmeister: I'm telling it what port to expose when I start docker with this: 2017-03-31T06:01:50Z drmeister: docker run -p 8888:8888 drmeister/cando /bin/bash 2017-03-31T06:02:00Z drmeister: And then in the docker container I do: 2017-03-31T06:02:20Z drmeister: jupyter notebook --no-browser --port=8888 2017-03-31T06:02:24Z Harag joined #lisp 2017-03-31T06:03:17Z mood_btf: Hmm, that should make localhost:8888 work 2017-03-31T06:03:24Z vtomole joined #lisp 2017-03-31T06:04:00Z emaczen: krwq: that is probably right I mostly use that texinfo file 2017-03-31T06:04:01Z drmeister: Yeah. I'm banging my head against the wall for the last couple of hours. 2017-03-31T06:04:13Z bocaneri is now known as Bock 2017-03-31T06:04:34Z Bock is now known as Boc 2017-03-31T06:04:40Z scymtym quit (Ping timeout: 246 seconds) 2017-03-31T06:04:52Z drmeister: I've got to get to bed - this has been a terrible night wrestling with docker. 2017-03-31T06:05:08Z mood_btf: drmeister: Try adding --ip=0.0.0.0 to the command 2017-03-31T06:05:39Z drmeister: I can start up swank from within the docker container and connect to it with slime-connect: 127.0.0.1 4005 2017-03-31T06:06:46Z jmsb quit (Remote host closed the connection) 2017-03-31T06:07:02Z jmsb joined #lisp 2017-03-31T06:07:28Z drmeister: I better head to bed. 2017-03-31T06:07:35Z drmeister: mood_btf: That didn't work sadly: 2017-03-31T06:07:47Z drmeister: https://www.irccloud.com/pastebin/fxGP5Whn/ 2017-03-31T06:07:57Z drmeister: If anyone has any ideas I'll check the logs 2017-03-31T06:08:23Z mood_btf: drmeister: the --ip=0.0.0.0 should go on the Jupyter command line, sorry 2017-03-31T06:08:36Z mood_btf: together with the --port=8888 2017-03-31T06:08:47Z drmeister: Trying... 2017-03-31T06:11:44Z drmeister: mood_btf: That worked! 2017-03-31T06:11:52Z drmeister: Why did that work? 2017-03-31T06:12:26Z drmeister: Thank you - I'm off to bed. I'll explore it tomorrow and check logs. 2017-03-31T06:12:40Z mood_btf: I think Jupyter is listening on 127.0.0.1 by default, which is the loopback interface of the container. Your host, however, connects from the docker bridge network 2017-03-31T06:12:59Z FreeBird_ joined #lisp 2017-03-31T06:16:27Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-03-31T06:16:53Z angavrilov joined #lisp 2017-03-31T06:25:50Z vtomole quit (Ping timeout: 260 seconds) 2017-03-31T06:35:22Z rumbler3_ quit (Remote host closed the connection) 2017-03-31T06:35:28Z salv0 joined #lisp 2017-03-31T06:37:30Z jmsb quit (Ping timeout: 256 seconds) 2017-03-31T06:42:07Z eazar001 quit (Ping timeout: 246 seconds) 2017-03-31T06:44:31Z eazar001 joined #lisp 2017-03-31T06:47:03Z Reinisch quit (Ping timeout: 240 seconds) 2017-03-31T06:50:25Z neoncontrails joined #lisp 2017-03-31T06:50:45Z Reinisch joined #lisp 2017-03-31T06:57:56Z MoALTz joined #lisp 2017-03-31T07:04:05Z Harag quit (Ping timeout: 240 seconds) 2017-03-31T07:12:26Z mood_btf quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-31T07:13:41Z mood_btf joined #lisp 2017-03-31T07:13:57Z vlatkoB quit (Ping timeout: 240 seconds) 2017-03-31T07:15:30Z vlatkoB joined #lisp 2017-03-31T07:16:45Z Kundry_Wag joined #lisp 2017-03-31T07:17:42Z varjag joined #lisp 2017-03-31T07:20:38Z scymtym joined #lisp 2017-03-31T07:20:59Z o1e9 joined #lisp 2017-03-31T07:21:42Z Kundry_Wag quit (Ping timeout: 256 seconds) 2017-03-31T07:24:25Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-31T07:24:42Z Harag joined #lisp 2017-03-31T07:25:19Z spatial_ joined #lisp 2017-03-31T07:26:05Z test1600 joined #lisp 2017-03-31T07:26:09Z spatial_: Have a simple lisp question. 2017-03-31T07:26:56Z spatial_: http://lpaste.net/354129 nil is returned if possible moves is empty. Following loop is not executed. Right ? 2017-03-31T07:28:30Z milanj joined #lisp 2017-03-31T07:30:41Z daviid quit (Ping timeout: 260 seconds) 2017-03-31T07:31:05Z Boc is now known as Bock 2017-03-31T07:33:16Z john2x quit (Remote host closed the connection) 2017-03-31T07:33:47Z quazimodo quit (Remote host closed the connection) 2017-03-31T07:36:05Z rumbler3_ joined #lisp 2017-03-31T07:37:46Z krwq: spatial_: right, you can also replace if with when and just say (when possible-moves) 2017-03-31T07:37:49Z hhdave joined #lisp 2017-03-31T07:38:00Z krwq: and then your form 2017-03-31T07:38:35Z spatial_: Ok 2017-03-31T07:38:47Z krwq: (when possible-moves (loop...)) or just dont do any when 2017-03-31T07:39:00Z krwq: loop should deal nicely with empty list 2017-03-31T07:39:44Z quazimodo joined #lisp 2017-03-31T07:40:29Z spatial_: So there 'return nil' is redundant ? 2017-03-31T07:41:08Z DeadTrickster quit (Ping timeout: 240 seconds) 2017-03-31T07:41:10Z daemoz quit (Quit: WeeChat 1.6) 2017-03-31T07:41:16Z lexicall joined #lisp 2017-03-31T07:41:33Z rumbler3_ quit (Ping timeout: 240 seconds) 2017-03-31T07:41:58Z lexicall quit (Client Quit) 2017-03-31T07:42:18Z hhdave quit (Client Quit) 2017-03-31T07:43:19Z krwq: spatial_: in lisp everything returns something 2017-03-31T07:43:48Z krwq: spatial_: nothing = empty = nil 2017-03-31T07:43:54Z krwq: = false 2017-03-31T07:44:09Z spatial_: Why is there 'return' explicitly in finally ? 2017-03-31T07:44:35Z beach: spatial_: Because LOOP returns NIL by default. 2017-03-31T07:44:52Z spatial_: Ah 2017-03-31T07:45:04Z krwq: i havent noticed it before 2017-03-31T07:45:12Z krwq: by default loop returns nil 2017-03-31T07:45:16Z sz0 joined #lisp 2017-03-31T07:45:20Z beach: spatial_: And I don't agree with krwq that you should replace the IF by a WHEN. 2017-03-31T07:45:40Z beach: spatial_: Semantically, they mean the same thing, but "morally" they don't. 2017-03-31T07:45:50Z krwq: spatial_: with lisp do whatever is easier for you 2017-03-31T07:46:00Z krwq: there is no right and wrong, just do whatever works 2017-03-31T07:46:04Z flip214: beach: or T, if you use UNTIL. 2017-03-31T07:46:14Z beach: spatial_: And I don't agree with krwq about doing what you want either. 2017-03-31T07:47:01Z krwq: spatial_: try something like (loop for i from 1 for x in '(1 2 3) when (oddp x) collect (list i x)) 2017-03-31T07:47:12Z beach: spatial_: WHEN should be used only in a context where the value is not important, such as a before the last expression in a PROGN. 2017-03-31T07:47:27Z phoe_ joined #lisp 2017-03-31T07:48:09Z daemoz joined #lisp 2017-03-31T07:48:21Z krwq: spatial_: as i said there is no right and wrong - do whatever is easier - with list there is a constant war what is more right because there is millions of different ways to do the same thing 2017-03-31T07:48:44Z prole joined #lisp 2017-03-31T07:48:50Z beach: krwq: That is very bad advice indeed. 2017-03-31T07:49:36Z nirved joined #lisp 2017-03-31T07:50:18Z krwq: at least practical 2017-03-31T07:50:54Z beach: spatial_: Since programming is mainly a matter of communication between humans, it is important to follow the established conventions, just as it is important when you write prose. Of course, if you keep you code to yourself, you can do what you ant, but if you expose it to others, like when you ask for help, it is important that you follow these conventions. 2017-03-31T07:51:32Z krwq: what he is saying that when you were a kid you should've not been talking because you haven't read the encyclopedia yet 2017-03-31T07:51:55Z spatial_: :-) 2017-03-31T07:52:23Z iago joined #lisp 2017-03-31T07:52:42Z beach: spatial_: I just lost interest in this discussion. Do whatever you want. 2017-03-31T07:52:44Z krwq: best way to learn is to do something, keep on writing code in whatever way it feels right for you at the moment and you will learn conventions over time 2017-03-31T07:54:03Z DeadTrickster joined #lisp 2017-03-31T07:55:36Z zooey quit (Remote host closed the connection) 2017-03-31T07:56:21Z zooey joined #lisp 2017-03-31T07:56:33Z krwq quit (Remote host closed the connection) 2017-03-31T07:58:17Z gargaml joined #lisp 2017-03-31T07:59:06Z shpx joined #lisp 2017-03-31T07:59:22Z hhdave joined #lisp 2017-03-31T07:59:22Z raynold joined #lisp 2017-03-31T08:00:47Z pjb joined #lisp 2017-03-31T08:00:50Z chens joined #lisp 2017-03-31T08:01:19Z akkad joined #lisp 2017-03-31T08:02:23Z gingerale joined #lisp 2017-03-31T08:03:49Z shpx quit (Ping timeout: 260 seconds) 2017-03-31T08:05:55Z akkad: http://zeniv.linux.org.uk/~ober/report.html updated with latest versions 2017-03-31T08:08:07Z FreeBird_ quit (Remote host closed the connection) 2017-03-31T08:09:27Z milanj quit (Ping timeout: 240 seconds) 2017-03-31T08:16:44Z FreeBirdLjj joined #lisp 2017-03-31T08:18:30Z Beetny joined #lisp 2017-03-31T08:21:10Z chens quit (Remote host closed the connection) 2017-03-31T08:29:42Z emaczen quit (Ping timeout: 268 seconds) 2017-03-31T08:31:30Z mrottenkolber joined #lisp 2017-03-31T08:32:52Z jack_rip_vim joined #lisp 2017-03-31T08:33:15Z jack_rip_vim left #lisp 2017-03-31T08:42:33Z l04m33 quit (Ping timeout: 240 seconds) 2017-03-31T08:44:32Z l04m33 joined #lisp 2017-03-31T08:48:04Z specbot quit (Remote host closed the connection) 2017-03-31T08:48:04Z minion quit (Remote host closed the connection) 2017-03-31T08:48:16Z damke joined #lisp 2017-03-31T08:48:18Z easye quit (Read error: Connection reset by peer) 2017-03-31T08:49:33Z jameser_ joined #lisp 2017-03-31T08:51:25Z jameser quit (Ping timeout: 260 seconds) 2017-03-31T08:51:31Z specbot joined #lisp 2017-03-31T08:51:31Z minion joined #lisp 2017-03-31T08:55:59Z Karl_Dscc joined #lisp 2017-03-31T08:56:38Z redeemed joined #lisp 2017-03-31T09:00:26Z gingerale quit (Ping timeout: 258 seconds) 2017-03-31T09:02:07Z pve joined #lisp 2017-03-31T09:02:46Z onehrxn joined #lisp 2017-03-31T09:04:00Z onehrxn quit (Remote host closed the connection) 2017-03-31T09:04:18Z onehrxn joined #lisp 2017-03-31T09:05:12Z onehrxn quit (Remote host closed the connection) 2017-03-31T09:05:43Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-31T09:07:35Z varjag: http://blog.funcall.org/lisp/2017/03/31/cl-imagenet/ 2017-03-31T09:07:56Z thinkpad quit (Ping timeout: 268 seconds) 2017-03-31T09:09:27Z ryanwatkins joined #lisp 2017-03-31T09:09:34Z milanj joined #lisp 2017-03-31T09:10:19Z thinkpad joined #lisp 2017-03-31T09:11:39Z FreeBirdLjj joined #lisp 2017-03-31T09:18:14Z Kundry_Wag joined #lisp 2017-03-31T09:19:25Z man213 joined #lisp 2017-03-31T09:21:49Z neoncontrails quit (Remote host closed the connection) 2017-03-31T09:22:25Z neoncontrails joined #lisp 2017-03-31T09:22:57Z Kundry_Wag quit (Ping timeout: 240 seconds) 2017-03-31T09:24:28Z emaczen joined #lisp 2017-03-31T09:26:37Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-31T09:27:05Z manualcrank quit (Quit: WeeChat 1.7) 2017-03-31T09:27:41Z man213: Hi guys! I'm wrapping a foreign library and have defined c-struct like this one: http://paste.lisp.org/+7CNK 2017-03-31T09:27:41Z man213: When I try to compile that definition, I have the following error: "In * of (2 (FOREIGN-ENUM-VALUE (QUOTE ATTRIB) :ATTRIB-COUNT)) arguments should be of type NUMBER." Could somebody explain me how to define array length in c-struct member definition by symbol value? 2017-03-31T09:28:57Z presiden joined #lisp 2017-03-31T09:30:03Z Karl_Dscc quit (Remote host closed the connection) 2017-03-31T09:33:22Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-31T09:36:40Z azahi joined #lisp 2017-03-31T09:37:59Z milanj quit (Quit: This computer has gone to sleep) 2017-03-31T09:40:39Z l04m33: man213: Something's wrong with the ATTRIB type maybe? what does (foreign-enum-value 'attrib :attrib-count) evaluate to? 2017-03-31T09:41:26Z FreeBirdLjj joined #lisp 2017-03-31T09:43:09Z man213: l04mm33: It evaluates to a number. I can provide the enum's definition, if necessary. 2017-03-31T09:45:30Z man213: l04m33: Here it is: http://paste.lisp.org/+7CNO 2017-03-31T09:48:51Z l04m33 is looking at CFFI doc. He's not quite familiar with the type specifiers. 2017-03-31T09:50:23Z man213: Yep, looked in it too, and there are'n any example about array length as a value of any expression. But I didn't thought that it may be a problem. 2017-03-31T09:51:11Z Karl_Dscc joined #lisp 2017-03-31T09:51:13Z man213: Does this mean that I must hardcode it instead of using my enum's member? 2017-03-31T09:56:43Z jameser_ quit (Ping timeout: 246 seconds) 2017-03-31T09:58:45Z l04m33: man213: I added #. before (foreign-enum-value...) and it kinda worked 2017-03-31T09:59:18Z l04m33: not sure whether the type specifiers only accept literals 2017-03-31T09:59:26Z jameser joined #lisp 2017-03-31T09:59:38Z shpx joined #lisp 2017-03-31T10:01:32Z EvW joined #lisp 2017-03-31T10:02:23Z man213: l04m33: Yes, the definition was compiled successfully. Thank you very much, l04m33! 2017-03-31T10:04:16Z shpx quit (Ping timeout: 260 seconds) 2017-03-31T10:05:24Z FreeBirdLjj quit (Remote host closed the connection) 2017-03-31T10:06:03Z azahi quit (Ping timeout: 240 seconds) 2017-03-31T10:06:57Z l04m33: man213: no problem. But I'm not even sure it's the right way to go. 2017-03-31T10:14:30Z spatial_ quit (Ping timeout: 260 seconds) 2017-03-31T10:14:30Z gingerale joined #lisp 2017-03-31T10:14:40Z m00natic joined #lisp 2017-03-31T10:16:51Z ryanwatk` joined #lisp 2017-03-31T10:18:41Z ryanwatkins quit (Ping timeout: 260 seconds) 2017-03-31T10:19:04Z DeadTrickster quit (Ping timeout: 256 seconds) 2017-03-31T10:19:25Z Kundry_Wag joined #lisp 2017-03-31T10:23:46Z Kundry_Wag quit (Ping timeout: 264 seconds) 2017-03-31T10:26:41Z Kundry_Wag joined #lisp 2017-03-31T10:26:50Z Kundry_Wag quit (Remote host closed the connection) 2017-03-31T10:30:48Z ryanwatk` quit (Ping timeout: 240 seconds) 2017-03-31T10:31:57Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-31T10:34:00Z DeadTrickster joined #lisp 2017-03-31T10:35:44Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-31T10:44:12Z damke_ joined #lisp 2017-03-31T10:45:52Z jmarciano joined #lisp 2017-03-31T10:45:52Z damke_ quit (Read error: Connection reset by peer) 2017-03-31T10:47:13Z damke quit (Ping timeout: 268 seconds) 2017-03-31T10:47:33Z damke_ joined #lisp 2017-03-31T10:47:48Z man213: l0433: And so do I. :) We'll see when I finish my wrapper and try to do some vertex stuff. 2017-03-31T10:54:59Z afidegnum joined #lisp 2017-03-31T10:57:10Z test1600 quit (Quit: Leaving) 2017-03-31T10:57:35Z defaultxr quit (Ping timeout: 240 seconds) 2017-03-31T10:57:56Z afidegnum: i m reading tutorial in gigamonkeys, and i m a bit confused on this formating system 2017-03-31T10:58:00Z afidegnum: https://ghostbin.com/paste/fqabz 2017-03-31T10:58:56Z afidegnum: https://ghostbin.com/paste/fqabzhe format? 2017-03-31T10:59:09Z afidegnum: FAIL;PASS is it represented by the un(quoted) expression? or the test prints automatically fail/pass inside the format? 2017-03-31T11:00:30Z Karl_Dscc quit (Remote host closed the connection) 2017-03-31T11:04:25Z sz0 quit (Quit: Connection closed for inactivity) 2017-03-31T11:06:36Z invlpg joined #lisp 2017-03-31T11:08:50Z invlpg left #lisp 2017-03-31T11:10:12Z invlpg joined #lisp 2017-03-31T11:12:43Z al-damiri joined #lisp 2017-03-31T11:13:28Z jdz: clhs ~[ 2017-03-31T11:13:28Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/22_cgb.htm 2017-03-31T11:13:35Z jdz: afidegnum: see ^ 2017-03-31T11:15:22Z attila_lendvai joined #lisp 2017-03-31T11:15:23Z akkad: abcl is pretty fast given the jvm 2017-03-31T11:17:10Z invlpg quit (Ping timeout: 264 seconds) 2017-03-31T11:18:56Z shdeng quit (Quit: Leaving) 2017-03-31T11:19:07Z Karl_Dscc joined #lisp 2017-03-31T11:21:30Z beach: afidegnum: The unquoted expression determines whether FAIL or pass is printed. Then the quoted expression is printed by the ~a format directive. 2017-03-31T11:24:06Z shpx joined #lisp 2017-03-31T11:24:06Z shpx quit (Changing host) 2017-03-31T11:24:06Z shpx joined #lisp 2017-03-31T11:24:30Z milanj joined #lisp 2017-03-31T11:27:38Z Kundry_Wag joined #lisp 2017-03-31T11:28:21Z Lord_of_Life quit (Excess Flood) 2017-03-31T11:29:58Z Lord_of_Life joined #lisp 2017-03-31T11:32:08Z Lord_of_Life quit (Excess Flood) 2017-03-31T11:32:23Z otjura joined #lisp 2017-03-31T11:32:37Z Kundry_Wag quit (Ping timeout: 258 seconds) 2017-03-31T11:33:44Z afidegnum: jdz: beach, thanks lisp is very good :) 2017-03-31T11:34:02Z afidegnum: i never seen a conditional formating elsewhere before ! 2017-03-31T11:34:04Z beach: afidegnum: Anytime! 2017-03-31T11:35:28Z Lord_of_Life joined #lisp 2017-03-31T11:35:42Z o1e9 quit (Quit: Ex-Chat) 2017-03-31T11:36:08Z EvW quit (Ping timeout: 256 seconds) 2017-03-31T11:36:24Z nowhere_man joined #lisp 2017-03-31T11:36:52Z ttt72 joined #lisp 2017-03-31T11:38:29Z pjb: afidegnum: you've not seen anything yet: there are loops, jumps, and even _function calls_! in format specifiers. 2017-03-31T11:40:40Z MetaHertz quit (Ping timeout: 246 seconds) 2017-03-31T11:40:41Z pjb: afidegnum: have a look at: http://paste.lisp.org/display/163695 2017-03-31T11:41:28Z damke_ quit (Read error: Connection reset by peer) 2017-03-31T11:44:26Z damke joined #lisp 2017-03-31T11:46:29Z ttt72 quit (Quit: ttt72) 2017-03-31T11:46:34Z damke__ joined #lisp 2017-03-31T11:46:38Z attila_lendvai quit (Quit: Leaving.) 2017-03-31T11:47:08Z ttt72 joined #lisp 2017-03-31T11:47:58Z ttt72 quit (Client Quit) 2017-03-31T11:48:23Z ttt72 joined #lisp 2017-03-31T11:48:37Z EvW joined #lisp 2017-03-31T11:49:30Z damke_ joined #lisp 2017-03-31T11:50:04Z shrdlu68 joined #lisp 2017-03-31T11:50:07Z damke quit (Ping timeout: 268 seconds) 2017-03-31T11:50:27Z shrdlu68: Good afternoon! 2017-03-31T11:50:35Z beach: Hello shrdlu68. 2017-03-31T11:51:33Z phoe_: hey everyone 2017-03-31T11:51:49Z beach: Hello phoe_. 2017-03-31T11:51:58Z damke__ quit (Ping timeout: 268 seconds) 2017-03-31T11:51:59Z shrdlu68: Finally finished with the standard x509 certificate extensions in cl-tls. Now I'm working on the certificate path validation. After that I think I'll out it up on Github. 2017-03-31T11:52:07Z shrdlu68: Hello phoe_ 2017-03-31T11:52:31Z shrdlu68: s/out/put 2017-03-31T11:53:17Z flip214: shrdlu68: thanks! don't forget about quicklisp, though 2017-03-31T11:53:35Z shrdlu68: I will have to look up how the cl+ssl API is designed to design its API. 2017-03-31T11:54:12Z shrdlu68: flip214: I'm using ASDF. How do I get it up on quicklisp? 2017-03-31T11:54:33Z shrdlu68: The project is purely experimental so far, of course. Not even close to a proper release. 2017-03-31T11:55:43Z shrdlu68: But creating an ssl tunnel works for the client, and listening for ssl connections works for the server-side of things too. 2017-03-31T11:56:37Z flip214: shrdlu68: create an issue on github.com/quicklisp/quicklisp-projects, IIRC 2017-03-31T11:57:00Z shrdlu68: Okay, I'll do that when ready. 2017-03-31T11:58:27Z shrdlu68: I'm currently using trivial-features to determine the endianness. Is this good enough and portable? 2017-03-31T12:01:57Z mrottenkolber quit (Remote host closed the connection) 2017-03-31T12:04:25Z attila_lendvai joined #lisp 2017-03-31T12:05:18Z attila_lendvai quit (Client Quit) 2017-03-31T12:08:07Z damke_ quit (Read error: Connection reset by peer) 2017-03-31T12:08:22Z damke_ joined #lisp 2017-03-31T12:08:22Z afidegnum: pjb: interresting :) 2017-03-31T12:08:34Z jmarciano: k 2017-03-31T12:12:13Z rumbler31 quit (Remote host closed the connection) 2017-03-31T12:12:17Z ttt72 quit (Quit: ttt72) 2017-03-31T12:12:42Z ttt72 joined #lisp 2017-03-31T12:12:50Z ttt72 quit (Remote host closed the connection) 2017-03-31T12:13:28Z parjanya quit (Ping timeout: 260 seconds) 2017-03-31T12:13:28Z damke joined #lisp 2017-03-31T12:14:06Z Xach: shrdlu68: why do you need to know the endianness? 2017-03-31T12:14:39Z d4ryus joined #lisp 2017-03-31T12:15:01Z shrdlu68: Xach: Serializing and deserializing integers to and from octet vectors. 2017-03-31T12:15:09Z PuercoPop joined #lisp 2017-03-31T12:15:31Z Xach: shrdlu68: Common Lisp integers? 2017-03-31T12:16:00Z shrdlu68: Yes. 2017-03-31T12:16:17Z Xach: The tools to access parts of an integer are not platform-endianness-dependent. 2017-03-31T12:16:38Z shrdlu68: For example, for the length fields in the TLS protocol and ASN.1 2017-03-31T12:16:46Z Xach: (ldb (byte 8 8) #xFF0F) is always #xFF 2017-03-31T12:17:05Z d4ryus4 quit (Ping timeout: 240 seconds) 2017-03-31T12:17:15Z damke_ quit (Ping timeout: 268 seconds) 2017-03-31T12:17:22Z Xach: I am familiar with the problem but I don't think the solution involves querying for endianness. 2017-03-31T12:17:34Z shrdlu68: Okay, how about converting an integer to an octet vector in a network byte order? 2017-03-31T12:17:48Z shrdlu68: And vice versa? 2017-03-31T12:17:58Z scymtym: shrdlu68: the nibbles library has functions for that 2017-03-31T12:18:11Z damke_ joined #lisp 2017-03-31T12:18:27Z Xach: shrdlu68: a loop with ldb is one option. or if it's short, unroll the loop. 2017-03-31T12:19:19Z shrdlu68: Ironclad and fast-io also have integer-to-octets and octets-to-integer conversion routines. 2017-03-31T12:19:21Z Xach: But the code is always the same. It does not vary by host. 2017-03-31T12:19:47Z Xach: That is a nice property of Common Lisp's integer system. 2017-03-31T12:19:59Z shrdlu68: TLS has 24-bit integers, which are not supported by these libraries. 2017-03-31T12:20:43Z Xach: That is easy. (vector (ldb (byte 8 16) int24) (ldb (byte 8 8) int24) (ldb (byte 8 0) int24)) 2017-03-31T12:20:57Z damke quit (Ping timeout: 268 seconds) 2017-03-31T12:21:04Z shrdlu68: Xach: That wa one of my solutions, but you still need to know the endianness to get the correct integer. 2017-03-31T12:21:04Z damke__ joined #lisp 2017-03-31T12:21:22Z Xach: You need to know the endianness of the vector, but not of the machine. 2017-03-31T12:21:33Z Xach: And that endianness is documented. 2017-03-31T12:22:15Z Xach: (+ (ash (aref vector 0) 16) (ash (aref vector 1) 8) (ash (aref vector 2) 0)) encodes that vector back to the same 24-bit integer. 2017-03-31T12:22:26Z Xach: Swap around if the vector is in the opposite order. 2017-03-31T12:22:46Z shrdlu68: Hmmm 2017-03-31T12:22:48Z damke_ quit (Ping timeout: 268 seconds) 2017-03-31T12:23:01Z Xach: I am reminded of the esri shapefile format, which mixes integers encoded in both little- and big-endian in its header format. 2017-03-31T12:23:15Z shrdlu68: That's ironclad's solution. There's one in pkcs#1 that uses arithmetic. 2017-03-31T12:24:44Z jmarciano quit (Read error: Connection reset by peer) 2017-03-31T12:25:06Z Xach: There are many valid options. 2017-03-31T12:25:34Z shrdlu68: Xach: Well, the vectors will always be in network byte order. So converting integer->octets is endian-independent? 2017-03-31T12:25:45Z daviid joined #lisp 2017-03-31T12:26:19Z Xach: shrdlu68: No. It depends on the format required of the octets. The integer format always stays the same on Common Lisp. 2017-03-31T12:26:34Z Xach: shrdlu68: the endianness of the CPU does not come into play. 2017-03-31T12:27:03Z Xach: So checking *features* will not give useful info for this operation 2017-03-31T12:27:20Z shrdlu68: Thus ldb will produce the same results for the same byte-spec and integer on any common lisp system... 2017-03-31T12:27:28Z Xach: yes 2017-03-31T12:27:45Z pjb: (let ((n #x11223344556677889901020304050607080910111213141516171819)) (loop :for p :from 0 :below (integer-length n) :by 8 :collect (ldb (byte 8 p) n))) #| --> (25 24 23 22 21 20 19 18 17 16 9 8 7 6 5 4 3 2 1 153 136 119 102 85 68 51 34 17) |# 2017-03-31T12:28:13Z shrdlu68: Okay, thanks for clearing that up! 2017-03-31T12:29:14Z Kundry_Wag joined #lisp 2017-03-31T12:30:15Z shrdlu68: Is this differnt from the C htons(), htonl() functions? 2017-03-31T12:30:39Z pjb: yes, those swap the bytes. 2017-03-31T12:31:00Z pjb: ldb just extract a bit field. 2017-03-31T12:31:39Z pjb: some swaps: http://paste.lisp.org/display/343006 2017-03-31T12:33:32Z Kundry_Wag quit (Ping timeout: 260 seconds) 2017-03-31T12:33:34Z shrdlu68: I see, thanks! 2017-03-31T12:36:31Z TMA quit (Ping timeout: 260 seconds) 2017-03-31T12:40:44Z EvW quit (Ping timeout: 256 seconds) 2017-03-31T12:44:21Z afidegnum: hello, can anyone explain much better or any link that better explains what &body, &optional and &rest is ? 2017-03-31T12:47:33Z TMA joined #lisp 2017-03-31T12:47:50Z shrdlu68: afidegnum: http://www.gigamonkeys.com/book/functions.html 2017-03-31T12:48:51Z arquebus joined #lisp 2017-03-31T12:50:19Z TDT joined #lisp 2017-03-31T12:51:17Z azahi joined #lisp 2017-03-31T12:53:03Z oleo joined #lisp 2017-03-31T12:54:01Z quazimodo joined #lisp 2017-03-31T12:56:21Z damke joined #lisp 2017-03-31T12:56:30Z loke quit (Read error: Connection reset by peer) 2017-03-31T12:58:05Z iago quit (Quit: Leaving) 2017-03-31T12:58:18Z damke__ quit (Ping timeout: 256 seconds) 2017-03-31T12:59:44Z mood_btf quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-31T12:59:51Z freehck quit (Ping timeout: 260 seconds) 2017-03-31T13:00:37Z Harag quit (Ping timeout: 260 seconds) 2017-03-31T13:01:06Z mood_btf joined #lisp 2017-03-31T13:01:28Z dlowe: &rest takes one parameter, and stuffs the rest of the arguments of the function call into a list 2017-03-31T13:01:59Z dlowe: &body is like &rest, except for macros. It can help with automatic indentation. 2017-03-31T13:02:47Z dlowe: &optional makes the arguments that follow... optional. You can specify a default value when the arguments aren't given. 2017-03-31T13:13:14Z EvW joined #lisp 2017-03-31T13:15:03Z cromachina quit (Read error: Connection reset by peer) 2017-03-31T13:18:33Z otjura quit (Quit: Konversation terminated!) 2017-03-31T13:23:36Z rumbler31 joined #lisp 2017-03-31T13:24:53Z freehck joined #lisp 2017-03-31T13:25:49Z snowcrshd joined #lisp 2017-03-31T13:27:33Z shpx quit (Ping timeout: 240 seconds) 2017-03-31T13:27:34Z Ven joined #lisp 2017-03-31T13:27:58Z Ven is now known as Guest87256 2017-03-31T13:29:05Z specbot quit (Ping timeout: 260 seconds) 2017-03-31T13:29:10Z minion quit (Ping timeout: 264 seconds) 2017-03-31T13:29:42Z Kundry_Wag joined #lisp 2017-03-31T13:30:56Z wooden__ quit (Read error: Connection reset by peer) 2017-03-31T13:31:07Z wooden_ joined #lisp 2017-03-31T13:31:30Z specbot joined #lisp 2017-03-31T13:32:08Z minion joined #lisp 2017-03-31T13:33:28Z Guest87256 quit (Read error: Connection reset by peer) 2017-03-31T13:33:43Z Ven_ joined #lisp 2017-03-31T13:34:34Z Kundry_Wag quit (Ping timeout: 256 seconds) 2017-03-31T13:35:01Z Ven_ quit (Client Quit) 2017-03-31T13:40:15Z drmeister: What could give rise to this: Error while trying to load definition for system pzmq from pathname /home/app/quicklisp/dists/quicklisp/software/pzmq-20160531-git/pzmq.asd: Component :ALEXANDRIA not found, required by # 2017-03-31T13:41:07Z shrdlu68: k 2017-03-31T13:41:22Z shrdlu68 left #lisp 2017-03-31T13:41:23Z drmeister: I am building a docker container that runs Clasp Common Lisp and uses quicklisp to precompile some packages. It's finding everything on the internet and downloading it but chokes on :ALEXANDRIA? 2017-03-31T13:43:08Z mishoo quit (Read error: Connection reset by peer) 2017-03-31T13:43:15Z drmeister: Maybe it's a spurious connection problem. Running again. 2017-03-31T13:43:33Z scymtym: drmeister: i think :defsystem-depends-on dependencies can cause this with older asdf versions 2017-03-31T13:44:02Z drmeister: Hmm, how old is older? 2017-03-31T13:44:34Z drmeister: It's true that I haven't pulled a new version of asdf in a while - but clasp ships with an ASDF 3.x 2017-03-31T13:44:55Z mishoo joined #lisp 2017-03-31T13:45:06Z scymtym: i expressed that misleadingly. i think, fare found a solution for this only recently. i don't know about the specific versions 2017-03-31T13:45:21Z drmeister: Thank you very much. I will upgrade asdf 2017-03-31T13:45:26Z drmeister: I should do that anyway. 2017-03-31T13:45:57Z shpx joined #lisp 2017-03-31T13:47:44Z scymtym: drmeister: http://fare.tunes.org/files/asdf2017/asdf2017.pdf says "Fixing the build model in ASDF 3.3 …". so that's probably the first working version 2017-03-31T13:48:23Z neoncontrails joined #lisp 2017-03-31T13:49:55Z jdz: drmeister: also, there have been fixes to pzmq that have not yet made into quicklisp I think. 2017-03-31T13:50:38Z Xach: it is indeed the defsystem-depends-on issue. 2017-03-31T13:52:59Z jameser joined #lisp 2017-03-31T13:54:06Z vibs29 quit (Ping timeout: 260 seconds) 2017-03-31T13:56:32Z shpx quit (Ping timeout: 268 seconds) 2017-03-31T13:56:58Z arquebus quit (Quit: Leaving) 2017-03-31T13:58:31Z dec0n quit (Read error: Connection reset by peer) 2017-03-31T13:59:26Z vibs29 joined #lisp 2017-03-31T14:00:43Z burtons joined #lisp 2017-03-31T14:02:04Z jerme joined #lisp 2017-03-31T14:10:20Z drmeister: Ok, thank you all. 2017-03-31T14:10:42Z drmeister: Because I am able to (ql:quickload :alexandria) 2017-03-31T14:13:25Z presiden quit (Ping timeout: 260 seconds) 2017-03-31T14:14:01Z trocado joined #lisp 2017-03-31T14:14:08Z loke joined #lisp 2017-03-31T14:14:19Z mood_btf quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-31T14:14:51Z drmeister: Clasp currently ships with asdf version 3.1.3.10 2017-03-31T14:16:27Z damke_ joined #lisp 2017-03-31T14:17:56Z attila_lendvai joined #lisp 2017-03-31T14:18:44Z damke quit (Ping timeout: 268 seconds) 2017-03-31T14:19:45Z jasom: jdz: that's just the :uint fix, right? 2017-03-31T14:20:27Z Beetny quit (Ping timeout: 240 seconds) 2017-03-31T14:21:24Z jdz: jasom: I'd say size_t, but yes. 2017-03-31T14:21:44Z jdz: And as Xof would say: ILTWYS "just". 2017-03-31T14:21:58Z jdz: It's not fun when your stack is overwritten. 2017-03-31T14:23:37Z BusFactor1 quit (Remote host closed the connection) 2017-03-31T14:26:30Z presiden joined #lisp 2017-03-31T14:30:02Z smokeink quit (Remote host closed the connection) 2017-03-31T14:30:33Z trocado quit (Ping timeout: 240 seconds) 2017-03-31T14:30:41Z Kundry_Wag joined #lisp 2017-03-31T14:30:42Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-31T14:32:01Z ryanbw quit (Quit: WeeChat 1.7) 2017-03-31T14:35:21Z Kundry_Wag quit (Ping timeout: 260 seconds) 2017-03-31T14:38:32Z BusFactor1 joined #lisp 2017-03-31T14:38:46Z varjag quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-31T14:39:22Z _cosmonaut_ quit (Ping timeout: 264 seconds) 2017-03-31T14:47:04Z easye joined #lisp 2017-03-31T14:47:10Z Jesin quit (Quit: Leaving) 2017-03-31T14:48:12Z wtetzner joined #lisp 2017-03-31T14:50:23Z Jesin joined #lisp 2017-03-31T14:54:31Z raynold quit (Quit: Connection closed for inactivity) 2017-03-31T14:56:17Z _cosmonaut_ joined #lisp 2017-03-31T15:00:05Z vtomole joined #lisp 2017-03-31T15:01:55Z _cosmonaut_ quit (Ping timeout: 246 seconds) 2017-03-31T15:01:57Z azahi quit (Ping timeout: 240 seconds) 2017-03-31T15:02:39Z _cosmonaut_ joined #lisp 2017-03-31T15:03:26Z tumdum joined #lisp 2017-03-31T15:03:45Z drmeister: Are any of the ASDF developers online at the moment? 2017-03-31T15:03:58Z drmeister: I'm upgrading clasp to asdf 3.3 - problems... 2017-03-31T15:04:15Z ryanbw joined #lisp 2017-03-31T15:04:23Z drmeister: What is OS-COND? 2017-03-31T15:04:46Z drmeister: No definition appears in the asdf.lisp file. 2017-03-31T15:06:45Z Mon_Ouie joined #lisp 2017-03-31T15:07:02Z dlowe: in uiop, surely 2017-03-31T15:08:12Z trocado joined #lisp 2017-03-31T15:08:28Z vtomole quit (Quit: Page closed) 2017-03-31T15:09:19Z shka quit (Quit: Konversation terminated!) 2017-03-31T15:09:26Z man213 quit (Read error: Connection reset by peer) 2017-03-31T15:09:35Z drmeister: You'd think so. Lots of uses - no definitions. It appears to be a COND to test what OS is running. 2017-03-31T15:09:54Z gargaml quit (Quit: WeeChat 1.7) 2017-03-31T15:10:19Z drmeister: Unless I screwed something up when rebasing asdf into my version. 2017-03-31T15:10:31Z drmeister: The asdf developers have been busy, busy, busy. 2017-03-31T15:10:59Z Lord_of_Life quit (Excess Flood) 2017-03-31T15:12:32Z vtomole joined #lisp 2017-03-31T15:12:58Z Lord_of_Life joined #lisp 2017-03-31T15:14:30Z drmeister: I just cloned the original asdf - yes, it's in os.lisp. Somethings screwed up when I rebased. Brrrr 2017-03-31T15:14:52Z EvW quit (Ping timeout: 256 seconds) 2017-03-31T15:15:07Z zooey quit (Ping timeout: 240 seconds) 2017-03-31T15:15:33Z zooey joined #lisp 2017-03-31T15:17:57Z shpx joined #lisp 2017-03-31T15:17:57Z shpx quit (Changing host) 2017-03-31T15:17:57Z shpx joined #lisp 2017-03-31T15:20:03Z redeemed quit (Ping timeout: 240 seconds) 2017-03-31T15:21:25Z Pollio joined #lisp 2017-03-31T15:21:54Z Pollio left #lisp 2017-03-31T15:26:34Z ryanwatkins joined #lisp 2017-03-31T15:35:14Z drmeister: How would I clear out the quicklisp caches? 2017-03-31T15:35:36Z drmeister: I think I have old quicklisp fasls and or asdf fasls stuck in quicklisp somewhere. 2017-03-31T15:35:47Z drmeister: I cleared out ~/.cache/common-lisp/* 2017-03-31T15:35:59Z drmeister: There is ~/quicklisp/cache 2017-03-31T15:36:41Z drmeister: I cleared out ~/quicklisp/cache/asdf-fasls/** 2017-03-31T15:36:44Z _cosmonaut_ quit (Quit: Leaving.) 2017-03-31T15:37:49Z drmeister: Is ASDF version 3.2.0.1 the latest? 2017-03-31T15:39:14Z afidegnum quit (Ping timeout: 256 seconds) 2017-03-31T15:39:59Z presiden quit (Quit: Written in https://www.rust-lang.org/) 2017-03-31T15:41:28Z Lord_of_Life quit (Excess Flood) 2017-03-31T15:42:06Z shka_ joined #lisp 2017-03-31T15:43:28Z Lord_of_Life joined #lisp 2017-03-31T15:45:05Z minion quit (Remote host closed the connection) 2017-03-31T15:45:05Z specbot quit (Remote host closed the connection) 2017-03-31T15:48:48Z easye quit (Ping timeout: 240 seconds) 2017-03-31T15:49:12Z okflo` joined #lisp 2017-03-31T15:49:41Z okflo` quit (Read error: Connection reset by peer) 2017-03-31T15:52:26Z milanj quit (Quit: This computer has gone to sleep) 2017-03-31T15:52:33Z okflo quit (Ping timeout: 240 seconds) 2017-03-31T15:53:29Z azahi joined #lisp 2017-03-31T15:54:56Z trocado quit (Ping timeout: 268 seconds) 2017-03-31T15:56:10Z damke_ quit (Ping timeout: 268 seconds) 2017-03-31T15:56:46Z damke_ joined #lisp 2017-03-31T15:57:22Z p_l: @drmeister: are you going to be in Brussels? 2017-03-31T15:57:24Z josh5tone: is it just me, or are https://common-lisp.net/ and http://www.cliki.net/ down? 2017-03-31T15:57:32Z shrdlu68 joined #lisp 2017-03-31T15:58:10Z drmeister: p_l: Sadly no, I will not be in Brussels. 2017-03-31T15:58:41Z drmeister: ASDF 3.2.0.1 compiles with clasp - yay! 2017-03-31T15:58:53Z p_l: Heh. One less reason to be sad about not going this time (starting new job at the same time, so...) 2017-03-31T15:59:35Z drmeister: I (1) didn't get a paper together in time (2) have two grant proposals due on Monday (3) discovered that I can get Belgian waffles here in Philadelphia. 2017-03-31T15:59:47Z p_l: Hahaha 2017-03-31T16:00:39Z beach: Yes, but can you get Kriek in Philadelphia? 2017-03-31T16:01:06Z minion joined #lisp 2017-03-31T16:01:45Z specbot joined #lisp 2017-03-31T16:02:05Z loke: beach: Kriek? Like the Lambic? 2017-03-31T16:02:13Z beach: Yes. 2017-03-31T16:02:55Z loke is a huga fan of Belgian beer. 2017-03-31T16:03:14Z loke: Westmalle is really nice 2017-03-31T16:04:57Z wtetzner quit (Remote host closed the connection) 2017-03-31T16:14:19Z rogersm joined #lisp 2017-03-31T16:16:59Z rogersm quit (Client Quit) 2017-03-31T16:19:33Z Balooga joined #lisp 2017-03-31T16:21:12Z prole quit (Quit: ERC (IRC client for Emacs 25.2.1)) 2017-03-31T16:22:12Z gingerale quit (Remote host closed the connection) 2017-03-31T16:23:05Z gingerale joined #lisp 2017-03-31T16:24:59Z lieven: no such thing as Belgian waffles. we have about 10 different styles of them. 2017-03-31T16:26:19Z wildlander joined #lisp 2017-03-31T16:29:08Z azahi quit (Ping timeout: 240 seconds) 2017-03-31T16:34:25Z damke joined #lisp 2017-03-31T16:36:15Z damke_ quit (Ping timeout: 268 seconds) 2017-03-31T16:36:49Z EvW1 joined #lisp 2017-03-31T16:45:31Z hhdave quit (Ping timeout: 246 seconds) 2017-03-31T16:48:58Z mathrick quit (Ping timeout: 264 seconds) 2017-03-31T16:49:46Z rippa joined #lisp 2017-03-31T16:52:48Z ryanwatk` joined #lisp 2017-03-31T16:53:16Z mathrick joined #lisp 2017-03-31T16:54:36Z daviid quit (Ping timeout: 256 seconds) 2017-03-31T16:54:48Z nowhere_man quit (Ping timeout: 240 seconds) 2017-03-31T16:56:03Z m00natic quit (Remote host closed the connection) 2017-03-31T16:56:09Z ryanwatkins quit (Ping timeout: 258 seconds) 2017-03-31T17:00:11Z milanj joined #lisp 2017-03-31T17:02:05Z Balooga: lieven: What about Brazilian nuts? Or Polish sausage? Or Swedish Fish? 2017-03-31T17:04:58Z lieven: Balooga: my point is that there are huge differences. Brussels waffles are light and fluffy and meant to be eaten warm and fresh. Liege waffles are far heavier. West-Flemish 'lukken' are akin to dwarf bread and can keep for months. 2017-03-31T17:05:36Z loke quit (Ping timeout: 260 seconds) 2017-03-31T17:05:52Z Balooga_ joined #lisp 2017-03-31T17:06:19Z vtomole quit (Ping timeout: 260 seconds) 2017-03-31T17:07:48Z snowcrshd quit (Remote host closed the connection) 2017-03-31T17:08:33Z Balooga quit (Ping timeout: 240 seconds) 2017-03-31T17:09:20Z phoe: I love how the discussion about ASDF ended up in Polish sausages 2017-03-31T17:09:49Z lieven: well, we could talk about beer :) 2017-03-31T17:10:05Z l04m33 quit (Ping timeout: 240 seconds) 2017-03-31T17:11:39Z quazimodo quit (Quit: Lost terminal) 2017-03-31T17:11:57Z phoe: :P 2017-03-31T17:15:25Z Harag joined #lisp 2017-03-31T17:16:06Z gigamonkey joined #lisp 2017-03-31T17:16:08Z nowhere_man joined #lisp 2017-03-31T17:16:11Z sbodin joined #lisp 2017-03-31T17:18:01Z quazimodo joined #lisp 2017-03-31T17:18:22Z shka_: no sausage yet 2017-03-31T17:18:27Z shka_: i hear some waffles 2017-03-31T17:20:08Z nowhere_man quit (Remote host closed the connection) 2017-03-31T17:21:08Z nowhere_man joined #lisp 2017-03-31T17:21:28Z rumbler3_ joined #lisp 2017-03-31T17:25:35Z rumbler3_ quit (Ping timeout: 240 seconds) 2017-03-31T17:26:51Z l04m33 joined #lisp 2017-03-31T17:27:28Z nowhere_man quit (Remote host closed the connection) 2017-03-31T17:27:58Z nowhere_man joined #lisp 2017-03-31T17:29:50Z bpanthi joined #lisp 2017-03-31T17:30:55Z Bock quit (Read error: Connection reset by peer) 2017-03-31T17:31:14Z bpanthi quit (Client Quit) 2017-03-31T17:31:22Z vtomole joined #lisp 2017-03-31T17:32:00Z damke quit (Ping timeout: 256 seconds) 2017-03-31T17:32:26Z analognoise joined #lisp 2017-03-31T17:32:42Z Kundry_Wag joined #lisp 2017-03-31T17:33:48Z damke joined #lisp 2017-03-31T17:33:58Z nowhere_man quit (Remote host closed the connection) 2017-03-31T17:36:02Z Guest36413 quit (Remote host closed the connection) 2017-03-31T17:36:02Z itruslove quit (Remote host closed the connection) 2017-03-31T17:37:06Z Kundry_Wag quit (Ping timeout: 256 seconds) 2017-03-31T17:38:40Z JuanDaugherty joined #lisp 2017-03-31T17:39:04Z iago joined #lisp 2017-03-31T17:41:37Z damke quit (Ping timeout: 268 seconds) 2017-03-31T17:41:41Z snowcrshd joined #lisp 2017-03-31T17:42:01Z ryanbw quit (Ping timeout: 260 seconds) 2017-03-31T17:43:06Z damke joined #lisp 2017-03-31T17:43:30Z jasom: If we are talking about beer and Philadelphia, then Yeungling must be mentioned 2017-03-31T17:47:46Z jasom: I think of a lukken as similar to the dutch stroopwafel 2017-03-31T17:48:59Z varjag joined #lisp 2017-03-31T17:49:57Z manualcrank joined #lisp 2017-03-31T17:51:39Z edgar-rft joined #lisp 2017-03-31T17:57:28Z shrdlu68 quit (Ping timeout: 240 seconds) 2017-03-31T18:02:36Z dddddd joined #lisp 2017-03-31T18:04:03Z drmeister: Balooga: Or Philadelphia Cream Cheese? 2017-03-31T18:04:04Z vtomole quit (Ping timeout: 260 seconds) 2017-03-31T18:04:27Z shka_: drmeister: btw, did you sorted out signals? 2017-03-31T18:04:33Z shka_: or is it just impossible 2017-03-31T18:08:24Z phoe wraps shka_ in a pair of parens and evaluates 2017-03-31T18:08:54Z shka_ evaluated to shka_ 2017-03-31T18:09:20Z burtons quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-31T18:11:43Z rogersm joined #lisp 2017-03-31T18:16:32Z sbodin quit (Ping timeout: 260 seconds) 2017-03-31T18:20:55Z specbot quit (Remote host closed the connection) 2017-03-31T18:20:55Z minion quit (Remote host closed the connection) 2017-03-31T18:21:53Z Mon_Ouie quit (Quit: WeeChat 1.7) 2017-03-31T18:24:11Z phoe wraps shka in a pair of parens and evaluates 2017-03-31T18:24:23Z specbot joined #lisp 2017-03-31T18:25:02Z minion joined #lisp 2017-03-31T18:33:39Z Kundry_Wag joined #lisp 2017-03-31T18:35:13Z shpx quit (Ping timeout: 260 seconds) 2017-03-31T18:37:32Z giraffe joined #lisp 2017-03-31T18:38:18Z Kundry_Wag quit (Ping timeout: 256 seconds) 2017-03-31T18:39:05Z shka_: phoe: you are not getting anywhere with this 2017-03-31T18:40:11Z BitPuffin|osx quit (Remote host closed the connection) 2017-03-31T18:42:02Z itruslove joined #lisp 2017-03-31T18:42:27Z phoe: shka_: I know, but it's fun 2017-03-31T18:42:36Z shka_: *sigh* 2017-03-31T18:43:10Z shka_: phoe: my existence entertains you? 2017-03-31T18:45:12Z phoe: nope, the fact that your fdefinition evaluates to you 2017-03-31T18:45:39Z shka_: to my symbol to be exact 2017-03-31T18:45:47Z kolko joined #lisp 2017-03-31T18:46:16Z phoe: oh, correct 2017-03-31T18:47:03Z kolko_ quit (Ping timeout: 240 seconds) 2017-03-31T18:47:36Z minion quit (Remote host closed the connection) 2017-03-31T18:47:36Z specbot quit (Remote host closed the connection) 2017-03-31T18:48:47Z drmeister: shka_: asynchronous signals are not compatible with synchronous C++ exceptions. I have to flag that a signal occurred, return to C++ and periodically check if a signal was flagged. 2017-03-31T18:48:55Z al-damiri quit (Quit: Connection closed for inactivity) 2017-03-31T18:50:18Z phoe: drmeister: how periodically? 2017-03-31T18:50:32Z BlueRavenGT joined #lisp 2017-03-31T18:50:34Z drmeister: Exactly 2017-03-31T18:50:46Z snowcrshd quit (Ping timeout: 264 seconds) 2017-03-31T18:50:47Z snowcrshd_ joined #lisp 2017-03-31T18:50:49Z kolko_ joined #lisp 2017-03-31T18:51:09Z kolko quit (Ping timeout: 258 seconds) 2017-03-31T18:51:10Z drmeister: beach says when returning from functions and at the bottom edge of loops. 2017-03-31T18:51:18Z drmeister: Currently - after every allocation. 2017-03-31T18:51:32Z phoe: yes, but for example in (progn (signal 'foo) (print 2)) if there's a handler bound to FOO that performs a NLTOC, then 2 may not be printed 2017-03-31T18:51:49Z phoe: s/may/must/ 2017-03-31T18:52:02Z drmeister: NLTOC? 2017-03-31T18:52:12Z phoe: non-local transfer of control 2017-03-31T18:52:16Z drmeister: Got it. 2017-03-31T18:52:34Z drmeister: I don't follow. How is that an issue? 2017-03-31T18:52:41Z drmeister: I'm talking about unix signals. 2017-03-31T18:52:46Z phoe: Oh wait 2017-03-31T18:52:52Z phoe: about *Unix* signals 2017-03-31T18:53:05Z phoe was confused, thought of Lisp signals 2017-03-31T18:53:11Z shka_: phoe: point is, this way at the very least you won't leak memory 2017-03-31T18:53:28Z phoe: don't mind me, I was confused 2017-03-31T18:53:40Z specbot joined #lisp 2017-03-31T18:53:41Z minion joined #lisp 2017-03-31T18:54:22Z shka_: drmeister: this seems to be actually good enough for now 2017-03-31T18:54:33Z shka_: you seem to also work on threads support 2017-03-31T18:54:39Z shka_: native or green? 2017-03-31T18:55:01Z ryanwatk` quit (Ping timeout: 246 seconds) 2017-03-31T18:56:51Z kolko_ quit (Ping timeout: 268 seconds) 2017-03-31T18:56:54Z drmeister: pthreads - what are those? 2017-03-31T18:56:59Z mood: native 2017-03-31T18:57:38Z nirved quit (Quit: Leaving) 2017-03-31T18:57:57Z l04m33 quit (Ping timeout: 240 seconds) 2017-03-31T18:58:35Z shifty quit (Ping timeout: 240 seconds) 2017-03-31T18:59:48Z pmc joined #lisp 2017-03-31T19:04:15Z desku joined #lisp 2017-03-31T19:06:51Z okflo joined #lisp 2017-03-31T19:08:08Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-03-31T19:09:00Z l04m33 joined #lisp 2017-03-31T19:09:26Z okflo quit (Remote host closed the connection) 2017-03-31T19:13:01Z oleo quit (Ping timeout: 260 seconds) 2017-03-31T19:14:00Z emaczen quit (Quit: ERC (IRC client for Emacs 24.5.1)) 2017-03-31T19:14:46Z vtomole joined #lisp 2017-03-31T19:17:52Z defaultxr joined #lisp 2017-03-31T19:18:19Z Bata4 joined #lisp 2017-03-31T19:18:31Z shrdlu68 joined #lisp 2017-03-31T19:18:53Z Bata4 quit (Client Quit) 2017-03-31T19:28:53Z wooden_ quit (Ping timeout: 260 seconds) 2017-03-31T19:30:55Z vtomole quit (Quit: Page closed) 2017-03-31T19:31:35Z shpx joined #lisp 2017-03-31T19:32:52Z wooden_ joined #lisp 2017-03-31T19:34:28Z scymtym quit (Ping timeout: 258 seconds) 2017-03-31T19:34:35Z ryanwatkins joined #lisp 2017-03-31T19:36:06Z ryanbw joined #lisp 2017-03-31T19:36:21Z shpx quit (Ping timeout: 260 seconds) 2017-03-31T19:37:10Z al-damiri joined #lisp 2017-03-31T19:39:58Z snowcrshd_ quit (Ping timeout: 264 seconds) 2017-03-31T19:42:08Z Harag quit (Ping timeout: 240 seconds) 2017-03-31T19:42:29Z oleo joined #lisp 2017-03-31T19:45:31Z neoncontrails quit (Remote host closed the connection) 2017-03-31T19:46:06Z neoncontrails joined #lisp 2017-03-31T19:47:42Z shpx joined #lisp 2017-03-31T19:48:15Z damke_ joined #lisp 2017-03-31T19:49:35Z bariscant joined #lisp 2017-03-31T19:50:19Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-31T19:51:05Z quazimodo quit (Ping timeout: 240 seconds) 2017-03-31T19:51:07Z damke quit (Ping timeout: 268 seconds) 2017-03-31T19:51:08Z ryanbw quit (Ping timeout: 240 seconds) 2017-03-31T19:52:20Z azahi joined #lisp 2017-03-31T19:52:33Z ryanbw joined #lisp 2017-03-31T19:55:06Z oleo quit (Quit: Leaving) 2017-03-31T19:56:04Z andrzejk_ quit (Quit: Textual IRC Client: www.textualapp.com) 2017-03-31T20:00:57Z ebrasca joined #lisp 2017-03-31T20:01:47Z ebrasca quit (Remote host closed the connection) 2017-03-31T20:05:17Z damke_ quit (Quit: quit) 2017-03-31T20:10:21Z akkad: pthreads are a weapon of a time gone by 2017-03-31T20:11:22Z azahi quit (Quit: Bye) 2017-03-31T20:12:58Z p_l: pthreads are a somewhat portable interface to system threads 2017-03-31T20:13:57Z Balooga_: microservices are the new threads. haven't you heard? 2017-03-31T20:14:15Z akkad: nanoservices 2017-03-31T20:14:42Z akkad: can lparallel compete with pthreads? like on a erlang/go routine level? 2017-03-31T20:15:03Z p_l: akkad: All of those are mostly orthogonal to each other... 2017-03-31T20:15:15Z p_l: (though lparallel and Go are closest to each other...) 2017-03-31T20:16:37Z MoALTz_ joined #lisp 2017-03-31T20:16:49Z p_l: Erlang uses a dedicated operating system oriented around lightweight communicating processes in mostly shared-nothing architecture (and till few years ago, was locked to single CPU per node) 2017-03-31T20:16:56Z mathrick quit (Read error: Connection reset by peer) 2017-03-31T20:19:38Z neoncontrails joined #lisp 2017-03-31T20:19:39Z akkad: ahh 2017-03-31T20:19:40Z MoALTz quit (Ping timeout: 260 seconds) 2017-03-31T20:19:42Z mrcom joined #lisp 2017-03-31T20:19:59Z akkad: having used pcall appeared to be just pthread based. 2017-03-31T20:20:23Z scymtym joined #lisp 2017-03-31T20:22:43Z MoALTz_ is now known as MoALTz 2017-03-31T20:27:45Z ryanwatk` joined #lisp 2017-03-31T20:30:33Z ryanwatkins quit (Ping timeout: 240 seconds) 2017-03-31T20:35:04Z Kundry_Wag joined #lisp 2017-03-31T20:36:36Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-03-31T20:36:52Z neoncontrails quit (Ping timeout: 246 seconds) 2017-03-31T20:39:34Z Kundry_Wag quit (Ping timeout: 256 seconds) 2017-03-31T20:42:31Z daviid joined #lisp 2017-03-31T20:44:33Z yrk joined #lisp 2017-03-31T20:45:12Z yrk quit (Changing host) 2017-03-31T20:45:12Z yrk joined #lisp 2017-03-31T20:52:04Z klltkr joined #lisp 2017-03-31T20:53:03Z gigamonkey quit (Ping timeout: 240 seconds) 2017-03-31T20:53:52Z MrWoohoo joined #lisp 2017-03-31T20:54:44Z vlatkoB quit (Remote host closed the connection) 2017-03-31T20:57:22Z gingerale quit (Remote host closed the connection) 2017-03-31T20:57:42Z bariscant quit (Ping timeout: 256 seconds) 2017-03-31T20:59:05Z bariscant joined #lisp 2017-03-31T21:05:07Z klltkr quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-03-31T21:06:02Z prole joined #lisp 2017-03-31T21:13:19Z vydd joined #lisp 2017-03-31T21:13:19Z vydd quit (Changing host) 2017-03-31T21:13:19Z vydd joined #lisp 2017-03-31T21:14:04Z sellout- joined #lisp 2017-03-31T21:17:55Z azahi joined #lisp 2017-03-31T21:18:06Z tumdum quit (Ping timeout: 256 seconds) 2017-03-31T21:18:12Z oleo joined #lisp 2017-03-31T21:19:52Z Jesin quit (Quit: Leaving) 2017-03-31T21:20:04Z angavrilov quit (Remote host closed the connection) 2017-03-31T21:21:13Z bariscant quit (Quit: Leaving) 2017-03-31T21:22:38Z ryanwatk` quit (Ping timeout: 256 seconds) 2017-03-31T21:25:05Z Jesin joined #lisp 2017-03-31T21:25:06Z gigamonkey joined #lisp 2017-03-31T21:29:56Z lonjil_ joined #lisp 2017-03-31T21:30:48Z gigamonkey quit (Ping timeout: 240 seconds) 2017-03-31T21:30:49Z schoppenhauer quit (Ping timeout: 255 seconds) 2017-03-31T21:32:22Z lonjil_ quit (Remote host closed the connection) 2017-03-31T21:33:07Z lonjil_ joined #lisp 2017-03-31T21:33:27Z lonjil_ quit (Remote host closed the connection) 2017-03-31T21:33:27Z iago quit (Quit: Leaving) 2017-03-31T21:33:34Z jerme quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client) 2017-03-31T21:34:29Z neoncontrails joined #lisp 2017-03-31T21:34:40Z phoe_ quit (Ping timeout: 260 seconds) 2017-03-31T21:35:55Z Kundry_Wag joined #lisp 2017-03-31T21:40:12Z Kundry_Wag quit (Ping timeout: 256 seconds) 2017-03-31T21:40:12Z rumbler31 quit (Ping timeout: 256 seconds) 2017-03-31T21:42:34Z specbot quit (Remote host closed the connection) 2017-03-31T21:42:34Z minion quit (Remote host closed the connection) 2017-03-31T21:47:53Z pmc quit (Quit: Leaving) 2017-03-31T21:49:19Z schoppenhauer joined #lisp 2017-03-31T21:49:44Z justicefries joined #lisp 2017-03-31T21:50:10Z vydd quit 2017-03-31T21:59:53Z minion joined #lisp 2017-03-31T21:59:53Z specbot joined #lisp 2017-03-31T22:00:33Z marsjaninzmarsa quit (Quit: ZNC 1.7.x-git-487-cbf5c38 - http://znc.in) 2017-03-31T22:01:16Z Wombatzus joined #lisp 2017-03-31T22:04:55Z dxtr: p_l: Uhm.. A dedicated operating system? 2017-03-31T22:05:00Z dxtr: What OS is this? 2017-03-31T22:05:22Z p_l: dxtr: the kernel of OTP platform and BEAM VM 2017-03-31T22:05:41Z p_l: it's actually an operating system, and indeed originated as standalone one 2017-03-31T22:05:56Z p_l: a close comparison would be Inferno from Bell Labs 2017-03-31T22:07:03Z azahi quit (Ping timeout: 240 seconds) 2017-03-31T22:08:05Z dxtr: Well it isn't more of an OS than the Java VM? 2017-03-31T22:10:12Z shka_: dxtr: nope 2017-03-31T22:10:47Z shka_: dxtr: it offers system-like api 2017-03-31T22:11:00Z dxtr: I'm no computer scientist but I have been coding erlang for a few years now and have never heard of the erlang vm being called a "dedicated operating system" 2017-03-31T22:12:32Z dxtr: I know some Ericsson stuff used to boot to Erlang, though. 2017-03-31T22:12:46Z aeth: Wouldn't that be sort of like calling a CL environment a "dedicated operating system"? Especially if it has its own emacs and all of the features that implies. It would just be missing its own kernel. 2017-03-31T22:13:03Z aeth: And could be paired with a kernel to be called CL/Linux or "CL plus Linux" 2017-03-31T22:13:45Z abel-abel joined #lisp 2017-03-31T22:13:59Z shrdlu68: CL+Linux, to be pedantic. 2017-03-31T22:14:06Z shrdlu68: ;) 2017-03-31T22:14:09Z dxtr: hehe 2017-03-31T22:14:17Z shka_: dxtr: actually, it was intended to run on telephone hardware stuff initially 2017-03-31T22:14:41Z shka_: and did run on it as operating system for few years before VM was introduced 2017-03-31T22:15:50Z aeth: CL's close cousin ran as an operating system, so my analogy would still hold. 2017-03-31T22:16:04Z shka_: aeth: sure 2017-03-31T22:16:16Z shka_: there was pretty nice blog post from fare about that 2017-03-31T22:16:24Z aeth: A proper CL is a portable LispM on commodity hardware on top of any kernel that it supports. (No CL is a proper CL, I guess.) 2017-03-31T22:16:25Z dxtr: shka_: Exactly. That was before the VM 2017-03-31T22:17:18Z shka_: good night all 2017-03-31T22:19:05Z Gareth422 joined #lisp 2017-03-31T22:19:59Z aeth: good night 2017-03-31T22:25:05Z grublet quit (Ping timeout: 260 seconds) 2017-03-31T22:26:23Z jmsb joined #lisp 2017-03-31T22:27:09Z shka_ quit (Ping timeout: 260 seconds) 2017-03-31T22:30:09Z akkad: The Lisp, as in The Word 2017-03-31T22:30:32Z daemoz: The gospel as told by.. 2017-03-31T22:32:55Z Einwq joined #lisp 2017-03-31T22:42:06Z prole quit (Remote host closed the connection) 2017-03-31T22:42:52Z daviid quit (Ping timeout: 246 seconds) 2017-03-31T22:44:23Z luser1 joined #lisp 2017-03-31T22:47:12Z aeth: I see no reason why Word couldn't be written in Lisp 2017-03-31T22:47:46Z p_l: dxtr: the OS bits of Erlang aren't exposed much in writing, but that's mostly because as Bell Labs once wrote, "OS Research is dead" 2017-03-31T22:48:27Z p_l: OTP follows the long tradition of embeddable operating systems like Inferno, and (to lesser extent) IRAF 2017-03-31T22:49:15Z p_l: most languages talk about interfacing with external environment, Erlang hauls its environment in luggage 2017-03-31T22:49:51Z p_l: (compare Go's goroutines, which are a variation of code that is part of Plan 9 API) 2017-03-31T22:50:57Z defaultxr quit (Quit: brb) 2017-03-31T22:55:16Z Kundry_Wag joined #lisp 2017-03-31T22:56:27Z MoALTz quit (Quit: Leaving) 2017-03-31T22:56:28Z defaultxr joined #lisp 2017-03-31T22:58:35Z varjag quit (Ping timeout: 240 seconds) 2017-03-31T23:07:40Z sellout- quit (Quit: Leaving.) 2017-03-31T23:09:05Z Zotan quit (Remote host closed the connection) 2017-03-31T23:11:10Z defaultxr quit (Quit: brb again) 2017-03-31T23:11:42Z Zotan joined #lisp 2017-03-31T23:11:56Z defaultxr joined #lisp 2017-03-31T23:12:00Z Petit_Dejeuner: If redefining a function changes the behavior of all of its callers, then does that mean that every function call has some indirection or is every function recompiled when one of its callees is changed? Or is there some other way this works? 2017-03-31T23:16:25Z shpx quit (Ping timeout: 260 seconds) 2017-03-31T23:18:54Z jasom: Petit_Dejeuner: for functions in the same file and functions declared "inline" the implementation can assume the definition will not change. Otherwise there is indirection. 2017-03-31T23:19:23Z pjb: Petit_Dejeuner: all cases are possible, as long as it's semantically equivalent. 2017-03-31T23:19:24Z jasom: Petit_Dejeuner: you can usually see it in the commented disassembly of a function in sbcl. 2017-03-31T23:19:38Z pjb: not the same file, but the same compilation-unit! 2017-03-31T23:22:10Z jasom: Petit_Dejeuner: it is premissible for an implementation to recompile all calls to a function when a function is redefined, and IIRC that is one possible use of first-class global environments in beach's compiler (forgetting the name of it) 2017-03-31T23:23:56Z nowhere_man joined #lisp 2017-03-31T23:25:54Z jasom: pjb: it's file 2017-03-31T23:25:56Z jasom: clhs 3.2.2.3 2017-03-31T23:25:57Z specbot: Semantic Constraints: http://www.lispworks.com/reference/HyperSpec/Body/03_bbc.htm 2017-03-31T23:26:04Z jasom: "A call within a file to a named function that is defined in the same file refers to that function, unless that function has been declared notinline. The consequences are unspecified if functions are redefined individually at run time or multiply defined in the same file. " 2017-03-31T23:31:16Z pve quit (Ping timeout: 256 seconds) 2017-03-31T23:31:49Z pjb: You're right; Sorry for the noise. 2017-03-31T23:34:06Z wildlander quit (Quit: Saliendo) 2017-03-31T23:35:16Z Petit_Dejeuner: weird, I guess SLIME handles that in a special way? 2017-03-31T23:35:26Z Petit_Dejeuner: redefining individual functions/methods 2017-03-31T23:40:39Z pyx joined #lisp 2017-03-31T23:40:42Z invlpg joined #lisp 2017-03-31T23:40:44Z pjb: Petit_Dejeuner: it's simplier than that: function calls outside of files go thru the symbols. 2017-03-31T23:40:48Z pyx quit (Client Quit) 2017-03-31T23:41:42Z pjb: Now, the optimization of jsr'ing directly to the function code is only done by the compiler, not by the loader. So if you use C-c C-l, you can then redefine the functions individually. You have to use C-c C-k to invoke compile-file. 2017-03-31T23:48:32Z orivej joined #lisp